From 0958d8409149515f78760ff92669b21f2c78789e Mon Sep 17 00:00:00 2001 From: MrForExample <62230687+MrForExample@users.noreply.github.com> Date: Sun, 17 Mar 2024 16:42:07 +0100 Subject: [PATCH] Add pre-build wheels to support python 3.10/3.12 cuda 12.1 --- README.md | 20 +- _Pre_Builds/_Python310_cpp/include/Python.h | 148 ++ _Pre_Builds/_Python310_cpp/include/README.rst | 12 + _Pre_Builds/_Python310_cpp/include/abstract.h | 873 +++++++ .../_Python310_cpp}/include/bltinmodule.h | 0 .../_Python310_cpp/include/boolobject.h | 43 + .../_Python310_cpp/include/bytearrayobject.h | 46 + .../_Python310_cpp/include/bytesobject.h | 69 + .../_Python310_cpp/include/cellobject.h | 29 + _Pre_Builds/_Python310_cpp/include/ceval.h | 158 ++ .../_Python310_cpp/include/classobject.h | 57 + _Pre_Builds/_Python310_cpp/include/code.h | 20 + .../_Python310_cpp}/include/codecs.h | 0 .../_Python310_cpp}/include/compile.h | 0 .../_Python310_cpp/include/complexobject.h | 69 + _Pre_Builds/_Python310_cpp/include/context.h | 81 + .../_Python310_cpp/include/cpython/abstract.h | 373 +++ .../include/cpython/bytearrayobject.h | 20 + .../include/cpython/bytesobject.h | 118 + .../_Python310_cpp/include/cpython/ceval.h | 30 + .../_Python310_cpp/include/cpython/code.h | 184 ++ .../_Python310_cpp}/include/cpython/compile.h | 0 .../include/cpython/dictobject.h | 84 + .../include/cpython/fileobject.h | 18 + .../include/cpython/fileutils.h | 172 ++ .../include/cpython/frameobject.h | 94 + .../_Python310_cpp/include/cpython/import.h | 46 + .../include/cpython/initconfig.h | 249 ++ .../include/cpython/interpreteridobject.h | 11 + .../include/cpython/listobject.h | 34 + .../include/cpython/methodobject.h | 35 + .../_Python310_cpp/include/cpython/object.h | 552 +++++ .../_Python310_cpp/include/cpython/objimpl.h | 100 + .../include/cpython/odictobject.h | 0 .../include/cpython/picklebufobject.h | 0 .../_Python310_cpp}/include/cpython/pyctype.h | 0 .../_Python310_cpp/include/cpython/pydebug.h | 38 + .../_Python310_cpp/include/cpython/pyerrors.h | 214 ++ .../_Python310_cpp}/include/cpython/pyfpe.h | 0 .../include/cpython/pylifecycle.h | 64 + .../_Python310_cpp}/include/cpython/pymem.h | 0 .../_Python310_cpp/include/cpython/pystate.h | 305 +++ .../include/cpython/pythonrun.h | 0 .../_Python310_cpp/include/cpython/pytime.h | 247 ++ .../include/cpython/sysmodule.h | 16 + .../include/cpython/traceback.h | 14 + .../include/cpython/tupleobject.h | 28 + .../include/cpython/unicodeobject.h | 1169 +++++++++ .../_Python310_cpp}/include/datetime.h | 0 .../_Python310_cpp/include/descrobject.h | 108 + .../_Python310_cpp/include/dictobject.h | 97 + .../include/dynamic_annotations.h | 0 .../_Python310_cpp}/include/enumobject.h | 0 .../_Python310_cpp}/include/errcode.h | 0 _Pre_Builds/_Python310_cpp/include/eval.h | 27 + .../_Python310_cpp}/include/exports.h | 0 .../_Python310_cpp/include/fileobject.h | 49 + .../_Python310_cpp/include/fileutils.h | 26 + .../_Python310_cpp/include/floatobject.h | 118 + .../_Python310_cpp/include/frameobject.h | 20 + .../_Python310_cpp/include/funcobject.h | 110 + .../include/genericaliasobject.h | 0 .../_Python310_cpp/include/genobject.h | 100 + _Pre_Builds/_Python310_cpp/include/import.h | 98 + .../include/internal/pycore_abstract.h | 22 + .../include/internal/pycore_accu.h | 0 .../include/internal/pycore_asdl.h | 112 + .../include/internal/pycore_ast.h | 855 +++++++ .../include/internal/pycore_ast_state.h | 255 ++ .../include/internal/pycore_atomic.h | 0 .../include/internal/pycore_atomic_funcs.h | 0 .../include/internal/pycore_bitutils.h | 176 ++ .../internal/pycore_blocks_output_buffer.h | 0 .../include/internal/pycore_bytes_methods.h | 0 .../include/internal/pycore_call.h | 39 + .../include/internal/pycore_ceval.h | 114 + .../include/internal/pycore_code.h | 34 + .../include/internal/pycore_compile.h | 0 .../include/internal/pycore_condvar.h | 95 + .../include/internal/pycore_context.h | 42 + .../include/internal/pycore_dtoa.h | 23 + .../include/internal/pycore_fileutils.h | 71 + .../include/internal/pycore_format.h | 0 .../include/internal/pycore_gc.h | 181 ++ .../include/internal/pycore_getopt.h | 0 .../include/internal/pycore_gil.h | 0 .../include/internal/pycore_hamt.h | 128 + .../include/internal/pycore_hashtable.h | 0 .../include/internal/pycore_import.h | 17 + .../include/internal/pycore_initconfig.h | 178 ++ .../include/internal/pycore_interp.h | 339 +++ .../include/internal/pycore_list.h | 20 + .../include/internal/pycore_long.h | 75 + .../include/internal/pycore_moduleobject.h | 42 + .../include/internal/pycore_object.h | 186 ++ .../include/internal/pycore_parser.h | 0 .../include/internal/pycore_pathconfig.h | 73 + .../include/internal/pycore_pyarena.h | 0 .../include/internal/pycore_pyerrors.h | 96 + .../include/internal/pycore_pyhash.h | 0 .../include/internal/pycore_pylifecycle.h | 141 ++ .../include/internal/pycore_pymem.h | 101 + .../include/internal/pycore_pystate.h | 153 ++ .../include/internal/pycore_runtime.h | 157 ++ .../include/internal/pycore_structseq.h | 21 + .../include/internal/pycore_symtable.h | 133 ++ .../include/internal/pycore_sysmodule.h | 24 + .../include/internal/pycore_traceback.h | 93 + .../include/internal/pycore_tuple.h | 20 + .../include/internal/pycore_ucnhash.h | 0 .../include/internal/pycore_unionobject.h | 22 + .../include/internal/pycore_warnings.h | 25 + .../include/interpreteridobject.h | 17 + .../_Python310_cpp}/include/intrcheck.h | 0 .../_Python310_cpp}/include/iterobject.h | 0 .../_Python310_cpp/include/listobject.h | 52 + .../_Python310_cpp/include/longintrepr.h | 99 + .../_Python310_cpp/include/longobject.h | 220 ++ _Pre_Builds/_Python310_cpp/include/marshal.h | 28 + .../_Python310_cpp/include/memoryobject.h | 72 + .../_Python310_cpp/include/methodobject.h | 116 + .../_Python310_cpp/include/modsupport.h | 263 +++ .../_Python310_cpp/include/moduleobject.h | 96 + .../_Python310_cpp/include/namespaceobject.h | 19 + _Pre_Builds/_Python310_cpp/include/object.h | 749 ++++++ _Pre_Builds/_Python310_cpp/include/objimpl.h | 215 ++ _Pre_Builds/_Python310_cpp/include/opcode.h | 172 ++ .../_Python310_cpp}/include/osdefs.h | 0 .../_Python310_cpp}/include/osmodule.h | 0 .../_Python310_cpp/include/patchlevel.h | 35 + .../_Python310_cpp/include/py_curses.h | 99 + .../_Python310_cpp}/include/pycapsule.h | 0 _Pre_Builds/_Python310_cpp/include/pyconfig.h | 690 ++++++ _Pre_Builds/_Python310_cpp/include/pydtrace.d | 22 + .../_Python310_cpp}/include/pydtrace.h | 0 _Pre_Builds/_Python310_cpp/include/pyerrors.h | 324 +++ .../_Python310_cpp}/include/pyexpat.h | 0 _Pre_Builds/_Python310_cpp/include/pyframe.h | 22 + _Pre_Builds/_Python310_cpp/include/pyhash.h | 144 ++ .../_Python310_cpp/include/pylifecycle.h | 74 + .../_Python310_cpp}/include/pymacconfig.h | 0 _Pre_Builds/_Python310_cpp/include/pymacro.h | 132 ++ _Pre_Builds/_Python310_cpp/include/pymath.h | 230 ++ _Pre_Builds/_Python310_cpp/include/pymem.h | 104 + _Pre_Builds/_Python310_cpp/include/pyport.h | 889 +++++++ _Pre_Builds/_Python310_cpp/include/pystate.h | 150 ++ .../_Python310_cpp}/include/pystrcmp.h | 0 _Pre_Builds/_Python310_cpp/include/pystrhex.h | 22 + _Pre_Builds/_Python310_cpp/include/pystrtod.h | 45 + .../_Python310_cpp/include/pythonrun.h | 44 + _Pre_Builds/_Python310_cpp/include/pythread.h | 169 ++ .../_Python310_cpp}/include/rangeobject.h | 0 .../_Python310_cpp/include/setobject.h | 110 + .../_Python310_cpp}/include/sliceobject.h | 0 .../_Python310_cpp/include/structmember.h | 75 + .../_Python310_cpp/include/structseq.h | 49 + .../_Python310_cpp/include/sysmodule.h | 41 + .../_Python310_cpp}/include/token.h | 0 .../_Python310_cpp/include/traceback.h | 26 + .../_Python310_cpp}/include/tracemalloc.h | 0 .../_Python310_cpp/include/tupleobject.h | 46 + .../_Python310_cpp/include/typeslots.h | 94 + .../_Python310_cpp/include/unicodeobject.h | 1053 +++++++++ _Pre_Builds/_Python310_cpp/include/warnings.h | 67 + .../_Python310_cpp/include/weakrefobject.h | 86 + .../_Python310_cpp}/libs/_tkinter.lib | Bin 1750 -> 1750 bytes _Pre_Builds/_Python310_cpp/libs/python3.lib | Bin 0 -> 180006 bytes _Pre_Builds/_Python310_cpp/libs/python310.lib | Bin 0 -> 356438 bytes .../_Python311_cpp}/include/Python.h | 0 _Pre_Builds/_Python311_cpp/include/README.rst | 12 + .../_Python311_cpp}/include/abstract.h | 0 .../_Python311_cpp/include/bltinmodule.h | 14 + .../_Python311_cpp}/include/boolobject.h | 0 .../_Python311_cpp}/include/bytearrayobject.h | 0 .../_Python311_cpp}/include/bytesobject.h | 0 .../_Python311_cpp}/include/ceval.h | 0 _Pre_Builds/_Python311_cpp/include/codecs.h | 248 ++ _Pre_Builds/_Python311_cpp/include/compile.h | 25 + .../_Python311_cpp}/include/complexobject.h | 0 .../include/cpython/abstract.h | 0 .../include/cpython/bytearrayobject.h | 0 .../include/cpython/bytesobject.h | 0 .../include/cpython/cellobject.h | 0 .../_Python311_cpp}/include/cpython/ceval.h | 0 .../include/cpython/classobject.h | 0 .../_Python311_cpp}/include/cpython/code.h | 0 .../_Python311_cpp/include/cpython/compile.h | 54 + .../include/cpython/complexobject.h | 0 .../_Python311_cpp}/include/cpython/context.h | 0 .../include/cpython/descrobject.h | 0 .../include/cpython/dictobject.h | 0 .../include/cpython/fileobject.h | 0 .../include/cpython/fileutils.h | 0 .../include/cpython/floatobject.h | 0 .../include/cpython/frameobject.h | 0 .../include/cpython/funcobject.h | 0 .../include/cpython/genobject.h | 0 .../_Python311_cpp}/include/cpython/import.h | 0 .../include/cpython/initconfig.h | 0 .../include/cpython/listobject.h | 0 .../include/cpython/longintrepr.h | 0 .../include/cpython/longobject.h | 0 .../include/cpython/methodobject.h | 0 .../include/cpython/modsupport.h | 1 + .../_Python311_cpp}/include/cpython/object.h | 0 .../_Python311_cpp}/include/cpython/objimpl.h | 0 .../include/cpython/odictobject.h | 43 + .../include/cpython/picklebufobject.h | 31 + .../include/cpython/pthread_stubs.h | 0 .../_Python311_cpp/include/cpython/pyctype.h | 39 + .../_Python311_cpp}/include/cpython/pydebug.h | 0 .../include/cpython/pyerrors.h | 0 .../_Python311_cpp/include/cpython/pyfpe.h | 15 + .../_Python311_cpp}/include/cpython/pyframe.h | 0 .../include/cpython/pylifecycle.h | 0 .../_Python311_cpp/include/cpython/pymem.h | 98 + .../_Python311_cpp}/include/cpython/pystate.h | 0 .../include/cpython/pythonrun.h | 121 + .../include/cpython/pythread.h | 0 .../_Python311_cpp}/include/cpython/pytime.h | 0 .../include/cpython/setobject.h | 0 .../include/cpython/sysmodule.h | 0 .../include/cpython/traceback.h | 0 .../include/cpython/tupleobject.h | 0 .../include/cpython/unicodeobject.h | 0 .../include/cpython/warnings.h | 0 .../include/cpython/weakrefobject.h | 0 _Pre_Builds/_Python311_cpp/include/datetime.h | 267 +++ .../_Python311_cpp}/include/descrobject.h | 0 .../_Python311_cpp}/include/dictobject.h | 0 .../include/dynamic_annotations.h | 499 ++++ .../_Python311_cpp/include/enumobject.h | 17 + _Pre_Builds/_Python311_cpp/include/errcode.h | 39 + _Pre_Builds/_Python311_cpp/include/exports.h | 30 + .../_Python311_cpp}/include/fileobject.h | 0 .../_Python311_cpp}/include/fileutils.h | 0 .../_Python311_cpp}/include/floatobject.h | 0 .../_Python311_cpp}/include/frameobject.h | 0 .../include/genericaliasobject.h | 14 + .../_Python311_cpp}/include/import.h | 0 .../include/internal/pycore_abstract.h | 0 .../include/internal/pycore_accu.h | 39 + .../include/internal/pycore_asdl.h | 0 .../include/internal/pycore_ast.h | 0 .../include/internal/pycore_ast_state.h | 0 .../include/internal/pycore_atomic.h | 557 +++++ .../include/internal/pycore_atomic_funcs.h | 94 + .../include/internal/pycore_bitutils.h | 0 .../internal/pycore_blocks_output_buffer.h | 317 +++ .../include/internal/pycore_bytes_methods.h | 73 + .../include/internal/pycore_bytesobject.h | 0 .../include/internal/pycore_call.h | 0 .../include/internal/pycore_ceval.h | 0 .../include/internal/pycore_code.h | 0 .../include/internal/pycore_compile.h | 44 + .../include/internal/pycore_condvar.h | 0 .../include/internal/pycore_context.h | 0 .../include/internal/pycore_dict.h | 0 .../include/internal/pycore_dtoa.h | 0 .../internal/pycore_emscripten_signal.h | 0 .../include/internal/pycore_exceptions.h | 0 .../include/internal/pycore_fileutils.h | 3 +- .../include/internal/pycore_floatobject.h | 0 .../include/internal/pycore_format.h | 27 + .../include/internal/pycore_frame.h | 0 .../include/internal/pycore_function.h | 0 .../include/internal/pycore_gc.h | 0 .../include/internal/pycore_genobject.h | 0 .../include/internal/pycore_getopt.h | 22 + .../include/internal/pycore_gil.h | 50 + .../include/internal/pycore_global_objects.h | 0 .../include/internal/pycore_global_strings.h | 0 .../include/internal/pycore_hamt.h | 0 .../include/internal/pycore_hashtable.h | 148 ++ .../include/internal/pycore_import.h | 0 .../include/internal/pycore_initconfig.h | 0 .../include/internal/pycore_interp.h | 0 .../internal/pycore_interpreteridobject.h | 0 .../include/internal/pycore_list.h | 0 .../include/internal/pycore_long.h | 0 .../include/internal/pycore_moduleobject.h | 0 .../include/internal/pycore_namespace.h | 0 .../include/internal/pycore_object.h | 0 .../include/internal/pycore_opcode.h | 0 .../include/internal/pycore_parser.h | 31 + .../include/internal/pycore_pathconfig.h | 0 .../include/internal/pycore_pyarena.h | 64 + .../include/internal/pycore_pyerrors.h | 0 .../include/internal/pycore_pyhash.h | 10 + .../include/internal/pycore_pylifecycle.h | 0 .../include/internal/pycore_pymath.h | 0 .../include/internal/pycore_pymem.h | 0 .../include/internal/pycore_pystate.h | 6 + .../include/internal/pycore_runtime.h | 0 .../include/internal/pycore_runtime_init.h | 0 .../include/internal/pycore_signal.h | 0 .../include/internal/pycore_sliceobject.h | 0 .../include/internal/pycore_strhex.h | 0 .../include/internal/pycore_structseq.h | 0 .../include/internal/pycore_symtable.h | 0 .../include/internal/pycore_sysmodule.h | 0 .../include/internal/pycore_traceback.h | 0 .../include/internal/pycore_tuple.h | 0 .../include/internal/pycore_typeobject.h | 0 .../include/internal/pycore_ucnhash.h | 34 + .../include/internal/pycore_unicodeobject.h | 0 .../include/internal/pycore_unionobject.h | 0 .../include/internal/pycore_warnings.h | 0 .../_Python311_cpp/include/intrcheck.h | 30 + .../_Python311_cpp/include/iterobject.h | 27 + .../_Python311_cpp}/include/listobject.h | 0 .../_Python311_cpp}/include/longobject.h | 0 .../_Python311_cpp}/include/marshal.h | 0 .../_Python311_cpp}/include/memoryobject.h | 0 .../_Python311_cpp}/include/methodobject.h | 0 .../_Python311_cpp}/include/modsupport.h | 2 + .../_Python311_cpp}/include/moduleobject.h | 0 .../_Python311_cpp}/include/object.h | 0 .../_Python311_cpp}/include/objimpl.h | 0 .../_Python311_cpp}/include/opcode.h | 0 _Pre_Builds/_Python311_cpp/include/osdefs.h | 51 + _Pre_Builds/_Python311_cpp/include/osmodule.h | 17 + .../_Python311_cpp}/include/patchlevel.h | 4 +- .../_Python311_cpp}/include/py_curses.h | 0 .../_Python311_cpp}/include/pybuffer.h | 0 .../_Python311_cpp/include/pycapsule.h | 59 + .../_Python311_cpp}/include/pyconfig.h | 0 _Pre_Builds/_Python311_cpp/include/pydtrace.d | 22 + _Pre_Builds/_Python311_cpp/include/pydtrace.h | 59 + .../_Python311_cpp}/include/pyerrors.h | 0 _Pre_Builds/_Python311_cpp/include/pyexpat.h | 55 + .../_Python311_cpp}/include/pyframe.h | 0 .../_Python311_cpp}/include/pyhash.h | 0 .../_Python311_cpp}/include/pylifecycle.h | 0 .../_Python311_cpp/include/pymacconfig.h | 102 + .../_Python311_cpp}/include/pymacro.h | 0 .../_Python311_cpp}/include/pymath.h | 0 .../_Python311_cpp}/include/pymem.h | 0 .../_Python311_cpp}/include/pyport.h | 5 - .../_Python311_cpp}/include/pystate.h | 0 _Pre_Builds/_Python311_cpp/include/pystrcmp.h | 23 + .../_Python311_cpp}/include/pystrtod.h | 0 .../_Python311_cpp}/include/pythonrun.h | 0 .../_Python311_cpp}/include/pythread.h | 0 .../_Python311_cpp}/include/pytypedefs.h | 0 .../_Python311_cpp/include/rangeobject.h | 27 + .../_Python311_cpp}/include/setobject.h | 0 .../_Python311_cpp/include/sliceobject.h | 65 + .../_Python311_cpp}/include/structmember.h | 0 .../_Python311_cpp}/include/structseq.h | 0 .../_Python311_cpp}/include/sysmodule.h | 0 _Pre_Builds/_Python311_cpp/include/token.h | 97 + .../_Python311_cpp}/include/traceback.h | 0 .../_Python311_cpp/include/tracemalloc.h | 38 + .../_Python311_cpp}/include/tupleobject.h | 0 .../_Python311_cpp}/include/typeslots.h | 0 .../_Python311_cpp}/include/unicodeobject.h | 0 .../_Python311_cpp}/include/warnings.h | 0 .../_Python311_cpp}/include/weakrefobject.h | 0 _Pre_Builds/_Python311_cpp/libs/_tkinter.lib | Bin 0 -> 1750 bytes .../_Python311_cpp}/libs/python3.lib | Bin 183544 -> 183544 bytes _Pre_Builds/_Python311_cpp/libs/python311.lib | Bin 0 -> 360632 bytes _Pre_Builds/_Python312_cpp/include/Python.h | 109 + _Pre_Builds/_Python312_cpp/include/README.rst | 14 + _Pre_Builds/_Python312_cpp/include/abstract.h | 899 +++++++ .../_Python312_cpp/include/bltinmodule.h | 14 + .../_Python312_cpp/include/boolobject.h | 42 + .../_Python312_cpp/include/bytearrayobject.h | 44 + .../_Python312_cpp/include/bytesobject.h | 69 + _Pre_Builds/_Python312_cpp/include/ceval.h | 168 ++ _Pre_Builds/_Python312_cpp/include/codecs.h | 248 ++ _Pre_Builds/_Python312_cpp/include/compile.h | 22 + .../_Python312_cpp/include/complexobject.h | 30 + .../_Python312_cpp/include/cpython/abstract.h | 206 ++ .../include/cpython/bytearrayobject.h | 34 + .../include/cpython/bytesobject.h | 129 + .../include/cpython/cellobject.h | 44 + .../_Python312_cpp/include/cpython/ceval.h | 35 + .../include/cpython/classobject.h | 71 + .../_Python312_cpp/include/cpython/code.h | 389 +++ .../_Python312_cpp/include/cpython/compile.h | 69 + .../include/cpython/complexobject.h | 44 + .../_Python312_cpp/include/cpython/context.h | 78 + .../include/cpython/descrobject.h | 64 + .../include/cpython/dictobject.h | 118 + .../include/cpython/fileobject.h | 19 + .../include/cpython/fileutils.h | 8 + .../include/cpython/floatobject.h | 27 + .../include/cpython/frameobject.h | 29 + .../include/cpython/funcobject.h | 188 ++ .../include/cpython/genobject.h | 89 + .../_Python312_cpp/include/cpython/import.h | 46 + .../include/cpython/initconfig.h | 256 ++ .../include/cpython/interpreteridobject.h | 11 + .../include/cpython/listobject.h | 47 + .../include/cpython/longintrepr.h | 132 ++ .../include/cpython/longobject.h | 100 + .../include/cpython/memoryobject.h | 52 + .../include/cpython/methodobject.h | 66 + .../include/cpython/modsupport.h | 109 + .../_Python312_cpp/include/cpython/object.h | 575 +++++ .../_Python312_cpp/include/cpython/objimpl.h | 95 + .../include/cpython/odictobject.h | 43 + .../include/cpython/picklebufobject.h | 31 + .../include/cpython/pthread_stubs.h | 88 + .../_Python312_cpp/include/cpython/pyctype.h | 39 + .../_Python312_cpp/include/cpython/pydebug.h | 38 + .../_Python312_cpp/include/cpython/pyerrors.h | 178 ++ .../_Python312_cpp/include/cpython/pyfpe.h | 15 + .../_Python312_cpp/include/cpython/pyframe.h | 35 + .../include/cpython/pylifecycle.h | 111 + .../_Python312_cpp/include/cpython/pymem.h | 98 + .../_Python312_cpp/include/cpython/pystate.h | 444 ++++ .../include/cpython/pythonrun.h | 121 + .../_Python312_cpp/include/cpython/pythread.h | 42 + .../_Python312_cpp/include/cpython/pytime.h | 331 +++ .../include/cpython/setobject.h | 72 + .../include/cpython/sysmodule.h | 16 + .../include/cpython/traceback.h | 16 + .../include/cpython/tupleobject.h | 39 + .../include/cpython/unicodeobject.h | 963 ++++++++ .../_Python312_cpp/include/cpython/warnings.h | 20 + .../include/cpython/weakrefobject.h | 56 + _Pre_Builds/_Python312_cpp/include/datetime.h | 267 +++ .../_Python312_cpp/include/descrobject.h | 100 + .../_Python312_cpp/include/dictobject.h | 97 + .../include/dynamic_annotations.h | 499 ++++ .../_Python312_cpp/include/enumobject.h | 17 + _Pre_Builds/_Python312_cpp/include/errcode.h | 38 + _Pre_Builds/_Python312_cpp/include/exports.h | 36 + .../_Python312_cpp/include/fileobject.h | 49 + .../_Python312_cpp/include/fileutils.h | 26 + .../_Python312_cpp/include/floatobject.h | 54 + .../_Python312_cpp/include/frameobject.h | 20 + .../include/genericaliasobject.h | 14 + _Pre_Builds/_Python312_cpp/include/import.h | 98 + .../include/internal/pycore_abstract.h | 25 + .../include/internal/pycore_asdl.h | 112 + .../include/internal/pycore_ast.h | 922 ++++++++ .../include/internal/pycore_ast_state.h | 265 +++ .../include/internal/pycore_atexit.h | 57 + .../include/internal/pycore_atomic.h | 557 +++++ .../include/internal/pycore_atomic_funcs.h | 94 + .../include/internal/pycore_bitutils.h | 186 ++ .../internal/pycore_blocks_output_buffer.h | 317 +++ .../include/internal/pycore_bytes_methods.h | 73 + .../include/internal/pycore_bytesobject.h | 47 + .../include/internal/pycore_call.h | 133 ++ .../include/internal/pycore_ceval.h | 164 ++ .../include/internal/pycore_ceval_state.h | 103 + .../include/internal/pycore_code.h | 496 ++++ .../include/internal/pycore_compile.h | 118 + .../include/internal/pycore_condvar.h | 97 + .../include/internal/pycore_context.h | 71 + .../include/internal/pycore_descrobject.h | 26 + .../include/internal/pycore_dict.h | 199 ++ .../include/internal/pycore_dict_state.h | 50 + .../include/internal/pycore_dtoa.h | 73 + .../internal/pycore_emscripten_signal.h | 25 + .../include/internal/pycore_exceptions.h | 37 + .../include/internal/pycore_faulthandler.h | 99 + .../include/internal/pycore_fileutils.h | 292 +++ .../internal/pycore_fileutils_windows.h | 98 + .../include/internal/pycore_floatobject.h | 71 + .../include/internal/pycore_flowgraph.h | 120 + .../include/internal/pycore_format.h | 27 + .../include/internal/pycore_frame.h | 283 +++ .../include/internal/pycore_function.h | 26 + .../include/internal/pycore_gc.h | 211 ++ .../include/internal/pycore_genobject.h | 49 + .../include/internal/pycore_getopt.h | 22 + .../include/internal/pycore_gil.h | 50 + .../include/internal/pycore_global_objects.h | 105 + .../pycore_global_objects_fini_generated.h | 1531 ++++++++++++ .../include/internal/pycore_global_strings.h | 787 +++++++ .../include/internal/pycore_hamt.h | 134 ++ .../include/internal/pycore_hashtable.h | 149 ++ .../include/internal/pycore_import.h | 183 ++ .../include/internal/pycore_initconfig.h | 179 ++ .../include/internal/pycore_instruments.h | 106 + .../include/internal/pycore_interp.h | 275 +++ .../include/internal/pycore_intrinsics.h | 32 + .../include/internal/pycore_list.h | 83 + .../include/internal/pycore_long.h | 258 ++ .../include/internal/pycore_memoryobject.h | 18 + .../include/internal/pycore_moduleobject.h | 45 + .../include/internal/pycore_namespace.h | 20 + .../include/internal/pycore_object.h | 443 ++++ .../include/internal/pycore_object_state.h | 36 + .../include/internal/pycore_obmalloc.h | 700 ++++++ .../include/internal/pycore_obmalloc_init.h | 73 + .../include/internal/pycore_opcode.h | 587 +++++ .../include/internal/pycore_opcode_utils.h | 92 + .../include/internal/pycore_parser.h | 66 + .../include/internal/pycore_pathconfig.h | 24 + .../include/internal/pycore_pyarena.h | 64 + .../include/internal/pycore_pyerrors.h | 117 + .../include/internal/pycore_pyhash.h | 40 + .../include/internal/pycore_pylifecycle.h | 99 + .../include/internal/pycore_pymath.h | 205 ++ .../include/internal/pycore_pymem.h | 98 + .../include/internal/pycore_pymem_init.h | 85 + .../include/internal/pycore_pystate.h | 180 ++ .../include/internal/pycore_pythread.h | 81 + .../include/internal/pycore_range.h | 21 + .../include/internal/pycore_runtime.h | 235 ++ .../include/internal/pycore_runtime_init.h | 195 ++ .../internal/pycore_runtime_init_generated.h | 1525 ++++++++++++ .../include/internal/pycore_signal.h | 98 + .../include/internal/pycore_sliceobject.h | 22 + .../include/internal/pycore_strhex.h | 36 + .../include/internal/pycore_structseq.h | 39 + .../include/internal/pycore_symtable.h | 158 ++ .../include/internal/pycore_sysmodule.h | 29 + .../include/internal/pycore_time.h | 25 + .../include/internal/pycore_token.h | 108 + .../include/internal/pycore_traceback.h | 101 + .../include/internal/pycore_tracemalloc.h | 123 + .../include/internal/pycore_tuple.h | 79 + .../include/internal/pycore_typeobject.h | 149 ++ .../include/internal/pycore_typevarobject.h | 24 + .../include/internal/pycore_ucnhash.h | 34 + .../include/internal/pycore_unicodeobject.h | 70 + .../internal/pycore_unicodeobject_generated.h | 2093 +++++++++++++++++ .../include/internal/pycore_unionobject.h | 23 + .../include/internal/pycore_warnings.h | 29 + .../include/interpreteridobject.h | 17 + .../_Python312_cpp/include/intrcheck.h | 30 + .../_Python312_cpp/include/iterobject.h | 27 + .../_Python312_cpp/include/listobject.h | 52 + .../_Python312_cpp/include/longobject.h | 91 + _Pre_Builds/_Python312_cpp/include/marshal.h | 31 + .../_Python312_cpp/include/memoryobject.h | 34 + .../_Python312_cpp/include/methodobject.h | 132 ++ .../_Python312_cpp/include/modsupport.h | 168 ++ .../_Python312_cpp/include/moduleobject.h | 119 + _Pre_Builds/_Python312_cpp/include/object.h | 994 ++++++++ _Pre_Builds/_Python312_cpp/include/objimpl.h | 234 ++ _Pre_Builds/_Python312_cpp/include/opcode.h | 271 +++ _Pre_Builds/_Python312_cpp/include/osdefs.h | 51 + _Pre_Builds/_Python312_cpp/include/osmodule.h | 17 + .../_Python312_cpp/include/patchlevel.h | 35 + .../_Python312_cpp/include/py_curses.h | 99 + _Pre_Builds/_Python312_cpp/include/pybuffer.h | 145 ++ .../_Python312_cpp/include/pycapsule.h | 59 + _Pre_Builds/_Python312_cpp/include/pyconfig.h | 742 ++++++ _Pre_Builds/_Python312_cpp/include/pydtrace.d | 22 + _Pre_Builds/_Python312_cpp/include/pydtrace.h | 59 + _Pre_Builds/_Python312_cpp/include/pyerrors.h | 337 +++ _Pre_Builds/_Python312_cpp/include/pyexpat.h | 55 + _Pre_Builds/_Python312_cpp/include/pyframe.h | 26 + _Pre_Builds/_Python312_cpp/include/pyhash.h | 144 ++ .../_Python312_cpp/include/pylifecycle.h | 78 + .../_Python312_cpp/include/pymacconfig.h | 99 + _Pre_Builds/_Python312_cpp/include/pymacro.h | 163 ++ _Pre_Builds/_Python312_cpp/include/pymath.h | 62 + _Pre_Builds/_Python312_cpp/include/pymem.h | 104 + _Pre_Builds/_Python312_cpp/include/pyport.h | 774 ++++++ _Pre_Builds/_Python312_cpp/include/pystate.h | 132 ++ _Pre_Builds/_Python312_cpp/include/pystats.h | 110 + _Pre_Builds/_Python312_cpp/include/pystrcmp.h | 23 + _Pre_Builds/_Python312_cpp/include/pystrtod.h | 46 + .../_Python312_cpp/include/pythonrun.h | 49 + _Pre_Builds/_Python312_cpp/include/pythread.h | 135 ++ .../_Python312_cpp/include/pytypedefs.h | 30 + .../_Python312_cpp/include/rangeobject.h | 27 + .../_Python312_cpp/include/setobject.h | 49 + .../_Python312_cpp/include/sliceobject.h | 65 + .../_Python312_cpp/include/structmember.h | 56 + .../_Python312_cpp/include/structseq.h | 49 + .../_Python312_cpp/include/sysmodule.h | 54 + .../_Python312_cpp/include/traceback.h | 26 + .../_Python312_cpp/include/tracemalloc.h | 72 + .../_Python312_cpp/include/tupleobject.h | 46 + .../_Python312_cpp/include/typeslots.h | 88 + .../_Python312_cpp/include/unicodeobject.h | 1020 ++++++++ _Pre_Builds/_Python312_cpp/include/warnings.h | 45 + .../_Python312_cpp/include/weakrefobject.h | 42 + _Pre_Builds/_Python312_cpp/libs/_tkinter.lib | Bin 0 -> 1750 bytes _Pre_Builds/_Python312_cpp/libs/python3.lib | Bin 0 -> 186296 bytes _Pre_Builds/_Python312_cpp/libs/python312.lib | Bin 0 -> 377824 bytes ...terization-0.0.0-cp310-cp310-win_amd64.whl | Bin 0 -> 488113 bytes .../kiui-0.2.4-py3-none-any.whl | Bin 0 -> 1191234 bytes .../nvdiffrast-0.3.1-py3-none-any.whl | Bin 0 -> 141467 bytes ...ntnet2_ops-3.0.0-cp310-cp310-win_amd64.whl | Bin 0 -> 130947 bytes .../pytorch3d-0.7.6-cp310-cp310-win_amd64.whl | Bin 0 -> 5466723 bytes ...simple_knn-0.0.0-cp310-cp310-win_amd64.whl | Bin 0 -> 363728 bytes ...ch_scatter-2.1.2-cp310-cp310-win_amd64.whl | Bin 0 -> 3285832 bytes ...orchmcubes-0.1.0-cp310-cp310-win_amd64.whl | Bin 0 -> 138914 bytes ...terization-0.0.0-cp311-cp311-win_amd64.whl | Bin .../kiui-0.2.4-py3-none-any.whl | Bin .../nvdiffrast-0.3.1-py3-none-any.whl | Bin ...ntnet2_ops-3.0.0-cp311-cp311-win_amd64.whl | Bin .../pytorch3d-0.7.6-cp311-cp311-win_amd64.whl | Bin ...simple_knn-0.0.0-cp311-cp311-win_amd64.whl | Bin ...ch_scatter-2.1.2-cp311-cp311-win_amd64.whl | Bin ...orchmcubes-0.1.0-cp311-cp311-win_amd64.whl | Bin ...terization-0.0.0-cp312-cp312-win_amd64.whl | Bin 0 -> 489247 bytes .../kiui-0.2.4-py3-none-any.whl | Bin 0 -> 1191234 bytes .../nvdiffrast-0.3.1-py3-none-any.whl | Bin 0 -> 141467 bytes ...ntnet2_ops-3.0.0-cp312-cp312-win_amd64.whl | Bin 0 -> 131326 bytes .../pytorch3d-0.7.6-cp312-cp312-win_amd64.whl | Bin 0 -> 5467107 bytes ...simple_knn-0.0.0-cp312-cp312-win_amd64.whl | Bin 0 -> 364750 bytes ...ch_scatter-2.1.2-cp312-cp312-win_amd64.whl | Bin 0 -> 3285774 bytes ...orchmcubes-0.1.0-cp312-cp312-win_amd64.whl | Bin 0 -> 144445 bytes _Python311_cpp/libs/python311.lib | Bin 360440 -> 0 bytes install_windows_portable_win_py310_cu121.bat | 31 + install_windows_portable_win_py311_cu121.bat | 4 +- install_windows_portable_win_py312_cu121.bat | 31 + requirements.txt | 1 + requirements_post_win_py310_cu121.txt | 8 + requirements_post_win_py311_cu121.txt | 16 +- requirements_post_win_py312_cu121.txt | 8 + 613 files changed, 55494 insertions(+), 31 deletions(-) create mode 100644 _Pre_Builds/_Python310_cpp/include/Python.h create mode 100644 _Pre_Builds/_Python310_cpp/include/README.rst create mode 100644 _Pre_Builds/_Python310_cpp/include/abstract.h rename {_Python311_cpp => _Pre_Builds/_Python310_cpp}/include/bltinmodule.h (100%) create mode 100644 _Pre_Builds/_Python310_cpp/include/boolobject.h create mode 100644 _Pre_Builds/_Python310_cpp/include/bytearrayobject.h create mode 100644 _Pre_Builds/_Python310_cpp/include/bytesobject.h create mode 100644 _Pre_Builds/_Python310_cpp/include/cellobject.h create mode 100644 _Pre_Builds/_Python310_cpp/include/ceval.h create mode 100644 _Pre_Builds/_Python310_cpp/include/classobject.h create mode 100644 _Pre_Builds/_Python310_cpp/include/code.h rename {_Python311_cpp => _Pre_Builds/_Python310_cpp}/include/codecs.h (100%) rename {_Python311_cpp => _Pre_Builds/_Python310_cpp}/include/compile.h (100%) create mode 100644 _Pre_Builds/_Python310_cpp/include/complexobject.h create mode 100644 _Pre_Builds/_Python310_cpp/include/context.h create mode 100644 _Pre_Builds/_Python310_cpp/include/cpython/abstract.h create mode 100644 _Pre_Builds/_Python310_cpp/include/cpython/bytearrayobject.h create mode 100644 _Pre_Builds/_Python310_cpp/include/cpython/bytesobject.h create mode 100644 _Pre_Builds/_Python310_cpp/include/cpython/ceval.h create mode 100644 _Pre_Builds/_Python310_cpp/include/cpython/code.h rename {_Python311_cpp => _Pre_Builds/_Python310_cpp}/include/cpython/compile.h (100%) create mode 100644 _Pre_Builds/_Python310_cpp/include/cpython/dictobject.h create mode 100644 _Pre_Builds/_Python310_cpp/include/cpython/fileobject.h create mode 100644 _Pre_Builds/_Python310_cpp/include/cpython/fileutils.h create mode 100644 _Pre_Builds/_Python310_cpp/include/cpython/frameobject.h create mode 100644 _Pre_Builds/_Python310_cpp/include/cpython/import.h create mode 100644 _Pre_Builds/_Python310_cpp/include/cpython/initconfig.h create mode 100644 _Pre_Builds/_Python310_cpp/include/cpython/interpreteridobject.h create mode 100644 _Pre_Builds/_Python310_cpp/include/cpython/listobject.h create mode 100644 _Pre_Builds/_Python310_cpp/include/cpython/methodobject.h create mode 100644 _Pre_Builds/_Python310_cpp/include/cpython/object.h create mode 100644 _Pre_Builds/_Python310_cpp/include/cpython/objimpl.h rename {_Python311_cpp => _Pre_Builds/_Python310_cpp}/include/cpython/odictobject.h (100%) rename {_Python311_cpp => _Pre_Builds/_Python310_cpp}/include/cpython/picklebufobject.h (100%) rename {_Python311_cpp => _Pre_Builds/_Python310_cpp}/include/cpython/pyctype.h (100%) create mode 100644 _Pre_Builds/_Python310_cpp/include/cpython/pydebug.h create mode 100644 _Pre_Builds/_Python310_cpp/include/cpython/pyerrors.h rename {_Python311_cpp => _Pre_Builds/_Python310_cpp}/include/cpython/pyfpe.h (100%) create mode 100644 _Pre_Builds/_Python310_cpp/include/cpython/pylifecycle.h rename {_Python311_cpp => _Pre_Builds/_Python310_cpp}/include/cpython/pymem.h (100%) create mode 100644 _Pre_Builds/_Python310_cpp/include/cpython/pystate.h rename {_Python311_cpp => _Pre_Builds/_Python310_cpp}/include/cpython/pythonrun.h (100%) create mode 100644 _Pre_Builds/_Python310_cpp/include/cpython/pytime.h create mode 100644 _Pre_Builds/_Python310_cpp/include/cpython/sysmodule.h create mode 100644 _Pre_Builds/_Python310_cpp/include/cpython/traceback.h create mode 100644 _Pre_Builds/_Python310_cpp/include/cpython/tupleobject.h create mode 100644 _Pre_Builds/_Python310_cpp/include/cpython/unicodeobject.h rename {_Python311_cpp => _Pre_Builds/_Python310_cpp}/include/datetime.h (100%) create mode 100644 _Pre_Builds/_Python310_cpp/include/descrobject.h create mode 100644 _Pre_Builds/_Python310_cpp/include/dictobject.h rename {_Python311_cpp => _Pre_Builds/_Python310_cpp}/include/dynamic_annotations.h (100%) rename {_Python311_cpp => _Pre_Builds/_Python310_cpp}/include/enumobject.h (100%) rename {_Python311_cpp => _Pre_Builds/_Python310_cpp}/include/errcode.h (100%) create mode 100644 _Pre_Builds/_Python310_cpp/include/eval.h rename {_Python311_cpp => _Pre_Builds/_Python310_cpp}/include/exports.h (100%) create mode 100644 _Pre_Builds/_Python310_cpp/include/fileobject.h create mode 100644 _Pre_Builds/_Python310_cpp/include/fileutils.h create mode 100644 _Pre_Builds/_Python310_cpp/include/floatobject.h create mode 100644 _Pre_Builds/_Python310_cpp/include/frameobject.h create mode 100644 _Pre_Builds/_Python310_cpp/include/funcobject.h rename {_Python311_cpp => _Pre_Builds/_Python310_cpp}/include/genericaliasobject.h (100%) create mode 100644 _Pre_Builds/_Python310_cpp/include/genobject.h create mode 100644 _Pre_Builds/_Python310_cpp/include/import.h create mode 100644 _Pre_Builds/_Python310_cpp/include/internal/pycore_abstract.h rename {_Python311_cpp => _Pre_Builds/_Python310_cpp}/include/internal/pycore_accu.h (100%) create mode 100644 _Pre_Builds/_Python310_cpp/include/internal/pycore_asdl.h create mode 100644 _Pre_Builds/_Python310_cpp/include/internal/pycore_ast.h create mode 100644 _Pre_Builds/_Python310_cpp/include/internal/pycore_ast_state.h rename {_Python311_cpp => _Pre_Builds/_Python310_cpp}/include/internal/pycore_atomic.h (100%) rename {_Python311_cpp => _Pre_Builds/_Python310_cpp}/include/internal/pycore_atomic_funcs.h (100%) create mode 100644 _Pre_Builds/_Python310_cpp/include/internal/pycore_bitutils.h rename {_Python311_cpp => _Pre_Builds/_Python310_cpp}/include/internal/pycore_blocks_output_buffer.h (100%) rename {_Python311_cpp => _Pre_Builds/_Python310_cpp}/include/internal/pycore_bytes_methods.h (100%) create mode 100644 _Pre_Builds/_Python310_cpp/include/internal/pycore_call.h create mode 100644 _Pre_Builds/_Python310_cpp/include/internal/pycore_ceval.h create mode 100644 _Pre_Builds/_Python310_cpp/include/internal/pycore_code.h rename {_Python311_cpp => _Pre_Builds/_Python310_cpp}/include/internal/pycore_compile.h (100%) create mode 100644 _Pre_Builds/_Python310_cpp/include/internal/pycore_condvar.h create mode 100644 _Pre_Builds/_Python310_cpp/include/internal/pycore_context.h create mode 100644 _Pre_Builds/_Python310_cpp/include/internal/pycore_dtoa.h create mode 100644 _Pre_Builds/_Python310_cpp/include/internal/pycore_fileutils.h rename {_Python311_cpp => _Pre_Builds/_Python310_cpp}/include/internal/pycore_format.h (100%) create mode 100644 _Pre_Builds/_Python310_cpp/include/internal/pycore_gc.h rename {_Python311_cpp => _Pre_Builds/_Python310_cpp}/include/internal/pycore_getopt.h (100%) rename {_Python311_cpp => _Pre_Builds/_Python310_cpp}/include/internal/pycore_gil.h (100%) create mode 100644 _Pre_Builds/_Python310_cpp/include/internal/pycore_hamt.h rename {_Python311_cpp => _Pre_Builds/_Python310_cpp}/include/internal/pycore_hashtable.h (100%) create mode 100644 _Pre_Builds/_Python310_cpp/include/internal/pycore_import.h create mode 100644 _Pre_Builds/_Python310_cpp/include/internal/pycore_initconfig.h create mode 100644 _Pre_Builds/_Python310_cpp/include/internal/pycore_interp.h create mode 100644 _Pre_Builds/_Python310_cpp/include/internal/pycore_list.h create mode 100644 _Pre_Builds/_Python310_cpp/include/internal/pycore_long.h create mode 100644 _Pre_Builds/_Python310_cpp/include/internal/pycore_moduleobject.h create mode 100644 _Pre_Builds/_Python310_cpp/include/internal/pycore_object.h rename {_Python311_cpp => _Pre_Builds/_Python310_cpp}/include/internal/pycore_parser.h (100%) create mode 100644 _Pre_Builds/_Python310_cpp/include/internal/pycore_pathconfig.h rename {_Python311_cpp => _Pre_Builds/_Python310_cpp}/include/internal/pycore_pyarena.h (100%) create mode 100644 _Pre_Builds/_Python310_cpp/include/internal/pycore_pyerrors.h rename {_Python311_cpp => _Pre_Builds/_Python310_cpp}/include/internal/pycore_pyhash.h (100%) create mode 100644 _Pre_Builds/_Python310_cpp/include/internal/pycore_pylifecycle.h create mode 100644 _Pre_Builds/_Python310_cpp/include/internal/pycore_pymem.h create mode 100644 _Pre_Builds/_Python310_cpp/include/internal/pycore_pystate.h create mode 100644 _Pre_Builds/_Python310_cpp/include/internal/pycore_runtime.h create mode 100644 _Pre_Builds/_Python310_cpp/include/internal/pycore_structseq.h create mode 100644 _Pre_Builds/_Python310_cpp/include/internal/pycore_symtable.h create mode 100644 _Pre_Builds/_Python310_cpp/include/internal/pycore_sysmodule.h create mode 100644 _Pre_Builds/_Python310_cpp/include/internal/pycore_traceback.h create mode 100644 _Pre_Builds/_Python310_cpp/include/internal/pycore_tuple.h rename {_Python311_cpp => _Pre_Builds/_Python310_cpp}/include/internal/pycore_ucnhash.h (100%) create mode 100644 _Pre_Builds/_Python310_cpp/include/internal/pycore_unionobject.h create mode 100644 _Pre_Builds/_Python310_cpp/include/internal/pycore_warnings.h create mode 100644 _Pre_Builds/_Python310_cpp/include/interpreteridobject.h rename {_Python311_cpp => _Pre_Builds/_Python310_cpp}/include/intrcheck.h (100%) rename {_Python311_cpp => _Pre_Builds/_Python310_cpp}/include/iterobject.h (100%) create mode 100644 _Pre_Builds/_Python310_cpp/include/listobject.h create mode 100644 _Pre_Builds/_Python310_cpp/include/longintrepr.h create mode 100644 _Pre_Builds/_Python310_cpp/include/longobject.h create mode 100644 _Pre_Builds/_Python310_cpp/include/marshal.h create mode 100644 _Pre_Builds/_Python310_cpp/include/memoryobject.h create mode 100644 _Pre_Builds/_Python310_cpp/include/methodobject.h create mode 100644 _Pre_Builds/_Python310_cpp/include/modsupport.h create mode 100644 _Pre_Builds/_Python310_cpp/include/moduleobject.h create mode 100644 _Pre_Builds/_Python310_cpp/include/namespaceobject.h create mode 100644 _Pre_Builds/_Python310_cpp/include/object.h create mode 100644 _Pre_Builds/_Python310_cpp/include/objimpl.h create mode 100644 _Pre_Builds/_Python310_cpp/include/opcode.h rename {_Python311_cpp => _Pre_Builds/_Python310_cpp}/include/osdefs.h (100%) rename {_Python311_cpp => _Pre_Builds/_Python310_cpp}/include/osmodule.h (100%) create mode 100644 _Pre_Builds/_Python310_cpp/include/patchlevel.h create mode 100644 _Pre_Builds/_Python310_cpp/include/py_curses.h rename {_Python311_cpp => _Pre_Builds/_Python310_cpp}/include/pycapsule.h (100%) create mode 100644 _Pre_Builds/_Python310_cpp/include/pyconfig.h create mode 100644 _Pre_Builds/_Python310_cpp/include/pydtrace.d rename {_Python311_cpp => _Pre_Builds/_Python310_cpp}/include/pydtrace.h (100%) create mode 100644 _Pre_Builds/_Python310_cpp/include/pyerrors.h rename {_Python311_cpp => _Pre_Builds/_Python310_cpp}/include/pyexpat.h (100%) create mode 100644 _Pre_Builds/_Python310_cpp/include/pyframe.h create mode 100644 _Pre_Builds/_Python310_cpp/include/pyhash.h create mode 100644 _Pre_Builds/_Python310_cpp/include/pylifecycle.h rename {_Python311_cpp => _Pre_Builds/_Python310_cpp}/include/pymacconfig.h (100%) create mode 100644 _Pre_Builds/_Python310_cpp/include/pymacro.h create mode 100644 _Pre_Builds/_Python310_cpp/include/pymath.h create mode 100644 _Pre_Builds/_Python310_cpp/include/pymem.h create mode 100644 _Pre_Builds/_Python310_cpp/include/pyport.h create mode 100644 _Pre_Builds/_Python310_cpp/include/pystate.h rename {_Python311_cpp => _Pre_Builds/_Python310_cpp}/include/pystrcmp.h (100%) create mode 100644 _Pre_Builds/_Python310_cpp/include/pystrhex.h create mode 100644 _Pre_Builds/_Python310_cpp/include/pystrtod.h create mode 100644 _Pre_Builds/_Python310_cpp/include/pythonrun.h create mode 100644 _Pre_Builds/_Python310_cpp/include/pythread.h rename {_Python311_cpp => _Pre_Builds/_Python310_cpp}/include/rangeobject.h (100%) create mode 100644 _Pre_Builds/_Python310_cpp/include/setobject.h rename {_Python311_cpp => _Pre_Builds/_Python310_cpp}/include/sliceobject.h (100%) create mode 100644 _Pre_Builds/_Python310_cpp/include/structmember.h create mode 100644 _Pre_Builds/_Python310_cpp/include/structseq.h create mode 100644 _Pre_Builds/_Python310_cpp/include/sysmodule.h rename {_Python311_cpp => _Pre_Builds/_Python310_cpp}/include/token.h (100%) create mode 100644 _Pre_Builds/_Python310_cpp/include/traceback.h rename {_Python311_cpp => _Pre_Builds/_Python310_cpp}/include/tracemalloc.h (100%) create mode 100644 _Pre_Builds/_Python310_cpp/include/tupleobject.h create mode 100644 _Pre_Builds/_Python310_cpp/include/typeslots.h create mode 100644 _Pre_Builds/_Python310_cpp/include/unicodeobject.h create mode 100644 _Pre_Builds/_Python310_cpp/include/warnings.h create mode 100644 _Pre_Builds/_Python310_cpp/include/weakrefobject.h rename {_Python311_cpp => _Pre_Builds/_Python310_cpp}/libs/_tkinter.lib (64%) create mode 100644 _Pre_Builds/_Python310_cpp/libs/python3.lib create mode 100644 _Pre_Builds/_Python310_cpp/libs/python310.lib rename {_Python311_cpp => _Pre_Builds/_Python311_cpp}/include/Python.h (100%) create mode 100644 _Pre_Builds/_Python311_cpp/include/README.rst rename {_Python311_cpp => _Pre_Builds/_Python311_cpp}/include/abstract.h (100%) create mode 100644 _Pre_Builds/_Python311_cpp/include/bltinmodule.h rename {_Python311_cpp => _Pre_Builds/_Python311_cpp}/include/boolobject.h (100%) rename {_Python311_cpp => _Pre_Builds/_Python311_cpp}/include/bytearrayobject.h (100%) rename {_Python311_cpp => _Pre_Builds/_Python311_cpp}/include/bytesobject.h (100%) rename {_Python311_cpp => _Pre_Builds/_Python311_cpp}/include/ceval.h (100%) create mode 100644 _Pre_Builds/_Python311_cpp/include/codecs.h create mode 100644 _Pre_Builds/_Python311_cpp/include/compile.h rename {_Python311_cpp => _Pre_Builds/_Python311_cpp}/include/complexobject.h (100%) rename {_Python311_cpp => _Pre_Builds/_Python311_cpp}/include/cpython/abstract.h (100%) rename {_Python311_cpp => _Pre_Builds/_Python311_cpp}/include/cpython/bytearrayobject.h (100%) rename {_Python311_cpp => _Pre_Builds/_Python311_cpp}/include/cpython/bytesobject.h (100%) rename {_Python311_cpp => _Pre_Builds/_Python311_cpp}/include/cpython/cellobject.h (100%) rename {_Python311_cpp => _Pre_Builds/_Python311_cpp}/include/cpython/ceval.h (100%) rename {_Python311_cpp => _Pre_Builds/_Python311_cpp}/include/cpython/classobject.h (100%) rename {_Python311_cpp => _Pre_Builds/_Python311_cpp}/include/cpython/code.h (100%) create mode 100644 _Pre_Builds/_Python311_cpp/include/cpython/compile.h rename {_Python311_cpp => _Pre_Builds/_Python311_cpp}/include/cpython/complexobject.h (100%) rename {_Python311_cpp => _Pre_Builds/_Python311_cpp}/include/cpython/context.h (100%) rename {_Python311_cpp => _Pre_Builds/_Python311_cpp}/include/cpython/descrobject.h (100%) rename {_Python311_cpp => _Pre_Builds/_Python311_cpp}/include/cpython/dictobject.h (100%) rename {_Python311_cpp => _Pre_Builds/_Python311_cpp}/include/cpython/fileobject.h (100%) rename {_Python311_cpp => _Pre_Builds/_Python311_cpp}/include/cpython/fileutils.h (100%) rename {_Python311_cpp => _Pre_Builds/_Python311_cpp}/include/cpython/floatobject.h (100%) rename {_Python311_cpp => _Pre_Builds/_Python311_cpp}/include/cpython/frameobject.h (100%) rename {_Python311_cpp => _Pre_Builds/_Python311_cpp}/include/cpython/funcobject.h (100%) rename {_Python311_cpp => _Pre_Builds/_Python311_cpp}/include/cpython/genobject.h (100%) rename {_Python311_cpp => _Pre_Builds/_Python311_cpp}/include/cpython/import.h (100%) rename {_Python311_cpp => _Pre_Builds/_Python311_cpp}/include/cpython/initconfig.h (100%) rename {_Python311_cpp => _Pre_Builds/_Python311_cpp}/include/cpython/listobject.h (100%) rename {_Python311_cpp => _Pre_Builds/_Python311_cpp}/include/cpython/longintrepr.h (100%) rename {_Python311_cpp => _Pre_Builds/_Python311_cpp}/include/cpython/longobject.h (100%) rename {_Python311_cpp => _Pre_Builds/_Python311_cpp}/include/cpython/methodobject.h (100%) rename {_Python311_cpp => _Pre_Builds/_Python311_cpp}/include/cpython/modsupport.h (98%) rename {_Python311_cpp => _Pre_Builds/_Python311_cpp}/include/cpython/object.h (100%) rename {_Python311_cpp => _Pre_Builds/_Python311_cpp}/include/cpython/objimpl.h (100%) create mode 100644 _Pre_Builds/_Python311_cpp/include/cpython/odictobject.h create mode 100644 _Pre_Builds/_Python311_cpp/include/cpython/picklebufobject.h rename {_Python311_cpp => _Pre_Builds/_Python311_cpp}/include/cpython/pthread_stubs.h (100%) create mode 100644 _Pre_Builds/_Python311_cpp/include/cpython/pyctype.h rename {_Python311_cpp => _Pre_Builds/_Python311_cpp}/include/cpython/pydebug.h (100%) rename {_Python311_cpp => _Pre_Builds/_Python311_cpp}/include/cpython/pyerrors.h (100%) create mode 100644 _Pre_Builds/_Python311_cpp/include/cpython/pyfpe.h rename {_Python311_cpp => _Pre_Builds/_Python311_cpp}/include/cpython/pyframe.h (100%) rename {_Python311_cpp => _Pre_Builds/_Python311_cpp}/include/cpython/pylifecycle.h (100%) create mode 100644 _Pre_Builds/_Python311_cpp/include/cpython/pymem.h rename {_Python311_cpp => _Pre_Builds/_Python311_cpp}/include/cpython/pystate.h (100%) create mode 100644 _Pre_Builds/_Python311_cpp/include/cpython/pythonrun.h rename {_Python311_cpp => _Pre_Builds/_Python311_cpp}/include/cpython/pythread.h (100%) rename {_Python311_cpp => _Pre_Builds/_Python311_cpp}/include/cpython/pytime.h (100%) rename {_Python311_cpp => _Pre_Builds/_Python311_cpp}/include/cpython/setobject.h (100%) rename {_Python311_cpp => _Pre_Builds/_Python311_cpp}/include/cpython/sysmodule.h (100%) rename {_Python311_cpp => _Pre_Builds/_Python311_cpp}/include/cpython/traceback.h (100%) rename {_Python311_cpp => _Pre_Builds/_Python311_cpp}/include/cpython/tupleobject.h (100%) rename {_Python311_cpp => _Pre_Builds/_Python311_cpp}/include/cpython/unicodeobject.h (100%) rename {_Python311_cpp => _Pre_Builds/_Python311_cpp}/include/cpython/warnings.h (100%) rename {_Python311_cpp => _Pre_Builds/_Python311_cpp}/include/cpython/weakrefobject.h (100%) create mode 100644 _Pre_Builds/_Python311_cpp/include/datetime.h rename {_Python311_cpp => _Pre_Builds/_Python311_cpp}/include/descrobject.h (100%) rename {_Python311_cpp => _Pre_Builds/_Python311_cpp}/include/dictobject.h (100%) create mode 100644 _Pre_Builds/_Python311_cpp/include/dynamic_annotations.h create mode 100644 _Pre_Builds/_Python311_cpp/include/enumobject.h create mode 100644 _Pre_Builds/_Python311_cpp/include/errcode.h create mode 100644 _Pre_Builds/_Python311_cpp/include/exports.h rename {_Python311_cpp => _Pre_Builds/_Python311_cpp}/include/fileobject.h (100%) rename {_Python311_cpp => _Pre_Builds/_Python311_cpp}/include/fileutils.h (100%) rename {_Python311_cpp => _Pre_Builds/_Python311_cpp}/include/floatobject.h (100%) rename {_Python311_cpp => _Pre_Builds/_Python311_cpp}/include/frameobject.h (100%) create mode 100644 _Pre_Builds/_Python311_cpp/include/genericaliasobject.h rename {_Python311_cpp => _Pre_Builds/_Python311_cpp}/include/import.h (100%) rename {_Python311_cpp => _Pre_Builds/_Python311_cpp}/include/internal/pycore_abstract.h (100%) create mode 100644 _Pre_Builds/_Python311_cpp/include/internal/pycore_accu.h rename {_Python311_cpp => _Pre_Builds/_Python311_cpp}/include/internal/pycore_asdl.h (100%) rename {_Python311_cpp => _Pre_Builds/_Python311_cpp}/include/internal/pycore_ast.h (100%) rename {_Python311_cpp => _Pre_Builds/_Python311_cpp}/include/internal/pycore_ast_state.h (100%) create mode 100644 _Pre_Builds/_Python311_cpp/include/internal/pycore_atomic.h create mode 100644 _Pre_Builds/_Python311_cpp/include/internal/pycore_atomic_funcs.h rename {_Python311_cpp => _Pre_Builds/_Python311_cpp}/include/internal/pycore_bitutils.h (100%) create mode 100644 _Pre_Builds/_Python311_cpp/include/internal/pycore_blocks_output_buffer.h create mode 100644 _Pre_Builds/_Python311_cpp/include/internal/pycore_bytes_methods.h rename {_Python311_cpp => _Pre_Builds/_Python311_cpp}/include/internal/pycore_bytesobject.h (100%) rename {_Python311_cpp => _Pre_Builds/_Python311_cpp}/include/internal/pycore_call.h (100%) rename {_Python311_cpp => _Pre_Builds/_Python311_cpp}/include/internal/pycore_ceval.h (100%) rename {_Python311_cpp => _Pre_Builds/_Python311_cpp}/include/internal/pycore_code.h (100%) create mode 100644 _Pre_Builds/_Python311_cpp/include/internal/pycore_compile.h rename {_Python311_cpp => _Pre_Builds/_Python311_cpp}/include/internal/pycore_condvar.h (100%) rename {_Python311_cpp => _Pre_Builds/_Python311_cpp}/include/internal/pycore_context.h (100%) rename {_Python311_cpp => _Pre_Builds/_Python311_cpp}/include/internal/pycore_dict.h (100%) rename {_Python311_cpp => _Pre_Builds/_Python311_cpp}/include/internal/pycore_dtoa.h (100%) rename {_Python311_cpp => _Pre_Builds/_Python311_cpp}/include/internal/pycore_emscripten_signal.h (100%) rename {_Python311_cpp => _Pre_Builds/_Python311_cpp}/include/internal/pycore_exceptions.h (100%) rename {_Python311_cpp => _Pre_Builds/_Python311_cpp}/include/internal/pycore_fileutils.h (97%) rename {_Python311_cpp => _Pre_Builds/_Python311_cpp}/include/internal/pycore_floatobject.h (100%) create mode 100644 _Pre_Builds/_Python311_cpp/include/internal/pycore_format.h rename {_Python311_cpp => _Pre_Builds/_Python311_cpp}/include/internal/pycore_frame.h (100%) rename {_Python311_cpp => _Pre_Builds/_Python311_cpp}/include/internal/pycore_function.h (100%) rename {_Python311_cpp => _Pre_Builds/_Python311_cpp}/include/internal/pycore_gc.h (100%) rename {_Python311_cpp => _Pre_Builds/_Python311_cpp}/include/internal/pycore_genobject.h (100%) create mode 100644 _Pre_Builds/_Python311_cpp/include/internal/pycore_getopt.h create mode 100644 _Pre_Builds/_Python311_cpp/include/internal/pycore_gil.h rename {_Python311_cpp => _Pre_Builds/_Python311_cpp}/include/internal/pycore_global_objects.h (100%) rename {_Python311_cpp => _Pre_Builds/_Python311_cpp}/include/internal/pycore_global_strings.h (100%) rename {_Python311_cpp => _Pre_Builds/_Python311_cpp}/include/internal/pycore_hamt.h (100%) create mode 100644 _Pre_Builds/_Python311_cpp/include/internal/pycore_hashtable.h rename {_Python311_cpp => _Pre_Builds/_Python311_cpp}/include/internal/pycore_import.h (100%) rename {_Python311_cpp => _Pre_Builds/_Python311_cpp}/include/internal/pycore_initconfig.h (100%) rename {_Python311_cpp => _Pre_Builds/_Python311_cpp}/include/internal/pycore_interp.h (100%) rename {_Python311_cpp => _Pre_Builds/_Python311_cpp}/include/internal/pycore_interpreteridobject.h (100%) rename {_Python311_cpp => _Pre_Builds/_Python311_cpp}/include/internal/pycore_list.h (100%) rename {_Python311_cpp => _Pre_Builds/_Python311_cpp}/include/internal/pycore_long.h (100%) rename {_Python311_cpp => _Pre_Builds/_Python311_cpp}/include/internal/pycore_moduleobject.h (100%) rename {_Python311_cpp => _Pre_Builds/_Python311_cpp}/include/internal/pycore_namespace.h (100%) rename {_Python311_cpp => _Pre_Builds/_Python311_cpp}/include/internal/pycore_object.h (100%) rename {_Python311_cpp => _Pre_Builds/_Python311_cpp}/include/internal/pycore_opcode.h (100%) create mode 100644 _Pre_Builds/_Python311_cpp/include/internal/pycore_parser.h rename {_Python311_cpp => _Pre_Builds/_Python311_cpp}/include/internal/pycore_pathconfig.h (100%) create mode 100644 _Pre_Builds/_Python311_cpp/include/internal/pycore_pyarena.h rename {_Python311_cpp => _Pre_Builds/_Python311_cpp}/include/internal/pycore_pyerrors.h (100%) create mode 100644 _Pre_Builds/_Python311_cpp/include/internal/pycore_pyhash.h rename {_Python311_cpp => _Pre_Builds/_Python311_cpp}/include/internal/pycore_pylifecycle.h (100%) rename {_Python311_cpp => _Pre_Builds/_Python311_cpp}/include/internal/pycore_pymath.h (100%) rename {_Python311_cpp => _Pre_Builds/_Python311_cpp}/include/internal/pycore_pymem.h (100%) rename {_Python311_cpp => _Pre_Builds/_Python311_cpp}/include/internal/pycore_pystate.h (96%) rename {_Python311_cpp => _Pre_Builds/_Python311_cpp}/include/internal/pycore_runtime.h (100%) rename {_Python311_cpp => _Pre_Builds/_Python311_cpp}/include/internal/pycore_runtime_init.h (100%) rename {_Python311_cpp => _Pre_Builds/_Python311_cpp}/include/internal/pycore_signal.h (100%) rename {_Python311_cpp => _Pre_Builds/_Python311_cpp}/include/internal/pycore_sliceobject.h (100%) rename {_Python311_cpp => _Pre_Builds/_Python311_cpp}/include/internal/pycore_strhex.h (100%) rename {_Python311_cpp => _Pre_Builds/_Python311_cpp}/include/internal/pycore_structseq.h (100%) rename {_Python311_cpp => _Pre_Builds/_Python311_cpp}/include/internal/pycore_symtable.h (100%) rename {_Python311_cpp => _Pre_Builds/_Python311_cpp}/include/internal/pycore_sysmodule.h (100%) rename {_Python311_cpp => _Pre_Builds/_Python311_cpp}/include/internal/pycore_traceback.h (100%) rename {_Python311_cpp => _Pre_Builds/_Python311_cpp}/include/internal/pycore_tuple.h (100%) rename {_Python311_cpp => _Pre_Builds/_Python311_cpp}/include/internal/pycore_typeobject.h (100%) create mode 100644 _Pre_Builds/_Python311_cpp/include/internal/pycore_ucnhash.h rename {_Python311_cpp => _Pre_Builds/_Python311_cpp}/include/internal/pycore_unicodeobject.h (100%) rename {_Python311_cpp => _Pre_Builds/_Python311_cpp}/include/internal/pycore_unionobject.h (100%) rename {_Python311_cpp => _Pre_Builds/_Python311_cpp}/include/internal/pycore_warnings.h (100%) create mode 100644 _Pre_Builds/_Python311_cpp/include/intrcheck.h create mode 100644 _Pre_Builds/_Python311_cpp/include/iterobject.h rename {_Python311_cpp => _Pre_Builds/_Python311_cpp}/include/listobject.h (100%) rename {_Python311_cpp => _Pre_Builds/_Python311_cpp}/include/longobject.h (100%) rename {_Python311_cpp => _Pre_Builds/_Python311_cpp}/include/marshal.h (100%) rename {_Python311_cpp => _Pre_Builds/_Python311_cpp}/include/memoryobject.h (100%) rename {_Python311_cpp => _Pre_Builds/_Python311_cpp}/include/methodobject.h (100%) rename {_Python311_cpp => _Pre_Builds/_Python311_cpp}/include/modsupport.h (98%) rename {_Python311_cpp => _Pre_Builds/_Python311_cpp}/include/moduleobject.h (100%) rename {_Python311_cpp => _Pre_Builds/_Python311_cpp}/include/object.h (100%) rename {_Python311_cpp => _Pre_Builds/_Python311_cpp}/include/objimpl.h (100%) rename {_Python311_cpp => _Pre_Builds/_Python311_cpp}/include/opcode.h (100%) create mode 100644 _Pre_Builds/_Python311_cpp/include/osdefs.h create mode 100644 _Pre_Builds/_Python311_cpp/include/osmodule.h rename {_Python311_cpp => _Pre_Builds/_Python311_cpp}/include/patchlevel.h (94%) rename {_Python311_cpp => _Pre_Builds/_Python311_cpp}/include/py_curses.h (100%) rename {_Python311_cpp => _Pre_Builds/_Python311_cpp}/include/pybuffer.h (100%) create mode 100644 _Pre_Builds/_Python311_cpp/include/pycapsule.h rename {_Python311_cpp => _Pre_Builds/_Python311_cpp}/include/pyconfig.h (100%) create mode 100644 _Pre_Builds/_Python311_cpp/include/pydtrace.d create mode 100644 _Pre_Builds/_Python311_cpp/include/pydtrace.h rename {_Python311_cpp => _Pre_Builds/_Python311_cpp}/include/pyerrors.h (100%) create mode 100644 _Pre_Builds/_Python311_cpp/include/pyexpat.h rename {_Python311_cpp => _Pre_Builds/_Python311_cpp}/include/pyframe.h (100%) rename {_Python311_cpp => _Pre_Builds/_Python311_cpp}/include/pyhash.h (100%) rename {_Python311_cpp => _Pre_Builds/_Python311_cpp}/include/pylifecycle.h (100%) create mode 100644 _Pre_Builds/_Python311_cpp/include/pymacconfig.h rename {_Python311_cpp => _Pre_Builds/_Python311_cpp}/include/pymacro.h (100%) rename {_Python311_cpp => _Pre_Builds/_Python311_cpp}/include/pymath.h (100%) rename {_Python311_cpp => _Pre_Builds/_Python311_cpp}/include/pymem.h (100%) rename {_Python311_cpp => _Pre_Builds/_Python311_cpp}/include/pyport.h (99%) rename {_Python311_cpp => _Pre_Builds/_Python311_cpp}/include/pystate.h (100%) create mode 100644 _Pre_Builds/_Python311_cpp/include/pystrcmp.h rename {_Python311_cpp => _Pre_Builds/_Python311_cpp}/include/pystrtod.h (100%) rename {_Python311_cpp => _Pre_Builds/_Python311_cpp}/include/pythonrun.h (100%) rename {_Python311_cpp => _Pre_Builds/_Python311_cpp}/include/pythread.h (100%) rename {_Python311_cpp => _Pre_Builds/_Python311_cpp}/include/pytypedefs.h (100%) create mode 100644 _Pre_Builds/_Python311_cpp/include/rangeobject.h rename {_Python311_cpp => _Pre_Builds/_Python311_cpp}/include/setobject.h (100%) create mode 100644 _Pre_Builds/_Python311_cpp/include/sliceobject.h rename {_Python311_cpp => _Pre_Builds/_Python311_cpp}/include/structmember.h (100%) rename {_Python311_cpp => _Pre_Builds/_Python311_cpp}/include/structseq.h (100%) rename {_Python311_cpp => _Pre_Builds/_Python311_cpp}/include/sysmodule.h (100%) create mode 100644 _Pre_Builds/_Python311_cpp/include/token.h rename {_Python311_cpp => _Pre_Builds/_Python311_cpp}/include/traceback.h (100%) create mode 100644 _Pre_Builds/_Python311_cpp/include/tracemalloc.h rename {_Python311_cpp => _Pre_Builds/_Python311_cpp}/include/tupleobject.h (100%) rename {_Python311_cpp => _Pre_Builds/_Python311_cpp}/include/typeslots.h (100%) rename {_Python311_cpp => _Pre_Builds/_Python311_cpp}/include/unicodeobject.h (100%) rename {_Python311_cpp => _Pre_Builds/_Python311_cpp}/include/warnings.h (100%) rename {_Python311_cpp => _Pre_Builds/_Python311_cpp}/include/weakrefobject.h (100%) create mode 100644 _Pre_Builds/_Python311_cpp/libs/_tkinter.lib rename {_Python311_cpp => _Pre_Builds/_Python311_cpp}/libs/python3.lib (72%) create mode 100644 _Pre_Builds/_Python311_cpp/libs/python311.lib create mode 100644 _Pre_Builds/_Python312_cpp/include/Python.h create mode 100644 _Pre_Builds/_Python312_cpp/include/README.rst create mode 100644 _Pre_Builds/_Python312_cpp/include/abstract.h create mode 100644 _Pre_Builds/_Python312_cpp/include/bltinmodule.h create mode 100644 _Pre_Builds/_Python312_cpp/include/boolobject.h create mode 100644 _Pre_Builds/_Python312_cpp/include/bytearrayobject.h create mode 100644 _Pre_Builds/_Python312_cpp/include/bytesobject.h create mode 100644 _Pre_Builds/_Python312_cpp/include/ceval.h create mode 100644 _Pre_Builds/_Python312_cpp/include/codecs.h create mode 100644 _Pre_Builds/_Python312_cpp/include/compile.h create mode 100644 _Pre_Builds/_Python312_cpp/include/complexobject.h create mode 100644 _Pre_Builds/_Python312_cpp/include/cpython/abstract.h create mode 100644 _Pre_Builds/_Python312_cpp/include/cpython/bytearrayobject.h create mode 100644 _Pre_Builds/_Python312_cpp/include/cpython/bytesobject.h create mode 100644 _Pre_Builds/_Python312_cpp/include/cpython/cellobject.h create mode 100644 _Pre_Builds/_Python312_cpp/include/cpython/ceval.h create mode 100644 _Pre_Builds/_Python312_cpp/include/cpython/classobject.h create mode 100644 _Pre_Builds/_Python312_cpp/include/cpython/code.h create mode 100644 _Pre_Builds/_Python312_cpp/include/cpython/compile.h create mode 100644 _Pre_Builds/_Python312_cpp/include/cpython/complexobject.h create mode 100644 _Pre_Builds/_Python312_cpp/include/cpython/context.h create mode 100644 _Pre_Builds/_Python312_cpp/include/cpython/descrobject.h create mode 100644 _Pre_Builds/_Python312_cpp/include/cpython/dictobject.h create mode 100644 _Pre_Builds/_Python312_cpp/include/cpython/fileobject.h create mode 100644 _Pre_Builds/_Python312_cpp/include/cpython/fileutils.h create mode 100644 _Pre_Builds/_Python312_cpp/include/cpython/floatobject.h create mode 100644 _Pre_Builds/_Python312_cpp/include/cpython/frameobject.h create mode 100644 _Pre_Builds/_Python312_cpp/include/cpython/funcobject.h create mode 100644 _Pre_Builds/_Python312_cpp/include/cpython/genobject.h create mode 100644 _Pre_Builds/_Python312_cpp/include/cpython/import.h create mode 100644 _Pre_Builds/_Python312_cpp/include/cpython/initconfig.h create mode 100644 _Pre_Builds/_Python312_cpp/include/cpython/interpreteridobject.h create mode 100644 _Pre_Builds/_Python312_cpp/include/cpython/listobject.h create mode 100644 _Pre_Builds/_Python312_cpp/include/cpython/longintrepr.h create mode 100644 _Pre_Builds/_Python312_cpp/include/cpython/longobject.h create mode 100644 _Pre_Builds/_Python312_cpp/include/cpython/memoryobject.h create mode 100644 _Pre_Builds/_Python312_cpp/include/cpython/methodobject.h create mode 100644 _Pre_Builds/_Python312_cpp/include/cpython/modsupport.h create mode 100644 _Pre_Builds/_Python312_cpp/include/cpython/object.h create mode 100644 _Pre_Builds/_Python312_cpp/include/cpython/objimpl.h create mode 100644 _Pre_Builds/_Python312_cpp/include/cpython/odictobject.h create mode 100644 _Pre_Builds/_Python312_cpp/include/cpython/picklebufobject.h create mode 100644 _Pre_Builds/_Python312_cpp/include/cpython/pthread_stubs.h create mode 100644 _Pre_Builds/_Python312_cpp/include/cpython/pyctype.h create mode 100644 _Pre_Builds/_Python312_cpp/include/cpython/pydebug.h create mode 100644 _Pre_Builds/_Python312_cpp/include/cpython/pyerrors.h create mode 100644 _Pre_Builds/_Python312_cpp/include/cpython/pyfpe.h create mode 100644 _Pre_Builds/_Python312_cpp/include/cpython/pyframe.h create mode 100644 _Pre_Builds/_Python312_cpp/include/cpython/pylifecycle.h create mode 100644 _Pre_Builds/_Python312_cpp/include/cpython/pymem.h create mode 100644 _Pre_Builds/_Python312_cpp/include/cpython/pystate.h create mode 100644 _Pre_Builds/_Python312_cpp/include/cpython/pythonrun.h create mode 100644 _Pre_Builds/_Python312_cpp/include/cpython/pythread.h create mode 100644 _Pre_Builds/_Python312_cpp/include/cpython/pytime.h create mode 100644 _Pre_Builds/_Python312_cpp/include/cpython/setobject.h create mode 100644 _Pre_Builds/_Python312_cpp/include/cpython/sysmodule.h create mode 100644 _Pre_Builds/_Python312_cpp/include/cpython/traceback.h create mode 100644 _Pre_Builds/_Python312_cpp/include/cpython/tupleobject.h create mode 100644 _Pre_Builds/_Python312_cpp/include/cpython/unicodeobject.h create mode 100644 _Pre_Builds/_Python312_cpp/include/cpython/warnings.h create mode 100644 _Pre_Builds/_Python312_cpp/include/cpython/weakrefobject.h create mode 100644 _Pre_Builds/_Python312_cpp/include/datetime.h create mode 100644 _Pre_Builds/_Python312_cpp/include/descrobject.h create mode 100644 _Pre_Builds/_Python312_cpp/include/dictobject.h create mode 100644 _Pre_Builds/_Python312_cpp/include/dynamic_annotations.h create mode 100644 _Pre_Builds/_Python312_cpp/include/enumobject.h create mode 100644 _Pre_Builds/_Python312_cpp/include/errcode.h create mode 100644 _Pre_Builds/_Python312_cpp/include/exports.h create mode 100644 _Pre_Builds/_Python312_cpp/include/fileobject.h create mode 100644 _Pre_Builds/_Python312_cpp/include/fileutils.h create mode 100644 _Pre_Builds/_Python312_cpp/include/floatobject.h create mode 100644 _Pre_Builds/_Python312_cpp/include/frameobject.h create mode 100644 _Pre_Builds/_Python312_cpp/include/genericaliasobject.h create mode 100644 _Pre_Builds/_Python312_cpp/include/import.h create mode 100644 _Pre_Builds/_Python312_cpp/include/internal/pycore_abstract.h create mode 100644 _Pre_Builds/_Python312_cpp/include/internal/pycore_asdl.h create mode 100644 _Pre_Builds/_Python312_cpp/include/internal/pycore_ast.h create mode 100644 _Pre_Builds/_Python312_cpp/include/internal/pycore_ast_state.h create mode 100644 _Pre_Builds/_Python312_cpp/include/internal/pycore_atexit.h create mode 100644 _Pre_Builds/_Python312_cpp/include/internal/pycore_atomic.h create mode 100644 _Pre_Builds/_Python312_cpp/include/internal/pycore_atomic_funcs.h create mode 100644 _Pre_Builds/_Python312_cpp/include/internal/pycore_bitutils.h create mode 100644 _Pre_Builds/_Python312_cpp/include/internal/pycore_blocks_output_buffer.h create mode 100644 _Pre_Builds/_Python312_cpp/include/internal/pycore_bytes_methods.h create mode 100644 _Pre_Builds/_Python312_cpp/include/internal/pycore_bytesobject.h create mode 100644 _Pre_Builds/_Python312_cpp/include/internal/pycore_call.h create mode 100644 _Pre_Builds/_Python312_cpp/include/internal/pycore_ceval.h create mode 100644 _Pre_Builds/_Python312_cpp/include/internal/pycore_ceval_state.h create mode 100644 _Pre_Builds/_Python312_cpp/include/internal/pycore_code.h create mode 100644 _Pre_Builds/_Python312_cpp/include/internal/pycore_compile.h create mode 100644 _Pre_Builds/_Python312_cpp/include/internal/pycore_condvar.h create mode 100644 _Pre_Builds/_Python312_cpp/include/internal/pycore_context.h create mode 100644 _Pre_Builds/_Python312_cpp/include/internal/pycore_descrobject.h create mode 100644 _Pre_Builds/_Python312_cpp/include/internal/pycore_dict.h create mode 100644 _Pre_Builds/_Python312_cpp/include/internal/pycore_dict_state.h create mode 100644 _Pre_Builds/_Python312_cpp/include/internal/pycore_dtoa.h create mode 100644 _Pre_Builds/_Python312_cpp/include/internal/pycore_emscripten_signal.h create mode 100644 _Pre_Builds/_Python312_cpp/include/internal/pycore_exceptions.h create mode 100644 _Pre_Builds/_Python312_cpp/include/internal/pycore_faulthandler.h create mode 100644 _Pre_Builds/_Python312_cpp/include/internal/pycore_fileutils.h create mode 100644 _Pre_Builds/_Python312_cpp/include/internal/pycore_fileutils_windows.h create mode 100644 _Pre_Builds/_Python312_cpp/include/internal/pycore_floatobject.h create mode 100644 _Pre_Builds/_Python312_cpp/include/internal/pycore_flowgraph.h create mode 100644 _Pre_Builds/_Python312_cpp/include/internal/pycore_format.h create mode 100644 _Pre_Builds/_Python312_cpp/include/internal/pycore_frame.h create mode 100644 _Pre_Builds/_Python312_cpp/include/internal/pycore_function.h create mode 100644 _Pre_Builds/_Python312_cpp/include/internal/pycore_gc.h create mode 100644 _Pre_Builds/_Python312_cpp/include/internal/pycore_genobject.h create mode 100644 _Pre_Builds/_Python312_cpp/include/internal/pycore_getopt.h create mode 100644 _Pre_Builds/_Python312_cpp/include/internal/pycore_gil.h create mode 100644 _Pre_Builds/_Python312_cpp/include/internal/pycore_global_objects.h create mode 100644 _Pre_Builds/_Python312_cpp/include/internal/pycore_global_objects_fini_generated.h create mode 100644 _Pre_Builds/_Python312_cpp/include/internal/pycore_global_strings.h create mode 100644 _Pre_Builds/_Python312_cpp/include/internal/pycore_hamt.h create mode 100644 _Pre_Builds/_Python312_cpp/include/internal/pycore_hashtable.h create mode 100644 _Pre_Builds/_Python312_cpp/include/internal/pycore_import.h create mode 100644 _Pre_Builds/_Python312_cpp/include/internal/pycore_initconfig.h create mode 100644 _Pre_Builds/_Python312_cpp/include/internal/pycore_instruments.h create mode 100644 _Pre_Builds/_Python312_cpp/include/internal/pycore_interp.h create mode 100644 _Pre_Builds/_Python312_cpp/include/internal/pycore_intrinsics.h create mode 100644 _Pre_Builds/_Python312_cpp/include/internal/pycore_list.h create mode 100644 _Pre_Builds/_Python312_cpp/include/internal/pycore_long.h create mode 100644 _Pre_Builds/_Python312_cpp/include/internal/pycore_memoryobject.h create mode 100644 _Pre_Builds/_Python312_cpp/include/internal/pycore_moduleobject.h create mode 100644 _Pre_Builds/_Python312_cpp/include/internal/pycore_namespace.h create mode 100644 _Pre_Builds/_Python312_cpp/include/internal/pycore_object.h create mode 100644 _Pre_Builds/_Python312_cpp/include/internal/pycore_object_state.h create mode 100644 _Pre_Builds/_Python312_cpp/include/internal/pycore_obmalloc.h create mode 100644 _Pre_Builds/_Python312_cpp/include/internal/pycore_obmalloc_init.h create mode 100644 _Pre_Builds/_Python312_cpp/include/internal/pycore_opcode.h create mode 100644 _Pre_Builds/_Python312_cpp/include/internal/pycore_opcode_utils.h create mode 100644 _Pre_Builds/_Python312_cpp/include/internal/pycore_parser.h create mode 100644 _Pre_Builds/_Python312_cpp/include/internal/pycore_pathconfig.h create mode 100644 _Pre_Builds/_Python312_cpp/include/internal/pycore_pyarena.h create mode 100644 _Pre_Builds/_Python312_cpp/include/internal/pycore_pyerrors.h create mode 100644 _Pre_Builds/_Python312_cpp/include/internal/pycore_pyhash.h create mode 100644 _Pre_Builds/_Python312_cpp/include/internal/pycore_pylifecycle.h create mode 100644 _Pre_Builds/_Python312_cpp/include/internal/pycore_pymath.h create mode 100644 _Pre_Builds/_Python312_cpp/include/internal/pycore_pymem.h create mode 100644 _Pre_Builds/_Python312_cpp/include/internal/pycore_pymem_init.h create mode 100644 _Pre_Builds/_Python312_cpp/include/internal/pycore_pystate.h create mode 100644 _Pre_Builds/_Python312_cpp/include/internal/pycore_pythread.h create mode 100644 _Pre_Builds/_Python312_cpp/include/internal/pycore_range.h create mode 100644 _Pre_Builds/_Python312_cpp/include/internal/pycore_runtime.h create mode 100644 _Pre_Builds/_Python312_cpp/include/internal/pycore_runtime_init.h create mode 100644 _Pre_Builds/_Python312_cpp/include/internal/pycore_runtime_init_generated.h create mode 100644 _Pre_Builds/_Python312_cpp/include/internal/pycore_signal.h create mode 100644 _Pre_Builds/_Python312_cpp/include/internal/pycore_sliceobject.h create mode 100644 _Pre_Builds/_Python312_cpp/include/internal/pycore_strhex.h create mode 100644 _Pre_Builds/_Python312_cpp/include/internal/pycore_structseq.h create mode 100644 _Pre_Builds/_Python312_cpp/include/internal/pycore_symtable.h create mode 100644 _Pre_Builds/_Python312_cpp/include/internal/pycore_sysmodule.h create mode 100644 _Pre_Builds/_Python312_cpp/include/internal/pycore_time.h create mode 100644 _Pre_Builds/_Python312_cpp/include/internal/pycore_token.h create mode 100644 _Pre_Builds/_Python312_cpp/include/internal/pycore_traceback.h create mode 100644 _Pre_Builds/_Python312_cpp/include/internal/pycore_tracemalloc.h create mode 100644 _Pre_Builds/_Python312_cpp/include/internal/pycore_tuple.h create mode 100644 _Pre_Builds/_Python312_cpp/include/internal/pycore_typeobject.h create mode 100644 _Pre_Builds/_Python312_cpp/include/internal/pycore_typevarobject.h create mode 100644 _Pre_Builds/_Python312_cpp/include/internal/pycore_ucnhash.h create mode 100644 _Pre_Builds/_Python312_cpp/include/internal/pycore_unicodeobject.h create mode 100644 _Pre_Builds/_Python312_cpp/include/internal/pycore_unicodeobject_generated.h create mode 100644 _Pre_Builds/_Python312_cpp/include/internal/pycore_unionobject.h create mode 100644 _Pre_Builds/_Python312_cpp/include/internal/pycore_warnings.h create mode 100644 _Pre_Builds/_Python312_cpp/include/interpreteridobject.h create mode 100644 _Pre_Builds/_Python312_cpp/include/intrcheck.h create mode 100644 _Pre_Builds/_Python312_cpp/include/iterobject.h create mode 100644 _Pre_Builds/_Python312_cpp/include/listobject.h create mode 100644 _Pre_Builds/_Python312_cpp/include/longobject.h create mode 100644 _Pre_Builds/_Python312_cpp/include/marshal.h create mode 100644 _Pre_Builds/_Python312_cpp/include/memoryobject.h create mode 100644 _Pre_Builds/_Python312_cpp/include/methodobject.h create mode 100644 _Pre_Builds/_Python312_cpp/include/modsupport.h create mode 100644 _Pre_Builds/_Python312_cpp/include/moduleobject.h create mode 100644 _Pre_Builds/_Python312_cpp/include/object.h create mode 100644 _Pre_Builds/_Python312_cpp/include/objimpl.h create mode 100644 _Pre_Builds/_Python312_cpp/include/opcode.h create mode 100644 _Pre_Builds/_Python312_cpp/include/osdefs.h create mode 100644 _Pre_Builds/_Python312_cpp/include/osmodule.h create mode 100644 _Pre_Builds/_Python312_cpp/include/patchlevel.h create mode 100644 _Pre_Builds/_Python312_cpp/include/py_curses.h create mode 100644 _Pre_Builds/_Python312_cpp/include/pybuffer.h create mode 100644 _Pre_Builds/_Python312_cpp/include/pycapsule.h create mode 100644 _Pre_Builds/_Python312_cpp/include/pyconfig.h create mode 100644 _Pre_Builds/_Python312_cpp/include/pydtrace.d create mode 100644 _Pre_Builds/_Python312_cpp/include/pydtrace.h create mode 100644 _Pre_Builds/_Python312_cpp/include/pyerrors.h create mode 100644 _Pre_Builds/_Python312_cpp/include/pyexpat.h create mode 100644 _Pre_Builds/_Python312_cpp/include/pyframe.h create mode 100644 _Pre_Builds/_Python312_cpp/include/pyhash.h create mode 100644 _Pre_Builds/_Python312_cpp/include/pylifecycle.h create mode 100644 _Pre_Builds/_Python312_cpp/include/pymacconfig.h create mode 100644 _Pre_Builds/_Python312_cpp/include/pymacro.h create mode 100644 _Pre_Builds/_Python312_cpp/include/pymath.h create mode 100644 _Pre_Builds/_Python312_cpp/include/pymem.h create mode 100644 _Pre_Builds/_Python312_cpp/include/pyport.h create mode 100644 _Pre_Builds/_Python312_cpp/include/pystate.h create mode 100644 _Pre_Builds/_Python312_cpp/include/pystats.h create mode 100644 _Pre_Builds/_Python312_cpp/include/pystrcmp.h create mode 100644 _Pre_Builds/_Python312_cpp/include/pystrtod.h create mode 100644 _Pre_Builds/_Python312_cpp/include/pythonrun.h create mode 100644 _Pre_Builds/_Python312_cpp/include/pythread.h create mode 100644 _Pre_Builds/_Python312_cpp/include/pytypedefs.h create mode 100644 _Pre_Builds/_Python312_cpp/include/rangeobject.h create mode 100644 _Pre_Builds/_Python312_cpp/include/setobject.h create mode 100644 _Pre_Builds/_Python312_cpp/include/sliceobject.h create mode 100644 _Pre_Builds/_Python312_cpp/include/structmember.h create mode 100644 _Pre_Builds/_Python312_cpp/include/structseq.h create mode 100644 _Pre_Builds/_Python312_cpp/include/sysmodule.h create mode 100644 _Pre_Builds/_Python312_cpp/include/traceback.h create mode 100644 _Pre_Builds/_Python312_cpp/include/tracemalloc.h create mode 100644 _Pre_Builds/_Python312_cpp/include/tupleobject.h create mode 100644 _Pre_Builds/_Python312_cpp/include/typeslots.h create mode 100644 _Pre_Builds/_Python312_cpp/include/unicodeobject.h create mode 100644 _Pre_Builds/_Python312_cpp/include/warnings.h create mode 100644 _Pre_Builds/_Python312_cpp/include/weakrefobject.h create mode 100644 _Pre_Builds/_Python312_cpp/libs/_tkinter.lib create mode 100644 _Pre_Builds/_Python312_cpp/libs/python3.lib create mode 100644 _Pre_Builds/_Python312_cpp/libs/python312.lib create mode 100644 _Pre_Builds/_Wheels_win_py310_cu121/diff_gaussian_rasterization-0.0.0-cp310-cp310-win_amd64.whl create mode 100644 _Pre_Builds/_Wheels_win_py310_cu121/kiui-0.2.4-py3-none-any.whl create mode 100644 _Pre_Builds/_Wheels_win_py310_cu121/nvdiffrast-0.3.1-py3-none-any.whl create mode 100644 _Pre_Builds/_Wheels_win_py310_cu121/pointnet2_ops-3.0.0-cp310-cp310-win_amd64.whl create mode 100644 _Pre_Builds/_Wheels_win_py310_cu121/pytorch3d-0.7.6-cp310-cp310-win_amd64.whl create mode 100644 _Pre_Builds/_Wheels_win_py310_cu121/simple_knn-0.0.0-cp310-cp310-win_amd64.whl create mode 100644 _Pre_Builds/_Wheels_win_py310_cu121/torch_scatter-2.1.2-cp310-cp310-win_amd64.whl create mode 100644 _Pre_Builds/_Wheels_win_py310_cu121/torchmcubes-0.1.0-cp310-cp310-win_amd64.whl rename {_Wheels_win_py311_cu121 => _Pre_Builds/_Wheels_win_py311_cu121}/diff_gaussian_rasterization-0.0.0-cp311-cp311-win_amd64.whl (100%) rename {_Wheels_win_py311_cu121 => _Pre_Builds/_Wheels_win_py311_cu121}/kiui-0.2.4-py3-none-any.whl (100%) rename {_Wheels_win_py311_cu121 => _Pre_Builds/_Wheels_win_py311_cu121}/nvdiffrast-0.3.1-py3-none-any.whl (100%) rename {_Wheels_win_py311_cu121 => _Pre_Builds/_Wheels_win_py311_cu121}/pointnet2_ops-3.0.0-cp311-cp311-win_amd64.whl (100%) rename {_Wheels_win_py311_cu121 => _Pre_Builds/_Wheels_win_py311_cu121}/pytorch3d-0.7.6-cp311-cp311-win_amd64.whl (100%) rename {_Wheels_win_py311_cu121 => _Pre_Builds/_Wheels_win_py311_cu121}/simple_knn-0.0.0-cp311-cp311-win_amd64.whl (100%) rename {_Wheels_win_py311_cu121 => _Pre_Builds/_Wheels_win_py311_cu121}/torch_scatter-2.1.2-cp311-cp311-win_amd64.whl (100%) rename {_Wheels_win_py311_cu121 => _Pre_Builds/_Wheels_win_py311_cu121}/torchmcubes-0.1.0-cp311-cp311-win_amd64.whl (100%) create mode 100644 _Pre_Builds/_Wheels_win_py312_cu121/diff_gaussian_rasterization-0.0.0-cp312-cp312-win_amd64.whl create mode 100644 _Pre_Builds/_Wheels_win_py312_cu121/kiui-0.2.4-py3-none-any.whl create mode 100644 _Pre_Builds/_Wheels_win_py312_cu121/nvdiffrast-0.3.1-py3-none-any.whl create mode 100644 _Pre_Builds/_Wheels_win_py312_cu121/pointnet2_ops-3.0.0-cp312-cp312-win_amd64.whl create mode 100644 _Pre_Builds/_Wheels_win_py312_cu121/pytorch3d-0.7.6-cp312-cp312-win_amd64.whl create mode 100644 _Pre_Builds/_Wheels_win_py312_cu121/simple_knn-0.0.0-cp312-cp312-win_amd64.whl create mode 100644 _Pre_Builds/_Wheels_win_py312_cu121/torch_scatter-2.1.2-cp312-cp312-win_amd64.whl create mode 100644 _Pre_Builds/_Wheels_win_py312_cu121/torchmcubes-0.1.0-cp312-cp312-win_amd64.whl delete mode 100644 _Python311_cpp/libs/python311.lib create mode 100644 install_windows_portable_win_py310_cu121.bat create mode 100644 install_windows_portable_win_py312_cu121.bat create mode 100644 requirements_post_win_py310_cu121.txt create mode 100644 requirements_post_win_py312_cu121.txt diff --git a/README.md b/README.md index dd3d4c0..1a21d09 100644 --- a/README.md +++ b/README.md @@ -130,26 +130,20 @@ Assume you have already downloaded [ComfyUI](https://github.com/comfyanonymous/ComfyUI) & Configed your [CUDA](https://developer.nvidia.com/cuda-12-1-0-download-archive) environment. -### Install Method 0: Directly inside ComfyUI Python Embeded Environment -***Node: (I've only built the packages with windows_python3.11_cuda12.1, whitch is ComfyUI Windows Portable's default setup)*** +### Install Method 0: Directly inside ComfyUI Windows Python Embeded Environment +***Currently support: (python3.10/3.11/3.12 cuda12.1)*** First install [Visual Studio Build Tools 2022/2019](https://visualstudio.microsoft.com/downloads/?q=build+tools) with Workloads: Desktop development with C++ (There are a few JIT torch cpp extension that builds in runtime) -- Alternatively, according to [@doctorpangloss](https://github.com/MrForExample/ComfyUI-3D-Pack/issues/5), you can setup the c++/cuda build environments in windows by using [chocolatey](https://chocolatey.org/) with following command: - - ```bash - # using git bash for the sake of simplicity - # enable developer mode - # google this: allow os.symlink on windows by adding your username to the local security policy entry for it. - # you will have to restart your computer - # install chocolatey using powershell, then install the prereqs for compilation on Windows - choco install -y visualstudio2022buildtools - choco install -y visualstudio2022-workload-vctools --package-parameters "--add Microsoft.VisualStudio.Component.VC.Llvm.ClangToolset --add Microsoft.VisualStudio.Component.VC.Llvm.Clang" - ``` +- Alternatively, according to [@doctorpangloss](https://github.com/MrForExample/ComfyUI-3D-Pack/issues/5), you can setup the c++/cuda build environments in windows by using [chocolatey](https://chocolatey.org/) Go to the Comfy3D root directory: *ComfyUI Root Directory\ComfyUI\custom_nodes\ComfyUI-3D-Pack* and run: ```bash +# Run .bat with python version corresponding to the version of your ComfyUI python environment + +# install_windows_portable_win_py310_cu121.bat install_windows_portable_win_py311_cu121.bat +# install_windows_portable_win_py312_cu121.bat ``` ### Install Method 1: Using Miniconda(Works on Windows & Linux & Mac) diff --git a/_Pre_Builds/_Python310_cpp/include/Python.h b/_Pre_Builds/_Python310_cpp/include/Python.h new file mode 100644 index 0000000..d3186c3 --- /dev/null +++ b/_Pre_Builds/_Python310_cpp/include/Python.h @@ -0,0 +1,148 @@ +#ifndef Py_PYTHON_H +#define Py_PYTHON_H +/* Since this is a "meta-include" file, no #ifdef __cplusplus / extern "C" { */ + +/* Include nearly all Python header files */ + +#include "patchlevel.h" +#include "pyconfig.h" +#include "pymacconfig.h" + +#include + +#ifndef UCHAR_MAX +#error "Something's broken. UCHAR_MAX should be defined in limits.h." +#endif + +#if UCHAR_MAX != 255 +#error "Python's source code assumes C's unsigned char is an 8-bit type." +#endif + +#if defined(__sgi) && !defined(_SGI_MP_SOURCE) +#define _SGI_MP_SOURCE +#endif + +#include +#ifndef NULL +# error "Python.h requires that stdio.h define NULL." +#endif + +#include +#ifdef HAVE_ERRNO_H +#include +#endif +#include +#ifndef MS_WINDOWS +#include +#endif + +/* For size_t? */ +#ifdef HAVE_STDDEF_H +#include +#endif + +/* CAUTION: Build setups should ensure that NDEBUG is defined on the + * compiler command line when building Python in release mode; else + * assert() calls won't be removed. + */ +#include + +#include "pyport.h" +#include "pymacro.h" + +/* A convenient way for code to know if sanitizers are enabled. */ +#if defined(__has_feature) +# if __has_feature(memory_sanitizer) +# if !defined(_Py_MEMORY_SANITIZER) +# define _Py_MEMORY_SANITIZER +# endif +# endif +# if __has_feature(address_sanitizer) +# if !defined(_Py_ADDRESS_SANITIZER) +# define _Py_ADDRESS_SANITIZER +# endif +# endif +#elif defined(__GNUC__) +# if defined(__SANITIZE_ADDRESS__) +# define _Py_ADDRESS_SANITIZER +# endif +#endif + +#include "pymath.h" +#include "pymem.h" + +#include "object.h" +#include "objimpl.h" +#include "typeslots.h" +#include "pyhash.h" + +#include "cpython/pydebug.h" + +#include "bytearrayobject.h" +#include "bytesobject.h" +#include "unicodeobject.h" +#include "longobject.h" +#include "longintrepr.h" +#include "boolobject.h" +#include "floatobject.h" +#include "complexobject.h" +#include "rangeobject.h" +#include "memoryobject.h" +#include "tupleobject.h" +#include "listobject.h" +#include "dictobject.h" +#include "cpython/odictobject.h" +#include "enumobject.h" +#include "setobject.h" +#include "methodobject.h" +#include "moduleobject.h" +#include "funcobject.h" +#include "classobject.h" +#include "fileobject.h" +#include "pycapsule.h" +#include "code.h" +#include "pyframe.h" +#include "traceback.h" +#include "sliceobject.h" +#include "cellobject.h" +#include "iterobject.h" +#include "cpython/initconfig.h" +#include "genobject.h" +#include "descrobject.h" +#include "genericaliasobject.h" +#include "warnings.h" +#include "weakrefobject.h" +#include "structseq.h" +#include "namespaceobject.h" +#include "cpython/picklebufobject.h" +#include "cpython/pytime.h" + +#include "codecs.h" +#include "pyerrors.h" +#include "pythread.h" +#include "pystate.h" +#include "context.h" + +#include "modsupport.h" +#include "compile.h" +#include "pythonrun.h" +#include "pylifecycle.h" +#include "ceval.h" +#include "sysmodule.h" +#include "osmodule.h" +#include "intrcheck.h" +#include "import.h" + +#include "abstract.h" +#include "bltinmodule.h" + +#include "eval.h" + +#include "cpython/pyctype.h" +#include "pystrtod.h" +#include "pystrcmp.h" +#include "fileutils.h" +#include "cpython/pyfpe.h" +#include "tracemalloc.h" + +#endif /* !Py_PYTHON_H */ diff --git a/_Pre_Builds/_Python310_cpp/include/README.rst b/_Pre_Builds/_Python310_cpp/include/README.rst new file mode 100644 index 0000000..f52e690 --- /dev/null +++ b/_Pre_Builds/_Python310_cpp/include/README.rst @@ -0,0 +1,12 @@ +The Python C API +================ + +The C API is divided into three sections: + +1. ``Include/``: Limited API +2. ``Include/cpython/``: CPython implementation details +3. ``Include/internal/``: The internal API + +Information on changing the C API is available `in the developer guide`_ + +.. _in the developer guide: https://devguide.python.org/c-api/ diff --git a/_Pre_Builds/_Python310_cpp/include/abstract.h b/_Pre_Builds/_Python310_cpp/include/abstract.h new file mode 100644 index 0000000..9eaab6b --- /dev/null +++ b/_Pre_Builds/_Python310_cpp/include/abstract.h @@ -0,0 +1,873 @@ +/* Abstract Object Interface (many thanks to Jim Fulton) */ + +#ifndef Py_ABSTRACTOBJECT_H +#define Py_ABSTRACTOBJECT_H +#ifdef __cplusplus +extern "C" { +#endif + +/* === Object Protocol ================================================== */ + +/* Implemented elsewhere: + + int PyObject_Print(PyObject *o, FILE *fp, int flags); + + Print an object 'o' on file 'fp'. Returns -1 on error. The flags argument + is used to enable certain printing options. The only option currently + supported is Py_Print_RAW. + + (What should be said about Py_Print_RAW?). */ + + +/* Implemented elsewhere: + + int PyObject_HasAttrString(PyObject *o, const char *attr_name); + + Returns 1 if object 'o' has the attribute attr_name, and 0 otherwise. + + This is equivalent to the Python expression: hasattr(o,attr_name). + + This function always succeeds. */ + + +/* Implemented elsewhere: + + PyObject* PyObject_GetAttrString(PyObject *o, const char *attr_name); + + Retrieve an attributed named attr_name form object o. + Returns the attribute value on success, or NULL on failure. + + This is the equivalent of the Python expression: o.attr_name. */ + + +/* Implemented elsewhere: + + int PyObject_HasAttr(PyObject *o, PyObject *attr_name); + + Returns 1 if o has the attribute attr_name, and 0 otherwise. + + This is equivalent to the Python expression: hasattr(o,attr_name). + + This function always succeeds. */ + +/* Implemented elsewhere: + + PyObject* PyObject_GetAttr(PyObject *o, PyObject *attr_name); + + Retrieve an attributed named 'attr_name' form object 'o'. + Returns the attribute value on success, or NULL on failure. + + This is the equivalent of the Python expression: o.attr_name. */ + + +/* Implemented elsewhere: + + int PyObject_SetAttrString(PyObject *o, const char *attr_name, PyObject *v); + + Set the value of the attribute named attr_name, for object 'o', + to the value 'v'. Raise an exception and return -1 on failure; return 0 on + success. + + This is the equivalent of the Python statement o.attr_name=v. */ + + +/* Implemented elsewhere: + + int PyObject_SetAttr(PyObject *o, PyObject *attr_name, PyObject *v); + + Set the value of the attribute named attr_name, for object 'o', to the value + 'v'. an exception and return -1 on failure; return 0 on success. + + This is the equivalent of the Python statement o.attr_name=v. */ + +/* Implemented as a macro: + + int PyObject_DelAttrString(PyObject *o, const char *attr_name); + + Delete attribute named attr_name, for object o. Returns + -1 on failure. + + This is the equivalent of the Python statement: del o.attr_name. */ +#define PyObject_DelAttrString(O,A) PyObject_SetAttrString((O),(A), NULL) + + +/* Implemented as a macro: + + int PyObject_DelAttr(PyObject *o, PyObject *attr_name); + + Delete attribute named attr_name, for object o. Returns -1 + on failure. This is the equivalent of the Python + statement: del o.attr_name. */ +#define PyObject_DelAttr(O,A) PyObject_SetAttr((O),(A), NULL) + + +/* Implemented elsewhere: + + PyObject *PyObject_Repr(PyObject *o); + + Compute the string representation of object 'o'. Returns the + string representation on success, NULL on failure. + + This is the equivalent of the Python expression: repr(o). + + Called by the repr() built-in function. */ + + +/* Implemented elsewhere: + + PyObject *PyObject_Str(PyObject *o); + + Compute the string representation of object, o. Returns the + string representation on success, NULL on failure. + + This is the equivalent of the Python expression: str(o). + + Called by the str() and print() built-in functions. */ + + +/* Declared elsewhere + + PyAPI_FUNC(int) PyCallable_Check(PyObject *o); + + Determine if the object, o, is callable. Return 1 if the object is callable + and 0 otherwise. + + This function always succeeds. */ + + +#ifdef PY_SSIZE_T_CLEAN +# define PyObject_CallFunction _PyObject_CallFunction_SizeT +# define PyObject_CallMethod _PyObject_CallMethod_SizeT +#endif + + +#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x03090000 +/* Call a callable Python object without any arguments */ +PyAPI_FUNC(PyObject *) PyObject_CallNoArgs(PyObject *func); +#endif + + +/* Call a callable Python object 'callable' with arguments given by the + tuple 'args' and keywords arguments given by the dictionary 'kwargs'. + + 'args' must not be NULL, use an empty tuple if no arguments are + needed. If no named arguments are needed, 'kwargs' can be NULL. + + This is the equivalent of the Python expression: + callable(*args, **kwargs). */ +PyAPI_FUNC(PyObject *) PyObject_Call(PyObject *callable, + PyObject *args, PyObject *kwargs); + + +/* Call a callable Python object 'callable', with arguments given by the + tuple 'args'. If no arguments are needed, then 'args' can be NULL. + + Returns the result of the call on success, or NULL on failure. + + This is the equivalent of the Python expression: + callable(*args). */ +PyAPI_FUNC(PyObject *) PyObject_CallObject(PyObject *callable, + PyObject *args); + +/* Call a callable Python object, callable, with a variable number of C + arguments. The C arguments are described using a mkvalue-style format + string. + + The format may be NULL, indicating that no arguments are provided. + + Returns the result of the call on success, or NULL on failure. + + This is the equivalent of the Python expression: + callable(arg1, arg2, ...). */ +PyAPI_FUNC(PyObject *) PyObject_CallFunction(PyObject *callable, + const char *format, ...); + +/* Call the method named 'name' of object 'obj' with a variable number of + C arguments. The C arguments are described by a mkvalue format string. + + The format can be NULL, indicating that no arguments are provided. + + Returns the result of the call on success, or NULL on failure. + + This is the equivalent of the Python expression: + obj.name(arg1, arg2, ...). */ +PyAPI_FUNC(PyObject *) PyObject_CallMethod(PyObject *obj, + const char *name, + const char *format, ...); + +PyAPI_FUNC(PyObject *) _PyObject_CallFunction_SizeT(PyObject *callable, + const char *format, + ...); + +PyAPI_FUNC(PyObject *) _PyObject_CallMethod_SizeT(PyObject *obj, + const char *name, + const char *format, + ...); + +/* Call a callable Python object 'callable' with a variable number of C + arguments. The C arguments are provided as PyObject* values, terminated + by a NULL. + + Returns the result of the call on success, or NULL on failure. + + This is the equivalent of the Python expression: + callable(arg1, arg2, ...). */ +PyAPI_FUNC(PyObject *) PyObject_CallFunctionObjArgs(PyObject *callable, + ...); + +/* Call the method named 'name' of object 'obj' with a variable number of + C arguments. The C arguments are provided as PyObject* values, terminated + by NULL. + + Returns the result of the call on success, or NULL on failure. + + This is the equivalent of the Python expression: obj.name(*args). */ + +PyAPI_FUNC(PyObject *) PyObject_CallMethodObjArgs( + PyObject *obj, + PyObject *name, + ...); + + +/* Implemented elsewhere: + + Py_hash_t PyObject_Hash(PyObject *o); + + Compute and return the hash, hash_value, of an object, o. On + failure, return -1. + + This is the equivalent of the Python expression: hash(o). */ + + +/* Implemented elsewhere: + + int PyObject_IsTrue(PyObject *o); + + Returns 1 if the object, o, is considered to be true, 0 if o is + considered to be false and -1 on failure. + + This is equivalent to the Python expression: not not o. */ + + +/* Implemented elsewhere: + + int PyObject_Not(PyObject *o); + + Returns 0 if the object, o, is considered to be true, 1 if o is + considered to be false and -1 on failure. + + This is equivalent to the Python expression: not o. */ + + +/* Get the type of an object. + + On success, returns a type object corresponding to the object type of object + 'o'. On failure, returns NULL. + + This is equivalent to the Python expression: type(o) */ +PyAPI_FUNC(PyObject *) PyObject_Type(PyObject *o); + + +/* Return the size of object 'o'. If the object 'o' provides both sequence and + mapping protocols, the sequence size is returned. + + On error, -1 is returned. + + This is the equivalent to the Python expression: len(o) */ +PyAPI_FUNC(Py_ssize_t) PyObject_Size(PyObject *o); + + +/* For DLL compatibility */ +#undef PyObject_Length +PyAPI_FUNC(Py_ssize_t) PyObject_Length(PyObject *o); +#define PyObject_Length PyObject_Size + +/* Return element of 'o' corresponding to the object 'key'. Return NULL + on failure. + + This is the equivalent of the Python expression: o[key] */ +PyAPI_FUNC(PyObject *) PyObject_GetItem(PyObject *o, PyObject *key); + + +/* Map the object 'key' to the value 'v' into 'o'. + + Raise an exception and return -1 on failure; return 0 on success. + + This is the equivalent of the Python statement: o[key]=v. */ +PyAPI_FUNC(int) PyObject_SetItem(PyObject *o, PyObject *key, PyObject *v); + +/* Remove the mapping for the string 'key' from the object 'o'. + Returns -1 on failure. + + This is equivalent to the Python statement: del o[key]. */ +PyAPI_FUNC(int) PyObject_DelItemString(PyObject *o, const char *key); + +/* Delete the mapping for the object 'key' from the object 'o'. + Returns -1 on failure. + + This is the equivalent of the Python statement: del o[key]. */ +PyAPI_FUNC(int) PyObject_DelItem(PyObject *o, PyObject *key); + + +/* === Old Buffer API ============================================ */ + +/* FIXME: usage of these should all be replaced in Python itself + but for backwards compatibility we will implement them. + Their usage without a corresponding "unlock" mechanism + may create issues (but they would already be there). */ + +/* Takes an arbitrary object which must support the (character, single segment) + buffer interface and returns a pointer to a read-only memory location + usable as character based input for subsequent processing. + + Return 0 on success. buffer and buffer_len are only set in case no error + occurs. Otherwise, -1 is returned and an exception set. */ +Py_DEPRECATED(3.0) +PyAPI_FUNC(int) PyObject_AsCharBuffer(PyObject *obj, + const char **buffer, + Py_ssize_t *buffer_len); + +/* Checks whether an arbitrary object supports the (character, single segment) + buffer interface. + + Returns 1 on success, 0 on failure. */ +Py_DEPRECATED(3.0) PyAPI_FUNC(int) PyObject_CheckReadBuffer(PyObject *obj); + +/* Same as PyObject_AsCharBuffer() except that this API expects (readable, + single segment) buffer interface and returns a pointer to a read-only memory + location which can contain arbitrary data. + + 0 is returned on success. buffer and buffer_len are only set in case no + error occurs. Otherwise, -1 is returned and an exception set. */ +Py_DEPRECATED(3.0) +PyAPI_FUNC(int) PyObject_AsReadBuffer(PyObject *obj, + const void **buffer, + Py_ssize_t *buffer_len); + +/* Takes an arbitrary object which must support the (writable, single segment) + buffer interface and returns a pointer to a writable memory location in + buffer of size 'buffer_len'. + + Return 0 on success. buffer and buffer_len are only set in case no error + occurs. Otherwise, -1 is returned and an exception set. */ +Py_DEPRECATED(3.0) +PyAPI_FUNC(int) PyObject_AsWriteBuffer(PyObject *obj, + void **buffer, + Py_ssize_t *buffer_len); + + +/* === New Buffer API ============================================ */ + +/* Takes an arbitrary object and returns the result of calling + obj.__format__(format_spec). */ +PyAPI_FUNC(PyObject *) PyObject_Format(PyObject *obj, + PyObject *format_spec); + + +/* ==== Iterators ================================================ */ + +/* Takes an object and returns an iterator for it. + This is typically a new iterator but if the argument is an iterator, this + returns itself. */ +PyAPI_FUNC(PyObject *) PyObject_GetIter(PyObject *); + +/* Takes an AsyncIterable object and returns an AsyncIterator for it. + This is typically a new iterator but if the argument is an AsyncIterator, + this returns itself. */ +PyAPI_FUNC(PyObject *) PyObject_GetAIter(PyObject *); + +/* Returns non-zero if the object 'obj' provides iterator protocols, and 0 otherwise. + + This function always succeeds. */ +PyAPI_FUNC(int) PyIter_Check(PyObject *); + +/* Returns non-zero if the object 'obj' provides AsyncIterator protocols, and 0 otherwise. + + This function always succeeds. */ +PyAPI_FUNC(int) PyAIter_Check(PyObject *); + +/* Takes an iterator object and calls its tp_iternext slot, + returning the next value. + + If the iterator is exhausted, this returns NULL without setting an + exception. + + NULL with an exception means an error occurred. */ +PyAPI_FUNC(PyObject *) PyIter_Next(PyObject *); + +#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x030A0000 + +/* Takes generator, coroutine or iterator object and sends the value into it. + Returns: + - PYGEN_RETURN (0) if generator has returned. + 'result' parameter is filled with return value + - PYGEN_ERROR (-1) if exception was raised. + 'result' parameter is NULL + - PYGEN_NEXT (1) if generator has yielded. + 'result' parameter is filled with yielded value. */ +PyAPI_FUNC(PySendResult) PyIter_Send(PyObject *, PyObject *, PyObject **); +#endif + + +/* === Number Protocol ================================================== */ + +/* Returns 1 if the object 'o' provides numeric protocols, and 0 otherwise. + + This function always succeeds. */ +PyAPI_FUNC(int) PyNumber_Check(PyObject *o); + +/* Returns the result of adding o1 and o2, or NULL on failure. + + This is the equivalent of the Python expression: o1 + o2. */ +PyAPI_FUNC(PyObject *) PyNumber_Add(PyObject *o1, PyObject *o2); + +/* Returns the result of subtracting o2 from o1, or NULL on failure. + + This is the equivalent of the Python expression: o1 - o2. */ +PyAPI_FUNC(PyObject *) PyNumber_Subtract(PyObject *o1, PyObject *o2); + +/* Returns the result of multiplying o1 and o2, or NULL on failure. + + This is the equivalent of the Python expression: o1 * o2. */ +PyAPI_FUNC(PyObject *) PyNumber_Multiply(PyObject *o1, PyObject *o2); + +#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x03050000 +/* This is the equivalent of the Python expression: o1 @ o2. */ +PyAPI_FUNC(PyObject *) PyNumber_MatrixMultiply(PyObject *o1, PyObject *o2); +#endif + +/* Returns the result of dividing o1 by o2 giving an integral result, + or NULL on failure. + + This is the equivalent of the Python expression: o1 // o2. */ +PyAPI_FUNC(PyObject *) PyNumber_FloorDivide(PyObject *o1, PyObject *o2); + +/* Returns the result of dividing o1 by o2 giving a float result, or NULL on + failure. + + This is the equivalent of the Python expression: o1 / o2. */ +PyAPI_FUNC(PyObject *) PyNumber_TrueDivide(PyObject *o1, PyObject *o2); + +/* Returns the remainder of dividing o1 by o2, or NULL on failure. + + This is the equivalent of the Python expression: o1 % o2. */ +PyAPI_FUNC(PyObject *) PyNumber_Remainder(PyObject *o1, PyObject *o2); + +/* See the built-in function divmod. + + Returns NULL on failure. + + This is the equivalent of the Python expression: divmod(o1, o2). */ +PyAPI_FUNC(PyObject *) PyNumber_Divmod(PyObject *o1, PyObject *o2); + +/* See the built-in function pow. Returns NULL on failure. + + This is the equivalent of the Python expression: pow(o1, o2, o3), + where o3 is optional. */ +PyAPI_FUNC(PyObject *) PyNumber_Power(PyObject *o1, PyObject *o2, + PyObject *o3); + +/* Returns the negation of o on success, or NULL on failure. + + This is the equivalent of the Python expression: -o. */ +PyAPI_FUNC(PyObject *) PyNumber_Negative(PyObject *o); + +/* Returns the positive of o on success, or NULL on failure. + + This is the equivalent of the Python expression: +o. */ +PyAPI_FUNC(PyObject *) PyNumber_Positive(PyObject *o); + +/* Returns the absolute value of 'o', or NULL on failure. + + This is the equivalent of the Python expression: abs(o). */ +PyAPI_FUNC(PyObject *) PyNumber_Absolute(PyObject *o); + +/* Returns the bitwise negation of 'o' on success, or NULL on failure. + + This is the equivalent of the Python expression: ~o. */ +PyAPI_FUNC(PyObject *) PyNumber_Invert(PyObject *o); + +/* Returns the result of left shifting o1 by o2 on success, or NULL on failure. + + This is the equivalent of the Python expression: o1 << o2. */ +PyAPI_FUNC(PyObject *) PyNumber_Lshift(PyObject *o1, PyObject *o2); + +/* Returns the result of right shifting o1 by o2 on success, or NULL on + failure. + + This is the equivalent of the Python expression: o1 >> o2. */ +PyAPI_FUNC(PyObject *) PyNumber_Rshift(PyObject *o1, PyObject *o2); + +/* Returns the result of bitwise and of o1 and o2 on success, or NULL on + failure. + + This is the equivalent of the Python expression: o1 & o2. */ +PyAPI_FUNC(PyObject *) PyNumber_And(PyObject *o1, PyObject *o2); + +/* Returns the bitwise exclusive or of o1 by o2 on success, or NULL on failure. + + This is the equivalent of the Python expression: o1 ^ o2. */ +PyAPI_FUNC(PyObject *) PyNumber_Xor(PyObject *o1, PyObject *o2); + +/* Returns the result of bitwise or on o1 and o2 on success, or NULL on + failure. + + This is the equivalent of the Python expression: o1 | o2. */ +PyAPI_FUNC(PyObject *) PyNumber_Or(PyObject *o1, PyObject *o2); + +/* Returns 1 if obj is an index integer (has the nb_index slot of the + tp_as_number structure filled in), and 0 otherwise. */ +PyAPI_FUNC(int) PyIndex_Check(PyObject *); + +/* Returns the object 'o' converted to a Python int, or NULL with an exception + raised on failure. */ +PyAPI_FUNC(PyObject *) PyNumber_Index(PyObject *o); + +/* Returns the object 'o' converted to Py_ssize_t by going through + PyNumber_Index() first. + + If an overflow error occurs while converting the int to Py_ssize_t, then the + second argument 'exc' is the error-type to return. If it is NULL, then the + overflow error is cleared and the value is clipped. */ +PyAPI_FUNC(Py_ssize_t) PyNumber_AsSsize_t(PyObject *o, PyObject *exc); + +/* Returns the object 'o' converted to an integer object on success, or NULL + on failure. + + This is the equivalent of the Python expression: int(o). */ +PyAPI_FUNC(PyObject *) PyNumber_Long(PyObject *o); + +/* Returns the object 'o' converted to a float object on success, or NULL + on failure. + + This is the equivalent of the Python expression: float(o). */ +PyAPI_FUNC(PyObject *) PyNumber_Float(PyObject *o); + + +/* --- In-place variants of (some of) the above number protocol functions -- */ + +/* Returns the result of adding o2 to o1, possibly in-place, or NULL + on failure. + + This is the equivalent of the Python expression: o1 += o2. */ +PyAPI_FUNC(PyObject *) PyNumber_InPlaceAdd(PyObject *o1, PyObject *o2); + +/* Returns the result of subtracting o2 from o1, possibly in-place or + NULL on failure. + + This is the equivalent of the Python expression: o1 -= o2. */ +PyAPI_FUNC(PyObject *) PyNumber_InPlaceSubtract(PyObject *o1, PyObject *o2); + +/* Returns the result of multiplying o1 by o2, possibly in-place, or NULL on + failure. + + This is the equivalent of the Python expression: o1 *= o2. */ +PyAPI_FUNC(PyObject *) PyNumber_InPlaceMultiply(PyObject *o1, PyObject *o2); + +#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x03050000 +/* This is the equivalent of the Python expression: o1 @= o2. */ +PyAPI_FUNC(PyObject *) PyNumber_InPlaceMatrixMultiply(PyObject *o1, PyObject *o2); +#endif + +/* Returns the result of dividing o1 by o2 giving an integral result, possibly + in-place, or NULL on failure. + + This is the equivalent of the Python expression: o1 /= o2. */ +PyAPI_FUNC(PyObject *) PyNumber_InPlaceFloorDivide(PyObject *o1, + PyObject *o2); + +/* Returns the result of dividing o1 by o2 giving a float result, possibly + in-place, or null on failure. + + This is the equivalent of the Python expression: o1 /= o2. */ +PyAPI_FUNC(PyObject *) PyNumber_InPlaceTrueDivide(PyObject *o1, + PyObject *o2); + +/* Returns the remainder of dividing o1 by o2, possibly in-place, or NULL on + failure. + + This is the equivalent of the Python expression: o1 %= o2. */ +PyAPI_FUNC(PyObject *) PyNumber_InPlaceRemainder(PyObject *o1, PyObject *o2); + +/* Returns the result of raising o1 to the power of o2, possibly in-place, + or NULL on failure. + + This is the equivalent of the Python expression: o1 **= o2, + or o1 = pow(o1, o2, o3) if o3 is present. */ +PyAPI_FUNC(PyObject *) PyNumber_InPlacePower(PyObject *o1, PyObject *o2, + PyObject *o3); + +/* Returns the result of left shifting o1 by o2, possibly in-place, or NULL + on failure. + + This is the equivalent of the Python expression: o1 <<= o2. */ +PyAPI_FUNC(PyObject *) PyNumber_InPlaceLshift(PyObject *o1, PyObject *o2); + +/* Returns the result of right shifting o1 by o2, possibly in-place or NULL + on failure. + + This is the equivalent of the Python expression: o1 >>= o2. */ +PyAPI_FUNC(PyObject *) PyNumber_InPlaceRshift(PyObject *o1, PyObject *o2); + +/* Returns the result of bitwise and of o1 and o2, possibly in-place, or NULL + on failure. + + This is the equivalent of the Python expression: o1 &= o2. */ +PyAPI_FUNC(PyObject *) PyNumber_InPlaceAnd(PyObject *o1, PyObject *o2); + +/* Returns the bitwise exclusive or of o1 by o2, possibly in-place, or NULL + on failure. + + This is the equivalent of the Python expression: o1 ^= o2. */ +PyAPI_FUNC(PyObject *) PyNumber_InPlaceXor(PyObject *o1, PyObject *o2); + +/* Returns the result of bitwise or of o1 and o2, possibly in-place, + or NULL on failure. + + This is the equivalent of the Python expression: o1 |= o2. */ +PyAPI_FUNC(PyObject *) PyNumber_InPlaceOr(PyObject *o1, PyObject *o2); + +/* Returns the integer n converted to a string with a base, with a base + marker of 0b, 0o or 0x prefixed if applicable. + + If n is not an int object, it is converted with PyNumber_Index first. */ +PyAPI_FUNC(PyObject *) PyNumber_ToBase(PyObject *n, int base); + + +/* === Sequence protocol ================================================ */ + +/* Return 1 if the object provides sequence protocol, and zero + otherwise. + + This function always succeeds. */ +PyAPI_FUNC(int) PySequence_Check(PyObject *o); + +/* Return the size of sequence object o, or -1 on failure. */ +PyAPI_FUNC(Py_ssize_t) PySequence_Size(PyObject *o); + +/* For DLL compatibility */ +#undef PySequence_Length +PyAPI_FUNC(Py_ssize_t) PySequence_Length(PyObject *o); +#define PySequence_Length PySequence_Size + + +/* Return the concatenation of o1 and o2 on success, and NULL on failure. + + This is the equivalent of the Python expression: o1 + o2. */ +PyAPI_FUNC(PyObject *) PySequence_Concat(PyObject *o1, PyObject *o2); + +/* Return the result of repeating sequence object 'o' 'count' times, + or NULL on failure. + + This is the equivalent of the Python expression: o * count. */ +PyAPI_FUNC(PyObject *) PySequence_Repeat(PyObject *o, Py_ssize_t count); + +/* Return the ith element of o, or NULL on failure. + + This is the equivalent of the Python expression: o[i]. */ +PyAPI_FUNC(PyObject *) PySequence_GetItem(PyObject *o, Py_ssize_t i); + +/* Return the slice of sequence object o between i1 and i2, or NULL on failure. + + This is the equivalent of the Python expression: o[i1:i2]. */ +PyAPI_FUNC(PyObject *) PySequence_GetSlice(PyObject *o, Py_ssize_t i1, Py_ssize_t i2); + +/* Assign object 'v' to the ith element of the sequence 'o'. Raise an exception + and return -1 on failure; return 0 on success. + + This is the equivalent of the Python statement o[i] = v. */ +PyAPI_FUNC(int) PySequence_SetItem(PyObject *o, Py_ssize_t i, PyObject *v); + +/* Delete the 'i'-th element of the sequence 'v'. Returns -1 on failure. + + This is the equivalent of the Python statement: del o[i]. */ +PyAPI_FUNC(int) PySequence_DelItem(PyObject *o, Py_ssize_t i); + +/* Assign the sequence object 'v' to the slice in sequence object 'o', + from 'i1' to 'i2'. Returns -1 on failure. + + This is the equivalent of the Python statement: o[i1:i2] = v. */ +PyAPI_FUNC(int) PySequence_SetSlice(PyObject *o, Py_ssize_t i1, Py_ssize_t i2, + PyObject *v); + +/* Delete the slice in sequence object 'o' from 'i1' to 'i2'. + Returns -1 on failure. + + This is the equivalent of the Python statement: del o[i1:i2]. */ +PyAPI_FUNC(int) PySequence_DelSlice(PyObject *o, Py_ssize_t i1, Py_ssize_t i2); + +/* Returns the sequence 'o' as a tuple on success, and NULL on failure. + + This is equivalent to the Python expression: tuple(o). */ +PyAPI_FUNC(PyObject *) PySequence_Tuple(PyObject *o); + +/* Returns the sequence 'o' as a list on success, and NULL on failure. + This is equivalent to the Python expression: list(o) */ +PyAPI_FUNC(PyObject *) PySequence_List(PyObject *o); + +/* Return the sequence 'o' as a list, unless it's already a tuple or list. + + Use PySequence_Fast_GET_ITEM to access the members of this list, and + PySequence_Fast_GET_SIZE to get its length. + + Returns NULL on failure. If the object does not support iteration, raises a + TypeError exception with 'm' as the message text. */ +PyAPI_FUNC(PyObject *) PySequence_Fast(PyObject *o, const char* m); + +/* Return the size of the sequence 'o', assuming that 'o' was returned by + PySequence_Fast and is not NULL. */ +#define PySequence_Fast_GET_SIZE(o) \ + (PyList_Check(o) ? PyList_GET_SIZE(o) : PyTuple_GET_SIZE(o)) + +/* Return the 'i'-th element of the sequence 'o', assuming that o was returned + by PySequence_Fast, and that i is within bounds. */ +#define PySequence_Fast_GET_ITEM(o, i)\ + (PyList_Check(o) ? PyList_GET_ITEM(o, i) : PyTuple_GET_ITEM(o, i)) + +/* Return a pointer to the underlying item array for + an object returned by PySequence_Fast */ +#define PySequence_Fast_ITEMS(sf) \ + (PyList_Check(sf) ? ((PyListObject *)(sf))->ob_item \ + : ((PyTupleObject *)(sf))->ob_item) + +/* Return the number of occurrences on value on 'o', that is, return + the number of keys for which o[key] == value. + + On failure, return -1. This is equivalent to the Python expression: + o.count(value). */ +PyAPI_FUNC(Py_ssize_t) PySequence_Count(PyObject *o, PyObject *value); + +/* Return 1 if 'ob' is in the sequence 'seq'; 0 if 'ob' is not in the sequence + 'seq'; -1 on error. + + Use __contains__ if possible, else _PySequence_IterSearch(). */ +PyAPI_FUNC(int) PySequence_Contains(PyObject *seq, PyObject *ob); + +/* For DLL-level backwards compatibility */ +#undef PySequence_In +/* Determine if the sequence 'o' contains 'value'. If an item in 'o' is equal + to 'value', return 1, otherwise return 0. On error, return -1. + + This is equivalent to the Python expression: value in o. */ +PyAPI_FUNC(int) PySequence_In(PyObject *o, PyObject *value); + +/* For source-level backwards compatibility */ +#define PySequence_In PySequence_Contains + + +/* Return the first index for which o[i] == value. + On error, return -1. + + This is equivalent to the Python expression: o.index(value). */ +PyAPI_FUNC(Py_ssize_t) PySequence_Index(PyObject *o, PyObject *value); + + +/* --- In-place versions of some of the above Sequence functions --- */ + +/* Append sequence 'o2' to sequence 'o1', in-place when possible. Return the + resulting object, which could be 'o1', or NULL on failure. + + This is the equivalent of the Python expression: o1 += o2. */ +PyAPI_FUNC(PyObject *) PySequence_InPlaceConcat(PyObject *o1, PyObject *o2); + +/* Repeat sequence 'o' by 'count', in-place when possible. Return the resulting + object, which could be 'o', or NULL on failure. + + This is the equivalent of the Python expression: o1 *= count. */ +PyAPI_FUNC(PyObject *) PySequence_InPlaceRepeat(PyObject *o, Py_ssize_t count); + + +/* === Mapping protocol ================================================= */ + +/* Return 1 if the object provides mapping protocol, and 0 otherwise. + + This function always succeeds. */ +PyAPI_FUNC(int) PyMapping_Check(PyObject *o); + +/* Returns the number of keys in mapping object 'o' on success, and -1 on + failure. This is equivalent to the Python expression: len(o). */ +PyAPI_FUNC(Py_ssize_t) PyMapping_Size(PyObject *o); + +/* For DLL compatibility */ +#undef PyMapping_Length +PyAPI_FUNC(Py_ssize_t) PyMapping_Length(PyObject *o); +#define PyMapping_Length PyMapping_Size + + +/* Implemented as a macro: + + int PyMapping_DelItemString(PyObject *o, const char *key); + + Remove the mapping for the string 'key' from the mapping 'o'. Returns -1 on + failure. + + This is equivalent to the Python statement: del o[key]. */ +#define PyMapping_DelItemString(O,K) PyObject_DelItemString((O),(K)) + +/* Implemented as a macro: + + int PyMapping_DelItem(PyObject *o, PyObject *key); + + Remove the mapping for the object 'key' from the mapping object 'o'. + Returns -1 on failure. + + This is equivalent to the Python statement: del o[key]. */ +#define PyMapping_DelItem(O,K) PyObject_DelItem((O),(K)) + +/* On success, return 1 if the mapping object 'o' has the key 'key', + and 0 otherwise. + + This is equivalent to the Python expression: key in o. + + This function always succeeds. */ +PyAPI_FUNC(int) PyMapping_HasKeyString(PyObject *o, const char *key); + +/* Return 1 if the mapping object has the key 'key', and 0 otherwise. + + This is equivalent to the Python expression: key in o. + + This function always succeeds. */ +PyAPI_FUNC(int) PyMapping_HasKey(PyObject *o, PyObject *key); + +/* On success, return a list or tuple of the keys in mapping object 'o'. + On failure, return NULL. */ +PyAPI_FUNC(PyObject *) PyMapping_Keys(PyObject *o); + +/* On success, return a list or tuple of the values in mapping object 'o'. + On failure, return NULL. */ +PyAPI_FUNC(PyObject *) PyMapping_Values(PyObject *o); + +/* On success, return a list or tuple of the items in mapping object 'o', + where each item is a tuple containing a key-value pair. On failure, return + NULL. */ +PyAPI_FUNC(PyObject *) PyMapping_Items(PyObject *o); + +/* Return element of 'o' corresponding to the string 'key' or NULL on failure. + + This is the equivalent of the Python expression: o[key]. */ +PyAPI_FUNC(PyObject *) PyMapping_GetItemString(PyObject *o, + const char *key); + +/* Map the string 'key' to the value 'v' in the mapping 'o'. + Returns -1 on failure. + + This is the equivalent of the Python statement: o[key]=v. */ +PyAPI_FUNC(int) PyMapping_SetItemString(PyObject *o, const char *key, + PyObject *value); + +/* isinstance(object, typeorclass) */ +PyAPI_FUNC(int) PyObject_IsInstance(PyObject *object, PyObject *typeorclass); + +/* issubclass(object, typeorclass) */ +PyAPI_FUNC(int) PyObject_IsSubclass(PyObject *object, PyObject *typeorclass); + +#ifndef Py_LIMITED_API +# define Py_CPYTHON_ABSTRACTOBJECT_H +# include "cpython/abstract.h" +# undef Py_CPYTHON_ABSTRACTOBJECT_H +#endif + +#ifdef __cplusplus +} +#endif +#endif /* Py_ABSTRACTOBJECT_H */ diff --git a/_Python311_cpp/include/bltinmodule.h b/_Pre_Builds/_Python310_cpp/include/bltinmodule.h similarity index 100% rename from _Python311_cpp/include/bltinmodule.h rename to _Pre_Builds/_Python310_cpp/include/bltinmodule.h diff --git a/_Pre_Builds/_Python310_cpp/include/boolobject.h b/_Pre_Builds/_Python310_cpp/include/boolobject.h new file mode 100644 index 0000000..cda6f89 --- /dev/null +++ b/_Pre_Builds/_Python310_cpp/include/boolobject.h @@ -0,0 +1,43 @@ +/* Boolean object interface */ + +#ifndef Py_BOOLOBJECT_H +#define Py_BOOLOBJECT_H +#ifdef __cplusplus +extern "C" { +#endif + + +PyAPI_DATA(PyTypeObject) PyBool_Type; + +#define PyBool_Check(x) Py_IS_TYPE(x, &PyBool_Type) + +/* Py_False and Py_True are the only two bools in existence. +Don't forget to apply Py_INCREF() when returning either!!! */ + +/* Don't use these directly */ +PyAPI_DATA(struct _longobject) _Py_FalseStruct; +PyAPI_DATA(struct _longobject) _Py_TrueStruct; + +/* Use these macros */ +#define Py_False ((PyObject *) &_Py_FalseStruct) +#define Py_True ((PyObject *) &_Py_TrueStruct) + +// Test if an object is the True singleton, the same as "x is True" in Python. +PyAPI_FUNC(int) Py_IsTrue(PyObject *x); +#define Py_IsTrue(x) Py_Is((x), Py_True) + +// Test if an object is the False singleton, the same as "x is False" in Python. +PyAPI_FUNC(int) Py_IsFalse(PyObject *x); +#define Py_IsFalse(x) Py_Is((x), Py_False) + +/* Macros for returning Py_True or Py_False, respectively */ +#define Py_RETURN_TRUE return Py_NewRef(Py_True) +#define Py_RETURN_FALSE return Py_NewRef(Py_False) + +/* Function to return a bool from a C long */ +PyAPI_FUNC(PyObject *) PyBool_FromLong(long); + +#ifdef __cplusplus +} +#endif +#endif /* !Py_BOOLOBJECT_H */ diff --git a/_Pre_Builds/_Python310_cpp/include/bytearrayobject.h b/_Pre_Builds/_Python310_cpp/include/bytearrayobject.h new file mode 100644 index 0000000..9e95433 --- /dev/null +++ b/_Pre_Builds/_Python310_cpp/include/bytearrayobject.h @@ -0,0 +1,46 @@ +/* ByteArray object interface */ + +#ifndef Py_BYTEARRAYOBJECT_H +#define Py_BYTEARRAYOBJECT_H +#ifdef __cplusplus +extern "C" { +#endif + +#include + +/* Type PyByteArrayObject represents a mutable array of bytes. + * The Python API is that of a sequence; + * the bytes are mapped to ints in [0, 256). + * Bytes are not characters; they may be used to encode characters. + * The only way to go between bytes and str/unicode is via encoding + * and decoding. + * For the convenience of C programmers, the bytes type is considered + * to contain a char pointer, not an unsigned char pointer. + */ + +/* Type object */ +PyAPI_DATA(PyTypeObject) PyByteArray_Type; +PyAPI_DATA(PyTypeObject) PyByteArrayIter_Type; + +/* Type check macros */ +#define PyByteArray_Check(self) PyObject_TypeCheck(self, &PyByteArray_Type) +#define PyByteArray_CheckExact(self) Py_IS_TYPE(self, &PyByteArray_Type) + +/* Direct API functions */ +PyAPI_FUNC(PyObject *) PyByteArray_FromObject(PyObject *); +PyAPI_FUNC(PyObject *) PyByteArray_Concat(PyObject *, PyObject *); +PyAPI_FUNC(PyObject *) PyByteArray_FromStringAndSize(const char *, Py_ssize_t); +PyAPI_FUNC(Py_ssize_t) PyByteArray_Size(PyObject *); +PyAPI_FUNC(char *) PyByteArray_AsString(PyObject *); +PyAPI_FUNC(int) PyByteArray_Resize(PyObject *, Py_ssize_t); + +#ifndef Py_LIMITED_API +# define Py_CPYTHON_BYTEARRAYOBJECT_H +# include "cpython/bytearrayobject.h" +# undef Py_CPYTHON_BYTEARRAYOBJECT_H +#endif + +#ifdef __cplusplus +} +#endif +#endif /* !Py_BYTEARRAYOBJECT_H */ diff --git a/_Pre_Builds/_Python310_cpp/include/bytesobject.h b/_Pre_Builds/_Python310_cpp/include/bytesobject.h new file mode 100644 index 0000000..39c241a --- /dev/null +++ b/_Pre_Builds/_Python310_cpp/include/bytesobject.h @@ -0,0 +1,69 @@ + +/* Bytes object interface */ + +#ifndef Py_BYTESOBJECT_H +#define Py_BYTESOBJECT_H +#ifdef __cplusplus +extern "C" { +#endif + +#include + +/* +Type PyBytesObject represents a byte string. An extra zero byte is +reserved at the end to ensure it is zero-terminated, but a size is +present so strings with null bytes in them can be represented. This +is an immutable object type. + +There are functions to create new bytes objects, to test +an object for bytes-ness, and to get the +byte string value. The latter function returns a null pointer +if the object is not of the proper type. +There is a variant that takes an explicit size as well as a +variant that assumes a zero-terminated string. Note that none of the +functions should be applied to NULL pointer. +*/ + +PyAPI_DATA(PyTypeObject) PyBytes_Type; +PyAPI_DATA(PyTypeObject) PyBytesIter_Type; + +#define PyBytes_Check(op) \ + PyType_FastSubclass(Py_TYPE(op), Py_TPFLAGS_BYTES_SUBCLASS) +#define PyBytes_CheckExact(op) Py_IS_TYPE(op, &PyBytes_Type) + +PyAPI_FUNC(PyObject *) PyBytes_FromStringAndSize(const char *, Py_ssize_t); +PyAPI_FUNC(PyObject *) PyBytes_FromString(const char *); +PyAPI_FUNC(PyObject *) PyBytes_FromObject(PyObject *); +PyAPI_FUNC(PyObject *) PyBytes_FromFormatV(const char*, va_list) + Py_GCC_ATTRIBUTE((format(printf, 1, 0))); +PyAPI_FUNC(PyObject *) PyBytes_FromFormat(const char*, ...) + Py_GCC_ATTRIBUTE((format(printf, 1, 2))); +PyAPI_FUNC(Py_ssize_t) PyBytes_Size(PyObject *); +PyAPI_FUNC(char *) PyBytes_AsString(PyObject *); +PyAPI_FUNC(PyObject *) PyBytes_Repr(PyObject *, int); +PyAPI_FUNC(void) PyBytes_Concat(PyObject **, PyObject *); +PyAPI_FUNC(void) PyBytes_ConcatAndDel(PyObject **, PyObject *); +PyAPI_FUNC(PyObject *) PyBytes_DecodeEscape(const char *, Py_ssize_t, + const char *, Py_ssize_t, + const char *); + +/* Provides access to the internal data buffer and size of a bytes object. + Passing NULL as len parameter will force the string buffer to be + 0-terminated (passing a string with embedded NUL characters will + cause an exception). */ +PyAPI_FUNC(int) PyBytes_AsStringAndSize( + PyObject *obj, /* bytes object */ + char **s, /* pointer to buffer variable */ + Py_ssize_t *len /* pointer to length variable or NULL */ + ); + +#ifndef Py_LIMITED_API +# define Py_CPYTHON_BYTESOBJECT_H +# include "cpython/bytesobject.h" +# undef Py_CPYTHON_BYTESOBJECT_H +#endif + +#ifdef __cplusplus +} +#endif +#endif /* !Py_BYTESOBJECT_H */ diff --git a/_Pre_Builds/_Python310_cpp/include/cellobject.h b/_Pre_Builds/_Python310_cpp/include/cellobject.h new file mode 100644 index 0000000..81bc784 --- /dev/null +++ b/_Pre_Builds/_Python310_cpp/include/cellobject.h @@ -0,0 +1,29 @@ +/* Cell object interface */ +#ifndef Py_LIMITED_API +#ifndef Py_CELLOBJECT_H +#define Py_CELLOBJECT_H +#ifdef __cplusplus +extern "C" { +#endif + +typedef struct { + PyObject_HEAD + PyObject *ob_ref; /* Content of the cell or NULL when empty */ +} PyCellObject; + +PyAPI_DATA(PyTypeObject) PyCell_Type; + +#define PyCell_Check(op) Py_IS_TYPE(op, &PyCell_Type) + +PyAPI_FUNC(PyObject *) PyCell_New(PyObject *); +PyAPI_FUNC(PyObject *) PyCell_Get(PyObject *); +PyAPI_FUNC(int) PyCell_Set(PyObject *, PyObject *); + +#define PyCell_GET(op) (((PyCellObject *)(op))->ob_ref) +#define PyCell_SET(op, v) ((void)(((PyCellObject *)(op))->ob_ref = v)) + +#ifdef __cplusplus +} +#endif +#endif /* !Py_TUPLEOBJECT_H */ +#endif /* Py_LIMITED_API */ diff --git a/_Pre_Builds/_Python310_cpp/include/ceval.h b/_Pre_Builds/_Python310_cpp/include/ceval.h new file mode 100644 index 0000000..0f68766 --- /dev/null +++ b/_Pre_Builds/_Python310_cpp/include/ceval.h @@ -0,0 +1,158 @@ +#ifndef Py_CEVAL_H +#define Py_CEVAL_H +#ifdef __cplusplus +extern "C" { +#endif + + +/* Interface to random parts in ceval.c */ + +/* PyEval_CallObjectWithKeywords(), PyEval_CallObject(), PyEval_CallFunction + * and PyEval_CallMethod are deprecated. Since they are officially part of the + * stable ABI (PEP 384), they must be kept for backward compatibility. + * PyObject_Call(), PyObject_CallFunction() and PyObject_CallMethod() are + * recommended to call a callable object. + */ + +Py_DEPRECATED(3.9) PyAPI_FUNC(PyObject *) PyEval_CallObjectWithKeywords( + PyObject *callable, + PyObject *args, + PyObject *kwargs); + +/* Deprecated since PyEval_CallObjectWithKeywords is deprecated */ +#define PyEval_CallObject(callable, arg) \ + PyEval_CallObjectWithKeywords(callable, arg, (PyObject *)NULL) + +Py_DEPRECATED(3.9) PyAPI_FUNC(PyObject *) PyEval_CallFunction( + PyObject *callable, const char *format, ...); +Py_DEPRECATED(3.9) PyAPI_FUNC(PyObject *) PyEval_CallMethod( + PyObject *obj, const char *name, const char *format, ...); + +PyAPI_FUNC(PyObject *) PyEval_GetBuiltins(void); +PyAPI_FUNC(PyObject *) PyEval_GetGlobals(void); +PyAPI_FUNC(PyObject *) PyEval_GetLocals(void); +PyAPI_FUNC(PyFrameObject *) PyEval_GetFrame(void); + +PyAPI_FUNC(int) Py_AddPendingCall(int (*func)(void *), void *arg); +PyAPI_FUNC(int) Py_MakePendingCalls(void); + +/* Protection against deeply nested recursive calls + + In Python 3.0, this protection has two levels: + * normal anti-recursion protection is triggered when the recursion level + exceeds the current recursion limit. It raises a RecursionError, and sets + the "overflowed" flag in the thread state structure. This flag + temporarily *disables* the normal protection; this allows cleanup code + to potentially outgrow the recursion limit while processing the + RecursionError. + * "last chance" anti-recursion protection is triggered when the recursion + level exceeds "current recursion limit + 50". By construction, this + protection can only be triggered when the "overflowed" flag is set. It + means the cleanup code has itself gone into an infinite loop, or the + RecursionError has been mistakingly ignored. When this protection is + triggered, the interpreter aborts with a Fatal Error. + + In addition, the "overflowed" flag is automatically reset when the + recursion level drops below "current recursion limit - 50". This heuristic + is meant to ensure that the normal anti-recursion protection doesn't get + disabled too long. + + Please note: this scheme has its own limitations. See: + http://mail.python.org/pipermail/python-dev/2008-August/082106.html + for some observations. +*/ +PyAPI_FUNC(void) Py_SetRecursionLimit(int); +PyAPI_FUNC(int) Py_GetRecursionLimit(void); + +PyAPI_FUNC(int) Py_EnterRecursiveCall(const char *where); +PyAPI_FUNC(void) Py_LeaveRecursiveCall(void); + +PyAPI_FUNC(const char *) PyEval_GetFuncName(PyObject *); +PyAPI_FUNC(const char *) PyEval_GetFuncDesc(PyObject *); + +PyAPI_FUNC(PyObject *) PyEval_EvalFrame(PyFrameObject *); +PyAPI_FUNC(PyObject *) PyEval_EvalFrameEx(PyFrameObject *f, int exc); + +/* Interface for threads. + + A module that plans to do a blocking system call (or something else + that lasts a long time and doesn't touch Python data) can allow other + threads to run as follows: + + ...preparations here... + Py_BEGIN_ALLOW_THREADS + ...blocking system call here... + Py_END_ALLOW_THREADS + ...interpret result here... + + The Py_BEGIN_ALLOW_THREADS/Py_END_ALLOW_THREADS pair expands to a + {}-surrounded block. + To leave the block in the middle (e.g., with return), you must insert + a line containing Py_BLOCK_THREADS before the return, e.g. + + if (...premature_exit...) { + Py_BLOCK_THREADS + PyErr_SetFromErrno(PyExc_OSError); + return NULL; + } + + An alternative is: + + Py_BLOCK_THREADS + if (...premature_exit...) { + PyErr_SetFromErrno(PyExc_OSError); + return NULL; + } + Py_UNBLOCK_THREADS + + For convenience, that the value of 'errno' is restored across + Py_END_ALLOW_THREADS and Py_BLOCK_THREADS. + + WARNING: NEVER NEST CALLS TO Py_BEGIN_ALLOW_THREADS AND + Py_END_ALLOW_THREADS!!! + + Note that not yet all candidates have been converted to use this + mechanism! +*/ + +PyAPI_FUNC(PyThreadState *) PyEval_SaveThread(void); +PyAPI_FUNC(void) PyEval_RestoreThread(PyThreadState *); + +Py_DEPRECATED(3.9) PyAPI_FUNC(int) PyEval_ThreadsInitialized(void); +Py_DEPRECATED(3.9) PyAPI_FUNC(void) PyEval_InitThreads(void); +/* PyEval_AcquireLock() and PyEval_ReleaseLock() are part of stable ABI. + * They will be removed from this header file in the future version. + * But they will be remained in ABI until Python 4.0. + */ +Py_DEPRECATED(3.2) PyAPI_FUNC(void) PyEval_AcquireLock(void); +Py_DEPRECATED(3.2) PyAPI_FUNC(void) PyEval_ReleaseLock(void); +PyAPI_FUNC(void) PyEval_AcquireThread(PyThreadState *tstate); +PyAPI_FUNC(void) PyEval_ReleaseThread(PyThreadState *tstate); + +#define Py_BEGIN_ALLOW_THREADS { \ + PyThreadState *_save; \ + _save = PyEval_SaveThread(); +#define Py_BLOCK_THREADS PyEval_RestoreThread(_save); +#define Py_UNBLOCK_THREADS _save = PyEval_SaveThread(); +#define Py_END_ALLOW_THREADS PyEval_RestoreThread(_save); \ + } + +/* Masks and values used by FORMAT_VALUE opcode. */ +#define FVC_MASK 0x3 +#define FVC_NONE 0x0 +#define FVC_STR 0x1 +#define FVC_REPR 0x2 +#define FVC_ASCII 0x3 +#define FVS_MASK 0x4 +#define FVS_HAVE_SPEC 0x4 + +#ifndef Py_LIMITED_API +# define Py_CPYTHON_CEVAL_H +# include "cpython/ceval.h" +# undef Py_CPYTHON_CEVAL_H +#endif + +#ifdef __cplusplus +} +#endif +#endif /* !Py_CEVAL_H */ diff --git a/_Pre_Builds/_Python310_cpp/include/classobject.h b/_Pre_Builds/_Python310_cpp/include/classobject.h new file mode 100644 index 0000000..1952f67 --- /dev/null +++ b/_Pre_Builds/_Python310_cpp/include/classobject.h @@ -0,0 +1,57 @@ +/* Former class object interface -- now only bound methods are here */ + +/* Revealing some structures (not for general use) */ + +#ifndef Py_LIMITED_API +#ifndef Py_CLASSOBJECT_H +#define Py_CLASSOBJECT_H +#ifdef __cplusplus +extern "C" { +#endif + +typedef struct { + PyObject_HEAD + PyObject *im_func; /* The callable object implementing the method */ + PyObject *im_self; /* The instance it is bound to */ + PyObject *im_weakreflist; /* List of weak references */ + vectorcallfunc vectorcall; +} PyMethodObject; + +PyAPI_DATA(PyTypeObject) PyMethod_Type; + +#define PyMethod_Check(op) Py_IS_TYPE(op, &PyMethod_Type) + +PyAPI_FUNC(PyObject *) PyMethod_New(PyObject *, PyObject *); + +PyAPI_FUNC(PyObject *) PyMethod_Function(PyObject *); +PyAPI_FUNC(PyObject *) PyMethod_Self(PyObject *); + +/* Macros for direct access to these values. Type checks are *not* + done, so use with care. */ +#define PyMethod_GET_FUNCTION(meth) \ + (((PyMethodObject *)meth) -> im_func) +#define PyMethod_GET_SELF(meth) \ + (((PyMethodObject *)meth) -> im_self) + +typedef struct { + PyObject_HEAD + PyObject *func; +} PyInstanceMethodObject; + +PyAPI_DATA(PyTypeObject) PyInstanceMethod_Type; + +#define PyInstanceMethod_Check(op) Py_IS_TYPE(op, &PyInstanceMethod_Type) + +PyAPI_FUNC(PyObject *) PyInstanceMethod_New(PyObject *); +PyAPI_FUNC(PyObject *) PyInstanceMethod_Function(PyObject *); + +/* Macros for direct access to these values. Type checks are *not* + done, so use with care. */ +#define PyInstanceMethod_GET_FUNCTION(meth) \ + (((PyInstanceMethodObject *)meth) -> func) + +#ifdef __cplusplus +} +#endif +#endif /* !Py_CLASSOBJECT_H */ +#endif /* Py_LIMITED_API */ diff --git a/_Pre_Builds/_Python310_cpp/include/code.h b/_Pre_Builds/_Python310_cpp/include/code.h new file mode 100644 index 0000000..b9e23eb --- /dev/null +++ b/_Pre_Builds/_Python310_cpp/include/code.h @@ -0,0 +1,20 @@ +/* Definitions for bytecode */ + +#ifndef Py_CODE_H +#define Py_CODE_H +#ifdef __cplusplus +extern "C" { +#endif + +typedef struct PyCodeObject PyCodeObject; + +#ifndef Py_LIMITED_API +# define Py_CPYTHON_CODE_H +# include "cpython/code.h" +# undef Py_CPYTHON_CODE_H +#endif + +#ifdef __cplusplus +} +#endif +#endif /* !Py_CODE_H */ diff --git a/_Python311_cpp/include/codecs.h b/_Pre_Builds/_Python310_cpp/include/codecs.h similarity index 100% rename from _Python311_cpp/include/codecs.h rename to _Pre_Builds/_Python310_cpp/include/codecs.h diff --git a/_Python311_cpp/include/compile.h b/_Pre_Builds/_Python310_cpp/include/compile.h similarity index 100% rename from _Python311_cpp/include/compile.h rename to _Pre_Builds/_Python310_cpp/include/compile.h diff --git a/_Pre_Builds/_Python310_cpp/include/complexobject.h b/_Pre_Builds/_Python310_cpp/include/complexobject.h new file mode 100644 index 0000000..9221f9c --- /dev/null +++ b/_Pre_Builds/_Python310_cpp/include/complexobject.h @@ -0,0 +1,69 @@ +/* Complex number structure */ + +#ifndef Py_COMPLEXOBJECT_H +#define Py_COMPLEXOBJECT_H +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef Py_LIMITED_API +typedef struct { + double real; + double imag; +} Py_complex; + +/* Operations on complex numbers from complexmodule.c */ + +PyAPI_FUNC(Py_complex) _Py_c_sum(Py_complex, Py_complex); +PyAPI_FUNC(Py_complex) _Py_c_diff(Py_complex, Py_complex); +PyAPI_FUNC(Py_complex) _Py_c_neg(Py_complex); +PyAPI_FUNC(Py_complex) _Py_c_prod(Py_complex, Py_complex); +PyAPI_FUNC(Py_complex) _Py_c_quot(Py_complex, Py_complex); +PyAPI_FUNC(Py_complex) _Py_c_pow(Py_complex, Py_complex); +PyAPI_FUNC(double) _Py_c_abs(Py_complex); +#endif + +/* Complex object interface */ + +/* +PyComplexObject represents a complex number with double-precision +real and imaginary parts. +*/ +#ifndef Py_LIMITED_API +typedef struct { + PyObject_HEAD + Py_complex cval; +} PyComplexObject; +#endif + +PyAPI_DATA(PyTypeObject) PyComplex_Type; + +#define PyComplex_Check(op) PyObject_TypeCheck(op, &PyComplex_Type) +#define PyComplex_CheckExact(op) Py_IS_TYPE(op, &PyComplex_Type) + +#ifndef Py_LIMITED_API +PyAPI_FUNC(PyObject *) PyComplex_FromCComplex(Py_complex); +#endif +PyAPI_FUNC(PyObject *) PyComplex_FromDoubles(double real, double imag); + +PyAPI_FUNC(double) PyComplex_RealAsDouble(PyObject *op); +PyAPI_FUNC(double) PyComplex_ImagAsDouble(PyObject *op); +#ifndef Py_LIMITED_API +PyAPI_FUNC(Py_complex) PyComplex_AsCComplex(PyObject *op); +#endif + +/* Format the object based on the format_spec, as defined in PEP 3101 + (Advanced String Formatting). */ +#ifndef Py_LIMITED_API +PyAPI_FUNC(int) _PyComplex_FormatAdvancedWriter( + _PyUnicodeWriter *writer, + PyObject *obj, + PyObject *format_spec, + Py_ssize_t start, + Py_ssize_t end); +#endif + +#ifdef __cplusplus +} +#endif +#endif /* !Py_COMPLEXOBJECT_H */ diff --git a/_Pre_Builds/_Python310_cpp/include/context.h b/_Pre_Builds/_Python310_cpp/include/context.h new file mode 100644 index 0000000..4e50070 --- /dev/null +++ b/_Pre_Builds/_Python310_cpp/include/context.h @@ -0,0 +1,81 @@ +#ifndef Py_CONTEXT_H +#define Py_CONTEXT_H +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef Py_LIMITED_API + + +PyAPI_DATA(PyTypeObject) PyContext_Type; +typedef struct _pycontextobject PyContext; + +PyAPI_DATA(PyTypeObject) PyContextVar_Type; +typedef struct _pycontextvarobject PyContextVar; + +PyAPI_DATA(PyTypeObject) PyContextToken_Type; +typedef struct _pycontexttokenobject PyContextToken; + + +#define PyContext_CheckExact(o) Py_IS_TYPE(o, &PyContext_Type) +#define PyContextVar_CheckExact(o) Py_IS_TYPE(o, &PyContextVar_Type) +#define PyContextToken_CheckExact(o) Py_IS_TYPE(o, &PyContextToken_Type) + + +PyAPI_FUNC(PyObject *) PyContext_New(void); +PyAPI_FUNC(PyObject *) PyContext_Copy(PyObject *); +PyAPI_FUNC(PyObject *) PyContext_CopyCurrent(void); + +PyAPI_FUNC(int) PyContext_Enter(PyObject *); +PyAPI_FUNC(int) PyContext_Exit(PyObject *); + + +/* Create a new context variable. + + default_value can be NULL. +*/ +PyAPI_FUNC(PyObject *) PyContextVar_New( + const char *name, PyObject *default_value); + + +/* Get a value for the variable. + + Returns -1 if an error occurred during lookup. + + Returns 0 if value either was or was not found. + + If value was found, *value will point to it. + If not, it will point to: + + - default_value, if not NULL; + - the default value of "var", if not NULL; + - NULL. + + '*value' will be a new ref, if not NULL. +*/ +PyAPI_FUNC(int) PyContextVar_Get( + PyObject *var, PyObject *default_value, PyObject **value); + + +/* Set a new value for the variable. + Returns NULL if an error occurs. +*/ +PyAPI_FUNC(PyObject *) PyContextVar_Set(PyObject *var, PyObject *value); + + +/* Reset a variable to its previous value. + Returns 0 on success, -1 on error. +*/ +PyAPI_FUNC(int) PyContextVar_Reset(PyObject *var, PyObject *token); + + +/* This method is exposed only for CPython tests. Don not use it. */ +PyAPI_FUNC(PyObject *) _PyContext_NewHamtForTests(void); + + +#endif /* !Py_LIMITED_API */ + +#ifdef __cplusplus +} +#endif +#endif /* !Py_CONTEXT_H */ diff --git a/_Pre_Builds/_Python310_cpp/include/cpython/abstract.h b/_Pre_Builds/_Python310_cpp/include/cpython/abstract.h new file mode 100644 index 0000000..db85021 --- /dev/null +++ b/_Pre_Builds/_Python310_cpp/include/cpython/abstract.h @@ -0,0 +1,373 @@ +#ifndef Py_CPYTHON_ABSTRACTOBJECT_H +# error "this header file must not be included directly" +#endif + +/* === Object Protocol ================================================== */ + +#ifdef PY_SSIZE_T_CLEAN +# define _PyObject_CallMethodId _PyObject_CallMethodId_SizeT +#endif + +/* Convert keyword arguments from the FASTCALL (stack: C array, kwnames: tuple) + format to a Python dictionary ("kwargs" dict). + + The type of kwnames keys is not checked. The final function getting + arguments is responsible to check if all keys are strings, for example using + PyArg_ParseTupleAndKeywords() or PyArg_ValidateKeywordArguments(). + + Duplicate keys are merged using the last value. If duplicate keys must raise + an exception, the caller is responsible to implement an explicit keys on + kwnames. */ +PyAPI_FUNC(PyObject *) _PyStack_AsDict( + PyObject *const *values, + PyObject *kwnames); + +/* Suggested size (number of positional arguments) for arrays of PyObject* + allocated on a C stack to avoid allocating memory on the heap memory. Such + array is used to pass positional arguments to call functions of the + PyObject_Vectorcall() family. + + The size is chosen to not abuse the C stack and so limit the risk of stack + overflow. The size is also chosen to allow using the small stack for most + function calls of the Python standard library. On 64-bit CPU, it allocates + 40 bytes on the stack. */ +#define _PY_FASTCALL_SMALL_STACK 5 + +PyAPI_FUNC(PyObject *) _Py_CheckFunctionResult( + PyThreadState *tstate, + PyObject *callable, + PyObject *result, + const char *where); + +/* === Vectorcall protocol (PEP 590) ============================= */ + +/* Call callable using tp_call. Arguments are like PyObject_Vectorcall() + or PyObject_FastCallDict() (both forms are supported), + except that nargs is plainly the number of arguments without flags. */ +PyAPI_FUNC(PyObject *) _PyObject_MakeTpCall( + PyThreadState *tstate, + PyObject *callable, + PyObject *const *args, Py_ssize_t nargs, + PyObject *keywords); + +#define PY_VECTORCALL_ARGUMENTS_OFFSET ((size_t)1 << (8 * sizeof(size_t) - 1)) + +static inline Py_ssize_t +PyVectorcall_NARGS(size_t n) +{ + return n & ~PY_VECTORCALL_ARGUMENTS_OFFSET; +} + +static inline vectorcallfunc +PyVectorcall_Function(PyObject *callable) +{ + PyTypeObject *tp; + Py_ssize_t offset; + vectorcallfunc ptr; + + assert(callable != NULL); + tp = Py_TYPE(callable); + if (!PyType_HasFeature(tp, Py_TPFLAGS_HAVE_VECTORCALL)) { + return NULL; + } + assert(PyCallable_Check(callable)); + offset = tp->tp_vectorcall_offset; + assert(offset > 0); + memcpy(&ptr, (char *) callable + offset, sizeof(ptr)); + return ptr; +} + +/* Call the callable object 'callable' with the "vectorcall" calling + convention. + + args is a C array for positional arguments. + + nargsf is the number of positional arguments plus optionally the flag + PY_VECTORCALL_ARGUMENTS_OFFSET which means that the caller is allowed to + modify args[-1]. + + kwnames is a tuple of keyword names. The values of the keyword arguments + are stored in "args" after the positional arguments (note that the number + of keyword arguments does not change nargsf). kwnames can also be NULL if + there are no keyword arguments. + + keywords must only contain strings and all keys must be unique. + + Return the result on success. Raise an exception and return NULL on + error. */ +static inline PyObject * +_PyObject_VectorcallTstate(PyThreadState *tstate, PyObject *callable, + PyObject *const *args, size_t nargsf, + PyObject *kwnames) +{ + vectorcallfunc func; + PyObject *res; + + assert(kwnames == NULL || PyTuple_Check(kwnames)); + assert(args != NULL || PyVectorcall_NARGS(nargsf) == 0); + + func = PyVectorcall_Function(callable); + if (func == NULL) { + Py_ssize_t nargs = PyVectorcall_NARGS(nargsf); + return _PyObject_MakeTpCall(tstate, callable, args, nargs, kwnames); + } + res = func(callable, args, nargsf, kwnames); + return _Py_CheckFunctionResult(tstate, callable, res, NULL); +} + +static inline PyObject * +PyObject_Vectorcall(PyObject *callable, PyObject *const *args, + size_t nargsf, PyObject *kwnames) +{ + PyThreadState *tstate = PyThreadState_Get(); + return _PyObject_VectorcallTstate(tstate, callable, + args, nargsf, kwnames); +} + +// Backwards compatibility aliases for API that was provisional in Python 3.8 +#define _PyObject_Vectorcall PyObject_Vectorcall +#define _PyObject_VectorcallMethod PyObject_VectorcallMethod +#define _PyObject_FastCallDict PyObject_VectorcallDict +#define _PyVectorcall_Function PyVectorcall_Function +#define _PyObject_CallOneArg PyObject_CallOneArg +#define _PyObject_CallMethodNoArgs PyObject_CallMethodNoArgs +#define _PyObject_CallMethodOneArg PyObject_CallMethodOneArg + +/* Same as PyObject_Vectorcall except that keyword arguments are passed as + dict, which may be NULL if there are no keyword arguments. */ +PyAPI_FUNC(PyObject *) PyObject_VectorcallDict( + PyObject *callable, + PyObject *const *args, + size_t nargsf, + PyObject *kwargs); + +/* Call "callable" (which must support vectorcall) with positional arguments + "tuple" and keyword arguments "dict". "dict" may also be NULL */ +PyAPI_FUNC(PyObject *) PyVectorcall_Call(PyObject *callable, PyObject *tuple, PyObject *dict); + +static inline PyObject * +_PyObject_FastCallTstate(PyThreadState *tstate, PyObject *func, PyObject *const *args, Py_ssize_t nargs) +{ + return _PyObject_VectorcallTstate(tstate, func, args, (size_t)nargs, NULL); +} + +/* Same as PyObject_Vectorcall except without keyword arguments */ +static inline PyObject * +_PyObject_FastCall(PyObject *func, PyObject *const *args, Py_ssize_t nargs) +{ + PyThreadState *tstate = PyThreadState_Get(); + return _PyObject_FastCallTstate(tstate, func, args, nargs); +} + +/* Call a callable without any arguments + Private static inline function variant of public function + PyObject_CallNoArgs(). */ +static inline PyObject * +_PyObject_CallNoArg(PyObject *func) { + PyThreadState *tstate = PyThreadState_Get(); + return _PyObject_VectorcallTstate(tstate, func, NULL, 0, NULL); +} + +static inline PyObject * +PyObject_CallOneArg(PyObject *func, PyObject *arg) +{ + PyObject *_args[2]; + PyObject **args; + PyThreadState *tstate; + size_t nargsf; + + assert(arg != NULL); + args = _args + 1; // For PY_VECTORCALL_ARGUMENTS_OFFSET + args[0] = arg; + tstate = PyThreadState_Get(); + nargsf = 1 | PY_VECTORCALL_ARGUMENTS_OFFSET; + return _PyObject_VectorcallTstate(tstate, func, args, nargsf, NULL); +} + +PyAPI_FUNC(PyObject *) PyObject_VectorcallMethod( + PyObject *name, PyObject *const *args, + size_t nargsf, PyObject *kwnames); + +static inline PyObject * +PyObject_CallMethodNoArgs(PyObject *self, PyObject *name) +{ + return PyObject_VectorcallMethod(name, &self, + 1 | PY_VECTORCALL_ARGUMENTS_OFFSET, NULL); +} + +static inline PyObject * +PyObject_CallMethodOneArg(PyObject *self, PyObject *name, PyObject *arg) +{ + PyObject *args[2] = {self, arg}; + + assert(arg != NULL); + return PyObject_VectorcallMethod(name, args, + 2 | PY_VECTORCALL_ARGUMENTS_OFFSET, NULL); +} + +/* Like PyObject_CallMethod(), but expect a _Py_Identifier* + as the method name. */ +PyAPI_FUNC(PyObject *) _PyObject_CallMethodId(PyObject *obj, + _Py_Identifier *name, + const char *format, ...); + +PyAPI_FUNC(PyObject *) _PyObject_CallMethodId_SizeT(PyObject *obj, + _Py_Identifier *name, + const char *format, + ...); + +PyAPI_FUNC(PyObject *) _PyObject_CallMethodIdObjArgs( + PyObject *obj, + struct _Py_Identifier *name, + ...); + +static inline PyObject * +_PyObject_VectorcallMethodId( + _Py_Identifier *name, PyObject *const *args, + size_t nargsf, PyObject *kwnames) +{ + PyObject *oname = _PyUnicode_FromId(name); /* borrowed */ + if (!oname) { + return NULL; + } + return PyObject_VectorcallMethod(oname, args, nargsf, kwnames); +} + +static inline PyObject * +_PyObject_CallMethodIdNoArgs(PyObject *self, _Py_Identifier *name) +{ + return _PyObject_VectorcallMethodId(name, &self, + 1 | PY_VECTORCALL_ARGUMENTS_OFFSET, NULL); +} + +static inline PyObject * +_PyObject_CallMethodIdOneArg(PyObject *self, _Py_Identifier *name, PyObject *arg) +{ + PyObject *args[2] = {self, arg}; + + assert(arg != NULL); + return _PyObject_VectorcallMethodId(name, args, + 2 | PY_VECTORCALL_ARGUMENTS_OFFSET, NULL); +} + +PyAPI_FUNC(int) _PyObject_HasLen(PyObject *o); + +/* Guess the size of object 'o' using len(o) or o.__length_hint__(). + If neither of those return a non-negative value, then return the default + value. If one of the calls fails, this function returns -1. */ +PyAPI_FUNC(Py_ssize_t) PyObject_LengthHint(PyObject *o, Py_ssize_t); + +/* === New Buffer API ============================================ */ + +/* Return 1 if the getbuffer function is available, otherwise return 0. */ +PyAPI_FUNC(int) PyObject_CheckBuffer(PyObject *obj); + +/* This is a C-API version of the getbuffer function call. It checks + to make sure object has the required function pointer and issues the + call. + + Returns -1 and raises an error on failure and returns 0 on success. */ +PyAPI_FUNC(int) PyObject_GetBuffer(PyObject *obj, Py_buffer *view, + int flags); + +/* Get the memory area pointed to by the indices for the buffer given. + Note that view->ndim is the assumed size of indices. */ +PyAPI_FUNC(void *) PyBuffer_GetPointer(Py_buffer *view, Py_ssize_t *indices); + +/* Return the implied itemsize of the data-format area from a + struct-style description. */ +PyAPI_FUNC(Py_ssize_t) PyBuffer_SizeFromFormat(const char *format); + +/* Implementation in memoryobject.c */ +PyAPI_FUNC(int) PyBuffer_ToContiguous(void *buf, Py_buffer *view, + Py_ssize_t len, char order); + +PyAPI_FUNC(int) PyBuffer_FromContiguous(Py_buffer *view, void *buf, + Py_ssize_t len, char order); + +/* Copy len bytes of data from the contiguous chunk of memory + pointed to by buf into the buffer exported by obj. Return + 0 on success and return -1 and raise a PyBuffer_Error on + error (i.e. the object does not have a buffer interface or + it is not working). + + If fort is 'F', then if the object is multi-dimensional, + then the data will be copied into the array in + Fortran-style (first dimension varies the fastest). If + fort is 'C', then the data will be copied into the array + in C-style (last dimension varies the fastest). If fort + is 'A', then it does not matter and the copy will be made + in whatever way is more efficient. */ +PyAPI_FUNC(int) PyObject_CopyData(PyObject *dest, PyObject *src); + +/* Copy the data from the src buffer to the buffer of destination. */ +PyAPI_FUNC(int) PyBuffer_IsContiguous(const Py_buffer *view, char fort); + +/*Fill the strides array with byte-strides of a contiguous + (Fortran-style if fort is 'F' or C-style otherwise) + array of the given shape with the given number of bytes + per element. */ +PyAPI_FUNC(void) PyBuffer_FillContiguousStrides(int ndims, + Py_ssize_t *shape, + Py_ssize_t *strides, + int itemsize, + char fort); + +/* Fills in a buffer-info structure correctly for an exporter + that can only share a contiguous chunk of memory of + "unsigned bytes" of the given length. + + Returns 0 on success and -1 (with raising an error) on error. */ +PyAPI_FUNC(int) PyBuffer_FillInfo(Py_buffer *view, PyObject *o, void *buf, + Py_ssize_t len, int readonly, + int flags); + +/* Releases a Py_buffer obtained from getbuffer ParseTuple's "s*". */ +PyAPI_FUNC(void) PyBuffer_Release(Py_buffer *view); + +/* === Sequence protocol ================================================ */ + +/* Assume tp_as_sequence and sq_item exist and that 'i' does not + need to be corrected for a negative index. */ +#define PySequence_ITEM(o, i)\ + ( Py_TYPE(o)->tp_as_sequence->sq_item(o, i) ) + +#define PY_ITERSEARCH_COUNT 1 +#define PY_ITERSEARCH_INDEX 2 +#define PY_ITERSEARCH_CONTAINS 3 + +/* Iterate over seq. + + Result depends on the operation: + + PY_ITERSEARCH_COUNT: return # of times obj appears in seq; -1 if + error. + PY_ITERSEARCH_INDEX: return 0-based index of first occurrence of + obj in seq; set ValueError and return -1 if none found; + also return -1 on error. + PY_ITERSEARCH_CONTAINS: return 1 if obj in seq, else 0; -1 on + error. */ +PyAPI_FUNC(Py_ssize_t) _PySequence_IterSearch(PyObject *seq, + PyObject *obj, int operation); + +/* === Mapping protocol ================================================= */ + +PyAPI_FUNC(int) _PyObject_RealIsInstance(PyObject *inst, PyObject *cls); + +PyAPI_FUNC(int) _PyObject_RealIsSubclass(PyObject *derived, PyObject *cls); + +PyAPI_FUNC(char *const *) _PySequence_BytesToCharpArray(PyObject* self); + +PyAPI_FUNC(void) _Py_FreeCharPArray(char *const array[]); + +/* For internal use by buffer API functions */ +PyAPI_FUNC(void) _Py_add_one_to_index_F(int nd, Py_ssize_t *index, + const Py_ssize_t *shape); +PyAPI_FUNC(void) _Py_add_one_to_index_C(int nd, Py_ssize_t *index, + const Py_ssize_t *shape); + +/* Convert Python int to Py_ssize_t. Do nothing if the argument is None. */ +PyAPI_FUNC(int) _Py_convert_optional_to_ssize_t(PyObject *, void *); + +/* Same as PyNumber_Index but can return an instance of a subclass of int. */ +PyAPI_FUNC(PyObject *) _PyNumber_Index(PyObject *o); diff --git a/_Pre_Builds/_Python310_cpp/include/cpython/bytearrayobject.h b/_Pre_Builds/_Python310_cpp/include/cpython/bytearrayobject.h new file mode 100644 index 0000000..569b0cd --- /dev/null +++ b/_Pre_Builds/_Python310_cpp/include/cpython/bytearrayobject.h @@ -0,0 +1,20 @@ +#ifndef Py_CPYTHON_BYTEARRAYOBJECT_H +# error "this header file must not be included directly" +#endif + +/* Object layout */ +typedef struct { + PyObject_VAR_HEAD + Py_ssize_t ob_alloc; /* How many bytes allocated in ob_bytes */ + char *ob_bytes; /* Physical backing buffer */ + char *ob_start; /* Logical start inside ob_bytes */ + Py_ssize_t ob_exports; /* How many buffer exports */ +} PyByteArrayObject; + +/* Macros, trading safety for speed */ +#define PyByteArray_AS_STRING(self) \ + (assert(PyByteArray_Check(self)), \ + Py_SIZE(self) ? ((PyByteArrayObject *)(self))->ob_start : _PyByteArray_empty_string) +#define PyByteArray_GET_SIZE(self) (assert(PyByteArray_Check(self)), Py_SIZE(self)) + +PyAPI_DATA(char) _PyByteArray_empty_string[]; diff --git a/_Pre_Builds/_Python310_cpp/include/cpython/bytesobject.h b/_Pre_Builds/_Python310_cpp/include/cpython/bytesobject.h new file mode 100644 index 0000000..6b3f552 --- /dev/null +++ b/_Pre_Builds/_Python310_cpp/include/cpython/bytesobject.h @@ -0,0 +1,118 @@ +#ifndef Py_CPYTHON_BYTESOBJECT_H +# error "this header file must not be included directly" +#endif + +typedef struct { + PyObject_VAR_HEAD + Py_hash_t ob_shash; + char ob_sval[1]; + + /* Invariants: + * ob_sval contains space for 'ob_size+1' elements. + * ob_sval[ob_size] == 0. + * ob_shash is the hash of the byte string or -1 if not computed yet. + */ +} PyBytesObject; + +PyAPI_FUNC(int) _PyBytes_Resize(PyObject **, Py_ssize_t); +PyAPI_FUNC(PyObject*) _PyBytes_FormatEx( + const char *format, + Py_ssize_t format_len, + PyObject *args, + int use_bytearray); +PyAPI_FUNC(PyObject*) _PyBytes_FromHex( + PyObject *string, + int use_bytearray); + +/* Helper for PyBytes_DecodeEscape that detects invalid escape chars. */ +PyAPI_FUNC(PyObject *) _PyBytes_DecodeEscape(const char *, Py_ssize_t, + const char *, const char **); + +/* Macro, trading safety for speed */ +#define PyBytes_AS_STRING(op) (assert(PyBytes_Check(op)), \ + (((PyBytesObject *)(op))->ob_sval)) +#define PyBytes_GET_SIZE(op) (assert(PyBytes_Check(op)),Py_SIZE(op)) + +/* _PyBytes_Join(sep, x) is like sep.join(x). sep must be PyBytesObject*, + x must be an iterable object. */ +PyAPI_FUNC(PyObject *) _PyBytes_Join(PyObject *sep, PyObject *x); + + +/* The _PyBytesWriter structure is big: it contains an embedded "stack buffer". + A _PyBytesWriter variable must be declared at the end of variables in a + function to optimize the memory allocation on the stack. */ +typedef struct { + /* bytes, bytearray or NULL (when the small buffer is used) */ + PyObject *buffer; + + /* Number of allocated size. */ + Py_ssize_t allocated; + + /* Minimum number of allocated bytes, + incremented by _PyBytesWriter_Prepare() */ + Py_ssize_t min_size; + + /* If non-zero, use a bytearray instead of a bytes object for buffer. */ + int use_bytearray; + + /* If non-zero, overallocate the buffer (default: 0). + This flag must be zero if use_bytearray is non-zero. */ + int overallocate; + + /* Stack buffer */ + int use_small_buffer; + char small_buffer[512]; +} _PyBytesWriter; + +/* Initialize a bytes writer + + By default, the overallocation is disabled. Set the overallocate attribute + to control the allocation of the buffer. */ +PyAPI_FUNC(void) _PyBytesWriter_Init(_PyBytesWriter *writer); + +/* Get the buffer content and reset the writer. + Return a bytes object, or a bytearray object if use_bytearray is non-zero. + Raise an exception and return NULL on error. */ +PyAPI_FUNC(PyObject *) _PyBytesWriter_Finish(_PyBytesWriter *writer, + void *str); + +/* Deallocate memory of a writer (clear its internal buffer). */ +PyAPI_FUNC(void) _PyBytesWriter_Dealloc(_PyBytesWriter *writer); + +/* Allocate the buffer to write size bytes. + Return the pointer to the beginning of buffer data. + Raise an exception and return NULL on error. */ +PyAPI_FUNC(void*) _PyBytesWriter_Alloc(_PyBytesWriter *writer, + Py_ssize_t size); + +/* Ensure that the buffer is large enough to write *size* bytes. + Add size to the writer minimum size (min_size attribute). + + str is the current pointer inside the buffer. + Return the updated current pointer inside the buffer. + Raise an exception and return NULL on error. */ +PyAPI_FUNC(void*) _PyBytesWriter_Prepare(_PyBytesWriter *writer, + void *str, + Py_ssize_t size); + +/* Resize the buffer to make it larger. + The new buffer may be larger than size bytes because of overallocation. + Return the updated current pointer inside the buffer. + Raise an exception and return NULL on error. + + Note: size must be greater than the number of allocated bytes in the writer. + + This function doesn't use the writer minimum size (min_size attribute). + + See also _PyBytesWriter_Prepare(). + */ +PyAPI_FUNC(void*) _PyBytesWriter_Resize(_PyBytesWriter *writer, + void *str, + Py_ssize_t size); + +/* Write bytes. + Raise an exception and return NULL on error. */ +PyAPI_FUNC(void*) _PyBytesWriter_WriteBytes(_PyBytesWriter *writer, + void *str, + const void *bytes, + Py_ssize_t size); diff --git a/_Pre_Builds/_Python310_cpp/include/cpython/ceval.h b/_Pre_Builds/_Python310_cpp/include/cpython/ceval.h new file mode 100644 index 0000000..0633892 --- /dev/null +++ b/_Pre_Builds/_Python310_cpp/include/cpython/ceval.h @@ -0,0 +1,30 @@ +#ifndef Py_CPYTHON_CEVAL_H +# error "this header file must not be included directly" +#endif + +PyAPI_FUNC(void) PyEval_SetProfile(Py_tracefunc, PyObject *); +PyAPI_DATA(int) _PyEval_SetProfile(PyThreadState *tstate, Py_tracefunc func, PyObject *arg); +PyAPI_FUNC(void) PyEval_SetTrace(Py_tracefunc, PyObject *); +PyAPI_FUNC(int) _PyEval_SetTrace(PyThreadState *tstate, Py_tracefunc func, PyObject *arg); +PyAPI_FUNC(int) _PyEval_GetCoroutineOriginTrackingDepth(void); +PyAPI_FUNC(int) _PyEval_SetAsyncGenFirstiter(PyObject *); +PyAPI_FUNC(PyObject *) _PyEval_GetAsyncGenFirstiter(void); +PyAPI_FUNC(int) _PyEval_SetAsyncGenFinalizer(PyObject *); +PyAPI_FUNC(PyObject *) _PyEval_GetAsyncGenFinalizer(void); + +/* Helper to look up a builtin object */ +PyAPI_FUNC(PyObject *) _PyEval_GetBuiltinId(_Py_Identifier *); +/* Look at the current frame's (if any) code's co_flags, and turn on + the corresponding compiler flags in cf->cf_flags. Return 1 if any + flag was set, else return 0. */ +PyAPI_FUNC(int) PyEval_MergeCompilerFlags(PyCompilerFlags *cf); + +PyAPI_FUNC(PyObject *) _PyEval_EvalFrameDefault(PyThreadState *tstate, PyFrameObject *f, int exc); + +PyAPI_FUNC(void) _PyEval_SetSwitchInterval(unsigned long microseconds); +PyAPI_FUNC(unsigned long) _PyEval_GetSwitchInterval(void); + +PyAPI_FUNC(Py_ssize_t) _PyEval_RequestCodeExtraIndex(freefunc); + +PyAPI_FUNC(int) _PyEval_SliceIndex(PyObject *, Py_ssize_t *); +PyAPI_FUNC(int) _PyEval_SliceIndexNotNone(PyObject *, Py_ssize_t *); diff --git a/_Pre_Builds/_Python310_cpp/include/cpython/code.h b/_Pre_Builds/_Python310_cpp/include/cpython/code.h new file mode 100644 index 0000000..fa64085 --- /dev/null +++ b/_Pre_Builds/_Python310_cpp/include/cpython/code.h @@ -0,0 +1,184 @@ +#ifndef Py_CPYTHON_CODE_H +# error "this header file must not be included directly" +#endif + +typedef uint16_t _Py_CODEUNIT; + +#ifdef WORDS_BIGENDIAN +# define _Py_OPCODE(word) ((word) >> 8) +# define _Py_OPARG(word) ((word) & 255) +#else +# define _Py_OPCODE(word) ((word) & 255) +# define _Py_OPARG(word) ((word) >> 8) +#endif + +typedef struct _PyOpcache _PyOpcache; + +/* Bytecode object */ +struct PyCodeObject { + PyObject_HEAD + int co_argcount; /* #arguments, except *args */ + int co_posonlyargcount; /* #positional only arguments */ + int co_kwonlyargcount; /* #keyword only arguments */ + int co_nlocals; /* #local variables */ + int co_stacksize; /* #entries needed for evaluation stack */ + int co_flags; /* CO_..., see below */ + int co_firstlineno; /* first source line number */ + PyObject *co_code; /* instruction opcodes */ + PyObject *co_consts; /* list (constants used) */ + PyObject *co_names; /* list of strings (names used) */ + PyObject *co_varnames; /* tuple of strings (local variable names) */ + PyObject *co_freevars; /* tuple of strings (free variable names) */ + PyObject *co_cellvars; /* tuple of strings (cell variable names) */ + /* The rest aren't used in either hash or comparisons, except for co_name, + used in both. This is done to preserve the name and line number + for tracebacks and debuggers; otherwise, constant de-duplication + would collapse identical functions/lambdas defined on different lines. + */ + Py_ssize_t *co_cell2arg; /* Maps cell vars which are arguments. */ + PyObject *co_filename; /* unicode (where it was loaded from) */ + PyObject *co_name; /* unicode (name, for reference) */ + PyObject *co_linetable; /* string (encoding addr<->lineno mapping) See + Objects/lnotab_notes.txt for details. */ + void *co_zombieframe; /* for optimization only (see frameobject.c) */ + PyObject *co_weakreflist; /* to support weakrefs to code objects */ + /* Scratch space for extra data relating to the code object. + Type is a void* to keep the format private in codeobject.c to force + people to go through the proper APIs. */ + void *co_extra; + + /* Per opcodes just-in-time cache + * + * To reduce cache size, we use indirect mapping from opcode index to + * cache object: + * cache = co_opcache[co_opcache_map[next_instr - first_instr] - 1] + */ + + // co_opcache_map is indexed by (next_instr - first_instr). + // * 0 means there is no cache for this opcode. + // * n > 0 means there is cache in co_opcache[n-1]. + unsigned char *co_opcache_map; + _PyOpcache *co_opcache; + int co_opcache_flag; // used to determine when create a cache. + unsigned char co_opcache_size; // length of co_opcache. +}; + +/* Masks for co_flags above */ +#define CO_OPTIMIZED 0x0001 +#define CO_NEWLOCALS 0x0002 +#define CO_VARARGS 0x0004 +#define CO_VARKEYWORDS 0x0008 +#define CO_NESTED 0x0010 +#define CO_GENERATOR 0x0020 +/* The CO_NOFREE flag is set if there are no free or cell variables. + This information is redundant, but it allows a single flag test + to determine whether there is any extra work to be done when the + call frame it setup. +*/ +#define CO_NOFREE 0x0040 + +/* The CO_COROUTINE flag is set for coroutine functions (defined with + ``async def`` keywords) */ +#define CO_COROUTINE 0x0080 +#define CO_ITERABLE_COROUTINE 0x0100 +#define CO_ASYNC_GENERATOR 0x0200 + +/* bpo-39562: These constant values are changed in Python 3.9 + to prevent collision with compiler flags. CO_FUTURE_ and PyCF_ + constants must be kept unique. PyCF_ constants can use bits from + 0x0100 to 0x10000. CO_FUTURE_ constants use bits starting at 0x20000. */ +#define CO_FUTURE_DIVISION 0x20000 +#define CO_FUTURE_ABSOLUTE_IMPORT 0x40000 /* do absolute imports by default */ +#define CO_FUTURE_WITH_STATEMENT 0x80000 +#define CO_FUTURE_PRINT_FUNCTION 0x100000 +#define CO_FUTURE_UNICODE_LITERALS 0x200000 + +#define CO_FUTURE_BARRY_AS_BDFL 0x400000 +#define CO_FUTURE_GENERATOR_STOP 0x800000 +#define CO_FUTURE_ANNOTATIONS 0x1000000 + +/* This value is found in the co_cell2arg array when the associated cell + variable does not correspond to an argument. */ +#define CO_CELL_NOT_AN_ARG (-1) + +/* This should be defined if a future statement modifies the syntax. + For example, when a keyword is added. +*/ +#define PY_PARSER_REQUIRES_FUTURE_KEYWORD + +#define CO_MAXBLOCKS 20 /* Max static block nesting within a function */ + +PyAPI_DATA(PyTypeObject) PyCode_Type; + +#define PyCode_Check(op) Py_IS_TYPE(op, &PyCode_Type) +#define PyCode_GetNumFree(op) (PyTuple_GET_SIZE((op)->co_freevars)) + +/* Public interface */ +PyAPI_FUNC(PyCodeObject *) PyCode_New( + int, int, int, int, int, PyObject *, PyObject *, + PyObject *, PyObject *, PyObject *, PyObject *, + PyObject *, PyObject *, int, PyObject *); + +PyAPI_FUNC(PyCodeObject *) PyCode_NewWithPosOnlyArgs( + int, int, int, int, int, int, PyObject *, PyObject *, + PyObject *, PyObject *, PyObject *, PyObject *, + PyObject *, PyObject *, int, PyObject *); + /* same as struct above */ + +/* Creates a new empty code object with the specified source location. */ +PyAPI_FUNC(PyCodeObject *) +PyCode_NewEmpty(const char *filename, const char *funcname, int firstlineno); + +/* Return the line number associated with the specified bytecode index + in this code object. If you just need the line number of a frame, + use PyFrame_GetLineNumber() instead. */ +PyAPI_FUNC(int) PyCode_Addr2Line(PyCodeObject *, int); + +/* for internal use only */ +struct _opaque { + int computed_line; + const char *lo_next; + const char *limit; +}; + +typedef struct _line_offsets { + int ar_start; + int ar_end; + int ar_line; + struct _opaque opaque; +} PyCodeAddressRange; + +/* Update *bounds to describe the first and one-past-the-last instructions in the + same line as lasti. Return the number of that line. +*/ +PyAPI_FUNC(int) _PyCode_CheckLineNumber(int lasti, PyCodeAddressRange *bounds); + +/* Create a comparable key used to compare constants taking in account the + * object type. It is used to make sure types are not coerced (e.g., float and + * complex) _and_ to distinguish 0.0 from -0.0 e.g. on IEEE platforms + * + * Return (type(obj), obj, ...): a tuple with variable size (at least 2 items) + * depending on the type and the value. The type is the first item to not + * compare bytes and str which can raise a BytesWarning exception. */ +PyAPI_FUNC(PyObject*) _PyCode_ConstantKey(PyObject *obj); + +PyAPI_FUNC(PyObject*) PyCode_Optimize(PyObject *code, PyObject* consts, + PyObject *names, PyObject *lnotab); + + +PyAPI_FUNC(int) _PyCode_GetExtra(PyObject *code, Py_ssize_t index, + void **extra); +PyAPI_FUNC(int) _PyCode_SetExtra(PyObject *code, Py_ssize_t index, + void *extra); + +/** API for initializing the line number table. */ +int _PyCode_InitAddressRange(PyCodeObject* co, PyCodeAddressRange *bounds); + +/** Out of process API for initializing the line number table. */ +void PyLineTable_InitAddressRange(const char *linetable, Py_ssize_t length, int firstlineno, PyCodeAddressRange *range); + +/** API for traversing the line number table. */ +int PyLineTable_NextAddressRange(PyCodeAddressRange *range); +int PyLineTable_PreviousAddressRange(PyCodeAddressRange *range); + + diff --git a/_Python311_cpp/include/cpython/compile.h b/_Pre_Builds/_Python310_cpp/include/cpython/compile.h similarity index 100% rename from _Python311_cpp/include/cpython/compile.h rename to _Pre_Builds/_Python310_cpp/include/cpython/compile.h diff --git a/_Pre_Builds/_Python310_cpp/include/cpython/dictobject.h b/_Pre_Builds/_Python310_cpp/include/cpython/dictobject.h new file mode 100644 index 0000000..641d7bd --- /dev/null +++ b/_Pre_Builds/_Python310_cpp/include/cpython/dictobject.h @@ -0,0 +1,84 @@ +#ifndef Py_CPYTHON_DICTOBJECT_H +# error "this header file must not be included directly" +#endif + +typedef struct _dictkeysobject PyDictKeysObject; + +/* The ma_values pointer is NULL for a combined table + * or points to an array of PyObject* for a split table + */ +typedef struct { + PyObject_HEAD + + /* Number of items in the dictionary */ + Py_ssize_t ma_used; + + /* Dictionary version: globally unique, value change each time + the dictionary is modified */ + uint64_t ma_version_tag; + + PyDictKeysObject *ma_keys; + + /* If ma_values is NULL, the table is "combined": keys and values + are stored in ma_keys. + + If ma_values is not NULL, the table is split: + keys are stored in ma_keys and values are stored in ma_values */ + PyObject **ma_values; +} PyDictObject; + +PyAPI_FUNC(PyObject *) _PyDict_GetItem_KnownHash(PyObject *mp, PyObject *key, + Py_hash_t hash); +PyAPI_FUNC(PyObject *) _PyDict_GetItemIdWithError(PyObject *dp, + struct _Py_Identifier *key); +PyAPI_FUNC(PyObject *) _PyDict_GetItemStringWithError(PyObject *, const char *); +PyAPI_FUNC(PyObject *) PyDict_SetDefault( + PyObject *mp, PyObject *key, PyObject *defaultobj); +PyAPI_FUNC(int) _PyDict_SetItem_KnownHash(PyObject *mp, PyObject *key, + PyObject *item, Py_hash_t hash); +PyAPI_FUNC(int) _PyDict_DelItem_KnownHash(PyObject *mp, PyObject *key, + Py_hash_t hash); +PyAPI_FUNC(int) _PyDict_DelItemIf(PyObject *mp, PyObject *key, + int (*predicate)(PyObject *value)); +PyDictKeysObject *_PyDict_NewKeysForClass(void); +PyAPI_FUNC(int) _PyDict_Next( + PyObject *mp, Py_ssize_t *pos, PyObject **key, PyObject **value, Py_hash_t *hash); + +/* Get the number of items of a dictionary. */ +#define PyDict_GET_SIZE(mp) (assert(PyDict_Check(mp)),((PyDictObject *)mp)->ma_used) +PyAPI_FUNC(int) _PyDict_Contains_KnownHash(PyObject *, PyObject *, Py_hash_t); +PyAPI_FUNC(int) _PyDict_ContainsId(PyObject *, struct _Py_Identifier *); +PyAPI_FUNC(PyObject *) _PyDict_NewPresized(Py_ssize_t minused); +PyAPI_FUNC(void) _PyDict_MaybeUntrack(PyObject *mp); +PyAPI_FUNC(int) _PyDict_HasOnlyStringKeys(PyObject *mp); +Py_ssize_t _PyDict_KeysSize(PyDictKeysObject *keys); +PyAPI_FUNC(Py_ssize_t) _PyDict_SizeOf(PyDictObject *); +PyAPI_FUNC(PyObject *) _PyDict_Pop(PyObject *, PyObject *, PyObject *); +PyObject *_PyDict_Pop_KnownHash(PyObject *, PyObject *, Py_hash_t, PyObject *); +PyObject *_PyDict_FromKeys(PyObject *, PyObject *, PyObject *); +#define _PyDict_HasSplitTable(d) ((d)->ma_values != NULL) + +/* Like PyDict_Merge, but override can be 0, 1 or 2. If override is 0, + the first occurrence of a key wins, if override is 1, the last occurrence + of a key wins, if override is 2, a KeyError with conflicting key as + argument is raised. +*/ +PyAPI_FUNC(int) _PyDict_MergeEx(PyObject *mp, PyObject *other, int override); +PyAPI_FUNC(int) _PyDict_SetItemId(PyObject *dp, struct _Py_Identifier *key, PyObject *item); + +PyAPI_FUNC(int) _PyDict_DelItemId(PyObject *mp, struct _Py_Identifier *key); +PyAPI_FUNC(void) _PyDict_DebugMallocStats(FILE *out); + +int _PyObjectDict_SetItem(PyTypeObject *tp, PyObject **dictptr, PyObject *name, PyObject *value); +PyObject *_PyDict_LoadGlobal(PyDictObject *, PyDictObject *, PyObject *); +Py_ssize_t _PyDict_GetItemHint(PyDictObject *, PyObject *, Py_ssize_t, PyObject **); + +/* _PyDictView */ + +typedef struct { + PyObject_HEAD + PyDictObject *dv_dict; +} _PyDictViewObject; + +PyAPI_FUNC(PyObject *) _PyDictView_New(PyObject *, PyTypeObject *); +PyAPI_FUNC(PyObject *) _PyDictView_Intersect(PyObject* self, PyObject *other); diff --git a/_Pre_Builds/_Python310_cpp/include/cpython/fileobject.h b/_Pre_Builds/_Python310_cpp/include/cpython/fileobject.h new file mode 100644 index 0000000..cff2243 --- /dev/null +++ b/_Pre_Builds/_Python310_cpp/include/cpython/fileobject.h @@ -0,0 +1,18 @@ +#ifndef Py_CPYTHON_FILEOBJECT_H +# error "this header file must not be included directly" +#endif + +PyAPI_FUNC(char *) Py_UniversalNewlineFgets(char *, int, FILE*, PyObject *); + +/* The std printer acts as a preliminary sys.stderr until the new io + infrastructure is in place. */ +PyAPI_FUNC(PyObject *) PyFile_NewStdPrinter(int); +PyAPI_DATA(PyTypeObject) PyStdPrinter_Type; + +typedef PyObject * (*Py_OpenCodeHookFunction)(PyObject *, void *); + +PyAPI_FUNC(PyObject *) PyFile_OpenCode(const char *utf8path); +PyAPI_FUNC(PyObject *) PyFile_OpenCodeObject(PyObject *path); +PyAPI_FUNC(int) PyFile_SetOpenCodeHook(Py_OpenCodeHookFunction hook, void *userData); + +PyAPI_FUNC(int) _PyLong_FileDescriptor_Converter(PyObject *, void *); diff --git a/_Pre_Builds/_Python310_cpp/include/cpython/fileutils.h b/_Pre_Builds/_Python310_cpp/include/cpython/fileutils.h new file mode 100644 index 0000000..ccf37e9 --- /dev/null +++ b/_Pre_Builds/_Python310_cpp/include/cpython/fileutils.h @@ -0,0 +1,172 @@ +#ifndef Py_CPYTHON_FILEUTILS_H +# error "this header file must not be included directly" +#endif + +typedef enum { + _Py_ERROR_UNKNOWN=0, + _Py_ERROR_STRICT, + _Py_ERROR_SURROGATEESCAPE, + _Py_ERROR_REPLACE, + _Py_ERROR_IGNORE, + _Py_ERROR_BACKSLASHREPLACE, + _Py_ERROR_SURROGATEPASS, + _Py_ERROR_XMLCHARREFREPLACE, + _Py_ERROR_OTHER +} _Py_error_handler; + +PyAPI_FUNC(_Py_error_handler) _Py_GetErrorHandler(const char *errors); + +PyAPI_FUNC(int) _Py_DecodeLocaleEx( + const char *arg, + wchar_t **wstr, + size_t *wlen, + const char **reason, + int current_locale, + _Py_error_handler errors); + +PyAPI_FUNC(int) _Py_EncodeLocaleEx( + const wchar_t *text, + char **str, + size_t *error_pos, + const char **reason, + int current_locale, + _Py_error_handler errors); + +PyAPI_FUNC(char*) _Py_EncodeLocaleRaw( + const wchar_t *text, + size_t *error_pos); + +PyAPI_FUNC(PyObject *) _Py_device_encoding(int); + +#if defined(MS_WINDOWS) || defined(__APPLE__) + /* On Windows, the count parameter of read() is an int (bpo-9015, bpo-9611). + On macOS 10.13, read() and write() with more than INT_MAX bytes + fail with EINVAL (bpo-24658). */ +# define _PY_READ_MAX INT_MAX +# define _PY_WRITE_MAX INT_MAX +#else + /* write() should truncate the input to PY_SSIZE_T_MAX bytes, + but it's safer to do it ourself to have a portable behaviour */ +# define _PY_READ_MAX PY_SSIZE_T_MAX +# define _PY_WRITE_MAX PY_SSIZE_T_MAX +#endif + +#ifdef MS_WINDOWS +struct _Py_stat_struct { + unsigned long st_dev; + uint64_t st_ino; + unsigned short st_mode; + int st_nlink; + int st_uid; + int st_gid; + unsigned long st_rdev; + __int64 st_size; + time_t st_atime; + int st_atime_nsec; + time_t st_mtime; + int st_mtime_nsec; + time_t st_ctime; + int st_ctime_nsec; + unsigned long st_file_attributes; + unsigned long st_reparse_tag; +}; +#else +# define _Py_stat_struct stat +#endif + +PyAPI_FUNC(int) _Py_fstat( + int fd, + struct _Py_stat_struct *status); + +PyAPI_FUNC(int) _Py_fstat_noraise( + int fd, + struct _Py_stat_struct *status); + +PyAPI_FUNC(int) _Py_stat( + PyObject *path, + struct stat *status); + +PyAPI_FUNC(int) _Py_open( + const char *pathname, + int flags); + +PyAPI_FUNC(int) _Py_open_noraise( + const char *pathname, + int flags); + +PyAPI_FUNC(FILE *) _Py_wfopen( + const wchar_t *path, + const wchar_t *mode); + +PyAPI_FUNC(FILE*) _Py_fopen_obj( + PyObject *path, + const char *mode); + +PyAPI_FUNC(Py_ssize_t) _Py_read( + int fd, + void *buf, + size_t count); + +PyAPI_FUNC(Py_ssize_t) _Py_write( + int fd, + const void *buf, + size_t count); + +PyAPI_FUNC(Py_ssize_t) _Py_write_noraise( + int fd, + const void *buf, + size_t count); + +#ifdef HAVE_READLINK +PyAPI_FUNC(int) _Py_wreadlink( + const wchar_t *path, + wchar_t *buf, + /* Number of characters of 'buf' buffer + including the trailing NUL character */ + size_t buflen); +#endif + +#ifdef HAVE_REALPATH +PyAPI_FUNC(wchar_t*) _Py_wrealpath( + const wchar_t *path, + wchar_t *resolved_path, + /* Number of characters of 'resolved_path' buffer + including the trailing NUL character */ + size_t resolved_path_len); +#endif + +#ifndef MS_WINDOWS +PyAPI_FUNC(int) _Py_isabs(const wchar_t *path); +#endif + +PyAPI_FUNC(int) _Py_abspath(const wchar_t *path, wchar_t **abspath_p); + +PyAPI_FUNC(wchar_t*) _Py_wgetcwd( + wchar_t *buf, + /* Number of characters of 'buf' buffer + including the trailing NUL character */ + size_t buflen); + +PyAPI_FUNC(int) _Py_get_inheritable(int fd); + +PyAPI_FUNC(int) _Py_set_inheritable(int fd, int inheritable, + int *atomic_flag_works); + +PyAPI_FUNC(int) _Py_set_inheritable_async_safe(int fd, int inheritable, + int *atomic_flag_works); + +PyAPI_FUNC(int) _Py_dup(int fd); + +#ifndef MS_WINDOWS +PyAPI_FUNC(int) _Py_get_blocking(int fd); + +PyAPI_FUNC(int) _Py_set_blocking(int fd, int blocking); +#else /* MS_WINDOWS */ +PyAPI_FUNC(void*) _Py_get_osfhandle_noraise(int fd); + +PyAPI_FUNC(void*) _Py_get_osfhandle(int fd); + +PyAPI_FUNC(int) _Py_open_osfhandle_noraise(void *handle, int flags); + +PyAPI_FUNC(int) _Py_open_osfhandle(void *handle, int flags); +#endif /* MS_WINDOWS */ diff --git a/_Pre_Builds/_Python310_cpp/include/cpython/frameobject.h b/_Pre_Builds/_Python310_cpp/include/cpython/frameobject.h new file mode 100644 index 0000000..5122ec4 --- /dev/null +++ b/_Pre_Builds/_Python310_cpp/include/cpython/frameobject.h @@ -0,0 +1,94 @@ +/* Frame object interface */ + +#ifndef Py_CPYTHON_FRAMEOBJECT_H +# error "this header file must not be included directly" +#endif + +/* These values are chosen so that the inline functions below all + * compare f_state to zero. + */ +enum _framestate { + FRAME_CREATED = -2, + FRAME_SUSPENDED = -1, + FRAME_EXECUTING = 0, + FRAME_RETURNED = 1, + FRAME_UNWINDING = 2, + FRAME_RAISED = 3, + FRAME_CLEARED = 4 +}; + +typedef signed char PyFrameState; + +typedef struct { + int b_type; /* what kind of block this is */ + int b_handler; /* where to jump to find handler */ + int b_level; /* value stack level to pop to */ +} PyTryBlock; + +struct _frame { + PyObject_VAR_HEAD + struct _frame *f_back; /* previous frame, or NULL */ + PyCodeObject *f_code; /* code segment */ + PyObject *f_builtins; /* builtin symbol table (PyDictObject) */ + PyObject *f_globals; /* global symbol table (PyDictObject) */ + PyObject *f_locals; /* local symbol table (any mapping) */ + PyObject **f_valuestack; /* points after the last local */ + PyObject *f_trace; /* Trace function */ + int f_stackdepth; /* Depth of value stack */ + char f_trace_lines; /* Emit per-line trace events? */ + char f_trace_opcodes; /* Emit per-opcode trace events? */ + + /* Borrowed reference to a generator, or NULL */ + PyObject *f_gen; + + int f_lasti; /* Last instruction if called */ + int f_lineno; /* Current line number. Only valid if non-zero */ + int f_iblock; /* index in f_blockstack */ + PyFrameState f_state; /* What state the frame is in */ + PyTryBlock f_blockstack[CO_MAXBLOCKS]; /* for try and loop blocks */ + PyObject *f_localsplus[1]; /* locals+stack, dynamically sized */ +}; + +static inline int _PyFrame_IsRunnable(struct _frame *f) { + return f->f_state < FRAME_EXECUTING; +} + +static inline int _PyFrame_IsExecuting(struct _frame *f) { + return f->f_state == FRAME_EXECUTING; +} + +static inline int _PyFrameHasCompleted(struct _frame *f) { + return f->f_state > FRAME_EXECUTING; +} + +/* Standard object interface */ + +PyAPI_DATA(PyTypeObject) PyFrame_Type; + +#define PyFrame_Check(op) Py_IS_TYPE(op, &PyFrame_Type) + +PyAPI_FUNC(PyFrameObject *) PyFrame_New(PyThreadState *, PyCodeObject *, + PyObject *, PyObject *); + +/* only internal use */ +PyFrameObject* +_PyFrame_New_NoTrack(PyThreadState *, PyFrameConstructor *, PyObject *); + + +/* The rest of the interface is specific for frame objects */ + +/* Block management functions */ + +PyAPI_FUNC(void) PyFrame_BlockSetup(PyFrameObject *, int, int, int); +PyAPI_FUNC(PyTryBlock *) PyFrame_BlockPop(PyFrameObject *); + +/* Conversions between "fast locals" and locals in dictionary */ + +PyAPI_FUNC(void) PyFrame_LocalsToFast(PyFrameObject *, int); + +PyAPI_FUNC(int) PyFrame_FastToLocalsWithError(PyFrameObject *f); +PyAPI_FUNC(void) PyFrame_FastToLocals(PyFrameObject *); + +PyAPI_FUNC(void) _PyFrame_DebugMallocStats(FILE *out); + +PyAPI_FUNC(PyFrameObject *) PyFrame_GetBack(PyFrameObject *frame); diff --git a/_Pre_Builds/_Python310_cpp/include/cpython/import.h b/_Pre_Builds/_Python310_cpp/include/cpython/import.h new file mode 100644 index 0000000..419945f --- /dev/null +++ b/_Pre_Builds/_Python310_cpp/include/cpython/import.h @@ -0,0 +1,46 @@ +#ifndef Py_CPYTHON_IMPORT_H +# error "this header file must not be included directly" +#endif + +PyMODINIT_FUNC PyInit__imp(void); + +PyAPI_FUNC(int) _PyImport_IsInitialized(PyInterpreterState *); + +PyAPI_FUNC(PyObject *) _PyImport_GetModuleId(struct _Py_Identifier *name); +PyAPI_FUNC(int) _PyImport_SetModule(PyObject *name, PyObject *module); +PyAPI_FUNC(int) _PyImport_SetModuleString(const char *name, PyObject* module); + +PyAPI_FUNC(void) _PyImport_AcquireLock(void); +PyAPI_FUNC(int) _PyImport_ReleaseLock(void); + +/* Obsolete since 3.5, will be removed in 3.11. */ +Py_DEPRECATED(3.10) PyAPI_FUNC(PyObject *) _PyImport_FindExtensionObject(PyObject *, PyObject *); + +PyAPI_FUNC(int) _PyImport_FixupBuiltin( + PyObject *mod, + const char *name, /* UTF-8 encoded string */ + PyObject *modules + ); +PyAPI_FUNC(int) _PyImport_FixupExtensionObject(PyObject*, PyObject *, + PyObject *, PyObject *); + +struct _inittab { + const char *name; /* ASCII encoded string */ + PyObject* (*initfunc)(void); +}; +PyAPI_DATA(struct _inittab *) PyImport_Inittab; +PyAPI_FUNC(int) PyImport_ExtendInittab(struct _inittab *newtab); + +struct _frozen { + const char *name; /* ASCII encoded string */ + const unsigned char *code; + int size; +}; + +/* Embedding apps may change this pointer to point to their favorite + collection of frozen modules: */ + +PyAPI_DATA(const struct _frozen *) PyImport_FrozenModules; + +PyAPI_DATA(PyObject *) _PyImport_GetModuleAttr(PyObject *, PyObject *); +PyAPI_DATA(PyObject *) _PyImport_GetModuleAttrString(const char *, const char *); diff --git a/_Pre_Builds/_Python310_cpp/include/cpython/initconfig.h b/_Pre_Builds/_Python310_cpp/include/cpython/initconfig.h new file mode 100644 index 0000000..583165b --- /dev/null +++ b/_Pre_Builds/_Python310_cpp/include/cpython/initconfig.h @@ -0,0 +1,249 @@ +#ifndef Py_PYCORECONFIG_H +#define Py_PYCORECONFIG_H +#ifndef Py_LIMITED_API +#ifdef __cplusplus +extern "C" { +#endif + +/* --- PyStatus ----------------------------------------------- */ + +typedef struct { + enum { + _PyStatus_TYPE_OK=0, + _PyStatus_TYPE_ERROR=1, + _PyStatus_TYPE_EXIT=2 + } _type; + const char *func; + const char *err_msg; + int exitcode; +} PyStatus; + +PyAPI_FUNC(PyStatus) PyStatus_Ok(void); +PyAPI_FUNC(PyStatus) PyStatus_Error(const char *err_msg); +PyAPI_FUNC(PyStatus) PyStatus_NoMemory(void); +PyAPI_FUNC(PyStatus) PyStatus_Exit(int exitcode); +PyAPI_FUNC(int) PyStatus_IsError(PyStatus err); +PyAPI_FUNC(int) PyStatus_IsExit(PyStatus err); +PyAPI_FUNC(int) PyStatus_Exception(PyStatus err); + +/* --- PyWideStringList ------------------------------------------------ */ + +typedef struct { + /* If length is greater than zero, items must be non-NULL + and all items strings must be non-NULL */ + Py_ssize_t length; + wchar_t **items; +} PyWideStringList; + +PyAPI_FUNC(PyStatus) PyWideStringList_Append(PyWideStringList *list, + const wchar_t *item); +PyAPI_FUNC(PyStatus) PyWideStringList_Insert(PyWideStringList *list, + Py_ssize_t index, + const wchar_t *item); + + +/* --- PyPreConfig ----------------------------------------------- */ + +typedef struct PyPreConfig { + int _config_init; /* _PyConfigInitEnum value */ + + /* Parse Py_PreInitializeFromBytesArgs() arguments? + See PyConfig.parse_argv */ + int parse_argv; + + /* If greater than 0, enable isolated mode: sys.path contains + neither the script's directory nor the user's site-packages directory. + + Set to 1 by the -I command line option. If set to -1 (default), inherit + Py_IsolatedFlag value. */ + int isolated; + + /* If greater than 0: use environment variables. + Set to 0 by -E command line option. If set to -1 (default), it is + set to !Py_IgnoreEnvironmentFlag. */ + int use_environment; + + /* Set the LC_CTYPE locale to the user preferred locale? If equals to 0, + set coerce_c_locale and coerce_c_locale_warn to 0. */ + int configure_locale; + + /* Coerce the LC_CTYPE locale if it's equal to "C"? (PEP 538) + + Set to 0 by PYTHONCOERCECLOCALE=0. Set to 1 by PYTHONCOERCECLOCALE=1. + Set to 2 if the user preferred LC_CTYPE locale is "C". + + If it is equal to 1, LC_CTYPE locale is read to decide if it should be + coerced or not (ex: PYTHONCOERCECLOCALE=1). Internally, it is set to 2 + if the LC_CTYPE locale must be coerced. + + Disable by default (set to 0). Set it to -1 to let Python decide if it + should be enabled or not. */ + int coerce_c_locale; + + /* Emit a warning if the LC_CTYPE locale is coerced? + + Set to 1 by PYTHONCOERCECLOCALE=warn. + + Disable by default (set to 0). Set it to -1 to let Python decide if it + should be enabled or not. */ + int coerce_c_locale_warn; + +#ifdef MS_WINDOWS + /* If greater than 1, use the "mbcs" encoding instead of the UTF-8 + encoding for the filesystem encoding. + + Set to 1 if the PYTHONLEGACYWINDOWSFSENCODING environment variable is + set to a non-empty string. If set to -1 (default), inherit + Py_LegacyWindowsFSEncodingFlag value. + + See PEP 529 for more details. */ + int legacy_windows_fs_encoding; +#endif + + /* Enable UTF-8 mode? (PEP 540) + + Disabled by default (equals to 0). + + Set to 1 by "-X utf8" and "-X utf8=1" command line options. + Set to 1 by PYTHONUTF8=1 environment variable. + + Set to 0 by "-X utf8=0" and PYTHONUTF8=0. + + If equals to -1, it is set to 1 if the LC_CTYPE locale is "C" or + "POSIX", otherwise it is set to 0. Inherit Py_UTF8Mode value value. */ + int utf8_mode; + + /* If non-zero, enable the Python Development Mode. + + Set to 1 by the -X dev command line option. Set by the PYTHONDEVMODE + environment variable. */ + int dev_mode; + + /* Memory allocator: PYTHONMALLOC env var. + See PyMemAllocatorName for valid values. */ + int allocator; +} PyPreConfig; + +PyAPI_FUNC(void) PyPreConfig_InitPythonConfig(PyPreConfig *config); +PyAPI_FUNC(void) PyPreConfig_InitIsolatedConfig(PyPreConfig *config); + + +/* --- PyConfig ---------------------------------------------- */ + +/* This structure is best documented in the Doc/c-api/init_config.rst file. */ +typedef struct PyConfig { + int _config_init; /* _PyConfigInitEnum value */ + + int isolated; + int use_environment; + int dev_mode; + int install_signal_handlers; + int use_hash_seed; + unsigned long hash_seed; + int faulthandler; + int tracemalloc; + int import_time; + int show_ref_count; + int dump_refs; + int malloc_stats; + wchar_t *filesystem_encoding; + wchar_t *filesystem_errors; + wchar_t *pycache_prefix; + int parse_argv; + PyWideStringList orig_argv; + PyWideStringList argv; + PyWideStringList xoptions; + PyWideStringList warnoptions; + int site_import; + int bytes_warning; + int warn_default_encoding; + int inspect; + int interactive; + int optimization_level; + int parser_debug; + int write_bytecode; + int verbose; + int quiet; + int user_site_directory; + int configure_c_stdio; + int buffered_stdio; + wchar_t *stdio_encoding; + wchar_t *stdio_errors; +#ifdef MS_WINDOWS + int legacy_windows_stdio; +#endif + wchar_t *check_hash_pycs_mode; + + /* --- Path configuration inputs ------------ */ + int pathconfig_warnings; + wchar_t *program_name; + wchar_t *pythonpath_env; + wchar_t *home; + wchar_t *platlibdir; + + /* --- Path configuration outputs ----------- */ + int module_search_paths_set; + PyWideStringList module_search_paths; + wchar_t *executable; + wchar_t *base_executable; + wchar_t *prefix; + wchar_t *base_prefix; + wchar_t *exec_prefix; + wchar_t *base_exec_prefix; + + /* --- Parameter only used by Py_Main() ---------- */ + int skip_source_first_line; + wchar_t *run_command; + wchar_t *run_module; + wchar_t *run_filename; + + /* --- Private fields ---------------------------- */ + + // Install importlib? If equals to 0, importlib is not initialized at all. + // Needed by freeze_importlib. + int _install_importlib; + + // If equal to 0, stop Python initialization before the "main" phase. + int _init_main; + + // If non-zero, disallow threads, subprocesses, and fork. + // Default: 0. + int _isolated_interpreter; +} PyConfig; + +PyAPI_FUNC(void) PyConfig_InitPythonConfig(PyConfig *config); +PyAPI_FUNC(void) PyConfig_InitIsolatedConfig(PyConfig *config); +PyAPI_FUNC(void) PyConfig_Clear(PyConfig *); +PyAPI_FUNC(PyStatus) PyConfig_SetString( + PyConfig *config, + wchar_t **config_str, + const wchar_t *str); +PyAPI_FUNC(PyStatus) PyConfig_SetBytesString( + PyConfig *config, + wchar_t **config_str, + const char *str); +PyAPI_FUNC(PyStatus) PyConfig_Read(PyConfig *config); +PyAPI_FUNC(PyStatus) PyConfig_SetBytesArgv( + PyConfig *config, + Py_ssize_t argc, + char * const *argv); +PyAPI_FUNC(PyStatus) PyConfig_SetArgv(PyConfig *config, + Py_ssize_t argc, + wchar_t * const *argv); +PyAPI_FUNC(PyStatus) PyConfig_SetWideStringList(PyConfig *config, + PyWideStringList *list, + Py_ssize_t length, wchar_t **items); + + +/* --- Helper functions --------------------------------------- */ + +/* Get the original command line arguments, before Python modified them. + + See also PyConfig.orig_argv. */ +PyAPI_FUNC(void) Py_GetArgcArgv(int *argc, wchar_t ***argv); + +#ifdef __cplusplus +} +#endif +#endif /* !Py_LIMITED_API */ +#endif /* !Py_PYCORECONFIG_H */ diff --git a/_Pre_Builds/_Python310_cpp/include/cpython/interpreteridobject.h b/_Pre_Builds/_Python310_cpp/include/cpython/interpreteridobject.h new file mode 100644 index 0000000..5076584 --- /dev/null +++ b/_Pre_Builds/_Python310_cpp/include/cpython/interpreteridobject.h @@ -0,0 +1,11 @@ +#ifndef Py_CPYTHON_INTERPRETERIDOBJECT_H +# error "this header file must not be included directly" +#endif + +/* Interpreter ID Object */ + +PyAPI_DATA(PyTypeObject) _PyInterpreterID_Type; + +PyAPI_FUNC(PyObject *) _PyInterpreterID_New(int64_t); +PyAPI_FUNC(PyObject *) _PyInterpreterState_GetIDObject(PyInterpreterState *); +PyAPI_FUNC(PyInterpreterState *) _PyInterpreterID_LookUp(PyObject *); diff --git a/_Pre_Builds/_Python310_cpp/include/cpython/listobject.h b/_Pre_Builds/_Python310_cpp/include/cpython/listobject.h new file mode 100644 index 0000000..e323915 --- /dev/null +++ b/_Pre_Builds/_Python310_cpp/include/cpython/listobject.h @@ -0,0 +1,34 @@ +#ifndef Py_CPYTHON_LISTOBJECT_H +# error "this header file must not be included directly" +#endif + +typedef struct { + PyObject_VAR_HEAD + /* Vector of pointers to list elements. list[0] is ob_item[0], etc. */ + PyObject **ob_item; + + /* ob_item contains space for 'allocated' elements. The number + * currently in use is ob_size. + * Invariants: + * 0 <= ob_size <= allocated + * len(list) == ob_size + * ob_item == NULL implies ob_size == allocated == 0 + * list.sort() temporarily sets allocated to -1 to detect mutations. + * + * Items must normally not be NULL, except during construction when + * the list is not yet visible outside the function that builds it. + */ + Py_ssize_t allocated; +} PyListObject; + +PyAPI_FUNC(PyObject *) _PyList_Extend(PyListObject *, PyObject *); +PyAPI_FUNC(void) _PyList_DebugMallocStats(FILE *out); + +/* Macro, trading safety for speed */ + +/* Cast argument to PyListObject* type. */ +#define _PyList_CAST(op) (assert(PyList_Check(op)), (PyListObject *)(op)) + +#define PyList_GET_ITEM(op, i) (_PyList_CAST(op)->ob_item[i]) +#define PyList_SET_ITEM(op, i, v) ((void)(_PyList_CAST(op)->ob_item[i] = (v))) +#define PyList_GET_SIZE(op) Py_SIZE(_PyList_CAST(op)) diff --git a/_Pre_Builds/_Python310_cpp/include/cpython/methodobject.h b/_Pre_Builds/_Python310_cpp/include/cpython/methodobject.h new file mode 100644 index 0000000..7ecbfe3 --- /dev/null +++ b/_Pre_Builds/_Python310_cpp/include/cpython/methodobject.h @@ -0,0 +1,35 @@ +#ifndef Py_CPYTHON_METHODOBJECT_H +# error "this header file must not be included directly" +#endif + +PyAPI_DATA(PyTypeObject) PyCMethod_Type; + +#define PyCMethod_CheckExact(op) Py_IS_TYPE(op, &PyCMethod_Type) +#define PyCMethod_Check(op) PyObject_TypeCheck(op, &PyCMethod_Type) + +/* Macros for direct access to these values. Type checks are *not* + done, so use with care. */ +#define PyCFunction_GET_FUNCTION(func) \ + (((PyCFunctionObject *)func) -> m_ml -> ml_meth) +#define PyCFunction_GET_SELF(func) \ + (((PyCFunctionObject *)func) -> m_ml -> ml_flags & METH_STATIC ? \ + NULL : ((PyCFunctionObject *)func) -> m_self) +#define PyCFunction_GET_FLAGS(func) \ + (((PyCFunctionObject *)func) -> m_ml -> ml_flags) +#define PyCFunction_GET_CLASS(func) \ + (((PyCFunctionObject *)func) -> m_ml -> ml_flags & METH_METHOD ? \ + ((PyCMethodObject *)func) -> mm_class : NULL) + +typedef struct { + PyObject_HEAD + PyMethodDef *m_ml; /* Description of the C function to call */ + PyObject *m_self; /* Passed as 'self' arg to the C func, can be NULL */ + PyObject *m_module; /* The __module__ attribute, can be anything */ + PyObject *m_weakreflist; /* List of weak references */ + vectorcallfunc vectorcall; +} PyCFunctionObject; + +typedef struct { + PyCFunctionObject func; + PyTypeObject *mm_class; /* Class that defines this method */ +} PyCMethodObject; diff --git a/_Pre_Builds/_Python310_cpp/include/cpython/object.h b/_Pre_Builds/_Python310_cpp/include/cpython/object.h new file mode 100644 index 0000000..84c60e5 --- /dev/null +++ b/_Pre_Builds/_Python310_cpp/include/cpython/object.h @@ -0,0 +1,552 @@ +#ifndef Py_CPYTHON_OBJECT_H +# error "this header file must not be included directly" +#endif + +PyAPI_FUNC(void) _Py_NewReference(PyObject *op); + +#ifdef Py_TRACE_REFS +/* Py_TRACE_REFS is such major surgery that we call external routines. */ +PyAPI_FUNC(void) _Py_ForgetReference(PyObject *); +#endif + +#ifdef Py_REF_DEBUG +PyAPI_FUNC(Py_ssize_t) _Py_GetRefTotal(void); +#endif + + +/********************* String Literals ****************************************/ +/* This structure helps managing static strings. The basic usage goes like this: + Instead of doing + + r = PyObject_CallMethod(o, "foo", "args", ...); + + do + + _Py_IDENTIFIER(foo); + ... + r = _PyObject_CallMethodId(o, &PyId_foo, "args", ...); + + PyId_foo is a static variable, either on block level or file level. On first + usage, the string "foo" is interned, and the structures are linked. On interpreter + shutdown, all strings are released. + + Alternatively, _Py_static_string allows choosing the variable name. + _PyUnicode_FromId returns a borrowed reference to the interned string. + _PyObject_{Get,Set,Has}AttrId are __getattr__ versions using _Py_Identifier*. +*/ +typedef struct _Py_Identifier { + const char* string; + // Index in PyInterpreterState.unicode.ids.array. It is process-wide + // unique and must be initialized to -1. + Py_ssize_t index; +} _Py_Identifier; + +#define _Py_static_string_init(value) { .string = value, .index = -1 } +#define _Py_static_string(varname, value) static _Py_Identifier varname = _Py_static_string_init(value) +#define _Py_IDENTIFIER(varname) _Py_static_string(PyId_##varname, #varname) + +/* buffer interface */ +typedef struct bufferinfo { + void *buf; + PyObject *obj; /* owned reference */ + Py_ssize_t len; + Py_ssize_t itemsize; /* This is Py_ssize_t so it can be + pointed to by strides in simple case.*/ + int readonly; + int ndim; + char *format; + Py_ssize_t *shape; + Py_ssize_t *strides; + Py_ssize_t *suboffsets; + void *internal; +} Py_buffer; + +typedef int (*getbufferproc)(PyObject *, Py_buffer *, int); +typedef void (*releasebufferproc)(PyObject *, Py_buffer *); + +typedef PyObject *(*vectorcallfunc)(PyObject *callable, PyObject *const *args, + size_t nargsf, PyObject *kwnames); + +/* Maximum number of dimensions */ +#define PyBUF_MAX_NDIM 64 + +/* Flags for getting buffers */ +#define PyBUF_SIMPLE 0 +#define PyBUF_WRITABLE 0x0001 +/* we used to include an E, backwards compatible alias */ +#define PyBUF_WRITEABLE PyBUF_WRITABLE +#define PyBUF_FORMAT 0x0004 +#define PyBUF_ND 0x0008 +#define PyBUF_STRIDES (0x0010 | PyBUF_ND) +#define PyBUF_C_CONTIGUOUS (0x0020 | PyBUF_STRIDES) +#define PyBUF_F_CONTIGUOUS (0x0040 | PyBUF_STRIDES) +#define PyBUF_ANY_CONTIGUOUS (0x0080 | PyBUF_STRIDES) +#define PyBUF_INDIRECT (0x0100 | PyBUF_STRIDES) + +#define PyBUF_CONTIG (PyBUF_ND | PyBUF_WRITABLE) +#define PyBUF_CONTIG_RO (PyBUF_ND) + +#define PyBUF_STRIDED (PyBUF_STRIDES | PyBUF_WRITABLE) +#define PyBUF_STRIDED_RO (PyBUF_STRIDES) + +#define PyBUF_RECORDS (PyBUF_STRIDES | PyBUF_WRITABLE | PyBUF_FORMAT) +#define PyBUF_RECORDS_RO (PyBUF_STRIDES | PyBUF_FORMAT) + +#define PyBUF_FULL (PyBUF_INDIRECT | PyBUF_WRITABLE | PyBUF_FORMAT) +#define PyBUF_FULL_RO (PyBUF_INDIRECT | PyBUF_FORMAT) + + +#define PyBUF_READ 0x100 +#define PyBUF_WRITE 0x200 +/* End buffer interface */ + + +typedef struct { + /* Number implementations must check *both* + arguments for proper type and implement the necessary conversions + in the slot functions themselves. */ + + binaryfunc nb_add; + binaryfunc nb_subtract; + binaryfunc nb_multiply; + binaryfunc nb_remainder; + binaryfunc nb_divmod; + ternaryfunc nb_power; + unaryfunc nb_negative; + unaryfunc nb_positive; + unaryfunc nb_absolute; + inquiry nb_bool; + unaryfunc nb_invert; + binaryfunc nb_lshift; + binaryfunc nb_rshift; + binaryfunc nb_and; + binaryfunc nb_xor; + binaryfunc nb_or; + unaryfunc nb_int; + void *nb_reserved; /* the slot formerly known as nb_long */ + unaryfunc nb_float; + + binaryfunc nb_inplace_add; + binaryfunc nb_inplace_subtract; + binaryfunc nb_inplace_multiply; + binaryfunc nb_inplace_remainder; + ternaryfunc nb_inplace_power; + binaryfunc nb_inplace_lshift; + binaryfunc nb_inplace_rshift; + binaryfunc nb_inplace_and; + binaryfunc nb_inplace_xor; + binaryfunc nb_inplace_or; + + binaryfunc nb_floor_divide; + binaryfunc nb_true_divide; + binaryfunc nb_inplace_floor_divide; + binaryfunc nb_inplace_true_divide; + + unaryfunc nb_index; + + binaryfunc nb_matrix_multiply; + binaryfunc nb_inplace_matrix_multiply; +} PyNumberMethods; + +typedef struct { + lenfunc sq_length; + binaryfunc sq_concat; + ssizeargfunc sq_repeat; + ssizeargfunc sq_item; + void *was_sq_slice; + ssizeobjargproc sq_ass_item; + void *was_sq_ass_slice; + objobjproc sq_contains; + + binaryfunc sq_inplace_concat; + ssizeargfunc sq_inplace_repeat; +} PySequenceMethods; + +typedef struct { + lenfunc mp_length; + binaryfunc mp_subscript; + objobjargproc mp_ass_subscript; +} PyMappingMethods; + +typedef PySendResult (*sendfunc)(PyObject *iter, PyObject *value, PyObject **result); + +typedef struct { + unaryfunc am_await; + unaryfunc am_aiter; + unaryfunc am_anext; + sendfunc am_send; +} PyAsyncMethods; + +typedef struct { + getbufferproc bf_getbuffer; + releasebufferproc bf_releasebuffer; +} PyBufferProcs; + +/* Allow printfunc in the tp_vectorcall_offset slot for + * backwards-compatibility */ +typedef Py_ssize_t printfunc; + +// If this structure is modified, Doc/includes/typestruct.h should be updated +// as well. +struct _typeobject { + PyObject_VAR_HEAD + const char *tp_name; /* For printing, in format "." */ + Py_ssize_t tp_basicsize, tp_itemsize; /* For allocation */ + + /* Methods to implement standard operations */ + + destructor tp_dealloc; + Py_ssize_t tp_vectorcall_offset; + getattrfunc tp_getattr; + setattrfunc tp_setattr; + PyAsyncMethods *tp_as_async; /* formerly known as tp_compare (Python 2) + or tp_reserved (Python 3) */ + reprfunc tp_repr; + + /* Method suites for standard classes */ + + PyNumberMethods *tp_as_number; + PySequenceMethods *tp_as_sequence; + PyMappingMethods *tp_as_mapping; + + /* More standard operations (here for binary compatibility) */ + + hashfunc tp_hash; + ternaryfunc tp_call; + reprfunc tp_str; + getattrofunc tp_getattro; + setattrofunc tp_setattro; + + /* Functions to access object as input/output buffer */ + PyBufferProcs *tp_as_buffer; + + /* Flags to define presence of optional/expanded features */ + unsigned long tp_flags; + + const char *tp_doc; /* Documentation string */ + + /* Assigned meaning in release 2.0 */ + /* call function for all accessible objects */ + traverseproc tp_traverse; + + /* delete references to contained objects */ + inquiry tp_clear; + + /* Assigned meaning in release 2.1 */ + /* rich comparisons */ + richcmpfunc tp_richcompare; + + /* weak reference enabler */ + Py_ssize_t tp_weaklistoffset; + + /* Iterators */ + getiterfunc tp_iter; + iternextfunc tp_iternext; + + /* Attribute descriptor and subclassing stuff */ + struct PyMethodDef *tp_methods; + struct PyMemberDef *tp_members; + struct PyGetSetDef *tp_getset; + // Strong reference on a heap type, borrowed reference on a static type + struct _typeobject *tp_base; + PyObject *tp_dict; + descrgetfunc tp_descr_get; + descrsetfunc tp_descr_set; + Py_ssize_t tp_dictoffset; + initproc tp_init; + allocfunc tp_alloc; + newfunc tp_new; + freefunc tp_free; /* Low-level free-memory routine */ + inquiry tp_is_gc; /* For PyObject_IS_GC */ + PyObject *tp_bases; + PyObject *tp_mro; /* method resolution order */ + PyObject *tp_cache; + PyObject *tp_subclasses; + PyObject *tp_weaklist; + destructor tp_del; + + /* Type attribute cache version tag. Added in version 2.6 */ + unsigned int tp_version_tag; + + destructor tp_finalize; + vectorcallfunc tp_vectorcall; +}; + +/* The *real* layout of a type object when allocated on the heap */ +typedef struct _heaptypeobject { + /* Note: there's a dependency on the order of these members + in slotptr() in typeobject.c . */ + PyTypeObject ht_type; + PyAsyncMethods as_async; + PyNumberMethods as_number; + PyMappingMethods as_mapping; + PySequenceMethods as_sequence; /* as_sequence comes after as_mapping, + so that the mapping wins when both + the mapping and the sequence define + a given operator (e.g. __getitem__). + see add_operators() in typeobject.c . */ + PyBufferProcs as_buffer; + PyObject *ht_name, *ht_slots, *ht_qualname; + struct _dictkeysobject *ht_cached_keys; + PyObject *ht_module; + /* here are optional user slots, followed by the members. */ +} PyHeapTypeObject; + +/* access macro to the members which are floating "behind" the object */ +#define PyHeapType_GET_MEMBERS(etype) \ + ((PyMemberDef *)(((char *)etype) + Py_TYPE(etype)->tp_basicsize)) + +PyAPI_FUNC(const char *) _PyType_Name(PyTypeObject *); +PyAPI_FUNC(PyObject *) _PyType_Lookup(PyTypeObject *, PyObject *); +PyAPI_FUNC(PyObject *) _PyType_LookupId(PyTypeObject *, _Py_Identifier *); +PyAPI_FUNC(PyObject *) _PyObject_LookupSpecial(PyObject *, _Py_Identifier *); +PyAPI_FUNC(PyTypeObject *) _PyType_CalculateMetaclass(PyTypeObject *, PyObject *); +PyAPI_FUNC(PyObject *) _PyType_GetDocFromInternalDoc(const char *, const char *); +PyAPI_FUNC(PyObject *) _PyType_GetTextSignatureFromInternalDoc(const char *, const char *); +struct PyModuleDef; +PyAPI_FUNC(PyObject *) _PyType_GetModuleByDef(PyTypeObject *, struct PyModuleDef *); + +struct _Py_Identifier; +PyAPI_FUNC(int) PyObject_Print(PyObject *, FILE *, int); +PyAPI_FUNC(void) _Py_BreakPoint(void); +PyAPI_FUNC(void) _PyObject_Dump(PyObject *); +PyAPI_FUNC(int) _PyObject_IsFreed(PyObject *); + +PyAPI_FUNC(int) _PyObject_IsAbstract(PyObject *); +PyAPI_FUNC(PyObject *) _PyObject_GetAttrId(PyObject *, struct _Py_Identifier *); +PyAPI_FUNC(int) _PyObject_SetAttrId(PyObject *, struct _Py_Identifier *, PyObject *); +/* Replacements of PyObject_GetAttr() and _PyObject_GetAttrId() which + don't raise AttributeError. + + Return 1 and set *result != NULL if an attribute is found. + Return 0 and set *result == NULL if an attribute is not found; + an AttributeError is silenced. + Return -1 and set *result == NULL if an error other than AttributeError + is raised. +*/ +PyAPI_FUNC(int) _PyObject_LookupAttr(PyObject *, PyObject *, PyObject **); +PyAPI_FUNC(int) _PyObject_LookupAttrId(PyObject *, struct _Py_Identifier *, PyObject **); + +PyAPI_FUNC(int) _PyObject_GetMethod(PyObject *obj, PyObject *name, PyObject **method); + +PyAPI_FUNC(PyObject **) _PyObject_GetDictPtr(PyObject *); +PyAPI_FUNC(PyObject *) _PyObject_NextNotImplemented(PyObject *); +PyAPI_FUNC(void) PyObject_CallFinalizer(PyObject *); +PyAPI_FUNC(int) PyObject_CallFinalizerFromDealloc(PyObject *); + +/* Same as PyObject_Generic{Get,Set}Attr, but passing the attributes + dict as the last parameter. */ +PyAPI_FUNC(PyObject *) +_PyObject_GenericGetAttrWithDict(PyObject *, PyObject *, PyObject *, int); +PyAPI_FUNC(int) +_PyObject_GenericSetAttrWithDict(PyObject *, PyObject *, + PyObject *, PyObject *); + +PyAPI_FUNC(PyObject *) _PyObject_FunctionStr(PyObject *); + +/* Safely decref `op` and set `op` to `op2`. + * + * As in case of Py_CLEAR "the obvious" code can be deadly: + * + * Py_DECREF(op); + * op = op2; + * + * The safe way is: + * + * Py_SETREF(op, op2); + * + * That arranges to set `op` to `op2` _before_ decref'ing, so that any code + * triggered as a side-effect of `op` getting torn down no longer believes + * `op` points to a valid object. + * + * Py_XSETREF is a variant of Py_SETREF that uses Py_XDECREF instead of + * Py_DECREF. + */ + +#define Py_SETREF(op, op2) \ + do { \ + PyObject *_py_tmp = _PyObject_CAST(op); \ + (op) = (op2); \ + Py_DECREF(_py_tmp); \ + } while (0) + +#define Py_XSETREF(op, op2) \ + do { \ + PyObject *_py_tmp = _PyObject_CAST(op); \ + (op) = (op2); \ + Py_XDECREF(_py_tmp); \ + } while (0) + + +PyAPI_DATA(PyTypeObject) _PyNone_Type; +PyAPI_DATA(PyTypeObject) _PyNotImplemented_Type; + +/* Maps Py_LT to Py_GT, ..., Py_GE to Py_LE. + * Defined in object.c. + */ +PyAPI_DATA(int) _Py_SwappedOp[]; + +PyAPI_FUNC(void) +_PyDebugAllocatorStats(FILE *out, const char *block_name, int num_blocks, + size_t sizeof_block); +PyAPI_FUNC(void) +_PyObject_DebugTypeStats(FILE *out); + +/* Define a pair of assertion macros: + _PyObject_ASSERT_FROM(), _PyObject_ASSERT_WITH_MSG() and _PyObject_ASSERT(). + + These work like the regular C assert(), in that they will abort the + process with a message on stderr if the given condition fails to hold, + but compile away to nothing if NDEBUG is defined. + + However, before aborting, Python will also try to call _PyObject_Dump() on + the given object. This may be of use when investigating bugs in which a + particular object is corrupt (e.g. buggy a tp_visit method in an extension + module breaking the garbage collector), to help locate the broken objects. + + The WITH_MSG variant allows you to supply an additional message that Python + will attempt to print to stderr, after the object dump. */ +#ifdef NDEBUG + /* No debugging: compile away the assertions: */ +# define _PyObject_ASSERT_FROM(obj, expr, msg, filename, lineno, func) \ + ((void)0) +#else + /* With debugging: generate checks: */ +# define _PyObject_ASSERT_FROM(obj, expr, msg, filename, lineno, func) \ + ((expr) \ + ? (void)(0) \ + : _PyObject_AssertFailed((obj), Py_STRINGIFY(expr), \ + (msg), (filename), (lineno), (func))) +#endif + +#define _PyObject_ASSERT_WITH_MSG(obj, expr, msg) \ + _PyObject_ASSERT_FROM(obj, expr, msg, __FILE__, __LINE__, __func__) +#define _PyObject_ASSERT(obj, expr) \ + _PyObject_ASSERT_WITH_MSG(obj, expr, NULL) + +#define _PyObject_ASSERT_FAILED_MSG(obj, msg) \ + _PyObject_AssertFailed((obj), NULL, (msg), __FILE__, __LINE__, __func__) + +/* Declare and define _PyObject_AssertFailed() even when NDEBUG is defined, + to avoid causing compiler/linker errors when building extensions without + NDEBUG against a Python built with NDEBUG defined. + + msg, expr and function can be NULL. */ +PyAPI_FUNC(void) _Py_NO_RETURN _PyObject_AssertFailed( + PyObject *obj, + const char *expr, + const char *msg, + const char *file, + int line, + const char *function); + +/* Check if an object is consistent. For example, ensure that the reference + counter is greater than or equal to 1, and ensure that ob_type is not NULL. + + Call _PyObject_AssertFailed() if the object is inconsistent. + + If check_content is zero, only check header fields: reduce the overhead. + + The function always return 1. The return value is just here to be able to + write: + + assert(_PyObject_CheckConsistency(obj, 1)); */ +PyAPI_FUNC(int) _PyObject_CheckConsistency( + PyObject *op, + int check_content); + + +/* Trashcan mechanism, thanks to Christian Tismer. + +When deallocating a container object, it's possible to trigger an unbounded +chain of deallocations, as each Py_DECREF in turn drops the refcount on "the +next" object in the chain to 0. This can easily lead to stack overflows, +especially in threads (which typically have less stack space to work with). + +A container object can avoid this by bracketing the body of its tp_dealloc +function with a pair of macros: + +static void +mytype_dealloc(mytype *p) +{ + ... declarations go here ... + + PyObject_GC_UnTrack(p); // must untrack first + Py_TRASHCAN_BEGIN(p, mytype_dealloc) + ... The body of the deallocator goes here, including all calls ... + ... to Py_DECREF on contained objects. ... + Py_TRASHCAN_END // there should be no code after this +} + +CAUTION: Never return from the middle of the body! If the body needs to +"get out early", put a label immediately before the Py_TRASHCAN_END +call, and goto it. Else the call-depth counter (see below) will stay +above 0 forever, and the trashcan will never get emptied. + +How it works: The BEGIN macro increments a call-depth counter. So long +as this counter is small, the body of the deallocator is run directly without +further ado. But if the counter gets large, it instead adds p to a list of +objects to be deallocated later, skips the body of the deallocator, and +resumes execution after the END macro. The tp_dealloc routine then returns +without deallocating anything (and so unbounded call-stack depth is avoided). + +When the call stack finishes unwinding again, code generated by the END macro +notices this, and calls another routine to deallocate all the objects that +may have been added to the list of deferred deallocations. In effect, a +chain of N deallocations is broken into (N-1)/(PyTrash_UNWIND_LEVEL-1) pieces, +with the call stack never exceeding a depth of PyTrash_UNWIND_LEVEL. + +Since the tp_dealloc of a subclass typically calls the tp_dealloc of the base +class, we need to ensure that the trashcan is only triggered on the tp_dealloc +of the actual class being deallocated. Otherwise we might end up with a +partially-deallocated object. To check this, the tp_dealloc function must be +passed as second argument to Py_TRASHCAN_BEGIN(). +*/ + +/* This is the old private API, invoked by the macros before 3.2.4. + Kept for binary compatibility of extensions using the stable ABI. */ +PyAPI_FUNC(void) _PyTrash_deposit_object(PyObject*); +PyAPI_FUNC(void) _PyTrash_destroy_chain(void); + +/* This is the old private API, invoked by the macros before 3.9. + Kept for binary compatibility of extensions using the stable ABI. */ +PyAPI_FUNC(void) _PyTrash_thread_deposit_object(PyObject*); +PyAPI_FUNC(void) _PyTrash_thread_destroy_chain(void); + +/* Forward declarations for PyThreadState */ +struct _ts; + +/* Python 3.9 private API, invoked by the macros below. */ +PyAPI_FUNC(int) _PyTrash_begin(struct _ts *tstate, PyObject *op); +PyAPI_FUNC(void) _PyTrash_end(struct _ts *tstate); +/* Python 3.10 private API, invoked by the Py_TRASHCAN_BEGIN(). */ +PyAPI_FUNC(int) _PyTrash_cond(PyObject *op, destructor dealloc); + +#define PyTrash_UNWIND_LEVEL 50 + +#define Py_TRASHCAN_BEGIN_CONDITION(op, cond) \ + do { \ + PyThreadState *_tstate = NULL; \ + /* If "cond" is false, then _tstate remains NULL and the deallocator \ + * is run normally without involving the trashcan */ \ + if (cond) { \ + _tstate = PyThreadState_Get(); \ + if (_PyTrash_begin(_tstate, _PyObject_CAST(op))) { \ + break; \ + } \ + } + /* The body of the deallocator is here. */ +#define Py_TRASHCAN_END \ + if (_tstate) { \ + _PyTrash_end(_tstate); \ + } \ + } while (0); + +#define Py_TRASHCAN_BEGIN(op, dealloc) \ + Py_TRASHCAN_BEGIN_CONDITION(op, \ + _PyTrash_cond(_PyObject_CAST(op), (destructor)dealloc)) + +/* For backwards compatibility, these macros enable the trashcan + * unconditionally */ +#define Py_TRASHCAN_SAFE_BEGIN(op) Py_TRASHCAN_BEGIN_CONDITION(op, 1) +#define Py_TRASHCAN_SAFE_END(op) Py_TRASHCAN_END diff --git a/_Pre_Builds/_Python310_cpp/include/cpython/objimpl.h b/_Pre_Builds/_Python310_cpp/include/cpython/objimpl.h new file mode 100644 index 0000000..d83700e --- /dev/null +++ b/_Pre_Builds/_Python310_cpp/include/cpython/objimpl.h @@ -0,0 +1,100 @@ +#ifndef Py_CPYTHON_OBJIMPL_H +# error "this header file must not be included directly" +#endif + +#define _PyObject_SIZE(typeobj) ( (typeobj)->tp_basicsize ) + +/* _PyObject_VAR_SIZE returns the number of bytes (as size_t) allocated for a + vrbl-size object with nitems items, exclusive of gc overhead (if any). The + value is rounded up to the closest multiple of sizeof(void *), in order to + ensure that pointer fields at the end of the object are correctly aligned + for the platform (this is of special importance for subclasses of, e.g., + str or int, so that pointers can be stored after the embedded data). + + Note that there's no memory wastage in doing this, as malloc has to + return (at worst) pointer-aligned memory anyway. +*/ +#if ((SIZEOF_VOID_P - 1) & SIZEOF_VOID_P) != 0 +# error "_PyObject_VAR_SIZE requires SIZEOF_VOID_P be a power of 2" +#endif + +#define _PyObject_VAR_SIZE(typeobj, nitems) \ + _Py_SIZE_ROUND_UP((typeobj)->tp_basicsize + \ + (nitems)*(typeobj)->tp_itemsize, \ + SIZEOF_VOID_P) + + +/* This example code implements an object constructor with a custom + allocator, where PyObject_New is inlined, and shows the important + distinction between two steps (at least): + 1) the actual allocation of the object storage; + 2) the initialization of the Python specific fields + in this storage with PyObject_{Init, InitVar}. + + PyObject * + YourObject_New(...) + { + PyObject *op; + + op = (PyObject *) Your_Allocator(_PyObject_SIZE(YourTypeStruct)); + if (op == NULL) { + return PyErr_NoMemory(); + } + + PyObject_Init(op, &YourTypeStruct); + + op->ob_field = value; + ... + return op; + } + + Note that in C++, the use of the new operator usually implies that + the 1st step is performed automatically for you, so in a C++ class + constructor you would start directly with PyObject_Init/InitVar. */ + +/* This function returns the number of allocated memory blocks, regardless of size */ +PyAPI_FUNC(Py_ssize_t) _Py_GetAllocatedBlocks(void); + +/* Macros */ +#ifdef WITH_PYMALLOC +PyAPI_FUNC(int) _PyObject_DebugMallocStats(FILE *out); +#endif + + +typedef struct { + /* user context passed as the first argument to the 2 functions */ + void *ctx; + + /* allocate an arena of size bytes */ + void* (*alloc) (void *ctx, size_t size); + + /* free an arena */ + void (*free) (void *ctx, void *ptr, size_t size); +} PyObjectArenaAllocator; + +/* Get the arena allocator. */ +PyAPI_FUNC(void) PyObject_GetArenaAllocator(PyObjectArenaAllocator *allocator); + +/* Set the arena allocator. */ +PyAPI_FUNC(void) PyObject_SetArenaAllocator(PyObjectArenaAllocator *allocator); + + +/* Test if an object implements the garbage collector protocol */ +PyAPI_FUNC(int) PyObject_IS_GC(PyObject *obj); + + +/* Code built with Py_BUILD_CORE must include pycore_gc.h instead which + defines a different _PyGC_FINALIZED() macro. */ +#ifndef Py_BUILD_CORE + // Kept for backward compatibility with Python 3.8 +# define _PyGC_FINALIZED(o) PyObject_GC_IsFinalized(o) +#endif + +PyAPI_FUNC(PyObject *) _PyObject_GC_Malloc(size_t size); +PyAPI_FUNC(PyObject *) _PyObject_GC_Calloc(size_t size); + + +/* Test if a type supports weak references */ +#define PyType_SUPPORTS_WEAKREFS(t) ((t)->tp_weaklistoffset > 0) + +PyAPI_FUNC(PyObject **) PyObject_GET_WEAKREFS_LISTPTR(PyObject *op); diff --git a/_Python311_cpp/include/cpython/odictobject.h b/_Pre_Builds/_Python310_cpp/include/cpython/odictobject.h similarity index 100% rename from _Python311_cpp/include/cpython/odictobject.h rename to _Pre_Builds/_Python310_cpp/include/cpython/odictobject.h diff --git a/_Python311_cpp/include/cpython/picklebufobject.h b/_Pre_Builds/_Python310_cpp/include/cpython/picklebufobject.h similarity index 100% rename from _Python311_cpp/include/cpython/picklebufobject.h rename to _Pre_Builds/_Python310_cpp/include/cpython/picklebufobject.h diff --git a/_Python311_cpp/include/cpython/pyctype.h b/_Pre_Builds/_Python310_cpp/include/cpython/pyctype.h similarity index 100% rename from _Python311_cpp/include/cpython/pyctype.h rename to _Pre_Builds/_Python310_cpp/include/cpython/pyctype.h diff --git a/_Pre_Builds/_Python310_cpp/include/cpython/pydebug.h b/_Pre_Builds/_Python310_cpp/include/cpython/pydebug.h new file mode 100644 index 0000000..78bcb11 --- /dev/null +++ b/_Pre_Builds/_Python310_cpp/include/cpython/pydebug.h @@ -0,0 +1,38 @@ +#ifndef Py_LIMITED_API +#ifndef Py_PYDEBUG_H +#define Py_PYDEBUG_H +#ifdef __cplusplus +extern "C" { +#endif + +PyAPI_DATA(int) Py_DebugFlag; +PyAPI_DATA(int) Py_VerboseFlag; +PyAPI_DATA(int) Py_QuietFlag; +PyAPI_DATA(int) Py_InteractiveFlag; +PyAPI_DATA(int) Py_InspectFlag; +PyAPI_DATA(int) Py_OptimizeFlag; +PyAPI_DATA(int) Py_NoSiteFlag; +PyAPI_DATA(int) Py_BytesWarningFlag; +PyAPI_DATA(int) Py_FrozenFlag; +PyAPI_DATA(int) Py_IgnoreEnvironmentFlag; +PyAPI_DATA(int) Py_DontWriteBytecodeFlag; +PyAPI_DATA(int) Py_NoUserSiteDirectory; +PyAPI_DATA(int) Py_UnbufferedStdioFlag; +PyAPI_DATA(int) Py_HashRandomizationFlag; +PyAPI_DATA(int) Py_IsolatedFlag; + +#ifdef MS_WINDOWS +PyAPI_DATA(int) Py_LegacyWindowsFSEncodingFlag; +PyAPI_DATA(int) Py_LegacyWindowsStdioFlag; +#endif + +/* this is a wrapper around getenv() that pays attention to + Py_IgnoreEnvironmentFlag. It should be used for getting variables like + PYTHONPATH and PYTHONHOME from the environment */ +#define Py_GETENV(s) (Py_IgnoreEnvironmentFlag ? NULL : getenv(s)) + +#ifdef __cplusplus +} +#endif +#endif /* !Py_PYDEBUG_H */ +#endif /* Py_LIMITED_API */ diff --git a/_Pre_Builds/_Python310_cpp/include/cpython/pyerrors.h b/_Pre_Builds/_Python310_cpp/include/cpython/pyerrors.h new file mode 100644 index 0000000..3f95245 --- /dev/null +++ b/_Pre_Builds/_Python310_cpp/include/cpython/pyerrors.h @@ -0,0 +1,214 @@ +#ifndef Py_CPYTHON_ERRORS_H +# error "this header file must not be included directly" +#endif + +/* Error objects */ + +/* PyException_HEAD defines the initial segment of every exception class. */ +#define PyException_HEAD PyObject_HEAD PyObject *dict;\ + PyObject *args; PyObject *traceback;\ + PyObject *context; PyObject *cause;\ + char suppress_context; + +typedef struct { + PyException_HEAD +} PyBaseExceptionObject; + +typedef struct { + PyException_HEAD + PyObject *msg; + PyObject *filename; + PyObject *lineno; + PyObject *offset; + PyObject *end_lineno; + PyObject *end_offset; + PyObject *text; + PyObject *print_file_and_line; +} PySyntaxErrorObject; + +typedef struct { + PyException_HEAD + PyObject *msg; + PyObject *name; + PyObject *path; +} PyImportErrorObject; + +typedef struct { + PyException_HEAD + PyObject *encoding; + PyObject *object; + Py_ssize_t start; + Py_ssize_t end; + PyObject *reason; +} PyUnicodeErrorObject; + +typedef struct { + PyException_HEAD + PyObject *code; +} PySystemExitObject; + +typedef struct { + PyException_HEAD + PyObject *myerrno; + PyObject *strerror; + PyObject *filename; + PyObject *filename2; +#ifdef MS_WINDOWS + PyObject *winerror; +#endif + Py_ssize_t written; /* only for BlockingIOError, -1 otherwise */ +} PyOSErrorObject; + +typedef struct { + PyException_HEAD + PyObject *value; +} PyStopIterationObject; + +typedef struct { + PyException_HEAD + PyObject *name; +} PyNameErrorObject; + +typedef struct { + PyException_HEAD + PyObject *obj; + PyObject *name; +} PyAttributeErrorObject; + +/* Compatibility typedefs */ +typedef PyOSErrorObject PyEnvironmentErrorObject; +#ifdef MS_WINDOWS +typedef PyOSErrorObject PyWindowsErrorObject; +#endif + +/* Error handling definitions */ + +PyAPI_FUNC(void) _PyErr_SetKeyError(PyObject *); +PyAPI_FUNC(_PyErr_StackItem*) _PyErr_GetTopmostException(PyThreadState *tstate); +PyAPI_FUNC(void) _PyErr_GetExcInfo(PyThreadState *, PyObject **, PyObject **, PyObject **); + +/* Context manipulation (PEP 3134) */ + +PyAPI_FUNC(void) _PyErr_ChainExceptions(PyObject *, PyObject *, PyObject *); + +/* Convenience functions */ + +#ifdef MS_WINDOWS +Py_DEPRECATED(3.3) +PyAPI_FUNC(PyObject *) PyErr_SetFromErrnoWithUnicodeFilename( + PyObject *, const Py_UNICODE *); +#endif /* MS_WINDOWS */ + +/* Like PyErr_Format(), but saves current exception as __context__ and + __cause__. + */ +PyAPI_FUNC(PyObject *) _PyErr_FormatFromCause( + PyObject *exception, + const char *format, /* ASCII-encoded string */ + ... + ); + +#ifdef MS_WINDOWS +/* XXX redeclare to use WSTRING */ +Py_DEPRECATED(3.3) +PyAPI_FUNC(PyObject *) PyErr_SetFromWindowsErrWithUnicodeFilename( + int, const Py_UNICODE *); +Py_DEPRECATED(3.3) +PyAPI_FUNC(PyObject *) PyErr_SetExcFromWindowsErrWithUnicodeFilename( + PyObject *,int, const Py_UNICODE *); +#endif + +/* In exceptions.c */ + +/* Helper that attempts to replace the current exception with one of the + * same type but with a prefix added to the exception text. The resulting + * exception description looks like: + * + * prefix (exc_type: original_exc_str) + * + * Only some exceptions can be safely replaced. If the function determines + * it isn't safe to perform the replacement, it will leave the original + * unmodified exception in place. + * + * Returns a borrowed reference to the new exception (if any), NULL if the + * existing exception was left in place. + */ +PyAPI_FUNC(PyObject *) _PyErr_TrySetFromCause( + const char *prefix_format, /* ASCII-encoded string */ + ... + ); + +/* In signalmodule.c */ + +int PySignal_SetWakeupFd(int fd); +PyAPI_FUNC(int) _PyErr_CheckSignals(void); + +/* Support for adding program text to SyntaxErrors */ + +PyAPI_FUNC(void) PyErr_SyntaxLocationObject( + PyObject *filename, + int lineno, + int col_offset); + +PyAPI_FUNC(void) PyErr_RangedSyntaxLocationObject( + PyObject *filename, + int lineno, + int col_offset, + int end_lineno, + int end_col_offset); + +PyAPI_FUNC(PyObject *) PyErr_ProgramTextObject( + PyObject *filename, + int lineno); + +/* Create a UnicodeEncodeError object. + * + * TODO: This API will be removed in Python 3.11. + */ +Py_DEPRECATED(3.3) PyAPI_FUNC(PyObject *) PyUnicodeEncodeError_Create( + const char *encoding, /* UTF-8 encoded string */ + const Py_UNICODE *object, + Py_ssize_t length, + Py_ssize_t start, + Py_ssize_t end, + const char *reason /* UTF-8 encoded string */ + ); + +/* Create a UnicodeTranslateError object. + * + * TODO: This API will be removed in Python 3.11. + */ +Py_DEPRECATED(3.3) PyAPI_FUNC(PyObject *) PyUnicodeTranslateError_Create( + const Py_UNICODE *object, + Py_ssize_t length, + Py_ssize_t start, + Py_ssize_t end, + const char *reason /* UTF-8 encoded string */ + ); + +PyAPI_FUNC(PyObject *) _PyErr_ProgramDecodedTextObject( + PyObject *filename, + int lineno, + const char* encoding); + +PyAPI_FUNC(PyObject *) _PyUnicodeTranslateError_Create( + PyObject *object, + Py_ssize_t start, + Py_ssize_t end, + const char *reason /* UTF-8 encoded string */ + ); + +PyAPI_FUNC(void) _PyErr_WriteUnraisableMsg( + const char *err_msg, + PyObject *obj); + +PyAPI_FUNC(void) _Py_NO_RETURN _Py_FatalErrorFunc( + const char *func, + const char *message); + +PyAPI_FUNC(void) _Py_NO_RETURN _Py_FatalErrorFormat( + const char *func, + const char *format, + ...); + +#define Py_FatalError(message) _Py_FatalErrorFunc(__func__, message) diff --git a/_Python311_cpp/include/cpython/pyfpe.h b/_Pre_Builds/_Python310_cpp/include/cpython/pyfpe.h similarity index 100% rename from _Python311_cpp/include/cpython/pyfpe.h rename to _Pre_Builds/_Python310_cpp/include/cpython/pyfpe.h diff --git a/_Pre_Builds/_Python310_cpp/include/cpython/pylifecycle.h b/_Pre_Builds/_Python310_cpp/include/cpython/pylifecycle.h new file mode 100644 index 0000000..5faeb35 --- /dev/null +++ b/_Pre_Builds/_Python310_cpp/include/cpython/pylifecycle.h @@ -0,0 +1,64 @@ +#ifndef Py_CPYTHON_PYLIFECYCLE_H +# error "this header file must not be included directly" +#endif + +/* Py_FrozenMain is kept out of the Limited API until documented and present + in all builds of Python */ +PyAPI_FUNC(int) Py_FrozenMain(int argc, char **argv); + +/* Only used by applications that embed the interpreter and need to + * override the standard encoding determination mechanism + */ +PyAPI_FUNC(int) Py_SetStandardStreamEncoding(const char *encoding, + const char *errors); + +/* PEP 432 Multi-phase initialization API (Private while provisional!) */ + +PyAPI_FUNC(PyStatus) Py_PreInitialize( + const PyPreConfig *src_config); +PyAPI_FUNC(PyStatus) Py_PreInitializeFromBytesArgs( + const PyPreConfig *src_config, + Py_ssize_t argc, + char **argv); +PyAPI_FUNC(PyStatus) Py_PreInitializeFromArgs( + const PyPreConfig *src_config, + Py_ssize_t argc, + wchar_t **argv); + +PyAPI_FUNC(int) _Py_IsCoreInitialized(void); + + +/* Initialization and finalization */ + +PyAPI_FUNC(PyStatus) Py_InitializeFromConfig( + const PyConfig *config); +PyAPI_FUNC(PyStatus) _Py_InitializeMain(void); + +PyAPI_FUNC(int) Py_RunMain(void); + + +PyAPI_FUNC(void) _Py_NO_RETURN Py_ExitStatusException(PyStatus err); + +/* Restore signals that the interpreter has called SIG_IGN on to SIG_DFL. */ +PyAPI_FUNC(void) _Py_RestoreSignals(void); + +PyAPI_FUNC(int) Py_FdIsInteractive(FILE *, const char *); +PyAPI_FUNC(int) _Py_FdIsInteractive(FILE *fp, PyObject *filename); + +PyAPI_FUNC(void) _Py_SetProgramFullPath(const wchar_t *); + +PyAPI_FUNC(const char *) _Py_gitidentifier(void); +PyAPI_FUNC(const char *) _Py_gitversion(void); + +PyAPI_FUNC(int) _Py_IsFinalizing(void); + +/* Random */ +PyAPI_FUNC(int) _PyOS_URandom(void *buffer, Py_ssize_t size); +PyAPI_FUNC(int) _PyOS_URandomNonblock(void *buffer, Py_ssize_t size); + +/* Legacy locale support */ +PyAPI_FUNC(int) _Py_CoerceLegacyLocale(int warn); +PyAPI_FUNC(int) _Py_LegacyLocaleDetected(int warn); +PyAPI_FUNC(char *) _Py_SetLocaleFromEnv(int category); + +PyAPI_FUNC(PyThreadState *) _Py_NewInterpreter(int isolated_subinterpreter); diff --git a/_Python311_cpp/include/cpython/pymem.h b/_Pre_Builds/_Python310_cpp/include/cpython/pymem.h similarity index 100% rename from _Python311_cpp/include/cpython/pymem.h rename to _Pre_Builds/_Python310_cpp/include/cpython/pymem.h diff --git a/_Pre_Builds/_Python310_cpp/include/cpython/pystate.h b/_Pre_Builds/_Python310_cpp/include/cpython/pystate.h new file mode 100644 index 0000000..7c995b9 --- /dev/null +++ b/_Pre_Builds/_Python310_cpp/include/cpython/pystate.h @@ -0,0 +1,305 @@ +#ifndef Py_CPYTHON_PYSTATE_H +# error "this header file must not be included directly" +#endif + +PyAPI_FUNC(int) _PyInterpreterState_RequiresIDRef(PyInterpreterState *); +PyAPI_FUNC(void) _PyInterpreterState_RequireIDRef(PyInterpreterState *, int); + +PyAPI_FUNC(PyObject *) _PyInterpreterState_GetMainModule(PyInterpreterState *); + +/* State unique per thread */ + +/* Py_tracefunc return -1 when raising an exception, or 0 for success. */ +typedef int (*Py_tracefunc)(PyObject *, PyFrameObject *, int, PyObject *); + +/* The following values are used for 'what' for tracefunc functions + * + * To add a new kind of trace event, also update "trace_init" in + * Python/sysmodule.c to define the Python level event name + */ +#define PyTrace_CALL 0 +#define PyTrace_EXCEPTION 1 +#define PyTrace_LINE 2 +#define PyTrace_RETURN 3 +#define PyTrace_C_CALL 4 +#define PyTrace_C_EXCEPTION 5 +#define PyTrace_C_RETURN 6 +#define PyTrace_OPCODE 7 + + +typedef struct _cframe { + /* This struct will be threaded through the C stack + * allowing fast access to per-thread state that needs + * to be accessed quickly by the interpreter, but can + * be modified outside of the interpreter. + * + * WARNING: This makes data on the C stack accessible from + * heap objects. Care must be taken to maintain stack + * discipline and make sure that instances of this struct cannot + * accessed outside of their lifetime. + */ + int use_tracing; + struct _cframe *previous; +} CFrame; + +typedef struct _err_stackitem { + /* This struct represents an entry on the exception stack, which is a + * per-coroutine state. (Coroutine in the computer science sense, + * including the thread and generators). + * This ensures that the exception state is not impacted by "yields" + * from an except handler. + */ + PyObject *exc_type, *exc_value, *exc_traceback; + + struct _err_stackitem *previous_item; + +} _PyErr_StackItem; + + +// The PyThreadState typedef is in Include/pystate.h. +struct _ts { + /* See Python/ceval.c for comments explaining most fields */ + + struct _ts *prev; + struct _ts *next; + PyInterpreterState *interp; + + /* Borrowed reference to the current frame (it can be NULL) */ + PyFrameObject *frame; + int recursion_depth; + int recursion_headroom; /* Allow 50 more calls to handle any errors. */ + int stackcheck_counter; + + /* 'tracing' keeps track of the execution depth when tracing/profiling. + This is to prevent the actual trace/profile code from being recorded in + the trace/profile. */ + int tracing; + + /* Pointer to current CFrame in the C stack frame of the currently, + * or most recently, executing _PyEval_EvalFrameDefault. */ + CFrame *cframe; + + Py_tracefunc c_profilefunc; + Py_tracefunc c_tracefunc; + PyObject *c_profileobj; + PyObject *c_traceobj; + + /* The exception currently being raised */ + PyObject *curexc_type; + PyObject *curexc_value; + PyObject *curexc_traceback; + + /* The exception currently being handled, if no coroutines/generators + * are present. Always last element on the stack referred to be exc_info. + */ + _PyErr_StackItem exc_state; + + /* Pointer to the top of the stack of the exceptions currently + * being handled */ + _PyErr_StackItem *exc_info; + + PyObject *dict; /* Stores per-thread state */ + + int gilstate_counter; + + PyObject *async_exc; /* Asynchronous exception to raise */ + unsigned long thread_id; /* Thread id where this tstate was created */ + + int trash_delete_nesting; + PyObject *trash_delete_later; + + /* Called when a thread state is deleted normally, but not when it + * is destroyed after fork(). + * Pain: to prevent rare but fatal shutdown errors (issue 18808), + * Thread.join() must wait for the join'ed thread's tstate to be unlinked + * from the tstate chain. That happens at the end of a thread's life, + * in pystate.c. + * The obvious way doesn't quite work: create a lock which the tstate + * unlinking code releases, and have Thread.join() wait to acquire that + * lock. The problem is that we _are_ at the end of the thread's life: + * if the thread holds the last reference to the lock, decref'ing the + * lock will delete the lock, and that may trigger arbitrary Python code + * if there's a weakref, with a callback, to the lock. But by this time + * _PyRuntime.gilstate.tstate_current is already NULL, so only the simplest + * of C code can be allowed to run (in particular it must not be possible to + * release the GIL). + * So instead of holding the lock directly, the tstate holds a weakref to + * the lock: that's the value of on_delete_data below. Decref'ing a + * weakref is harmless. + * on_delete points to _threadmodule.c's static release_sentinel() function. + * After the tstate is unlinked, release_sentinel is called with the + * weakref-to-lock (on_delete_data) argument, and release_sentinel releases + * the indirectly held lock. + */ + void (*on_delete)(void *); + void *on_delete_data; + + int coroutine_origin_tracking_depth; + + PyObject *async_gen_firstiter; + PyObject *async_gen_finalizer; + + PyObject *context; + uint64_t context_ver; + + /* Unique thread state id. */ + uint64_t id; + + CFrame root_cframe; + + /* XXX signal handlers should also be here */ + +}; + +// Alias for backward compatibility with Python 3.8 +#define _PyInterpreterState_Get PyInterpreterState_Get + +PyAPI_FUNC(PyThreadState *) _PyThreadState_Prealloc(PyInterpreterState *); + +/* Similar to PyThreadState_Get(), but don't issue a fatal error + * if it is NULL. */ +PyAPI_FUNC(PyThreadState *) _PyThreadState_UncheckedGet(void); + +PyAPI_FUNC(PyObject *) _PyThreadState_GetDict(PyThreadState *tstate); + +/* PyGILState */ + +/* Helper/diagnostic function - return 1 if the current thread + currently holds the GIL, 0 otherwise. + + The function returns 1 if _PyGILState_check_enabled is non-zero. */ +PyAPI_FUNC(int) PyGILState_Check(void); + +/* Get the single PyInterpreterState used by this process' GILState + implementation. + + This function doesn't check for error. Return NULL before _PyGILState_Init() + is called and after _PyGILState_Fini() is called. + + See also _PyInterpreterState_Get() and _PyInterpreterState_GET(). */ +PyAPI_FUNC(PyInterpreterState *) _PyGILState_GetInterpreterStateUnsafe(void); + +/* The implementation of sys._current_frames() Returns a dict mapping + thread id to that thread's current frame. +*/ +PyAPI_FUNC(PyObject *) _PyThread_CurrentFrames(void); + +/* The implementation of sys._current_exceptions() Returns a dict mapping + thread id to that thread's current exception. +*/ +PyAPI_FUNC(PyObject *) _PyThread_CurrentExceptions(void); + +/* Routines for advanced debuggers, requested by David Beazley. + Don't use unless you know what you are doing! */ +PyAPI_FUNC(PyInterpreterState *) PyInterpreterState_Main(void); +PyAPI_FUNC(PyInterpreterState *) PyInterpreterState_Head(void); +PyAPI_FUNC(PyInterpreterState *) PyInterpreterState_Next(PyInterpreterState *); +PyAPI_FUNC(PyThreadState *) PyInterpreterState_ThreadHead(PyInterpreterState *); +PyAPI_FUNC(PyThreadState *) PyThreadState_Next(PyThreadState *); +PyAPI_FUNC(void) PyThreadState_DeleteCurrent(void); + +/* Frame evaluation API */ + +typedef PyObject* (*_PyFrameEvalFunction)(PyThreadState *tstate, PyFrameObject *, int); + +PyAPI_FUNC(_PyFrameEvalFunction) _PyInterpreterState_GetEvalFrameFunc( + PyInterpreterState *interp); +PyAPI_FUNC(void) _PyInterpreterState_SetEvalFrameFunc( + PyInterpreterState *interp, + _PyFrameEvalFunction eval_frame); + +PyAPI_FUNC(const PyConfig*) _PyInterpreterState_GetConfig(PyInterpreterState *interp); + +/* Get a copy of the current interpreter configuration. + + Return 0 on success. Raise an exception and return -1 on error. + + The caller must initialize 'config', using PyConfig_InitPythonConfig() + for example. + + Python must be preinitialized to call this method. + The caller must hold the GIL. */ +PyAPI_FUNC(int) _PyInterpreterState_GetConfigCopy( + struct PyConfig *config); + +/* Set the configuration of the current interpreter. + + This function should be called during or just after the Python + initialization. + + Update the sys module with the new configuration. If the sys module was + modified directly after the Python initialization, these changes are lost. + + Some configuration like faulthandler or warnoptions can be updated in the + configuration, but don't reconfigure Python (don't enable/disable + faulthandler and don't reconfigure warnings filters). + + Return 0 on success. Raise an exception and return -1 on error. + + The configuration should come from _PyInterpreterState_GetConfigCopy(). */ +PyAPI_FUNC(int) _PyInterpreterState_SetConfig( + const struct PyConfig *config); + +// Get the configuration of the current interpreter. +// The caller must hold the GIL. +PyAPI_FUNC(const PyConfig*) _Py_GetConfig(void); + + +/* cross-interpreter data */ + +struct _xid; + +// _PyCrossInterpreterData is similar to Py_buffer as an effectively +// opaque struct that holds data outside the object machinery. This +// is necessary to pass safely between interpreters in the same process. +typedef struct _xid { + // data is the cross-interpreter-safe derivation of a Python object + // (see _PyObject_GetCrossInterpreterData). It will be NULL if the + // new_object func (below) encodes the data. + void *data; + // obj is the Python object from which the data was derived. This + // is non-NULL only if the data remains bound to the object in some + // way, such that the object must be "released" (via a decref) when + // the data is released. In that case the code that sets the field, + // likely a registered "crossinterpdatafunc", is responsible for + // ensuring it owns the reference (i.e. incref). + PyObject *obj; + // interp is the ID of the owning interpreter of the original + // object. It corresponds to the active interpreter when + // _PyObject_GetCrossInterpreterData() was called. This should only + // be set by the cross-interpreter machinery. + // + // We use the ID rather than the PyInterpreterState to avoid issues + // with deleted interpreters. Note that IDs are never re-used, so + // each one will always correspond to a specific interpreter + // (whether still alive or not). + int64_t interp; + // new_object is a function that returns a new object in the current + // interpreter given the data. The resulting object (a new + // reference) will be equivalent to the original object. This field + // is required. + PyObject *(*new_object)(struct _xid *); + // free is called when the data is released. If it is NULL then + // nothing will be done to free the data. For some types this is + // okay (e.g. bytes) and for those types this field should be set + // to NULL. However, for most the data was allocated just for + // cross-interpreter use, so it must be freed when + // _PyCrossInterpreterData_Release is called or the memory will + // leak. In that case, at the very least this field should be set + // to PyMem_RawFree (the default if not explicitly set to NULL). + // The call will happen with the original interpreter activated. + void (*free)(void *); +} _PyCrossInterpreterData; + +PyAPI_FUNC(int) _PyObject_GetCrossInterpreterData(PyObject *, _PyCrossInterpreterData *); +PyAPI_FUNC(PyObject *) _PyCrossInterpreterData_NewObject(_PyCrossInterpreterData *); +PyAPI_FUNC(void) _PyCrossInterpreterData_Release(_PyCrossInterpreterData *); + +PyAPI_FUNC(int) _PyObject_CheckCrossInterpreterData(PyObject *); + +/* cross-interpreter data registry */ + +typedef int (*crossinterpdatafunc)(PyObject *, struct _xid *); + +PyAPI_FUNC(int) _PyCrossInterpreterData_RegisterClass(PyTypeObject *, crossinterpdatafunc); +PyAPI_FUNC(crossinterpdatafunc) _PyCrossInterpreterData_Lookup(PyObject *); diff --git a/_Python311_cpp/include/cpython/pythonrun.h b/_Pre_Builds/_Python310_cpp/include/cpython/pythonrun.h similarity index 100% rename from _Python311_cpp/include/cpython/pythonrun.h rename to _Pre_Builds/_Python310_cpp/include/cpython/pythonrun.h diff --git a/_Pre_Builds/_Python310_cpp/include/cpython/pytime.h b/_Pre_Builds/_Python310_cpp/include/cpython/pytime.h new file mode 100644 index 0000000..754c7f4 --- /dev/null +++ b/_Pre_Builds/_Python310_cpp/include/cpython/pytime.h @@ -0,0 +1,247 @@ +#ifndef Py_LIMITED_API +#ifndef Py_PYTIME_H +#define Py_PYTIME_H + +/************************************************************************** +Symbols and macros to supply platform-independent interfaces to time related +functions and constants +**************************************************************************/ +#ifdef __cplusplus +extern "C" { +#endif + +/* _PyTime_t: Python timestamp with subsecond precision. It can be used to + store a duration, and so indirectly a date (related to another date, like + UNIX epoch). */ +typedef int64_t _PyTime_t; +#define _PyTime_MIN INT64_MIN +#define _PyTime_MAX INT64_MAX + +typedef enum { + /* Round towards minus infinity (-inf). + For example, used to read a clock. */ + _PyTime_ROUND_FLOOR=0, + /* Round towards infinity (+inf). + For example, used for timeout to wait "at least" N seconds. */ + _PyTime_ROUND_CEILING=1, + /* Round to nearest with ties going to nearest even integer. + For example, used to round from a Python float. */ + _PyTime_ROUND_HALF_EVEN=2, + /* Round away from zero + For example, used for timeout. _PyTime_ROUND_CEILING rounds + -1e-9 to 0 milliseconds which causes bpo-31786 issue. + _PyTime_ROUND_UP rounds -1e-9 to -1 millisecond which keeps + the timeout sign as expected. select.poll(timeout) must block + for negative values." */ + _PyTime_ROUND_UP=3, + /* _PyTime_ROUND_TIMEOUT (an alias for _PyTime_ROUND_UP) should be + used for timeouts. */ + _PyTime_ROUND_TIMEOUT = _PyTime_ROUND_UP +} _PyTime_round_t; + + +/* Convert a time_t to a PyLong. */ +PyAPI_FUNC(PyObject *) _PyLong_FromTime_t( + time_t sec); + +/* Convert a PyLong to a time_t. */ +PyAPI_FUNC(time_t) _PyLong_AsTime_t( + PyObject *obj); + +/* Convert a number of seconds, int or float, to time_t. */ +PyAPI_FUNC(int) _PyTime_ObjectToTime_t( + PyObject *obj, + time_t *sec, + _PyTime_round_t); + +/* Convert a number of seconds, int or float, to a timeval structure. + usec is in the range [0; 999999] and rounded towards zero. + For example, -1.2 is converted to (-2, 800000). */ +PyAPI_FUNC(int) _PyTime_ObjectToTimeval( + PyObject *obj, + time_t *sec, + long *usec, + _PyTime_round_t); + +/* Convert a number of seconds, int or float, to a timespec structure. + nsec is in the range [0; 999999999] and rounded towards zero. + For example, -1.2 is converted to (-2, 800000000). */ +PyAPI_FUNC(int) _PyTime_ObjectToTimespec( + PyObject *obj, + time_t *sec, + long *nsec, + _PyTime_round_t); + + +/* Create a timestamp from a number of seconds. */ +PyAPI_FUNC(_PyTime_t) _PyTime_FromSeconds(int seconds); + +/* Macro to create a timestamp from a number of seconds, no integer overflow. + Only use the macro for small values, prefer _PyTime_FromSeconds(). */ +#define _PYTIME_FROMSECONDS(seconds) \ + ((_PyTime_t)(seconds) * (1000 * 1000 * 1000)) + +/* Create a timestamp from a number of nanoseconds. */ +PyAPI_FUNC(_PyTime_t) _PyTime_FromNanoseconds(_PyTime_t ns); + +/* Create a timestamp from nanoseconds (Python int). */ +PyAPI_FUNC(int) _PyTime_FromNanosecondsObject(_PyTime_t *t, + PyObject *obj); + +/* Convert a number of seconds (Python float or int) to a timestamp. + Raise an exception and return -1 on error, return 0 on success. */ +PyAPI_FUNC(int) _PyTime_FromSecondsObject(_PyTime_t *t, + PyObject *obj, + _PyTime_round_t round); + +/* Convert a number of milliseconds (Python float or int, 10^-3) to a timestamp. + Raise an exception and return -1 on error, return 0 on success. */ +PyAPI_FUNC(int) _PyTime_FromMillisecondsObject(_PyTime_t *t, + PyObject *obj, + _PyTime_round_t round); + +/* Convert a timestamp to a number of seconds as a C double. */ +PyAPI_FUNC(double) _PyTime_AsSecondsDouble(_PyTime_t t); + +/* Convert timestamp to a number of milliseconds (10^-3 seconds). */ +PyAPI_FUNC(_PyTime_t) _PyTime_AsMilliseconds(_PyTime_t t, + _PyTime_round_t round); + +/* Convert timestamp to a number of microseconds (10^-6 seconds). */ +PyAPI_FUNC(_PyTime_t) _PyTime_AsMicroseconds(_PyTime_t t, + _PyTime_round_t round); + +/* Convert timestamp to a number of nanoseconds (10^-9 seconds) as a Python int + object. */ +PyAPI_FUNC(PyObject *) _PyTime_AsNanosecondsObject(_PyTime_t t); + +/* Create a timestamp from a timeval structure. + Raise an exception and return -1 on overflow, return 0 on success. */ +PyAPI_FUNC(int) _PyTime_FromTimeval(_PyTime_t *tp, struct timeval *tv); + +/* Convert a timestamp to a timeval structure (microsecond resolution). + tv_usec is always positive. + Raise an exception and return -1 if the conversion overflowed, + return 0 on success. */ +PyAPI_FUNC(int) _PyTime_AsTimeval(_PyTime_t t, + struct timeval *tv, + _PyTime_round_t round); + +/* Similar to _PyTime_AsTimeval(), but don't raise an exception on error. */ +PyAPI_FUNC(int) _PyTime_AsTimeval_noraise(_PyTime_t t, + struct timeval *tv, + _PyTime_round_t round); + +/* Convert a timestamp to a number of seconds (secs) and microseconds (us). + us is always positive. This function is similar to _PyTime_AsTimeval() + except that secs is always a time_t type, whereas the timeval structure + uses a C long for tv_sec on Windows. + Raise an exception and return -1 if the conversion overflowed, + return 0 on success. */ +PyAPI_FUNC(int) _PyTime_AsTimevalTime_t( + _PyTime_t t, + time_t *secs, + int *us, + _PyTime_round_t round); + +#if defined(HAVE_CLOCK_GETTIME) || defined(HAVE_KQUEUE) +/* Create a timestamp from a timespec structure. + Raise an exception and return -1 on overflow, return 0 on success. */ +PyAPI_FUNC(int) _PyTime_FromTimespec(_PyTime_t *tp, struct timespec *ts); + +/* Convert a timestamp to a timespec structure (nanosecond resolution). + tv_nsec is always positive. + Raise an exception and return -1 on error, return 0 on success. */ +PyAPI_FUNC(int) _PyTime_AsTimespec(_PyTime_t t, struct timespec *ts); +#endif + +/* Compute ticks * mul / div. + The caller must ensure that ((div - 1) * mul) cannot overflow. */ +PyAPI_FUNC(_PyTime_t) _PyTime_MulDiv(_PyTime_t ticks, + _PyTime_t mul, + _PyTime_t div); + +/* Structure used by time.get_clock_info() */ +typedef struct { + const char *implementation; + int monotonic; + int adjustable; + double resolution; +} _Py_clock_info_t; + +/* Get the current time from the system clock. + + If the internal clock fails, silently ignore the error and return 0. + On integer overflow, silently ignore the overflow and truncated the clock to + _PyTime_MIN or _PyTime_MAX. + + Use _PyTime_GetSystemClockWithInfo() to check for failure. */ +PyAPI_FUNC(_PyTime_t) _PyTime_GetSystemClock(void); + +/* Get the current time from the system clock. + * On success, set *t and *info (if not NULL), and return 0. + * On error, raise an exception and return -1. + */ +PyAPI_FUNC(int) _PyTime_GetSystemClockWithInfo( + _PyTime_t *t, + _Py_clock_info_t *info); + +/* Get the time of a monotonic clock, i.e. a clock that cannot go backwards. + The clock is not affected by system clock updates. The reference point of + the returned value is undefined, so that only the difference between the + results of consecutive calls is valid. + + If the internal clock fails, silently ignore the error and return 0. + On integer overflow, silently ignore the overflow and truncated the clock to + _PyTime_MIN or _PyTime_MAX. + + Use _PyTime_GetMonotonicClockWithInfo() to check for failure. */ +PyAPI_FUNC(_PyTime_t) _PyTime_GetMonotonicClock(void); + +/* Get the time of a monotonic clock, i.e. a clock that cannot go backwards. + The clock is not affected by system clock updates. The reference point of + the returned value is undefined, so that only the difference between the + results of consecutive calls is valid. + + Fill info (if set) with information of the function used to get the time. + + Return 0 on success, raise an exception and return -1 on error. */ +PyAPI_FUNC(int) _PyTime_GetMonotonicClockWithInfo( + _PyTime_t *t, + _Py_clock_info_t *info); + + +/* Converts a timestamp to the Gregorian time, using the local time zone. + Return 0 on success, raise an exception and return -1 on error. */ +PyAPI_FUNC(int) _PyTime_localtime(time_t t, struct tm *tm); + +/* Converts a timestamp to the Gregorian time, assuming UTC. + Return 0 on success, raise an exception and return -1 on error. */ +PyAPI_FUNC(int) _PyTime_gmtime(time_t t, struct tm *tm); + +/* Get the performance counter: clock with the highest available resolution to + measure a short duration. + + If the internal clock fails, silently ignore the error and return 0. + On integer overflow, silently ignore the overflow and truncated the clock to + _PyTime_MIN or _PyTime_MAX. + + Use _PyTime_GetPerfCounterWithInfo() to check for failure. */ +PyAPI_FUNC(_PyTime_t) _PyTime_GetPerfCounter(void); + +/* Get the performance counter: clock with the highest available resolution to + measure a short duration. + + Fill info (if set) with information of the function used to get the time. + + Return 0 on success, raise an exception and return -1 on error. */ +PyAPI_FUNC(int) _PyTime_GetPerfCounterWithInfo( + _PyTime_t *t, + _Py_clock_info_t *info); + +#ifdef __cplusplus +} +#endif + +#endif /* Py_PYTIME_H */ +#endif /* Py_LIMITED_API */ diff --git a/_Pre_Builds/_Python310_cpp/include/cpython/sysmodule.h b/_Pre_Builds/_Python310_cpp/include/cpython/sysmodule.h new file mode 100644 index 0000000..fc4c899 --- /dev/null +++ b/_Pre_Builds/_Python310_cpp/include/cpython/sysmodule.h @@ -0,0 +1,16 @@ +#ifndef Py_CPYTHON_SYSMODULE_H +# error "this header file must not be included directly" +#endif + +PyAPI_FUNC(PyObject *) _PySys_GetObjectId(_Py_Identifier *key); +PyAPI_FUNC(int) _PySys_SetObjectId(_Py_Identifier *key, PyObject *); + +PyAPI_FUNC(size_t) _PySys_GetSizeOf(PyObject *); + +typedef int(*Py_AuditHookFunction)(const char *, PyObject *, void *); + +PyAPI_FUNC(int) PySys_Audit( + const char *event, + const char *argFormat, + ...); +PyAPI_FUNC(int) PySys_AddAuditHook(Py_AuditHookFunction, void*); diff --git a/_Pre_Builds/_Python310_cpp/include/cpython/traceback.h b/_Pre_Builds/_Python310_cpp/include/cpython/traceback.h new file mode 100644 index 0000000..aac5b42 --- /dev/null +++ b/_Pre_Builds/_Python310_cpp/include/cpython/traceback.h @@ -0,0 +1,14 @@ +#ifndef Py_CPYTHON_TRACEBACK_H +# error "this header file must not be included directly" +#endif + +typedef struct _traceback { + PyObject_HEAD + struct _traceback *tb_next; + PyFrameObject *tb_frame; + int tb_lasti; + int tb_lineno; +} PyTracebackObject; + +PyAPI_FUNC(int) _Py_DisplaySourceLine(PyObject *, PyObject *, int, int); +PyAPI_FUNC(void) _PyTraceback_Add(const char *, const char *, int); diff --git a/_Pre_Builds/_Python310_cpp/include/cpython/tupleobject.h b/_Pre_Builds/_Python310_cpp/include/cpython/tupleobject.h new file mode 100644 index 0000000..7cada88 --- /dev/null +++ b/_Pre_Builds/_Python310_cpp/include/cpython/tupleobject.h @@ -0,0 +1,28 @@ +#ifndef Py_CPYTHON_TUPLEOBJECT_H +# error "this header file must not be included directly" +#endif + +typedef struct { + PyObject_VAR_HEAD + /* ob_item contains space for 'ob_size' elements. + Items must normally not be NULL, except during construction when + the tuple is not yet visible outside the function that builds it. */ + PyObject *ob_item[1]; +} PyTupleObject; + +PyAPI_FUNC(int) _PyTuple_Resize(PyObject **, Py_ssize_t); +PyAPI_FUNC(void) _PyTuple_MaybeUntrack(PyObject *); + +/* Macros trading safety for speed */ + +/* Cast argument to PyTupleObject* type. */ +#define _PyTuple_CAST(op) (assert(PyTuple_Check(op)), (PyTupleObject *)(op)) + +#define PyTuple_GET_SIZE(op) Py_SIZE(_PyTuple_CAST(op)) + +#define PyTuple_GET_ITEM(op, i) (_PyTuple_CAST(op)->ob_item[i]) + +/* Macro, *only* to be used to fill in brand new tuples */ +#define PyTuple_SET_ITEM(op, i, v) ((void)(_PyTuple_CAST(op)->ob_item[i] = v)) + +PyAPI_FUNC(void) _PyTuple_DebugMallocStats(FILE *out); diff --git a/_Pre_Builds/_Python310_cpp/include/cpython/unicodeobject.h b/_Pre_Builds/_Python310_cpp/include/cpython/unicodeobject.h new file mode 100644 index 0000000..0761f01 --- /dev/null +++ b/_Pre_Builds/_Python310_cpp/include/cpython/unicodeobject.h @@ -0,0 +1,1169 @@ +#ifndef Py_CPYTHON_UNICODEOBJECT_H +# error "this header file must not be included directly" +#endif + +/* Py_UNICODE was the native Unicode storage format (code unit) used by + Python and represents a single Unicode element in the Unicode type. + With PEP 393, Py_UNICODE is deprecated and replaced with a + typedef to wchar_t. */ +#define PY_UNICODE_TYPE wchar_t +/* Py_DEPRECATED(3.3) */ typedef wchar_t Py_UNICODE; + +/* --- Internal Unicode Operations ---------------------------------------- */ + +#ifndef USE_UNICODE_WCHAR_CACHE +# define USE_UNICODE_WCHAR_CACHE 1 +#endif /* USE_UNICODE_WCHAR_CACHE */ + +/* Since splitting on whitespace is an important use case, and + whitespace in most situations is solely ASCII whitespace, we + optimize for the common case by using a quick look-up table + _Py_ascii_whitespace (see below) with an inlined check. + + */ +#define Py_UNICODE_ISSPACE(ch) \ + ((Py_UCS4)(ch) < 128U ? _Py_ascii_whitespace[(ch)] : _PyUnicode_IsWhitespace(ch)) + +#define Py_UNICODE_ISLOWER(ch) _PyUnicode_IsLowercase(ch) +#define Py_UNICODE_ISUPPER(ch) _PyUnicode_IsUppercase(ch) +#define Py_UNICODE_ISTITLE(ch) _PyUnicode_IsTitlecase(ch) +#define Py_UNICODE_ISLINEBREAK(ch) _PyUnicode_IsLinebreak(ch) + +#define Py_UNICODE_TOLOWER(ch) _PyUnicode_ToLowercase(ch) +#define Py_UNICODE_TOUPPER(ch) _PyUnicode_ToUppercase(ch) +#define Py_UNICODE_TOTITLE(ch) _PyUnicode_ToTitlecase(ch) + +#define Py_UNICODE_ISDECIMAL(ch) _PyUnicode_IsDecimalDigit(ch) +#define Py_UNICODE_ISDIGIT(ch) _PyUnicode_IsDigit(ch) +#define Py_UNICODE_ISNUMERIC(ch) _PyUnicode_IsNumeric(ch) +#define Py_UNICODE_ISPRINTABLE(ch) _PyUnicode_IsPrintable(ch) + +#define Py_UNICODE_TODECIMAL(ch) _PyUnicode_ToDecimalDigit(ch) +#define Py_UNICODE_TODIGIT(ch) _PyUnicode_ToDigit(ch) +#define Py_UNICODE_TONUMERIC(ch) _PyUnicode_ToNumeric(ch) + +#define Py_UNICODE_ISALPHA(ch) _PyUnicode_IsAlpha(ch) + +#define Py_UNICODE_ISALNUM(ch) \ + (Py_UNICODE_ISALPHA(ch) || \ + Py_UNICODE_ISDECIMAL(ch) || \ + Py_UNICODE_ISDIGIT(ch) || \ + Py_UNICODE_ISNUMERIC(ch)) + +Py_DEPRECATED(3.3) static inline void +Py_UNICODE_COPY(Py_UNICODE *target, const Py_UNICODE *source, Py_ssize_t length) { + memcpy(target, source, (size_t)(length) * sizeof(Py_UNICODE)); +} + +Py_DEPRECATED(3.3) static inline void +Py_UNICODE_FILL(Py_UNICODE *target, Py_UNICODE value, Py_ssize_t length) { + Py_ssize_t i; + for (i = 0; i < length; i++) { + target[i] = value; + } +} + +/* macros to work with surrogates */ +#define Py_UNICODE_IS_SURROGATE(ch) (0xD800 <= (ch) && (ch) <= 0xDFFF) +#define Py_UNICODE_IS_HIGH_SURROGATE(ch) (0xD800 <= (ch) && (ch) <= 0xDBFF) +#define Py_UNICODE_IS_LOW_SURROGATE(ch) (0xDC00 <= (ch) && (ch) <= 0xDFFF) +/* Join two surrogate characters and return a single Py_UCS4 value. */ +#define Py_UNICODE_JOIN_SURROGATES(high, low) \ + (((((Py_UCS4)(high) & 0x03FF) << 10) | \ + ((Py_UCS4)(low) & 0x03FF)) + 0x10000) +/* high surrogate = top 10 bits added to D800 */ +#define Py_UNICODE_HIGH_SURROGATE(ch) (0xD800 - (0x10000 >> 10) + ((ch) >> 10)) +/* low surrogate = bottom 10 bits added to DC00 */ +#define Py_UNICODE_LOW_SURROGATE(ch) (0xDC00 + ((ch) & 0x3FF)) + +/* --- Unicode Type ------------------------------------------------------- */ + +/* ASCII-only strings created through PyUnicode_New use the PyASCIIObject + structure. state.ascii and state.compact are set, and the data + immediately follow the structure. utf8_length and wstr_length can be found + in the length field; the utf8 pointer is equal to the data pointer. */ +typedef struct { + /* There are 4 forms of Unicode strings: + + - compact ascii: + + * structure = PyASCIIObject + * test: PyUnicode_IS_COMPACT_ASCII(op) + * kind = PyUnicode_1BYTE_KIND + * compact = 1 + * ascii = 1 + * ready = 1 + * (length is the length of the utf8 and wstr strings) + * (data starts just after the structure) + * (since ASCII is decoded from UTF-8, the utf8 string are the data) + + - compact: + + * structure = PyCompactUnicodeObject + * test: PyUnicode_IS_COMPACT(op) && !PyUnicode_IS_ASCII(op) + * kind = PyUnicode_1BYTE_KIND, PyUnicode_2BYTE_KIND or + PyUnicode_4BYTE_KIND + * compact = 1 + * ready = 1 + * ascii = 0 + * utf8 is not shared with data + * utf8_length = 0 if utf8 is NULL + * wstr is shared with data and wstr_length=length + if kind=PyUnicode_2BYTE_KIND and sizeof(wchar_t)=2 + or if kind=PyUnicode_4BYTE_KIND and sizeof(wchar_t)=4 + * wstr_length = 0 if wstr is NULL + * (data starts just after the structure) + + - legacy string, not ready: + + * structure = PyUnicodeObject + * test: kind == PyUnicode_WCHAR_KIND + * length = 0 (use wstr_length) + * hash = -1 + * kind = PyUnicode_WCHAR_KIND + * compact = 0 + * ascii = 0 + * ready = 0 + * interned = SSTATE_NOT_INTERNED + * wstr is not NULL + * data.any is NULL + * utf8 is NULL + * utf8_length = 0 + + - legacy string, ready: + + * structure = PyUnicodeObject structure + * test: !PyUnicode_IS_COMPACT(op) && kind != PyUnicode_WCHAR_KIND + * kind = PyUnicode_1BYTE_KIND, PyUnicode_2BYTE_KIND or + PyUnicode_4BYTE_KIND + * compact = 0 + * ready = 1 + * data.any is not NULL + * utf8 is shared and utf8_length = length with data.any if ascii = 1 + * utf8_length = 0 if utf8 is NULL + * wstr is shared with data.any and wstr_length = length + if kind=PyUnicode_2BYTE_KIND and sizeof(wchar_t)=2 + or if kind=PyUnicode_4BYTE_KIND and sizeof(wchar_4)=4 + * wstr_length = 0 if wstr is NULL + + Compact strings use only one memory block (structure + characters), + whereas legacy strings use one block for the structure and one block + for characters. + + Legacy strings are created by PyUnicode_FromUnicode() and + PyUnicode_FromStringAndSize(NULL, size) functions. They become ready + when PyUnicode_READY() is called. + + See also _PyUnicode_CheckConsistency(). + */ + PyObject_HEAD + Py_ssize_t length; /* Number of code points in the string */ + Py_hash_t hash; /* Hash value; -1 if not set */ + struct { + /* + SSTATE_NOT_INTERNED (0) + SSTATE_INTERNED_MORTAL (1) + SSTATE_INTERNED_IMMORTAL (2) + + If interned != SSTATE_NOT_INTERNED, the two references from the + dictionary to this object are *not* counted in ob_refcnt. + */ + unsigned int interned:2; + /* Character size: + + - PyUnicode_WCHAR_KIND (0): + + * character type = wchar_t (16 or 32 bits, depending on the + platform) + + - PyUnicode_1BYTE_KIND (1): + + * character type = Py_UCS1 (8 bits, unsigned) + * all characters are in the range U+0000-U+00FF (latin1) + * if ascii is set, all characters are in the range U+0000-U+007F + (ASCII), otherwise at least one character is in the range + U+0080-U+00FF + + - PyUnicode_2BYTE_KIND (2): + + * character type = Py_UCS2 (16 bits, unsigned) + * all characters are in the range U+0000-U+FFFF (BMP) + * at least one character is in the range U+0100-U+FFFF + + - PyUnicode_4BYTE_KIND (4): + + * character type = Py_UCS4 (32 bits, unsigned) + * all characters are in the range U+0000-U+10FFFF + * at least one character is in the range U+10000-U+10FFFF + */ + unsigned int kind:3; + /* Compact is with respect to the allocation scheme. Compact unicode + objects only require one memory block while non-compact objects use + one block for the PyUnicodeObject struct and another for its data + buffer. */ + unsigned int compact:1; + /* The string only contains characters in the range U+0000-U+007F (ASCII) + and the kind is PyUnicode_1BYTE_KIND. If ascii is set and compact is + set, use the PyASCIIObject structure. */ + unsigned int ascii:1; + /* The ready flag indicates whether the object layout is initialized + completely. This means that this is either a compact object, or + the data pointer is filled out. The bit is redundant, and helps + to minimize the test in PyUnicode_IS_READY(). */ + unsigned int ready:1; + /* Padding to ensure that PyUnicode_DATA() is always aligned to + 4 bytes (see issue #19537 on m68k). */ + unsigned int :24; + } state; + wchar_t *wstr; /* wchar_t representation (null-terminated) */ +} PyASCIIObject; + +/* Non-ASCII strings allocated through PyUnicode_New use the + PyCompactUnicodeObject structure. state.compact is set, and the data + immediately follow the structure. */ +typedef struct { + PyASCIIObject _base; + Py_ssize_t utf8_length; /* Number of bytes in utf8, excluding the + * terminating \0. */ + char *utf8; /* UTF-8 representation (null-terminated) */ + Py_ssize_t wstr_length; /* Number of code points in wstr, possible + * surrogates count as two code points. */ +} PyCompactUnicodeObject; + +/* Strings allocated through PyUnicode_FromUnicode(NULL, len) use the + PyUnicodeObject structure. The actual string data is initially in the wstr + block, and copied into the data block using _PyUnicode_Ready. */ +typedef struct { + PyCompactUnicodeObject _base; + union { + void *any; + Py_UCS1 *latin1; + Py_UCS2 *ucs2; + Py_UCS4 *ucs4; + } data; /* Canonical, smallest-form Unicode buffer */ +} PyUnicodeObject; + +PyAPI_FUNC(int) _PyUnicode_CheckConsistency( + PyObject *op, + int check_content); + +/* Fast access macros */ + +/* Returns the deprecated Py_UNICODE representation's size in code units + (this includes surrogate pairs as 2 units). + If the Py_UNICODE representation is not available, it will be computed + on request. Use PyUnicode_GET_LENGTH() for the length in code points. */ + +/* Py_DEPRECATED(3.3) */ +#define PyUnicode_GET_SIZE(op) \ + (assert(PyUnicode_Check(op)), \ + (((PyASCIIObject *)(op))->wstr) ? \ + PyUnicode_WSTR_LENGTH(op) : \ + ((void)PyUnicode_AsUnicode(_PyObject_CAST(op)),\ + assert(((PyASCIIObject *)(op))->wstr), \ + PyUnicode_WSTR_LENGTH(op))) + +/* Py_DEPRECATED(3.3) */ +#define PyUnicode_GET_DATA_SIZE(op) \ + (PyUnicode_GET_SIZE(op) * Py_UNICODE_SIZE) + +/* Alias for PyUnicode_AsUnicode(). This will create a wchar_t/Py_UNICODE + representation on demand. Using this macro is very inefficient now, + try to port your code to use the new PyUnicode_*BYTE_DATA() macros or + use PyUnicode_WRITE() and PyUnicode_READ(). */ + +/* Py_DEPRECATED(3.3) */ +#define PyUnicode_AS_UNICODE(op) \ + (assert(PyUnicode_Check(op)), \ + (((PyASCIIObject *)(op))->wstr) ? (((PyASCIIObject *)(op))->wstr) : \ + PyUnicode_AsUnicode(_PyObject_CAST(op))) + +/* Py_DEPRECATED(3.3) */ +#define PyUnicode_AS_DATA(op) \ + ((const char *)(PyUnicode_AS_UNICODE(op))) + + +/* --- Flexible String Representation Helper Macros (PEP 393) -------------- */ + +/* Values for PyASCIIObject.state: */ + +/* Interning state. */ +#define SSTATE_NOT_INTERNED 0 +#define SSTATE_INTERNED_MORTAL 1 +#define SSTATE_INTERNED_IMMORTAL 2 + +/* Return true if the string contains only ASCII characters, or 0 if not. The + string may be compact (PyUnicode_IS_COMPACT_ASCII) or not, but must be + ready. */ +#define PyUnicode_IS_ASCII(op) \ + (assert(PyUnicode_Check(op)), \ + assert(PyUnicode_IS_READY(op)), \ + ((PyASCIIObject*)op)->state.ascii) + +/* Return true if the string is compact or 0 if not. + No type checks or Ready calls are performed. */ +#define PyUnicode_IS_COMPACT(op) \ + (((PyASCIIObject*)(op))->state.compact) + +/* Return true if the string is a compact ASCII string (use PyASCIIObject + structure), or 0 if not. No type checks or Ready calls are performed. */ +#define PyUnicode_IS_COMPACT_ASCII(op) \ + (((PyASCIIObject*)op)->state.ascii && PyUnicode_IS_COMPACT(op)) + +enum PyUnicode_Kind { +/* String contains only wstr byte characters. This is only possible + when the string was created with a legacy API and _PyUnicode_Ready() + has not been called yet. */ + PyUnicode_WCHAR_KIND = 0, +/* Return values of the PyUnicode_KIND() macro: */ + PyUnicode_1BYTE_KIND = 1, + PyUnicode_2BYTE_KIND = 2, + PyUnicode_4BYTE_KIND = 4 +}; + +/* Return pointers to the canonical representation cast to unsigned char, + Py_UCS2, or Py_UCS4 for direct character access. + No checks are performed, use PyUnicode_KIND() before to ensure + these will work correctly. */ + +#define PyUnicode_1BYTE_DATA(op) ((Py_UCS1*)PyUnicode_DATA(op)) +#define PyUnicode_2BYTE_DATA(op) ((Py_UCS2*)PyUnicode_DATA(op)) +#define PyUnicode_4BYTE_DATA(op) ((Py_UCS4*)PyUnicode_DATA(op)) + +/* Return one of the PyUnicode_*_KIND values defined above. */ +#define PyUnicode_KIND(op) \ + (assert(PyUnicode_Check(op)), \ + assert(PyUnicode_IS_READY(op)), \ + ((PyASCIIObject *)(op))->state.kind) + +/* Return a void pointer to the raw unicode buffer. */ +#define _PyUnicode_COMPACT_DATA(op) \ + (PyUnicode_IS_ASCII(op) ? \ + ((void*)((PyASCIIObject*)(op) + 1)) : \ + ((void*)((PyCompactUnicodeObject*)(op) + 1))) + +#define _PyUnicode_NONCOMPACT_DATA(op) \ + (assert(((PyUnicodeObject*)(op))->data.any), \ + ((((PyUnicodeObject *)(op))->data.any))) + +#define PyUnicode_DATA(op) \ + (assert(PyUnicode_Check(op)), \ + PyUnicode_IS_COMPACT(op) ? _PyUnicode_COMPACT_DATA(op) : \ + _PyUnicode_NONCOMPACT_DATA(op)) + +/* In the access macros below, "kind" may be evaluated more than once. + All other macro parameters are evaluated exactly once, so it is safe + to put side effects into them (such as increasing the index). */ + +/* Write into the canonical representation, this macro does not do any sanity + checks and is intended for usage in loops. The caller should cache the + kind and data pointers obtained from other macro calls. + index is the index in the string (starts at 0) and value is the new + code point value which should be written to that location. */ +#define PyUnicode_WRITE(kind, data, index, value) \ + do { \ + switch ((kind)) { \ + case PyUnicode_1BYTE_KIND: { \ + ((Py_UCS1 *)(data))[(index)] = (Py_UCS1)(value); \ + break; \ + } \ + case PyUnicode_2BYTE_KIND: { \ + ((Py_UCS2 *)(data))[(index)] = (Py_UCS2)(value); \ + break; \ + } \ + default: { \ + assert((kind) == PyUnicode_4BYTE_KIND); \ + ((Py_UCS4 *)(data))[(index)] = (Py_UCS4)(value); \ + } \ + } \ + } while (0) + +/* Read a code point from the string's canonical representation. No checks + or ready calls are performed. */ +#define PyUnicode_READ(kind, data, index) \ + ((Py_UCS4) \ + ((kind) == PyUnicode_1BYTE_KIND ? \ + ((const Py_UCS1 *)(data))[(index)] : \ + ((kind) == PyUnicode_2BYTE_KIND ? \ + ((const Py_UCS2 *)(data))[(index)] : \ + ((const Py_UCS4 *)(data))[(index)] \ + ) \ + )) + +/* PyUnicode_READ_CHAR() is less efficient than PyUnicode_READ() because it + calls PyUnicode_KIND() and might call it twice. For single reads, use + PyUnicode_READ_CHAR, for multiple consecutive reads callers should + cache kind and use PyUnicode_READ instead. */ +#define PyUnicode_READ_CHAR(unicode, index) \ + (assert(PyUnicode_Check(unicode)), \ + assert(PyUnicode_IS_READY(unicode)), \ + (Py_UCS4) \ + (PyUnicode_KIND((unicode)) == PyUnicode_1BYTE_KIND ? \ + ((const Py_UCS1 *)(PyUnicode_DATA((unicode))))[(index)] : \ + (PyUnicode_KIND((unicode)) == PyUnicode_2BYTE_KIND ? \ + ((const Py_UCS2 *)(PyUnicode_DATA((unicode))))[(index)] : \ + ((const Py_UCS4 *)(PyUnicode_DATA((unicode))))[(index)] \ + ) \ + )) + +/* Returns the length of the unicode string. The caller has to make sure that + the string has it's canonical representation set before calling + this macro. Call PyUnicode_(FAST_)Ready to ensure that. */ +#define PyUnicode_GET_LENGTH(op) \ + (assert(PyUnicode_Check(op)), \ + assert(PyUnicode_IS_READY(op)), \ + ((PyASCIIObject *)(op))->length) + + +/* Fast check to determine whether an object is ready. Equivalent to + PyUnicode_IS_COMPACT(op) || ((PyUnicodeObject*)(op))->data.any */ + +#define PyUnicode_IS_READY(op) (((PyASCIIObject*)op)->state.ready) + +/* PyUnicode_READY() does less work than _PyUnicode_Ready() in the best + case. If the canonical representation is not yet set, it will still call + _PyUnicode_Ready(). + Returns 0 on success and -1 on errors. */ +#define PyUnicode_READY(op) \ + (assert(PyUnicode_Check(op)), \ + (PyUnicode_IS_READY(op) ? \ + 0 : _PyUnicode_Ready(_PyObject_CAST(op)))) + +/* Return a maximum character value which is suitable for creating another + string based on op. This is always an approximation but more efficient + than iterating over the string. */ +#define PyUnicode_MAX_CHAR_VALUE(op) \ + (assert(PyUnicode_IS_READY(op)), \ + (PyUnicode_IS_ASCII(op) ? \ + (0x7f) : \ + (PyUnicode_KIND(op) == PyUnicode_1BYTE_KIND ? \ + (0xffU) : \ + (PyUnicode_KIND(op) == PyUnicode_2BYTE_KIND ? \ + (0xffffU) : \ + (0x10ffffU))))) + +Py_DEPRECATED(3.3) +static inline Py_ssize_t _PyUnicode_get_wstr_length(PyObject *op) { + return PyUnicode_IS_COMPACT_ASCII(op) ? + ((PyASCIIObject*)op)->length : + ((PyCompactUnicodeObject*)op)->wstr_length; +} +#define PyUnicode_WSTR_LENGTH(op) _PyUnicode_get_wstr_length((PyObject*)op) + +/* === Public API ========================================================= */ + +/* --- Plain Py_UNICODE --------------------------------------------------- */ + +/* With PEP 393, this is the recommended way to allocate a new unicode object. + This function will allocate the object and its buffer in a single memory + block. Objects created using this function are not resizable. */ +PyAPI_FUNC(PyObject*) PyUnicode_New( + Py_ssize_t size, /* Number of code points in the new string */ + Py_UCS4 maxchar /* maximum code point value in the string */ + ); + +/* Initializes the canonical string representation from the deprecated + wstr/Py_UNICODE representation. This function is used to convert Unicode + objects which were created using the old API to the new flexible format + introduced with PEP 393. + + Don't call this function directly, use the public PyUnicode_READY() macro + instead. */ +PyAPI_FUNC(int) _PyUnicode_Ready( + PyObject *unicode /* Unicode object */ + ); + +/* Get a copy of a Unicode string. */ +PyAPI_FUNC(PyObject*) _PyUnicode_Copy( + PyObject *unicode + ); + +/* Copy character from one unicode object into another, this function performs + character conversion when necessary and falls back to memcpy() if possible. + + Fail if to is too small (smaller than *how_many* or smaller than + len(from)-from_start), or if kind(from[from_start:from_start+how_many]) > + kind(to), or if *to* has more than 1 reference. + + Return the number of written character, or return -1 and raise an exception + on error. + + Pseudo-code: + + how_many = min(how_many, len(from) - from_start) + to[to_start:to_start+how_many] = from[from_start:from_start+how_many] + return how_many + + Note: The function doesn't write a terminating null character. + */ +PyAPI_FUNC(Py_ssize_t) PyUnicode_CopyCharacters( + PyObject *to, + Py_ssize_t to_start, + PyObject *from, + Py_ssize_t from_start, + Py_ssize_t how_many + ); + +/* Unsafe version of PyUnicode_CopyCharacters(): don't check arguments and so + may crash if parameters are invalid (e.g. if the output string + is too short). */ +PyAPI_FUNC(void) _PyUnicode_FastCopyCharacters( + PyObject *to, + Py_ssize_t to_start, + PyObject *from, + Py_ssize_t from_start, + Py_ssize_t how_many + ); + +/* Fill a string with a character: write fill_char into + unicode[start:start+length]. + + Fail if fill_char is bigger than the string maximum character, or if the + string has more than 1 reference. + + Return the number of written character, or return -1 and raise an exception + on error. */ +PyAPI_FUNC(Py_ssize_t) PyUnicode_Fill( + PyObject *unicode, + Py_ssize_t start, + Py_ssize_t length, + Py_UCS4 fill_char + ); + +/* Unsafe version of PyUnicode_Fill(): don't check arguments and so may crash + if parameters are invalid (e.g. if length is longer than the string). */ +PyAPI_FUNC(void) _PyUnicode_FastFill( + PyObject *unicode, + Py_ssize_t start, + Py_ssize_t length, + Py_UCS4 fill_char + ); + +/* Create a Unicode Object from the Py_UNICODE buffer u of the given + size. + + u may be NULL which causes the contents to be undefined. It is the + user's responsibility to fill in the needed data afterwards. Note + that modifying the Unicode object contents after construction is + only allowed if u was set to NULL. + + The buffer is copied into the new object. */ +Py_DEPRECATED(3.3) PyAPI_FUNC(PyObject*) PyUnicode_FromUnicode( + const Py_UNICODE *u, /* Unicode buffer */ + Py_ssize_t size /* size of buffer */ + ); + +/* Create a new string from a buffer of Py_UCS1, Py_UCS2 or Py_UCS4 characters. + Scan the string to find the maximum character. */ +PyAPI_FUNC(PyObject*) PyUnicode_FromKindAndData( + int kind, + const void *buffer, + Py_ssize_t size); + +/* Create a new string from a buffer of ASCII characters. + WARNING: Don't check if the string contains any non-ASCII character. */ +PyAPI_FUNC(PyObject*) _PyUnicode_FromASCII( + const char *buffer, + Py_ssize_t size); + +/* Compute the maximum character of the substring unicode[start:end]. + Return 127 for an empty string. */ +PyAPI_FUNC(Py_UCS4) _PyUnicode_FindMaxChar ( + PyObject *unicode, + Py_ssize_t start, + Py_ssize_t end); + +/* Return a read-only pointer to the Unicode object's internal + Py_UNICODE buffer. + If the wchar_t/Py_UNICODE representation is not yet available, this + function will calculate it. */ +Py_DEPRECATED(3.3) PyAPI_FUNC(Py_UNICODE *) PyUnicode_AsUnicode( + PyObject *unicode /* Unicode object */ + ); + +/* Similar to PyUnicode_AsUnicode(), but raises a ValueError if the string + contains null characters. */ +PyAPI_FUNC(const Py_UNICODE *) _PyUnicode_AsUnicode( + PyObject *unicode /* Unicode object */ + ); + +/* Return a read-only pointer to the Unicode object's internal + Py_UNICODE buffer and save the length at size. + If the wchar_t/Py_UNICODE representation is not yet available, this + function will calculate it. */ + +Py_DEPRECATED(3.3) PyAPI_FUNC(Py_UNICODE *) PyUnicode_AsUnicodeAndSize( + PyObject *unicode, /* Unicode object */ + Py_ssize_t *size /* location where to save the length */ + ); + + +/* --- _PyUnicodeWriter API ----------------------------------------------- */ + +typedef struct { + PyObject *buffer; + void *data; + enum PyUnicode_Kind kind; + Py_UCS4 maxchar; + Py_ssize_t size; + Py_ssize_t pos; + + /* minimum number of allocated characters (default: 0) */ + Py_ssize_t min_length; + + /* minimum character (default: 127, ASCII) */ + Py_UCS4 min_char; + + /* If non-zero, overallocate the buffer (default: 0). */ + unsigned char overallocate; + + /* If readonly is 1, buffer is a shared string (cannot be modified) + and size is set to 0. */ + unsigned char readonly; +} _PyUnicodeWriter ; + +/* Initialize a Unicode writer. + * + * By default, the minimum buffer size is 0 character and overallocation is + * disabled. Set min_length, min_char and overallocate attributes to control + * the allocation of the buffer. */ +PyAPI_FUNC(void) +_PyUnicodeWriter_Init(_PyUnicodeWriter *writer); + +/* Prepare the buffer to write 'length' characters + with the specified maximum character. + + Return 0 on success, raise an exception and return -1 on error. */ +#define _PyUnicodeWriter_Prepare(WRITER, LENGTH, MAXCHAR) \ + (((MAXCHAR) <= (WRITER)->maxchar \ + && (LENGTH) <= (WRITER)->size - (WRITER)->pos) \ + ? 0 \ + : (((LENGTH) == 0) \ + ? 0 \ + : _PyUnicodeWriter_PrepareInternal((WRITER), (LENGTH), (MAXCHAR)))) + +/* Don't call this function directly, use the _PyUnicodeWriter_Prepare() macro + instead. */ +PyAPI_FUNC(int) +_PyUnicodeWriter_PrepareInternal(_PyUnicodeWriter *writer, + Py_ssize_t length, Py_UCS4 maxchar); + +/* Prepare the buffer to have at least the kind KIND. + For example, kind=PyUnicode_2BYTE_KIND ensures that the writer will + support characters in range U+000-U+FFFF. + + Return 0 on success, raise an exception and return -1 on error. */ +#define _PyUnicodeWriter_PrepareKind(WRITER, KIND) \ + (assert((KIND) != PyUnicode_WCHAR_KIND), \ + (KIND) <= (WRITER)->kind \ + ? 0 \ + : _PyUnicodeWriter_PrepareKindInternal((WRITER), (KIND))) + +/* Don't call this function directly, use the _PyUnicodeWriter_PrepareKind() + macro instead. */ +PyAPI_FUNC(int) +_PyUnicodeWriter_PrepareKindInternal(_PyUnicodeWriter *writer, + enum PyUnicode_Kind kind); + +/* Append a Unicode character. + Return 0 on success, raise an exception and return -1 on error. */ +PyAPI_FUNC(int) +_PyUnicodeWriter_WriteChar(_PyUnicodeWriter *writer, + Py_UCS4 ch + ); + +/* Append a Unicode string. + Return 0 on success, raise an exception and return -1 on error. */ +PyAPI_FUNC(int) +_PyUnicodeWriter_WriteStr(_PyUnicodeWriter *writer, + PyObject *str /* Unicode string */ + ); + +/* Append a substring of a Unicode string. + Return 0 on success, raise an exception and return -1 on error. */ +PyAPI_FUNC(int) +_PyUnicodeWriter_WriteSubstring(_PyUnicodeWriter *writer, + PyObject *str, /* Unicode string */ + Py_ssize_t start, + Py_ssize_t end + ); + +/* Append an ASCII-encoded byte string. + Return 0 on success, raise an exception and return -1 on error. */ +PyAPI_FUNC(int) +_PyUnicodeWriter_WriteASCIIString(_PyUnicodeWriter *writer, + const char *str, /* ASCII-encoded byte string */ + Py_ssize_t len /* number of bytes, or -1 if unknown */ + ); + +/* Append a latin1-encoded byte string. + Return 0 on success, raise an exception and return -1 on error. */ +PyAPI_FUNC(int) +_PyUnicodeWriter_WriteLatin1String(_PyUnicodeWriter *writer, + const char *str, /* latin1-encoded byte string */ + Py_ssize_t len /* length in bytes */ + ); + +/* Get the value of the writer as a Unicode string. Clear the + buffer of the writer. Raise an exception and return NULL + on error. */ +PyAPI_FUNC(PyObject *) +_PyUnicodeWriter_Finish(_PyUnicodeWriter *writer); + +/* Deallocate memory of a writer (clear its internal buffer). */ +PyAPI_FUNC(void) +_PyUnicodeWriter_Dealloc(_PyUnicodeWriter *writer); + + +/* Format the object based on the format_spec, as defined in PEP 3101 + (Advanced String Formatting). */ +PyAPI_FUNC(int) _PyUnicode_FormatAdvancedWriter( + _PyUnicodeWriter *writer, + PyObject *obj, + PyObject *format_spec, + Py_ssize_t start, + Py_ssize_t end); + +/* --- Manage the default encoding ---------------------------------------- */ + +/* Returns a pointer to the default encoding (UTF-8) of the + Unicode object unicode. + + Like PyUnicode_AsUTF8AndSize(), this also caches the UTF-8 representation + in the unicodeobject. + + _PyUnicode_AsString is a #define for PyUnicode_AsUTF8 to + support the previous internal function with the same behaviour. + + Use of this API is DEPRECATED since no size information can be + extracted from the returned data. +*/ + +PyAPI_FUNC(const char *) PyUnicode_AsUTF8(PyObject *unicode); + +#define _PyUnicode_AsString PyUnicode_AsUTF8 + +/* --- Generic Codecs ----------------------------------------------------- */ + +/* Encodes a Py_UNICODE buffer of the given size and returns a + Python string object. */ +Py_DEPRECATED(3.3) PyAPI_FUNC(PyObject*) PyUnicode_Encode( + const Py_UNICODE *s, /* Unicode char buffer */ + Py_ssize_t size, /* number of Py_UNICODE chars to encode */ + const char *encoding, /* encoding */ + const char *errors /* error handling */ + ); + +/* --- UTF-7 Codecs ------------------------------------------------------- */ + +Py_DEPRECATED(3.3) PyAPI_FUNC(PyObject*) PyUnicode_EncodeUTF7( + const Py_UNICODE *data, /* Unicode char buffer */ + Py_ssize_t length, /* number of Py_UNICODE chars to encode */ + int base64SetO, /* Encode RFC2152 Set O characters in base64 */ + int base64WhiteSpace, /* Encode whitespace (sp, ht, nl, cr) in base64 */ + const char *errors /* error handling */ + ); + +PyAPI_FUNC(PyObject*) _PyUnicode_EncodeUTF7( + PyObject *unicode, /* Unicode object */ + int base64SetO, /* Encode RFC2152 Set O characters in base64 */ + int base64WhiteSpace, /* Encode whitespace (sp, ht, nl, cr) in base64 */ + const char *errors /* error handling */ + ); + +/* --- UTF-8 Codecs ------------------------------------------------------- */ + +PyAPI_FUNC(PyObject*) _PyUnicode_AsUTF8String( + PyObject *unicode, + const char *errors); + +Py_DEPRECATED(3.3) PyAPI_FUNC(PyObject*) PyUnicode_EncodeUTF8( + const Py_UNICODE *data, /* Unicode char buffer */ + Py_ssize_t length, /* number of Py_UNICODE chars to encode */ + const char *errors /* error handling */ + ); + +/* --- UTF-32 Codecs ------------------------------------------------------ */ + +Py_DEPRECATED(3.3) PyAPI_FUNC(PyObject*) PyUnicode_EncodeUTF32( + const Py_UNICODE *data, /* Unicode char buffer */ + Py_ssize_t length, /* number of Py_UNICODE chars to encode */ + const char *errors, /* error handling */ + int byteorder /* byteorder to use 0=BOM+native;-1=LE,1=BE */ + ); + +PyAPI_FUNC(PyObject*) _PyUnicode_EncodeUTF32( + PyObject *object, /* Unicode object */ + const char *errors, /* error handling */ + int byteorder /* byteorder to use 0=BOM+native;-1=LE,1=BE */ + ); + +/* --- UTF-16 Codecs ------------------------------------------------------ */ + +/* Returns a Python string object holding the UTF-16 encoded value of + the Unicode data. + + If byteorder is not 0, output is written according to the following + byte order: + + byteorder == -1: little endian + byteorder == 0: native byte order (writes a BOM mark) + byteorder == 1: big endian + + If byteorder is 0, the output string will always start with the + Unicode BOM mark (U+FEFF). In the other two modes, no BOM mark is + prepended. + + Note that Py_UNICODE data is being interpreted as UTF-16 reduced to + UCS-2. This trick makes it possible to add full UTF-16 capabilities + at a later point without compromising the APIs. + +*/ +Py_DEPRECATED(3.3) PyAPI_FUNC(PyObject*) PyUnicode_EncodeUTF16( + const Py_UNICODE *data, /* Unicode char buffer */ + Py_ssize_t length, /* number of Py_UNICODE chars to encode */ + const char *errors, /* error handling */ + int byteorder /* byteorder to use 0=BOM+native;-1=LE,1=BE */ + ); + +PyAPI_FUNC(PyObject*) _PyUnicode_EncodeUTF16( + PyObject* unicode, /* Unicode object */ + const char *errors, /* error handling */ + int byteorder /* byteorder to use 0=BOM+native;-1=LE,1=BE */ + ); + +/* --- Unicode-Escape Codecs ---------------------------------------------- */ + +/* Variant of PyUnicode_DecodeUnicodeEscape that supports partial decoding. */ +PyAPI_FUNC(PyObject*) _PyUnicode_DecodeUnicodeEscapeStateful( + const char *string, /* Unicode-Escape encoded string */ + Py_ssize_t length, /* size of string */ + const char *errors, /* error handling */ + Py_ssize_t *consumed /* bytes consumed */ +); + +/* Helper for PyUnicode_DecodeUnicodeEscape that detects invalid escape + chars. */ +PyAPI_FUNC(PyObject*) _PyUnicode_DecodeUnicodeEscapeInternal( + const char *string, /* Unicode-Escape encoded string */ + Py_ssize_t length, /* size of string */ + const char *errors, /* error handling */ + Py_ssize_t *consumed, /* bytes consumed */ + const char **first_invalid_escape /* on return, points to first + invalid escaped char in + string. */ +); + +Py_DEPRECATED(3.3) PyAPI_FUNC(PyObject*) PyUnicode_EncodeUnicodeEscape( + const Py_UNICODE *data, /* Unicode char buffer */ + Py_ssize_t length /* Number of Py_UNICODE chars to encode */ + ); + +/* --- Raw-Unicode-Escape Codecs ------------------------------------------ */ + +Py_DEPRECATED(3.3) PyAPI_FUNC(PyObject*) PyUnicode_EncodeRawUnicodeEscape( + const Py_UNICODE *data, /* Unicode char buffer */ + Py_ssize_t length /* Number of Py_UNICODE chars to encode */ + ); + +/* Variant of PyUnicode_DecodeRawUnicodeEscape that supports partial decoding. */ +PyAPI_FUNC(PyObject*) _PyUnicode_DecodeRawUnicodeEscapeStateful( + const char *string, /* Unicode-Escape encoded string */ + Py_ssize_t length, /* size of string */ + const char *errors, /* error handling */ + Py_ssize_t *consumed /* bytes consumed */ +); + +/* --- Latin-1 Codecs ----------------------------------------------------- */ + +PyAPI_FUNC(PyObject*) _PyUnicode_AsLatin1String( + PyObject* unicode, + const char* errors); + +Py_DEPRECATED(3.3) PyAPI_FUNC(PyObject*) PyUnicode_EncodeLatin1( + const Py_UNICODE *data, /* Unicode char buffer */ + Py_ssize_t length, /* Number of Py_UNICODE chars to encode */ + const char *errors /* error handling */ + ); + +/* --- ASCII Codecs ------------------------------------------------------- */ + +PyAPI_FUNC(PyObject*) _PyUnicode_AsASCIIString( + PyObject* unicode, + const char* errors); + +Py_DEPRECATED(3.3) PyAPI_FUNC(PyObject*) PyUnicode_EncodeASCII( + const Py_UNICODE *data, /* Unicode char buffer */ + Py_ssize_t length, /* Number of Py_UNICODE chars to encode */ + const char *errors /* error handling */ + ); + +/* --- Character Map Codecs ----------------------------------------------- */ + +Py_DEPRECATED(3.3) PyAPI_FUNC(PyObject*) PyUnicode_EncodeCharmap( + const Py_UNICODE *data, /* Unicode char buffer */ + Py_ssize_t length, /* Number of Py_UNICODE chars to encode */ + PyObject *mapping, /* encoding mapping */ + const char *errors /* error handling */ + ); + +PyAPI_FUNC(PyObject*) _PyUnicode_EncodeCharmap( + PyObject *unicode, /* Unicode object */ + PyObject *mapping, /* encoding mapping */ + const char *errors /* error handling */ + ); + +/* Translate a Py_UNICODE buffer of the given length by applying a + character mapping table to it and return the resulting Unicode + object. + + The mapping table must map Unicode ordinal integers to Unicode strings, + Unicode ordinal integers or None (causing deletion of the character). + + Mapping tables may be dictionaries or sequences. Unmapped character + ordinals (ones which cause a LookupError) are left untouched and + are copied as-is. + +*/ +Py_DEPRECATED(3.3) PyAPI_FUNC(PyObject *) PyUnicode_TranslateCharmap( + const Py_UNICODE *data, /* Unicode char buffer */ + Py_ssize_t length, /* Number of Py_UNICODE chars to encode */ + PyObject *table, /* Translate table */ + const char *errors /* error handling */ + ); + +/* --- MBCS codecs for Windows -------------------------------------------- */ + +#ifdef MS_WINDOWS +Py_DEPRECATED(3.3) PyAPI_FUNC(PyObject*) PyUnicode_EncodeMBCS( + const Py_UNICODE *data, /* Unicode char buffer */ + Py_ssize_t length, /* number of Py_UNICODE chars to encode */ + const char *errors /* error handling */ + ); +#endif + +/* --- Decimal Encoder ---------------------------------------------------- */ + +/* Takes a Unicode string holding a decimal value and writes it into + an output buffer using standard ASCII digit codes. + + The output buffer has to provide at least length+1 bytes of storage + area. The output string is 0-terminated. + + The encoder converts whitespace to ' ', decimal characters to their + corresponding ASCII digit and all other Latin-1 characters except + \0 as-is. Characters outside this range (Unicode ordinals 1-256) + are treated as errors. This includes embedded NULL bytes. + + Error handling is defined by the errors argument: + + NULL or "strict": raise a ValueError + "ignore": ignore the wrong characters (these are not copied to the + output buffer) + "replace": replaces illegal characters with '?' + + Returns 0 on success, -1 on failure. + +*/ + +Py_DEPRECATED(3.3) PyAPI_FUNC(int) PyUnicode_EncodeDecimal( + Py_UNICODE *s, /* Unicode buffer */ + Py_ssize_t length, /* Number of Py_UNICODE chars to encode */ + char *output, /* Output buffer; must have size >= length */ + const char *errors /* error handling */ + ); + +/* Transforms code points that have decimal digit property to the + corresponding ASCII digit code points. + + Returns a new Unicode string on success, NULL on failure. +*/ + +Py_DEPRECATED(3.3) +PyAPI_FUNC(PyObject*) PyUnicode_TransformDecimalToASCII( + Py_UNICODE *s, /* Unicode buffer */ + Py_ssize_t length /* Number of Py_UNICODE chars to transform */ + ); + +/* Coverts a Unicode object holding a decimal value to an ASCII string + for using in int, float and complex parsers. + Transforms code points that have decimal digit property to the + corresponding ASCII digit code points. Transforms spaces to ASCII. + Transforms code points starting from the first non-ASCII code point that + is neither a decimal digit nor a space to the end into '?'. */ + +PyAPI_FUNC(PyObject*) _PyUnicode_TransformDecimalAndSpaceToASCII( + PyObject *unicode /* Unicode object */ + ); + +/* --- Methods & Slots ---------------------------------------------------- */ + +PyAPI_FUNC(PyObject *) _PyUnicode_JoinArray( + PyObject *separator, + PyObject *const *items, + Py_ssize_t seqlen + ); + +/* Test whether a unicode is equal to ASCII identifier. Return 1 if true, + 0 otherwise. The right argument must be ASCII identifier. + Any error occurs inside will be cleared before return. */ +PyAPI_FUNC(int) _PyUnicode_EqualToASCIIId( + PyObject *left, /* Left string */ + _Py_Identifier *right /* Right identifier */ + ); + +/* Test whether a unicode is equal to ASCII string. Return 1 if true, + 0 otherwise. The right argument must be ASCII-encoded string. + Any error occurs inside will be cleared before return. */ +PyAPI_FUNC(int) _PyUnicode_EqualToASCIIString( + PyObject *left, + const char *right /* ASCII-encoded string */ + ); + +/* Externally visible for str.strip(unicode) */ +PyAPI_FUNC(PyObject *) _PyUnicode_XStrip( + PyObject *self, + int striptype, + PyObject *sepobj + ); + +/* Using explicit passed-in values, insert the thousands grouping + into the string pointed to by buffer. For the argument descriptions, + see Objects/stringlib/localeutil.h */ +PyAPI_FUNC(Py_ssize_t) _PyUnicode_InsertThousandsGrouping( + _PyUnicodeWriter *writer, + Py_ssize_t n_buffer, + PyObject *digits, + Py_ssize_t d_pos, + Py_ssize_t n_digits, + Py_ssize_t min_width, + const char *grouping, + PyObject *thousands_sep, + Py_UCS4 *maxchar); + +/* === Characters Type APIs =============================================== */ + +/* Helper array used by Py_UNICODE_ISSPACE(). */ + +PyAPI_DATA(const unsigned char) _Py_ascii_whitespace[]; + +/* These should not be used directly. Use the Py_UNICODE_IS* and + Py_UNICODE_TO* macros instead. + + These APIs are implemented in Objects/unicodectype.c. + +*/ + +PyAPI_FUNC(int) _PyUnicode_IsLowercase( + Py_UCS4 ch /* Unicode character */ + ); + +PyAPI_FUNC(int) _PyUnicode_IsUppercase( + Py_UCS4 ch /* Unicode character */ + ); + +PyAPI_FUNC(int) _PyUnicode_IsTitlecase( + Py_UCS4 ch /* Unicode character */ + ); + +PyAPI_FUNC(int) _PyUnicode_IsXidStart( + Py_UCS4 ch /* Unicode character */ + ); + +PyAPI_FUNC(int) _PyUnicode_IsXidContinue( + Py_UCS4 ch /* Unicode character */ + ); + +PyAPI_FUNC(int) _PyUnicode_IsWhitespace( + const Py_UCS4 ch /* Unicode character */ + ); + +PyAPI_FUNC(int) _PyUnicode_IsLinebreak( + const Py_UCS4 ch /* Unicode character */ + ); + +/* Py_DEPRECATED(3.3) */ PyAPI_FUNC(Py_UCS4) _PyUnicode_ToLowercase( + Py_UCS4 ch /* Unicode character */ + ); + +/* Py_DEPRECATED(3.3) */ PyAPI_FUNC(Py_UCS4) _PyUnicode_ToUppercase( + Py_UCS4 ch /* Unicode character */ + ); + +Py_DEPRECATED(3.3) PyAPI_FUNC(Py_UCS4) _PyUnicode_ToTitlecase( + Py_UCS4 ch /* Unicode character */ + ); + +PyAPI_FUNC(int) _PyUnicode_ToLowerFull( + Py_UCS4 ch, /* Unicode character */ + Py_UCS4 *res + ); + +PyAPI_FUNC(int) _PyUnicode_ToTitleFull( + Py_UCS4 ch, /* Unicode character */ + Py_UCS4 *res + ); + +PyAPI_FUNC(int) _PyUnicode_ToUpperFull( + Py_UCS4 ch, /* Unicode character */ + Py_UCS4 *res + ); + +PyAPI_FUNC(int) _PyUnicode_ToFoldedFull( + Py_UCS4 ch, /* Unicode character */ + Py_UCS4 *res + ); + +PyAPI_FUNC(int) _PyUnicode_IsCaseIgnorable( + Py_UCS4 ch /* Unicode character */ + ); + +PyAPI_FUNC(int) _PyUnicode_IsCased( + Py_UCS4 ch /* Unicode character */ + ); + +PyAPI_FUNC(int) _PyUnicode_ToDecimalDigit( + Py_UCS4 ch /* Unicode character */ + ); + +PyAPI_FUNC(int) _PyUnicode_ToDigit( + Py_UCS4 ch /* Unicode character */ + ); + +PyAPI_FUNC(double) _PyUnicode_ToNumeric( + Py_UCS4 ch /* Unicode character */ + ); + +PyAPI_FUNC(int) _PyUnicode_IsDecimalDigit( + Py_UCS4 ch /* Unicode character */ + ); + +PyAPI_FUNC(int) _PyUnicode_IsDigit( + Py_UCS4 ch /* Unicode character */ + ); + +PyAPI_FUNC(int) _PyUnicode_IsNumeric( + Py_UCS4 ch /* Unicode character */ + ); + +PyAPI_FUNC(int) _PyUnicode_IsPrintable( + Py_UCS4 ch /* Unicode character */ + ); + +PyAPI_FUNC(int) _PyUnicode_IsAlpha( + Py_UCS4 ch /* Unicode character */ + ); + +PyAPI_FUNC(PyObject*) _PyUnicode_FormatLong(PyObject *, int, int, int); + +/* Return an interned Unicode object for an Identifier; may fail if there is no memory.*/ +PyAPI_FUNC(PyObject*) _PyUnicode_FromId(_Py_Identifier*); + +/* Fast equality check when the inputs are known to be exact unicode types + and where the hash values are equal (i.e. a very probable match) */ +PyAPI_FUNC(int) _PyUnicode_EQ(PyObject *, PyObject *); + +PyAPI_FUNC(int) _PyUnicode_WideCharString_Converter(PyObject *, void *); +PyAPI_FUNC(int) _PyUnicode_WideCharString_Opt_Converter(PyObject *, void *); + +PyAPI_FUNC(Py_ssize_t) _PyUnicode_ScanIdentifier(PyObject *); diff --git a/_Python311_cpp/include/datetime.h b/_Pre_Builds/_Python310_cpp/include/datetime.h similarity index 100% rename from _Python311_cpp/include/datetime.h rename to _Pre_Builds/_Python310_cpp/include/datetime.h diff --git a/_Pre_Builds/_Python310_cpp/include/descrobject.h b/_Pre_Builds/_Python310_cpp/include/descrobject.h new file mode 100644 index 0000000..703bc8f --- /dev/null +++ b/_Pre_Builds/_Python310_cpp/include/descrobject.h @@ -0,0 +1,108 @@ +/* Descriptors */ +#ifndef Py_DESCROBJECT_H +#define Py_DESCROBJECT_H +#ifdef __cplusplus +extern "C" { +#endif + +typedef PyObject *(*getter)(PyObject *, void *); +typedef int (*setter)(PyObject *, PyObject *, void *); + +typedef struct PyGetSetDef { + const char *name; + getter get; + setter set; + const char *doc; + void *closure; +} PyGetSetDef; + +#ifndef Py_LIMITED_API +typedef PyObject *(*wrapperfunc)(PyObject *self, PyObject *args, + void *wrapped); + +typedef PyObject *(*wrapperfunc_kwds)(PyObject *self, PyObject *args, + void *wrapped, PyObject *kwds); + +struct wrapperbase { + const char *name; + int offset; + void *function; + wrapperfunc wrapper; + const char *doc; + int flags; + PyObject *name_strobj; +}; + +/* Flags for above struct */ +#define PyWrapperFlag_KEYWORDS 1 /* wrapper function takes keyword args */ + +/* Various kinds of descriptor objects */ + +typedef struct { + PyObject_HEAD + PyTypeObject *d_type; + PyObject *d_name; + PyObject *d_qualname; +} PyDescrObject; + +#define PyDescr_COMMON PyDescrObject d_common + +#define PyDescr_TYPE(x) (((PyDescrObject *)(x))->d_type) +#define PyDescr_NAME(x) (((PyDescrObject *)(x))->d_name) + +typedef struct { + PyDescr_COMMON; + PyMethodDef *d_method; + vectorcallfunc vectorcall; +} PyMethodDescrObject; + +typedef struct { + PyDescr_COMMON; + struct PyMemberDef *d_member; +} PyMemberDescrObject; + +typedef struct { + PyDescr_COMMON; + PyGetSetDef *d_getset; +} PyGetSetDescrObject; + +typedef struct { + PyDescr_COMMON; + struct wrapperbase *d_base; + void *d_wrapped; /* This can be any function pointer */ +} PyWrapperDescrObject; +#endif /* Py_LIMITED_API */ + +PyAPI_DATA(PyTypeObject) PyClassMethodDescr_Type; +PyAPI_DATA(PyTypeObject) PyGetSetDescr_Type; +PyAPI_DATA(PyTypeObject) PyMemberDescr_Type; +PyAPI_DATA(PyTypeObject) PyMethodDescr_Type; +PyAPI_DATA(PyTypeObject) PyWrapperDescr_Type; +PyAPI_DATA(PyTypeObject) PyDictProxy_Type; +#ifndef Py_LIMITED_API +PyAPI_DATA(PyTypeObject) _PyMethodWrapper_Type; +#endif /* Py_LIMITED_API */ + +PyAPI_FUNC(PyObject *) PyDescr_NewMethod(PyTypeObject *, PyMethodDef *); +PyAPI_FUNC(PyObject *) PyDescr_NewClassMethod(PyTypeObject *, PyMethodDef *); +struct PyMemberDef; /* forward declaration for following prototype */ +PyAPI_FUNC(PyObject *) PyDescr_NewMember(PyTypeObject *, + struct PyMemberDef *); +PyAPI_FUNC(PyObject *) PyDescr_NewGetSet(PyTypeObject *, + struct PyGetSetDef *); +#ifndef Py_LIMITED_API +PyAPI_FUNC(PyObject *) PyDescr_NewWrapper(PyTypeObject *, + struct wrapperbase *, void *); +PyAPI_FUNC(int) PyDescr_IsData(PyObject *); +#endif + +PyAPI_FUNC(PyObject *) PyDictProxy_New(PyObject *); +PyAPI_FUNC(PyObject *) PyWrapper_New(PyObject *, PyObject *); + + +PyAPI_DATA(PyTypeObject) PyProperty_Type; +#ifdef __cplusplus +} +#endif +#endif /* !Py_DESCROBJECT_H */ + diff --git a/_Pre_Builds/_Python310_cpp/include/dictobject.h b/_Pre_Builds/_Python310_cpp/include/dictobject.h new file mode 100644 index 0000000..da5a36b --- /dev/null +++ b/_Pre_Builds/_Python310_cpp/include/dictobject.h @@ -0,0 +1,97 @@ +#ifndef Py_DICTOBJECT_H +#define Py_DICTOBJECT_H +#ifdef __cplusplus +extern "C" { +#endif + +/* Dictionary object type -- mapping from hashable object to object */ + +/* The distribution includes a separate file, Objects/dictnotes.txt, + describing explorations into dictionary design and optimization. + It covers typical dictionary use patterns, the parameters for + tuning dictionaries, and several ideas for possible optimizations. +*/ + +PyAPI_DATA(PyTypeObject) PyDict_Type; + +#define PyDict_Check(op) \ + PyType_FastSubclass(Py_TYPE(op), Py_TPFLAGS_DICT_SUBCLASS) +#define PyDict_CheckExact(op) Py_IS_TYPE(op, &PyDict_Type) + +PyAPI_FUNC(PyObject *) PyDict_New(void); +PyAPI_FUNC(PyObject *) PyDict_GetItem(PyObject *mp, PyObject *key); +PyAPI_FUNC(PyObject *) PyDict_GetItemWithError(PyObject *mp, PyObject *key); +PyAPI_FUNC(int) PyDict_SetItem(PyObject *mp, PyObject *key, PyObject *item); +PyAPI_FUNC(int) PyDict_DelItem(PyObject *mp, PyObject *key); +PyAPI_FUNC(void) PyDict_Clear(PyObject *mp); +PyAPI_FUNC(int) PyDict_Next( + PyObject *mp, Py_ssize_t *pos, PyObject **key, PyObject **value); +PyAPI_FUNC(PyObject *) PyDict_Keys(PyObject *mp); +PyAPI_FUNC(PyObject *) PyDict_Values(PyObject *mp); +PyAPI_FUNC(PyObject *) PyDict_Items(PyObject *mp); +PyAPI_FUNC(Py_ssize_t) PyDict_Size(PyObject *mp); +PyAPI_FUNC(PyObject *) PyDict_Copy(PyObject *mp); +PyAPI_FUNC(int) PyDict_Contains(PyObject *mp, PyObject *key); + +/* PyDict_Update(mp, other) is equivalent to PyDict_Merge(mp, other, 1). */ +PyAPI_FUNC(int) PyDict_Update(PyObject *mp, PyObject *other); + +/* PyDict_Merge updates/merges from a mapping object (an object that + supports PyMapping_Keys() and PyObject_GetItem()). If override is true, + the last occurrence of a key wins, else the first. The Python + dict.update(other) is equivalent to PyDict_Merge(dict, other, 1). +*/ +PyAPI_FUNC(int) PyDict_Merge(PyObject *mp, + PyObject *other, + int override); + +/* PyDict_MergeFromSeq2 updates/merges from an iterable object producing + iterable objects of length 2. If override is true, the last occurrence + of a key wins, else the first. The Python dict constructor dict(seq2) + is equivalent to dict={}; PyDict_MergeFromSeq(dict, seq2, 1). +*/ +PyAPI_FUNC(int) PyDict_MergeFromSeq2(PyObject *d, + PyObject *seq2, + int override); + +PyAPI_FUNC(PyObject *) PyDict_GetItemString(PyObject *dp, const char *key); +PyAPI_FUNC(int) PyDict_SetItemString(PyObject *dp, const char *key, PyObject *item); +PyAPI_FUNC(int) PyDict_DelItemString(PyObject *dp, const char *key); +#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x030A0000 +PyAPI_FUNC(PyObject *) PyObject_GenericGetDict(PyObject *, void *); +#endif + +/* Dictionary (keys, values, items) views */ + +PyAPI_DATA(PyTypeObject) PyDictKeys_Type; +PyAPI_DATA(PyTypeObject) PyDictValues_Type; +PyAPI_DATA(PyTypeObject) PyDictItems_Type; + +#define PyDictKeys_Check(op) PyObject_TypeCheck(op, &PyDictKeys_Type) +#define PyDictValues_Check(op) PyObject_TypeCheck(op, &PyDictValues_Type) +#define PyDictItems_Check(op) PyObject_TypeCheck(op, &PyDictItems_Type) +/* This excludes Values, since they are not sets. */ +# define PyDictViewSet_Check(op) \ + (PyDictKeys_Check(op) || PyDictItems_Check(op)) + +/* Dictionary (key, value, items) iterators */ + +PyAPI_DATA(PyTypeObject) PyDictIterKey_Type; +PyAPI_DATA(PyTypeObject) PyDictIterValue_Type; +PyAPI_DATA(PyTypeObject) PyDictIterItem_Type; + +PyAPI_DATA(PyTypeObject) PyDictRevIterKey_Type; +PyAPI_DATA(PyTypeObject) PyDictRevIterItem_Type; +PyAPI_DATA(PyTypeObject) PyDictRevIterValue_Type; + + +#ifndef Py_LIMITED_API +# define Py_CPYTHON_DICTOBJECT_H +# include "cpython/dictobject.h" +# undef Py_CPYTHON_DICTOBJECT_H +#endif + +#ifdef __cplusplus +} +#endif +#endif /* !Py_DICTOBJECT_H */ diff --git a/_Python311_cpp/include/dynamic_annotations.h b/_Pre_Builds/_Python310_cpp/include/dynamic_annotations.h similarity index 100% rename from _Python311_cpp/include/dynamic_annotations.h rename to _Pre_Builds/_Python310_cpp/include/dynamic_annotations.h diff --git a/_Python311_cpp/include/enumobject.h b/_Pre_Builds/_Python310_cpp/include/enumobject.h similarity index 100% rename from _Python311_cpp/include/enumobject.h rename to _Pre_Builds/_Python310_cpp/include/enumobject.h diff --git a/_Python311_cpp/include/errcode.h b/_Pre_Builds/_Python310_cpp/include/errcode.h similarity index 100% rename from _Python311_cpp/include/errcode.h rename to _Pre_Builds/_Python310_cpp/include/errcode.h diff --git a/_Pre_Builds/_Python310_cpp/include/eval.h b/_Pre_Builds/_Python310_cpp/include/eval.h new file mode 100644 index 0000000..eda28df --- /dev/null +++ b/_Pre_Builds/_Python310_cpp/include/eval.h @@ -0,0 +1,27 @@ + +/* Interface to execute compiled code */ + +#ifndef Py_EVAL_H +#define Py_EVAL_H +#ifdef __cplusplus +extern "C" { +#endif + +PyAPI_FUNC(PyObject *) PyEval_EvalCode(PyObject *, PyObject *, PyObject *); + +PyAPI_FUNC(PyObject *) PyEval_EvalCodeEx(PyObject *co, + PyObject *globals, + PyObject *locals, + PyObject *const *args, int argc, + PyObject *const *kwds, int kwdc, + PyObject *const *defs, int defc, + PyObject *kwdefs, PyObject *closure); + +#ifndef Py_LIMITED_API +PyAPI_FUNC(PyObject *) _PyEval_CallTracing(PyObject *func, PyObject *args); +#endif + +#ifdef __cplusplus +} +#endif +#endif /* !Py_EVAL_H */ diff --git a/_Python311_cpp/include/exports.h b/_Pre_Builds/_Python310_cpp/include/exports.h similarity index 100% rename from _Python311_cpp/include/exports.h rename to _Pre_Builds/_Python310_cpp/include/exports.h diff --git a/_Pre_Builds/_Python310_cpp/include/fileobject.h b/_Pre_Builds/_Python310_cpp/include/fileobject.h new file mode 100644 index 0000000..6ec2994 --- /dev/null +++ b/_Pre_Builds/_Python310_cpp/include/fileobject.h @@ -0,0 +1,49 @@ +/* File object interface (what's left of it -- see io.py) */ + +#ifndef Py_FILEOBJECT_H +#define Py_FILEOBJECT_H +#ifdef __cplusplus +extern "C" { +#endif + +#define PY_STDIOTEXTMODE "b" + +PyAPI_FUNC(PyObject *) PyFile_FromFd(int, const char *, const char *, int, + const char *, const char *, + const char *, int); +PyAPI_FUNC(PyObject *) PyFile_GetLine(PyObject *, int); +PyAPI_FUNC(int) PyFile_WriteObject(PyObject *, PyObject *, int); +PyAPI_FUNC(int) PyFile_WriteString(const char *, PyObject *); +PyAPI_FUNC(int) PyObject_AsFileDescriptor(PyObject *); + +/* The default encoding used by the platform file system APIs + If non-NULL, this is different than the default encoding for strings +*/ +PyAPI_DATA(const char *) Py_FileSystemDefaultEncoding; +#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x03060000 +PyAPI_DATA(const char *) Py_FileSystemDefaultEncodeErrors; +#endif +PyAPI_DATA(int) Py_HasFileSystemDefaultEncoding; + +#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x03070000 +PyAPI_DATA(int) Py_UTF8Mode; +#endif + +/* A routine to check if a file descriptor can be select()-ed. */ +#ifdef _MSC_VER + /* On Windows, any socket fd can be select()-ed, no matter how high */ + #define _PyIsSelectable_fd(FD) (1) +#else + #define _PyIsSelectable_fd(FD) ((unsigned int)(FD) < (unsigned int)FD_SETSIZE) +#endif + +#ifndef Py_LIMITED_API +# define Py_CPYTHON_FILEOBJECT_H +# include "cpython/fileobject.h" +# undef Py_CPYTHON_FILEOBJECT_H +#endif + +#ifdef __cplusplus +} +#endif +#endif /* !Py_FILEOBJECT_H */ diff --git a/_Pre_Builds/_Python310_cpp/include/fileutils.h b/_Pre_Builds/_Python310_cpp/include/fileutils.h new file mode 100644 index 0000000..16f3b63 --- /dev/null +++ b/_Pre_Builds/_Python310_cpp/include/fileutils.h @@ -0,0 +1,26 @@ +#ifndef Py_FILEUTILS_H +#define Py_FILEUTILS_H +#ifdef __cplusplus +extern "C" { +#endif + +#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x03050000 +PyAPI_FUNC(wchar_t *) Py_DecodeLocale( + const char *arg, + size_t *size); + +PyAPI_FUNC(char*) Py_EncodeLocale( + const wchar_t *text, + size_t *error_pos); +#endif + +#ifndef Py_LIMITED_API +# define Py_CPYTHON_FILEUTILS_H +# include "cpython/fileutils.h" +# undef Py_CPYTHON_FILEUTILS_H +#endif + +#ifdef __cplusplus +} +#endif +#endif /* !Py_FILEUTILS_H */ diff --git a/_Pre_Builds/_Python310_cpp/include/floatobject.h b/_Pre_Builds/_Python310_cpp/include/floatobject.h new file mode 100644 index 0000000..e994aa8 --- /dev/null +++ b/_Pre_Builds/_Python310_cpp/include/floatobject.h @@ -0,0 +1,118 @@ + +/* Float object interface */ + +/* +PyFloatObject represents a (double precision) floating point number. +*/ + +#ifndef Py_FLOATOBJECT_H +#define Py_FLOATOBJECT_H +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef Py_LIMITED_API +typedef struct { + PyObject_HEAD + double ob_fval; +} PyFloatObject; +#endif + +PyAPI_DATA(PyTypeObject) PyFloat_Type; + +#define PyFloat_Check(op) PyObject_TypeCheck(op, &PyFloat_Type) +#define PyFloat_CheckExact(op) Py_IS_TYPE(op, &PyFloat_Type) + +#ifdef Py_NAN +#define Py_RETURN_NAN return PyFloat_FromDouble(Py_NAN) +#endif + +#define Py_RETURN_INF(sign) do \ + if (copysign(1., sign) == 1.) { \ + return PyFloat_FromDouble(Py_HUGE_VAL); \ + } else { \ + return PyFloat_FromDouble(-Py_HUGE_VAL); \ + } while(0) + +PyAPI_FUNC(double) PyFloat_GetMax(void); +PyAPI_FUNC(double) PyFloat_GetMin(void); +PyAPI_FUNC(PyObject *) PyFloat_GetInfo(void); + +/* Return Python float from string PyObject. */ +PyAPI_FUNC(PyObject *) PyFloat_FromString(PyObject*); + +/* Return Python float from C double. */ +PyAPI_FUNC(PyObject *) PyFloat_FromDouble(double); + +/* Extract C double from Python float. The macro version trades safety for + speed. */ +PyAPI_FUNC(double) PyFloat_AsDouble(PyObject *); +#ifndef Py_LIMITED_API +#define PyFloat_AS_DOUBLE(op) (((PyFloatObject *)(op))->ob_fval) +#endif + +#ifndef Py_LIMITED_API +/* _PyFloat_{Pack,Unpack}{4,8} + * + * The struct and pickle (at least) modules need an efficient platform- + * independent way to store floating-point values as byte strings. + * The Pack routines produce a string from a C double, and the Unpack + * routines produce a C double from such a string. The suffix (4 or 8) + * specifies the number of bytes in the string. + * + * On platforms that appear to use (see _PyFloat_Init()) IEEE-754 formats + * these functions work by copying bits. On other platforms, the formats the + * 4- byte format is identical to the IEEE-754 single precision format, and + * the 8-byte format to the IEEE-754 double precision format, although the + * packing of INFs and NaNs (if such things exist on the platform) isn't + * handled correctly, and attempting to unpack a string containing an IEEE + * INF or NaN will raise an exception. + * + * On non-IEEE platforms with more precision, or larger dynamic range, than + * 754 supports, not all values can be packed; on non-IEEE platforms with less + * precision, or smaller dynamic range, not all values can be unpacked. What + * happens in such cases is partly accidental (alas). + */ + +/* The pack routines write 2, 4 or 8 bytes, starting at p. le is a bool + * argument, true if you want the string in little-endian format (exponent + * last, at p+1, p+3 or p+7), false if you want big-endian format (exponent + * first, at p). + * Return value: 0 if all is OK, -1 if error (and an exception is + * set, most likely OverflowError). + * There are two problems on non-IEEE platforms: + * 1): What this does is undefined if x is a NaN or infinity. + * 2): -0.0 and +0.0 produce the same string. + */ +PyAPI_FUNC(int) _PyFloat_Pack2(double x, unsigned char *p, int le); +PyAPI_FUNC(int) _PyFloat_Pack4(double x, unsigned char *p, int le); +PyAPI_FUNC(int) _PyFloat_Pack8(double x, unsigned char *p, int le); + +/* The unpack routines read 2, 4 or 8 bytes, starting at p. le is a bool + * argument, true if the string is in little-endian format (exponent + * last, at p+1, p+3 or p+7), false if big-endian (exponent first, at p). + * Return value: The unpacked double. On error, this is -1.0 and + * PyErr_Occurred() is true (and an exception is set, most likely + * OverflowError). Note that on a non-IEEE platform this will refuse + * to unpack a string that represents a NaN or infinity. + */ +PyAPI_FUNC(double) _PyFloat_Unpack2(const unsigned char *p, int le); +PyAPI_FUNC(double) _PyFloat_Unpack4(const unsigned char *p, int le); +PyAPI_FUNC(double) _PyFloat_Unpack8(const unsigned char *p, int le); + +PyAPI_FUNC(void) _PyFloat_DebugMallocStats(FILE* out); + +/* Format the object based on the format_spec, as defined in PEP 3101 + (Advanced String Formatting). */ +PyAPI_FUNC(int) _PyFloat_FormatAdvancedWriter( + _PyUnicodeWriter *writer, + PyObject *obj, + PyObject *format_spec, + Py_ssize_t start, + Py_ssize_t end); +#endif /* Py_LIMITED_API */ + +#ifdef __cplusplus +} +#endif +#endif /* !Py_FLOATOBJECT_H */ diff --git a/_Pre_Builds/_Python310_cpp/include/frameobject.h b/_Pre_Builds/_Python310_cpp/include/frameobject.h new file mode 100644 index 0000000..c118af1 --- /dev/null +++ b/_Pre_Builds/_Python310_cpp/include/frameobject.h @@ -0,0 +1,20 @@ +/* Frame object interface */ + +#ifndef Py_FRAMEOBJECT_H +#define Py_FRAMEOBJECT_H +#ifdef __cplusplus +extern "C" { +#endif + +#include "pyframe.h" + +#ifndef Py_LIMITED_API +# define Py_CPYTHON_FRAMEOBJECT_H +# include "cpython/frameobject.h" +# undef Py_CPYTHON_FRAMEOBJECT_H +#endif + +#ifdef __cplusplus +} +#endif +#endif /* !Py_FRAMEOBJECT_H */ diff --git a/_Pre_Builds/_Python310_cpp/include/funcobject.h b/_Pre_Builds/_Python310_cpp/include/funcobject.h new file mode 100644 index 0000000..d7acd18 --- /dev/null +++ b/_Pre_Builds/_Python310_cpp/include/funcobject.h @@ -0,0 +1,110 @@ + +/* Function object interface */ +#ifndef Py_LIMITED_API +#ifndef Py_FUNCOBJECT_H +#define Py_FUNCOBJECT_H +#ifdef __cplusplus +extern "C" { +#endif + + +#define COMMON_FIELDS(PREFIX) \ + PyObject *PREFIX ## globals; \ + PyObject *PREFIX ## builtins; \ + PyObject *PREFIX ## name; \ + PyObject *PREFIX ## qualname; \ + PyObject *PREFIX ## code; /* A code object, the __code__ attribute */ \ + PyObject *PREFIX ## defaults; /* NULL or a tuple */ \ + PyObject *PREFIX ## kwdefaults; /* NULL or a dict */ \ + PyObject *PREFIX ## closure; /* NULL or a tuple of cell objects */ + +typedef struct { + COMMON_FIELDS(fc_) +} PyFrameConstructor; + +/* Function objects and code objects should not be confused with each other: + * + * Function objects are created by the execution of the 'def' statement. + * They reference a code object in their __code__ attribute, which is a + * purely syntactic object, i.e. nothing more than a compiled version of some + * source code lines. There is one code object per source code "fragment", + * but each code object can be referenced by zero or many function objects + * depending only on how many times the 'def' statement in the source was + * executed so far. + */ + +typedef struct { + PyObject_HEAD + COMMON_FIELDS(func_) + PyObject *func_doc; /* The __doc__ attribute, can be anything */ + PyObject *func_dict; /* The __dict__ attribute, a dict or NULL */ + PyObject *func_weakreflist; /* List of weak references */ + PyObject *func_module; /* The __module__ attribute, can be anything */ + PyObject *func_annotations; /* Annotations, a dict or NULL */ + vectorcallfunc vectorcall; + + /* Invariant: + * func_closure contains the bindings for func_code->co_freevars, so + * PyTuple_Size(func_closure) == PyCode_GetNumFree(func_code) + * (func_closure may be NULL if PyCode_GetNumFree(func_code) == 0). + */ +} PyFunctionObject; + +PyAPI_DATA(PyTypeObject) PyFunction_Type; + +#define PyFunction_Check(op) Py_IS_TYPE(op, &PyFunction_Type) + +PyAPI_FUNC(PyObject *) PyFunction_New(PyObject *, PyObject *); +PyAPI_FUNC(PyObject *) PyFunction_NewWithQualName(PyObject *, PyObject *, PyObject *); +PyAPI_FUNC(PyObject *) PyFunction_GetCode(PyObject *); +PyAPI_FUNC(PyObject *) PyFunction_GetGlobals(PyObject *); +PyAPI_FUNC(PyObject *) PyFunction_GetModule(PyObject *); +PyAPI_FUNC(PyObject *) PyFunction_GetDefaults(PyObject *); +PyAPI_FUNC(int) PyFunction_SetDefaults(PyObject *, PyObject *); +PyAPI_FUNC(PyObject *) PyFunction_GetKwDefaults(PyObject *); +PyAPI_FUNC(int) PyFunction_SetKwDefaults(PyObject *, PyObject *); +PyAPI_FUNC(PyObject *) PyFunction_GetClosure(PyObject *); +PyAPI_FUNC(int) PyFunction_SetClosure(PyObject *, PyObject *); +PyAPI_FUNC(PyObject *) PyFunction_GetAnnotations(PyObject *); +PyAPI_FUNC(int) PyFunction_SetAnnotations(PyObject *, PyObject *); + +#ifndef Py_LIMITED_API +PyAPI_FUNC(PyObject *) _PyFunction_Vectorcall( + PyObject *func, + PyObject *const *stack, + size_t nargsf, + PyObject *kwnames); +#endif + +/* Macros for direct access to these values. Type checks are *not* + done, so use with care. */ +#define PyFunction_GET_CODE(func) \ + (((PyFunctionObject *)func) -> func_code) +#define PyFunction_GET_GLOBALS(func) \ + (((PyFunctionObject *)func) -> func_globals) +#define PyFunction_GET_MODULE(func) \ + (((PyFunctionObject *)func) -> func_module) +#define PyFunction_GET_DEFAULTS(func) \ + (((PyFunctionObject *)func) -> func_defaults) +#define PyFunction_GET_KW_DEFAULTS(func) \ + (((PyFunctionObject *)func) -> func_kwdefaults) +#define PyFunction_GET_CLOSURE(func) \ + (((PyFunctionObject *)func) -> func_closure) +#define PyFunction_GET_ANNOTATIONS(func) \ + (((PyFunctionObject *)func) -> func_annotations) + +#define PyFunction_AS_FRAME_CONSTRUCTOR(func) \ + ((PyFrameConstructor *)&((PyFunctionObject *)(func))->func_globals) + +/* The classmethod and staticmethod types lives here, too */ +PyAPI_DATA(PyTypeObject) PyClassMethod_Type; +PyAPI_DATA(PyTypeObject) PyStaticMethod_Type; + +PyAPI_FUNC(PyObject *) PyClassMethod_New(PyObject *); +PyAPI_FUNC(PyObject *) PyStaticMethod_New(PyObject *); + +#ifdef __cplusplus +} +#endif +#endif /* !Py_FUNCOBJECT_H */ +#endif /* Py_LIMITED_API */ diff --git a/_Python311_cpp/include/genericaliasobject.h b/_Pre_Builds/_Python310_cpp/include/genericaliasobject.h similarity index 100% rename from _Python311_cpp/include/genericaliasobject.h rename to _Pre_Builds/_Python310_cpp/include/genericaliasobject.h diff --git a/_Pre_Builds/_Python310_cpp/include/genobject.h b/_Pre_Builds/_Python310_cpp/include/genobject.h new file mode 100644 index 0000000..e965334 --- /dev/null +++ b/_Pre_Builds/_Python310_cpp/include/genobject.h @@ -0,0 +1,100 @@ + +/* Generator object interface */ + +#ifndef Py_LIMITED_API +#ifndef Py_GENOBJECT_H +#define Py_GENOBJECT_H +#ifdef __cplusplus +extern "C" { +#endif + +#include "pystate.h" /* _PyErr_StackItem */ +#include "abstract.h" /* PySendResult */ + +/* _PyGenObject_HEAD defines the initial segment of generator + and coroutine objects. */ +#define _PyGenObject_HEAD(prefix) \ + PyObject_HEAD \ + /* Note: gi_frame can be NULL if the generator is "finished" */ \ + PyFrameObject *prefix##_frame; \ + /* The code object backing the generator */ \ + PyObject *prefix##_code; \ + /* List of weak reference. */ \ + PyObject *prefix##_weakreflist; \ + /* Name of the generator. */ \ + PyObject *prefix##_name; \ + /* Qualified name of the generator. */ \ + PyObject *prefix##_qualname; \ + _PyErr_StackItem prefix##_exc_state; + +typedef struct { + /* The gi_ prefix is intended to remind of generator-iterator. */ + _PyGenObject_HEAD(gi) +} PyGenObject; + +PyAPI_DATA(PyTypeObject) PyGen_Type; + +#define PyGen_Check(op) PyObject_TypeCheck(op, &PyGen_Type) +#define PyGen_CheckExact(op) Py_IS_TYPE(op, &PyGen_Type) + +PyAPI_FUNC(PyObject *) PyGen_New(PyFrameObject *); +PyAPI_FUNC(PyObject *) PyGen_NewWithQualName(PyFrameObject *, + PyObject *name, PyObject *qualname); +PyAPI_FUNC(int) _PyGen_SetStopIterationValue(PyObject *); +PyAPI_FUNC(int) _PyGen_FetchStopIterationValue(PyObject **); +PyObject *_PyGen_yf(PyGenObject *); +PyAPI_FUNC(void) _PyGen_Finalize(PyObject *self); + +#ifndef Py_LIMITED_API +typedef struct { + _PyGenObject_HEAD(cr) + PyObject *cr_origin; +} PyCoroObject; + +PyAPI_DATA(PyTypeObject) PyCoro_Type; +PyAPI_DATA(PyTypeObject) _PyCoroWrapper_Type; + +#define PyCoro_CheckExact(op) Py_IS_TYPE(op, &PyCoro_Type) +PyObject *_PyCoro_GetAwaitableIter(PyObject *o); +PyAPI_FUNC(PyObject *) PyCoro_New(PyFrameObject *, + PyObject *name, PyObject *qualname); + +/* Asynchronous Generators */ + +typedef struct { + _PyGenObject_HEAD(ag) + PyObject *ag_finalizer; + + /* Flag is set to 1 when hooks set up by sys.set_asyncgen_hooks + were called on the generator, to avoid calling them more + than once. */ + int ag_hooks_inited; + + /* Flag is set to 1 when aclose() is called for the first time, or + when a StopAsyncIteration exception is raised. */ + int ag_closed; + + int ag_running_async; +} PyAsyncGenObject; + +PyAPI_DATA(PyTypeObject) PyAsyncGen_Type; +PyAPI_DATA(PyTypeObject) _PyAsyncGenASend_Type; +PyAPI_DATA(PyTypeObject) _PyAsyncGenWrappedValue_Type; +PyAPI_DATA(PyTypeObject) _PyAsyncGenAThrow_Type; + +PyAPI_FUNC(PyObject *) PyAsyncGen_New(PyFrameObject *, + PyObject *name, PyObject *qualname); + +#define PyAsyncGen_CheckExact(op) Py_IS_TYPE(op, &PyAsyncGen_Type) + +PyObject *_PyAsyncGenValueWrapperNew(PyObject *); + +#endif + +#undef _PyGenObject_HEAD + +#ifdef __cplusplus +} +#endif +#endif /* !Py_GENOBJECT_H */ +#endif /* Py_LIMITED_API */ diff --git a/_Pre_Builds/_Python310_cpp/include/import.h b/_Pre_Builds/_Python310_cpp/include/import.h new file mode 100644 index 0000000..aeef3ef --- /dev/null +++ b/_Pre_Builds/_Python310_cpp/include/import.h @@ -0,0 +1,98 @@ +/* Module definition and import interface */ + +#ifndef Py_IMPORT_H +#define Py_IMPORT_H +#ifdef __cplusplus +extern "C" { +#endif + +PyAPI_FUNC(long) PyImport_GetMagicNumber(void); +PyAPI_FUNC(const char *) PyImport_GetMagicTag(void); +PyAPI_FUNC(PyObject *) PyImport_ExecCodeModule( + const char *name, /* UTF-8 encoded string */ + PyObject *co + ); +PyAPI_FUNC(PyObject *) PyImport_ExecCodeModuleEx( + const char *name, /* UTF-8 encoded string */ + PyObject *co, + const char *pathname /* decoded from the filesystem encoding */ + ); +PyAPI_FUNC(PyObject *) PyImport_ExecCodeModuleWithPathnames( + const char *name, /* UTF-8 encoded string */ + PyObject *co, + const char *pathname, /* decoded from the filesystem encoding */ + const char *cpathname /* decoded from the filesystem encoding */ + ); +#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x03030000 +PyAPI_FUNC(PyObject *) PyImport_ExecCodeModuleObject( + PyObject *name, + PyObject *co, + PyObject *pathname, + PyObject *cpathname + ); +#endif +PyAPI_FUNC(PyObject *) PyImport_GetModuleDict(void); +#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x03070000 +PyAPI_FUNC(PyObject *) PyImport_GetModule(PyObject *name); +#endif +#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x03030000 +PyAPI_FUNC(PyObject *) PyImport_AddModuleObject( + PyObject *name + ); +#endif +PyAPI_FUNC(PyObject *) PyImport_AddModule( + const char *name /* UTF-8 encoded string */ + ); +PyAPI_FUNC(PyObject *) PyImport_ImportModule( + const char *name /* UTF-8 encoded string */ + ); +PyAPI_FUNC(PyObject *) PyImport_ImportModuleNoBlock( + const char *name /* UTF-8 encoded string */ + ); +PyAPI_FUNC(PyObject *) PyImport_ImportModuleLevel( + const char *name, /* UTF-8 encoded string */ + PyObject *globals, + PyObject *locals, + PyObject *fromlist, + int level + ); +#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x03050000 +PyAPI_FUNC(PyObject *) PyImport_ImportModuleLevelObject( + PyObject *name, + PyObject *globals, + PyObject *locals, + PyObject *fromlist, + int level + ); +#endif + +#define PyImport_ImportModuleEx(n, g, l, f) \ + PyImport_ImportModuleLevel(n, g, l, f, 0) + +PyAPI_FUNC(PyObject *) PyImport_GetImporter(PyObject *path); +PyAPI_FUNC(PyObject *) PyImport_Import(PyObject *name); +PyAPI_FUNC(PyObject *) PyImport_ReloadModule(PyObject *m); +#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x03030000 +PyAPI_FUNC(int) PyImport_ImportFrozenModuleObject( + PyObject *name + ); +#endif +PyAPI_FUNC(int) PyImport_ImportFrozenModule( + const char *name /* UTF-8 encoded string */ + ); + +PyAPI_FUNC(int) PyImport_AppendInittab( + const char *name, /* ASCII encoded string */ + PyObject* (*initfunc)(void) + ); + +#ifndef Py_LIMITED_API +# define Py_CPYTHON_IMPORT_H +# include "cpython/import.h" +# undef Py_CPYTHON_IMPORT_H +#endif + +#ifdef __cplusplus +} +#endif +#endif /* !Py_IMPORT_H */ diff --git a/_Pre_Builds/_Python310_cpp/include/internal/pycore_abstract.h b/_Pre_Builds/_Python310_cpp/include/internal/pycore_abstract.h new file mode 100644 index 0000000..b791bf2 --- /dev/null +++ b/_Pre_Builds/_Python310_cpp/include/internal/pycore_abstract.h @@ -0,0 +1,22 @@ +#ifndef Py_INTERNAL_ABSTRACT_H +#define Py_INTERNAL_ABSTRACT_H +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef Py_BUILD_CORE +# error "this header requires Py_BUILD_CORE define" +#endif + +// Fast inlined version of PyIndex_Check() +static inline int +_PyIndex_Check(PyObject *obj) +{ + PyNumberMethods *tp_as_number = Py_TYPE(obj)->tp_as_number; + return (tp_as_number != NULL && tp_as_number->nb_index != NULL); +} + +#ifdef __cplusplus +} +#endif +#endif /* !Py_INTERNAL_ABSTRACT_H */ diff --git a/_Python311_cpp/include/internal/pycore_accu.h b/_Pre_Builds/_Python310_cpp/include/internal/pycore_accu.h similarity index 100% rename from _Python311_cpp/include/internal/pycore_accu.h rename to _Pre_Builds/_Python310_cpp/include/internal/pycore_accu.h diff --git a/_Pre_Builds/_Python310_cpp/include/internal/pycore_asdl.h b/_Pre_Builds/_Python310_cpp/include/internal/pycore_asdl.h new file mode 100644 index 0000000..c0b07c3 --- /dev/null +++ b/_Pre_Builds/_Python310_cpp/include/internal/pycore_asdl.h @@ -0,0 +1,112 @@ +#ifndef Py_INTERNAL_ASDL_H +#define Py_INTERNAL_ASDL_H +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef Py_BUILD_CORE +# error "this header requires Py_BUILD_CORE define" +#endif + +#include "pycore_pyarena.h" // _PyArena_Malloc() + +typedef PyObject * identifier; +typedef PyObject * string; +typedef PyObject * object; +typedef PyObject * constant; + +/* It would be nice if the code generated by asdl_c.py was completely + independent of Python, but it is a goal the requires too much work + at this stage. So, for example, I'll represent identifiers as + interned Python strings. +*/ + +#define _ASDL_SEQ_HEAD \ + Py_ssize_t size; \ + void **elements; + +typedef struct { + _ASDL_SEQ_HEAD +} asdl_seq; + +typedef struct { + _ASDL_SEQ_HEAD + void *typed_elements[1]; +} asdl_generic_seq; + +typedef struct { + _ASDL_SEQ_HEAD + PyObject *typed_elements[1]; +} asdl_identifier_seq; + +typedef struct { + _ASDL_SEQ_HEAD + int typed_elements[1]; +} asdl_int_seq; + +asdl_generic_seq *_Py_asdl_generic_seq_new(Py_ssize_t size, PyArena *arena); +asdl_identifier_seq *_Py_asdl_identifier_seq_new(Py_ssize_t size, PyArena *arena); +asdl_int_seq *_Py_asdl_int_seq_new(Py_ssize_t size, PyArena *arena); + + +#define GENERATE_ASDL_SEQ_CONSTRUCTOR(NAME, TYPE) \ +asdl_ ## NAME ## _seq *_Py_asdl_ ## NAME ## _seq_new(Py_ssize_t size, PyArena *arena) \ +{ \ + asdl_ ## NAME ## _seq *seq = NULL; \ + size_t n; \ + /* check size is sane */ \ + if (size < 0 || \ + (size && (((size_t)size - 1) > (SIZE_MAX / sizeof(void *))))) { \ + PyErr_NoMemory(); \ + return NULL; \ + } \ + n = (size ? (sizeof(TYPE *) * (size - 1)) : 0); \ + /* check if size can be added safely */ \ + if (n > SIZE_MAX - sizeof(asdl_ ## NAME ## _seq)) { \ + PyErr_NoMemory(); \ + return NULL; \ + } \ + n += sizeof(asdl_ ## NAME ## _seq); \ + seq = (asdl_ ## NAME ## _seq *)_PyArena_Malloc(arena, n); \ + if (!seq) { \ + PyErr_NoMemory(); \ + return NULL; \ + } \ + memset(seq, 0, n); \ + seq->size = size; \ + seq->elements = (void**)seq->typed_elements; \ + return seq; \ +} + +#define asdl_seq_GET_UNTYPED(S, I) (S)->elements[(I)] +#define asdl_seq_GET(S, I) (S)->typed_elements[(I)] +#define asdl_seq_LEN(S) ((S) == NULL ? 0 : (S)->size) + +#ifdef Py_DEBUG +# define asdl_seq_SET(S, I, V) \ + do { \ + Py_ssize_t _asdl_i = (I); \ + assert((S) != NULL); \ + assert(0 <= _asdl_i && _asdl_i < (S)->size); \ + (S)->typed_elements[_asdl_i] = (V); \ + } while (0) +#else +# define asdl_seq_SET(S, I, V) (S)->typed_elements[I] = (V) +#endif + +#ifdef Py_DEBUG +# define asdl_seq_SET_UNTYPED(S, I, V) \ + do { \ + Py_ssize_t _asdl_i = (I); \ + assert((S) != NULL); \ + assert(0 <= _asdl_i && _asdl_i < (S)->size); \ + (S)->elements[_asdl_i] = (V); \ + } while (0) +#else +# define asdl_seq_SET_UNTYPED(S, I, V) (S)->elements[I] = (V) +#endif + +#ifdef __cplusplus +} +#endif +#endif /* !Py_INTERNAL_ASDL_H */ diff --git a/_Pre_Builds/_Python310_cpp/include/internal/pycore_ast.h b/_Pre_Builds/_Python310_cpp/include/internal/pycore_ast.h new file mode 100644 index 0000000..ebb6a90 --- /dev/null +++ b/_Pre_Builds/_Python310_cpp/include/internal/pycore_ast.h @@ -0,0 +1,855 @@ +// File automatically generated by Parser/asdl_c.py. + +#ifndef Py_INTERNAL_AST_H +#define Py_INTERNAL_AST_H +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef Py_BUILD_CORE +# error "this header requires Py_BUILD_CORE define" +#endif + +#include "pycore_asdl.h" + +typedef struct _mod *mod_ty; + +typedef struct _stmt *stmt_ty; + +typedef struct _expr *expr_ty; + +typedef enum _expr_context { Load=1, Store=2, Del=3 } expr_context_ty; + +typedef enum _boolop { And=1, Or=2 } boolop_ty; + +typedef enum _operator { Add=1, Sub=2, Mult=3, MatMult=4, Div=5, Mod=6, Pow=7, + LShift=8, RShift=9, BitOr=10, BitXor=11, BitAnd=12, + FloorDiv=13 } operator_ty; + +typedef enum _unaryop { Invert=1, Not=2, UAdd=3, USub=4 } unaryop_ty; + +typedef enum _cmpop { Eq=1, NotEq=2, Lt=3, LtE=4, Gt=5, GtE=6, Is=7, IsNot=8, + In=9, NotIn=10 } cmpop_ty; + +typedef struct _comprehension *comprehension_ty; + +typedef struct _excepthandler *excepthandler_ty; + +typedef struct _arguments *arguments_ty; + +typedef struct _arg *arg_ty; + +typedef struct _keyword *keyword_ty; + +typedef struct _alias *alias_ty; + +typedef struct _withitem *withitem_ty; + +typedef struct _match_case *match_case_ty; + +typedef struct _pattern *pattern_ty; + +typedef struct _type_ignore *type_ignore_ty; + + +typedef struct { + _ASDL_SEQ_HEAD + mod_ty typed_elements[1]; +} asdl_mod_seq; + +asdl_mod_seq *_Py_asdl_mod_seq_new(Py_ssize_t size, PyArena *arena); + +typedef struct { + _ASDL_SEQ_HEAD + stmt_ty typed_elements[1]; +} asdl_stmt_seq; + +asdl_stmt_seq *_Py_asdl_stmt_seq_new(Py_ssize_t size, PyArena *arena); + +typedef struct { + _ASDL_SEQ_HEAD + expr_ty typed_elements[1]; +} asdl_expr_seq; + +asdl_expr_seq *_Py_asdl_expr_seq_new(Py_ssize_t size, PyArena *arena); + +typedef struct { + _ASDL_SEQ_HEAD + comprehension_ty typed_elements[1]; +} asdl_comprehension_seq; + +asdl_comprehension_seq *_Py_asdl_comprehension_seq_new(Py_ssize_t size, PyArena + *arena); + +typedef struct { + _ASDL_SEQ_HEAD + excepthandler_ty typed_elements[1]; +} asdl_excepthandler_seq; + +asdl_excepthandler_seq *_Py_asdl_excepthandler_seq_new(Py_ssize_t size, PyArena + *arena); + +typedef struct { + _ASDL_SEQ_HEAD + arguments_ty typed_elements[1]; +} asdl_arguments_seq; + +asdl_arguments_seq *_Py_asdl_arguments_seq_new(Py_ssize_t size, PyArena *arena); + +typedef struct { + _ASDL_SEQ_HEAD + arg_ty typed_elements[1]; +} asdl_arg_seq; + +asdl_arg_seq *_Py_asdl_arg_seq_new(Py_ssize_t size, PyArena *arena); + +typedef struct { + _ASDL_SEQ_HEAD + keyword_ty typed_elements[1]; +} asdl_keyword_seq; + +asdl_keyword_seq *_Py_asdl_keyword_seq_new(Py_ssize_t size, PyArena *arena); + +typedef struct { + _ASDL_SEQ_HEAD + alias_ty typed_elements[1]; +} asdl_alias_seq; + +asdl_alias_seq *_Py_asdl_alias_seq_new(Py_ssize_t size, PyArena *arena); + +typedef struct { + _ASDL_SEQ_HEAD + withitem_ty typed_elements[1]; +} asdl_withitem_seq; + +asdl_withitem_seq *_Py_asdl_withitem_seq_new(Py_ssize_t size, PyArena *arena); + +typedef struct { + _ASDL_SEQ_HEAD + match_case_ty typed_elements[1]; +} asdl_match_case_seq; + +asdl_match_case_seq *_Py_asdl_match_case_seq_new(Py_ssize_t size, PyArena + *arena); + +typedef struct { + _ASDL_SEQ_HEAD + pattern_ty typed_elements[1]; +} asdl_pattern_seq; + +asdl_pattern_seq *_Py_asdl_pattern_seq_new(Py_ssize_t size, PyArena *arena); + +typedef struct { + _ASDL_SEQ_HEAD + type_ignore_ty typed_elements[1]; +} asdl_type_ignore_seq; + +asdl_type_ignore_seq *_Py_asdl_type_ignore_seq_new(Py_ssize_t size, PyArena + *arena); + + +enum _mod_kind {Module_kind=1, Interactive_kind=2, Expression_kind=3, + FunctionType_kind=4}; +struct _mod { + enum _mod_kind kind; + union { + struct { + asdl_stmt_seq *body; + asdl_type_ignore_seq *type_ignores; + } Module; + + struct { + asdl_stmt_seq *body; + } Interactive; + + struct { + expr_ty body; + } Expression; + + struct { + asdl_expr_seq *argtypes; + expr_ty returns; + } FunctionType; + + } v; +}; + +enum _stmt_kind {FunctionDef_kind=1, AsyncFunctionDef_kind=2, ClassDef_kind=3, + Return_kind=4, Delete_kind=5, Assign_kind=6, + AugAssign_kind=7, AnnAssign_kind=8, For_kind=9, + AsyncFor_kind=10, While_kind=11, If_kind=12, With_kind=13, + AsyncWith_kind=14, Match_kind=15, Raise_kind=16, Try_kind=17, + Assert_kind=18, Import_kind=19, ImportFrom_kind=20, + Global_kind=21, Nonlocal_kind=22, Expr_kind=23, Pass_kind=24, + Break_kind=25, Continue_kind=26}; +struct _stmt { + enum _stmt_kind kind; + union { + struct { + identifier name; + arguments_ty args; + asdl_stmt_seq *body; + asdl_expr_seq *decorator_list; + expr_ty returns; + string type_comment; + } FunctionDef; + + struct { + identifier name; + arguments_ty args; + asdl_stmt_seq *body; + asdl_expr_seq *decorator_list; + expr_ty returns; + string type_comment; + } AsyncFunctionDef; + + struct { + identifier name; + asdl_expr_seq *bases; + asdl_keyword_seq *keywords; + asdl_stmt_seq *body; + asdl_expr_seq *decorator_list; + } ClassDef; + + struct { + expr_ty value; + } Return; + + struct { + asdl_expr_seq *targets; + } Delete; + + struct { + asdl_expr_seq *targets; + expr_ty value; + string type_comment; + } Assign; + + struct { + expr_ty target; + operator_ty op; + expr_ty value; + } AugAssign; + + struct { + expr_ty target; + expr_ty annotation; + expr_ty value; + int simple; + } AnnAssign; + + struct { + expr_ty target; + expr_ty iter; + asdl_stmt_seq *body; + asdl_stmt_seq *orelse; + string type_comment; + } For; + + struct { + expr_ty target; + expr_ty iter; + asdl_stmt_seq *body; + asdl_stmt_seq *orelse; + string type_comment; + } AsyncFor; + + struct { + expr_ty test; + asdl_stmt_seq *body; + asdl_stmt_seq *orelse; + } While; + + struct { + expr_ty test; + asdl_stmt_seq *body; + asdl_stmt_seq *orelse; + } If; + + struct { + asdl_withitem_seq *items; + asdl_stmt_seq *body; + string type_comment; + } With; + + struct { + asdl_withitem_seq *items; + asdl_stmt_seq *body; + string type_comment; + } AsyncWith; + + struct { + expr_ty subject; + asdl_match_case_seq *cases; + } Match; + + struct { + expr_ty exc; + expr_ty cause; + } Raise; + + struct { + asdl_stmt_seq *body; + asdl_excepthandler_seq *handlers; + asdl_stmt_seq *orelse; + asdl_stmt_seq *finalbody; + } Try; + + struct { + expr_ty test; + expr_ty msg; + } Assert; + + struct { + asdl_alias_seq *names; + } Import; + + struct { + identifier module; + asdl_alias_seq *names; + int level; + } ImportFrom; + + struct { + asdl_identifier_seq *names; + } Global; + + struct { + asdl_identifier_seq *names; + } Nonlocal; + + struct { + expr_ty value; + } Expr; + + } v; + int lineno; + int col_offset; + int end_lineno; + int end_col_offset; +}; + +enum _expr_kind {BoolOp_kind=1, NamedExpr_kind=2, BinOp_kind=3, UnaryOp_kind=4, + Lambda_kind=5, IfExp_kind=6, Dict_kind=7, Set_kind=8, + ListComp_kind=9, SetComp_kind=10, DictComp_kind=11, + GeneratorExp_kind=12, Await_kind=13, Yield_kind=14, + YieldFrom_kind=15, Compare_kind=16, Call_kind=17, + FormattedValue_kind=18, JoinedStr_kind=19, Constant_kind=20, + Attribute_kind=21, Subscript_kind=22, Starred_kind=23, + Name_kind=24, List_kind=25, Tuple_kind=26, Slice_kind=27}; +struct _expr { + enum _expr_kind kind; + union { + struct { + boolop_ty op; + asdl_expr_seq *values; + } BoolOp; + + struct { + expr_ty target; + expr_ty value; + } NamedExpr; + + struct { + expr_ty left; + operator_ty op; + expr_ty right; + } BinOp; + + struct { + unaryop_ty op; + expr_ty operand; + } UnaryOp; + + struct { + arguments_ty args; + expr_ty body; + } Lambda; + + struct { + expr_ty test; + expr_ty body; + expr_ty orelse; + } IfExp; + + struct { + asdl_expr_seq *keys; + asdl_expr_seq *values; + } Dict; + + struct { + asdl_expr_seq *elts; + } Set; + + struct { + expr_ty elt; + asdl_comprehension_seq *generators; + } ListComp; + + struct { + expr_ty elt; + asdl_comprehension_seq *generators; + } SetComp; + + struct { + expr_ty key; + expr_ty value; + asdl_comprehension_seq *generators; + } DictComp; + + struct { + expr_ty elt; + asdl_comprehension_seq *generators; + } GeneratorExp; + + struct { + expr_ty value; + } Await; + + struct { + expr_ty value; + } Yield; + + struct { + expr_ty value; + } YieldFrom; + + struct { + expr_ty left; + asdl_int_seq *ops; + asdl_expr_seq *comparators; + } Compare; + + struct { + expr_ty func; + asdl_expr_seq *args; + asdl_keyword_seq *keywords; + } Call; + + struct { + expr_ty value; + int conversion; + expr_ty format_spec; + } FormattedValue; + + struct { + asdl_expr_seq *values; + } JoinedStr; + + struct { + constant value; + string kind; + } Constant; + + struct { + expr_ty value; + identifier attr; + expr_context_ty ctx; + } Attribute; + + struct { + expr_ty value; + expr_ty slice; + expr_context_ty ctx; + } Subscript; + + struct { + expr_ty value; + expr_context_ty ctx; + } Starred; + + struct { + identifier id; + expr_context_ty ctx; + } Name; + + struct { + asdl_expr_seq *elts; + expr_context_ty ctx; + } List; + + struct { + asdl_expr_seq *elts; + expr_context_ty ctx; + } Tuple; + + struct { + expr_ty lower; + expr_ty upper; + expr_ty step; + } Slice; + + } v; + int lineno; + int col_offset; + int end_lineno; + int end_col_offset; +}; + +struct _comprehension { + expr_ty target; + expr_ty iter; + asdl_expr_seq *ifs; + int is_async; +}; + +enum _excepthandler_kind {ExceptHandler_kind=1}; +struct _excepthandler { + enum _excepthandler_kind kind; + union { + struct { + expr_ty type; + identifier name; + asdl_stmt_seq *body; + } ExceptHandler; + + } v; + int lineno; + int col_offset; + int end_lineno; + int end_col_offset; +}; + +struct _arguments { + asdl_arg_seq *posonlyargs; + asdl_arg_seq *args; + arg_ty vararg; + asdl_arg_seq *kwonlyargs; + asdl_expr_seq *kw_defaults; + arg_ty kwarg; + asdl_expr_seq *defaults; +}; + +struct _arg { + identifier arg; + expr_ty annotation; + string type_comment; + int lineno; + int col_offset; + int end_lineno; + int end_col_offset; +}; + +struct _keyword { + identifier arg; + expr_ty value; + int lineno; + int col_offset; + int end_lineno; + int end_col_offset; +}; + +struct _alias { + identifier name; + identifier asname; + int lineno; + int col_offset; + int end_lineno; + int end_col_offset; +}; + +struct _withitem { + expr_ty context_expr; + expr_ty optional_vars; +}; + +struct _match_case { + pattern_ty pattern; + expr_ty guard; + asdl_stmt_seq *body; +}; + +enum _pattern_kind {MatchValue_kind=1, MatchSingleton_kind=2, + MatchSequence_kind=3, MatchMapping_kind=4, + MatchClass_kind=5, MatchStar_kind=6, MatchAs_kind=7, + MatchOr_kind=8}; +struct _pattern { + enum _pattern_kind kind; + union { + struct { + expr_ty value; + } MatchValue; + + struct { + constant value; + } MatchSingleton; + + struct { + asdl_pattern_seq *patterns; + } MatchSequence; + + struct { + asdl_expr_seq *keys; + asdl_pattern_seq *patterns; + identifier rest; + } MatchMapping; + + struct { + expr_ty cls; + asdl_pattern_seq *patterns; + asdl_identifier_seq *kwd_attrs; + asdl_pattern_seq *kwd_patterns; + } MatchClass; + + struct { + identifier name; + } MatchStar; + + struct { + pattern_ty pattern; + identifier name; + } MatchAs; + + struct { + asdl_pattern_seq *patterns; + } MatchOr; + + } v; + int lineno; + int col_offset; + int end_lineno; + int end_col_offset; +}; + +enum _type_ignore_kind {TypeIgnore_kind=1}; +struct _type_ignore { + enum _type_ignore_kind kind; + union { + struct { + int lineno; + string tag; + } TypeIgnore; + + } v; +}; + + +// Note: these macros affect function definitions, not only call sites. +mod_ty _PyAST_Module(asdl_stmt_seq * body, asdl_type_ignore_seq * type_ignores, + PyArena *arena); +mod_ty _PyAST_Interactive(asdl_stmt_seq * body, PyArena *arena); +mod_ty _PyAST_Expression(expr_ty body, PyArena *arena); +mod_ty _PyAST_FunctionType(asdl_expr_seq * argtypes, expr_ty returns, PyArena + *arena); +stmt_ty _PyAST_FunctionDef(identifier name, arguments_ty args, asdl_stmt_seq * + body, asdl_expr_seq * decorator_list, expr_ty + returns, string type_comment, int lineno, int + col_offset, int end_lineno, int end_col_offset, + PyArena *arena); +stmt_ty _PyAST_AsyncFunctionDef(identifier name, arguments_ty args, + asdl_stmt_seq * body, asdl_expr_seq * + decorator_list, expr_ty returns, string + type_comment, int lineno, int col_offset, int + end_lineno, int end_col_offset, PyArena *arena); +stmt_ty _PyAST_ClassDef(identifier name, asdl_expr_seq * bases, + asdl_keyword_seq * keywords, asdl_stmt_seq * body, + asdl_expr_seq * decorator_list, int lineno, int + col_offset, int end_lineno, int end_col_offset, PyArena + *arena); +stmt_ty _PyAST_Return(expr_ty value, int lineno, int col_offset, int + end_lineno, int end_col_offset, PyArena *arena); +stmt_ty _PyAST_Delete(asdl_expr_seq * targets, int lineno, int col_offset, int + end_lineno, int end_col_offset, PyArena *arena); +stmt_ty _PyAST_Assign(asdl_expr_seq * targets, expr_ty value, string + type_comment, int lineno, int col_offset, int end_lineno, + int end_col_offset, PyArena *arena); +stmt_ty _PyAST_AugAssign(expr_ty target, operator_ty op, expr_ty value, int + lineno, int col_offset, int end_lineno, int + end_col_offset, PyArena *arena); +stmt_ty _PyAST_AnnAssign(expr_ty target, expr_ty annotation, expr_ty value, int + simple, int lineno, int col_offset, int end_lineno, + int end_col_offset, PyArena *arena); +stmt_ty _PyAST_For(expr_ty target, expr_ty iter, asdl_stmt_seq * body, + asdl_stmt_seq * orelse, string type_comment, int lineno, int + col_offset, int end_lineno, int end_col_offset, PyArena + *arena); +stmt_ty _PyAST_AsyncFor(expr_ty target, expr_ty iter, asdl_stmt_seq * body, + asdl_stmt_seq * orelse, string type_comment, int + lineno, int col_offset, int end_lineno, int + end_col_offset, PyArena *arena); +stmt_ty _PyAST_While(expr_ty test, asdl_stmt_seq * body, asdl_stmt_seq * + orelse, int lineno, int col_offset, int end_lineno, int + end_col_offset, PyArena *arena); +stmt_ty _PyAST_If(expr_ty test, asdl_stmt_seq * body, asdl_stmt_seq * orelse, + int lineno, int col_offset, int end_lineno, int + end_col_offset, PyArena *arena); +stmt_ty _PyAST_With(asdl_withitem_seq * items, asdl_stmt_seq * body, string + type_comment, int lineno, int col_offset, int end_lineno, + int end_col_offset, PyArena *arena); +stmt_ty _PyAST_AsyncWith(asdl_withitem_seq * items, asdl_stmt_seq * body, + string type_comment, int lineno, int col_offset, int + end_lineno, int end_col_offset, PyArena *arena); +stmt_ty _PyAST_Match(expr_ty subject, asdl_match_case_seq * cases, int lineno, + int col_offset, int end_lineno, int end_col_offset, + PyArena *arena); +stmt_ty _PyAST_Raise(expr_ty exc, expr_ty cause, int lineno, int col_offset, + int end_lineno, int end_col_offset, PyArena *arena); +stmt_ty _PyAST_Try(asdl_stmt_seq * body, asdl_excepthandler_seq * handlers, + asdl_stmt_seq * orelse, asdl_stmt_seq * finalbody, int + lineno, int col_offset, int end_lineno, int end_col_offset, + PyArena *arena); +stmt_ty _PyAST_Assert(expr_ty test, expr_ty msg, int lineno, int col_offset, + int end_lineno, int end_col_offset, PyArena *arena); +stmt_ty _PyAST_Import(asdl_alias_seq * names, int lineno, int col_offset, int + end_lineno, int end_col_offset, PyArena *arena); +stmt_ty _PyAST_ImportFrom(identifier module, asdl_alias_seq * names, int level, + int lineno, int col_offset, int end_lineno, int + end_col_offset, PyArena *arena); +stmt_ty _PyAST_Global(asdl_identifier_seq * names, int lineno, int col_offset, + int end_lineno, int end_col_offset, PyArena *arena); +stmt_ty _PyAST_Nonlocal(asdl_identifier_seq * names, int lineno, int + col_offset, int end_lineno, int end_col_offset, PyArena + *arena); +stmt_ty _PyAST_Expr(expr_ty value, int lineno, int col_offset, int end_lineno, + int end_col_offset, PyArena *arena); +stmt_ty _PyAST_Pass(int lineno, int col_offset, int end_lineno, int + end_col_offset, PyArena *arena); +stmt_ty _PyAST_Break(int lineno, int col_offset, int end_lineno, int + end_col_offset, PyArena *arena); +stmt_ty _PyAST_Continue(int lineno, int col_offset, int end_lineno, int + end_col_offset, PyArena *arena); +expr_ty _PyAST_BoolOp(boolop_ty op, asdl_expr_seq * values, int lineno, int + col_offset, int end_lineno, int end_col_offset, PyArena + *arena); +expr_ty _PyAST_NamedExpr(expr_ty target, expr_ty value, int lineno, int + col_offset, int end_lineno, int end_col_offset, + PyArena *arena); +expr_ty _PyAST_BinOp(expr_ty left, operator_ty op, expr_ty right, int lineno, + int col_offset, int end_lineno, int end_col_offset, + PyArena *arena); +expr_ty _PyAST_UnaryOp(unaryop_ty op, expr_ty operand, int lineno, int + col_offset, int end_lineno, int end_col_offset, PyArena + *arena); +expr_ty _PyAST_Lambda(arguments_ty args, expr_ty body, int lineno, int + col_offset, int end_lineno, int end_col_offset, PyArena + *arena); +expr_ty _PyAST_IfExp(expr_ty test, expr_ty body, expr_ty orelse, int lineno, + int col_offset, int end_lineno, int end_col_offset, + PyArena *arena); +expr_ty _PyAST_Dict(asdl_expr_seq * keys, asdl_expr_seq * values, int lineno, + int col_offset, int end_lineno, int end_col_offset, PyArena + *arena); +expr_ty _PyAST_Set(asdl_expr_seq * elts, int lineno, int col_offset, int + end_lineno, int end_col_offset, PyArena *arena); +expr_ty _PyAST_ListComp(expr_ty elt, asdl_comprehension_seq * generators, int + lineno, int col_offset, int end_lineno, int + end_col_offset, PyArena *arena); +expr_ty _PyAST_SetComp(expr_ty elt, asdl_comprehension_seq * generators, int + lineno, int col_offset, int end_lineno, int + end_col_offset, PyArena *arena); +expr_ty _PyAST_DictComp(expr_ty key, expr_ty value, asdl_comprehension_seq * + generators, int lineno, int col_offset, int end_lineno, + int end_col_offset, PyArena *arena); +expr_ty _PyAST_GeneratorExp(expr_ty elt, asdl_comprehension_seq * generators, + int lineno, int col_offset, int end_lineno, int + end_col_offset, PyArena *arena); +expr_ty _PyAST_Await(expr_ty value, int lineno, int col_offset, int end_lineno, + int end_col_offset, PyArena *arena); +expr_ty _PyAST_Yield(expr_ty value, int lineno, int col_offset, int end_lineno, + int end_col_offset, PyArena *arena); +expr_ty _PyAST_YieldFrom(expr_ty value, int lineno, int col_offset, int + end_lineno, int end_col_offset, PyArena *arena); +expr_ty _PyAST_Compare(expr_ty left, asdl_int_seq * ops, asdl_expr_seq * + comparators, int lineno, int col_offset, int end_lineno, + int end_col_offset, PyArena *arena); +expr_ty _PyAST_Call(expr_ty func, asdl_expr_seq * args, asdl_keyword_seq * + keywords, int lineno, int col_offset, int end_lineno, int + end_col_offset, PyArena *arena); +expr_ty _PyAST_FormattedValue(expr_ty value, int conversion, expr_ty + format_spec, int lineno, int col_offset, int + end_lineno, int end_col_offset, PyArena *arena); +expr_ty _PyAST_JoinedStr(asdl_expr_seq * values, int lineno, int col_offset, + int end_lineno, int end_col_offset, PyArena *arena); +expr_ty _PyAST_Constant(constant value, string kind, int lineno, int + col_offset, int end_lineno, int end_col_offset, PyArena + *arena); +expr_ty _PyAST_Attribute(expr_ty value, identifier attr, expr_context_ty ctx, + int lineno, int col_offset, int end_lineno, int + end_col_offset, PyArena *arena); +expr_ty _PyAST_Subscript(expr_ty value, expr_ty slice, expr_context_ty ctx, int + lineno, int col_offset, int end_lineno, int + end_col_offset, PyArena *arena); +expr_ty _PyAST_Starred(expr_ty value, expr_context_ty ctx, int lineno, int + col_offset, int end_lineno, int end_col_offset, PyArena + *arena); +expr_ty _PyAST_Name(identifier id, expr_context_ty ctx, int lineno, int + col_offset, int end_lineno, int end_col_offset, PyArena + *arena); +expr_ty _PyAST_List(asdl_expr_seq * elts, expr_context_ty ctx, int lineno, int + col_offset, int end_lineno, int end_col_offset, PyArena + *arena); +expr_ty _PyAST_Tuple(asdl_expr_seq * elts, expr_context_ty ctx, int lineno, int + col_offset, int end_lineno, int end_col_offset, PyArena + *arena); +expr_ty _PyAST_Slice(expr_ty lower, expr_ty upper, expr_ty step, int lineno, + int col_offset, int end_lineno, int end_col_offset, + PyArena *arena); +comprehension_ty _PyAST_comprehension(expr_ty target, expr_ty iter, + asdl_expr_seq * ifs, int is_async, + PyArena *arena); +excepthandler_ty _PyAST_ExceptHandler(expr_ty type, identifier name, + asdl_stmt_seq * body, int lineno, int + col_offset, int end_lineno, int + end_col_offset, PyArena *arena); +arguments_ty _PyAST_arguments(asdl_arg_seq * posonlyargs, asdl_arg_seq * args, + arg_ty vararg, asdl_arg_seq * kwonlyargs, + asdl_expr_seq * kw_defaults, arg_ty kwarg, + asdl_expr_seq * defaults, PyArena *arena); +arg_ty _PyAST_arg(identifier arg, expr_ty annotation, string type_comment, int + lineno, int col_offset, int end_lineno, int end_col_offset, + PyArena *arena); +keyword_ty _PyAST_keyword(identifier arg, expr_ty value, int lineno, int + col_offset, int end_lineno, int end_col_offset, + PyArena *arena); +alias_ty _PyAST_alias(identifier name, identifier asname, int lineno, int + col_offset, int end_lineno, int end_col_offset, PyArena + *arena); +withitem_ty _PyAST_withitem(expr_ty context_expr, expr_ty optional_vars, + PyArena *arena); +match_case_ty _PyAST_match_case(pattern_ty pattern, expr_ty guard, + asdl_stmt_seq * body, PyArena *arena); +pattern_ty _PyAST_MatchValue(expr_ty value, int lineno, int col_offset, int + end_lineno, int end_col_offset, PyArena *arena); +pattern_ty _PyAST_MatchSingleton(constant value, int lineno, int col_offset, + int end_lineno, int end_col_offset, PyArena + *arena); +pattern_ty _PyAST_MatchSequence(asdl_pattern_seq * patterns, int lineno, int + col_offset, int end_lineno, int end_col_offset, + PyArena *arena); +pattern_ty _PyAST_MatchMapping(asdl_expr_seq * keys, asdl_pattern_seq * + patterns, identifier rest, int lineno, int + col_offset, int end_lineno, int end_col_offset, + PyArena *arena); +pattern_ty _PyAST_MatchClass(expr_ty cls, asdl_pattern_seq * patterns, + asdl_identifier_seq * kwd_attrs, asdl_pattern_seq + * kwd_patterns, int lineno, int col_offset, int + end_lineno, int end_col_offset, PyArena *arena); +pattern_ty _PyAST_MatchStar(identifier name, int lineno, int col_offset, int + end_lineno, int end_col_offset, PyArena *arena); +pattern_ty _PyAST_MatchAs(pattern_ty pattern, identifier name, int lineno, int + col_offset, int end_lineno, int end_col_offset, + PyArena *arena); +pattern_ty _PyAST_MatchOr(asdl_pattern_seq * patterns, int lineno, int + col_offset, int end_lineno, int end_col_offset, + PyArena *arena); +type_ignore_ty _PyAST_TypeIgnore(int lineno, string tag, PyArena *arena); + + +PyObject* PyAST_mod2obj(mod_ty t); +mod_ty PyAST_obj2mod(PyObject* ast, PyArena* arena, int mode); +int PyAST_Check(PyObject* obj); + +extern int _PyAST_Validate(mod_ty); + +/* _PyAST_ExprAsUnicode is defined in ast_unparse.c */ +extern PyObject* _PyAST_ExprAsUnicode(expr_ty); + +/* Return the borrowed reference to the first literal string in the + sequence of statements or NULL if it doesn't start from a literal string. + Doesn't set exception. */ +extern PyObject* _PyAST_GetDocString(asdl_stmt_seq *); + +#ifdef __cplusplus +} +#endif +#endif /* !Py_INTERNAL_AST_H */ diff --git a/_Pre_Builds/_Python310_cpp/include/internal/pycore_ast_state.h b/_Pre_Builds/_Python310_cpp/include/internal/pycore_ast_state.h new file mode 100644 index 0000000..882cd09 --- /dev/null +++ b/_Pre_Builds/_Python310_cpp/include/internal/pycore_ast_state.h @@ -0,0 +1,255 @@ +// File automatically generated by Parser/asdl_c.py. + +#ifndef Py_INTERNAL_AST_STATE_H +#define Py_INTERNAL_AST_STATE_H +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef Py_BUILD_CORE +# error "this header requires Py_BUILD_CORE define" +#endif + +struct ast_state { + int initialized; + PyObject *AST_type; + PyObject *Add_singleton; + PyObject *Add_type; + PyObject *And_singleton; + PyObject *And_type; + PyObject *AnnAssign_type; + PyObject *Assert_type; + PyObject *Assign_type; + PyObject *AsyncFor_type; + PyObject *AsyncFunctionDef_type; + PyObject *AsyncWith_type; + PyObject *Attribute_type; + PyObject *AugAssign_type; + PyObject *Await_type; + PyObject *BinOp_type; + PyObject *BitAnd_singleton; + PyObject *BitAnd_type; + PyObject *BitOr_singleton; + PyObject *BitOr_type; + PyObject *BitXor_singleton; + PyObject *BitXor_type; + PyObject *BoolOp_type; + PyObject *Break_type; + PyObject *Call_type; + PyObject *ClassDef_type; + PyObject *Compare_type; + PyObject *Constant_type; + PyObject *Continue_type; + PyObject *Del_singleton; + PyObject *Del_type; + PyObject *Delete_type; + PyObject *DictComp_type; + PyObject *Dict_type; + PyObject *Div_singleton; + PyObject *Div_type; + PyObject *Eq_singleton; + PyObject *Eq_type; + PyObject *ExceptHandler_type; + PyObject *Expr_type; + PyObject *Expression_type; + PyObject *FloorDiv_singleton; + PyObject *FloorDiv_type; + PyObject *For_type; + PyObject *FormattedValue_type; + PyObject *FunctionDef_type; + PyObject *FunctionType_type; + PyObject *GeneratorExp_type; + PyObject *Global_type; + PyObject *GtE_singleton; + PyObject *GtE_type; + PyObject *Gt_singleton; + PyObject *Gt_type; + PyObject *IfExp_type; + PyObject *If_type; + PyObject *ImportFrom_type; + PyObject *Import_type; + PyObject *In_singleton; + PyObject *In_type; + PyObject *Interactive_type; + PyObject *Invert_singleton; + PyObject *Invert_type; + PyObject *IsNot_singleton; + PyObject *IsNot_type; + PyObject *Is_singleton; + PyObject *Is_type; + PyObject *JoinedStr_type; + PyObject *LShift_singleton; + PyObject *LShift_type; + PyObject *Lambda_type; + PyObject *ListComp_type; + PyObject *List_type; + PyObject *Load_singleton; + PyObject *Load_type; + PyObject *LtE_singleton; + PyObject *LtE_type; + PyObject *Lt_singleton; + PyObject *Lt_type; + PyObject *MatMult_singleton; + PyObject *MatMult_type; + PyObject *MatchAs_type; + PyObject *MatchClass_type; + PyObject *MatchMapping_type; + PyObject *MatchOr_type; + PyObject *MatchSequence_type; + PyObject *MatchSingleton_type; + PyObject *MatchStar_type; + PyObject *MatchValue_type; + PyObject *Match_type; + PyObject *Mod_singleton; + PyObject *Mod_type; + PyObject *Module_type; + PyObject *Mult_singleton; + PyObject *Mult_type; + PyObject *Name_type; + PyObject *NamedExpr_type; + PyObject *Nonlocal_type; + PyObject *NotEq_singleton; + PyObject *NotEq_type; + PyObject *NotIn_singleton; + PyObject *NotIn_type; + PyObject *Not_singleton; + PyObject *Not_type; + PyObject *Or_singleton; + PyObject *Or_type; + PyObject *Pass_type; + PyObject *Pow_singleton; + PyObject *Pow_type; + PyObject *RShift_singleton; + PyObject *RShift_type; + PyObject *Raise_type; + PyObject *Return_type; + PyObject *SetComp_type; + PyObject *Set_type; + PyObject *Slice_type; + PyObject *Starred_type; + PyObject *Store_singleton; + PyObject *Store_type; + PyObject *Sub_singleton; + PyObject *Sub_type; + PyObject *Subscript_type; + PyObject *Try_type; + PyObject *Tuple_type; + PyObject *TypeIgnore_type; + PyObject *UAdd_singleton; + PyObject *UAdd_type; + PyObject *USub_singleton; + PyObject *USub_type; + PyObject *UnaryOp_type; + PyObject *While_type; + PyObject *With_type; + PyObject *YieldFrom_type; + PyObject *Yield_type; + PyObject *__dict__; + PyObject *__doc__; + PyObject *__match_args__; + PyObject *__module__; + PyObject *_attributes; + PyObject *_fields; + PyObject *alias_type; + PyObject *annotation; + PyObject *arg; + PyObject *arg_type; + PyObject *args; + PyObject *argtypes; + PyObject *arguments_type; + PyObject *asname; + PyObject *ast; + PyObject *attr; + PyObject *bases; + PyObject *body; + PyObject *boolop_type; + PyObject *cases; + PyObject *cause; + PyObject *cls; + PyObject *cmpop_type; + PyObject *col_offset; + PyObject *comparators; + PyObject *comprehension_type; + PyObject *context_expr; + PyObject *conversion; + PyObject *ctx; + PyObject *decorator_list; + PyObject *defaults; + PyObject *elt; + PyObject *elts; + PyObject *end_col_offset; + PyObject *end_lineno; + PyObject *exc; + PyObject *excepthandler_type; + PyObject *expr_context_type; + PyObject *expr_type; + PyObject *finalbody; + PyObject *format_spec; + PyObject *func; + PyObject *generators; + PyObject *guard; + PyObject *handlers; + PyObject *id; + PyObject *ifs; + PyObject *is_async; + PyObject *items; + PyObject *iter; + PyObject *key; + PyObject *keys; + PyObject *keyword_type; + PyObject *keywords; + PyObject *kind; + PyObject *kw_defaults; + PyObject *kwarg; + PyObject *kwd_attrs; + PyObject *kwd_patterns; + PyObject *kwonlyargs; + PyObject *left; + PyObject *level; + PyObject *lineno; + PyObject *lower; + PyObject *match_case_type; + PyObject *mod_type; + PyObject *module; + PyObject *msg; + PyObject *name; + PyObject *names; + PyObject *op; + PyObject *operand; + PyObject *operator_type; + PyObject *ops; + PyObject *optional_vars; + PyObject *orelse; + PyObject *pattern; + PyObject *pattern_type; + PyObject *patterns; + PyObject *posonlyargs; + PyObject *rest; + PyObject *returns; + PyObject *right; + PyObject *simple; + PyObject *slice; + PyObject *step; + PyObject *stmt_type; + PyObject *subject; + PyObject *tag; + PyObject *target; + PyObject *targets; + PyObject *test; + PyObject *type; + PyObject *type_comment; + PyObject *type_ignore_type; + PyObject *type_ignores; + PyObject *unaryop_type; + PyObject *upper; + PyObject *value; + PyObject *values; + PyObject *vararg; + PyObject *withitem_type; +}; + +#ifdef __cplusplus +} +#endif +#endif /* !Py_INTERNAL_AST_STATE_H */ + diff --git a/_Python311_cpp/include/internal/pycore_atomic.h b/_Pre_Builds/_Python310_cpp/include/internal/pycore_atomic.h similarity index 100% rename from _Python311_cpp/include/internal/pycore_atomic.h rename to _Pre_Builds/_Python310_cpp/include/internal/pycore_atomic.h diff --git a/_Python311_cpp/include/internal/pycore_atomic_funcs.h b/_Pre_Builds/_Python310_cpp/include/internal/pycore_atomic_funcs.h similarity index 100% rename from _Python311_cpp/include/internal/pycore_atomic_funcs.h rename to _Pre_Builds/_Python310_cpp/include/internal/pycore_atomic_funcs.h diff --git a/_Pre_Builds/_Python310_cpp/include/internal/pycore_bitutils.h b/_Pre_Builds/_Python310_cpp/include/internal/pycore_bitutils.h new file mode 100644 index 0000000..e4aa7a3 --- /dev/null +++ b/_Pre_Builds/_Python310_cpp/include/internal/pycore_bitutils.h @@ -0,0 +1,176 @@ +/* Bit and bytes utilities. + + Bytes swap functions, reverse order of bytes: + + - _Py_bswap16(uint16_t) + - _Py_bswap32(uint32_t) + - _Py_bswap64(uint64_t) +*/ + +#ifndef Py_INTERNAL_BITUTILS_H +#define Py_INTERNAL_BITUTILS_H +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef Py_BUILD_CORE +# error "this header requires Py_BUILD_CORE define" +#endif + +#if defined(__GNUC__) \ + && ((__GNUC__ >= 5) || (__GNUC__ == 4) && (__GNUC_MINOR__ >= 8)) + /* __builtin_bswap16() is available since GCC 4.8, + __builtin_bswap32() is available since GCC 4.3, + __builtin_bswap64() is available since GCC 4.3. */ +# define _PY_HAVE_BUILTIN_BSWAP +#endif + +#ifdef _MSC_VER + /* Get _byteswap_ushort(), _byteswap_ulong(), _byteswap_uint64() */ +# include +#endif + +static inline uint16_t +_Py_bswap16(uint16_t word) +{ +#if defined(_PY_HAVE_BUILTIN_BSWAP) || _Py__has_builtin(__builtin_bswap16) + return __builtin_bswap16(word); +#elif defined(_MSC_VER) + Py_BUILD_ASSERT(sizeof(word) == sizeof(unsigned short)); + return _byteswap_ushort(word); +#else + // Portable implementation which doesn't rely on circular bit shift + return ( ((word & UINT16_C(0x00FF)) << 8) + | ((word & UINT16_C(0xFF00)) >> 8)); +#endif +} + +static inline uint32_t +_Py_bswap32(uint32_t word) +{ +#if defined(_PY_HAVE_BUILTIN_BSWAP) || _Py__has_builtin(__builtin_bswap32) + return __builtin_bswap32(word); +#elif defined(_MSC_VER) + Py_BUILD_ASSERT(sizeof(word) == sizeof(unsigned long)); + return _byteswap_ulong(word); +#else + // Portable implementation which doesn't rely on circular bit shift + return ( ((word & UINT32_C(0x000000FF)) << 24) + | ((word & UINT32_C(0x0000FF00)) << 8) + | ((word & UINT32_C(0x00FF0000)) >> 8) + | ((word & UINT32_C(0xFF000000)) >> 24)); +#endif +} + +static inline uint64_t +_Py_bswap64(uint64_t word) +{ +#if defined(_PY_HAVE_BUILTIN_BSWAP) || _Py__has_builtin(__builtin_bswap64) + return __builtin_bswap64(word); +#elif defined(_MSC_VER) + return _byteswap_uint64(word); +#else + // Portable implementation which doesn't rely on circular bit shift + return ( ((word & UINT64_C(0x00000000000000FF)) << 56) + | ((word & UINT64_C(0x000000000000FF00)) << 40) + | ((word & UINT64_C(0x0000000000FF0000)) << 24) + | ((word & UINT64_C(0x00000000FF000000)) << 8) + | ((word & UINT64_C(0x000000FF00000000)) >> 8) + | ((word & UINT64_C(0x0000FF0000000000)) >> 24) + | ((word & UINT64_C(0x00FF000000000000)) >> 40) + | ((word & UINT64_C(0xFF00000000000000)) >> 56)); +#endif +} + + +// Population count: count the number of 1's in 'x' +// (number of bits set to 1), also known as the hamming weight. +// +// Implementation note. CPUID is not used, to test if x86 POPCNT instruction +// can be used, to keep the implementation simple. For example, Visual Studio +// __popcnt() is not used this reason. The clang and GCC builtin function can +// use the x86 POPCNT instruction if the target architecture has SSE4a or +// newer. +static inline int +_Py_popcount32(uint32_t x) +{ +#if (defined(__clang__) || defined(__GNUC__)) + +#if SIZEOF_INT >= 4 + Py_BUILD_ASSERT(sizeof(x) <= sizeof(unsigned int)); + return __builtin_popcount(x); +#else + // The C standard guarantees that unsigned long will always be big enough + // to hold a uint32_t value without losing information. + Py_BUILD_ASSERT(sizeof(x) <= sizeof(unsigned long)); + return __builtin_popcountl(x); +#endif + +#else + // 32-bit SWAR (SIMD Within A Register) popcount + + // Binary: 0 1 0 1 ... + const uint32_t M1 = 0x55555555; + // Binary: 00 11 00 11. .. + const uint32_t M2 = 0x33333333; + // Binary: 0000 1111 0000 1111 ... + const uint32_t M4 = 0x0F0F0F0F; + // 256**4 + 256**3 + 256**2 + 256**1 + const uint32_t SUM = 0x01010101; + + // Put count of each 2 bits into those 2 bits + x = x - ((x >> 1) & M1); + // Put count of each 4 bits into those 4 bits + x = (x & M2) + ((x >> 2) & M2); + // Put count of each 8 bits into those 8 bits + x = (x + (x >> 4)) & M4; + // Sum of the 4 byte counts + return (uint32_t)((uint64_t)x * (uint64_t)SUM) >> 24; +#endif +} + + +// Return the index of the most significant 1 bit in 'x'. This is the smallest +// integer k such that x < 2**k. Equivalent to floor(log2(x)) + 1 for x != 0. +static inline int +_Py_bit_length(unsigned long x) +{ +#if (defined(__clang__) || defined(__GNUC__)) + if (x != 0) { + // __builtin_clzl() is available since GCC 3.4. + // Undefined behavior for x == 0. + return (int)sizeof(unsigned long) * 8 - __builtin_clzl(x); + } + else { + return 0; + } +#elif defined(_MSC_VER) + // _BitScanReverse() is documented to search 32 bits. + Py_BUILD_ASSERT(sizeof(unsigned long) <= 4); + unsigned long msb; + if (_BitScanReverse(&msb, x)) { + return (int)msb + 1; + } + else { + return 0; + } +#else + const int BIT_LENGTH_TABLE[32] = { + 0, 1, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, + 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5 + }; + int msb = 0; + while (x >= 32) { + msb += 6; + x >>= 6; + } + msb += BIT_LENGTH_TABLE[x]; + return msb; +#endif +} + + +#ifdef __cplusplus +} +#endif +#endif /* !Py_INTERNAL_BITUTILS_H */ diff --git a/_Python311_cpp/include/internal/pycore_blocks_output_buffer.h b/_Pre_Builds/_Python310_cpp/include/internal/pycore_blocks_output_buffer.h similarity index 100% rename from _Python311_cpp/include/internal/pycore_blocks_output_buffer.h rename to _Pre_Builds/_Python310_cpp/include/internal/pycore_blocks_output_buffer.h diff --git a/_Python311_cpp/include/internal/pycore_bytes_methods.h b/_Pre_Builds/_Python310_cpp/include/internal/pycore_bytes_methods.h similarity index 100% rename from _Python311_cpp/include/internal/pycore_bytes_methods.h rename to _Pre_Builds/_Python310_cpp/include/internal/pycore_bytes_methods.h diff --git a/_Pre_Builds/_Python310_cpp/include/internal/pycore_call.h b/_Pre_Builds/_Python310_cpp/include/internal/pycore_call.h new file mode 100644 index 0000000..f7d856a --- /dev/null +++ b/_Pre_Builds/_Python310_cpp/include/internal/pycore_call.h @@ -0,0 +1,39 @@ +#ifndef Py_INTERNAL_CALL_H +#define Py_INTERNAL_CALL_H +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef Py_BUILD_CORE +# error "this header requires Py_BUILD_CORE define" +#endif + +PyAPI_FUNC(PyObject *) _PyObject_Call_Prepend( + PyThreadState *tstate, + PyObject *callable, + PyObject *obj, + PyObject *args, + PyObject *kwargs); + +PyAPI_FUNC(PyObject *) _PyObject_FastCallDictTstate( + PyThreadState *tstate, + PyObject *callable, + PyObject *const *args, + size_t nargsf, + PyObject *kwargs); + +PyAPI_FUNC(PyObject *) _PyObject_Call( + PyThreadState *tstate, + PyObject *callable, + PyObject *args, + PyObject *kwargs); + +static inline PyObject * +_PyObject_CallNoArgTstate(PyThreadState *tstate, PyObject *func) { + return _PyObject_VectorcallTstate(tstate, func, NULL, 0, NULL); +} + +#ifdef __cplusplus +} +#endif +#endif /* !Py_INTERNAL_CALL_H */ diff --git a/_Pre_Builds/_Python310_cpp/include/internal/pycore_ceval.h b/_Pre_Builds/_Python310_cpp/include/internal/pycore_ceval.h new file mode 100644 index 0000000..f573c3e --- /dev/null +++ b/_Pre_Builds/_Python310_cpp/include/internal/pycore_ceval.h @@ -0,0 +1,114 @@ +#ifndef Py_INTERNAL_CEVAL_H +#define Py_INTERNAL_CEVAL_H +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef Py_BUILD_CORE +# error "this header requires Py_BUILD_CORE define" +#endif + +/* Forward declarations */ +struct pyruntimestate; +struct _ceval_runtime_state; + +#include "pycore_interp.h" /* PyInterpreterState.eval_frame */ + +extern void _Py_FinishPendingCalls(PyThreadState *tstate); +extern void _PyEval_InitRuntimeState(struct _ceval_runtime_state *); +extern int _PyEval_InitState(struct _ceval_state *ceval); +extern void _PyEval_FiniState(struct _ceval_state *ceval); +PyAPI_FUNC(void) _PyEval_SignalReceived(PyInterpreterState *interp); +PyAPI_FUNC(int) _PyEval_AddPendingCall( + PyInterpreterState *interp, + int (*func)(void *), + void *arg); +PyAPI_FUNC(void) _PyEval_SignalAsyncExc(PyInterpreterState *interp); +#ifdef HAVE_FORK +extern PyStatus _PyEval_ReInitThreads(PyThreadState *tstate); +#endif +PyAPI_FUNC(void) _PyEval_SetCoroutineOriginTrackingDepth( + PyThreadState *tstate, + int new_depth); + +void _PyEval_Fini(void); + + +extern PyObject* _PyEval_GetBuiltins(PyThreadState *tstate); +extern PyObject *_PyEval_BuiltinsFromGlobals( + PyThreadState *tstate, + PyObject *globals); + + +static inline PyObject* +_PyEval_EvalFrame(PyThreadState *tstate, PyFrameObject *f, int throwflag) +{ + return tstate->interp->eval_frame(tstate, f, throwflag); +} + +extern PyObject * +_PyEval_Vector(PyThreadState *tstate, + PyFrameConstructor *desc, PyObject *locals, + PyObject* const* args, size_t argcount, + PyObject *kwnames); + +#ifdef EXPERIMENTAL_ISOLATED_SUBINTERPRETERS +extern int _PyEval_ThreadsInitialized(PyInterpreterState *interp); +#else +extern int _PyEval_ThreadsInitialized(struct pyruntimestate *runtime); +#endif +extern PyStatus _PyEval_InitGIL(PyThreadState *tstate); +extern void _PyEval_FiniGIL(PyInterpreterState *interp); + +extern void _PyEval_ReleaseLock(PyThreadState *tstate); + +extern void _PyEval_DeactivateOpCache(void); + + +/* --- _Py_EnterRecursiveCall() ----------------------------------------- */ + +#ifdef USE_STACKCHECK +/* With USE_STACKCHECK macro defined, trigger stack checks in + _Py_CheckRecursiveCall() on every 64th call to Py_EnterRecursiveCall. */ +static inline int _Py_MakeRecCheck(PyThreadState *tstate) { + return (++tstate->recursion_depth > tstate->interp->ceval.recursion_limit + || ++tstate->stackcheck_counter > 64); +} +#else +static inline int _Py_MakeRecCheck(PyThreadState *tstate) { + return (++tstate->recursion_depth > tstate->interp->ceval.recursion_limit); +} +#endif + +PyAPI_FUNC(int) _Py_CheckRecursiveCall( + PyThreadState *tstate, + const char *where); + +static inline int _Py_EnterRecursiveCall(PyThreadState *tstate, + const char *where) { + return (_Py_MakeRecCheck(tstate) && _Py_CheckRecursiveCall(tstate, where)); +} + +static inline int _Py_EnterRecursiveCall_inline(const char *where) { + PyThreadState *tstate = PyThreadState_GET(); + return _Py_EnterRecursiveCall(tstate, where); +} + +#define Py_EnterRecursiveCall(where) _Py_EnterRecursiveCall_inline(where) + +static inline void _Py_LeaveRecursiveCall(PyThreadState *tstate) { + tstate->recursion_depth--; +} + +static inline void _Py_LeaveRecursiveCall_inline(void) { + PyThreadState *tstate = PyThreadState_GET(); + _Py_LeaveRecursiveCall(tstate); +} + +#define Py_LeaveRecursiveCall() _Py_LeaveRecursiveCall_inline() + + +#ifdef __cplusplus +} +#endif +#endif /* !Py_INTERNAL_CEVAL_H */ diff --git a/_Pre_Builds/_Python310_cpp/include/internal/pycore_code.h b/_Pre_Builds/_Python310_cpp/include/internal/pycore_code.h new file mode 100644 index 0000000..8ff1863 --- /dev/null +++ b/_Pre_Builds/_Python310_cpp/include/internal/pycore_code.h @@ -0,0 +1,34 @@ +#ifndef Py_INTERNAL_CODE_H +#define Py_INTERNAL_CODE_H +#ifdef __cplusplus +extern "C" { +#endif + +typedef struct { + PyObject *ptr; /* Cached pointer (borrowed reference) */ + uint64_t globals_ver; /* ma_version of global dict */ + uint64_t builtins_ver; /* ma_version of builtin dict */ +} _PyOpcache_LoadGlobal; + +typedef struct { + PyTypeObject *type; + Py_ssize_t hint; + unsigned int tp_version_tag; +} _PyOpCodeOpt_LoadAttr; + +struct _PyOpcache { + union { + _PyOpcache_LoadGlobal lg; + _PyOpCodeOpt_LoadAttr la; + } u; + char optimized; +}; + +/* Private API */ +int _PyCode_InitOpcache(PyCodeObject *co); + + +#ifdef __cplusplus +} +#endif +#endif /* !Py_INTERNAL_CODE_H */ diff --git a/_Python311_cpp/include/internal/pycore_compile.h b/_Pre_Builds/_Python310_cpp/include/internal/pycore_compile.h similarity index 100% rename from _Python311_cpp/include/internal/pycore_compile.h rename to _Pre_Builds/_Python310_cpp/include/internal/pycore_compile.h diff --git a/_Pre_Builds/_Python310_cpp/include/internal/pycore_condvar.h b/_Pre_Builds/_Python310_cpp/include/internal/pycore_condvar.h new file mode 100644 index 0000000..8b89d70 --- /dev/null +++ b/_Pre_Builds/_Python310_cpp/include/internal/pycore_condvar.h @@ -0,0 +1,95 @@ +#ifndef Py_INTERNAL_CONDVAR_H +#define Py_INTERNAL_CONDVAR_H + +#ifndef Py_BUILD_CORE +# error "this header requires Py_BUILD_CORE define" +#endif + +#ifndef _POSIX_THREADS +/* This means pthreads are not implemented in libc headers, hence the macro + not present in unistd.h. But they still can be implemented as an external + library (e.g. gnu pth in pthread emulation) */ +# ifdef HAVE_PTHREAD_H +# include /* _POSIX_THREADS */ +# endif +#endif + +#ifdef _POSIX_THREADS +/* + * POSIX support + */ +#define Py_HAVE_CONDVAR + +#include + +#define PyMUTEX_T pthread_mutex_t +#define PyCOND_T pthread_cond_t + +#elif defined(NT_THREADS) +/* + * Windows (XP, 2003 server and later, as well as (hopefully) CE) support + * + * Emulated condition variables ones that work with XP and later, plus + * example native support on VISTA and onwards. + */ +#define Py_HAVE_CONDVAR + +/* include windows if it hasn't been done before */ +#define WIN32_LEAN_AND_MEAN +#include + +/* options */ +/* non-emulated condition variables are provided for those that want + * to target Windows Vista. Modify this macro to enable them. + */ +#ifndef _PY_EMULATED_WIN_CV +#define _PY_EMULATED_WIN_CV 1 /* use emulated condition variables */ +#endif + +/* fall back to emulation if not targeting Vista */ +#if !defined NTDDI_VISTA || NTDDI_VERSION < NTDDI_VISTA +#undef _PY_EMULATED_WIN_CV +#define _PY_EMULATED_WIN_CV 1 +#endif + +#if _PY_EMULATED_WIN_CV + +typedef CRITICAL_SECTION PyMUTEX_T; + +/* The ConditionVariable object. From XP onwards it is easily emulated + with a Semaphore. + Semaphores are available on Windows XP (2003 server) and later. + We use a Semaphore rather than an auto-reset event, because although + an auto-resent event might appear to solve the lost-wakeup bug (race + condition between releasing the outer lock and waiting) because it + maintains state even though a wait hasn't happened, there is still + a lost wakeup problem if more than one thread are interrupted in the + critical place. A semaphore solves that, because its state is + counted, not Boolean. + Because it is ok to signal a condition variable with no one + waiting, we need to keep track of the number of + waiting threads. Otherwise, the semaphore's state could rise + without bound. This also helps reduce the number of "spurious wakeups" + that would otherwise happen. + */ + +typedef struct _PyCOND_T +{ + HANDLE sem; + int waiting; /* to allow PyCOND_SIGNAL to be a no-op */ +} PyCOND_T; + +#else /* !_PY_EMULATED_WIN_CV */ + +/* Use native Win7 primitives if build target is Win7 or higher */ + +/* SRWLOCK is faster and better than CriticalSection */ +typedef SRWLOCK PyMUTEX_T; + +typedef CONDITION_VARIABLE PyCOND_T; + +#endif /* _PY_EMULATED_WIN_CV */ + +#endif /* _POSIX_THREADS, NT_THREADS */ + +#endif /* Py_INTERNAL_CONDVAR_H */ diff --git a/_Pre_Builds/_Python310_cpp/include/internal/pycore_context.h b/_Pre_Builds/_Python310_cpp/include/internal/pycore_context.h new file mode 100644 index 0000000..a482dd4 --- /dev/null +++ b/_Pre_Builds/_Python310_cpp/include/internal/pycore_context.h @@ -0,0 +1,42 @@ +#ifndef Py_INTERNAL_CONTEXT_H +#define Py_INTERNAL_CONTEXT_H + +#ifndef Py_BUILD_CORE +# error "this header requires Py_BUILD_CORE define" +#endif + +#include "pycore_hamt.h" /* PyHamtObject */ + +struct _pycontextobject { + PyObject_HEAD + PyContext *ctx_prev; + PyHamtObject *ctx_vars; + PyObject *ctx_weakreflist; + int ctx_entered; +}; + + +struct _pycontextvarobject { + PyObject_HEAD + PyObject *var_name; + PyObject *var_default; + PyObject *var_cached; + uint64_t var_cached_tsid; + uint64_t var_cached_tsver; + Py_hash_t var_hash; +}; + + +struct _pycontexttokenobject { + PyObject_HEAD + PyContext *tok_ctx; + PyContextVar *tok_var; + PyObject *tok_oldval; + int tok_used; +}; + + +int _PyContext_Init(void); +void _PyContext_Fini(PyInterpreterState *interp); + +#endif /* !Py_INTERNAL_CONTEXT_H */ diff --git a/_Pre_Builds/_Python310_cpp/include/internal/pycore_dtoa.h b/_Pre_Builds/_Python310_cpp/include/internal/pycore_dtoa.h new file mode 100644 index 0000000..3faf8cf --- /dev/null +++ b/_Pre_Builds/_Python310_cpp/include/internal/pycore_dtoa.h @@ -0,0 +1,23 @@ +#ifndef PY_NO_SHORT_FLOAT_REPR +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef Py_BUILD_CORE +# error "this header requires Py_BUILD_CORE define" +#endif + +/* These functions are used by modules compiled as C extension like math: + they must be exported. */ + +PyAPI_FUNC(double) _Py_dg_strtod(const char *str, char **ptr); +PyAPI_FUNC(char *) _Py_dg_dtoa(double d, int mode, int ndigits, + int *decpt, int *sign, char **rve); +PyAPI_FUNC(void) _Py_dg_freedtoa(char *s); +PyAPI_FUNC(double) _Py_dg_stdnan(int sign); +PyAPI_FUNC(double) _Py_dg_infinity(int sign); + +#ifdef __cplusplus +} +#endif +#endif /* !PY_NO_SHORT_FLOAT_REPR */ diff --git a/_Pre_Builds/_Python310_cpp/include/internal/pycore_fileutils.h b/_Pre_Builds/_Python310_cpp/include/internal/pycore_fileutils.h new file mode 100644 index 0000000..c1c9244 --- /dev/null +++ b/_Pre_Builds/_Python310_cpp/include/internal/pycore_fileutils.h @@ -0,0 +1,71 @@ +#ifndef Py_INTERNAL_FILEUTILS_H +#define Py_INTERNAL_FILEUTILS_H +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef Py_BUILD_CORE +# error "Py_BUILD_CORE must be defined to include this header" +#endif + +#include /* struct lconv */ + +PyAPI_DATA(int) _Py_HasFileSystemDefaultEncodeErrors; + +PyAPI_FUNC(int) _Py_DecodeUTF8Ex( + const char *arg, + Py_ssize_t arglen, + wchar_t **wstr, + size_t *wlen, + const char **reason, + _Py_error_handler errors); + +PyAPI_FUNC(int) _Py_EncodeUTF8Ex( + const wchar_t *text, + char **str, + size_t *error_pos, + const char **reason, + int raw_malloc, + _Py_error_handler errors); + +PyAPI_FUNC(wchar_t*) _Py_DecodeUTF8_surrogateescape( + const char *arg, + Py_ssize_t arglen, + size_t *wlen); + +PyAPI_FUNC(int) _Py_GetForceASCII(void); + +/* Reset "force ASCII" mode (if it was initialized). + + This function should be called when Python changes the LC_CTYPE locale, + so the "force ASCII" mode can be detected again on the new locale + encoding. */ +PyAPI_FUNC(void) _Py_ResetForceASCII(void); + + +PyAPI_FUNC(int) _Py_GetLocaleconvNumeric( + struct lconv *lc, + PyObject **decimal_point, + PyObject **thousands_sep); + +PyAPI_FUNC(void) _Py_closerange(int first, int last); + +PyAPI_FUNC(wchar_t*) _Py_GetLocaleEncoding(void); +PyAPI_FUNC(PyObject*) _Py_GetLocaleEncodingObject(void); + +#ifdef HAVE_NON_UNICODE_WCHAR_T_REPRESENTATION +extern int _Py_LocaleUsesNonUnicodeWchar(void); + +extern wchar_t* _Py_DecodeNonUnicodeWchar( + const wchar_t* native, + Py_ssize_t size); + +extern int _Py_EncodeNonUnicodeWchar_InPlace( + wchar_t* unicode, + Py_ssize_t size); +#endif + +#ifdef __cplusplus +} +#endif +#endif /* !Py_INTERNAL_FILEUTILS_H */ diff --git a/_Python311_cpp/include/internal/pycore_format.h b/_Pre_Builds/_Python310_cpp/include/internal/pycore_format.h similarity index 100% rename from _Python311_cpp/include/internal/pycore_format.h rename to _Pre_Builds/_Python310_cpp/include/internal/pycore_format.h diff --git a/_Pre_Builds/_Python310_cpp/include/internal/pycore_gc.h b/_Pre_Builds/_Python310_cpp/include/internal/pycore_gc.h new file mode 100644 index 0000000..9db4a47 --- /dev/null +++ b/_Pre_Builds/_Python310_cpp/include/internal/pycore_gc.h @@ -0,0 +1,181 @@ +#ifndef Py_INTERNAL_GC_H +#define Py_INTERNAL_GC_H +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef Py_BUILD_CORE +# error "this header requires Py_BUILD_CORE define" +#endif + +/* GC information is stored BEFORE the object structure. */ +typedef struct { + // Pointer to next object in the list. + // 0 means the object is not tracked + uintptr_t _gc_next; + + // Pointer to previous object in the list. + // Lowest two bits are used for flags documented later. + uintptr_t _gc_prev; +} PyGC_Head; + +#define _Py_AS_GC(o) ((PyGC_Head *)(o)-1) + +/* True if the object is currently tracked by the GC. */ +#define _PyObject_GC_IS_TRACKED(o) (_Py_AS_GC(o)->_gc_next != 0) + +/* True if the object may be tracked by the GC in the future, or already is. + This can be useful to implement some optimizations. */ +#define _PyObject_GC_MAY_BE_TRACKED(obj) \ + (PyObject_IS_GC(obj) && \ + (!PyTuple_CheckExact(obj) || _PyObject_GC_IS_TRACKED(obj))) + + +/* Bit flags for _gc_prev */ +/* Bit 0 is set when tp_finalize is called */ +#define _PyGC_PREV_MASK_FINALIZED (1) +/* Bit 1 is set when the object is in generation which is GCed currently. */ +#define _PyGC_PREV_MASK_COLLECTING (2) +/* The (N-2) most significant bits contain the real address. */ +#define _PyGC_PREV_SHIFT (2) +#define _PyGC_PREV_MASK (((uintptr_t) -1) << _PyGC_PREV_SHIFT) + +// Lowest bit of _gc_next is used for flags only in GC. +// But it is always 0 for normal code. +#define _PyGCHead_NEXT(g) ((PyGC_Head*)(g)->_gc_next) +#define _PyGCHead_SET_NEXT(g, p) ((g)->_gc_next = (uintptr_t)(p)) + +// Lowest two bits of _gc_prev is used for _PyGC_PREV_MASK_* flags. +#define _PyGCHead_PREV(g) ((PyGC_Head*)((g)->_gc_prev & _PyGC_PREV_MASK)) +#define _PyGCHead_SET_PREV(g, p) do { \ + assert(((uintptr_t)p & ~_PyGC_PREV_MASK) == 0); \ + (g)->_gc_prev = ((g)->_gc_prev & ~_PyGC_PREV_MASK) \ + | ((uintptr_t)(p)); \ + } while (0) + +#define _PyGCHead_FINALIZED(g) \ + (((g)->_gc_prev & _PyGC_PREV_MASK_FINALIZED) != 0) +#define _PyGCHead_SET_FINALIZED(g) \ + ((g)->_gc_prev |= _PyGC_PREV_MASK_FINALIZED) + +#define _PyGC_FINALIZED(o) \ + _PyGCHead_FINALIZED(_Py_AS_GC(o)) +#define _PyGC_SET_FINALIZED(o) \ + _PyGCHead_SET_FINALIZED(_Py_AS_GC(o)) + + +/* GC runtime state */ + +/* If we change this, we need to change the default value in the + signature of gc.collect. */ +#define NUM_GENERATIONS 3 +/* + NOTE: about untracking of mutable objects. + + Certain types of container cannot participate in a reference cycle, and + so do not need to be tracked by the garbage collector. Untracking these + objects reduces the cost of garbage collections. However, determining + which objects may be untracked is not free, and the costs must be + weighed against the benefits for garbage collection. + + There are two possible strategies for when to untrack a container: + + i) When the container is created. + ii) When the container is examined by the garbage collector. + + Tuples containing only immutable objects (integers, strings etc, and + recursively, tuples of immutable objects) do not need to be tracked. + The interpreter creates a large number of tuples, many of which will + not survive until garbage collection. It is therefore not worthwhile + to untrack eligible tuples at creation time. + + Instead, all tuples except the empty tuple are tracked when created. + During garbage collection it is determined whether any surviving tuples + can be untracked. A tuple can be untracked if all of its contents are + already not tracked. Tuples are examined for untracking in all garbage + collection cycles. It may take more than one cycle to untrack a tuple. + + Dictionaries containing only immutable objects also do not need to be + tracked. Dictionaries are untracked when created. If a tracked item is + inserted into a dictionary (either as a key or value), the dictionary + becomes tracked. During a full garbage collection (all generations), + the collector will untrack any dictionaries whose contents are not + tracked. + + The module provides the python function is_tracked(obj), which returns + the CURRENT tracking status of the object. Subsequent garbage + collections may change the tracking status of the object. + + Untracking of certain containers was introduced in issue #4688, and + the algorithm was refined in response to issue #14775. +*/ + +struct gc_generation { + PyGC_Head head; + int threshold; /* collection threshold */ + int count; /* count of allocations or collections of younger + generations */ +}; + +/* Running stats per generation */ +struct gc_generation_stats { + /* total number of collections */ + Py_ssize_t collections; + /* total number of collected objects */ + Py_ssize_t collected; + /* total number of uncollectable objects (put into gc.garbage) */ + Py_ssize_t uncollectable; +}; + +struct _gc_runtime_state { + /* List of objects that still need to be cleaned up, singly linked + * via their gc headers' gc_prev pointers. */ + PyObject *trash_delete_later; + /* Current call-stack depth of tp_dealloc calls. */ + int trash_delete_nesting; + + int enabled; + int debug; + /* linked lists of container objects */ + struct gc_generation generations[NUM_GENERATIONS]; + PyGC_Head *generation0; + /* a permanent generation which won't be collected */ + struct gc_generation permanent_generation; + struct gc_generation_stats generation_stats[NUM_GENERATIONS]; + /* true if we are currently running the collector */ + int collecting; + /* list of uncollectable objects */ + PyObject *garbage; + /* a list of callbacks to be invoked when collection is performed */ + PyObject *callbacks; + /* This is the number of objects that survived the last full + collection. It approximates the number of long lived objects + tracked by the GC. + + (by "full collection", we mean a collection of the oldest + generation). */ + Py_ssize_t long_lived_total; + /* This is the number of objects that survived all "non-full" + collections, and are awaiting to undergo a full collection for + the first time. */ + Py_ssize_t long_lived_pending; +}; + +extern void _PyGC_InitState(struct _gc_runtime_state *); + +extern Py_ssize_t _PyGC_CollectNoFail(PyThreadState *tstate); + + +// Functions to clear types free lists +extern void _PyFrame_ClearFreeList(PyInterpreterState *interp); +extern void _PyTuple_ClearFreeList(PyInterpreterState *interp); +extern void _PyFloat_ClearFreeList(PyInterpreterState *interp); +extern void _PyList_ClearFreeList(PyInterpreterState *interp); +extern void _PyDict_ClearFreeList(PyInterpreterState *interp); +extern void _PyAsyncGen_ClearFreeLists(PyInterpreterState *interp); +extern void _PyContext_ClearFreeList(PyInterpreterState *interp); + +#ifdef __cplusplus +} +#endif +#endif /* !Py_INTERNAL_GC_H */ diff --git a/_Python311_cpp/include/internal/pycore_getopt.h b/_Pre_Builds/_Python310_cpp/include/internal/pycore_getopt.h similarity index 100% rename from _Python311_cpp/include/internal/pycore_getopt.h rename to _Pre_Builds/_Python310_cpp/include/internal/pycore_getopt.h diff --git a/_Python311_cpp/include/internal/pycore_gil.h b/_Pre_Builds/_Python310_cpp/include/internal/pycore_gil.h similarity index 100% rename from _Python311_cpp/include/internal/pycore_gil.h rename to _Pre_Builds/_Python310_cpp/include/internal/pycore_gil.h diff --git a/_Pre_Builds/_Python310_cpp/include/internal/pycore_hamt.h b/_Pre_Builds/_Python310_cpp/include/internal/pycore_hamt.h new file mode 100644 index 0000000..357d966 --- /dev/null +++ b/_Pre_Builds/_Python310_cpp/include/internal/pycore_hamt.h @@ -0,0 +1,128 @@ +#ifndef Py_INTERNAL_HAMT_H +#define Py_INTERNAL_HAMT_H + +#ifndef Py_BUILD_CORE +# error "this header requires Py_BUILD_CORE define" +#endif + + +/* +HAMT tree is shaped by hashes of keys. Every group of 5 bits of a hash denotes +the exact position of the key in one level of the tree. Since we're using +32 bit hashes, we can have at most 7 such levels. Although if there are +two distinct keys with equal hashes, they will have to occupy the same +cell in the 7th level of the tree -- so we'd put them in a "collision" node. +Which brings the total possible tree depth to 8. Read more about the actual +layout of the HAMT tree in `hamt.c`. + +This constant is used to define a datastucture for storing iteration state. +*/ +#define _Py_HAMT_MAX_TREE_DEPTH 8 + + +#define PyHamt_Check(o) Py_IS_TYPE(o, &_PyHamt_Type) + + +/* Abstract tree node. */ +typedef struct { + PyObject_HEAD +} PyHamtNode; + + +/* An HAMT immutable mapping collection. */ +typedef struct { + PyObject_HEAD + PyHamtNode *h_root; + PyObject *h_weakreflist; + Py_ssize_t h_count; +} PyHamtObject; + + +/* A struct to hold the state of depth-first traverse of the tree. + + HAMT is an immutable collection. Iterators will hold a strong reference + to it, and every node in the HAMT has strong references to its children. + + So for iterators, we can implement zero allocations and zero reference + inc/dec depth-first iteration. + + - i_nodes: an array of seven pointers to tree nodes + - i_level: the current node in i_nodes + - i_pos: an array of positions within nodes in i_nodes. +*/ +typedef struct { + PyHamtNode *i_nodes[_Py_HAMT_MAX_TREE_DEPTH]; + Py_ssize_t i_pos[_Py_HAMT_MAX_TREE_DEPTH]; + int8_t i_level; +} PyHamtIteratorState; + + +/* Base iterator object. + + Contains the iteration state, a pointer to the HAMT tree, + and a pointer to the 'yield function'. The latter is a simple + function that returns a key/value tuple for the 'Items' iterator, + just a key for the 'Keys' iterator, and a value for the 'Values' + iterator. +*/ +typedef struct { + PyObject_HEAD + PyHamtObject *hi_obj; + PyHamtIteratorState hi_iter; + binaryfunc hi_yield; +} PyHamtIterator; + + +PyAPI_DATA(PyTypeObject) _PyHamt_Type; +PyAPI_DATA(PyTypeObject) _PyHamt_ArrayNode_Type; +PyAPI_DATA(PyTypeObject) _PyHamt_BitmapNode_Type; +PyAPI_DATA(PyTypeObject) _PyHamt_CollisionNode_Type; +PyAPI_DATA(PyTypeObject) _PyHamtKeys_Type; +PyAPI_DATA(PyTypeObject) _PyHamtValues_Type; +PyAPI_DATA(PyTypeObject) _PyHamtItems_Type; + + +/* Create a new HAMT immutable mapping. */ +PyHamtObject * _PyHamt_New(void); + +/* Return a new collection based on "o", but with an additional + key/val pair. */ +PyHamtObject * _PyHamt_Assoc(PyHamtObject *o, PyObject *key, PyObject *val); + +/* Return a new collection based on "o", but without "key". */ +PyHamtObject * _PyHamt_Without(PyHamtObject *o, PyObject *key); + +/* Find "key" in the "o" collection. + + Return: + - -1: An error occurred. + - 0: "key" wasn't found in "o". + - 1: "key" is in "o"; "*val" is set to its value (a borrowed ref). +*/ +int _PyHamt_Find(PyHamtObject *o, PyObject *key, PyObject **val); + +/* Check if "v" is equal to "w". + + Return: + - 0: v != w + - 1: v == w + - -1: An error occurred. +*/ +int _PyHamt_Eq(PyHamtObject *v, PyHamtObject *w); + +/* Return the size of "o"; equivalent of "len(o)". */ +Py_ssize_t _PyHamt_Len(PyHamtObject *o); + +/* Return a Keys iterator over "o". */ +PyObject * _PyHamt_NewIterKeys(PyHamtObject *o); + +/* Return a Values iterator over "o". */ +PyObject * _PyHamt_NewIterValues(PyHamtObject *o); + +/* Return a Items iterator over "o". */ +PyObject * _PyHamt_NewIterItems(PyHamtObject *o); + +int _PyHamt_Init(void); +void _PyHamt_Fini(void); + +#endif /* !Py_INTERNAL_HAMT_H */ diff --git a/_Python311_cpp/include/internal/pycore_hashtable.h b/_Pre_Builds/_Python310_cpp/include/internal/pycore_hashtable.h similarity index 100% rename from _Python311_cpp/include/internal/pycore_hashtable.h rename to _Pre_Builds/_Python310_cpp/include/internal/pycore_hashtable.h diff --git a/_Pre_Builds/_Python310_cpp/include/internal/pycore_import.h b/_Pre_Builds/_Python310_cpp/include/internal/pycore_import.h new file mode 100644 index 0000000..e21ed0a --- /dev/null +++ b/_Pre_Builds/_Python310_cpp/include/internal/pycore_import.h @@ -0,0 +1,17 @@ +#ifndef Py_LIMITED_API +#ifndef Py_INTERNAL_IMPORT_H +#define Py_INTERNAL_IMPORT_H +#ifdef __cplusplus +extern "C" { +#endif + +#ifdef HAVE_FORK +extern PyStatus _PyImport_ReInitLock(void); +#endif +extern PyObject* _PyImport_BootstrapImp(PyThreadState *tstate); + +#ifdef __cplusplus +} +#endif +#endif /* !Py_INTERNAL_IMPORT_H */ +#endif /* !Py_LIMITED_API */ diff --git a/_Pre_Builds/_Python310_cpp/include/internal/pycore_initconfig.h b/_Pre_Builds/_Python310_cpp/include/internal/pycore_initconfig.h new file mode 100644 index 0000000..21c71bf --- /dev/null +++ b/_Pre_Builds/_Python310_cpp/include/internal/pycore_initconfig.h @@ -0,0 +1,178 @@ +#ifndef Py_INTERNAL_CORECONFIG_H +#define Py_INTERNAL_CORECONFIG_H +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef Py_BUILD_CORE +# error "this header requires Py_BUILD_CORE define" +#endif + +/* Forward declaration */ +struct pyruntimestate; + +/* --- PyStatus ----------------------------------------------- */ + +/* Almost all errors causing Python initialization to fail */ +#ifdef _MSC_VER + /* Visual Studio 2015 doesn't implement C99 __func__ in C */ +# define _PyStatus_GET_FUNC() __FUNCTION__ +#else +# define _PyStatus_GET_FUNC() __func__ +#endif + +#define _PyStatus_OK() \ + (PyStatus){._type = _PyStatus_TYPE_OK,} + /* other fields are set to 0 */ +#define _PyStatus_ERR(ERR_MSG) \ + (PyStatus){ \ + ._type = _PyStatus_TYPE_ERROR, \ + .func = _PyStatus_GET_FUNC(), \ + .err_msg = (ERR_MSG)} + /* other fields are set to 0 */ +#define _PyStatus_NO_MEMORY() _PyStatus_ERR("memory allocation failed") +#define _PyStatus_EXIT(EXITCODE) \ + (PyStatus){ \ + ._type = _PyStatus_TYPE_EXIT, \ + .exitcode = (EXITCODE)} +#define _PyStatus_IS_ERROR(err) \ + (err._type == _PyStatus_TYPE_ERROR) +#define _PyStatus_IS_EXIT(err) \ + (err._type == _PyStatus_TYPE_EXIT) +#define _PyStatus_EXCEPTION(err) \ + (err._type != _PyStatus_TYPE_OK) +#define _PyStatus_UPDATE_FUNC(err) \ + do { err.func = _PyStatus_GET_FUNC(); } while (0) + +PyObject* _PyErr_SetFromPyStatus(PyStatus status); + +/* --- PyWideStringList ------------------------------------------------ */ + +#define _PyWideStringList_INIT (PyWideStringList){.length = 0, .items = NULL} + +#ifndef NDEBUG +PyAPI_FUNC(int) _PyWideStringList_CheckConsistency(const PyWideStringList *list); +#endif +PyAPI_FUNC(void) _PyWideStringList_Clear(PyWideStringList *list); +PyAPI_FUNC(int) _PyWideStringList_Copy(PyWideStringList *list, + const PyWideStringList *list2); +PyAPI_FUNC(PyStatus) _PyWideStringList_Extend(PyWideStringList *list, + const PyWideStringList *list2); +PyAPI_FUNC(PyObject*) _PyWideStringList_AsList(const PyWideStringList *list); + + +/* --- _PyArgv ---------------------------------------------------- */ + +typedef struct _PyArgv { + Py_ssize_t argc; + int use_bytes_argv; + char * const *bytes_argv; + wchar_t * const *wchar_argv; +} _PyArgv; + +PyAPI_FUNC(PyStatus) _PyArgv_AsWstrList(const _PyArgv *args, + PyWideStringList *list); + + +/* --- Helper functions ------------------------------------------- */ + +PyAPI_FUNC(int) _Py_str_to_int( + const char *str, + int *result); +PyAPI_FUNC(const wchar_t*) _Py_get_xoption( + const PyWideStringList *xoptions, + const wchar_t *name); +PyAPI_FUNC(const char*) _Py_GetEnv( + int use_environment, + const char *name); +PyAPI_FUNC(void) _Py_get_env_flag( + int use_environment, + int *flag, + const char *name); + +/* Py_GetArgcArgv() helper */ +PyAPI_FUNC(void) _Py_ClearArgcArgv(void); + + +/* --- _PyPreCmdline ------------------------------------------------- */ + +typedef struct { + PyWideStringList argv; + PyWideStringList xoptions; /* "-X value" option */ + int isolated; /* -I option */ + int use_environment; /* -E option */ + int dev_mode; /* -X dev and PYTHONDEVMODE */ + int warn_default_encoding; /* -X warn_default_encoding and PYTHONWARNDEFAULTENCODING */ +} _PyPreCmdline; + +#define _PyPreCmdline_INIT \ + (_PyPreCmdline){ \ + .use_environment = -1, \ + .isolated = -1, \ + .dev_mode = -1} +/* Note: _PyPreCmdline_INIT sets other fields to 0/NULL */ + +extern void _PyPreCmdline_Clear(_PyPreCmdline *cmdline); +extern PyStatus _PyPreCmdline_SetArgv(_PyPreCmdline *cmdline, + const _PyArgv *args); +extern PyStatus _PyPreCmdline_SetConfig( + const _PyPreCmdline *cmdline, + PyConfig *config); +extern PyStatus _PyPreCmdline_Read(_PyPreCmdline *cmdline, + const PyPreConfig *preconfig); + + +/* --- PyPreConfig ----------------------------------------------- */ + +PyAPI_FUNC(void) _PyPreConfig_InitCompatConfig(PyPreConfig *preconfig); +extern void _PyPreConfig_InitFromConfig( + PyPreConfig *preconfig, + const PyConfig *config); +extern PyStatus _PyPreConfig_InitFromPreConfig( + PyPreConfig *preconfig, + const PyPreConfig *config2); +extern PyObject* _PyPreConfig_AsDict(const PyPreConfig *preconfig); +extern void _PyPreConfig_GetConfig(PyPreConfig *preconfig, + const PyConfig *config); +extern PyStatus _PyPreConfig_Read(PyPreConfig *preconfig, + const _PyArgv *args); +extern PyStatus _PyPreConfig_Write(const PyPreConfig *preconfig); + + +/* --- PyConfig ---------------------------------------------- */ + +typedef enum { + /* Py_Initialize() API: backward compatibility with Python 3.6 and 3.7 */ + _PyConfig_INIT_COMPAT = 1, + _PyConfig_INIT_PYTHON = 2, + _PyConfig_INIT_ISOLATED = 3 +} _PyConfigInitEnum; + +PyAPI_FUNC(void) _PyConfig_InitCompatConfig(PyConfig *config); +extern PyStatus _PyConfig_Copy( + PyConfig *config, + const PyConfig *config2); +extern PyStatus _PyConfig_InitPathConfig( + PyConfig *config, + int compute_path_config); +extern PyStatus _PyConfig_Read(PyConfig *config, int compute_path_config); +extern PyStatus _PyConfig_Write(const PyConfig *config, + struct pyruntimestate *runtime); +extern PyStatus _PyConfig_SetPyArgv( + PyConfig *config, + const _PyArgv *args); + +PyAPI_FUNC(PyObject*) _PyConfig_AsDict(const PyConfig *config); +PyAPI_FUNC(int) _PyConfig_FromDict(PyConfig *config, PyObject *dict); + +extern int _Py_global_config_int_max_str_digits; + + +/* --- Function used for testing ---------------------------------- */ + +PyAPI_FUNC(PyObject*) _Py_GetConfigsAsDict(void); + +#ifdef __cplusplus +} +#endif +#endif /* !Py_INTERNAL_CORECONFIG_H */ diff --git a/_Pre_Builds/_Python310_cpp/include/internal/pycore_interp.h b/_Pre_Builds/_Python310_cpp/include/internal/pycore_interp.h new file mode 100644 index 0000000..a564b12 --- /dev/null +++ b/_Pre_Builds/_Python310_cpp/include/internal/pycore_interp.h @@ -0,0 +1,339 @@ +#ifndef Py_INTERNAL_INTERP_H +#define Py_INTERNAL_INTERP_H +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef Py_BUILD_CORE +# error "this header requires Py_BUILD_CORE define" +#endif + +#include "pycore_atomic.h" // _Py_atomic_address +#include "pycore_ast_state.h" // struct ast_state +#include "pycore_gil.h" // struct _gil_runtime_state +#include "pycore_gc.h" // struct _gc_runtime_state +#include "pycore_warnings.h" // struct _warnings_runtime_state + +struct _pending_calls { + PyThread_type_lock lock; + /* Request for running pending calls. */ + _Py_atomic_int calls_to_do; + /* Request for looking at the `async_exc` field of the current + thread state. + Guarded by the GIL. */ + int async_exc; +#define NPENDINGCALLS 32 + struct { + int (*func)(void *); + void *arg; + } calls[NPENDINGCALLS]; + int first; + int last; +}; + +struct _ceval_state { + int recursion_limit; + /* This single variable consolidates all requests to break out of + the fast path in the eval loop. */ + _Py_atomic_int eval_breaker; + /* Request for dropping the GIL */ + _Py_atomic_int gil_drop_request; + struct _pending_calls pending; +#ifdef EXPERIMENTAL_ISOLATED_SUBINTERPRETERS + struct _gil_runtime_state gil; +#endif +}; + +/* fs_codec.encoding is initialized to NULL. + Later, it is set to a non-NULL string by _PyUnicode_InitEncodings(). */ +struct _Py_unicode_fs_codec { + char *encoding; // Filesystem encoding (encoded to UTF-8) + int utf8; // encoding=="utf-8"? + char *errors; // Filesystem errors (encoded to UTF-8) + _Py_error_handler error_handler; +}; + +struct _Py_bytes_state { + PyObject *empty_string; + PyBytesObject *characters[256]; +}; + +struct _Py_unicode_ids { + Py_ssize_t size; + PyObject **array; +}; + +struct _Py_unicode_state { + // The empty Unicode object is a singleton to improve performance. + PyObject *empty_string; + /* Single character Unicode strings in the Latin-1 range are being + shared as well. */ + PyObject *latin1[256]; + struct _Py_unicode_fs_codec fs_codec; + + // Unused member kept for ABI backward compatibility with Python 3.10.0: + // see bpo-46006. + PyObject *unused_interned; + + // Unicode identifiers (_Py_Identifier): see _PyUnicode_FromId() + struct _Py_unicode_ids ids; +}; + +struct _Py_float_state { + /* Special free list + free_list is a singly-linked list of available PyFloatObjects, + linked via abuse of their ob_type members. */ + int numfree; + PyFloatObject *free_list; +}; + +/* Speed optimization to avoid frequent malloc/free of small tuples */ +#ifndef PyTuple_MAXSAVESIZE + // Largest tuple to save on free list +# define PyTuple_MAXSAVESIZE 20 +#endif +#ifndef PyTuple_MAXFREELIST + // Maximum number of tuples of each size to save +# define PyTuple_MAXFREELIST 2000 +#endif + +struct _Py_tuple_state { +#if PyTuple_MAXSAVESIZE > 0 + /* Entries 1 up to PyTuple_MAXSAVESIZE are free lists, + entry 0 is the empty tuple () of which at most one instance + will be allocated. */ + PyTupleObject *free_list[PyTuple_MAXSAVESIZE]; + int numfree[PyTuple_MAXSAVESIZE]; +#endif +}; + +/* Empty list reuse scheme to save calls to malloc and free */ +#ifndef PyList_MAXFREELIST +# define PyList_MAXFREELIST 80 +#endif + +struct _Py_list_state { + PyListObject *free_list[PyList_MAXFREELIST]; + int numfree; +}; + +#ifndef PyDict_MAXFREELIST +# define PyDict_MAXFREELIST 80 +#endif + +struct _Py_dict_state { + /* Dictionary reuse scheme to save calls to malloc and free */ + PyDictObject *free_list[PyDict_MAXFREELIST]; + int numfree; + PyDictKeysObject *keys_free_list[PyDict_MAXFREELIST]; + int keys_numfree; +}; + +struct _Py_frame_state { + PyFrameObject *free_list; + /* number of frames currently in free_list */ + int numfree; +}; + +#ifndef _PyAsyncGen_MAXFREELIST +# define _PyAsyncGen_MAXFREELIST 80 +#endif + +struct _Py_async_gen_state { + /* Freelists boost performance 6-10%; they also reduce memory + fragmentation, as _PyAsyncGenWrappedValue and PyAsyncGenASend + are short-living objects that are instantiated for every + __anext__() call. */ + struct _PyAsyncGenWrappedValue* value_freelist[_PyAsyncGen_MAXFREELIST]; + int value_numfree; + + struct PyAsyncGenASend* asend_freelist[_PyAsyncGen_MAXFREELIST]; + int asend_numfree; +}; + +struct _Py_context_state { + // List of free PyContext objects + PyContext *freelist; + int numfree; +}; + +struct _Py_exc_state { + // The dict mapping from errno codes to OSError subclasses + PyObject *errnomap; + PyBaseExceptionObject *memerrors_freelist; + int memerrors_numfree; +}; + + +// atexit state +typedef struct { + PyObject *func; + PyObject *args; + PyObject *kwargs; +} atexit_callback; + +struct atexit_state { + atexit_callback **callbacks; + int ncallbacks; + int callback_len; +}; + + +// Type attribute lookup cache: speed up attribute and method lookups, +// see _PyType_Lookup(). +struct type_cache_entry { + unsigned int version; // initialized from type->tp_version_tag + PyObject *name; // reference to exactly a str or None + PyObject *value; // borrowed reference or NULL +}; + +#define MCACHE_SIZE_EXP 12 +#define MCACHE_STATS 0 + +struct type_cache { + struct type_cache_entry hashtable[1 << MCACHE_SIZE_EXP]; +#if MCACHE_STATS + size_t hits; + size_t misses; + size_t collisions; +#endif +}; + + +/* interpreter state */ + +#define _PY_NSMALLPOSINTS 257 +#define _PY_NSMALLNEGINTS 5 + +// _PyLong_GetZero() and _PyLong_GetOne() must always be available +#if _PY_NSMALLPOSINTS < 2 +# error "_PY_NSMALLPOSINTS must be greater than 1" +#endif + +// The PyInterpreterState typedef is in Include/pystate.h. +struct _is { + + struct _is *next; + struct _ts *tstate_head; + + /* Reference to the _PyRuntime global variable. This field exists + to not have to pass runtime in addition to tstate to a function. + Get runtime from tstate: tstate->interp->runtime. */ + struct pyruntimestate *runtime; + + int64_t id; + int64_t id_refcount; + int requires_idref; + PyThread_type_lock id_mutex; + + int finalizing; + + struct _ceval_state ceval; + struct _gc_runtime_state gc; + + // sys.modules dictionary + PyObject *modules; + PyObject *modules_by_index; + // Dictionary of the sys module + PyObject *sysdict; + // Dictionary of the builtins module + PyObject *builtins; + // importlib module + PyObject *importlib; + + /* Used in Modules/_threadmodule.c. */ + long num_threads; + /* Support for runtime thread stack size tuning. + A value of 0 means using the platform's default stack size + or the size specified by the THREAD_STACK_SIZE macro. */ + /* Used in Python/thread.c. */ + size_t pythread_stacksize; + + PyObject *codec_search_path; + PyObject *codec_search_cache; + PyObject *codec_error_registry; + int codecs_initialized; + + PyConfig config; +#ifdef HAVE_DLOPEN + int dlopenflags; +#endif + + PyObject *dict; /* Stores per-interpreter state */ + + PyObject *builtins_copy; + PyObject *import_func; + // Initialized to _PyEval_EvalFrameDefault(). + _PyFrameEvalFunction eval_frame; + + Py_ssize_t co_extra_user_count; + freefunc co_extra_freefuncs[MAX_CO_EXTRA_USERS]; + +#ifdef HAVE_FORK + PyObject *before_forkers; + PyObject *after_forkers_parent; + PyObject *after_forkers_child; +#endif + + uint64_t tstate_next_unique_id; + + struct _warnings_runtime_state warnings; + struct atexit_state atexit; + + PyObject *audit_hooks; + + /* Small integers are preallocated in this array so that they + can be shared. + The integers that are preallocated are those in the range + -_PY_NSMALLNEGINTS (inclusive) to _PY_NSMALLPOSINTS (not inclusive). + */ + PyLongObject* small_ints[_PY_NSMALLNEGINTS + _PY_NSMALLPOSINTS]; + struct _Py_bytes_state bytes; + struct _Py_unicode_state unicode; + struct _Py_float_state float_state; + /* Using a cache is very effective since typically only a single slice is + created and then deleted again. */ + PySliceObject *slice_cache; + + struct _Py_tuple_state tuple; + struct _Py_list_state list; + struct _Py_dict_state dict_state; + struct _Py_frame_state frame; + struct _Py_async_gen_state async_gen; + struct _Py_context_state context; + struct _Py_exc_state exc_state; + + struct ast_state ast; + struct type_cache type_cache; + + int int_max_str_digits; +}; + +extern void _PyInterpreterState_ClearModules(PyInterpreterState *interp); +extern void _PyInterpreterState_Clear(PyThreadState *tstate); + + +/* cross-interpreter data registry */ + +/* For now we use a global registry of shareable classes. An + alternative would be to add a tp_* slot for a class's + crossinterpdatafunc. It would be simpler and more efficient. */ + +struct _xidregitem; + +struct _xidregitem { + PyTypeObject *cls; + crossinterpdatafunc getdata; + struct _xidregitem *next; +}; + +PyAPI_FUNC(struct _is*) _PyInterpreterState_LookUpID(int64_t); + +PyAPI_FUNC(int) _PyInterpreterState_IDInitref(struct _is *); +PyAPI_FUNC(int) _PyInterpreterState_IDIncref(struct _is *); +PyAPI_FUNC(void) _PyInterpreterState_IDDecref(struct _is *); + +#ifdef __cplusplus +} +#endif +#endif /* !Py_INTERNAL_INTERP_H */ diff --git a/_Pre_Builds/_Python310_cpp/include/internal/pycore_list.h b/_Pre_Builds/_Python310_cpp/include/internal/pycore_list.h new file mode 100644 index 0000000..f18fb05 --- /dev/null +++ b/_Pre_Builds/_Python310_cpp/include/internal/pycore_list.h @@ -0,0 +1,20 @@ +#ifndef Py_INTERNAL_LIST_H +#define Py_INTERNAL_LIST_H +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef Py_BUILD_CORE +# error "this header requires Py_BUILD_CORE define" +#endif + +#include "listobject.h" // _PyList_CAST() + + +#define _PyList_ITEMS(op) (_PyList_CAST(op)->ob_item) + + +#ifdef __cplusplus +} +#endif +#endif /* !Py_INTERNAL_LIST_H */ diff --git a/_Pre_Builds/_Python310_cpp/include/internal/pycore_long.h b/_Pre_Builds/_Python310_cpp/include/internal/pycore_long.h new file mode 100644 index 0000000..90069f8 --- /dev/null +++ b/_Pre_Builds/_Python310_cpp/include/internal/pycore_long.h @@ -0,0 +1,75 @@ +#ifndef Py_INTERNAL_LONG_H +#define Py_INTERNAL_LONG_H +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef Py_BUILD_CORE +# error "this header requires Py_BUILD_CORE define" +#endif + +#include "pycore_interp.h" // PyInterpreterState.small_ints +#include "pycore_pystate.h" // _PyThreadState_GET() + +/* + * Default int base conversion size limitation: Denial of Service prevention. + * + * Chosen such that this isn't wildly slow on modern hardware and so that + * everyone's existing deployed numpy test suite passes before + * https://github.com/numpy/numpy/issues/22098 is widely available. + * + * $ python -m timeit -s 's = "1"*4300' 'int(s)' + * 2000 loops, best of 5: 125 usec per loop + * $ python -m timeit -s 's = "1"*4300; v = int(s)' 'str(v)' + * 1000 loops, best of 5: 311 usec per loop + * (zen2 cloud VM) + * + * 4300 decimal digits fits a ~14284 bit number. + */ +#define _PY_LONG_DEFAULT_MAX_STR_DIGITS 4300 +/* + * Threshold for max digits check. For performance reasons int() and + * int.__str__() don't checks values that are smaller than this + * threshold. Acts as a guaranteed minimum size limit for bignums that + * applications can expect from CPython. + * + * % python -m timeit -s 's = "1"*640; v = int(s)' 'str(int(s))' + * 20000 loops, best of 5: 12 usec per loop + * + * "640 digits should be enough for anyone." - gps + * fits a ~2126 bit decimal number. + */ +#define _PY_LONG_MAX_STR_DIGITS_THRESHOLD 640 + +#if ((_PY_LONG_DEFAULT_MAX_STR_DIGITS != 0) && \ + (_PY_LONG_DEFAULT_MAX_STR_DIGITS < _PY_LONG_MAX_STR_DIGITS_THRESHOLD)) +# error "_PY_LONG_DEFAULT_MAX_STR_DIGITS smaller than threshold." +#endif + +// Don't call this function but _PyLong_GetZero() and _PyLong_GetOne() +static inline PyObject* __PyLong_GetSmallInt_internal(int value) +{ + PyInterpreterState *interp = _PyInterpreterState_GET(); + assert(-_PY_NSMALLNEGINTS <= value && value < _PY_NSMALLPOSINTS); + size_t index = _PY_NSMALLNEGINTS + value; + PyObject *obj = (PyObject*)interp->small_ints[index]; + // _PyLong_GetZero(), _PyLong_GetOne() and get_small_int() must not be + // called before _PyLong_Init() nor after _PyLong_Fini(). + assert(obj != NULL); + return obj; +} + +// Return a borrowed reference to the zero singleton. +// The function cannot return NULL. +static inline PyObject* _PyLong_GetZero(void) +{ return __PyLong_GetSmallInt_internal(0); } + +// Return a borrowed reference to the one singleton. +// The function cannot return NULL. +static inline PyObject* _PyLong_GetOne(void) +{ return __PyLong_GetSmallInt_internal(1); } + +#ifdef __cplusplus +} +#endif +#endif /* !Py_INTERNAL_LONG_H */ diff --git a/_Pre_Builds/_Python310_cpp/include/internal/pycore_moduleobject.h b/_Pre_Builds/_Python310_cpp/include/internal/pycore_moduleobject.h new file mode 100644 index 0000000..e9978ab --- /dev/null +++ b/_Pre_Builds/_Python310_cpp/include/internal/pycore_moduleobject.h @@ -0,0 +1,42 @@ +#ifndef Py_INTERNAL_MODULEOBJECT_H +#define Py_INTERNAL_MODULEOBJECT_H +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef Py_BUILD_CORE +# error "this header requires Py_BUILD_CORE define" +#endif + +typedef struct { + PyObject_HEAD + PyObject *md_dict; + struct PyModuleDef *md_def; + void *md_state; + PyObject *md_weaklist; + // for logging purposes after md_dict is cleared + PyObject *md_name; +} PyModuleObject; + +static inline PyModuleDef* _PyModule_GetDef(PyObject *mod) { + assert(PyModule_Check(mod)); + return ((PyModuleObject *)mod)->md_def; +} + +static inline void* _PyModule_GetState(PyObject* mod) { + assert(PyModule_Check(mod)); + return ((PyModuleObject *)mod)->md_state; +} + +static inline PyObject* _PyModule_GetDict(PyObject *mod) { + assert(PyModule_Check(mod)); + PyObject *dict = ((PyModuleObject *)mod) -> md_dict; + // _PyModule_GetDict(mod) must not be used after calling module_clear(mod) + assert(dict != NULL); + return dict; +} + +#ifdef __cplusplus +} +#endif +#endif /* !Py_INTERNAL_MODULEOBJECT_H */ diff --git a/_Pre_Builds/_Python310_cpp/include/internal/pycore_object.h b/_Pre_Builds/_Python310_cpp/include/internal/pycore_object.h new file mode 100644 index 0000000..90d9813 --- /dev/null +++ b/_Pre_Builds/_Python310_cpp/include/internal/pycore_object.h @@ -0,0 +1,186 @@ +#ifndef Py_INTERNAL_OBJECT_H +#define Py_INTERNAL_OBJECT_H +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef Py_BUILD_CORE +# error "this header requires Py_BUILD_CORE define" +#endif + +#include "pycore_gc.h" // _PyObject_GC_IS_TRACKED() +#include "pycore_interp.h" // PyInterpreterState.gc +#include "pycore_pystate.h" // _PyInterpreterState_GET() + +PyAPI_FUNC(int) _PyType_CheckConsistency(PyTypeObject *type); +PyAPI_FUNC(int) _PyDict_CheckConsistency(PyObject *mp, int check_content); + +/* Update the Python traceback of an object. This function must be called + when a memory block is reused from a free list. + + Internal function called by _Py_NewReference(). */ +extern int _PyTraceMalloc_NewReference(PyObject *op); + +// Fast inlined version of PyType_HasFeature() +static inline int +_PyType_HasFeature(PyTypeObject *type, unsigned long feature) { + return ((type->tp_flags & feature) != 0); +} + +extern void _PyType_InitCache(PyInterpreterState *interp); + +/* Only private in Python 3.10 and 3.9.8+; public in 3.11 */ +extern PyObject *_PyType_GetQualName(PyTypeObject *type); + +/* Inline functions trading binary compatibility for speed: + _PyObject_Init() is the fast version of PyObject_Init(), and + _PyObject_InitVar() is the fast version of PyObject_InitVar(). + + These inline functions must not be called with op=NULL. */ +static inline void +_PyObject_Init(PyObject *op, PyTypeObject *typeobj) +{ + assert(op != NULL); + Py_SET_TYPE(op, typeobj); + if (_PyType_HasFeature(typeobj, Py_TPFLAGS_HEAPTYPE)) { + Py_INCREF(typeobj); + } + _Py_NewReference(op); +} + +static inline void +_PyObject_InitVar(PyVarObject *op, PyTypeObject *typeobj, Py_ssize_t size) +{ + assert(op != NULL); + Py_SET_SIZE(op, size); + _PyObject_Init((PyObject *)op, typeobj); +} + + +/* Tell the GC to track this object. + * + * The object must not be tracked by the GC. + * + * NB: While the object is tracked by the collector, it must be safe to call the + * ob_traverse method. + * + * Internal note: interp->gc.generation0->_gc_prev doesn't have any bit flags + * because it's not object header. So we don't use _PyGCHead_PREV() and + * _PyGCHead_SET_PREV() for it to avoid unnecessary bitwise operations. + * + * See also the public PyObject_GC_Track() function. + */ +static inline void _PyObject_GC_TRACK( +// The preprocessor removes _PyObject_ASSERT_FROM() calls if NDEBUG is defined +#ifndef NDEBUG + const char *filename, int lineno, +#endif + PyObject *op) +{ + _PyObject_ASSERT_FROM(op, !_PyObject_GC_IS_TRACKED(op), + "object already tracked by the garbage collector", + filename, lineno, __func__); + + PyGC_Head *gc = _Py_AS_GC(op); + _PyObject_ASSERT_FROM(op, + (gc->_gc_prev & _PyGC_PREV_MASK_COLLECTING) == 0, + "object is in generation which is garbage collected", + filename, lineno, __func__); + + PyInterpreterState *interp = _PyInterpreterState_GET(); + PyGC_Head *generation0 = interp->gc.generation0; + PyGC_Head *last = (PyGC_Head*)(generation0->_gc_prev); + _PyGCHead_SET_NEXT(last, gc); + _PyGCHead_SET_PREV(gc, last); + _PyGCHead_SET_NEXT(gc, generation0); + generation0->_gc_prev = (uintptr_t)gc; +} + +/* Tell the GC to stop tracking this object. + * + * Internal note: This may be called while GC. So _PyGC_PREV_MASK_COLLECTING + * must be cleared. But _PyGC_PREV_MASK_FINALIZED bit is kept. + * + * The object must be tracked by the GC. + * + * See also the public PyObject_GC_UnTrack() which accept an object which is + * not tracked. + */ +static inline void _PyObject_GC_UNTRACK( +// The preprocessor removes _PyObject_ASSERT_FROM() calls if NDEBUG is defined +#ifndef NDEBUG + const char *filename, int lineno, +#endif + PyObject *op) +{ + _PyObject_ASSERT_FROM(op, _PyObject_GC_IS_TRACKED(op), + "object not tracked by the garbage collector", + filename, lineno, __func__); + + PyGC_Head *gc = _Py_AS_GC(op); + PyGC_Head *prev = _PyGCHead_PREV(gc); + PyGC_Head *next = _PyGCHead_NEXT(gc); + _PyGCHead_SET_NEXT(prev, next); + _PyGCHead_SET_PREV(next, prev); + gc->_gc_next = 0; + gc->_gc_prev &= _PyGC_PREV_MASK_FINALIZED; +} + +// Macros to accept any type for the parameter, and to automatically pass +// the filename and the filename (if NDEBUG is not defined) where the macro +// is called. +#ifdef NDEBUG +# define _PyObject_GC_TRACK(op) \ + _PyObject_GC_TRACK(_PyObject_CAST(op)) +# define _PyObject_GC_UNTRACK(op) \ + _PyObject_GC_UNTRACK(_PyObject_CAST(op)) +#else +# define _PyObject_GC_TRACK(op) \ + _PyObject_GC_TRACK(__FILE__, __LINE__, _PyObject_CAST(op)) +# define _PyObject_GC_UNTRACK(op) \ + _PyObject_GC_UNTRACK(__FILE__, __LINE__, _PyObject_CAST(op)) +#endif + +#ifdef Py_REF_DEBUG +extern void _PyDebug_PrintTotalRefs(void); +#endif + +#ifdef Py_TRACE_REFS +extern void _Py_AddToAllObjects(PyObject *op, int force); +extern void _Py_PrintReferences(FILE *); +extern void _Py_PrintReferenceAddresses(FILE *); +#endif + +static inline PyObject ** +_PyObject_GET_WEAKREFS_LISTPTR(PyObject *op) +{ + Py_ssize_t offset = Py_TYPE(op)->tp_weaklistoffset; + return (PyObject **)((char *)op + offset); +} + +// Fast inlined version of PyObject_IS_GC() +static inline int +_PyObject_IS_GC(PyObject *obj) +{ + return (PyType_IS_GC(Py_TYPE(obj)) + && (Py_TYPE(obj)->tp_is_gc == NULL + || Py_TYPE(obj)->tp_is_gc(obj))); +} + +// Fast inlined version of PyType_IS_GC() +#define _PyType_IS_GC(t) _PyType_HasFeature((t), Py_TPFLAGS_HAVE_GC) + +// Usage: assert(_Py_CheckSlotResult(obj, "__getitem__", result != NULL)); +extern int _Py_CheckSlotResult( + PyObject *obj, + const char *slot_name, + int success); + +// PyType_Ready() must be called if _PyType_IsReady() is false. +// See also the Py_TPFLAGS_READY flag. +#define _PyType_IsReady(type) ((type)->tp_dict != NULL) + +#ifdef __cplusplus +} +#endif +#endif /* !Py_INTERNAL_OBJECT_H */ diff --git a/_Python311_cpp/include/internal/pycore_parser.h b/_Pre_Builds/_Python310_cpp/include/internal/pycore_parser.h similarity index 100% rename from _Python311_cpp/include/internal/pycore_parser.h rename to _Pre_Builds/_Python310_cpp/include/internal/pycore_parser.h diff --git a/_Pre_Builds/_Python310_cpp/include/internal/pycore_pathconfig.h b/_Pre_Builds/_Python310_cpp/include/internal/pycore_pathconfig.h new file mode 100644 index 0000000..15447f5 --- /dev/null +++ b/_Pre_Builds/_Python310_cpp/include/internal/pycore_pathconfig.h @@ -0,0 +1,73 @@ +#ifndef Py_INTERNAL_PATHCONFIG_H +#define Py_INTERNAL_PATHCONFIG_H +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef Py_BUILD_CORE +# error "this header requires Py_BUILD_CORE define" +#endif + +typedef struct _PyPathConfig { + /* Full path to the Python program */ + wchar_t *program_full_path; + wchar_t *prefix; + wchar_t *exec_prefix; + /* Set by Py_SetPath(), or computed by _PyConfig_InitPathConfig() */ + wchar_t *module_search_path; + /* Python program name */ + wchar_t *program_name; + /* Set by Py_SetPythonHome() or PYTHONHOME environment variable */ + wchar_t *home; +#ifdef MS_WINDOWS + /* isolated and site_import are used to set Py_IsolatedFlag and + Py_NoSiteFlag flags on Windows in read_pth_file(). These fields + are ignored when their value are equal to -1 (unset). */ + int isolated; + int site_import; + /* Set when a venv is detected */ + wchar_t *base_executable; +#endif +} _PyPathConfig; + +#ifdef MS_WINDOWS +# define _PyPathConfig_INIT \ + {.module_search_path = NULL, \ + .isolated = -1, \ + .site_import = -1} +#else +# define _PyPathConfig_INIT \ + {.module_search_path = NULL} +#endif +/* Note: _PyPathConfig_INIT sets other fields to 0/NULL */ + +PyAPI_DATA(_PyPathConfig) _Py_path_config; +#ifdef MS_WINDOWS +PyAPI_DATA(wchar_t*) _Py_dll_path; +#endif + +extern void _PyPathConfig_ClearGlobal(void); + +extern PyStatus _PyPathConfig_Calculate( + _PyPathConfig *pathconfig, + const PyConfig *config); +extern int _PyPathConfig_ComputeSysPath0( + const PyWideStringList *argv, + PyObject **path0); +extern PyStatus _Py_FindEnvConfigValue( + FILE *env_file, + const wchar_t *key, + wchar_t **value_p); + +#ifdef MS_WINDOWS +extern wchar_t* _Py_GetDLLPath(void); +#endif + +extern PyStatus _PyConfig_WritePathConfig(const PyConfig *config); +extern void _Py_DumpPathConfig(PyThreadState *tstate); +extern PyObject* _PyPathConfig_AsDict(void); + +#ifdef __cplusplus +} +#endif +#endif /* !Py_INTERNAL_PATHCONFIG_H */ diff --git a/_Python311_cpp/include/internal/pycore_pyarena.h b/_Pre_Builds/_Python310_cpp/include/internal/pycore_pyarena.h similarity index 100% rename from _Python311_cpp/include/internal/pycore_pyarena.h rename to _Pre_Builds/_Python310_cpp/include/internal/pycore_pyarena.h diff --git a/_Pre_Builds/_Python310_cpp/include/internal/pycore_pyerrors.h b/_Pre_Builds/_Python310_cpp/include/internal/pycore_pyerrors.h new file mode 100644 index 0000000..a5e97fe --- /dev/null +++ b/_Pre_Builds/_Python310_cpp/include/internal/pycore_pyerrors.h @@ -0,0 +1,96 @@ +#ifndef Py_INTERNAL_PYERRORS_H +#define Py_INTERNAL_PYERRORS_H +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef Py_BUILD_CORE +# error "this header requires Py_BUILD_CORE define" +#endif + +static inline PyObject* _PyErr_Occurred(PyThreadState *tstate) +{ + assert(tstate != NULL); + return tstate->curexc_type; +} + +static inline void _PyErr_ClearExcState(_PyErr_StackItem *exc_state) +{ + PyObject *t, *v, *tb; + t = exc_state->exc_type; + v = exc_state->exc_value; + tb = exc_state->exc_traceback; + exc_state->exc_type = NULL; + exc_state->exc_value = NULL; + exc_state->exc_traceback = NULL; + Py_XDECREF(t); + Py_XDECREF(v); + Py_XDECREF(tb); +} + + +PyAPI_FUNC(void) _PyErr_Fetch( + PyThreadState *tstate, + PyObject **type, + PyObject **value, + PyObject **traceback); + +PyAPI_FUNC(int) _PyErr_ExceptionMatches( + PyThreadState *tstate, + PyObject *exc); + +PyAPI_FUNC(void) _PyErr_Restore( + PyThreadState *tstate, + PyObject *type, + PyObject *value, + PyObject *traceback); + +PyAPI_FUNC(void) _PyErr_SetObject( + PyThreadState *tstate, + PyObject *type, + PyObject *value); + +PyAPI_FUNC(void) _PyErr_ChainStackItem( + _PyErr_StackItem *exc_info); + +PyAPI_FUNC(void) _PyErr_Clear(PyThreadState *tstate); + +PyAPI_FUNC(void) _PyErr_SetNone(PyThreadState *tstate, PyObject *exception); + +PyAPI_FUNC(PyObject *) _PyErr_NoMemory(PyThreadState *tstate); + +PyAPI_FUNC(void) _PyErr_SetString( + PyThreadState *tstate, + PyObject *exception, + const char *string); + +PyAPI_FUNC(PyObject *) _PyErr_Format( + PyThreadState *tstate, + PyObject *exception, + const char *format, + ...); + +PyAPI_FUNC(void) _PyErr_NormalizeException( + PyThreadState *tstate, + PyObject **exc, + PyObject **val, + PyObject **tb); + +PyAPI_FUNC(PyObject *) _PyErr_FormatFromCauseTstate( + PyThreadState *tstate, + PyObject *exception, + const char *format, + ...); + +PyAPI_FUNC(int) _PyErr_CheckSignalsTstate(PyThreadState *tstate); + +PyAPI_FUNC(void) _Py_DumpExtensionModules(int fd, PyInterpreterState *interp); + +extern PyObject* _Py_Offer_Suggestions(PyObject* exception); +PyAPI_FUNC(Py_ssize_t) _Py_UTF8_Edit_Cost(PyObject *str_a, PyObject *str_b, + Py_ssize_t max_cost); + +#ifdef __cplusplus +} +#endif +#endif /* !Py_INTERNAL_PYERRORS_H */ diff --git a/_Python311_cpp/include/internal/pycore_pyhash.h b/_Pre_Builds/_Python310_cpp/include/internal/pycore_pyhash.h similarity index 100% rename from _Python311_cpp/include/internal/pycore_pyhash.h rename to _Pre_Builds/_Python310_cpp/include/internal/pycore_pyhash.h diff --git a/_Pre_Builds/_Python310_cpp/include/internal/pycore_pylifecycle.h b/_Pre_Builds/_Python310_cpp/include/internal/pycore_pylifecycle.h new file mode 100644 index 0000000..524be9d --- /dev/null +++ b/_Pre_Builds/_Python310_cpp/include/internal/pycore_pylifecycle.h @@ -0,0 +1,141 @@ +#ifndef Py_INTERNAL_LIFECYCLE_H +#define Py_INTERNAL_LIFECYCLE_H +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef Py_BUILD_CORE +# error "this header requires Py_BUILD_CORE define" +#endif + +#ifdef HAVE_SIGNAL_H +#include +#endif + +#include "pycore_runtime.h" // _PyRuntimeState + +#ifndef NSIG +# if defined(_NSIG) +# define NSIG _NSIG /* For BSD/SysV */ +# elif defined(_SIGMAX) +# define NSIG (_SIGMAX + 1) /* For QNX */ +# elif defined(SIGMAX) +# define NSIG (SIGMAX + 1) /* For djgpp */ +# else +# define NSIG 64 /* Use a reasonable default value */ +# endif +#endif + +/* Forward declarations */ +struct _PyArgv; +struct pyruntimestate; + +/* True if the main interpreter thread exited due to an unhandled + * KeyboardInterrupt exception, suggesting the user pressed ^C. */ +PyAPI_DATA(int) _Py_UnhandledKeyboardInterrupt; + +extern int _Py_SetFileSystemEncoding( + const char *encoding, + const char *errors); +extern void _Py_ClearFileSystemEncoding(void); +extern PyStatus _PyUnicode_InitEncodings(PyThreadState *tstate); +#ifdef MS_WINDOWS +extern int _PyUnicode_EnableLegacyWindowsFSEncoding(void); +#endif + +PyAPI_FUNC(void) _Py_ClearStandardStreamEncoding(void); + +PyAPI_FUNC(int) _Py_IsLocaleCoercionTarget(const char *ctype_loc); + +/* Various one-time initializers */ + +extern PyStatus _PyUnicode_Init(PyInterpreterState *interp); +extern PyStatus _PyUnicode_InitTypes(void); +extern PyStatus _PyBytes_Init(PyInterpreterState *interp); +extern int _PyStructSequence_Init(void); +extern int _PyLong_Init(PyInterpreterState *interp); +extern int _PyLong_InitTypes(void); +extern PyStatus _PyTuple_Init(PyInterpreterState *interp); +extern PyStatus _PyFaulthandler_Init(int enable); +extern int _PyTraceMalloc_Init(int enable); +extern PyObject * _PyBuiltin_Init(PyInterpreterState *interp); +extern PyStatus _PySys_Create( + PyThreadState *tstate, + PyObject **sysmod_p); +extern PyStatus _PySys_ReadPreinitWarnOptions(PyWideStringList *options); +extern PyStatus _PySys_ReadPreinitXOptions(PyConfig *config); +extern int _PySys_UpdateConfig(PyThreadState *tstate); +extern PyStatus _PyExc_Init(PyInterpreterState *interp); +extern PyStatus _PyErr_InitTypes(void); +extern PyStatus _PyBuiltins_AddExceptions(PyObject * bltinmod); +extern void _PyFloat_Init(void); +extern int _PyFloat_InitTypes(void); +extern PyStatus _Py_HashRandomization_Init(const PyConfig *); + +extern PyStatus _PyTypes_Init(void); +extern PyStatus _PyTypes_InitSlotDefs(void); +extern PyStatus _PyImportZip_Init(PyThreadState *tstate); +extern PyStatus _PyGC_Init(PyInterpreterState *interp); +extern PyStatus _PyAtExit_Init(PyInterpreterState *interp); + + +/* Various internal finalizers */ + +extern void _PyFrame_Fini(PyInterpreterState *interp); +extern void _PyDict_Fini(PyInterpreterState *interp); +extern void _PyTuple_Fini(PyInterpreterState *interp); +extern void _PyList_Fini(PyInterpreterState *interp); +extern void _PyBytes_Fini(PyInterpreterState *interp); +extern void _PyFloat_Fini(PyInterpreterState *interp); +extern void _PySlice_Fini(PyInterpreterState *interp); +extern void _PyAsyncGen_Fini(PyInterpreterState *interp); + +extern int _PySignal_Init(int install_signal_handlers); +extern void _PySignal_Fini(void); + +extern void _PyExc_Fini(PyInterpreterState *interp); +extern void _PyImport_Fini(void); +extern void _PyImport_Fini2(void); +extern void _PyGC_Fini(PyInterpreterState *interp); +extern void _PyType_Fini(PyInterpreterState *interp); +extern void _Py_HashRandomization_Fini(void); +extern void _PyUnicode_Fini(PyInterpreterState *interp); +extern void _PyUnicode_ClearInterned(PyInterpreterState *interp); +extern void _PyLong_Fini(PyInterpreterState *interp); +extern void _PyFaulthandler_Fini(void); +extern void _PyHash_Fini(void); +extern void _PyTraceMalloc_Fini(void); +extern void _PyWarnings_Fini(PyInterpreterState *interp); +extern void _PyAST_Fini(PyInterpreterState *interp); +extern void _PyAtExit_Fini(PyInterpreterState *interp); + +extern PyStatus _PyGILState_Init(_PyRuntimeState *runtime); +extern PyStatus _PyGILState_SetTstate(PyThreadState *tstate); +extern void _PyGILState_Fini(PyInterpreterState *interp); + +PyAPI_FUNC(void) _PyGC_DumpShutdownStats(PyInterpreterState *interp); + +PyAPI_FUNC(PyStatus) _Py_PreInitializeFromPyArgv( + const PyPreConfig *src_config, + const struct _PyArgv *args); +PyAPI_FUNC(PyStatus) _Py_PreInitializeFromConfig( + const PyConfig *config, + const struct _PyArgv *args); + + +PyAPI_FUNC(int) _Py_HandleSystemExit(int *exitcode_p); + +PyAPI_FUNC(PyObject*) _PyErr_WriteUnraisableDefaultHook(PyObject *unraisable); + +PyAPI_FUNC(void) _PyErr_Print(PyThreadState *tstate); +PyAPI_FUNC(void) _PyErr_Display(PyObject *file, PyObject *exception, + PyObject *value, PyObject *tb); + +PyAPI_FUNC(void) _PyThreadState_DeleteCurrent(PyThreadState *tstate); + +extern void _PyAtExit_Call(PyInterpreterState *interp); + +#ifdef __cplusplus +} +#endif +#endif /* !Py_INTERNAL_LIFECYCLE_H */ diff --git a/_Pre_Builds/_Python310_cpp/include/internal/pycore_pymem.h b/_Pre_Builds/_Python310_cpp/include/internal/pycore_pymem.h new file mode 100644 index 0000000..49af171 --- /dev/null +++ b/_Pre_Builds/_Python310_cpp/include/internal/pycore_pymem.h @@ -0,0 +1,101 @@ +#ifndef Py_INTERNAL_PYMEM_H +#define Py_INTERNAL_PYMEM_H +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef Py_BUILD_CORE +# error "this header requires Py_BUILD_CORE define" +#endif + +#include "pymem.h" // PyMemAllocatorName + + +/* Set the memory allocator of the specified domain to the default. + Save the old allocator into *old_alloc if it's non-NULL. + Return on success, or return -1 if the domain is unknown. */ +PyAPI_FUNC(int) _PyMem_SetDefaultAllocator( + PyMemAllocatorDomain domain, + PyMemAllocatorEx *old_alloc); + +/* Special bytes broadcast into debug memory blocks at appropriate times. + Strings of these are unlikely to be valid addresses, floats, ints or + 7-bit ASCII. + + - PYMEM_CLEANBYTE: clean (newly allocated) memory + - PYMEM_DEADBYTE dead (newly freed) memory + - PYMEM_FORBIDDENBYTE: untouchable bytes at each end of a block + + Byte patterns 0xCB, 0xDB and 0xFB have been replaced with 0xCD, 0xDD and + 0xFD to use the same values than Windows CRT debug malloc() and free(). + If modified, _PyMem_IsPtrFreed() should be updated as well. */ +#define PYMEM_CLEANBYTE 0xCD +#define PYMEM_DEADBYTE 0xDD +#define PYMEM_FORBIDDENBYTE 0xFD + +/* Heuristic checking if a pointer value is newly allocated + (uninitialized), newly freed or NULL (is equal to zero). + + The pointer is not dereferenced, only the pointer value is checked. + + The heuristic relies on the debug hooks on Python memory allocators which + fills newly allocated memory with CLEANBYTE (0xCD) and newly freed memory + with DEADBYTE (0xDD). Detect also "untouchable bytes" marked + with FORBIDDENBYTE (0xFD). */ +static inline int _PyMem_IsPtrFreed(const void *ptr) +{ + uintptr_t value = (uintptr_t)ptr; +#if SIZEOF_VOID_P == 8 + return (value == 0 + || value == (uintptr_t)0xCDCDCDCDCDCDCDCD + || value == (uintptr_t)0xDDDDDDDDDDDDDDDD + || value == (uintptr_t)0xFDFDFDFDFDFDFDFD); +#elif SIZEOF_VOID_P == 4 + return (value == 0 + || value == (uintptr_t)0xCDCDCDCD + || value == (uintptr_t)0xDDDDDDDD + || value == (uintptr_t)0xFDFDFDFD); +#else +# error "unknown pointer size" +#endif +} + +PyAPI_FUNC(int) _PyMem_GetAllocatorName( + const char *name, + PyMemAllocatorName *allocator); + +/* Configure the Python memory allocators. + Pass PYMEM_ALLOCATOR_DEFAULT to use default allocators. + PYMEM_ALLOCATOR_NOT_SET does nothing. */ +PyAPI_FUNC(int) _PyMem_SetupAllocators(PyMemAllocatorName allocator); + +struct _PyTraceMalloc_Config { + /* Module initialized? + Variable protected by the GIL */ + enum { + TRACEMALLOC_NOT_INITIALIZED, + TRACEMALLOC_INITIALIZED, + TRACEMALLOC_FINALIZED + } initialized; + + /* Is tracemalloc tracing memory allocations? + Variable protected by the GIL */ + int tracing; + + /* limit of the number of frames in a traceback, 1 by default. + Variable protected by the GIL. */ + int max_nframe; +}; + +#define _PyTraceMalloc_Config_INIT \ + {.initialized = TRACEMALLOC_NOT_INITIALIZED, \ + .tracing = 0, \ + .max_nframe = 1} + +PyAPI_DATA(struct _PyTraceMalloc_Config) _Py_tracemalloc_config; + + +#ifdef __cplusplus +} +#endif +#endif /* !Py_INTERNAL_PYMEM_H */ diff --git a/_Pre_Builds/_Python310_cpp/include/internal/pycore_pystate.h b/_Pre_Builds/_Python310_cpp/include/internal/pycore_pystate.h new file mode 100644 index 0000000..4b894f3 --- /dev/null +++ b/_Pre_Builds/_Python310_cpp/include/internal/pycore_pystate.h @@ -0,0 +1,153 @@ +#ifndef Py_INTERNAL_PYSTATE_H +#define Py_INTERNAL_PYSTATE_H +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef Py_BUILD_CORE +# error "this header requires Py_BUILD_CORE define" +#endif + +#include "pycore_runtime.h" /* PyRuntimeState */ + + +/* Check if the current thread is the main thread. + Use _Py_IsMainInterpreter() to check if it's the main interpreter. */ +static inline int +_Py_IsMainThread(void) +{ + unsigned long thread = PyThread_get_thread_ident(); + return (thread == _PyRuntime.main_thread); +} + + +static inline int +_Py_IsMainInterpreter(PyInterpreterState *interp) +{ + /* Use directly _PyRuntime rather than tstate->interp->runtime, since + this function is used in performance critical code path (ceval) */ + return (interp == _PyRuntime.interpreters.main); +} + + +/* Only handle signals on the main thread of the main interpreter. */ +static inline int +_Py_ThreadCanHandleSignals(PyInterpreterState *interp) +{ + return (_Py_IsMainThread() && interp == _PyRuntime.interpreters.main); +} + + +/* Only execute pending calls on the main thread. */ +static inline int +_Py_ThreadCanHandlePendingCalls(void) +{ + return _Py_IsMainThread(); +} + + +/* Variable and macro for in-line access to current thread + and interpreter state */ + +#ifdef EXPERIMENTAL_ISOLATED_SUBINTERPRETERS +PyAPI_FUNC(PyThreadState*) _PyThreadState_GetTSS(void); +#endif + +static inline PyThreadState* +_PyRuntimeState_GetThreadState(_PyRuntimeState *runtime) +{ +#ifdef EXPERIMENTAL_ISOLATED_SUBINTERPRETERS + return _PyThreadState_GetTSS(); +#else + return (PyThreadState*)_Py_atomic_load_relaxed(&runtime->gilstate.tstate_current); +#endif +} + +/* Get the current Python thread state. + + Efficient macro reading directly the 'gilstate.tstate_current' atomic + variable. The macro is unsafe: it does not check for error and it can + return NULL. + + The caller must hold the GIL. + + See also PyThreadState_Get() and PyThreadState_GET(). */ +static inline PyThreadState* +_PyThreadState_GET(void) +{ +#ifdef EXPERIMENTAL_ISOLATED_SUBINTERPRETERS + return _PyThreadState_GetTSS(); +#else + return _PyRuntimeState_GetThreadState(&_PyRuntime); +#endif +} + +/* Redefine PyThreadState_GET() as an alias to _PyThreadState_GET() */ +#undef PyThreadState_GET +#define PyThreadState_GET() _PyThreadState_GET() + +PyAPI_FUNC(void) _Py_NO_RETURN _Py_FatalError_TstateNULL(const char *func); + +static inline void +_Py_EnsureFuncTstateNotNULL(const char *func, PyThreadState *tstate) +{ + if (tstate == NULL) { + _Py_FatalError_TstateNULL(func); + } +} + +// Call Py_FatalError() if tstate is NULL +#define _Py_EnsureTstateNotNULL(tstate) \ + _Py_EnsureFuncTstateNotNULL(__func__, tstate) + + +/* Get the current interpreter state. + + The macro is unsafe: it does not check for error and it can return NULL. + + The caller must hold the GIL. + + See also _PyInterpreterState_Get() + and _PyGILState_GetInterpreterStateUnsafe(). */ +static inline PyInterpreterState* _PyInterpreterState_GET(void) { + PyThreadState *tstate = _PyThreadState_GET(); +#ifdef Py_DEBUG + _Py_EnsureTstateNotNULL(tstate); +#endif + return tstate->interp; +} + + +/* Other */ + +PyAPI_FUNC(void) _PyThreadState_Init( + PyThreadState *tstate); +PyAPI_FUNC(void) _PyThreadState_DeleteExcept( + _PyRuntimeState *runtime, + PyThreadState *tstate); + +PyAPI_FUNC(PyThreadState *) _PyThreadState_Swap( + struct _gilstate_runtime_state *gilstate, + PyThreadState *newts); + +PyAPI_FUNC(PyStatus) _PyInterpreterState_Enable(_PyRuntimeState *runtime); + +#ifdef HAVE_FORK +extern PyStatus _PyInterpreterState_DeleteExceptMain(_PyRuntimeState *runtime); +extern PyStatus _PyGILState_Reinit(_PyRuntimeState *runtime); +extern void _PySignal_AfterFork(void); +#endif + + +PyAPI_FUNC(int) _PyState_AddModule( + PyThreadState *tstate, + PyObject* module, + struct PyModuleDef* def); + + +PyAPI_FUNC(int) _PyOS_InterruptOccurred(PyThreadState *tstate); + +#ifdef __cplusplus +} +#endif +#endif /* !Py_INTERNAL_PYSTATE_H */ diff --git a/_Pre_Builds/_Python310_cpp/include/internal/pycore_runtime.h b/_Pre_Builds/_Python310_cpp/include/internal/pycore_runtime.h new file mode 100644 index 0000000..bcd710c --- /dev/null +++ b/_Pre_Builds/_Python310_cpp/include/internal/pycore_runtime.h @@ -0,0 +1,157 @@ +#ifndef Py_INTERNAL_RUNTIME_H +#define Py_INTERNAL_RUNTIME_H +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef Py_BUILD_CORE +# error "this header requires Py_BUILD_CORE define" +#endif + +#include "pycore_atomic.h" /* _Py_atomic_address */ +#include "pycore_gil.h" // struct _gil_runtime_state + +/* ceval state */ + +struct _ceval_runtime_state { + /* Request for checking signals. It is shared by all interpreters (see + bpo-40513). Any thread of any interpreter can receive a signal, but only + the main thread of the main interpreter can handle signals: see + _Py_ThreadCanHandleSignals(). */ + _Py_atomic_int signals_pending; +#ifndef EXPERIMENTAL_ISOLATED_SUBINTERPRETERS + struct _gil_runtime_state gil; +#endif +}; + +/* GIL state */ + +struct _gilstate_runtime_state { + /* bpo-26558: Flag to disable PyGILState_Check(). + If set to non-zero, PyGILState_Check() always return 1. */ + int check_enabled; + /* Assuming the current thread holds the GIL, this is the + PyThreadState for the current thread. */ + _Py_atomic_address tstate_current; + /* The single PyInterpreterState used by this process' + GILState implementation + */ + /* TODO: Given interp_main, it may be possible to kill this ref */ + PyInterpreterState *autoInterpreterState; + Py_tss_t autoTSSkey; +}; + +/* Runtime audit hook state */ + +typedef struct _Py_AuditHookEntry { + struct _Py_AuditHookEntry *next; + Py_AuditHookFunction hookCFunction; + void *userData; +} _Py_AuditHookEntry; + +struct _Py_unicode_runtime_ids { + PyThread_type_lock lock; + // next_index value must be preserved when Py_Initialize()/Py_Finalize() + // is called multiple times: see _PyUnicode_FromId() implementation. + Py_ssize_t next_index; +}; + +/* Full Python runtime state */ + +typedef struct pyruntimestate { + /* Is running Py_PreInitialize()? */ + int preinitializing; + + /* Is Python preinitialized? Set to 1 by Py_PreInitialize() */ + int preinitialized; + + /* Is Python core initialized? Set to 1 by _Py_InitializeCore() */ + int core_initialized; + + /* Is Python fully initialized? Set to 1 by Py_Initialize() */ + int initialized; + + /* Set by Py_FinalizeEx(). Only reset to NULL if Py_Initialize() + is called again. + + Use _PyRuntimeState_GetFinalizing() and _PyRuntimeState_SetFinalizing() + to access it, don't access it directly. */ + _Py_atomic_address _finalizing; + + struct pyinterpreters { + PyThread_type_lock mutex; + PyInterpreterState *head; + PyInterpreterState *main; + /* _next_interp_id is an auto-numbered sequence of small + integers. It gets initialized in _PyInterpreterState_Init(), + which is called in Py_Initialize(), and used in + PyInterpreterState_New(). A negative interpreter ID + indicates an error occurred. The main interpreter will + always have an ID of 0. Overflow results in a RuntimeError. + If that becomes a problem later then we can adjust, e.g. by + using a Python int. */ + int64_t next_id; + } interpreters; + // XXX Remove this field once we have a tp_* slot. + struct _xidregistry { + PyThread_type_lock mutex; + struct _xidregitem *head; + } xidregistry; + + unsigned long main_thread; + +#define NEXITFUNCS 32 + void (*exitfuncs[NEXITFUNCS])(void); + int nexitfuncs; + + struct _ceval_runtime_state ceval; + struct _gilstate_runtime_state gilstate; + + PyPreConfig preconfig; + + // Audit values must be preserved when Py_Initialize()/Py_Finalize() + // is called multiple times. + Py_OpenCodeHookFunction open_code_hook; + void *open_code_userdata; + _Py_AuditHookEntry *audit_hook_head; + + struct _Py_unicode_runtime_ids unicode_ids; + + // XXX Consolidate globals found via the check-c-globals script. +} _PyRuntimeState; + +#define _PyRuntimeState_INIT \ + {.preinitialized = 0, .core_initialized = 0, .initialized = 0} +/* Note: _PyRuntimeState_INIT sets other fields to 0/NULL */ + + +PyAPI_DATA(_PyRuntimeState) _PyRuntime; + +PyAPI_FUNC(PyStatus) _PyRuntimeState_Init(_PyRuntimeState *runtime); +PyAPI_FUNC(void) _PyRuntimeState_Fini(_PyRuntimeState *runtime); + +#ifdef HAVE_FORK +extern PyStatus _PyRuntimeState_ReInitThreads(_PyRuntimeState *runtime); +#endif + +/* Initialize _PyRuntimeState. + Return NULL on success, or return an error message on failure. */ +PyAPI_FUNC(PyStatus) _PyRuntime_Initialize(void); + +PyAPI_FUNC(void) _PyRuntime_Finalize(void); + + +static inline PyThreadState* +_PyRuntimeState_GetFinalizing(_PyRuntimeState *runtime) { + return (PyThreadState*)_Py_atomic_load_relaxed(&runtime->_finalizing); +} + +static inline void +_PyRuntimeState_SetFinalizing(_PyRuntimeState *runtime, PyThreadState *tstate) { + _Py_atomic_store_relaxed(&runtime->_finalizing, (uintptr_t)tstate); +} + +#ifdef __cplusplus +} +#endif +#endif /* !Py_INTERNAL_RUNTIME_H */ diff --git a/_Pre_Builds/_Python310_cpp/include/internal/pycore_structseq.h b/_Pre_Builds/_Python310_cpp/include/internal/pycore_structseq.h new file mode 100644 index 0000000..84c8d47 --- /dev/null +++ b/_Pre_Builds/_Python310_cpp/include/internal/pycore_structseq.h @@ -0,0 +1,21 @@ +#ifndef Py_INTERNAL_STRUCTSEQ_H +#define Py_INTERNAL_STRUCTSEQ_H +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef Py_BUILD_CORE +# error "this header requires Py_BUILD_CORE define" +#endif + + +PyAPI_FUNC(int) _PyStructSequence_InitType( + PyTypeObject *type, + PyStructSequence_Desc *desc, + unsigned long tp_flags); + + +#ifdef __cplusplus +} +#endif +#endif /* !Py_INTERNAL_STRUCTSEQ_H */ diff --git a/_Pre_Builds/_Python310_cpp/include/internal/pycore_symtable.h b/_Pre_Builds/_Python310_cpp/include/internal/pycore_symtable.h new file mode 100644 index 0000000..a2e520b --- /dev/null +++ b/_Pre_Builds/_Python310_cpp/include/internal/pycore_symtable.h @@ -0,0 +1,133 @@ +#ifndef Py_INTERNAL_SYMTABLE_H +#define Py_INTERNAL_SYMTABLE_H +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef Py_BUILD_CORE +# error "this header requires Py_BUILD_CORE define" +#endif + +struct _mod; // Type defined in pycore_ast.h + +typedef enum _block_type { FunctionBlock, ClassBlock, ModuleBlock, AnnotationBlock } + _Py_block_ty; + +typedef enum _comprehension_type { + NoComprehension = 0, + ListComprehension = 1, + DictComprehension = 2, + SetComprehension = 3, + GeneratorExpression = 4 } _Py_comprehension_ty; + +struct _symtable_entry; + +struct symtable { + PyObject *st_filename; /* name of file being compiled, + decoded from the filesystem encoding */ + struct _symtable_entry *st_cur; /* current symbol table entry */ + struct _symtable_entry *st_top; /* symbol table entry for module */ + PyObject *st_blocks; /* dict: map AST node addresses + * to symbol table entries */ + PyObject *st_stack; /* list: stack of namespace info */ + PyObject *st_global; /* borrowed ref to st_top->ste_symbols */ + int st_nblocks; /* number of blocks used. kept for + consistency with the corresponding + compiler structure */ + PyObject *st_private; /* name of current class or NULL */ + PyFutureFeatures *st_future; /* module's future features that affect + the symbol table */ + int recursion_depth; /* current recursion depth */ + int recursion_limit; /* recursion limit */ +}; + +typedef struct _symtable_entry { + PyObject_HEAD + PyObject *ste_id; /* int: key in ste_table->st_blocks */ + PyObject *ste_symbols; /* dict: variable names to flags */ + PyObject *ste_name; /* string: name of current block */ + PyObject *ste_varnames; /* list of function parameters */ + PyObject *ste_children; /* list of child blocks */ + PyObject *ste_directives;/* locations of global and nonlocal statements */ + _Py_block_ty ste_type; /* module, class or function */ + int ste_nested; /* true if block is nested */ + unsigned ste_free : 1; /* true if block has free variables */ + unsigned ste_child_free : 1; /* true if a child block has free vars, + including free refs to globals */ + unsigned ste_generator : 1; /* true if namespace is a generator */ + unsigned ste_coroutine : 1; /* true if namespace is a coroutine */ + _Py_comprehension_ty ste_comprehension; /* Kind of comprehension (if any) */ + unsigned ste_varargs : 1; /* true if block has varargs */ + unsigned ste_varkeywords : 1; /* true if block has varkeywords */ + unsigned ste_returns_value : 1; /* true if namespace uses return with + an argument */ + unsigned ste_needs_class_closure : 1; /* for class scopes, true if a + closure over __class__ + should be created */ + unsigned ste_comp_iter_target : 1; /* true if visiting comprehension target */ + int ste_comp_iter_expr; /* non-zero if visiting a comprehension range expression */ + int ste_lineno; /* first line of block */ + int ste_col_offset; /* offset of first line of block */ + int ste_end_lineno; /* end line of block */ + int ste_end_col_offset; /* end offset of first line of block */ + int ste_opt_lineno; /* lineno of last exec or import * */ + int ste_opt_col_offset; /* offset of last exec or import * */ + struct symtable *ste_table; +} PySTEntryObject; + +extern PyTypeObject PySTEntry_Type; + +#define PySTEntry_Check(op) Py_IS_TYPE(op, &PySTEntry_Type) + +extern int _PyST_GetScope(PySTEntryObject *, PyObject *); + +extern struct symtable* _PySymtable_Build( + struct _mod *mod, + PyObject *filename, + PyFutureFeatures *future); +PyAPI_FUNC(PySTEntryObject *) PySymtable_Lookup(struct symtable *, void *); + +extern void _PySymtable_Free(struct symtable *); + +/* Flags for def-use information */ + +#define DEF_GLOBAL 1 /* global stmt */ +#define DEF_LOCAL 2 /* assignment in code block */ +#define DEF_PARAM 2<<1 /* formal parameter */ +#define DEF_NONLOCAL 2<<2 /* nonlocal stmt */ +#define USE 2<<3 /* name is used */ +#define DEF_FREE 2<<4 /* name used but not defined in nested block */ +#define DEF_FREE_CLASS 2<<5 /* free variable from class's method */ +#define DEF_IMPORT 2<<6 /* assignment occurred via import */ +#define DEF_ANNOT 2<<7 /* this name is annotated */ +#define DEF_COMP_ITER 2<<8 /* this name is a comprehension iteration variable */ + +#define DEF_BOUND (DEF_LOCAL | DEF_PARAM | DEF_IMPORT) + +/* GLOBAL_EXPLICIT and GLOBAL_IMPLICIT are used internally by the symbol + table. GLOBAL is returned from PyST_GetScope() for either of them. + It is stored in ste_symbols at bits 12-15. +*/ +#define SCOPE_OFFSET 11 +#define SCOPE_MASK (DEF_GLOBAL | DEF_LOCAL | DEF_PARAM | DEF_NONLOCAL) + +#define LOCAL 1 +#define GLOBAL_EXPLICIT 2 +#define GLOBAL_IMPLICIT 3 +#define FREE 4 +#define CELL 5 + +#define GENERATOR 1 +#define GENERATOR_EXPRESSION 2 + +// Used by symtablemodule.c +extern struct symtable* _Py_SymtableStringObjectFlags( + const char *str, + PyObject *filename, + int start, + PyCompilerFlags *flags); + +#ifdef __cplusplus +} +#endif +#endif /* !Py_INTERNAL_SYMTABLE_H */ diff --git a/_Pre_Builds/_Python310_cpp/include/internal/pycore_sysmodule.h b/_Pre_Builds/_Python310_cpp/include/internal/pycore_sysmodule.h new file mode 100644 index 0000000..738a774 --- /dev/null +++ b/_Pre_Builds/_Python310_cpp/include/internal/pycore_sysmodule.h @@ -0,0 +1,24 @@ +#ifndef Py_INTERNAL_SYSMODULE_H +#define Py_INTERNAL_SYSMODULE_H +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef Py_BUILD_CORE +# error "this header requires Py_BUILD_CORE define" +#endif + +PyAPI_FUNC(int) _PySys_Audit( + PyThreadState *tstate, + const char *event, + const char *argFormat, + ...); + +/* We want minimal exposure of this function, so use extern rather than + PyAPI_FUNC() to not export the symbol. */ +extern void _PySys_ClearAuditHooks(PyThreadState *tstate); + +#ifdef __cplusplus +} +#endif +#endif /* !Py_INTERNAL_SYSMODULE_H */ diff --git a/_Pre_Builds/_Python310_cpp/include/internal/pycore_traceback.h b/_Pre_Builds/_Python310_cpp/include/internal/pycore_traceback.h new file mode 100644 index 0000000..c01a476 --- /dev/null +++ b/_Pre_Builds/_Python310_cpp/include/internal/pycore_traceback.h @@ -0,0 +1,93 @@ +#ifndef Py_INTERNAL_TRACEBACK_H +#define Py_INTERNAL_TRACEBACK_H +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef Py_BUILD_CORE +# error "this header requires Py_BUILD_CORE define" +#endif + +/* Forward declaration */ +struct _is; + +/* Write the Python traceback into the file 'fd'. For example: + + Traceback (most recent call first): + File "xxx", line xxx in + File "xxx", line xxx in + ... + File "xxx", line xxx in + + This function is written for debug purpose only, to dump the traceback in + the worst case: after a segmentation fault, at fatal error, etc. That's why, + it is very limited. Strings are truncated to 100 characters and encoded to + ASCII with backslashreplace. It doesn't write the source code, only the + function name, filename and line number of each frame. Write only the first + 100 frames: if the traceback is truncated, write the line " ...". + + This function is signal safe. */ + +PyAPI_FUNC(void) _Py_DumpTraceback( + int fd, + PyThreadState *tstate); + +/* Write the traceback of all threads into the file 'fd'. current_thread can be + NULL. + + Return NULL on success, or an error message on error. + + This function is written for debug purpose only. It calls + _Py_DumpTraceback() for each thread, and so has the same limitations. It + only write the traceback of the first 100 threads: write "..." if there are + more threads. + + If current_tstate is NULL, the function tries to get the Python thread state + of the current thread. It is not an error if the function is unable to get + the current Python thread state. + + If interp is NULL, the function tries to get the interpreter state from + the current Python thread state, or from + _PyGILState_GetInterpreterStateUnsafe() in last resort. + + It is better to pass NULL to interp and current_tstate, the function tries + different options to retrieve this information. + + This function is signal safe. */ + +PyAPI_FUNC(const char*) _Py_DumpTracebackThreads( + int fd, + struct _is *interp, + PyThreadState *current_tstate); + +/* Write a Unicode object into the file descriptor fd. Encode the string to + ASCII using the backslashreplace error handler. + + Do nothing if text is not a Unicode object. The function accepts Unicode + string which is not ready (PyUnicode_WCHAR_KIND). + + This function is signal safe. */ +PyAPI_FUNC(void) _Py_DumpASCII(int fd, PyObject *text); + +/* Format an integer as decimal into the file descriptor fd. + + This function is signal safe. */ +PyAPI_FUNC(void) _Py_DumpDecimal( + int fd, + size_t value); + +/* Format an integer as hexadecimal with width digits into fd file descriptor. + The function is signal safe. */ +PyAPI_FUNC(void) _Py_DumpHexadecimal( + int fd, + uintptr_t value, + Py_ssize_t width); + +PyAPI_FUNC(PyObject*) _PyTraceBack_FromFrame( + PyObject *tb_next, + PyFrameObject *frame); + +#ifdef __cplusplus +} +#endif +#endif /* !Py_INTERNAL_TRACEBACK_H */ diff --git a/_Pre_Builds/_Python310_cpp/include/internal/pycore_tuple.h b/_Pre_Builds/_Python310_cpp/include/internal/pycore_tuple.h new file mode 100644 index 0000000..5353e18 --- /dev/null +++ b/_Pre_Builds/_Python310_cpp/include/internal/pycore_tuple.h @@ -0,0 +1,20 @@ +#ifndef Py_INTERNAL_TUPLE_H +#define Py_INTERNAL_TUPLE_H +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef Py_BUILD_CORE +# error "this header requires Py_BUILD_CORE define" +#endif + +#include "tupleobject.h" /* _PyTuple_CAST() */ + +#define _PyTuple_ITEMS(op) (_PyTuple_CAST(op)->ob_item) + +PyAPI_FUNC(PyObject *) _PyTuple_FromArray(PyObject *const *, Py_ssize_t); + +#ifdef __cplusplus +} +#endif +#endif /* !Py_INTERNAL_TUPLE_H */ diff --git a/_Python311_cpp/include/internal/pycore_ucnhash.h b/_Pre_Builds/_Python310_cpp/include/internal/pycore_ucnhash.h similarity index 100% rename from _Python311_cpp/include/internal/pycore_ucnhash.h rename to _Pre_Builds/_Python310_cpp/include/internal/pycore_ucnhash.h diff --git a/_Pre_Builds/_Python310_cpp/include/internal/pycore_unionobject.h b/_Pre_Builds/_Python310_cpp/include/internal/pycore_unionobject.h new file mode 100644 index 0000000..9962f57 --- /dev/null +++ b/_Pre_Builds/_Python310_cpp/include/internal/pycore_unionobject.h @@ -0,0 +1,22 @@ +#ifndef Py_INTERNAL_UNIONOBJECT_H +#define Py_INTERNAL_UNIONOBJECT_H +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef Py_BUILD_CORE +# error "this header requires Py_BUILD_CORE define" +#endif + +extern PyTypeObject _PyUnion_Type; +#define _PyUnion_Check(op) Py_IS_TYPE(op, &_PyUnion_Type) +extern PyObject *_Py_union_type_or(PyObject *, PyObject *); + +#define _PyGenericAlias_Check(op) PyObject_TypeCheck(op, &Py_GenericAliasType) +extern PyObject *_Py_subs_parameters(PyObject *, PyObject *, PyObject *, PyObject *); +extern PyObject *_Py_make_parameters(PyObject *); + +#ifdef __cplusplus +} +#endif +#endif /* !Py_INTERNAL_UNIONOBJECT_H */ diff --git a/_Pre_Builds/_Python310_cpp/include/internal/pycore_warnings.h b/_Pre_Builds/_Python310_cpp/include/internal/pycore_warnings.h new file mode 100644 index 0000000..f728ec3 --- /dev/null +++ b/_Pre_Builds/_Python310_cpp/include/internal/pycore_warnings.h @@ -0,0 +1,25 @@ +#ifndef Py_INTERNAL_WARNINGS_H +#define Py_INTERNAL_WARNINGS_H +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef Py_BUILD_CORE +# error "this header requires Py_BUILD_CORE define" +#endif + +struct _warnings_runtime_state { + /* Both 'filters' and 'onceregistry' can be set in warnings.py; + get_warnings_attr() will reset these variables accordingly. */ + PyObject *filters; /* List */ + PyObject *once_registry; /* Dict */ + PyObject *default_action; /* String */ + long filters_version; +}; + +extern int _PyWarnings_InitState(PyInterpreterState *interp); + +#ifdef __cplusplus +} +#endif +#endif /* !Py_INTERNAL_WARNINGS_H */ diff --git a/_Pre_Builds/_Python310_cpp/include/interpreteridobject.h b/_Pre_Builds/_Python310_cpp/include/interpreteridobject.h new file mode 100644 index 0000000..e744fcd --- /dev/null +++ b/_Pre_Builds/_Python310_cpp/include/interpreteridobject.h @@ -0,0 +1,17 @@ +#ifndef Py_INTERPRETERIDOBJECT_H +#define Py_INTERPRETERIDOBJECT_H + +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef Py_LIMITED_API +# define Py_CPYTHON_INTERPRETERIDOBJECT_H +# include "cpython/interpreteridobject.h" +# undef Py_CPYTHON_INTERPRETERIDOBJECT_H +#endif + +#ifdef __cplusplus +} +#endif +#endif /* !Py_INTERPRETERIDOBJECT_H */ diff --git a/_Python311_cpp/include/intrcheck.h b/_Pre_Builds/_Python310_cpp/include/intrcheck.h similarity index 100% rename from _Python311_cpp/include/intrcheck.h rename to _Pre_Builds/_Python310_cpp/include/intrcheck.h diff --git a/_Python311_cpp/include/iterobject.h b/_Pre_Builds/_Python310_cpp/include/iterobject.h similarity index 100% rename from _Python311_cpp/include/iterobject.h rename to _Pre_Builds/_Python310_cpp/include/iterobject.h diff --git a/_Pre_Builds/_Python310_cpp/include/listobject.h b/_Pre_Builds/_Python310_cpp/include/listobject.h new file mode 100644 index 0000000..2a8a255 --- /dev/null +++ b/_Pre_Builds/_Python310_cpp/include/listobject.h @@ -0,0 +1,52 @@ +/* List object interface + + Another generally useful object type is a list of object pointers. + This is a mutable type: the list items can be changed, and items can be + added or removed. Out-of-range indices or non-list objects are ignored. + + WARNING: PyList_SetItem does not increment the new item's reference count, + but does decrement the reference count of the item it replaces, if not nil. + It does *decrement* the reference count if it is *not* inserted in the list. + Similarly, PyList_GetItem does not increment the returned item's reference + count. +*/ + +#ifndef Py_LISTOBJECT_H +#define Py_LISTOBJECT_H +#ifdef __cplusplus +extern "C" { +#endif + +PyAPI_DATA(PyTypeObject) PyList_Type; +PyAPI_DATA(PyTypeObject) PyListIter_Type; +PyAPI_DATA(PyTypeObject) PyListRevIter_Type; + +#define PyList_Check(op) \ + PyType_FastSubclass(Py_TYPE(op), Py_TPFLAGS_LIST_SUBCLASS) +#define PyList_CheckExact(op) Py_IS_TYPE(op, &PyList_Type) + +PyAPI_FUNC(PyObject *) PyList_New(Py_ssize_t size); +PyAPI_FUNC(Py_ssize_t) PyList_Size(PyObject *); + +PyAPI_FUNC(PyObject *) PyList_GetItem(PyObject *, Py_ssize_t); +PyAPI_FUNC(int) PyList_SetItem(PyObject *, Py_ssize_t, PyObject *); +PyAPI_FUNC(int) PyList_Insert(PyObject *, Py_ssize_t, PyObject *); +PyAPI_FUNC(int) PyList_Append(PyObject *, PyObject *); + +PyAPI_FUNC(PyObject *) PyList_GetSlice(PyObject *, Py_ssize_t, Py_ssize_t); +PyAPI_FUNC(int) PyList_SetSlice(PyObject *, Py_ssize_t, Py_ssize_t, PyObject *); + +PyAPI_FUNC(int) PyList_Sort(PyObject *); +PyAPI_FUNC(int) PyList_Reverse(PyObject *); +PyAPI_FUNC(PyObject *) PyList_AsTuple(PyObject *); + +#ifndef Py_LIMITED_API +# define Py_CPYTHON_LISTOBJECT_H +# include "cpython/listobject.h" +# undef Py_CPYTHON_LISTOBJECT_H +#endif + +#ifdef __cplusplus +} +#endif +#endif /* !Py_LISTOBJECT_H */ diff --git a/_Pre_Builds/_Python310_cpp/include/longintrepr.h b/_Pre_Builds/_Python310_cpp/include/longintrepr.h new file mode 100644 index 0000000..ff4155f --- /dev/null +++ b/_Pre_Builds/_Python310_cpp/include/longintrepr.h @@ -0,0 +1,99 @@ +#ifndef Py_LIMITED_API +#ifndef Py_LONGINTREPR_H +#define Py_LONGINTREPR_H +#ifdef __cplusplus +extern "C" { +#endif + + +/* This is published for the benefit of "friends" marshal.c and _decimal.c. */ + +/* Parameters of the integer representation. There are two different + sets of parameters: one set for 30-bit digits, stored in an unsigned 32-bit + integer type, and one set for 15-bit digits with each digit stored in an + unsigned short. The value of PYLONG_BITS_IN_DIGIT, defined either at + configure time or in pyport.h, is used to decide which digit size to use. + + Type 'digit' should be able to hold 2*PyLong_BASE-1, and type 'twodigits' + should be an unsigned integer type able to hold all integers up to + PyLong_BASE*PyLong_BASE-1. x_sub assumes that 'digit' is an unsigned type, + and that overflow is handled by taking the result modulo 2**N for some N > + PyLong_SHIFT. The majority of the code doesn't care about the precise + value of PyLong_SHIFT, but there are some notable exceptions: + + - long_pow() requires that PyLong_SHIFT be divisible by 5 + + - PyLong_{As,From}ByteArray require that PyLong_SHIFT be at least 8 + + - long_hash() requires that PyLong_SHIFT is *strictly* less than the number + of bits in an unsigned long, as do the PyLong <-> long (or unsigned long) + conversion functions + + - the Python int <-> size_t/Py_ssize_t conversion functions expect that + PyLong_SHIFT is strictly less than the number of bits in a size_t + + - the marshal code currently expects that PyLong_SHIFT is a multiple of 15 + + - NSMALLNEGINTS and NSMALLPOSINTS should be small enough to fit in a single + digit; with the current values this forces PyLong_SHIFT >= 9 + + The values 15 and 30 should fit all of the above requirements, on any + platform. +*/ + +#if PYLONG_BITS_IN_DIGIT == 30 +typedef uint32_t digit; +typedef int32_t sdigit; /* signed variant of digit */ +typedef uint64_t twodigits; +typedef int64_t stwodigits; /* signed variant of twodigits */ +#define PyLong_SHIFT 30 +#define _PyLong_DECIMAL_SHIFT 9 /* max(e such that 10**e fits in a digit) */ +#define _PyLong_DECIMAL_BASE ((digit)1000000000) /* 10 ** DECIMAL_SHIFT */ +#elif PYLONG_BITS_IN_DIGIT == 15 +typedef unsigned short digit; +typedef short sdigit; /* signed variant of digit */ +typedef unsigned long twodigits; +typedef long stwodigits; /* signed variant of twodigits */ +#define PyLong_SHIFT 15 +#define _PyLong_DECIMAL_SHIFT 4 /* max(e such that 10**e fits in a digit) */ +#define _PyLong_DECIMAL_BASE ((digit)10000) /* 10 ** DECIMAL_SHIFT */ +#else +#error "PYLONG_BITS_IN_DIGIT should be 15 or 30" +#endif +#define PyLong_BASE ((digit)1 << PyLong_SHIFT) +#define PyLong_MASK ((digit)(PyLong_BASE - 1)) + +#if PyLong_SHIFT % 5 != 0 +#error "longobject.c requires that PyLong_SHIFT be divisible by 5" +#endif + +/* Long integer representation. + The absolute value of a number is equal to + SUM(for i=0 through abs(ob_size)-1) ob_digit[i] * 2**(SHIFT*i) + Negative numbers are represented with ob_size < 0; + zero is represented by ob_size == 0. + In a normalized number, ob_digit[abs(ob_size)-1] (the most significant + digit) is never zero. Also, in all cases, for all valid i, + 0 <= ob_digit[i] <= MASK. + The allocation function takes care of allocating extra memory + so that ob_digit[0] ... ob_digit[abs(ob_size)-1] are actually available. + + CAUTION: Generic code manipulating subtypes of PyVarObject has to + aware that ints abuse ob_size's sign bit. +*/ + +struct _longobject { + PyObject_VAR_HEAD + digit ob_digit[1]; +}; + +PyAPI_FUNC(PyLongObject *) _PyLong_New(Py_ssize_t); + +/* Return a copy of src. */ +PyAPI_FUNC(PyObject *) _PyLong_Copy(PyLongObject *src); + +#ifdef __cplusplus +} +#endif +#endif /* !Py_LONGINTREPR_H */ +#endif /* Py_LIMITED_API */ diff --git a/_Pre_Builds/_Python310_cpp/include/longobject.h b/_Pre_Builds/_Python310_cpp/include/longobject.h new file mode 100644 index 0000000..e2301d7 --- /dev/null +++ b/_Pre_Builds/_Python310_cpp/include/longobject.h @@ -0,0 +1,220 @@ +#ifndef Py_LONGOBJECT_H +#define Py_LONGOBJECT_H +#ifdef __cplusplus +extern "C" { +#endif + + +/* Long (arbitrary precision) integer object interface */ + +typedef struct _longobject PyLongObject; /* Revealed in longintrepr.h */ + +PyAPI_DATA(PyTypeObject) PyLong_Type; + +#define PyLong_Check(op) \ + PyType_FastSubclass(Py_TYPE(op), Py_TPFLAGS_LONG_SUBCLASS) +#define PyLong_CheckExact(op) Py_IS_TYPE(op, &PyLong_Type) + +PyAPI_FUNC(PyObject *) PyLong_FromLong(long); +PyAPI_FUNC(PyObject *) PyLong_FromUnsignedLong(unsigned long); +PyAPI_FUNC(PyObject *) PyLong_FromSize_t(size_t); +PyAPI_FUNC(PyObject *) PyLong_FromSsize_t(Py_ssize_t); +PyAPI_FUNC(PyObject *) PyLong_FromDouble(double); +PyAPI_FUNC(long) PyLong_AsLong(PyObject *); +PyAPI_FUNC(long) PyLong_AsLongAndOverflow(PyObject *, int *); +PyAPI_FUNC(Py_ssize_t) PyLong_AsSsize_t(PyObject *); +PyAPI_FUNC(size_t) PyLong_AsSize_t(PyObject *); +PyAPI_FUNC(unsigned long) PyLong_AsUnsignedLong(PyObject *); +PyAPI_FUNC(unsigned long) PyLong_AsUnsignedLongMask(PyObject *); +#ifndef Py_LIMITED_API +PyAPI_FUNC(int) _PyLong_AsInt(PyObject *); +#endif +PyAPI_FUNC(PyObject *) PyLong_GetInfo(void); + +/* It may be useful in the future. I've added it in the PyInt -> PyLong + cleanup to keep the extra information. [CH] */ +#define PyLong_AS_LONG(op) PyLong_AsLong(op) + +/* Issue #1983: pid_t can be longer than a C long on some systems */ +#if !defined(SIZEOF_PID_T) || SIZEOF_PID_T == SIZEOF_INT +#define _Py_PARSE_PID "i" +#define PyLong_FromPid PyLong_FromLong +#define PyLong_AsPid PyLong_AsLong +#elif SIZEOF_PID_T == SIZEOF_LONG +#define _Py_PARSE_PID "l" +#define PyLong_FromPid PyLong_FromLong +#define PyLong_AsPid PyLong_AsLong +#elif defined(SIZEOF_LONG_LONG) && SIZEOF_PID_T == SIZEOF_LONG_LONG +#define _Py_PARSE_PID "L" +#define PyLong_FromPid PyLong_FromLongLong +#define PyLong_AsPid PyLong_AsLongLong +#else +#error "sizeof(pid_t) is neither sizeof(int), sizeof(long) or sizeof(long long)" +#endif /* SIZEOF_PID_T */ + +#if SIZEOF_VOID_P == SIZEOF_INT +# define _Py_PARSE_INTPTR "i" +# define _Py_PARSE_UINTPTR "I" +#elif SIZEOF_VOID_P == SIZEOF_LONG +# define _Py_PARSE_INTPTR "l" +# define _Py_PARSE_UINTPTR "k" +#elif defined(SIZEOF_LONG_LONG) && SIZEOF_VOID_P == SIZEOF_LONG_LONG +# define _Py_PARSE_INTPTR "L" +# define _Py_PARSE_UINTPTR "K" +#else +# error "void* different in size from int, long and long long" +#endif /* SIZEOF_VOID_P */ + +#ifndef Py_LIMITED_API +PyAPI_FUNC(int) _PyLong_UnsignedShort_Converter(PyObject *, void *); +PyAPI_FUNC(int) _PyLong_UnsignedInt_Converter(PyObject *, void *); +PyAPI_FUNC(int) _PyLong_UnsignedLong_Converter(PyObject *, void *); +PyAPI_FUNC(int) _PyLong_UnsignedLongLong_Converter(PyObject *, void *); +PyAPI_FUNC(int) _PyLong_Size_t_Converter(PyObject *, void *); +#endif + +/* Used by Python/mystrtoul.c, _PyBytes_FromHex(), + _PyBytes_DecodeEscape(), etc. */ +#ifndef Py_LIMITED_API +PyAPI_DATA(unsigned char) _PyLong_DigitValue[256]; +#endif + +/* _PyLong_Frexp returns a double x and an exponent e such that the + true value is approximately equal to x * 2**e. e is >= 0. x is + 0.0 if and only if the input is 0 (in which case, e and x are both + zeroes); otherwise, 0.5 <= abs(x) < 1.0. On overflow, which is + possible if the number of bits doesn't fit into a Py_ssize_t, sets + OverflowError and returns -1.0 for x, 0 for e. */ +#ifndef Py_LIMITED_API +PyAPI_FUNC(double) _PyLong_Frexp(PyLongObject *a, Py_ssize_t *e); +#endif + +PyAPI_FUNC(double) PyLong_AsDouble(PyObject *); +PyAPI_FUNC(PyObject *) PyLong_FromVoidPtr(void *); +PyAPI_FUNC(void *) PyLong_AsVoidPtr(PyObject *); + +PyAPI_FUNC(PyObject *) PyLong_FromLongLong(long long); +PyAPI_FUNC(PyObject *) PyLong_FromUnsignedLongLong(unsigned long long); +PyAPI_FUNC(long long) PyLong_AsLongLong(PyObject *); +PyAPI_FUNC(unsigned long long) PyLong_AsUnsignedLongLong(PyObject *); +PyAPI_FUNC(unsigned long long) PyLong_AsUnsignedLongLongMask(PyObject *); +PyAPI_FUNC(long long) PyLong_AsLongLongAndOverflow(PyObject *, int *); + +PyAPI_FUNC(PyObject *) PyLong_FromString(const char *, char **, int); +#ifndef Py_LIMITED_API +PyAPI_FUNC(PyObject *) PyLong_FromUnicodeObject(PyObject *u, int base); +PyAPI_FUNC(PyObject *) _PyLong_FromBytes(const char *, Py_ssize_t, int); +#endif + +#ifndef Py_LIMITED_API +/* _PyLong_Sign. Return 0 if v is 0, -1 if v < 0, +1 if v > 0. + v must not be NULL, and must be a normalized long. + There are no error cases. +*/ +PyAPI_FUNC(int) _PyLong_Sign(PyObject *v); + + +/* _PyLong_NumBits. Return the number of bits needed to represent the + absolute value of a long. For example, this returns 1 for 1 and -1, 2 + for 2 and -2, and 2 for 3 and -3. It returns 0 for 0. + v must not be NULL, and must be a normalized long. + (size_t)-1 is returned and OverflowError set if the true result doesn't + fit in a size_t. +*/ +PyAPI_FUNC(size_t) _PyLong_NumBits(PyObject *v); + +/* _PyLong_DivmodNear. Given integers a and b, compute the nearest + integer q to the exact quotient a / b, rounding to the nearest even integer + in the case of a tie. Return (q, r), where r = a - q*b. The remainder r + will satisfy abs(r) <= abs(b)/2, with equality possible only if q is + even. +*/ +PyAPI_FUNC(PyObject *) _PyLong_DivmodNear(PyObject *, PyObject *); + +/* _PyLong_FromByteArray: View the n unsigned bytes as a binary integer in + base 256, and return a Python int with the same numeric value. + If n is 0, the integer is 0. Else: + If little_endian is 1/true, bytes[n-1] is the MSB and bytes[0] the LSB; + else (little_endian is 0/false) bytes[0] is the MSB and bytes[n-1] the + LSB. + If is_signed is 0/false, view the bytes as a non-negative integer. + If is_signed is 1/true, view the bytes as a 2's-complement integer, + non-negative if bit 0x80 of the MSB is clear, negative if set. + Error returns: + + Return NULL with the appropriate exception set if there's not + enough memory to create the Python int. +*/ +PyAPI_FUNC(PyObject *) _PyLong_FromByteArray( + const unsigned char* bytes, size_t n, + int little_endian, int is_signed); + +/* _PyLong_AsByteArray: Convert the least-significant 8*n bits of long + v to a base-256 integer, stored in array bytes. Normally return 0, + return -1 on error. + If little_endian is 1/true, store the MSB at bytes[n-1] and the LSB at + bytes[0]; else (little_endian is 0/false) store the MSB at bytes[0] and + the LSB at bytes[n-1]. + If is_signed is 0/false, it's an error if v < 0; else (v >= 0) n bytes + are filled and there's nothing special about bit 0x80 of the MSB. + If is_signed is 1/true, bytes is filled with the 2's-complement + representation of v's value. Bit 0x80 of the MSB is the sign bit. + Error returns (-1): + + is_signed is 0 and v < 0. TypeError is set in this case, and bytes + isn't altered. + + n isn't big enough to hold the full mathematical value of v. For + example, if is_signed is 0 and there are more digits in the v than + fit in n; or if is_signed is 1, v < 0, and n is just 1 bit shy of + being large enough to hold a sign bit. OverflowError is set in this + case, but bytes holds the least-significant n bytes of the true value. +*/ +PyAPI_FUNC(int) _PyLong_AsByteArray(PyLongObject* v, + unsigned char* bytes, size_t n, + int little_endian, int is_signed); + +/* _PyLong_Format: Convert the long to a string object with given base, + appending a base prefix of 0[box] if base is 2, 8 or 16. */ +PyAPI_FUNC(PyObject *) _PyLong_Format(PyObject *obj, int base); + +PyAPI_FUNC(int) _PyLong_FormatWriter( + _PyUnicodeWriter *writer, + PyObject *obj, + int base, + int alternate); + +PyAPI_FUNC(char*) _PyLong_FormatBytesWriter( + _PyBytesWriter *writer, + char *str, + PyObject *obj, + int base, + int alternate); + +/* Format the object based on the format_spec, as defined in PEP 3101 + (Advanced String Formatting). */ +PyAPI_FUNC(int) _PyLong_FormatAdvancedWriter( + _PyUnicodeWriter *writer, + PyObject *obj, + PyObject *format_spec, + Py_ssize_t start, + Py_ssize_t end); +#endif /* Py_LIMITED_API */ + +/* These aren't really part of the int object, but they're handy. The + functions are in Python/mystrtoul.c. + */ +PyAPI_FUNC(unsigned long) PyOS_strtoul(const char *, char **, int); +PyAPI_FUNC(long) PyOS_strtol(const char *, char **, int); + +#ifndef Py_LIMITED_API +/* For use by the gcd function in mathmodule.c */ +PyAPI_FUNC(PyObject *) _PyLong_GCD(PyObject *, PyObject *); +#endif /* !Py_LIMITED_API */ + +#ifndef Py_LIMITED_API +PyAPI_FUNC(PyObject *) _PyLong_Rshift(PyObject *, size_t); +PyAPI_FUNC(PyObject *) _PyLong_Lshift(PyObject *, size_t); +#endif + +#ifdef __cplusplus +} +#endif +#endif /* !Py_LONGOBJECT_H */ diff --git a/_Pre_Builds/_Python310_cpp/include/marshal.h b/_Pre_Builds/_Python310_cpp/include/marshal.h new file mode 100644 index 0000000..09d9337 --- /dev/null +++ b/_Pre_Builds/_Python310_cpp/include/marshal.h @@ -0,0 +1,28 @@ + +/* Interface for marshal.c */ + +#ifndef Py_MARSHAL_H +#define Py_MARSHAL_H +#ifdef __cplusplus +extern "C" { +#endif + +#define Py_MARSHAL_VERSION 4 + +PyAPI_FUNC(void) PyMarshal_WriteLongToFile(long, FILE *, int); +PyAPI_FUNC(void) PyMarshal_WriteObjectToFile(PyObject *, FILE *, int); +PyAPI_FUNC(PyObject *) PyMarshal_WriteObjectToString(PyObject *, int); + +#ifndef Py_LIMITED_API +PyAPI_FUNC(long) PyMarshal_ReadLongFromFile(FILE *); +PyAPI_FUNC(int) PyMarshal_ReadShortFromFile(FILE *); +PyAPI_FUNC(PyObject *) PyMarshal_ReadObjectFromFile(FILE *); +PyAPI_FUNC(PyObject *) PyMarshal_ReadLastObjectFromFile(FILE *); +#endif +PyAPI_FUNC(PyObject *) PyMarshal_ReadObjectFromString(const char *, + Py_ssize_t); + +#ifdef __cplusplus +} +#endif +#endif /* !Py_MARSHAL_H */ diff --git a/_Pre_Builds/_Python310_cpp/include/memoryobject.h b/_Pre_Builds/_Python310_cpp/include/memoryobject.h new file mode 100644 index 0000000..306028f --- /dev/null +++ b/_Pre_Builds/_Python310_cpp/include/memoryobject.h @@ -0,0 +1,72 @@ +/* Memory view object. In Python this is available as "memoryview". */ + +#ifndef Py_MEMORYOBJECT_H +#define Py_MEMORYOBJECT_H +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef Py_LIMITED_API +PyAPI_DATA(PyTypeObject) _PyManagedBuffer_Type; +#endif +PyAPI_DATA(PyTypeObject) PyMemoryView_Type; + +#define PyMemoryView_Check(op) Py_IS_TYPE(op, &PyMemoryView_Type) + +#ifndef Py_LIMITED_API +/* Get a pointer to the memoryview's private copy of the exporter's buffer. */ +#define PyMemoryView_GET_BUFFER(op) (&((PyMemoryViewObject *)(op))->view) +/* Get a pointer to the exporting object (this may be NULL!). */ +#define PyMemoryView_GET_BASE(op) (((PyMemoryViewObject *)(op))->view.obj) +#endif + +PyAPI_FUNC(PyObject *) PyMemoryView_FromObject(PyObject *base); +#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x03030000 +PyAPI_FUNC(PyObject *) PyMemoryView_FromMemory(char *mem, Py_ssize_t size, + int flags); +#endif +#ifndef Py_LIMITED_API +PyAPI_FUNC(PyObject *) PyMemoryView_FromBuffer(Py_buffer *info); +#endif +PyAPI_FUNC(PyObject *) PyMemoryView_GetContiguous(PyObject *base, + int buffertype, + char order); + + +/* The structs are declared here so that macros can work, but they shouldn't + be considered public. Don't access their fields directly, use the macros + and functions instead! */ +#ifndef Py_LIMITED_API +#define _Py_MANAGED_BUFFER_RELEASED 0x001 /* access to exporter blocked */ +#define _Py_MANAGED_BUFFER_FREE_FORMAT 0x002 /* free format */ +typedef struct { + PyObject_HEAD + int flags; /* state flags */ + Py_ssize_t exports; /* number of direct memoryview exports */ + Py_buffer master; /* snapshot buffer obtained from the original exporter */ +} _PyManagedBufferObject; + + +/* memoryview state flags */ +#define _Py_MEMORYVIEW_RELEASED 0x001 /* access to master buffer blocked */ +#define _Py_MEMORYVIEW_C 0x002 /* C-contiguous layout */ +#define _Py_MEMORYVIEW_FORTRAN 0x004 /* Fortran contiguous layout */ +#define _Py_MEMORYVIEW_SCALAR 0x008 /* scalar: ndim = 0 */ +#define _Py_MEMORYVIEW_PIL 0x010 /* PIL-style layout */ + +typedef struct { + PyObject_VAR_HEAD + _PyManagedBufferObject *mbuf; /* managed buffer */ + Py_hash_t hash; /* hash value for read-only views */ + int flags; /* state flags */ + Py_ssize_t exports; /* number of buffer re-exports */ + Py_buffer view; /* private copy of the exporter's view */ + PyObject *weakreflist; + Py_ssize_t ob_array[1]; /* shape, strides, suboffsets */ +} PyMemoryViewObject; +#endif + +#ifdef __cplusplus +} +#endif +#endif /* !Py_MEMORYOBJECT_H */ diff --git a/_Pre_Builds/_Python310_cpp/include/methodobject.h b/_Pre_Builds/_Python310_cpp/include/methodobject.h new file mode 100644 index 0000000..9ffe8e1 --- /dev/null +++ b/_Pre_Builds/_Python310_cpp/include/methodobject.h @@ -0,0 +1,116 @@ + +/* Method object interface */ + +#ifndef Py_METHODOBJECT_H +#define Py_METHODOBJECT_H +#ifdef __cplusplus +extern "C" { +#endif + +/* This is about the type 'builtin_function_or_method', + not Python methods in user-defined classes. See classobject.h + for the latter. */ + +PyAPI_DATA(PyTypeObject) PyCFunction_Type; + +#define PyCFunction_CheckExact(op) Py_IS_TYPE(op, &PyCFunction_Type) +#define PyCFunction_Check(op) PyObject_TypeCheck(op, &PyCFunction_Type) + +typedef PyObject *(*PyCFunction)(PyObject *, PyObject *); +typedef PyObject *(*_PyCFunctionFast) (PyObject *, PyObject *const *, Py_ssize_t); +typedef PyObject *(*PyCFunctionWithKeywords)(PyObject *, PyObject *, + PyObject *); +typedef PyObject *(*_PyCFunctionFastWithKeywords) (PyObject *, + PyObject *const *, Py_ssize_t, + PyObject *); +typedef PyObject *(*PyCMethod)(PyObject *, PyTypeObject *, PyObject *const *, + size_t, PyObject *); + +PyAPI_FUNC(PyCFunction) PyCFunction_GetFunction(PyObject *); +PyAPI_FUNC(PyObject *) PyCFunction_GetSelf(PyObject *); +PyAPI_FUNC(int) PyCFunction_GetFlags(PyObject *); + +Py_DEPRECATED(3.9) PyAPI_FUNC(PyObject *) PyCFunction_Call(PyObject *, PyObject *, PyObject *); + +struct PyMethodDef { + const char *ml_name; /* The name of the built-in function/method */ + PyCFunction ml_meth; /* The C function that implements it */ + int ml_flags; /* Combination of METH_xxx flags, which mostly + describe the args expected by the C func */ + const char *ml_doc; /* The __doc__ attribute, or NULL */ +}; +typedef struct PyMethodDef PyMethodDef; + +/* PyCFunction_New is declared as a function for stable ABI (declaration is + * needed for e.g. GCC with -fvisibility=hidden), but redefined as a macro + * that calls PyCFunction_NewEx. */ +PyAPI_FUNC(PyObject *) PyCFunction_New(PyMethodDef *, PyObject *); +#define PyCFunction_New(ML, SELF) PyCFunction_NewEx((ML), (SELF), NULL) + +/* PyCFunction_NewEx is similar: on 3.9+, this calls PyCMethod_New. */ +PyAPI_FUNC(PyObject *) PyCFunction_NewEx(PyMethodDef *, PyObject *, + PyObject *); + +#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x03090000 +#define PyCFunction_NewEx(ML, SELF, MOD) PyCMethod_New((ML), (SELF), (MOD), NULL) +PyAPI_FUNC(PyObject *) PyCMethod_New(PyMethodDef *, PyObject *, + PyObject *, PyTypeObject *); +#endif + + +/* Flag passed to newmethodobject */ +/* #define METH_OLDARGS 0x0000 -- unsupported now */ +#define METH_VARARGS 0x0001 +#define METH_KEYWORDS 0x0002 +/* METH_NOARGS and METH_O must not be combined with the flags above. */ +#define METH_NOARGS 0x0004 +#define METH_O 0x0008 + +/* METH_CLASS and METH_STATIC are a little different; these control + the construction of methods for a class. These cannot be used for + functions in modules. */ +#define METH_CLASS 0x0010 +#define METH_STATIC 0x0020 + +/* METH_COEXIST allows a method to be entered even though a slot has + already filled the entry. When defined, the flag allows a separate + method, "__contains__" for example, to coexist with a defined + slot like sq_contains. */ + +#define METH_COEXIST 0x0040 + +#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x030a0000 +# define METH_FASTCALL 0x0080 +#endif + +/* This bit is preserved for Stackless Python */ +#ifdef STACKLESS +# define METH_STACKLESS 0x0100 +#else +# define METH_STACKLESS 0x0000 +#endif + +/* METH_METHOD means the function stores an + * additional reference to the class that defines it; + * both self and class are passed to it. + * It uses PyCMethodObject instead of PyCFunctionObject. + * May not be combined with METH_NOARGS, METH_O, METH_CLASS or METH_STATIC. + */ + +#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x03090000 +#define METH_METHOD 0x0200 +#endif + + +#ifndef Py_LIMITED_API + +#define Py_CPYTHON_METHODOBJECT_H +#include "cpython/methodobject.h" +#undef Py_CPYTHON_METHODOBJECT_H + +#endif + +#ifdef __cplusplus +} +#endif +#endif /* !Py_METHODOBJECT_H */ diff --git a/_Pre_Builds/_Python310_cpp/include/modsupport.h b/_Pre_Builds/_Python310_cpp/include/modsupport.h new file mode 100644 index 0000000..f009d58 --- /dev/null +++ b/_Pre_Builds/_Python310_cpp/include/modsupport.h @@ -0,0 +1,263 @@ + +#ifndef Py_MODSUPPORT_H +#define Py_MODSUPPORT_H +#ifdef __cplusplus +extern "C" { +#endif + +/* Module support interface */ + +#include + +/* If PY_SSIZE_T_CLEAN is defined, each functions treats #-specifier + to mean Py_ssize_t */ +#ifdef PY_SSIZE_T_CLEAN +#define PyArg_Parse _PyArg_Parse_SizeT +#define PyArg_ParseTuple _PyArg_ParseTuple_SizeT +#define PyArg_ParseTupleAndKeywords _PyArg_ParseTupleAndKeywords_SizeT +#define PyArg_VaParse _PyArg_VaParse_SizeT +#define PyArg_VaParseTupleAndKeywords _PyArg_VaParseTupleAndKeywords_SizeT +#define Py_BuildValue _Py_BuildValue_SizeT +#define Py_VaBuildValue _Py_VaBuildValue_SizeT +#ifndef Py_LIMITED_API +#define _Py_VaBuildStack _Py_VaBuildStack_SizeT +#endif +#else +#ifndef Py_LIMITED_API +PyAPI_FUNC(PyObject *) _Py_VaBuildValue_SizeT(const char *, va_list); +PyAPI_FUNC(PyObject **) _Py_VaBuildStack_SizeT( + PyObject **small_stack, + Py_ssize_t small_stack_len, + const char *format, + va_list va, + Py_ssize_t *p_nargs); +#endif /* !Py_LIMITED_API */ +#endif + +/* Due to a glitch in 3.2, the _SizeT versions weren't exported from the DLL. */ +#if !defined(PY_SSIZE_T_CLEAN) || !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x03030000 +PyAPI_FUNC(int) PyArg_Parse(PyObject *, const char *, ...); +PyAPI_FUNC(int) PyArg_ParseTuple(PyObject *, const char *, ...); +PyAPI_FUNC(int) PyArg_ParseTupleAndKeywords(PyObject *, PyObject *, + const char *, char **, ...); +PyAPI_FUNC(int) PyArg_VaParse(PyObject *, const char *, va_list); +PyAPI_FUNC(int) PyArg_VaParseTupleAndKeywords(PyObject *, PyObject *, + const char *, char **, va_list); +#endif +PyAPI_FUNC(int) PyArg_ValidateKeywordArguments(PyObject *); +PyAPI_FUNC(int) PyArg_UnpackTuple(PyObject *, const char *, Py_ssize_t, Py_ssize_t, ...); +PyAPI_FUNC(PyObject *) Py_BuildValue(const char *, ...); +PyAPI_FUNC(PyObject *) _Py_BuildValue_SizeT(const char *, ...); + + +#ifndef Py_LIMITED_API +PyAPI_FUNC(int) _PyArg_UnpackStack( + PyObject *const *args, + Py_ssize_t nargs, + const char *name, + Py_ssize_t min, + Py_ssize_t max, + ...); + +PyAPI_FUNC(int) _PyArg_NoKeywords(const char *funcname, PyObject *kwargs); +PyAPI_FUNC(int) _PyArg_NoKwnames(const char *funcname, PyObject *kwnames); +PyAPI_FUNC(int) _PyArg_NoPositional(const char *funcname, PyObject *args); +#define _PyArg_NoKeywords(funcname, kwargs) \ + ((kwargs) == NULL || _PyArg_NoKeywords((funcname), (kwargs))) +#define _PyArg_NoKwnames(funcname, kwnames) \ + ((kwnames) == NULL || _PyArg_NoKwnames((funcname), (kwnames))) +#define _PyArg_NoPositional(funcname, args) \ + ((args) == NULL || _PyArg_NoPositional((funcname), (args))) + +PyAPI_FUNC(void) _PyArg_BadArgument(const char *, const char *, const char *, PyObject *); +PyAPI_FUNC(int) _PyArg_CheckPositional(const char *, Py_ssize_t, + Py_ssize_t, Py_ssize_t); +#define _PyArg_CheckPositional(funcname, nargs, min, max) \ + (((min) <= (nargs) && (nargs) <= (max)) \ + || _PyArg_CheckPositional((funcname), (nargs), (min), (max))) + +#endif + +PyAPI_FUNC(PyObject *) Py_VaBuildValue(const char *, va_list); +#ifndef Py_LIMITED_API +PyAPI_FUNC(PyObject **) _Py_VaBuildStack( + PyObject **small_stack, + Py_ssize_t small_stack_len, + const char *format, + va_list va, + Py_ssize_t *p_nargs); +#endif + +#ifndef Py_LIMITED_API +typedef struct _PyArg_Parser { + const char *format; + const char * const *keywords; + const char *fname; + const char *custom_msg; + int pos; /* number of positional-only arguments */ + int min; /* minimal number of arguments */ + int max; /* maximal number of positional arguments */ + PyObject *kwtuple; /* tuple of keyword parameter names */ + struct _PyArg_Parser *next; +} _PyArg_Parser; +#ifdef PY_SSIZE_T_CLEAN +#define _PyArg_ParseTupleAndKeywordsFast _PyArg_ParseTupleAndKeywordsFast_SizeT +#define _PyArg_ParseStack _PyArg_ParseStack_SizeT +#define _PyArg_ParseStackAndKeywords _PyArg_ParseStackAndKeywords_SizeT +#define _PyArg_VaParseTupleAndKeywordsFast _PyArg_VaParseTupleAndKeywordsFast_SizeT +#endif +PyAPI_FUNC(int) _PyArg_ParseTupleAndKeywordsFast(PyObject *, PyObject *, + struct _PyArg_Parser *, ...); +PyAPI_FUNC(int) _PyArg_ParseStack( + PyObject *const *args, + Py_ssize_t nargs, + const char *format, + ...); +PyAPI_FUNC(int) _PyArg_ParseStackAndKeywords( + PyObject *const *args, + Py_ssize_t nargs, + PyObject *kwnames, + struct _PyArg_Parser *, + ...); +PyAPI_FUNC(int) _PyArg_VaParseTupleAndKeywordsFast(PyObject *, PyObject *, + struct _PyArg_Parser *, va_list); +PyAPI_FUNC(PyObject * const *) _PyArg_UnpackKeywords( + PyObject *const *args, Py_ssize_t nargs, + PyObject *kwargs, PyObject *kwnames, + struct _PyArg_Parser *parser, + int minpos, int maxpos, int minkw, + PyObject **buf); +#define _PyArg_UnpackKeywords(args, nargs, kwargs, kwnames, parser, minpos, maxpos, minkw, buf) \ + (((minkw) == 0 && (kwargs) == NULL && (kwnames) == NULL && \ + (minpos) <= (nargs) && (nargs) <= (maxpos) && args != NULL) ? (args) : \ + _PyArg_UnpackKeywords((args), (nargs), (kwargs), (kwnames), (parser), \ + (minpos), (maxpos), (minkw), (buf))) + +void _PyArg_Fini(void); +#endif /* Py_LIMITED_API */ + +// Add an attribute with name 'name' and value 'obj' to the module 'mod. +// On success, return 0 on success. +// On error, raise an exception and return -1. +PyAPI_FUNC(int) PyModule_AddObjectRef(PyObject *mod, const char *name, PyObject *value); + +// Similar to PyModule_AddObjectRef() but steal a reference to 'obj' +// (Py_DECREF(obj)) on success (if it returns 0). +PyAPI_FUNC(int) PyModule_AddObject(PyObject *mod, const char *, PyObject *value); + +PyAPI_FUNC(int) PyModule_AddIntConstant(PyObject *, const char *, long); +PyAPI_FUNC(int) PyModule_AddStringConstant(PyObject *, const char *, const char *); +#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x03090000 +/* New in 3.9 */ +PyAPI_FUNC(int) PyModule_AddType(PyObject *module, PyTypeObject *type); +#endif /* Py_LIMITED_API */ +#define PyModule_AddIntMacro(m, c) PyModule_AddIntConstant(m, #c, c) +#define PyModule_AddStringMacro(m, c) PyModule_AddStringConstant(m, #c, c) + +#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x03050000 +/* New in 3.5 */ +PyAPI_FUNC(int) PyModule_SetDocString(PyObject *, const char *); +PyAPI_FUNC(int) PyModule_AddFunctions(PyObject *, PyMethodDef *); +PyAPI_FUNC(int) PyModule_ExecDef(PyObject *module, PyModuleDef *def); +#endif + +#define Py_CLEANUP_SUPPORTED 0x20000 + +#define PYTHON_API_VERSION 1013 +#define PYTHON_API_STRING "1013" +/* The API version is maintained (independently from the Python version) + so we can detect mismatches between the interpreter and dynamically + loaded modules. These are diagnosed by an error message but + the module is still loaded (because the mismatch can only be tested + after loading the module). The error message is intended to + explain the core dump a few seconds later. + + The symbol PYTHON_API_STRING defines the same value as a string + literal. *** PLEASE MAKE SURE THE DEFINITIONS MATCH. *** + + Please add a line or two to the top of this log for each API + version change: + + 22-Feb-2006 MvL 1013 PEP 353 - long indices for sequence lengths + + 19-Aug-2002 GvR 1012 Changes to string object struct for + interning changes, saving 3 bytes. + + 17-Jul-2001 GvR 1011 Descr-branch, just to be on the safe side + + 25-Jan-2001 FLD 1010 Parameters added to PyCode_New() and + PyFrame_New(); Python 2.1a2 + + 14-Mar-2000 GvR 1009 Unicode API added + + 3-Jan-1999 GvR 1007 Decided to change back! (Don't reuse 1008!) + + 3-Dec-1998 GvR 1008 Python 1.5.2b1 + + 18-Jan-1997 GvR 1007 string interning and other speedups + + 11-Oct-1996 GvR renamed Py_Ellipses to Py_Ellipsis :-( + + 30-Jul-1996 GvR Slice and ellipses syntax added + + 23-Jul-1996 GvR For 1.4 -- better safe than sorry this time :-) + + 7-Nov-1995 GvR Keyword arguments (should've been done at 1.3 :-( ) + + 10-Jan-1995 GvR Renamed globals to new naming scheme + + 9-Jan-1995 GvR Initial version (incompatible with older API) +*/ + +/* The PYTHON_ABI_VERSION is introduced in PEP 384. For the lifetime of + Python 3, it will stay at the value of 3; changes to the limited API + must be performed in a strictly backwards-compatible manner. */ +#define PYTHON_ABI_VERSION 3 +#define PYTHON_ABI_STRING "3" + +#ifdef Py_TRACE_REFS + /* When we are tracing reference counts, rename module creation functions so + modules compiled with incompatible settings will generate a + link-time error. */ + #define PyModule_Create2 PyModule_Create2TraceRefs + #define PyModule_FromDefAndSpec2 PyModule_FromDefAndSpec2TraceRefs +#endif + +PyAPI_FUNC(PyObject *) PyModule_Create2(struct PyModuleDef*, + int apiver); +#ifndef Py_LIMITED_API +PyAPI_FUNC(PyObject *) _PyModule_CreateInitialized(struct PyModuleDef*, + int apiver); +#endif + +#ifdef Py_LIMITED_API +#define PyModule_Create(module) \ + PyModule_Create2(module, PYTHON_ABI_VERSION) +#else +#define PyModule_Create(module) \ + PyModule_Create2(module, PYTHON_API_VERSION) +#endif + +#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x03050000 +/* New in 3.5 */ +PyAPI_FUNC(PyObject *) PyModule_FromDefAndSpec2(PyModuleDef *def, + PyObject *spec, + int module_api_version); + +#ifdef Py_LIMITED_API +#define PyModule_FromDefAndSpec(module, spec) \ + PyModule_FromDefAndSpec2(module, spec, PYTHON_ABI_VERSION) +#else +#define PyModule_FromDefAndSpec(module, spec) \ + PyModule_FromDefAndSpec2(module, spec, PYTHON_API_VERSION) +#endif /* Py_LIMITED_API */ +#endif /* New in 3.5 */ + +#ifndef Py_LIMITED_API +PyAPI_DATA(const char *) _Py_PackageContext; +#endif + +#ifdef __cplusplus +} +#endif +#endif /* !Py_MODSUPPORT_H */ diff --git a/_Pre_Builds/_Python310_cpp/include/moduleobject.h b/_Pre_Builds/_Python310_cpp/include/moduleobject.h new file mode 100644 index 0000000..49b116c --- /dev/null +++ b/_Pre_Builds/_Python310_cpp/include/moduleobject.h @@ -0,0 +1,96 @@ + +/* Module object interface */ + +#ifndef Py_MODULEOBJECT_H +#define Py_MODULEOBJECT_H +#ifdef __cplusplus +extern "C" { +#endif + +PyAPI_DATA(PyTypeObject) PyModule_Type; + +#define PyModule_Check(op) PyObject_TypeCheck(op, &PyModule_Type) +#define PyModule_CheckExact(op) Py_IS_TYPE(op, &PyModule_Type) + +#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x03030000 +PyAPI_FUNC(PyObject *) PyModule_NewObject( + PyObject *name + ); +#endif +PyAPI_FUNC(PyObject *) PyModule_New( + const char *name /* UTF-8 encoded string */ + ); +PyAPI_FUNC(PyObject *) PyModule_GetDict(PyObject *); +#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x03030000 +PyAPI_FUNC(PyObject *) PyModule_GetNameObject(PyObject *); +#endif +PyAPI_FUNC(const char *) PyModule_GetName(PyObject *); +Py_DEPRECATED(3.2) PyAPI_FUNC(const char *) PyModule_GetFilename(PyObject *); +PyAPI_FUNC(PyObject *) PyModule_GetFilenameObject(PyObject *); +#ifndef Py_LIMITED_API +PyAPI_FUNC(void) _PyModule_Clear(PyObject *); +PyAPI_FUNC(void) _PyModule_ClearDict(PyObject *); +PyAPI_FUNC(int) _PyModuleSpec_IsInitializing(PyObject *); +#endif +PyAPI_FUNC(struct PyModuleDef*) PyModule_GetDef(PyObject*); +PyAPI_FUNC(void*) PyModule_GetState(PyObject*); + +#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x03050000 +/* New in 3.5 */ +PyAPI_FUNC(PyObject *) PyModuleDef_Init(struct PyModuleDef*); +PyAPI_DATA(PyTypeObject) PyModuleDef_Type; +#endif + +typedef struct PyModuleDef_Base { + PyObject_HEAD + PyObject* (*m_init)(void); + Py_ssize_t m_index; + PyObject* m_copy; +} PyModuleDef_Base; + +#define PyModuleDef_HEAD_INIT { \ + PyObject_HEAD_INIT(NULL) \ + NULL, /* m_init */ \ + 0, /* m_index */ \ + NULL, /* m_copy */ \ + } + +struct PyModuleDef_Slot; +#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x03050000 +/* New in 3.5 */ +typedef struct PyModuleDef_Slot{ + int slot; + void *value; +} PyModuleDef_Slot; + +#define Py_mod_create 1 +#define Py_mod_exec 2 + +#ifndef Py_LIMITED_API +#define _Py_mod_LAST_SLOT 2 +#endif + +#endif /* New in 3.5 */ + +typedef struct PyModuleDef{ + PyModuleDef_Base m_base; + const char* m_name; + const char* m_doc; + Py_ssize_t m_size; + PyMethodDef *m_methods; + struct PyModuleDef_Slot* m_slots; + traverseproc m_traverse; + inquiry m_clear; + freefunc m_free; +} PyModuleDef; + + +// Internal C API +#ifdef Py_BUILD_CORE +extern int _PyModule_IsExtension(PyObject *obj); +#endif + +#ifdef __cplusplus +} +#endif +#endif /* !Py_MODULEOBJECT_H */ diff --git a/_Pre_Builds/_Python310_cpp/include/namespaceobject.h b/_Pre_Builds/_Python310_cpp/include/namespaceobject.h new file mode 100644 index 0000000..0c8d95c --- /dev/null +++ b/_Pre_Builds/_Python310_cpp/include/namespaceobject.h @@ -0,0 +1,19 @@ + +/* simple namespace object interface */ + +#ifndef NAMESPACEOBJECT_H +#define NAMESPACEOBJECT_H +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef Py_LIMITED_API +PyAPI_DATA(PyTypeObject) _PyNamespace_Type; + +PyAPI_FUNC(PyObject *) _PyNamespace_New(PyObject *kwds); +#endif /* !Py_LIMITED_API */ + +#ifdef __cplusplus +} +#endif +#endif /* !NAMESPACEOBJECT_H */ diff --git a/_Pre_Builds/_Python310_cpp/include/object.h b/_Pre_Builds/_Python310_cpp/include/object.h new file mode 100644 index 0000000..61e638c --- /dev/null +++ b/_Pre_Builds/_Python310_cpp/include/object.h @@ -0,0 +1,749 @@ +#ifndef Py_OBJECT_H +#define Py_OBJECT_H + +#ifdef __cplusplus +extern "C" { +#endif + + +/* Object and type object interface */ + +/* +Objects are structures allocated on the heap. Special rules apply to +the use of objects to ensure they are properly garbage-collected. +Objects are never allocated statically or on the stack; they must be +accessed through special macros and functions only. (Type objects are +exceptions to the first rule; the standard types are represented by +statically initialized type objects, although work on type/class unification +for Python 2.2 made it possible to have heap-allocated type objects too). + +An object has a 'reference count' that is increased or decreased when a +pointer to the object is copied or deleted; when the reference count +reaches zero there are no references to the object left and it can be +removed from the heap. + +An object has a 'type' that determines what it represents and what kind +of data it contains. An object's type is fixed when it is created. +Types themselves are represented as objects; an object contains a +pointer to the corresponding type object. The type itself has a type +pointer pointing to the object representing the type 'type', which +contains a pointer to itself!. + +Objects do not float around in memory; once allocated an object keeps +the same size and address. Objects that must hold variable-size data +can contain pointers to variable-size parts of the object. Not all +objects of the same type have the same size; but the size cannot change +after allocation. (These restrictions are made so a reference to an +object can be simply a pointer -- moving an object would require +updating all the pointers, and changing an object's size would require +moving it if there was another object right next to it.) + +Objects are always accessed through pointers of the type 'PyObject *'. +The type 'PyObject' is a structure that only contains the reference count +and the type pointer. The actual memory allocated for an object +contains other data that can only be accessed after casting the pointer +to a pointer to a longer structure type. This longer type must start +with the reference count and type fields; the macro PyObject_HEAD should be +used for this (to accommodate for future changes). The implementation +of a particular object type can cast the object pointer to the proper +type and back. + +A standard interface exists for objects that contain an array of items +whose size is determined when the object is allocated. +*/ + +/* Py_DEBUG implies Py_REF_DEBUG. */ +#if defined(Py_DEBUG) && !defined(Py_REF_DEBUG) +# define Py_REF_DEBUG +#endif + +#if defined(Py_LIMITED_API) && defined(Py_TRACE_REFS) +# error Py_LIMITED_API is incompatible with Py_TRACE_REFS +#endif + +/* PyTypeObject structure is defined in cpython/object.h. + In Py_LIMITED_API, PyTypeObject is an opaque structure. */ +typedef struct _typeobject PyTypeObject; + +#ifdef Py_TRACE_REFS +/* Define pointers to support a doubly-linked list of all live heap objects. */ +#define _PyObject_HEAD_EXTRA \ + struct _object *_ob_next; \ + struct _object *_ob_prev; + +#define _PyObject_EXTRA_INIT 0, 0, + +#else +# define _PyObject_HEAD_EXTRA +# define _PyObject_EXTRA_INIT +#endif + +/* PyObject_HEAD defines the initial segment of every PyObject. */ +#define PyObject_HEAD PyObject ob_base; + +#define PyObject_HEAD_INIT(type) \ + { _PyObject_EXTRA_INIT \ + 1, type }, + +#define PyVarObject_HEAD_INIT(type, size) \ + { PyObject_HEAD_INIT(type) size }, + +/* PyObject_VAR_HEAD defines the initial segment of all variable-size + * container objects. These end with a declaration of an array with 1 + * element, but enough space is malloc'ed so that the array actually + * has room for ob_size elements. Note that ob_size is an element count, + * not necessarily a byte count. + */ +#define PyObject_VAR_HEAD PyVarObject ob_base; +#define Py_INVALID_SIZE (Py_ssize_t)-1 + +/* Nothing is actually declared to be a PyObject, but every pointer to + * a Python object can be cast to a PyObject*. This is inheritance built + * by hand. Similarly every pointer to a variable-size Python object can, + * in addition, be cast to PyVarObject*. + */ +typedef struct _object { + _PyObject_HEAD_EXTRA + Py_ssize_t ob_refcnt; + PyTypeObject *ob_type; +} PyObject; + +/* Cast argument to PyObject* type. */ +#define _PyObject_CAST(op) ((PyObject*)(op)) +#define _PyObject_CAST_CONST(op) ((const PyObject*)(op)) + +typedef struct { + PyObject ob_base; + Py_ssize_t ob_size; /* Number of items in variable part */ +} PyVarObject; + +/* Cast argument to PyVarObject* type. */ +#define _PyVarObject_CAST(op) ((PyVarObject*)(op)) +#define _PyVarObject_CAST_CONST(op) ((const PyVarObject*)(op)) + + +// Test if the 'x' object is the 'y' object, the same as "x is y" in Python. +PyAPI_FUNC(int) Py_Is(PyObject *x, PyObject *y); +#define Py_Is(x, y) ((x) == (y)) + + +static inline Py_ssize_t _Py_REFCNT(const PyObject *ob) { + return ob->ob_refcnt; +} +#define Py_REFCNT(ob) _Py_REFCNT(_PyObject_CAST_CONST(ob)) + + +// bpo-39573: The Py_SET_TYPE() function must be used to set an object type. +#define Py_TYPE(ob) (_PyObject_CAST(ob)->ob_type) + +// bpo-39573: The Py_SET_SIZE() function must be used to set an object size. +#define Py_SIZE(ob) (_PyVarObject_CAST(ob)->ob_size) + + +static inline int _Py_IS_TYPE(const PyObject *ob, const PyTypeObject *type) { + // bpo-44378: Don't use Py_TYPE() since Py_TYPE() requires a non-const + // object. + return ob->ob_type == type; +} +#define Py_IS_TYPE(ob, type) _Py_IS_TYPE(_PyObject_CAST_CONST(ob), type) + + +static inline void _Py_SET_REFCNT(PyObject *ob, Py_ssize_t refcnt) { + ob->ob_refcnt = refcnt; +} +#define Py_SET_REFCNT(ob, refcnt) _Py_SET_REFCNT(_PyObject_CAST(ob), refcnt) + + +static inline void _Py_SET_TYPE(PyObject *ob, PyTypeObject *type) { + ob->ob_type = type; +} +#define Py_SET_TYPE(ob, type) _Py_SET_TYPE(_PyObject_CAST(ob), type) + + +static inline void _Py_SET_SIZE(PyVarObject *ob, Py_ssize_t size) { + ob->ob_size = size; +} +#define Py_SET_SIZE(ob, size) _Py_SET_SIZE(_PyVarObject_CAST(ob), size) + + +/* +Type objects contain a string containing the type name (to help somewhat +in debugging), the allocation parameters (see PyObject_New() and +PyObject_NewVar()), +and methods for accessing objects of the type. Methods are optional, a +nil pointer meaning that particular kind of access is not available for +this type. The Py_DECREF() macro uses the tp_dealloc method without +checking for a nil pointer; it should always be implemented except if +the implementation can guarantee that the reference count will never +reach zero (e.g., for statically allocated type objects). + +NB: the methods for certain type groups are now contained in separate +method blocks. +*/ + +typedef PyObject * (*unaryfunc)(PyObject *); +typedef PyObject * (*binaryfunc)(PyObject *, PyObject *); +typedef PyObject * (*ternaryfunc)(PyObject *, PyObject *, PyObject *); +typedef int (*inquiry)(PyObject *); +typedef Py_ssize_t (*lenfunc)(PyObject *); +typedef PyObject *(*ssizeargfunc)(PyObject *, Py_ssize_t); +typedef PyObject *(*ssizessizeargfunc)(PyObject *, Py_ssize_t, Py_ssize_t); +typedef int(*ssizeobjargproc)(PyObject *, Py_ssize_t, PyObject *); +typedef int(*ssizessizeobjargproc)(PyObject *, Py_ssize_t, Py_ssize_t, PyObject *); +typedef int(*objobjargproc)(PyObject *, PyObject *, PyObject *); + +typedef int (*objobjproc)(PyObject *, PyObject *); +typedef int (*visitproc)(PyObject *, void *); +typedef int (*traverseproc)(PyObject *, visitproc, void *); + + +typedef void (*freefunc)(void *); +typedef void (*destructor)(PyObject *); +typedef PyObject *(*getattrfunc)(PyObject *, char *); +typedef PyObject *(*getattrofunc)(PyObject *, PyObject *); +typedef int (*setattrfunc)(PyObject *, char *, PyObject *); +typedef int (*setattrofunc)(PyObject *, PyObject *, PyObject *); +typedef PyObject *(*reprfunc)(PyObject *); +typedef Py_hash_t (*hashfunc)(PyObject *); +typedef PyObject *(*richcmpfunc) (PyObject *, PyObject *, int); +typedef PyObject *(*getiterfunc) (PyObject *); +typedef PyObject *(*iternextfunc) (PyObject *); +typedef PyObject *(*descrgetfunc) (PyObject *, PyObject *, PyObject *); +typedef int (*descrsetfunc) (PyObject *, PyObject *, PyObject *); +typedef int (*initproc)(PyObject *, PyObject *, PyObject *); +typedef PyObject *(*newfunc)(PyTypeObject *, PyObject *, PyObject *); +typedef PyObject *(*allocfunc)(PyTypeObject *, Py_ssize_t); + +typedef struct{ + int slot; /* slot id, see below */ + void *pfunc; /* function pointer */ +} PyType_Slot; + +typedef struct{ + const char* name; + int basicsize; + int itemsize; + unsigned int flags; + PyType_Slot *slots; /* terminated by slot==0. */ +} PyType_Spec; + +PyAPI_FUNC(PyObject*) PyType_FromSpec(PyType_Spec*); +#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x03030000 +PyAPI_FUNC(PyObject*) PyType_FromSpecWithBases(PyType_Spec*, PyObject*); +#endif +#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x03040000 +PyAPI_FUNC(void*) PyType_GetSlot(PyTypeObject*, int); +#endif +#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x03090000 +PyAPI_FUNC(PyObject*) PyType_FromModuleAndSpec(PyObject *, PyType_Spec *, PyObject *); +PyAPI_FUNC(PyObject *) PyType_GetModule(struct _typeobject *); +PyAPI_FUNC(void *) PyType_GetModuleState(struct _typeobject *); +#endif + +/* Generic type check */ +PyAPI_FUNC(int) PyType_IsSubtype(PyTypeObject *, PyTypeObject *); + +static inline int _PyObject_TypeCheck(PyObject *ob, PyTypeObject *type) { + return Py_IS_TYPE(ob, type) || PyType_IsSubtype(Py_TYPE(ob), type); +} +#define PyObject_TypeCheck(ob, type) _PyObject_TypeCheck(_PyObject_CAST(ob), type) + +PyAPI_DATA(PyTypeObject) PyType_Type; /* built-in 'type' */ +PyAPI_DATA(PyTypeObject) PyBaseObject_Type; /* built-in 'object' */ +PyAPI_DATA(PyTypeObject) PySuper_Type; /* built-in 'super' */ + +PyAPI_FUNC(unsigned long) PyType_GetFlags(PyTypeObject*); + +PyAPI_FUNC(int) PyType_Ready(PyTypeObject *); +PyAPI_FUNC(PyObject *) PyType_GenericAlloc(PyTypeObject *, Py_ssize_t); +PyAPI_FUNC(PyObject *) PyType_GenericNew(PyTypeObject *, + PyObject *, PyObject *); +PyAPI_FUNC(unsigned int) PyType_ClearCache(void); +PyAPI_FUNC(void) PyType_Modified(PyTypeObject *); + +/* Generic operations on objects */ +PyAPI_FUNC(PyObject *) PyObject_Repr(PyObject *); +PyAPI_FUNC(PyObject *) PyObject_Str(PyObject *); +PyAPI_FUNC(PyObject *) PyObject_ASCII(PyObject *); +PyAPI_FUNC(PyObject *) PyObject_Bytes(PyObject *); +PyAPI_FUNC(PyObject *) PyObject_RichCompare(PyObject *, PyObject *, int); +PyAPI_FUNC(int) PyObject_RichCompareBool(PyObject *, PyObject *, int); +PyAPI_FUNC(PyObject *) PyObject_GetAttrString(PyObject *, const char *); +PyAPI_FUNC(int) PyObject_SetAttrString(PyObject *, const char *, PyObject *); +PyAPI_FUNC(int) PyObject_HasAttrString(PyObject *, const char *); +PyAPI_FUNC(PyObject *) PyObject_GetAttr(PyObject *, PyObject *); +PyAPI_FUNC(int) PyObject_SetAttr(PyObject *, PyObject *, PyObject *); +PyAPI_FUNC(int) PyObject_HasAttr(PyObject *, PyObject *); +PyAPI_FUNC(PyObject *) PyObject_SelfIter(PyObject *); +PyAPI_FUNC(PyObject *) PyObject_GenericGetAttr(PyObject *, PyObject *); +PyAPI_FUNC(int) PyObject_GenericSetAttr(PyObject *, PyObject *, PyObject *); +#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x03030000 +PyAPI_FUNC(int) PyObject_GenericSetDict(PyObject *, PyObject *, void *); +#endif +PyAPI_FUNC(Py_hash_t) PyObject_Hash(PyObject *); +PyAPI_FUNC(Py_hash_t) PyObject_HashNotImplemented(PyObject *); +PyAPI_FUNC(int) PyObject_IsTrue(PyObject *); +PyAPI_FUNC(int) PyObject_Not(PyObject *); +PyAPI_FUNC(int) PyCallable_Check(PyObject *); +PyAPI_FUNC(void) PyObject_ClearWeakRefs(PyObject *); + +/* PyObject_Dir(obj) acts like Python builtins.dir(obj), returning a + list of strings. PyObject_Dir(NULL) is like builtins.dir(), + returning the names of the current locals. In this case, if there are + no current locals, NULL is returned, and PyErr_Occurred() is false. +*/ +PyAPI_FUNC(PyObject *) PyObject_Dir(PyObject *); + + +/* Helpers for printing recursive container types */ +PyAPI_FUNC(int) Py_ReprEnter(PyObject *); +PyAPI_FUNC(void) Py_ReprLeave(PyObject *); + +/* Flag bits for printing: */ +#define Py_PRINT_RAW 1 /* No string quotes etc. */ + +/* +Type flags (tp_flags) + +These flags are used to change expected features and behavior for a +particular type. + +Arbitration of the flag bit positions will need to be coordinated among +all extension writers who publicly release their extensions (this will +be fewer than you might expect!). + +Most flags were removed as of Python 3.0 to make room for new flags. (Some +flags are not for backwards compatibility but to indicate the presence of an +optional feature; these flags remain of course.) + +Type definitions should use Py_TPFLAGS_DEFAULT for their tp_flags value. + +Code can use PyType_HasFeature(type_ob, flag_value) to test whether the +given type object has a specified feature. +*/ + +#ifndef Py_LIMITED_API +/* Set if instances of the type object are treated as sequences for pattern matching */ +#define Py_TPFLAGS_SEQUENCE (1 << 5) +/* Set if instances of the type object are treated as mappings for pattern matching */ +#define Py_TPFLAGS_MAPPING (1 << 6) +#endif + +/* Disallow creating instances of the type: set tp_new to NULL and don't create + * the "__new__" key in the type dictionary. */ +#define Py_TPFLAGS_DISALLOW_INSTANTIATION (1UL << 7) + +/* Set if the type object is immutable: type attributes cannot be set nor deleted */ +#define Py_TPFLAGS_IMMUTABLETYPE (1UL << 8) + +/* Set if the type object is dynamically allocated */ +#define Py_TPFLAGS_HEAPTYPE (1UL << 9) + +/* Set if the type allows subclassing */ +#define Py_TPFLAGS_BASETYPE (1UL << 10) + +/* Set if the type implements the vectorcall protocol (PEP 590) */ +#ifndef Py_LIMITED_API +#define Py_TPFLAGS_HAVE_VECTORCALL (1UL << 11) +// Backwards compatibility alias for API that was provisional in Python 3.8 +#define _Py_TPFLAGS_HAVE_VECTORCALL Py_TPFLAGS_HAVE_VECTORCALL +#endif + +/* Set if the type is 'ready' -- fully initialized */ +#define Py_TPFLAGS_READY (1UL << 12) + +/* Set while the type is being 'readied', to prevent recursive ready calls */ +#define Py_TPFLAGS_READYING (1UL << 13) + +/* Objects support garbage collection (see objimpl.h) */ +#define Py_TPFLAGS_HAVE_GC (1UL << 14) + +/* These two bits are preserved for Stackless Python, next after this is 17 */ +#ifdef STACKLESS +#define Py_TPFLAGS_HAVE_STACKLESS_EXTENSION (3UL << 15) +#else +#define Py_TPFLAGS_HAVE_STACKLESS_EXTENSION 0 +#endif + +/* Objects behave like an unbound method */ +#define Py_TPFLAGS_METHOD_DESCRIPTOR (1UL << 17) + +/* Object has up-to-date type attribute cache */ +#define Py_TPFLAGS_VALID_VERSION_TAG (1UL << 19) + +/* Type is abstract and cannot be instantiated */ +#define Py_TPFLAGS_IS_ABSTRACT (1UL << 20) + +// This undocumented flag gives certain built-ins their unique pattern-matching +// behavior, which allows a single positional subpattern to match against the +// subject itself (rather than a mapped attribute on it): +#define _Py_TPFLAGS_MATCH_SELF (1UL << 22) + +/* These flags are used to determine if a type is a subclass. */ +#define Py_TPFLAGS_LONG_SUBCLASS (1UL << 24) +#define Py_TPFLAGS_LIST_SUBCLASS (1UL << 25) +#define Py_TPFLAGS_TUPLE_SUBCLASS (1UL << 26) +#define Py_TPFLAGS_BYTES_SUBCLASS (1UL << 27) +#define Py_TPFLAGS_UNICODE_SUBCLASS (1UL << 28) +#define Py_TPFLAGS_DICT_SUBCLASS (1UL << 29) +#define Py_TPFLAGS_BASE_EXC_SUBCLASS (1UL << 30) +#define Py_TPFLAGS_TYPE_SUBCLASS (1UL << 31) + +#define Py_TPFLAGS_DEFAULT ( \ + Py_TPFLAGS_HAVE_STACKLESS_EXTENSION | \ + 0) + +/* NOTE: Some of the following flags reuse lower bits (removed as part of the + * Python 3.0 transition). */ + +/* The following flags are kept for compatibility; in previous + * versions they indicated presence of newer tp_* fields on the + * type struct. + * Starting with 3.8, binary compatibility of C extensions across + * feature releases of Python is not supported anymore (except when + * using the stable ABI, in which all classes are created dynamically, + * using the interpreter's memory layout.) + * Note that older extensions using the stable ABI set these flags, + * so the bits must not be repurposed. + */ +#define Py_TPFLAGS_HAVE_FINALIZE (1UL << 0) +#define Py_TPFLAGS_HAVE_VERSION_TAG (1UL << 18) + + +/* +The macros Py_INCREF(op) and Py_DECREF(op) are used to increment or decrement +reference counts. Py_DECREF calls the object's deallocator function when +the refcount falls to 0; for +objects that don't contain references to other objects or heap memory +this can be the standard function free(). Both macros can be used +wherever a void expression is allowed. The argument must not be a +NULL pointer. If it may be NULL, use Py_XINCREF/Py_XDECREF instead. +The macro _Py_NewReference(op) initialize reference counts to 1, and +in special builds (Py_REF_DEBUG, Py_TRACE_REFS) performs additional +bookkeeping appropriate to the special build. + +We assume that the reference count field can never overflow; this can +be proven when the size of the field is the same as the pointer size, so +we ignore the possibility. Provided a C int is at least 32 bits (which +is implicitly assumed in many parts of this code), that's enough for +about 2**31 references to an object. + +XXX The following became out of date in Python 2.2, but I'm not sure +XXX what the full truth is now. Certainly, heap-allocated type objects +XXX can and should be deallocated. +Type objects should never be deallocated; the type pointer in an object +is not considered to be a reference to the type object, to save +complications in the deallocation function. (This is actually a +decision that's up to the implementer of each new type so if you want, +you can count such references to the type object.) +*/ + +#ifdef Py_REF_DEBUG +PyAPI_DATA(Py_ssize_t) _Py_RefTotal; +PyAPI_FUNC(void) _Py_NegativeRefcount(const char *filename, int lineno, + PyObject *op); +#endif /* Py_REF_DEBUG */ + +PyAPI_FUNC(void) _Py_Dealloc(PyObject *); + +/* +These are provided as conveniences to Python runtime embedders, so that +they can have object code that is not dependent on Python compilation flags. +*/ +PyAPI_FUNC(void) Py_IncRef(PyObject *); +PyAPI_FUNC(void) Py_DecRef(PyObject *); + +// Similar to Py_IncRef() and Py_DecRef() but the argument must be non-NULL. +// Private functions used by Py_INCREF() and Py_DECREF(). +PyAPI_FUNC(void) _Py_IncRef(PyObject *); +PyAPI_FUNC(void) _Py_DecRef(PyObject *); + +static inline void _Py_INCREF(PyObject *op) +{ +#if defined(Py_REF_DEBUG) && defined(Py_LIMITED_API) && Py_LIMITED_API+0 >= 0x030A0000 + // Stable ABI for Python 3.10 built in debug mode. + _Py_IncRef(op); +#else + // Non-limited C API and limited C API for Python 3.9 and older access + // directly PyObject.ob_refcnt. +#ifdef Py_REF_DEBUG + _Py_RefTotal++; +#endif + op->ob_refcnt++; +#endif +} +#define Py_INCREF(op) _Py_INCREF(_PyObject_CAST(op)) + +static inline void _Py_DECREF( +#if defined(Py_REF_DEBUG) && !(defined(Py_LIMITED_API) && Py_LIMITED_API+0 >= 0x030A0000) + const char *filename, int lineno, +#endif + PyObject *op) +{ +#if defined(Py_REF_DEBUG) && defined(Py_LIMITED_API) && Py_LIMITED_API+0 >= 0x030A0000 + // Stable ABI for Python 3.10 built in debug mode. + _Py_DecRef(op); +#else + // Non-limited C API and limited C API for Python 3.9 and older access + // directly PyObject.ob_refcnt. +#ifdef Py_REF_DEBUG + _Py_RefTotal--; +#endif + if (--op->ob_refcnt != 0) { +#ifdef Py_REF_DEBUG + if (op->ob_refcnt < 0) { + _Py_NegativeRefcount(filename, lineno, op); + } +#endif + } + else { + _Py_Dealloc(op); + } +#endif +} +#if defined(Py_REF_DEBUG) && !(defined(Py_LIMITED_API) && Py_LIMITED_API+0 >= 0x030A0000) +# define Py_DECREF(op) _Py_DECREF(__FILE__, __LINE__, _PyObject_CAST(op)) +#else +# define Py_DECREF(op) _Py_DECREF(_PyObject_CAST(op)) +#endif + + +/* Safely decref `op` and set `op` to NULL, especially useful in tp_clear + * and tp_dealloc implementations. + * + * Note that "the obvious" code can be deadly: + * + * Py_XDECREF(op); + * op = NULL; + * + * Typically, `op` is something like self->containee, and `self` is done + * using its `containee` member. In the code sequence above, suppose + * `containee` is non-NULL with a refcount of 1. Its refcount falls to + * 0 on the first line, which can trigger an arbitrary amount of code, + * possibly including finalizers (like __del__ methods or weakref callbacks) + * coded in Python, which in turn can release the GIL and allow other threads + * to run, etc. Such code may even invoke methods of `self` again, or cause + * cyclic gc to trigger, but-- oops! --self->containee still points to the + * object being torn down, and it may be in an insane state while being torn + * down. This has in fact been a rich historic source of miserable (rare & + * hard-to-diagnose) segfaulting (and other) bugs. + * + * The safe way is: + * + * Py_CLEAR(op); + * + * That arranges to set `op` to NULL _before_ decref'ing, so that any code + * triggered as a side-effect of `op` getting torn down no longer believes + * `op` points to a valid object. + * + * There are cases where it's safe to use the naive code, but they're brittle. + * For example, if `op` points to a Python integer, you know that destroying + * one of those can't cause problems -- but in part that relies on that + * Python integers aren't currently weakly referencable. Best practice is + * to use Py_CLEAR() even if you can't think of a reason for why you need to. + */ +#define Py_CLEAR(op) \ + do { \ + PyObject *_py_tmp = _PyObject_CAST(op); \ + if (_py_tmp != NULL) { \ + (op) = NULL; \ + Py_DECREF(_py_tmp); \ + } \ + } while (0) + +/* Function to use in case the object pointer can be NULL: */ +static inline void _Py_XINCREF(PyObject *op) +{ + if (op != NULL) { + Py_INCREF(op); + } +} + +#define Py_XINCREF(op) _Py_XINCREF(_PyObject_CAST(op)) + +static inline void _Py_XDECREF(PyObject *op) +{ + if (op != NULL) { + Py_DECREF(op); + } +} + +#define Py_XDECREF(op) _Py_XDECREF(_PyObject_CAST(op)) + +// Create a new strong reference to an object: +// increment the reference count of the object and return the object. +PyAPI_FUNC(PyObject*) Py_NewRef(PyObject *obj); + +// Similar to Py_NewRef(), but the object can be NULL. +PyAPI_FUNC(PyObject*) Py_XNewRef(PyObject *obj); + +static inline PyObject* _Py_NewRef(PyObject *obj) +{ + Py_INCREF(obj); + return obj; +} + +static inline PyObject* _Py_XNewRef(PyObject *obj) +{ + Py_XINCREF(obj); + return obj; +} + +// Py_NewRef() and Py_XNewRef() are exported as functions for the stable ABI. +// Names overridden with macros by static inline functions for best +// performances. +#define Py_NewRef(obj) _Py_NewRef(_PyObject_CAST(obj)) +#define Py_XNewRef(obj) _Py_XNewRef(_PyObject_CAST(obj)) + + +/* +_Py_NoneStruct is an object of undefined type which can be used in contexts +where NULL (nil) is not suitable (since NULL often means 'error'). + +Don't forget to apply Py_INCREF() when returning this value!!! +*/ +PyAPI_DATA(PyObject) _Py_NoneStruct; /* Don't use this directly */ +#define Py_None (&_Py_NoneStruct) + +// Test if an object is the None singleton, the same as "x is None" in Python. +PyAPI_FUNC(int) Py_IsNone(PyObject *x); +#define Py_IsNone(x) Py_Is((x), Py_None) + +/* Macro for returning Py_None from a function */ +#define Py_RETURN_NONE return Py_NewRef(Py_None) + +/* +Py_NotImplemented is a singleton used to signal that an operation is +not implemented for a given type combination. +*/ +PyAPI_DATA(PyObject) _Py_NotImplementedStruct; /* Don't use this directly */ +#define Py_NotImplemented (&_Py_NotImplementedStruct) + +/* Macro for returning Py_NotImplemented from a function */ +#define Py_RETURN_NOTIMPLEMENTED return Py_NewRef(Py_NotImplemented) + +/* Rich comparison opcodes */ +#define Py_LT 0 +#define Py_LE 1 +#define Py_EQ 2 +#define Py_NE 3 +#define Py_GT 4 +#define Py_GE 5 + +#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x030A0000 +/* Result of calling PyIter_Send */ +typedef enum { + PYGEN_RETURN = 0, + PYGEN_ERROR = -1, + PYGEN_NEXT = 1, +} PySendResult; +#endif + +/* + * Macro for implementing rich comparisons + * + * Needs to be a macro because any C-comparable type can be used. + */ +#define Py_RETURN_RICHCOMPARE(val1, val2, op) \ + do { \ + switch (op) { \ + case Py_EQ: if ((val1) == (val2)) Py_RETURN_TRUE; Py_RETURN_FALSE; \ + case Py_NE: if ((val1) != (val2)) Py_RETURN_TRUE; Py_RETURN_FALSE; \ + case Py_LT: if ((val1) < (val2)) Py_RETURN_TRUE; Py_RETURN_FALSE; \ + case Py_GT: if ((val1) > (val2)) Py_RETURN_TRUE; Py_RETURN_FALSE; \ + case Py_LE: if ((val1) <= (val2)) Py_RETURN_TRUE; Py_RETURN_FALSE; \ + case Py_GE: if ((val1) >= (val2)) Py_RETURN_TRUE; Py_RETURN_FALSE; \ + default: \ + Py_UNREACHABLE(); \ + } \ + } while (0) + + +/* +More conventions +================ + +Argument Checking +----------------- + +Functions that take objects as arguments normally don't check for nil +arguments, but they do check the type of the argument, and return an +error if the function doesn't apply to the type. + +Failure Modes +------------- + +Functions may fail for a variety of reasons, including running out of +memory. This is communicated to the caller in two ways: an error string +is set (see errors.h), and the function result differs: functions that +normally return a pointer return NULL for failure, functions returning +an integer return -1 (which could be a legal return value too!), and +other functions return 0 for success and -1 for failure. +Callers should always check for errors before using the result. If +an error was set, the caller must either explicitly clear it, or pass +the error on to its caller. + +Reference Counts +---------------- + +It takes a while to get used to the proper usage of reference counts. + +Functions that create an object set the reference count to 1; such new +objects must be stored somewhere or destroyed again with Py_DECREF(). +Some functions that 'store' objects, such as PyTuple_SetItem() and +PyList_SetItem(), +don't increment the reference count of the object, since the most +frequent use is to store a fresh object. Functions that 'retrieve' +objects, such as PyTuple_GetItem() and PyDict_GetItemString(), also +don't increment +the reference count, since most frequently the object is only looked at +quickly. Thus, to retrieve an object and store it again, the caller +must call Py_INCREF() explicitly. + +NOTE: functions that 'consume' a reference count, like +PyList_SetItem(), consume the reference even if the object wasn't +successfully stored, to simplify error handling. + +It seems attractive to make other functions that take an object as +argument consume a reference count; however, this may quickly get +confusing (even the current practice is already confusing). Consider +it carefully, it may save lots of calls to Py_INCREF() and Py_DECREF() at +times. +*/ + +#ifndef Py_LIMITED_API +# define Py_CPYTHON_OBJECT_H +# include "cpython/object.h" +# undef Py_CPYTHON_OBJECT_H +#endif + + +static inline int +PyType_HasFeature(PyTypeObject *type, unsigned long feature) +{ + unsigned long flags; +#ifdef Py_LIMITED_API + // PyTypeObject is opaque in the limited C API + flags = PyType_GetFlags(type); +#else + flags = type->tp_flags; +#endif + return ((flags & feature) != 0); +} + +#define PyType_FastSubclass(type, flag) PyType_HasFeature(type, flag) + +static inline int _PyType_Check(PyObject *op) { + return PyType_FastSubclass(Py_TYPE(op), Py_TPFLAGS_TYPE_SUBCLASS); +} +#define PyType_Check(op) _PyType_Check(_PyObject_CAST(op)) + +static inline int _PyType_CheckExact(PyObject *op) { + return Py_IS_TYPE(op, &PyType_Type); +} +#define PyType_CheckExact(op) _PyType_CheckExact(_PyObject_CAST(op)) + +#ifdef __cplusplus +} +#endif +#endif /* !Py_OBJECT_H */ diff --git a/_Pre_Builds/_Python310_cpp/include/objimpl.h b/_Pre_Builds/_Python310_cpp/include/objimpl.h new file mode 100644 index 0000000..450befa --- /dev/null +++ b/_Pre_Builds/_Python310_cpp/include/objimpl.h @@ -0,0 +1,215 @@ +/* The PyObject_ memory family: high-level object memory interfaces. + See pymem.h for the low-level PyMem_ family. +*/ + +#ifndef Py_OBJIMPL_H +#define Py_OBJIMPL_H + +#include "pymem.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* BEWARE: + + Each interface exports both functions and macros. Extension modules should + use the functions, to ensure binary compatibility across Python versions. + Because the Python implementation is free to change internal details, and + the macros may (or may not) expose details for speed, if you do use the + macros you must recompile your extensions with each Python release. + + Never mix calls to PyObject_ memory functions with calls to the platform + malloc/realloc/ calloc/free, or with calls to PyMem_. +*/ + +/* +Functions and macros for modules that implement new object types. + + - PyObject_New(type, typeobj) allocates memory for a new object of the given + type, and initializes part of it. 'type' must be the C structure type used + to represent the object, and 'typeobj' the address of the corresponding + type object. Reference count and type pointer are filled in; the rest of + the bytes of the object are *undefined*! The resulting expression type is + 'type *'. The size of the object is determined by the tp_basicsize field + of the type object. + + - PyObject_NewVar(type, typeobj, n) is similar but allocates a variable-size + object with room for n items. In addition to the refcount and type pointer + fields, this also fills in the ob_size field. + + - PyObject_Free(op) releases the memory allocated for an object. It does not + run a destructor -- it only frees the memory. PyObject_Free is identical. + + - PyObject_Init(op, typeobj) and PyObject_InitVar(op, typeobj, n) don't + allocate memory. Instead of a 'type' parameter, they take a pointer to a + new object (allocated by an arbitrary allocator), and initialize its object + header fields. + +Note that objects created with PyObject_{New, NewVar} are allocated using the +specialized Python allocator (implemented in obmalloc.c), if WITH_PYMALLOC is +enabled. In addition, a special debugging allocator is used if Py_DEBUG +macro is also defined. + +In case a specific form of memory management is needed (for example, if you +must use the platform malloc heap(s), or shared memory, or C++ local storage or +operator new), you must first allocate the object with your custom allocator, +then pass its pointer to PyObject_{Init, InitVar} for filling in its Python- +specific fields: reference count, type pointer, possibly others. You should +be aware that Python has no control over these objects because they don't +cooperate with the Python memory manager. Such objects may not be eligible +for automatic garbage collection and you have to make sure that they are +released accordingly whenever their destructor gets called (cf. the specific +form of memory management you're using). + +Unless you have specific memory management requirements, use +PyObject_{New, NewVar, Del}. +*/ + +/* + * Raw object memory interface + * =========================== + */ + +/* Functions to call the same malloc/realloc/free as used by Python's + object allocator. If WITH_PYMALLOC is enabled, these may differ from + the platform malloc/realloc/free. The Python object allocator is + designed for fast, cache-conscious allocation of many "small" objects, + and with low hidden memory overhead. + + PyObject_Malloc(0) returns a unique non-NULL pointer if possible. + + PyObject_Realloc(NULL, n) acts like PyObject_Malloc(n). + PyObject_Realloc(p != NULL, 0) does not return NULL, or free the memory + at p. + + Returned pointers must be checked for NULL explicitly; no action is + performed on failure other than to return NULL (no warning it printed, no + exception is set, etc). + + For allocating objects, use PyObject_{New, NewVar} instead whenever + possible. The PyObject_{Malloc, Realloc, Free} family is exposed + so that you can exploit Python's small-block allocator for non-object + uses. If you must use these routines to allocate object memory, make sure + the object gets initialized via PyObject_{Init, InitVar} after obtaining + the raw memory. +*/ +PyAPI_FUNC(void *) PyObject_Malloc(size_t size); +#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x03050000 +PyAPI_FUNC(void *) PyObject_Calloc(size_t nelem, size_t elsize); +#endif +PyAPI_FUNC(void *) PyObject_Realloc(void *ptr, size_t new_size); +PyAPI_FUNC(void) PyObject_Free(void *ptr); + + +// Deprecated aliases only kept for backward compatibility. +// PyObject_Del and PyObject_DEL are defined with no parameter to be able to +// use them as function pointers (ex: tp_free = PyObject_Del). +#define PyObject_MALLOC PyObject_Malloc +#define PyObject_REALLOC PyObject_Realloc +#define PyObject_FREE PyObject_Free +#define PyObject_Del PyObject_Free +#define PyObject_DEL PyObject_Free + + +/* + * Generic object allocator interface + * ================================== + */ + +/* Functions */ +PyAPI_FUNC(PyObject *) PyObject_Init(PyObject *, PyTypeObject *); +PyAPI_FUNC(PyVarObject *) PyObject_InitVar(PyVarObject *, + PyTypeObject *, Py_ssize_t); + +#define PyObject_INIT(op, typeobj) \ + PyObject_Init(_PyObject_CAST(op), (typeobj)) +#define PyObject_INIT_VAR(op, typeobj, size) \ + PyObject_InitVar(_PyVarObject_CAST(op), (typeobj), (size)) + + +PyAPI_FUNC(PyObject *) _PyObject_New(PyTypeObject *); +PyAPI_FUNC(PyVarObject *) _PyObject_NewVar(PyTypeObject *, Py_ssize_t); + +#define PyObject_New(type, typeobj) ((type *)_PyObject_New(typeobj)) + +// Alias to PyObject_New(). In Python 3.8, PyObject_NEW() called directly +// PyObject_MALLOC() with _PyObject_SIZE(). +#define PyObject_NEW(type, typeobj) PyObject_New(type, typeobj) + +#define PyObject_NewVar(type, typeobj, n) \ + ( (type *) _PyObject_NewVar((typeobj), (n)) ) + +// Alias to PyObject_NewVar(). In Python 3.8, PyObject_NEW_VAR() called +// directly PyObject_MALLOC() with _PyObject_VAR_SIZE(). +#define PyObject_NEW_VAR(type, typeobj, n) PyObject_NewVar(type, typeobj, n) + + +/* + * Garbage Collection Support + * ========================== + */ + +/* C equivalent of gc.collect(). */ +PyAPI_FUNC(Py_ssize_t) PyGC_Collect(void); +/* C API for controlling the state of the garbage collector */ +PyAPI_FUNC(int) PyGC_Enable(void); +PyAPI_FUNC(int) PyGC_Disable(void); +PyAPI_FUNC(int) PyGC_IsEnabled(void); + +/* Test if a type has a GC head */ +#define PyType_IS_GC(t) PyType_HasFeature((t), Py_TPFLAGS_HAVE_GC) + +PyAPI_FUNC(PyVarObject *) _PyObject_GC_Resize(PyVarObject *, Py_ssize_t); +#define PyObject_GC_Resize(type, op, n) \ + ( (type *) _PyObject_GC_Resize(_PyVarObject_CAST(op), (n)) ) + + + +PyAPI_FUNC(PyObject *) _PyObject_GC_New(PyTypeObject *); +PyAPI_FUNC(PyVarObject *) _PyObject_GC_NewVar(PyTypeObject *, Py_ssize_t); + +/* Tell the GC to track this object. + * + * See also private _PyObject_GC_TRACK() macro. */ +PyAPI_FUNC(void) PyObject_GC_Track(void *); + +/* Tell the GC to stop tracking this object. + * + * See also private _PyObject_GC_UNTRACK() macro. */ +PyAPI_FUNC(void) PyObject_GC_UnTrack(void *); + +PyAPI_FUNC(void) PyObject_GC_Del(void *); + +#define PyObject_GC_New(type, typeobj) \ + ( (type *) _PyObject_GC_New(typeobj) ) +#define PyObject_GC_NewVar(type, typeobj, n) \ + ( (type *) _PyObject_GC_NewVar((typeobj), (n)) ) + +PyAPI_FUNC(int) PyObject_GC_IsTracked(PyObject *); +PyAPI_FUNC(int) PyObject_GC_IsFinalized(PyObject *); + +/* Utility macro to help write tp_traverse functions. + * To use this macro, the tp_traverse function must name its arguments + * "visit" and "arg". This is intended to keep tp_traverse functions + * looking as much alike as possible. + */ +#define Py_VISIT(op) \ + do { \ + if (op) { \ + int vret = visit(_PyObject_CAST(op), arg); \ + if (vret) \ + return vret; \ + } \ + } while (0) + +#ifndef Py_LIMITED_API +# define Py_CPYTHON_OBJIMPL_H +# include "cpython/objimpl.h" +# undef Py_CPYTHON_OBJIMPL_H +#endif + +#ifdef __cplusplus +} +#endif +#endif /* !Py_OBJIMPL_H */ diff --git a/_Pre_Builds/_Python310_cpp/include/opcode.h b/_Pre_Builds/_Python310_cpp/include/opcode.h new file mode 100644 index 0000000..5203975 --- /dev/null +++ b/_Pre_Builds/_Python310_cpp/include/opcode.h @@ -0,0 +1,172 @@ +/* Auto-generated by Tools/scripts/generate_opcode_h.py from Lib/opcode.py */ +#ifndef Py_OPCODE_H +#define Py_OPCODE_H +#ifdef __cplusplus +extern "C" { +#endif + + + /* Instruction opcodes for compiled code */ +#define POP_TOP 1 +#define ROT_TWO 2 +#define ROT_THREE 3 +#define DUP_TOP 4 +#define DUP_TOP_TWO 5 +#define ROT_FOUR 6 +#define NOP 9 +#define UNARY_POSITIVE 10 +#define UNARY_NEGATIVE 11 +#define UNARY_NOT 12 +#define UNARY_INVERT 15 +#define BINARY_MATRIX_MULTIPLY 16 +#define INPLACE_MATRIX_MULTIPLY 17 +#define BINARY_POWER 19 +#define BINARY_MULTIPLY 20 +#define BINARY_MODULO 22 +#define BINARY_ADD 23 +#define BINARY_SUBTRACT 24 +#define BINARY_SUBSCR 25 +#define BINARY_FLOOR_DIVIDE 26 +#define BINARY_TRUE_DIVIDE 27 +#define INPLACE_FLOOR_DIVIDE 28 +#define INPLACE_TRUE_DIVIDE 29 +#define GET_LEN 30 +#define MATCH_MAPPING 31 +#define MATCH_SEQUENCE 32 +#define MATCH_KEYS 33 +#define COPY_DICT_WITHOUT_KEYS 34 +#define WITH_EXCEPT_START 49 +#define GET_AITER 50 +#define GET_ANEXT 51 +#define BEFORE_ASYNC_WITH 52 +#define END_ASYNC_FOR 54 +#define INPLACE_ADD 55 +#define INPLACE_SUBTRACT 56 +#define INPLACE_MULTIPLY 57 +#define INPLACE_MODULO 59 +#define STORE_SUBSCR 60 +#define DELETE_SUBSCR 61 +#define BINARY_LSHIFT 62 +#define BINARY_RSHIFT 63 +#define BINARY_AND 64 +#define BINARY_XOR 65 +#define BINARY_OR 66 +#define INPLACE_POWER 67 +#define GET_ITER 68 +#define GET_YIELD_FROM_ITER 69 +#define PRINT_EXPR 70 +#define LOAD_BUILD_CLASS 71 +#define YIELD_FROM 72 +#define GET_AWAITABLE 73 +#define LOAD_ASSERTION_ERROR 74 +#define INPLACE_LSHIFT 75 +#define INPLACE_RSHIFT 76 +#define INPLACE_AND 77 +#define INPLACE_XOR 78 +#define INPLACE_OR 79 +#define LIST_TO_TUPLE 82 +#define RETURN_VALUE 83 +#define IMPORT_STAR 84 +#define SETUP_ANNOTATIONS 85 +#define YIELD_VALUE 86 +#define POP_BLOCK 87 +#define POP_EXCEPT 89 +#define HAVE_ARGUMENT 90 +#define STORE_NAME 90 +#define DELETE_NAME 91 +#define UNPACK_SEQUENCE 92 +#define FOR_ITER 93 +#define UNPACK_EX 94 +#define STORE_ATTR 95 +#define DELETE_ATTR 96 +#define STORE_GLOBAL 97 +#define DELETE_GLOBAL 98 +#define ROT_N 99 +#define LOAD_CONST 100 +#define LOAD_NAME 101 +#define BUILD_TUPLE 102 +#define BUILD_LIST 103 +#define BUILD_SET 104 +#define BUILD_MAP 105 +#define LOAD_ATTR 106 +#define COMPARE_OP 107 +#define IMPORT_NAME 108 +#define IMPORT_FROM 109 +#define JUMP_FORWARD 110 +#define JUMP_IF_FALSE_OR_POP 111 +#define JUMP_IF_TRUE_OR_POP 112 +#define JUMP_ABSOLUTE 113 +#define POP_JUMP_IF_FALSE 114 +#define POP_JUMP_IF_TRUE 115 +#define LOAD_GLOBAL 116 +#define IS_OP 117 +#define CONTAINS_OP 118 +#define RERAISE 119 +#define JUMP_IF_NOT_EXC_MATCH 121 +#define SETUP_FINALLY 122 +#define LOAD_FAST 124 +#define STORE_FAST 125 +#define DELETE_FAST 126 +#define GEN_START 129 +#define RAISE_VARARGS 130 +#define CALL_FUNCTION 131 +#define MAKE_FUNCTION 132 +#define BUILD_SLICE 133 +#define LOAD_CLOSURE 135 +#define LOAD_DEREF 136 +#define STORE_DEREF 137 +#define DELETE_DEREF 138 +#define CALL_FUNCTION_KW 141 +#define CALL_FUNCTION_EX 142 +#define SETUP_WITH 143 +#define EXTENDED_ARG 144 +#define LIST_APPEND 145 +#define SET_ADD 146 +#define MAP_ADD 147 +#define LOAD_CLASSDEREF 148 +#define MATCH_CLASS 152 +#define SETUP_ASYNC_WITH 154 +#define FORMAT_VALUE 155 +#define BUILD_CONST_KEY_MAP 156 +#define BUILD_STRING 157 +#define LOAD_METHOD 160 +#define CALL_METHOD 161 +#define LIST_EXTEND 162 +#define SET_UPDATE 163 +#define DICT_MERGE 164 +#define DICT_UPDATE 165 +#ifdef NEED_OPCODE_JUMP_TABLES +static uint32_t _PyOpcode_RelativeJump[8] = { + 0U, + 0U, + 536870912U, + 67125248U, + 67141632U, + 0U, + 0U, + 0U, +}; +static uint32_t _PyOpcode_Jump[8] = { + 0U, + 0U, + 536870912U, + 101695488U, + 67141632U, + 0U, + 0U, + 0U, +}; +#endif /* OPCODE_TABLES */ + +/* EXCEPT_HANDLER is a special, implicit block type which is created when + entering an except handler. It is not an opcode but we define it here + as we want it to be available to both frameobject.c and ceval.c, while + remaining private.*/ +#define EXCEPT_HANDLER 257 + +#define HAS_ARG(op) ((op) >= HAVE_ARGUMENT) + +#ifdef __cplusplus +} +#endif +#endif /* !Py_OPCODE_H */ diff --git a/_Python311_cpp/include/osdefs.h b/_Pre_Builds/_Python310_cpp/include/osdefs.h similarity index 100% rename from _Python311_cpp/include/osdefs.h rename to _Pre_Builds/_Python310_cpp/include/osdefs.h diff --git a/_Python311_cpp/include/osmodule.h b/_Pre_Builds/_Python310_cpp/include/osmodule.h similarity index 100% rename from _Python311_cpp/include/osmodule.h rename to _Pre_Builds/_Python310_cpp/include/osmodule.h diff --git a/_Pre_Builds/_Python310_cpp/include/patchlevel.h b/_Pre_Builds/_Python310_cpp/include/patchlevel.h new file mode 100644 index 0000000..a4c3636 --- /dev/null +++ b/_Pre_Builds/_Python310_cpp/include/patchlevel.h @@ -0,0 +1,35 @@ + +/* Python version identification scheme. + + When the major or minor version changes, the VERSION variable in + configure.ac must also be changed. + + There is also (independent) API version information in modsupport.h. +*/ + +/* Values for PY_RELEASE_LEVEL */ +#define PY_RELEASE_LEVEL_ALPHA 0xA +#define PY_RELEASE_LEVEL_BETA 0xB +#define PY_RELEASE_LEVEL_GAMMA 0xC /* For release candidates */ +#define PY_RELEASE_LEVEL_FINAL 0xF /* Serial should be 0 here */ + /* Higher for patch releases */ + +/* Version parsed out into numeric values */ +/*--start constants--*/ +#define PY_MAJOR_VERSION 3 +#define PY_MINOR_VERSION 10 +#define PY_MICRO_VERSION 13 +#define PY_RELEASE_LEVEL PY_RELEASE_LEVEL_FINAL +#define PY_RELEASE_SERIAL 0 + +/* Version as a string */ +#define PY_VERSION "3.10.13" +/*--end constants--*/ + +/* Version as a single 4-byte hex number, e.g. 0x010502B2 == 1.5.2b2. + Use this for numeric comparisons, e.g. #if PY_VERSION_HEX >= ... */ +#define PY_VERSION_HEX ((PY_MAJOR_VERSION << 24) | \ + (PY_MINOR_VERSION << 16) | \ + (PY_MICRO_VERSION << 8) | \ + (PY_RELEASE_LEVEL << 4) | \ + (PY_RELEASE_SERIAL << 0)) diff --git a/_Pre_Builds/_Python310_cpp/include/py_curses.h b/_Pre_Builds/_Python310_cpp/include/py_curses.h new file mode 100644 index 0000000..b70252d --- /dev/null +++ b/_Pre_Builds/_Python310_cpp/include/py_curses.h @@ -0,0 +1,99 @@ + +#ifndef Py_CURSES_H +#define Py_CURSES_H + +#ifdef __APPLE__ +/* +** On Mac OS X 10.2 [n]curses.h and stdlib.h use different guards +** against multiple definition of wchar_t. +*/ +#ifdef _BSD_WCHAR_T_DEFINED_ +#define _WCHAR_T +#endif +#endif /* __APPLE__ */ + +/* On FreeBSD, [n]curses.h and stdlib.h/wchar.h use different guards + against multiple definition of wchar_t and wint_t. */ +#if defined(__FreeBSD__) && defined(_XOPEN_SOURCE_EXTENDED) +# ifndef __wchar_t +# define __wchar_t +# endif +# ifndef __wint_t +# define __wint_t +# endif +#endif + +#if !defined(HAVE_CURSES_IS_PAD) && defined(WINDOW_HAS_FLAGS) +/* The following definition is necessary for ncurses 5.7; without it, + some of [n]curses.h set NCURSES_OPAQUE to 1, and then Python + can't get at the WINDOW flags field. */ +#define NCURSES_OPAQUE 0 +#endif + +#ifdef HAVE_NCURSES_H +#include +#else +#include +#endif + +#ifdef HAVE_NCURSES_H +/* configure was checking , but we will + use , which has some or all these features. */ +#if !defined(WINDOW_HAS_FLAGS) && !(NCURSES_OPAQUE+0) +#define WINDOW_HAS_FLAGS 1 +#endif +#if !defined(HAVE_CURSES_IS_PAD) && NCURSES_VERSION_PATCH+0 >= 20090906 +#define HAVE_CURSES_IS_PAD 1 +#endif +#ifndef MVWDELCH_IS_EXPRESSION +#define MVWDELCH_IS_EXPRESSION 1 +#endif +#endif + +#ifdef __cplusplus +extern "C" { +#endif + +#define PyCurses_API_pointers 4 + +/* Type declarations */ + +typedef struct { + PyObject_HEAD + WINDOW *win; + char *encoding; +} PyCursesWindowObject; + +#define PyCursesWindow_Check(v) Py_IS_TYPE(v, &PyCursesWindow_Type) + +#define PyCurses_CAPSULE_NAME "_curses._C_API" + + +#ifdef CURSES_MODULE +/* This section is used when compiling _cursesmodule.c */ + +#else +/* This section is used in modules that use the _cursesmodule API */ + +static void **PyCurses_API; + +#define PyCursesWindow_Type (*(PyTypeObject *) PyCurses_API[0]) +#define PyCursesSetupTermCalled {if (! ((int (*)(void))PyCurses_API[1]) () ) return NULL;} +#define PyCursesInitialised {if (! ((int (*)(void))PyCurses_API[2]) () ) return NULL;} +#define PyCursesInitialisedColor {if (! ((int (*)(void))PyCurses_API[3]) () ) return NULL;} + +#define import_curses() \ + PyCurses_API = (void **)PyCapsule_Import(PyCurses_CAPSULE_NAME, 1); + +#endif + +/* general error messages */ +static const char catchall_ERR[] = "curses function returned ERR"; +static const char catchall_NULL[] = "curses function returned NULL"; + +#ifdef __cplusplus +} +#endif + +#endif /* !defined(Py_CURSES_H) */ + diff --git a/_Python311_cpp/include/pycapsule.h b/_Pre_Builds/_Python310_cpp/include/pycapsule.h similarity index 100% rename from _Python311_cpp/include/pycapsule.h rename to _Pre_Builds/_Python310_cpp/include/pycapsule.h diff --git a/_Pre_Builds/_Python310_cpp/include/pyconfig.h b/_Pre_Builds/_Python310_cpp/include/pyconfig.h new file mode 100644 index 0000000..103e647 --- /dev/null +++ b/_Pre_Builds/_Python310_cpp/include/pyconfig.h @@ -0,0 +1,690 @@ +#ifndef Py_CONFIG_H +#define Py_CONFIG_H + +/* pyconfig.h. NOT Generated automatically by configure. + +This is a manually maintained version used for the Watcom, +Borland and Microsoft Visual C++ compilers. It is a +standard part of the Python distribution. + +WINDOWS DEFINES: +The code specific to Windows should be wrapped around one of +the following #defines + +MS_WIN64 - Code specific to the MS Win64 API +MS_WIN32 - Code specific to the MS Win32 (and Win64) API (obsolete, this covers all supported APIs) +MS_WINDOWS - Code specific to Windows, but all versions. +Py_ENABLE_SHARED - Code if the Python core is built as a DLL. + +Also note that neither "_M_IX86" or "_MSC_VER" should be used for +any purpose other than "Windows Intel x86 specific" and "Microsoft +compiler specific". Therefore, these should be very rare. + + +NOTE: The following symbols are deprecated: +NT, USE_DL_EXPORT, USE_DL_IMPORT, DL_EXPORT, DL_IMPORT +MS_CORE_DLL. + +WIN32 is still required for the locale module. + +*/ + +/* Deprecated USE_DL_EXPORT macro - please use Py_BUILD_CORE */ +#ifdef USE_DL_EXPORT +# define Py_BUILD_CORE +#endif /* USE_DL_EXPORT */ + +/* Visual Studio 2005 introduces deprecation warnings for + "insecure" and POSIX functions. The insecure functions should + be replaced by *_s versions (according to Microsoft); the + POSIX functions by _* versions (which, according to Microsoft, + would be ISO C conforming). Neither renaming is feasible, so + we just silence the warnings. */ + +#ifndef _CRT_SECURE_NO_DEPRECATE +#define _CRT_SECURE_NO_DEPRECATE 1 +#endif +#ifndef _CRT_NONSTDC_NO_DEPRECATE +#define _CRT_NONSTDC_NO_DEPRECATE 1 +#endif + +#define HAVE_IO_H +#define HAVE_SYS_UTIME_H +#define HAVE_TEMPNAM +#define HAVE_TMPFILE +#define HAVE_TMPNAM +#define HAVE_CLOCK +#define HAVE_STRERROR + +#include + +#define HAVE_HYPOT +#define HAVE_STRFTIME +#define DONT_HAVE_SIG_ALARM +#define DONT_HAVE_SIG_PAUSE +#define LONG_BIT 32 +#define WORD_BIT 32 + +#define MS_WIN32 /* only support win32 and greater. */ +#define MS_WINDOWS +#ifndef PYTHONPATH +# define PYTHONPATH L".\\DLLs;.\\lib" +#endif +#define NT_THREADS +#define WITH_THREAD +#ifndef NETSCAPE_PI +#define USE_SOCKET +#endif + + +/* Compiler specific defines */ + +/* ------------------------------------------------------------------------*/ +/* Microsoft C defines _MSC_VER */ +#ifdef _MSC_VER + +/* We want COMPILER to expand to a string containing _MSC_VER's *value*. + * This is horridly tricky, because the stringization operator only works + * on macro arguments, and doesn't evaluate macros passed *as* arguments. + * Attempts simpler than the following appear doomed to produce "_MSC_VER" + * literally in the string. + */ +#define _Py_PASTE_VERSION(SUFFIX) \ + ("[MSC v." _Py_STRINGIZE(_MSC_VER) " " SUFFIX "]") +/* e.g., this produces, after compile-time string catenation, + * ("[MSC v.1200 32 bit (Intel)]") + * + * _Py_STRINGIZE(_MSC_VER) expands to + * _Py_STRINGIZE1((_MSC_VER)) expands to + * _Py_STRINGIZE2(_MSC_VER) but as this call is the result of token-pasting + * it's scanned again for macros and so further expands to (under MSVC 6) + * _Py_STRINGIZE2(1200) which then expands to + * "1200" + */ +#define _Py_STRINGIZE(X) _Py_STRINGIZE1((X)) +#define _Py_STRINGIZE1(X) _Py_STRINGIZE2 ## X +#define _Py_STRINGIZE2(X) #X + +/* MSVC defines _WINxx to differentiate the windows platform types + + Note that for compatibility reasons _WIN32 is defined on Win32 + *and* on Win64. For the same reasons, in Python, MS_WIN32 is + defined on Win32 *and* Win64. Win32 only code must therefore be + guarded as follows: + #if defined(MS_WIN32) && !defined(MS_WIN64) +*/ +#ifdef _WIN64 +#define MS_WIN64 +#endif + +/* set the COMPILER */ +#ifdef MS_WIN64 +#if defined(_M_X64) || defined(_M_AMD64) +#if defined(__INTEL_COMPILER) +#define COMPILER ("[ICC v." _Py_STRINGIZE(__INTEL_COMPILER) " 64 bit (amd64) with MSC v." _Py_STRINGIZE(_MSC_VER) " CRT]") +#else +#define COMPILER _Py_PASTE_VERSION("64 bit (AMD64)") +#endif /* __INTEL_COMPILER */ +#define PYD_PLATFORM_TAG "win_amd64" +#elif defined(_M_ARM64) +#define COMPILER _Py_PASTE_VERSION("64 bit (ARM64)") +#define PYD_PLATFORM_TAG "win_arm64" +#else +#define COMPILER _Py_PASTE_VERSION("64 bit (Unknown)") +#endif +#endif /* MS_WIN64 */ + +/* set the version macros for the windows headers */ +/* Python 3.9+ requires Windows 8 or greater */ +#define Py_WINVER 0x0602 /* _WIN32_WINNT_WIN8 */ +#define Py_NTDDI NTDDI_WIN8 + +/* We only set these values when building Python - we don't want to force + these values on extensions, as that will affect the prototypes and + structures exposed in the Windows headers. Even when building Python, we + allow a single source file to override this - they may need access to + structures etc so it can optionally use new Windows features if it + determines at runtime they are available. +*/ +#if defined(Py_BUILD_CORE) || defined(Py_BUILD_CORE_BUILTIN) || defined(Py_BUILD_CORE_MODULE) +#ifndef NTDDI_VERSION +#define NTDDI_VERSION Py_NTDDI +#endif +#ifndef WINVER +#define WINVER Py_WINVER +#endif +#ifndef _WIN32_WINNT +#define _WIN32_WINNT Py_WINVER +#endif +#endif + +/* _W64 is not defined for VC6 or eVC4 */ +#ifndef _W64 +#define _W64 +#endif + +/* Define like size_t, omitting the "unsigned" */ +#ifdef MS_WIN64 +typedef __int64 Py_ssize_t; +#else +typedef _W64 int Py_ssize_t; +#endif +#define HAVE_PY_SSIZE_T 1 + +#if defined(MS_WIN32) && !defined(MS_WIN64) +#if defined(_M_IX86) +#if defined(__INTEL_COMPILER) +#define COMPILER ("[ICC v." _Py_STRINGIZE(__INTEL_COMPILER) " 32 bit (Intel) with MSC v." _Py_STRINGIZE(_MSC_VER) " CRT]") +#else +#define COMPILER _Py_PASTE_VERSION("32 bit (Intel)") +#endif /* __INTEL_COMPILER */ +#define PYD_PLATFORM_TAG "win32" +#elif defined(_M_ARM) +#define COMPILER _Py_PASTE_VERSION("32 bit (ARM)") +#define PYD_PLATFORM_TAG "win_arm32" +#else +#define COMPILER _Py_PASTE_VERSION("32 bit (Unknown)") +#endif +#endif /* MS_WIN32 && !MS_WIN64 */ + +typedef int pid_t; + +#include +#define Py_IS_NAN _isnan +#define Py_IS_INFINITY(X) (!_finite(X) && !_isnan(X)) +#define Py_IS_FINITE(X) _finite(X) + +/* define some ANSI types that are not defined in earlier Win headers */ +#if _MSC_VER >= 1200 +/* This file only exists in VC 6.0 or higher */ +#include +#endif + +#endif /* _MSC_VER */ + +/* ------------------------------------------------------------------------*/ +/* egcs/gnu-win32 defines __GNUC__ and _WIN32 */ +#if defined(__GNUC__) && defined(_WIN32) +/* XXX These defines are likely incomplete, but should be easy to fix. + They should be complete enough to build extension modules. */ +/* Suggested by Rene Liebscher to avoid a GCC 2.91.* + bug that requires structure imports. More recent versions of the + compiler don't exhibit this bug. +*/ +#if (__GNUC__==2) && (__GNUC_MINOR__<=91) +#warning "Please use an up-to-date version of gcc! (>2.91 recommended)" +#endif + +#define COMPILER "[gcc]" +#define PY_LONG_LONG long long +#define PY_LLONG_MIN LLONG_MIN +#define PY_LLONG_MAX LLONG_MAX +#define PY_ULLONG_MAX ULLONG_MAX +#endif /* GNUC */ + +/* ------------------------------------------------------------------------*/ +/* lcc-win32 defines __LCC__ */ +#if defined(__LCC__) +/* XXX These defines are likely incomplete, but should be easy to fix. + They should be complete enough to build extension modules. */ + +#define COMPILER "[lcc-win32]" +typedef int pid_t; +/* __declspec() is supported here too - do nothing to get the defaults */ + +#endif /* LCC */ + +/* ------------------------------------------------------------------------*/ +/* End of compilers - finish up */ + +#ifndef NO_STDIO_H +# include +#endif + +/* 64 bit ints are usually spelt __int64 unless compiler has overridden */ +#ifndef PY_LONG_LONG +# define PY_LONG_LONG __int64 +# define PY_LLONG_MAX _I64_MAX +# define PY_LLONG_MIN _I64_MIN +# define PY_ULLONG_MAX _UI64_MAX +#endif + +/* For Windows the Python core is in a DLL by default. Test +Py_NO_ENABLE_SHARED to find out. Also support MS_NO_COREDLL for b/w compat */ +#if !defined(MS_NO_COREDLL) && !defined(Py_NO_ENABLE_SHARED) +# define Py_ENABLE_SHARED 1 /* standard symbol for shared library */ +# define MS_COREDLL /* deprecated old symbol */ +#endif /* !MS_NO_COREDLL && ... */ + +/* All windows compilers that use this header support __declspec */ +#define HAVE_DECLSPEC_DLL + +/* For an MSVC DLL, we can nominate the .lib files used by extensions */ +#ifdef MS_COREDLL +# if !defined(Py_BUILD_CORE) && !defined(Py_BUILD_CORE_BUILTIN) + /* not building the core - must be an ext */ +# if defined(_MSC_VER) + /* So MSVC users need not specify the .lib + file in their Makefile (other compilers are + generally taken care of by distutils.) */ +# if defined(_DEBUG) +# pragma comment(lib,"python310_d.lib") +# elif defined(Py_LIMITED_API) +# pragma comment(lib,"python3.lib") +# else +# pragma comment(lib,"python310.lib") +# endif /* _DEBUG */ +# endif /* _MSC_VER */ +# endif /* Py_BUILD_CORE */ +#endif /* MS_COREDLL */ + +#if defined(MS_WIN64) +/* maintain "win32" sys.platform for backward compatibility of Python code, + the Win64 API should be close enough to the Win32 API to make this + preferable */ +# define PLATFORM "win32" +# define SIZEOF_VOID_P 8 +# define SIZEOF_TIME_T 8 +# define SIZEOF_OFF_T 4 +# define SIZEOF_FPOS_T 8 +# define SIZEOF_HKEY 8 +# define SIZEOF_SIZE_T 8 +# define ALIGNOF_SIZE_T 8 +/* configure.ac defines HAVE_LARGEFILE_SUPPORT iff + sizeof(off_t) > sizeof(long), and sizeof(long long) >= sizeof(off_t). + On Win64 the second condition is not true, but if fpos_t replaces off_t + then this is true. The uses of HAVE_LARGEFILE_SUPPORT imply that Win64 + should define this. */ +# define HAVE_LARGEFILE_SUPPORT +#elif defined(MS_WIN32) +# define PLATFORM "win32" +# define HAVE_LARGEFILE_SUPPORT +# define SIZEOF_VOID_P 4 +# define SIZEOF_OFF_T 4 +# define SIZEOF_FPOS_T 8 +# define SIZEOF_HKEY 4 +# define SIZEOF_SIZE_T 4 +# define ALIGNOF_SIZE_T 4 + /* MS VS2005 changes time_t to a 64-bit type on all platforms */ +# if defined(_MSC_VER) && _MSC_VER >= 1400 +# define SIZEOF_TIME_T 8 +# else +# define SIZEOF_TIME_T 4 +# endif +#endif + +#ifdef _DEBUG +# define Py_DEBUG +#endif + + +#ifdef MS_WIN32 + +#define SIZEOF_SHORT 2 +#define SIZEOF_INT 4 +#define SIZEOF_LONG 4 +#define ALIGNOF_LONG 4 +#define SIZEOF_LONG_LONG 8 +#define SIZEOF_DOUBLE 8 +#define SIZEOF_FLOAT 4 + +/* VC 7.1 has them and VC 6.0 does not. VC 6.0 has a version number of 1200. + Microsoft eMbedded Visual C++ 4.0 has a version number of 1201 and doesn't + define these. + If some compiler does not provide them, modify the #if appropriately. */ +#if defined(_MSC_VER) +#if _MSC_VER > 1300 +#define HAVE_UINTPTR_T 1 +#define HAVE_INTPTR_T 1 +#else +/* VC6, VS 2002 and eVC4 don't support the C99 LL suffix for 64-bit integer literals */ +#define Py_LL(x) x##I64 +#endif /* _MSC_VER > 1300 */ +#endif /* _MSC_VER */ + +#endif + +/* define signed and unsigned exact-width 32-bit and 64-bit types, used in the + implementation of Python integers. */ +#define PY_UINT32_T uint32_t +#define PY_UINT64_T uint64_t +#define PY_INT32_T int32_t +#define PY_INT64_T int64_t + +/* Fairly standard from here! */ + +/* Define to 1 if you have the `copysign' function. */ +#define HAVE_COPYSIGN 1 + +/* Define to 1 if you have the `round' function. */ +#if _MSC_VER >= 1800 +#define HAVE_ROUND 1 +#endif + +/* Define to 1 if you have the `isinf' macro. */ +#define HAVE_DECL_ISINF 1 + +/* Define to 1 if you have the `isnan' function. */ +#define HAVE_DECL_ISNAN 1 + +/* Define if on AIX 3. + System headers sometimes define this. + We just want to avoid a redefinition error message. */ +#ifndef _ALL_SOURCE +/* #undef _ALL_SOURCE */ +#endif + +/* Define to empty if the keyword does not work. */ +/* #define const */ + +/* Define to 1 if you have the header file. */ +#define HAVE_CONIO_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_DIRECT_H 1 + +/* Define to 1 if you have the declaration of `tzname', and to 0 if you don't. + */ +#define HAVE_DECL_TZNAME 1 + +/* Define if you have dirent.h. */ +/* #define DIRENT 1 */ + +/* Define to the type of elements in the array set by `getgroups'. + Usually this is either `int' or `gid_t'. */ +/* #undef GETGROUPS_T */ + +/* Define to `int' if doesn't define. */ +/* #undef gid_t */ + +/* Define if your struct tm has tm_zone. */ +/* #undef HAVE_TM_ZONE */ + +/* Define if you don't have tm_zone but do have the external array + tzname. */ +#define HAVE_TZNAME + +/* Define to `int' if doesn't define. */ +/* #undef mode_t */ + +/* Define if you don't have dirent.h, but have ndir.h. */ +/* #undef NDIR */ + +/* Define to `long' if doesn't define. */ +/* #undef off_t */ + +/* Define to `int' if doesn't define. */ +/* #undef pid_t */ + +/* Define if the system does not provide POSIX.1 features except + with this defined. */ +/* #undef _POSIX_1_SOURCE */ + +/* Define if you need to in order for stat and other things to work. */ +/* #undef _POSIX_SOURCE */ + +/* Define as the return type of signal handlers (int or void). */ +#define RETSIGTYPE void + +/* Define to `unsigned' if doesn't define. */ +/* #undef size_t */ + +/* Define if you have the ANSI C header files. */ +#define STDC_HEADERS 1 + +/* Define if you don't have dirent.h, but have sys/dir.h. */ +/* #undef SYSDIR */ + +/* Define if you don't have dirent.h, but have sys/ndir.h. */ +/* #undef SYSNDIR */ + +/* Define if you can safely include both and . */ +/* #undef TIME_WITH_SYS_TIME */ + +/* Define if your declares struct tm. */ +/* #define TM_IN_SYS_TIME 1 */ + +/* Define to `int' if doesn't define. */ +/* #undef uid_t */ + +/* Define if the closedir function returns void instead of int. */ +/* #undef VOID_CLOSEDIR */ + +/* Define if getpgrp() must be called as getpgrp(0) + and (consequently) setpgrp() as setpgrp(0, 0). */ +/* #undef GETPGRP_HAVE_ARGS */ + +/* Define this if your time.h defines altzone */ +/* #define HAVE_ALTZONE */ + +/* Define if you have the putenv function. */ +#define HAVE_PUTENV + +/* Define if your compiler supports function prototypes */ +#define HAVE_PROTOTYPES + +/* Define if you can safely include both and + (which you can't on SCO ODT 3.0). */ +/* #undef SYS_SELECT_WITH_SYS_TIME */ + +/* Define if you want build the _decimal module using a coroutine-local rather + than a thread-local context */ +#define WITH_DECIMAL_CONTEXTVAR 1 + +/* Define if you want documentation strings in extension modules */ +#define WITH_DOC_STRINGS 1 + +/* Define if you want to compile in rudimentary thread support */ +/* #undef WITH_THREAD */ + +/* Define if you want to use the GNU readline library */ +/* #define WITH_READLINE 1 */ + +/* Use Python's own small-block memory-allocator. */ +#define WITH_PYMALLOC 1 + +/* Define if you have clock. */ +/* #define HAVE_CLOCK */ + +/* Define when any dynamic module loading is enabled */ +#define HAVE_DYNAMIC_LOADING + +/* Define if you have ftime. */ +#define HAVE_FTIME + +/* Define if you have getpeername. */ +#define HAVE_GETPEERNAME + +/* Define if you have getpgrp. */ +/* #undef HAVE_GETPGRP */ + +/* Define if you have getpid. */ +#define HAVE_GETPID + +/* Define if you have gettimeofday. */ +/* #undef HAVE_GETTIMEOFDAY */ + +/* Define if you have getwd. */ +/* #undef HAVE_GETWD */ + +/* Define if you have lstat. */ +/* #undef HAVE_LSTAT */ + +/* Define if you have the mktime function. */ +#define HAVE_MKTIME + +/* Define if you have nice. */ +/* #undef HAVE_NICE */ + +/* Define if you have readlink. */ +/* #undef HAVE_READLINK */ + +/* Define if you have setpgid. */ +/* #undef HAVE_SETPGID */ + +/* Define if you have setpgrp. */ +/* #undef HAVE_SETPGRP */ + +/* Define if you have setsid. */ +/* #undef HAVE_SETSID */ + +/* Define if you have setvbuf. */ +#define HAVE_SETVBUF + +/* Define if you have siginterrupt. */ +/* #undef HAVE_SIGINTERRUPT */ + +/* Define if you have symlink. */ +/* #undef HAVE_SYMLINK */ + +/* Define if you have tcgetpgrp. */ +/* #undef HAVE_TCGETPGRP */ + +/* Define if you have tcsetpgrp. */ +/* #undef HAVE_TCSETPGRP */ + +/* Define if you have times. */ +/* #undef HAVE_TIMES */ + +/* Define if you have uname. */ +/* #undef HAVE_UNAME */ + +/* Define if you have waitpid. */ +/* #undef HAVE_WAITPID */ + +/* Define to 1 if you have the `wcsftime' function. */ +#if defined(_MSC_VER) && _MSC_VER >= 1310 +#define HAVE_WCSFTIME 1 +#endif + +/* Define to 1 if you have the `wcscoll' function. */ +#define HAVE_WCSCOLL 1 + +/* Define to 1 if you have the `wcsxfrm' function. */ +#define HAVE_WCSXFRM 1 + +/* Define if the zlib library has inflateCopy */ +#define HAVE_ZLIB_COPY 1 + +/* Define if you have the header file. */ +/* #undef HAVE_DLFCN_H */ + +/* Define to 1 if you have the header file. */ +#define HAVE_ERRNO_H 1 + +/* Define if you have the header file. */ +#define HAVE_FCNTL_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_PROCESS_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SIGNAL_H 1 + +/* Define if you have the prototypes. */ +#define HAVE_STDARG_PROTOTYPES + +/* Define if you have the header file. */ +#define HAVE_STDDEF_H 1 + +/* Define if you have the header file. */ +/* #undef HAVE_SYS_AUDIOIO_H */ + +/* Define if you have the header file. */ +/* #define HAVE_SYS_PARAM_H 1 */ + +/* Define if you have the header file. */ +/* #define HAVE_SYS_SELECT_H 1 */ + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_STAT_H 1 + +/* Define if you have the header file. */ +/* #define HAVE_SYS_TIME_H 1 */ + +/* Define if you have the header file. */ +/* #define HAVE_SYS_TIMES_H 1 */ + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_TYPES_H 1 + +/* Define if you have the header file. */ +/* #define HAVE_SYS_UN_H 1 */ + +/* Define if you have the header file. */ +/* #define HAVE_SYS_UTIME_H 1 */ + +/* Define if you have the header file. */ +/* #define HAVE_SYS_UTSNAME_H 1 */ + +/* Define if you have the header file. */ +/* #define HAVE_UNISTD_H 1 */ + +/* Define if you have the header file. */ +/* #define HAVE_UTIME_H 1 */ + +/* Define if the compiler provides a wchar.h header file. */ +#define HAVE_WCHAR_H 1 + +/* The size of `wchar_t', as computed by sizeof. */ +#define SIZEOF_WCHAR_T 2 + +/* The size of `_Bool', as computed by sizeof. */ +#define SIZEOF__BOOL 1 + +/* The size of `pid_t', as computed by sizeof. */ +#define SIZEOF_PID_T SIZEOF_INT + +/* Define if you have the dl library (-ldl). */ +/* #undef HAVE_LIBDL */ + +/* Define if you have the mpc library (-lmpc). */ +/* #undef HAVE_LIBMPC */ + +/* Define if you have the nsl library (-lnsl). */ +#define HAVE_LIBNSL 1 + +/* Define if you have the seq library (-lseq). */ +/* #undef HAVE_LIBSEQ */ + +/* Define if you have the socket library (-lsocket). */ +#define HAVE_LIBSOCKET 1 + +/* Define if you have the sun library (-lsun). */ +/* #undef HAVE_LIBSUN */ + +/* Define if you have the termcap library (-ltermcap). */ +/* #undef HAVE_LIBTERMCAP */ + +/* Define if you have the termlib library (-ltermlib). */ +/* #undef HAVE_LIBTERMLIB */ + +/* Define if you have the thread library (-lthread). */ +/* #undef HAVE_LIBTHREAD */ + +/* WinSock does not use a bitmask in select, and uses + socket handles greater than FD_SETSIZE */ +#define Py_SOCKET_FD_CAN_BE_GE_FD_SETSIZE + +/* Define if C doubles are 64-bit IEEE 754 binary format, stored with the + least significant byte first */ +#define DOUBLE_IS_LITTLE_ENDIAN_IEEE754 1 + +/* Define to 1 if you have the `erf' function. */ +#define HAVE_ERF 1 + +/* Define to 1 if you have the `erfc' function. */ +#define HAVE_ERFC 1 + +/* Define if you have the 'inet_pton' function. */ +#define HAVE_INET_PTON 1 + +/* framework name */ +#define _PYTHONFRAMEWORK "" + +/* Define if libssl has X509_VERIFY_PARAM_set1_host and related function */ +#define HAVE_X509_VERIFY_PARAM_SET1_HOST 1 + +#define PLATLIBDIR "lib" + +#endif /* !Py_CONFIG_H */ diff --git a/_Pre_Builds/_Python310_cpp/include/pydtrace.d b/_Pre_Builds/_Python310_cpp/include/pydtrace.d new file mode 100644 index 0000000..5e6a626 --- /dev/null +++ b/_Pre_Builds/_Python310_cpp/include/pydtrace.d @@ -0,0 +1,22 @@ +/* Python DTrace provider */ + +provider python { + probe function__entry(const char *, const char *, int); + probe function__return(const char *, const char *, int); + probe instance__new__start(const char *, const char *); + probe instance__new__done(const char *, const char *); + probe instance__delete__start(const char *, const char *); + probe instance__delete__done(const char *, const char *); + probe line(const char *, const char *, int); + probe gc__start(int); + probe gc__done(long); + probe import__find__load__start(const char *); + probe import__find__load__done(const char *, int); + probe audit(const char *, void *); +}; + +#pragma D attributes Evolving/Evolving/Common provider python provider +#pragma D attributes Evolving/Evolving/Common provider python module +#pragma D attributes Evolving/Evolving/Common provider python function +#pragma D attributes Evolving/Evolving/Common provider python name +#pragma D attributes Evolving/Evolving/Common provider python args diff --git a/_Python311_cpp/include/pydtrace.h b/_Pre_Builds/_Python310_cpp/include/pydtrace.h similarity index 100% rename from _Python311_cpp/include/pydtrace.h rename to _Pre_Builds/_Python310_cpp/include/pydtrace.h diff --git a/_Pre_Builds/_Python310_cpp/include/pyerrors.h b/_Pre_Builds/_Python310_cpp/include/pyerrors.h new file mode 100644 index 0000000..f5d1c71 --- /dev/null +++ b/_Pre_Builds/_Python310_cpp/include/pyerrors.h @@ -0,0 +1,324 @@ +#ifndef Py_ERRORS_H +#define Py_ERRORS_H +#ifdef __cplusplus +extern "C" { +#endif + +#include // va_list + +/* Error handling definitions */ + +PyAPI_FUNC(void) PyErr_SetNone(PyObject *); +PyAPI_FUNC(void) PyErr_SetObject(PyObject *, PyObject *); +PyAPI_FUNC(void) PyErr_SetString( + PyObject *exception, + const char *string /* decoded from utf-8 */ + ); +PyAPI_FUNC(PyObject *) PyErr_Occurred(void); +PyAPI_FUNC(void) PyErr_Clear(void); +PyAPI_FUNC(void) PyErr_Fetch(PyObject **, PyObject **, PyObject **); +PyAPI_FUNC(void) PyErr_Restore(PyObject *, PyObject *, PyObject *); +#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x03030000 +PyAPI_FUNC(void) PyErr_GetExcInfo(PyObject **, PyObject **, PyObject **); +PyAPI_FUNC(void) PyErr_SetExcInfo(PyObject *, PyObject *, PyObject *); +#endif + +/* Defined in Python/pylifecycle.c + + The Py_FatalError() function is replaced with a macro which logs + automatically the name of the current function, unless the Py_LIMITED_API + macro is defined. */ +PyAPI_FUNC(void) _Py_NO_RETURN Py_FatalError(const char *message); + +/* Error testing and normalization */ +PyAPI_FUNC(int) PyErr_GivenExceptionMatches(PyObject *, PyObject *); +PyAPI_FUNC(int) PyErr_ExceptionMatches(PyObject *); +PyAPI_FUNC(void) PyErr_NormalizeException(PyObject**, PyObject**, PyObject**); + +/* Traceback manipulation (PEP 3134) */ +PyAPI_FUNC(int) PyException_SetTraceback(PyObject *, PyObject *); +PyAPI_FUNC(PyObject *) PyException_GetTraceback(PyObject *); + +/* Cause manipulation (PEP 3134) */ +PyAPI_FUNC(PyObject *) PyException_GetCause(PyObject *); +PyAPI_FUNC(void) PyException_SetCause(PyObject *, PyObject *); + +/* Context manipulation (PEP 3134) */ +PyAPI_FUNC(PyObject *) PyException_GetContext(PyObject *); +PyAPI_FUNC(void) PyException_SetContext(PyObject *, PyObject *); + +/* */ + +#define PyExceptionClass_Check(x) \ + (PyType_Check((x)) && \ + PyType_FastSubclass((PyTypeObject*)(x), Py_TPFLAGS_BASE_EXC_SUBCLASS)) + +#define PyExceptionInstance_Check(x) \ + PyType_FastSubclass(Py_TYPE(x), Py_TPFLAGS_BASE_EXC_SUBCLASS) + +PyAPI_FUNC(const char *) PyExceptionClass_Name(PyObject *); + +#define PyExceptionInstance_Class(x) ((PyObject*)Py_TYPE(x)) + + +/* Predefined exceptions */ + +PyAPI_DATA(PyObject *) PyExc_BaseException; +PyAPI_DATA(PyObject *) PyExc_Exception; +#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x03050000 +PyAPI_DATA(PyObject *) PyExc_StopAsyncIteration; +#endif +PyAPI_DATA(PyObject *) PyExc_StopIteration; +PyAPI_DATA(PyObject *) PyExc_GeneratorExit; +PyAPI_DATA(PyObject *) PyExc_ArithmeticError; +PyAPI_DATA(PyObject *) PyExc_LookupError; + +PyAPI_DATA(PyObject *) PyExc_AssertionError; +PyAPI_DATA(PyObject *) PyExc_AttributeError; +PyAPI_DATA(PyObject *) PyExc_BufferError; +PyAPI_DATA(PyObject *) PyExc_EOFError; +PyAPI_DATA(PyObject *) PyExc_FloatingPointError; +PyAPI_DATA(PyObject *) PyExc_OSError; +PyAPI_DATA(PyObject *) PyExc_ImportError; +#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x03060000 +PyAPI_DATA(PyObject *) PyExc_ModuleNotFoundError; +#endif +PyAPI_DATA(PyObject *) PyExc_IndexError; +PyAPI_DATA(PyObject *) PyExc_KeyError; +PyAPI_DATA(PyObject *) PyExc_KeyboardInterrupt; +PyAPI_DATA(PyObject *) PyExc_MemoryError; +PyAPI_DATA(PyObject *) PyExc_NameError; +PyAPI_DATA(PyObject *) PyExc_OverflowError; +PyAPI_DATA(PyObject *) PyExc_RuntimeError; +#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x03050000 +PyAPI_DATA(PyObject *) PyExc_RecursionError; +#endif +PyAPI_DATA(PyObject *) PyExc_NotImplementedError; +PyAPI_DATA(PyObject *) PyExc_SyntaxError; +PyAPI_DATA(PyObject *) PyExc_IndentationError; +PyAPI_DATA(PyObject *) PyExc_TabError; +PyAPI_DATA(PyObject *) PyExc_ReferenceError; +PyAPI_DATA(PyObject *) PyExc_SystemError; +PyAPI_DATA(PyObject *) PyExc_SystemExit; +PyAPI_DATA(PyObject *) PyExc_TypeError; +PyAPI_DATA(PyObject *) PyExc_UnboundLocalError; +PyAPI_DATA(PyObject *) PyExc_UnicodeError; +PyAPI_DATA(PyObject *) PyExc_UnicodeEncodeError; +PyAPI_DATA(PyObject *) PyExc_UnicodeDecodeError; +PyAPI_DATA(PyObject *) PyExc_UnicodeTranslateError; +PyAPI_DATA(PyObject *) PyExc_ValueError; +PyAPI_DATA(PyObject *) PyExc_ZeroDivisionError; + +#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x03030000 +PyAPI_DATA(PyObject *) PyExc_BlockingIOError; +PyAPI_DATA(PyObject *) PyExc_BrokenPipeError; +PyAPI_DATA(PyObject *) PyExc_ChildProcessError; +PyAPI_DATA(PyObject *) PyExc_ConnectionError; +PyAPI_DATA(PyObject *) PyExc_ConnectionAbortedError; +PyAPI_DATA(PyObject *) PyExc_ConnectionRefusedError; +PyAPI_DATA(PyObject *) PyExc_ConnectionResetError; +PyAPI_DATA(PyObject *) PyExc_FileExistsError; +PyAPI_DATA(PyObject *) PyExc_FileNotFoundError; +PyAPI_DATA(PyObject *) PyExc_InterruptedError; +PyAPI_DATA(PyObject *) PyExc_IsADirectoryError; +PyAPI_DATA(PyObject *) PyExc_NotADirectoryError; +PyAPI_DATA(PyObject *) PyExc_PermissionError; +PyAPI_DATA(PyObject *) PyExc_ProcessLookupError; +PyAPI_DATA(PyObject *) PyExc_TimeoutError; +#endif + + +/* Compatibility aliases */ +PyAPI_DATA(PyObject *) PyExc_EnvironmentError; +PyAPI_DATA(PyObject *) PyExc_IOError; +#ifdef MS_WINDOWS +PyAPI_DATA(PyObject *) PyExc_WindowsError; +#endif + +/* Predefined warning categories */ +PyAPI_DATA(PyObject *) PyExc_Warning; +PyAPI_DATA(PyObject *) PyExc_UserWarning; +PyAPI_DATA(PyObject *) PyExc_DeprecationWarning; +PyAPI_DATA(PyObject *) PyExc_PendingDeprecationWarning; +PyAPI_DATA(PyObject *) PyExc_SyntaxWarning; +PyAPI_DATA(PyObject *) PyExc_RuntimeWarning; +PyAPI_DATA(PyObject *) PyExc_FutureWarning; +PyAPI_DATA(PyObject *) PyExc_ImportWarning; +PyAPI_DATA(PyObject *) PyExc_UnicodeWarning; +PyAPI_DATA(PyObject *) PyExc_BytesWarning; +PyAPI_DATA(PyObject *) PyExc_EncodingWarning; +PyAPI_DATA(PyObject *) PyExc_ResourceWarning; + + +/* Convenience functions */ + +PyAPI_FUNC(int) PyErr_BadArgument(void); +PyAPI_FUNC(PyObject *) PyErr_NoMemory(void); +PyAPI_FUNC(PyObject *) PyErr_SetFromErrno(PyObject *); +PyAPI_FUNC(PyObject *) PyErr_SetFromErrnoWithFilenameObject( + PyObject *, PyObject *); +#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x03040000 +PyAPI_FUNC(PyObject *) PyErr_SetFromErrnoWithFilenameObjects( + PyObject *, PyObject *, PyObject *); +#endif +PyAPI_FUNC(PyObject *) PyErr_SetFromErrnoWithFilename( + PyObject *exc, + const char *filename /* decoded from the filesystem encoding */ + ); + +PyAPI_FUNC(PyObject *) PyErr_Format( + PyObject *exception, + const char *format, /* ASCII-encoded string */ + ... + ); +#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x03050000 +PyAPI_FUNC(PyObject *) PyErr_FormatV( + PyObject *exception, + const char *format, + va_list vargs); +#endif + +#ifdef MS_WINDOWS +PyAPI_FUNC(PyObject *) PyErr_SetFromWindowsErrWithFilename( + int ierr, + const char *filename /* decoded from the filesystem encoding */ + ); +PyAPI_FUNC(PyObject *) PyErr_SetFromWindowsErr(int); +PyAPI_FUNC(PyObject *) PyErr_SetExcFromWindowsErrWithFilenameObject( + PyObject *,int, PyObject *); +#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x03040000 +PyAPI_FUNC(PyObject *) PyErr_SetExcFromWindowsErrWithFilenameObjects( + PyObject *,int, PyObject *, PyObject *); +#endif +PyAPI_FUNC(PyObject *) PyErr_SetExcFromWindowsErrWithFilename( + PyObject *exc, + int ierr, + const char *filename /* decoded from the filesystem encoding */ + ); +PyAPI_FUNC(PyObject *) PyErr_SetExcFromWindowsErr(PyObject *, int); +#endif /* MS_WINDOWS */ + +#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x03060000 +PyAPI_FUNC(PyObject *) PyErr_SetImportErrorSubclass(PyObject *, PyObject *, + PyObject *, PyObject *); +#endif +#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x03030000 +PyAPI_FUNC(PyObject *) PyErr_SetImportError(PyObject *, PyObject *, + PyObject *); +#endif + +/* Export the old function so that the existing API remains available: */ +PyAPI_FUNC(void) PyErr_BadInternalCall(void); +PyAPI_FUNC(void) _PyErr_BadInternalCall(const char *filename, int lineno); +/* Mask the old API with a call to the new API for code compiled under + Python 2.0: */ +#define PyErr_BadInternalCall() _PyErr_BadInternalCall(__FILE__, __LINE__) + +/* Function to create a new exception */ +PyAPI_FUNC(PyObject *) PyErr_NewException( + const char *name, PyObject *base, PyObject *dict); +PyAPI_FUNC(PyObject *) PyErr_NewExceptionWithDoc( + const char *name, const char *doc, PyObject *base, PyObject *dict); +PyAPI_FUNC(void) PyErr_WriteUnraisable(PyObject *); + + +/* In signalmodule.c */ +PyAPI_FUNC(int) PyErr_CheckSignals(void); +PyAPI_FUNC(void) PyErr_SetInterrupt(void); +#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x030A0000 +PyAPI_FUNC(int) PyErr_SetInterruptEx(int signum); +#endif + +/* Support for adding program text to SyntaxErrors */ +PyAPI_FUNC(void) PyErr_SyntaxLocation( + const char *filename, /* decoded from the filesystem encoding */ + int lineno); +PyAPI_FUNC(void) PyErr_SyntaxLocationEx( + const char *filename, /* decoded from the filesystem encoding */ + int lineno, + int col_offset); +PyAPI_FUNC(PyObject *) PyErr_ProgramText( + const char *filename, /* decoded from the filesystem encoding */ + int lineno); + +/* The following functions are used to create and modify unicode + exceptions from C */ + +/* create a UnicodeDecodeError object */ +PyAPI_FUNC(PyObject *) PyUnicodeDecodeError_Create( + const char *encoding, /* UTF-8 encoded string */ + const char *object, + Py_ssize_t length, + Py_ssize_t start, + Py_ssize_t end, + const char *reason /* UTF-8 encoded string */ + ); + +/* get the encoding attribute */ +PyAPI_FUNC(PyObject *) PyUnicodeEncodeError_GetEncoding(PyObject *); +PyAPI_FUNC(PyObject *) PyUnicodeDecodeError_GetEncoding(PyObject *); + +/* get the object attribute */ +PyAPI_FUNC(PyObject *) PyUnicodeEncodeError_GetObject(PyObject *); +PyAPI_FUNC(PyObject *) PyUnicodeDecodeError_GetObject(PyObject *); +PyAPI_FUNC(PyObject *) PyUnicodeTranslateError_GetObject(PyObject *); + +/* get the value of the start attribute (the int * may not be NULL) + return 0 on success, -1 on failure */ +PyAPI_FUNC(int) PyUnicodeEncodeError_GetStart(PyObject *, Py_ssize_t *); +PyAPI_FUNC(int) PyUnicodeDecodeError_GetStart(PyObject *, Py_ssize_t *); +PyAPI_FUNC(int) PyUnicodeTranslateError_GetStart(PyObject *, Py_ssize_t *); + +/* assign a new value to the start attribute + return 0 on success, -1 on failure */ +PyAPI_FUNC(int) PyUnicodeEncodeError_SetStart(PyObject *, Py_ssize_t); +PyAPI_FUNC(int) PyUnicodeDecodeError_SetStart(PyObject *, Py_ssize_t); +PyAPI_FUNC(int) PyUnicodeTranslateError_SetStart(PyObject *, Py_ssize_t); + +/* get the value of the end attribute (the int *may not be NULL) + return 0 on success, -1 on failure */ +PyAPI_FUNC(int) PyUnicodeEncodeError_GetEnd(PyObject *, Py_ssize_t *); +PyAPI_FUNC(int) PyUnicodeDecodeError_GetEnd(PyObject *, Py_ssize_t *); +PyAPI_FUNC(int) PyUnicodeTranslateError_GetEnd(PyObject *, Py_ssize_t *); + +/* assign a new value to the end attribute + return 0 on success, -1 on failure */ +PyAPI_FUNC(int) PyUnicodeEncodeError_SetEnd(PyObject *, Py_ssize_t); +PyAPI_FUNC(int) PyUnicodeDecodeError_SetEnd(PyObject *, Py_ssize_t); +PyAPI_FUNC(int) PyUnicodeTranslateError_SetEnd(PyObject *, Py_ssize_t); + +/* get the value of the reason attribute */ +PyAPI_FUNC(PyObject *) PyUnicodeEncodeError_GetReason(PyObject *); +PyAPI_FUNC(PyObject *) PyUnicodeDecodeError_GetReason(PyObject *); +PyAPI_FUNC(PyObject *) PyUnicodeTranslateError_GetReason(PyObject *); + +/* assign a new value to the reason attribute + return 0 on success, -1 on failure */ +PyAPI_FUNC(int) PyUnicodeEncodeError_SetReason( + PyObject *exc, + const char *reason /* UTF-8 encoded string */ + ); +PyAPI_FUNC(int) PyUnicodeDecodeError_SetReason( + PyObject *exc, + const char *reason /* UTF-8 encoded string */ + ); +PyAPI_FUNC(int) PyUnicodeTranslateError_SetReason( + PyObject *exc, + const char *reason /* UTF-8 encoded string */ + ); + +PyAPI_FUNC(int) PyOS_snprintf(char *str, size_t size, const char *format, ...) + Py_GCC_ATTRIBUTE((format(printf, 3, 4))); +PyAPI_FUNC(int) PyOS_vsnprintf(char *str, size_t size, const char *format, va_list va) + Py_GCC_ATTRIBUTE((format(printf, 3, 0))); + +#ifndef Py_LIMITED_API +# define Py_CPYTHON_ERRORS_H +# include "cpython/pyerrors.h" +# undef Py_CPYTHON_ERRORS_H +#endif + +#ifdef __cplusplus +} +#endif +#endif /* !Py_ERRORS_H */ diff --git a/_Python311_cpp/include/pyexpat.h b/_Pre_Builds/_Python310_cpp/include/pyexpat.h similarity index 100% rename from _Python311_cpp/include/pyexpat.h rename to _Pre_Builds/_Python310_cpp/include/pyexpat.h diff --git a/_Pre_Builds/_Python310_cpp/include/pyframe.h b/_Pre_Builds/_Python310_cpp/include/pyframe.h new file mode 100644 index 0000000..3816224 --- /dev/null +++ b/_Pre_Builds/_Python310_cpp/include/pyframe.h @@ -0,0 +1,22 @@ +/* Limited C API of PyFrame API + * + * Include "frameobject.h" to get the PyFrameObject structure. + */ + +#ifndef Py_PYFRAME_H +#define Py_PYFRAME_H +#ifdef __cplusplus +extern "C" { +#endif + +typedef struct _frame PyFrameObject; + +/* Return the line of code the frame is currently executing. */ +PyAPI_FUNC(int) PyFrame_GetLineNumber(PyFrameObject *); + +PyAPI_FUNC(PyCodeObject *) PyFrame_GetCode(PyFrameObject *frame); + +#ifdef __cplusplus +} +#endif +#endif /* !Py_PYFRAME_H */ diff --git a/_Pre_Builds/_Python310_cpp/include/pyhash.h b/_Pre_Builds/_Python310_cpp/include/pyhash.h new file mode 100644 index 0000000..a314ea9 --- /dev/null +++ b/_Pre_Builds/_Python310_cpp/include/pyhash.h @@ -0,0 +1,144 @@ +#ifndef Py_HASH_H + +#define Py_HASH_H +#ifdef __cplusplus +extern "C" { +#endif + +/* Helpers for hash functions */ +#ifndef Py_LIMITED_API +PyAPI_FUNC(Py_hash_t) _Py_HashDouble(PyObject *, double); +PyAPI_FUNC(Py_hash_t) _Py_HashPointer(const void*); +// Similar to _Py_HashPointer(), but don't replace -1 with -2 +PyAPI_FUNC(Py_hash_t) _Py_HashPointerRaw(const void*); +PyAPI_FUNC(Py_hash_t) _Py_HashBytes(const void*, Py_ssize_t); +#endif + +/* Prime multiplier used in string and various other hashes. */ +#define _PyHASH_MULTIPLIER 1000003UL /* 0xf4243 */ + +/* Parameters used for the numeric hash implementation. See notes for + _Py_HashDouble in Python/pyhash.c. Numeric hashes are based on + reduction modulo the prime 2**_PyHASH_BITS - 1. */ + +#if SIZEOF_VOID_P >= 8 +# define _PyHASH_BITS 61 +#else +# define _PyHASH_BITS 31 +#endif + +#define _PyHASH_MODULUS (((size_t)1 << _PyHASH_BITS) - 1) +#define _PyHASH_INF 314159 +#define _PyHASH_IMAG _PyHASH_MULTIPLIER + + +/* hash secret + * + * memory layout on 64 bit systems + * cccccccc cccccccc cccccccc uc -- unsigned char[24] + * pppppppp ssssssss ........ fnv -- two Py_hash_t + * k0k0k0k0 k1k1k1k1 ........ siphash -- two uint64_t + * ........ ........ ssssssss djbx33a -- 16 bytes padding + one Py_hash_t + * ........ ........ eeeeeeee pyexpat XML hash salt + * + * memory layout on 32 bit systems + * cccccccc cccccccc cccccccc uc + * ppppssss ........ ........ fnv -- two Py_hash_t + * k0k0k0k0 k1k1k1k1 ........ siphash -- two uint64_t (*) + * ........ ........ ssss.... djbx33a -- 16 bytes padding + one Py_hash_t + * ........ ........ eeee.... pyexpat XML hash salt + * + * (*) The siphash member may not be available on 32 bit platforms without + * an unsigned int64 data type. + */ +#ifndef Py_LIMITED_API +typedef union { + /* ensure 24 bytes */ + unsigned char uc[24]; + /* two Py_hash_t for FNV */ + struct { + Py_hash_t prefix; + Py_hash_t suffix; + } fnv; + /* two uint64 for SipHash24 */ + struct { + uint64_t k0; + uint64_t k1; + } siphash; + /* a different (!) Py_hash_t for small string optimization */ + struct { + unsigned char padding[16]; + Py_hash_t suffix; + } djbx33a; + struct { + unsigned char padding[16]; + Py_hash_t hashsalt; + } expat; +} _Py_HashSecret_t; +PyAPI_DATA(_Py_HashSecret_t) _Py_HashSecret; + +#ifdef Py_DEBUG +PyAPI_DATA(int) _Py_HashSecret_Initialized; +#endif + + +/* hash function definition */ +typedef struct { + Py_hash_t (*const hash)(const void *, Py_ssize_t); + const char *name; + const int hash_bits; + const int seed_bits; +} PyHash_FuncDef; + +PyAPI_FUNC(PyHash_FuncDef*) PyHash_GetFuncDef(void); +#endif + + +/* cutoff for small string DJBX33A optimization in range [1, cutoff). + * + * About 50% of the strings in a typical Python application are smaller than + * 6 to 7 chars. However DJBX33A is vulnerable to hash collision attacks. + * NEVER use DJBX33A for long strings! + * + * A Py_HASH_CUTOFF of 0 disables small string optimization. 32 bit platforms + * should use a smaller cutoff because it is easier to create colliding + * strings. A cutoff of 7 on 64bit platforms and 5 on 32bit platforms should + * provide a decent safety margin. + */ +#ifndef Py_HASH_CUTOFF +# define Py_HASH_CUTOFF 0 +#elif (Py_HASH_CUTOFF > 7 || Py_HASH_CUTOFF < 0) +# error Py_HASH_CUTOFF must in range 0...7. +#endif /* Py_HASH_CUTOFF */ + + +/* hash algorithm selection + * + * The values for Py_HASH_SIPHASH24 and Py_HASH_FNV are hard-coded in the + * configure script. + * + * - FNV is available on all platforms and architectures. + * - SIPHASH24 only works on platforms that don't require aligned memory for integers. + * - With EXTERNAL embedders can provide an alternative implementation with:: + * + * PyHash_FuncDef PyHash_Func = {...}; + * + * XXX: Figure out __declspec() for extern PyHash_FuncDef. + */ +#define Py_HASH_EXTERNAL 0 +#define Py_HASH_SIPHASH24 1 +#define Py_HASH_FNV 2 + +#ifndef Py_HASH_ALGORITHM +# ifndef HAVE_ALIGNED_REQUIRED +# define Py_HASH_ALGORITHM Py_HASH_SIPHASH24 +# else +# define Py_HASH_ALGORITHM Py_HASH_FNV +# endif /* uint64_t && uint32_t && aligned */ +#endif /* Py_HASH_ALGORITHM */ + +#ifdef __cplusplus +} +#endif + +#endif /* !Py_HASH_H */ diff --git a/_Pre_Builds/_Python310_cpp/include/pylifecycle.h b/_Pre_Builds/_Python310_cpp/include/pylifecycle.h new file mode 100644 index 0000000..2df7fe6 --- /dev/null +++ b/_Pre_Builds/_Python310_cpp/include/pylifecycle.h @@ -0,0 +1,74 @@ + +/* Interfaces to configure, query, create & destroy the Python runtime */ + +#ifndef Py_PYLIFECYCLE_H +#define Py_PYLIFECYCLE_H +#ifdef __cplusplus +extern "C" { +#endif + + +/* Initialization and finalization */ +PyAPI_FUNC(void) Py_Initialize(void); +PyAPI_FUNC(void) Py_InitializeEx(int); +PyAPI_FUNC(void) Py_Finalize(void); +#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x03060000 +PyAPI_FUNC(int) Py_FinalizeEx(void); +#endif +PyAPI_FUNC(int) Py_IsInitialized(void); + +/* Subinterpreter support */ +PyAPI_FUNC(PyThreadState *) Py_NewInterpreter(void); +PyAPI_FUNC(void) Py_EndInterpreter(PyThreadState *); + + +/* Py_PyAtExit is for the atexit module, Py_AtExit is for low-level + * exit functions. + */ +PyAPI_FUNC(int) Py_AtExit(void (*func)(void)); + +PyAPI_FUNC(void) _Py_NO_RETURN Py_Exit(int); + +/* Bootstrap __main__ (defined in Modules/main.c) */ +PyAPI_FUNC(int) Py_Main(int argc, wchar_t **argv); +PyAPI_FUNC(int) Py_BytesMain(int argc, char **argv); + +/* In pathconfig.c */ +PyAPI_FUNC(void) Py_SetProgramName(const wchar_t *); +PyAPI_FUNC(wchar_t *) Py_GetProgramName(void); + +PyAPI_FUNC(void) Py_SetPythonHome(const wchar_t *); +PyAPI_FUNC(wchar_t *) Py_GetPythonHome(void); + +PyAPI_FUNC(wchar_t *) Py_GetProgramFullPath(void); + +PyAPI_FUNC(wchar_t *) Py_GetPrefix(void); +PyAPI_FUNC(wchar_t *) Py_GetExecPrefix(void); +PyAPI_FUNC(wchar_t *) Py_GetPath(void); +PyAPI_FUNC(void) Py_SetPath(const wchar_t *); +#ifdef MS_WINDOWS +int _Py_CheckPython3(void); +#endif + +/* In their own files */ +PyAPI_FUNC(const char *) Py_GetVersion(void); +PyAPI_FUNC(const char *) Py_GetPlatform(void); +PyAPI_FUNC(const char *) Py_GetCopyright(void); +PyAPI_FUNC(const char *) Py_GetCompiler(void); +PyAPI_FUNC(const char *) Py_GetBuildInfo(void); + +/* Signals */ +typedef void (*PyOS_sighandler_t)(int); +PyAPI_FUNC(PyOS_sighandler_t) PyOS_getsig(int); +PyAPI_FUNC(PyOS_sighandler_t) PyOS_setsig(int, PyOS_sighandler_t); + +#ifndef Py_LIMITED_API +# define Py_CPYTHON_PYLIFECYCLE_H +# include "cpython/pylifecycle.h" +# undef Py_CPYTHON_PYLIFECYCLE_H +#endif + +#ifdef __cplusplus +} +#endif +#endif /* !Py_PYLIFECYCLE_H */ diff --git a/_Python311_cpp/include/pymacconfig.h b/_Pre_Builds/_Python310_cpp/include/pymacconfig.h similarity index 100% rename from _Python311_cpp/include/pymacconfig.h rename to _Pre_Builds/_Python310_cpp/include/pymacconfig.h diff --git a/_Pre_Builds/_Python310_cpp/include/pymacro.h b/_Pre_Builds/_Python310_cpp/include/pymacro.h new file mode 100644 index 0000000..202b936 --- /dev/null +++ b/_Pre_Builds/_Python310_cpp/include/pymacro.h @@ -0,0 +1,132 @@ +#ifndef Py_PYMACRO_H +#define Py_PYMACRO_H + +/* Minimum value between x and y */ +#define Py_MIN(x, y) (((x) > (y)) ? (y) : (x)) + +/* Maximum value between x and y */ +#define Py_MAX(x, y) (((x) > (y)) ? (x) : (y)) + +/* Absolute value of the number x */ +#define Py_ABS(x) ((x) < 0 ? -(x) : (x)) + +#define _Py_XSTRINGIFY(x) #x + +/* Convert the argument to a string. For example, Py_STRINGIFY(123) is replaced + with "123" by the preprocessor. Defines are also replaced by their value. + For example Py_STRINGIFY(__LINE__) is replaced by the line number, not + by "__LINE__". */ +#define Py_STRINGIFY(x) _Py_XSTRINGIFY(x) + +/* Get the size of a structure member in bytes */ +#define Py_MEMBER_SIZE(type, member) sizeof(((type *)0)->member) + +/* Argument must be a char or an int in [-128, 127] or [0, 255]. */ +#define Py_CHARMASK(c) ((unsigned char)((c) & 0xff)) + +/* Assert a build-time dependency, as an expression. + + Your compile will fail if the condition isn't true, or can't be evaluated + by the compiler. This can be used in an expression: its value is 0. + + Example: + + #define foo_to_char(foo) \ + ((char *)(foo) \ + + Py_BUILD_ASSERT_EXPR(offsetof(struct foo, string) == 0)) + + Written by Rusty Russell, public domain, http://ccodearchive.net/ */ +#define Py_BUILD_ASSERT_EXPR(cond) \ + (sizeof(char [1 - 2*!(cond)]) - 1) + +#define Py_BUILD_ASSERT(cond) do { \ + (void)Py_BUILD_ASSERT_EXPR(cond); \ + } while(0) + +/* Get the number of elements in a visible array + + This does not work on pointers, or arrays declared as [], or function + parameters. With correct compiler support, such usage will cause a build + error (see Py_BUILD_ASSERT_EXPR). + + Written by Rusty Russell, public domain, http://ccodearchive.net/ + + Requires at GCC 3.1+ */ +#if (defined(__GNUC__) && !defined(__STRICT_ANSI__) && \ + (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 1)) || (__GNUC__ >= 4))) +/* Two gcc extensions. + &a[0] degrades to a pointer: a different type from an array */ +#define Py_ARRAY_LENGTH(array) \ + (sizeof(array) / sizeof((array)[0]) \ + + Py_BUILD_ASSERT_EXPR(!__builtin_types_compatible_p(typeof(array), \ + typeof(&(array)[0])))) +#else +#define Py_ARRAY_LENGTH(array) \ + (sizeof(array) / sizeof((array)[0])) +#endif + + +/* Define macros for inline documentation. */ +#define PyDoc_VAR(name) static const char name[] +#define PyDoc_STRVAR(name,str) PyDoc_VAR(name) = PyDoc_STR(str) +#ifdef WITH_DOC_STRINGS +#define PyDoc_STR(str) str +#else +#define PyDoc_STR(str) "" +#endif + +/* Below "a" is a power of 2. */ +/* Round down size "n" to be a multiple of "a". */ +#define _Py_SIZE_ROUND_DOWN(n, a) ((size_t)(n) & ~(size_t)((a) - 1)) +/* Round up size "n" to be a multiple of "a". */ +#define _Py_SIZE_ROUND_UP(n, a) (((size_t)(n) + \ + (size_t)((a) - 1)) & ~(size_t)((a) - 1)) +/* Round pointer "p" down to the closest "a"-aligned address <= "p". */ +#define _Py_ALIGN_DOWN(p, a) ((void *)((uintptr_t)(p) & ~(uintptr_t)((a) - 1))) +/* Round pointer "p" up to the closest "a"-aligned address >= "p". */ +#define _Py_ALIGN_UP(p, a) ((void *)(((uintptr_t)(p) + \ + (uintptr_t)((a) - 1)) & ~(uintptr_t)((a) - 1))) +/* Check if pointer "p" is aligned to "a"-bytes boundary. */ +#define _Py_IS_ALIGNED(p, a) (!((uintptr_t)(p) & (uintptr_t)((a) - 1))) + +/* Use this for unused arguments in a function definition to silence compiler + * warnings. Example: + * + * int func(int a, int Py_UNUSED(b)) { return a; } + */ +#if defined(__GNUC__) || defined(__clang__) +# define Py_UNUSED(name) _unused_ ## name __attribute__((unused)) +#else +# define Py_UNUSED(name) _unused_ ## name +#endif + +#if defined(RANDALL_WAS_HERE) +# define Py_UNREACHABLE() \ + Py_FatalError( \ + "If you're seeing this, the code is in what I thought was\n" \ + "an unreachable state.\n\n" \ + "I could give you advice for what to do, but honestly, why\n" \ + "should you trust me? I clearly screwed this up. I'm writing\n" \ + "a message that should never appear, yet I know it will\n" \ + "probably appear someday.\n\n" \ + "On a deep level, I know I'm not up to this task.\n" \ + "I'm so sorry.\n" \ + "https://xkcd.com/2200") +#elif defined(Py_DEBUG) +# define Py_UNREACHABLE() \ + Py_FatalError( \ + "We've reached an unreachable state. Anything is possible.\n" \ + "The limits were in our heads all along. Follow your dreams.\n" \ + "https://xkcd.com/2200") +#elif defined(__GNUC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 5)) +# define Py_UNREACHABLE() __builtin_unreachable() +#elif defined(__clang__) || defined(__INTEL_COMPILER) +# define Py_UNREACHABLE() __builtin_unreachable() +#elif defined(_MSC_VER) +# define Py_UNREACHABLE() __assume(0) +#else +# define Py_UNREACHABLE() \ + Py_FatalError("Unreachable C code path reached") +#endif + +#endif /* Py_PYMACRO_H */ diff --git a/_Pre_Builds/_Python310_cpp/include/pymath.h b/_Pre_Builds/_Python310_cpp/include/pymath.h new file mode 100644 index 0000000..f869724 --- /dev/null +++ b/_Pre_Builds/_Python310_cpp/include/pymath.h @@ -0,0 +1,230 @@ +#ifndef Py_PYMATH_H +#define Py_PYMATH_H + +#include "pyconfig.h" /* include for defines */ + +/************************************************************************** +Symbols and macros to supply platform-independent interfaces to mathematical +functions and constants +**************************************************************************/ + +/* Python provides implementations for copysign, round and hypot in + * Python/pymath.c just in case your math library doesn't provide the + * functions. + * + *Note: PC/pyconfig.h defines copysign as _copysign + */ +#ifndef HAVE_COPYSIGN +extern double copysign(double, double); +#endif + +#ifndef HAVE_ROUND +extern double round(double); +#endif + +#ifndef HAVE_HYPOT +extern double hypot(double, double); +#endif + +/* extra declarations */ +#ifndef _MSC_VER +#ifndef __STDC__ +extern double fmod (double, double); +extern double frexp (double, int *); +extern double ldexp (double, int); +extern double modf (double, double *); +extern double pow(double, double); +#endif /* __STDC__ */ +#endif /* _MSC_VER */ + +/* High precision definition of pi and e (Euler) + * The values are taken from libc6's math.h. + */ +#ifndef Py_MATH_PIl +#define Py_MATH_PIl 3.1415926535897932384626433832795029L +#endif +#ifndef Py_MATH_PI +#define Py_MATH_PI 3.14159265358979323846 +#endif + +#ifndef Py_MATH_El +#define Py_MATH_El 2.7182818284590452353602874713526625L +#endif + +#ifndef Py_MATH_E +#define Py_MATH_E 2.7182818284590452354 +#endif + +/* Tau (2pi) to 40 digits, taken from tauday.com/tau-digits. */ +#ifndef Py_MATH_TAU +#define Py_MATH_TAU 6.2831853071795864769252867665590057683943L +#endif + + +/* On x86, Py_FORCE_DOUBLE forces a floating-point number out of an x87 FPU + register and into a 64-bit memory location, rounding from extended + precision to double precision in the process. On other platforms it does + nothing. */ + +/* we take double rounding as evidence of x87 usage */ +#ifndef Py_LIMITED_API +#ifndef Py_FORCE_DOUBLE +# ifdef X87_DOUBLE_ROUNDING +PyAPI_FUNC(double) _Py_force_double(double); +# define Py_FORCE_DOUBLE(X) (_Py_force_double(X)) +# else +# define Py_FORCE_DOUBLE(X) (X) +# endif +#endif +#endif + +#ifndef Py_LIMITED_API +#ifdef HAVE_GCC_ASM_FOR_X87 +PyAPI_FUNC(unsigned short) _Py_get_387controlword(void); +PyAPI_FUNC(void) _Py_set_387controlword(unsigned short); +#endif +#endif + +/* Py_IS_NAN(X) + * Return 1 if float or double arg is a NaN, else 0. + * Caution: + * X is evaluated more than once. + * This may not work on all platforms. Each platform has *some* + * way to spell this, though -- override in pyconfig.h if you have + * a platform where it doesn't work. + * Note: PC/pyconfig.h defines Py_IS_NAN as _isnan + */ +#ifndef Py_IS_NAN +#if defined HAVE_DECL_ISNAN && HAVE_DECL_ISNAN == 1 +#define Py_IS_NAN(X) isnan(X) +#else +#define Py_IS_NAN(X) ((X) != (X)) +#endif +#endif + +/* Py_IS_INFINITY(X) + * Return 1 if float or double arg is an infinity, else 0. + * Caution: + * X is evaluated more than once. + * This implementation may set the underflow flag if |X| is very small; + * it really can't be implemented correctly (& easily) before C99. + * Override in pyconfig.h if you have a better spelling on your platform. + * Py_FORCE_DOUBLE is used to avoid getting false negatives from a + * non-infinite value v sitting in an 80-bit x87 register such that + * v becomes infinite when spilled from the register to 64-bit memory. + * Note: PC/pyconfig.h defines Py_IS_INFINITY as _isinf + */ +#ifndef Py_IS_INFINITY +# if defined HAVE_DECL_ISINF && HAVE_DECL_ISINF == 1 +# define Py_IS_INFINITY(X) isinf(X) +# else +# define Py_IS_INFINITY(X) ((X) && \ + (Py_FORCE_DOUBLE(X)*0.5 == Py_FORCE_DOUBLE(X))) +# endif +#endif + +/* Py_IS_FINITE(X) + * Return 1 if float or double arg is neither infinite nor NAN, else 0. + * Some compilers (e.g. VisualStudio) have intrinsics for this, so a special + * macro for this particular test is useful + * Note: PC/pyconfig.h defines Py_IS_FINITE as _finite + */ +#ifndef Py_IS_FINITE +#if defined HAVE_DECL_ISFINITE && HAVE_DECL_ISFINITE == 1 +#define Py_IS_FINITE(X) isfinite(X) +#elif defined HAVE_FINITE +#define Py_IS_FINITE(X) finite(X) +#else +#define Py_IS_FINITE(X) (!Py_IS_INFINITY(X) && !Py_IS_NAN(X)) +#endif +#endif + +/* HUGE_VAL is supposed to expand to a positive double infinity. Python + * uses Py_HUGE_VAL instead because some platforms are broken in this + * respect. We used to embed code in pyport.h to try to worm around that, + * but different platforms are broken in conflicting ways. If you're on + * a platform where HUGE_VAL is defined incorrectly, fiddle your Python + * config to #define Py_HUGE_VAL to something that works on your platform. + */ +#ifndef Py_HUGE_VAL +#define Py_HUGE_VAL HUGE_VAL +#endif + +/* Py_NAN + * A value that evaluates to a NaN. On IEEE 754 platforms INF*0 or + * INF/INF works. Define Py_NO_NAN in pyconfig.h if your platform + * doesn't support NaNs. + */ +#if !defined(Py_NAN) && !defined(Py_NO_NAN) +#if !defined(__INTEL_COMPILER) + #define Py_NAN (Py_HUGE_VAL * 0.) +#else /* __INTEL_COMPILER */ + #if defined(ICC_NAN_STRICT) + #pragma float_control(push) + #pragma float_control(precise, on) + #pragma float_control(except, on) + #if defined(_MSC_VER) + __declspec(noinline) + #else /* Linux */ + __attribute__((noinline)) + #endif /* _MSC_VER */ + static double __icc_nan() + { + return sqrt(-1.0); + } + #pragma float_control (pop) + #define Py_NAN __icc_nan() + #else /* ICC_NAN_RELAXED as default for Intel Compiler */ + static const union { unsigned char buf[8]; double __icc_nan; } __nan_store = {0,0,0,0,0,0,0xf8,0x7f}; + #define Py_NAN (__nan_store.__icc_nan) + #endif /* ICC_NAN_STRICT */ +#endif /* __INTEL_COMPILER */ +#endif + +/* Py_OVERFLOWED(X) + * Return 1 iff a libm function overflowed. Set errno to 0 before calling + * a libm function, and invoke this macro after, passing the function + * result. + * Caution: + * This isn't reliable. C99 no longer requires libm to set errno under + * any exceptional condition, but does require +- HUGE_VAL return + * values on overflow. A 754 box *probably* maps HUGE_VAL to a + * double infinity, and we're cool if that's so, unless the input + * was an infinity and an infinity is the expected result. A C89 + * system sets errno to ERANGE, so we check for that too. We're + * out of luck if a C99 754 box doesn't map HUGE_VAL to +Inf, or + * if the returned result is a NaN, or if a C89 box returns HUGE_VAL + * in non-overflow cases. + * X is evaluated more than once. + * Some platforms have better way to spell this, so expect some #ifdef'ery. + * + * OpenBSD uses 'isinf()' because a compiler bug on that platform causes + * the longer macro version to be mis-compiled. This isn't optimal, and + * should be removed once a newer compiler is available on that platform. + * The system that had the failure was running OpenBSD 3.2 on Intel, with + * gcc 2.95.3. + * + * According to Tim's checkin, the FreeBSD systems use isinf() to work + * around a FPE bug on that platform. + */ +#if defined(__FreeBSD__) || defined(__OpenBSD__) +#define Py_OVERFLOWED(X) isinf(X) +#else +#define Py_OVERFLOWED(X) ((X) != 0.0 && (errno == ERANGE || \ + (X) == Py_HUGE_VAL || \ + (X) == -Py_HUGE_VAL)) +#endif + +/* Return whether integral type *type* is signed or not. */ +#define _Py_IntegralTypeSigned(type) ((type)(-1) < 0) +/* Return the maximum value of integral type *type*. */ +#define _Py_IntegralTypeMax(type) ((_Py_IntegralTypeSigned(type)) ? (((((type)1 << (sizeof(type)*CHAR_BIT - 2)) - 1) << 1) + 1) : ~(type)0) +/* Return the minimum value of integral type *type*. */ +#define _Py_IntegralTypeMin(type) ((_Py_IntegralTypeSigned(type)) ? -_Py_IntegralTypeMax(type) - 1 : 0) +/* Check whether *v* is in the range of integral type *type*. This is most + * useful if *v* is floating-point, since demoting a floating-point *v* to an + * integral type that cannot represent *v*'s integral part is undefined + * behavior. */ +#define _Py_InIntegralTypeRange(type, v) (_Py_IntegralTypeMin(type) <= v && v <= _Py_IntegralTypeMax(type)) + +#endif /* Py_PYMATH_H */ diff --git a/_Pre_Builds/_Python310_cpp/include/pymem.h b/_Pre_Builds/_Python310_cpp/include/pymem.h new file mode 100644 index 0000000..66cdb0d --- /dev/null +++ b/_Pre_Builds/_Python310_cpp/include/pymem.h @@ -0,0 +1,104 @@ +/* The PyMem_ family: low-level memory allocation interfaces. + See objimpl.h for the PyObject_ memory family. +*/ + +#ifndef Py_PYMEM_H +#define Py_PYMEM_H + +#include "pyport.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* BEWARE: + + Each interface exports both functions and macros. Extension modules should + use the functions, to ensure binary compatibility across Python versions. + Because the Python implementation is free to change internal details, and + the macros may (or may not) expose details for speed, if you do use the + macros you must recompile your extensions with each Python release. + + Never mix calls to PyMem_ with calls to the platform malloc/realloc/ + calloc/free. For example, on Windows different DLLs may end up using + different heaps, and if you use PyMem_Malloc you'll get the memory from the + heap used by the Python DLL; it could be a disaster if you free()'ed that + directly in your own extension. Using PyMem_Free instead ensures Python + can return the memory to the proper heap. As another example, in + a debug build (Py_DEBUG macro), Python wraps all calls to all PyMem_ and + PyObject_ memory functions in special debugging wrappers that add additional + debugging info to dynamic memory blocks. The system routines have no idea + what to do with that stuff, and the Python wrappers have no idea what to do + with raw blocks obtained directly by the system routines then. + + The GIL must be held when using these APIs. +*/ + +/* + * Raw memory interface + * ==================== + */ + +/* Functions + + Functions supplying platform-independent semantics for malloc/realloc/ + free. These functions make sure that allocating 0 bytes returns a distinct + non-NULL pointer (whenever possible -- if we're flat out of memory, NULL + may be returned), even if the platform malloc and realloc don't. + Returned pointers must be checked for NULL explicitly. No action is + performed on failure (no exception is set, no warning is printed, etc). +*/ + +PyAPI_FUNC(void *) PyMem_Malloc(size_t size); +PyAPI_FUNC(void *) PyMem_Calloc(size_t nelem, size_t elsize); +PyAPI_FUNC(void *) PyMem_Realloc(void *ptr, size_t new_size); +PyAPI_FUNC(void) PyMem_Free(void *ptr); + +/* + * Type-oriented memory interface + * ============================== + * + * Allocate memory for n objects of the given type. Returns a new pointer + * or NULL if the request was too large or memory allocation failed. Use + * these macros rather than doing the multiplication yourself so that proper + * overflow checking is always done. + */ + +#define PyMem_New(type, n) \ + ( ((size_t)(n) > PY_SSIZE_T_MAX / sizeof(type)) ? NULL : \ + ( (type *) PyMem_Malloc((n) * sizeof(type)) ) ) + +/* + * The value of (p) is always clobbered by this macro regardless of success. + * The caller MUST check if (p) is NULL afterwards and deal with the memory + * error if so. This means the original value of (p) MUST be saved for the + * caller's memory error handler to not lose track of it. + */ +#define PyMem_Resize(p, type, n) \ + ( (p) = ((size_t)(n) > PY_SSIZE_T_MAX / sizeof(type)) ? NULL : \ + (type *) PyMem_Realloc((p), (n) * sizeof(type)) ) + + +// Deprecated aliases only kept for backward compatibility. +// PyMem_Del and PyMem_DEL are defined with no parameter to be able to use +// them as function pointers (ex: dealloc = PyMem_Del). +#define PyMem_MALLOC(n) PyMem_Malloc(n) +#define PyMem_NEW(type, n) PyMem_New(type, n) +#define PyMem_REALLOC(p, n) PyMem_Realloc(p, n) +#define PyMem_RESIZE(p, type, n) PyMem_Resize(p, type, n) +#define PyMem_FREE(p) PyMem_Free(p) +#define PyMem_Del PyMem_Free +#define PyMem_DEL PyMem_Free + + +#ifndef Py_LIMITED_API +# define Py_CPYTHON_PYMEM_H +# include "cpython/pymem.h" +# undef Py_CPYTHON_PYMEM_H +#endif + +#ifdef __cplusplus +} +#endif + +#endif /* !Py_PYMEM_H */ diff --git a/_Pre_Builds/_Python310_cpp/include/pyport.h b/_Pre_Builds/_Python310_cpp/include/pyport.h new file mode 100644 index 0000000..6ab0ae4 --- /dev/null +++ b/_Pre_Builds/_Python310_cpp/include/pyport.h @@ -0,0 +1,889 @@ +#ifndef Py_PYPORT_H +#define Py_PYPORT_H + +#include "pyconfig.h" /* include for defines */ + +#include + + +/* Defines to build Python and its standard library: + * + * - Py_BUILD_CORE: Build Python core. Give access to Python internals, but + * should not be used by third-party modules. + * - Py_BUILD_CORE_BUILTIN: Build a Python stdlib module as a built-in module. + * - Py_BUILD_CORE_MODULE: Build a Python stdlib module as a dynamic library. + * + * Py_BUILD_CORE_BUILTIN and Py_BUILD_CORE_MODULE imply Py_BUILD_CORE. + * + * On Windows, Py_BUILD_CORE_MODULE exports "PyInit_xxx" symbol, whereas + * Py_BUILD_CORE_BUILTIN does not. + */ +#if defined(Py_BUILD_CORE_BUILTIN) && !defined(Py_BUILD_CORE) +# define Py_BUILD_CORE +#endif +#if defined(Py_BUILD_CORE_MODULE) && !defined(Py_BUILD_CORE) +# define Py_BUILD_CORE +#endif + + +/************************************************************************** +Symbols and macros to supply platform-independent interfaces to basic +C language & library operations whose spellings vary across platforms. + +Please try to make documentation here as clear as possible: by definition, +the stuff here is trying to illuminate C's darkest corners. + +Config #defines referenced here: + +SIGNED_RIGHT_SHIFT_ZERO_FILLS +Meaning: To be defined iff i>>j does not extend the sign bit when i is a + signed integral type and i < 0. +Used in: Py_ARITHMETIC_RIGHT_SHIFT + +Py_DEBUG +Meaning: Extra checks compiled in for debug mode. +Used in: Py_SAFE_DOWNCAST + +**************************************************************************/ + +/* typedefs for some C9X-defined synonyms for integral types. + * + * The names in Python are exactly the same as the C9X names, except with a + * Py_ prefix. Until C9X is universally implemented, this is the only way + * to ensure that Python gets reliable names that don't conflict with names + * in non-Python code that are playing their own tricks to define the C9X + * names. + * + * NOTE: don't go nuts here! Python has no use for *most* of the C9X + * integral synonyms. Only define the ones we actually need. + */ + +/* long long is required. Ensure HAVE_LONG_LONG is defined for compatibility. */ +#ifndef HAVE_LONG_LONG +#define HAVE_LONG_LONG 1 +#endif +#ifndef PY_LONG_LONG +#define PY_LONG_LONG long long +/* If LLONG_MAX is defined in limits.h, use that. */ +#define PY_LLONG_MIN LLONG_MIN +#define PY_LLONG_MAX LLONG_MAX +#define PY_ULLONG_MAX ULLONG_MAX +#endif + +#define PY_UINT32_T uint32_t +#define PY_UINT64_T uint64_t + +/* Signed variants of the above */ +#define PY_INT32_T int32_t +#define PY_INT64_T int64_t + +/* If PYLONG_BITS_IN_DIGIT is not defined then we'll use 30-bit digits if all + the necessary integer types are available, and we're on a 64-bit platform + (as determined by SIZEOF_VOID_P); otherwise we use 15-bit digits. */ + +#ifndef PYLONG_BITS_IN_DIGIT +#if SIZEOF_VOID_P >= 8 +#define PYLONG_BITS_IN_DIGIT 30 +#else +#define PYLONG_BITS_IN_DIGIT 15 +#endif +#endif + +/* uintptr_t is the C9X name for an unsigned integral type such that a + * legitimate void* can be cast to uintptr_t and then back to void* again + * without loss of information. Similarly for intptr_t, wrt a signed + * integral type. + */ +typedef uintptr_t Py_uintptr_t; +typedef intptr_t Py_intptr_t; + +/* Py_ssize_t is a signed integral type such that sizeof(Py_ssize_t) == + * sizeof(size_t). C99 doesn't define such a thing directly (size_t is an + * unsigned integral type). See PEP 353 for details. + */ +#ifdef HAVE_PY_SSIZE_T + +#elif HAVE_SSIZE_T +typedef ssize_t Py_ssize_t; +#elif SIZEOF_VOID_P == SIZEOF_SIZE_T +typedef Py_intptr_t Py_ssize_t; +#else +# error "Python needs a typedef for Py_ssize_t in pyport.h." +#endif + +/* Py_hash_t is the same size as a pointer. */ +#define SIZEOF_PY_HASH_T SIZEOF_SIZE_T +typedef Py_ssize_t Py_hash_t; +/* Py_uhash_t is the unsigned equivalent needed to calculate numeric hash. */ +#define SIZEOF_PY_UHASH_T SIZEOF_SIZE_T +typedef size_t Py_uhash_t; + +/* Only used for compatibility with code that may not be PY_SSIZE_T_CLEAN. */ +#ifdef PY_SSIZE_T_CLEAN +typedef Py_ssize_t Py_ssize_clean_t; +#else +typedef int Py_ssize_clean_t; +#endif + +/* Largest possible value of size_t. */ +#define PY_SIZE_MAX SIZE_MAX + +/* Largest positive value of type Py_ssize_t. */ +#define PY_SSIZE_T_MAX ((Py_ssize_t)(((size_t)-1)>>1)) +/* Smallest negative value of type Py_ssize_t. */ +#define PY_SSIZE_T_MIN (-PY_SSIZE_T_MAX-1) + +/* Macro kept for backward compatibility: use "z" in new code. + * + * PY_FORMAT_SIZE_T is a platform-specific modifier for use in a printf + * format to convert an argument with the width of a size_t or Py_ssize_t. + * C99 introduced "z" for this purpose, but old MSVCs had not supported it. + * Since MSVC supports "z" since (at least) 2015, we can just use "z" + * for new code. + * + * These "high level" Python format functions interpret "z" correctly on + * all platforms (Python interprets the format string itself, and does whatever + * the platform C requires to convert a size_t/Py_ssize_t argument): + * + * PyBytes_FromFormat + * PyErr_Format + * PyBytes_FromFormatV + * PyUnicode_FromFormatV + * + * Lower-level uses require that you interpolate the correct format modifier + * yourself (e.g., calling printf, fprintf, sprintf, PyOS_snprintf); for + * example, + * + * Py_ssize_t index; + * fprintf(stderr, "index %" PY_FORMAT_SIZE_T "d sucks\n", index); + * + * That will expand to %zd or to something else correct for a Py_ssize_t on + * the platform. + */ +#ifndef PY_FORMAT_SIZE_T +# define PY_FORMAT_SIZE_T "z" +#endif + +/* Py_LOCAL can be used instead of static to get the fastest possible calling + * convention for functions that are local to a given module. + * + * Py_LOCAL_INLINE does the same thing, and also explicitly requests inlining, + * for platforms that support that. + * + * If PY_LOCAL_AGGRESSIVE is defined before python.h is included, more + * "aggressive" inlining/optimization is enabled for the entire module. This + * may lead to code bloat, and may slow things down for those reasons. It may + * also lead to errors, if the code relies on pointer aliasing. Use with + * care. + * + * NOTE: You can only use this for functions that are entirely local to a + * module; functions that are exported via method tables, callbacks, etc, + * should keep using static. + */ + +#if defined(_MSC_VER) +# if defined(PY_LOCAL_AGGRESSIVE) + /* enable more aggressive optimization for MSVC */ + /* active in both release and debug builds - see bpo-43271 */ +# pragma optimize("gt", on) +#endif + /* ignore warnings if the compiler decides not to inline a function */ +# pragma warning(disable: 4710) + /* fastest possible local call under MSVC */ +# define Py_LOCAL(type) static type __fastcall +# define Py_LOCAL_INLINE(type) static __inline type __fastcall +#else +# define Py_LOCAL(type) static type +# define Py_LOCAL_INLINE(type) static inline type +#endif + +/* Py_MEMCPY is kept for backwards compatibility, + * see https://bugs.python.org/issue28126 */ +#define Py_MEMCPY memcpy + +#include + +#ifdef HAVE_IEEEFP_H +#include /* needed for 'finite' declaration on some platforms */ +#endif + +#include /* Moved here from the math section, before extern "C" */ + +/******************************************** + * WRAPPER FOR and/or * + ********************************************/ + +#ifdef TIME_WITH_SYS_TIME +#include +#include +#else /* !TIME_WITH_SYS_TIME */ +#ifdef HAVE_SYS_TIME_H +#include +#else /* !HAVE_SYS_TIME_H */ +#include +#endif /* !HAVE_SYS_TIME_H */ +#endif /* !TIME_WITH_SYS_TIME */ + + +/****************************** + * WRAPPER FOR * + ******************************/ + +/* NB caller must include */ + +#ifdef HAVE_SYS_SELECT_H +#include +#endif /* !HAVE_SYS_SELECT_H */ + +/******************************* + * stat() and fstat() fiddling * + *******************************/ + +#ifdef HAVE_SYS_STAT_H +#include +#elif defined(HAVE_STAT_H) +#include +#endif + +#ifndef S_IFMT +/* VisualAge C/C++ Failed to Define MountType Field in sys/stat.h */ +#define S_IFMT 0170000 +#endif + +#ifndef S_IFLNK +/* Windows doesn't define S_IFLNK but posixmodule.c maps + * IO_REPARSE_TAG_SYMLINK to S_IFLNK */ +# define S_IFLNK 0120000 +#endif + +#ifndef S_ISREG +#define S_ISREG(x) (((x) & S_IFMT) == S_IFREG) +#endif + +#ifndef S_ISDIR +#define S_ISDIR(x) (((x) & S_IFMT) == S_IFDIR) +#endif + +#ifndef S_ISCHR +#define S_ISCHR(x) (((x) & S_IFMT) == S_IFCHR) +#endif + +#ifdef __cplusplus +/* Move this down here since some C++ #include's don't like to be included + inside an extern "C" */ +extern "C" { +#endif + + +/* Py_ARITHMETIC_RIGHT_SHIFT + * C doesn't define whether a right-shift of a signed integer sign-extends + * or zero-fills. Here a macro to force sign extension: + * Py_ARITHMETIC_RIGHT_SHIFT(TYPE, I, J) + * Return I >> J, forcing sign extension. Arithmetically, return the + * floor of I/2**J. + * Requirements: + * I should have signed integer type. In the terminology of C99, this can + * be either one of the five standard signed integer types (signed char, + * short, int, long, long long) or an extended signed integer type. + * J is an integer >= 0 and strictly less than the number of bits in the + * type of I (because C doesn't define what happens for J outside that + * range either). + * TYPE used to specify the type of I, but is now ignored. It's been left + * in for backwards compatibility with versions <= 2.6 or 3.0. + * Caution: + * I may be evaluated more than once. + */ +#ifdef SIGNED_RIGHT_SHIFT_ZERO_FILLS +#define Py_ARITHMETIC_RIGHT_SHIFT(TYPE, I, J) \ + ((I) < 0 ? -1-((-1-(I)) >> (J)) : (I) >> (J)) +#else +#define Py_ARITHMETIC_RIGHT_SHIFT(TYPE, I, J) ((I) >> (J)) +#endif + +/* Py_FORCE_EXPANSION(X) + * "Simply" returns its argument. However, macro expansions within the + * argument are evaluated. This unfortunate trickery is needed to get + * token-pasting to work as desired in some cases. + */ +#define Py_FORCE_EXPANSION(X) X + +/* Py_SAFE_DOWNCAST(VALUE, WIDE, NARROW) + * Cast VALUE to type NARROW from type WIDE. In Py_DEBUG mode, this + * assert-fails if any information is lost. + * Caution: + * VALUE may be evaluated more than once. + */ +#ifdef Py_DEBUG +#define Py_SAFE_DOWNCAST(VALUE, WIDE, NARROW) \ + (assert((WIDE)(NARROW)(VALUE) == (VALUE)), (NARROW)(VALUE)) +#else +#define Py_SAFE_DOWNCAST(VALUE, WIDE, NARROW) (NARROW)(VALUE) +#endif + +/* Py_SET_ERRNO_ON_MATH_ERROR(x) + * If a libm function did not set errno, but it looks like the result + * overflowed or not-a-number, set errno to ERANGE or EDOM. Set errno + * to 0 before calling a libm function, and invoke this macro after, + * passing the function result. + * Caution: + * This isn't reliable. See Py_OVERFLOWED comments. + * X is evaluated more than once. + */ +#if defined(__FreeBSD__) || defined(__OpenBSD__) || (defined(__hpux) && defined(__ia64)) +#define _Py_SET_EDOM_FOR_NAN(X) if (isnan(X)) errno = EDOM; +#else +#define _Py_SET_EDOM_FOR_NAN(X) ; +#endif +#define Py_SET_ERRNO_ON_MATH_ERROR(X) \ + do { \ + if (errno == 0) { \ + if ((X) == Py_HUGE_VAL || (X) == -Py_HUGE_VAL) \ + errno = ERANGE; \ + else _Py_SET_EDOM_FOR_NAN(X) \ + } \ + } while(0) + +/* Py_SET_ERANGE_IF_OVERFLOW(x) + * An alias of Py_SET_ERRNO_ON_MATH_ERROR for backward-compatibility. + */ +#define Py_SET_ERANGE_IF_OVERFLOW(X) Py_SET_ERRNO_ON_MATH_ERROR(X) + +/* Py_ADJUST_ERANGE1(x) + * Py_ADJUST_ERANGE2(x, y) + * Set errno to 0 before calling a libm function, and invoke one of these + * macros after, passing the function result(s) (Py_ADJUST_ERANGE2 is useful + * for functions returning complex results). This makes two kinds of + * adjustments to errno: (A) If it looks like the platform libm set + * errno=ERANGE due to underflow, clear errno. (B) If it looks like the + * platform libm overflowed but didn't set errno, force errno to ERANGE. In + * effect, we're trying to force a useful implementation of C89 errno + * behavior. + * Caution: + * This isn't reliable. See Py_OVERFLOWED comments. + * X and Y may be evaluated more than once. + */ +#define Py_ADJUST_ERANGE1(X) \ + do { \ + if (errno == 0) { \ + if ((X) == Py_HUGE_VAL || (X) == -Py_HUGE_VAL) \ + errno = ERANGE; \ + } \ + else if (errno == ERANGE && (X) == 0.0) \ + errno = 0; \ + } while(0) + +#define Py_ADJUST_ERANGE2(X, Y) \ + do { \ + if ((X) == Py_HUGE_VAL || (X) == -Py_HUGE_VAL || \ + (Y) == Py_HUGE_VAL || (Y) == -Py_HUGE_VAL) { \ + if (errno == 0) \ + errno = ERANGE; \ + } \ + else if (errno == ERANGE) \ + errno = 0; \ + } while(0) + +/* The functions _Py_dg_strtod and _Py_dg_dtoa in Python/dtoa.c (which are + * required to support the short float repr introduced in Python 3.1) require + * that the floating-point unit that's being used for arithmetic operations + * on C doubles is set to use 53-bit precision. It also requires that the + * FPU rounding mode is round-half-to-even, but that's less often an issue. + * + * If your FPU isn't already set to 53-bit precision/round-half-to-even, and + * you want to make use of _Py_dg_strtod and _Py_dg_dtoa, then you should + * + * #define HAVE_PY_SET_53BIT_PRECISION 1 + * + * and also give appropriate definitions for the following three macros: + * + * _PY_SET_53BIT_PRECISION_START : store original FPU settings, and + * set FPU to 53-bit precision/round-half-to-even + * _PY_SET_53BIT_PRECISION_END : restore original FPU settings + * _PY_SET_53BIT_PRECISION_HEADER : any variable declarations needed to + * use the two macros above. + * + * The macros are designed to be used within a single C function: see + * Python/pystrtod.c for an example of their use. + */ + +/* get and set x87 control word for gcc/x86 */ +#ifdef HAVE_GCC_ASM_FOR_X87 +#define HAVE_PY_SET_53BIT_PRECISION 1 +/* _Py_get/set_387controlword functions are defined in Python/pymath.c */ +#define _Py_SET_53BIT_PRECISION_HEADER \ + unsigned short old_387controlword, new_387controlword +#define _Py_SET_53BIT_PRECISION_START \ + do { \ + old_387controlword = _Py_get_387controlword(); \ + new_387controlword = (old_387controlword & ~0x0f00) | 0x0200; \ + if (new_387controlword != old_387controlword) \ + _Py_set_387controlword(new_387controlword); \ + } while (0) +#define _Py_SET_53BIT_PRECISION_END \ + if (new_387controlword != old_387controlword) \ + _Py_set_387controlword(old_387controlword) +#endif + +/* get and set x87 control word for VisualStudio/x86 */ +#if defined(_MSC_VER) && !defined(_WIN64) && !defined(_M_ARM) /* x87 not supported in 64-bit or ARM */ +#define HAVE_PY_SET_53BIT_PRECISION 1 +#define _Py_SET_53BIT_PRECISION_HEADER \ + unsigned int old_387controlword, new_387controlword, out_387controlword +/* We use the __control87_2 function to set only the x87 control word. + The SSE control word is unaffected. */ +#define _Py_SET_53BIT_PRECISION_START \ + do { \ + __control87_2(0, 0, &old_387controlword, NULL); \ + new_387controlword = \ + (old_387controlword & ~(_MCW_PC | _MCW_RC)) | (_PC_53 | _RC_NEAR); \ + if (new_387controlword != old_387controlword) \ + __control87_2(new_387controlword, _MCW_PC | _MCW_RC, \ + &out_387controlword, NULL); \ + } while (0) +#define _Py_SET_53BIT_PRECISION_END \ + do { \ + if (new_387controlword != old_387controlword) \ + __control87_2(old_387controlword, _MCW_PC | _MCW_RC, \ + &out_387controlword, NULL); \ + } while (0) +#endif + +#ifdef HAVE_GCC_ASM_FOR_MC68881 +#define HAVE_PY_SET_53BIT_PRECISION 1 +#define _Py_SET_53BIT_PRECISION_HEADER \ + unsigned int old_fpcr, new_fpcr +#define _Py_SET_53BIT_PRECISION_START \ + do { \ + __asm__ ("fmove.l %%fpcr,%0" : "=g" (old_fpcr)); \ + /* Set double precision / round to nearest. */ \ + new_fpcr = (old_fpcr & ~0xf0) | 0x80; \ + if (new_fpcr != old_fpcr) \ + __asm__ volatile ("fmove.l %0,%%fpcr" : : "g" (new_fpcr)); \ + } while (0) +#define _Py_SET_53BIT_PRECISION_END \ + do { \ + if (new_fpcr != old_fpcr) \ + __asm__ volatile ("fmove.l %0,%%fpcr" : : "g" (old_fpcr)); \ + } while (0) +#endif + +/* default definitions are empty */ +#ifndef HAVE_PY_SET_53BIT_PRECISION +#define _Py_SET_53BIT_PRECISION_HEADER +#define _Py_SET_53BIT_PRECISION_START +#define _Py_SET_53BIT_PRECISION_END +#endif + +/* If we can't guarantee 53-bit precision, don't use the code + in Python/dtoa.c, but fall back to standard code. This + means that repr of a float will be long (17 sig digits). + + Realistically, there are two things that could go wrong: + + (1) doubles aren't IEEE 754 doubles, or + (2) we're on x86 with the rounding precision set to 64-bits + (extended precision), and we don't know how to change + the rounding precision. + */ + +#if !defined(DOUBLE_IS_LITTLE_ENDIAN_IEEE754) && \ + !defined(DOUBLE_IS_BIG_ENDIAN_IEEE754) && \ + !defined(DOUBLE_IS_ARM_MIXED_ENDIAN_IEEE754) +#define PY_NO_SHORT_FLOAT_REPR +#endif + +/* double rounding is symptomatic of use of extended precision on x86. If + we're seeing double rounding, and we don't have any mechanism available for + changing the FPU rounding precision, then don't use Python/dtoa.c. */ +#if defined(X87_DOUBLE_ROUNDING) && !defined(HAVE_PY_SET_53BIT_PRECISION) +#define PY_NO_SHORT_FLOAT_REPR +#endif + + +/* Py_DEPRECATED(version) + * Declare a variable, type, or function deprecated. + * The macro must be placed before the declaration. + * Usage: + * Py_DEPRECATED(3.3) extern int old_var; + * Py_DEPRECATED(3.4) typedef int T1; + * Py_DEPRECATED(3.8) PyAPI_FUNC(int) Py_OldFunction(void); + */ +#if defined(__GNUC__) \ + && ((__GNUC__ >= 4) || (__GNUC__ == 3) && (__GNUC_MINOR__ >= 1)) +#define Py_DEPRECATED(VERSION_UNUSED) __attribute__((__deprecated__)) +#elif defined(_MSC_VER) +#define Py_DEPRECATED(VERSION) __declspec(deprecated( \ + "deprecated in " #VERSION)) +#else +#define Py_DEPRECATED(VERSION_UNUSED) +#endif + +#if defined(__clang__) +#define _Py_COMP_DIAG_PUSH _Pragma("clang diagnostic push") +#define _Py_COMP_DIAG_IGNORE_DEPR_DECLS \ + _Pragma("clang diagnostic ignored \"-Wdeprecated-declarations\"") +#define _Py_COMP_DIAG_POP _Pragma("clang diagnostic pop") +#elif defined(__GNUC__) \ + && ((__GNUC__ >= 5) || (__GNUC__ == 4) && (__GNUC_MINOR__ >= 6)) +#define _Py_COMP_DIAG_PUSH _Pragma("GCC diagnostic push") +#define _Py_COMP_DIAG_IGNORE_DEPR_DECLS \ + _Pragma("GCC diagnostic ignored \"-Wdeprecated-declarations\"") +#define _Py_COMP_DIAG_POP _Pragma("GCC diagnostic pop") +#elif defined(_MSC_VER) +#define _Py_COMP_DIAG_PUSH __pragma(warning(push)) +#define _Py_COMP_DIAG_IGNORE_DEPR_DECLS __pragma(warning(disable: 4996)) +#define _Py_COMP_DIAG_POP __pragma(warning(pop)) +#else +#define _Py_COMP_DIAG_PUSH +#define _Py_COMP_DIAG_IGNORE_DEPR_DECLS +#define _Py_COMP_DIAG_POP +#endif + +/* _Py_HOT_FUNCTION + * The hot attribute on a function is used to inform the compiler that the + * function is a hot spot of the compiled program. The function is optimized + * more aggressively and on many target it is placed into special subsection of + * the text section so all hot functions appears close together improving + * locality. + * + * Usage: + * int _Py_HOT_FUNCTION x(void) { return 3; } + * + * Issue #28618: This attribute must not be abused, otherwise it can have a + * negative effect on performance. Only the functions were Python spend most of + * its time must use it. Use a profiler when running performance benchmark + * suite to find these functions. + */ +#if defined(__GNUC__) \ + && ((__GNUC__ >= 5) || (__GNUC__ == 4) && (__GNUC_MINOR__ >= 3)) +#define _Py_HOT_FUNCTION __attribute__((hot)) +#else +#define _Py_HOT_FUNCTION +#endif + +/* _Py_NO_INLINE + * Disable inlining on a function. For example, it helps to reduce the C stack + * consumption. + * + * Usage: + * int _Py_NO_INLINE x(void) { return 3; } + */ +#if defined(_MSC_VER) +# define _Py_NO_INLINE __declspec(noinline) +#elif defined(__GNUC__) || defined(__clang__) +# define _Py_NO_INLINE __attribute__ ((noinline)) +#else +# define _Py_NO_INLINE +#endif + +/************************************************************************** +Prototypes that are missing from the standard include files on some systems +(and possibly only some versions of such systems.) + +Please be conservative with adding new ones, document them and enclose them +in platform-specific #ifdefs. +**************************************************************************/ + +#ifdef SOLARIS +/* Unchecked */ +extern int gethostname(char *, int); +#endif + +#ifdef HAVE__GETPTY +#include /* we need to import mode_t */ +extern char * _getpty(int *, int, mode_t, int); +#endif + +/* On QNX 6, struct termio must be declared by including sys/termio.h + if TCGETA, TCSETA, TCSETAW, or TCSETAF are used. sys/termio.h must + be included before termios.h or it will generate an error. */ +#if defined(HAVE_SYS_TERMIO_H) && !defined(__hpux) +#include +#endif + + +/* On 4.4BSD-descendants, ctype functions serves the whole range of + * wchar_t character set rather than single byte code points only. + * This characteristic can break some operations of string object + * including str.upper() and str.split() on UTF-8 locales. This + * workaround was provided by Tim Robbins of FreeBSD project. + */ + +#if defined(__APPLE__) +# define _PY_PORT_CTYPE_UTF8_ISSUE +#endif + +#ifdef _PY_PORT_CTYPE_UTF8_ISSUE +#ifndef __cplusplus + /* The workaround below is unsafe in C++ because + * the defines these symbols as real functions, + * with a slightly different signature. + * See issue #10910 + */ +#include +#include +#undef isalnum +#define isalnum(c) iswalnum(btowc(c)) +#undef isalpha +#define isalpha(c) iswalpha(btowc(c)) +#undef islower +#define islower(c) iswlower(btowc(c)) +#undef isspace +#define isspace(c) iswspace(btowc(c)) +#undef isupper +#define isupper(c) iswupper(btowc(c)) +#undef tolower +#define tolower(c) towlower(btowc(c)) +#undef toupper +#define toupper(c) towupper(btowc(c)) +#endif +#endif + + +/* Declarations for symbol visibility. + + PyAPI_FUNC(type): Declares a public Python API function and return type + PyAPI_DATA(type): Declares public Python data and its type + PyMODINIT_FUNC: A Python module init function. If these functions are + inside the Python core, they are private to the core. + If in an extension module, it may be declared with + external linkage depending on the platform. + + As a number of platforms support/require "__declspec(dllimport/dllexport)", + we support a HAVE_DECLSPEC_DLL macro to save duplication. +*/ + +/* + All windows ports, except cygwin, are handled in PC/pyconfig.h. + + Cygwin is the only other autoconf platform requiring special + linkage handling and it uses __declspec(). +*/ +#if defined(__CYGWIN__) +# define HAVE_DECLSPEC_DLL +#endif + +#include "exports.h" + +/* only get special linkage if built as shared or platform is Cygwin */ +#if defined(Py_ENABLE_SHARED) || defined(__CYGWIN__) +# if defined(HAVE_DECLSPEC_DLL) +# if defined(Py_BUILD_CORE) && !defined(Py_BUILD_CORE_MODULE) +# define PyAPI_FUNC(RTYPE) Py_EXPORTED_SYMBOL RTYPE +# define PyAPI_DATA(RTYPE) extern Py_EXPORTED_SYMBOL RTYPE + /* module init functions inside the core need no external linkage */ + /* except for Cygwin to handle embedding */ +# if defined(__CYGWIN__) +# define PyMODINIT_FUNC Py_EXPORTED_SYMBOL PyObject* +# else /* __CYGWIN__ */ +# define PyMODINIT_FUNC PyObject* +# endif /* __CYGWIN__ */ +# else /* Py_BUILD_CORE */ + /* Building an extension module, or an embedded situation */ + /* public Python functions and data are imported */ + /* Under Cygwin, auto-import functions to prevent compilation */ + /* failures similar to those described at the bottom of 4.1: */ + /* http://docs.python.org/extending/windows.html#a-cookbook-approach */ +# if !defined(__CYGWIN__) +# define PyAPI_FUNC(RTYPE) Py_IMPORTED_SYMBOL RTYPE +# endif /* !__CYGWIN__ */ +# define PyAPI_DATA(RTYPE) extern Py_IMPORTED_SYMBOL RTYPE + /* module init functions outside the core must be exported */ +# if defined(__cplusplus) +# define PyMODINIT_FUNC extern "C" Py_EXPORTED_SYMBOL PyObject* +# else /* __cplusplus */ +# define PyMODINIT_FUNC Py_EXPORTED_SYMBOL PyObject* +# endif /* __cplusplus */ +# endif /* Py_BUILD_CORE */ +# endif /* HAVE_DECLSPEC_DLL */ +#endif /* Py_ENABLE_SHARED */ + +/* If no external linkage macros defined by now, create defaults */ +#ifndef PyAPI_FUNC +# define PyAPI_FUNC(RTYPE) Py_EXPORTED_SYMBOL RTYPE +#endif +#ifndef PyAPI_DATA +# define PyAPI_DATA(RTYPE) extern Py_EXPORTED_SYMBOL RTYPE +#endif +#ifndef PyMODINIT_FUNC +# if defined(__cplusplus) +# define PyMODINIT_FUNC extern "C" Py_EXPORTED_SYMBOL PyObject* +# else /* __cplusplus */ +# define PyMODINIT_FUNC Py_EXPORTED_SYMBOL PyObject* +# endif /* __cplusplus */ +#endif + +/* limits.h constants that may be missing */ + +#ifndef INT_MAX +#define INT_MAX 2147483647 +#endif + +#ifndef LONG_MAX +#if SIZEOF_LONG == 4 +#define LONG_MAX 0X7FFFFFFFL +#elif SIZEOF_LONG == 8 +#define LONG_MAX 0X7FFFFFFFFFFFFFFFL +#else +#error "could not set LONG_MAX in pyport.h" +#endif +#endif + +#ifndef LONG_MIN +#define LONG_MIN (-LONG_MAX-1) +#endif + +#ifndef LONG_BIT +#define LONG_BIT (8 * SIZEOF_LONG) +#endif + +#if LONG_BIT != 8 * SIZEOF_LONG +/* 04-Oct-2000 LONG_BIT is apparently (mis)defined as 64 on some recent + * 32-bit platforms using gcc. We try to catch that here at compile-time + * rather than waiting for integer multiplication to trigger bogus + * overflows. + */ +#error "LONG_BIT definition appears wrong for platform (bad gcc/glibc config?)." +#endif + +#ifdef __cplusplus +} +#endif + +/* + * Hide GCC attributes from compilers that don't support them. + */ +#if (!defined(__GNUC__) || __GNUC__ < 2 || \ + (__GNUC__ == 2 && __GNUC_MINOR__ < 7) ) +#define Py_GCC_ATTRIBUTE(x) +#else +#define Py_GCC_ATTRIBUTE(x) __attribute__(x) +#endif + +/* + * Specify alignment on compilers that support it. + */ +#if defined(__GNUC__) && __GNUC__ >= 3 +#define Py_ALIGNED(x) __attribute__((aligned(x))) +#else +#define Py_ALIGNED(x) +#endif + +/* Eliminate end-of-loop code not reached warnings from SunPro C + * when using do{...}while(0) macros + */ +#ifdef __SUNPRO_C +#pragma error_messages (off,E_END_OF_LOOP_CODE_NOT_REACHED) +#endif + +#ifndef Py_LL +#define Py_LL(x) x##LL +#endif + +#ifndef Py_ULL +#define Py_ULL(x) Py_LL(x##U) +#endif + +#define Py_VA_COPY va_copy + +/* + * Convenient macros to deal with endianness of the platform. WORDS_BIGENDIAN is + * detected by configure and defined in pyconfig.h. The code in pyconfig.h + * also takes care of Apple's universal builds. + */ + +#ifdef WORDS_BIGENDIAN +# define PY_BIG_ENDIAN 1 +# define PY_LITTLE_ENDIAN 0 +#else +# define PY_BIG_ENDIAN 0 +# define PY_LITTLE_ENDIAN 1 +#endif + +#ifdef Py_BUILD_CORE +/* + * Macros to protect CRT calls against instant termination when passed an + * invalid parameter (issue23524). + */ +#if defined _MSC_VER && _MSC_VER >= 1900 + +extern _invalid_parameter_handler _Py_silent_invalid_parameter_handler; +#define _Py_BEGIN_SUPPRESS_IPH { _invalid_parameter_handler _Py_old_handler = \ + _set_thread_local_invalid_parameter_handler(_Py_silent_invalid_parameter_handler); +#define _Py_END_SUPPRESS_IPH _set_thread_local_invalid_parameter_handler(_Py_old_handler); } + +#else + +#define _Py_BEGIN_SUPPRESS_IPH +#define _Py_END_SUPPRESS_IPH + +#endif /* _MSC_VER >= 1900 */ +#endif /* Py_BUILD_CORE */ + +#ifdef __ANDROID__ + /* The Android langinfo.h header is not used. */ +# undef HAVE_LANGINFO_H +# undef CODESET +#endif + +/* Maximum value of the Windows DWORD type */ +#define PY_DWORD_MAX 4294967295U + +/* This macro used to tell whether Python was built with multithreading + * enabled. Now multithreading is always enabled, but keep the macro + * for compatibility. + */ +#ifndef WITH_THREAD +# define WITH_THREAD +#endif + +/* Check that ALT_SOABI is consistent with Py_TRACE_REFS: + ./configure --with-trace-refs should must be used to define Py_TRACE_REFS */ +#if defined(ALT_SOABI) && defined(Py_TRACE_REFS) +# error "Py_TRACE_REFS ABI is not compatible with release and debug ABI" +#endif + +#if defined(__ANDROID__) || defined(__VXWORKS__) + // Use UTF-8 as the locale encoding, ignore the LC_CTYPE locale. + // See _Py_GetLocaleEncoding(), PyUnicode_DecodeLocale() + // and PyUnicode_EncodeLocale(). +# define _Py_FORCE_UTF8_LOCALE +#endif + +#if defined(_Py_FORCE_UTF8_LOCALE) || defined(__APPLE__) + // Use UTF-8 as the filesystem encoding. + // See PyUnicode_DecodeFSDefaultAndSize(), PyUnicode_EncodeFSDefault(), + // Py_DecodeLocale() and Py_EncodeLocale(). +# define _Py_FORCE_UTF8_FS_ENCODING +#endif + +/* Mark a function which cannot return. Example: + PyAPI_FUNC(void) _Py_NO_RETURN PyThread_exit_thread(void); + + XLC support is intentionally omitted due to bpo-40244 */ +#ifndef _Py_NO_RETURN +#if defined(__clang__) || \ + (defined(__GNUC__) && \ + ((__GNUC__ >= 3) || \ + (__GNUC__ == 2) && (__GNUC_MINOR__ >= 5))) +# define _Py_NO_RETURN __attribute__((__noreturn__)) +#elif defined(_MSC_VER) +# define _Py_NO_RETURN __declspec(noreturn) +#else +# define _Py_NO_RETURN +#endif +#endif + + +// Preprocessor check for a builtin preprocessor function. Always return 0 +// if __has_builtin() macro is not defined. +// +// __has_builtin() is available on clang and GCC 10. +#ifdef __has_builtin +# define _Py__has_builtin(x) __has_builtin(x) +#else +# define _Py__has_builtin(x) 0 +#endif + + +#endif /* Py_PYPORT_H */ diff --git a/_Pre_Builds/_Python310_cpp/include/pystate.h b/_Pre_Builds/_Python310_cpp/include/pystate.h new file mode 100644 index 0000000..bae4407 --- /dev/null +++ b/_Pre_Builds/_Python310_cpp/include/pystate.h @@ -0,0 +1,150 @@ +/* Thread and interpreter state structures and their interfaces */ + + +#ifndef Py_PYSTATE_H +#define Py_PYSTATE_H +#ifdef __cplusplus +extern "C" { +#endif + +/* This limitation is for performance and simplicity. If needed it can be +removed (with effort). */ +#define MAX_CO_EXTRA_USERS 255 + +/* Forward declarations for PyFrameObject, PyThreadState + and PyInterpreterState */ +struct _ts; +struct _is; + +/* struct _ts is defined in cpython/pystate.h */ +typedef struct _ts PyThreadState; +/* struct _is is defined in internal/pycore_interp.h */ +typedef struct _is PyInterpreterState; + +PyAPI_FUNC(PyInterpreterState *) PyInterpreterState_New(void); +PyAPI_FUNC(void) PyInterpreterState_Clear(PyInterpreterState *); +PyAPI_FUNC(void) PyInterpreterState_Delete(PyInterpreterState *); + +#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x03090000 +/* New in 3.9 */ +/* Get the current interpreter state. + + Issue a fatal error if there no current Python thread state or no current + interpreter. It cannot return NULL. + + The caller must hold the GIL. */ +PyAPI_FUNC(PyInterpreterState *) PyInterpreterState_Get(void); +#endif + +#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x03080000 +/* New in 3.8 */ +PyAPI_FUNC(PyObject *) PyInterpreterState_GetDict(PyInterpreterState *); +#endif + +#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x03070000 +/* New in 3.7 */ +PyAPI_FUNC(int64_t) PyInterpreterState_GetID(PyInterpreterState *); +#endif +#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x03030000 + +/* State unique per thread */ + +/* New in 3.3 */ +PyAPI_FUNC(int) PyState_AddModule(PyObject*, struct PyModuleDef*); +PyAPI_FUNC(int) PyState_RemoveModule(struct PyModuleDef*); +#endif +PyAPI_FUNC(PyObject*) PyState_FindModule(struct PyModuleDef*); + +PyAPI_FUNC(PyThreadState *) PyThreadState_New(PyInterpreterState *); +PyAPI_FUNC(void) PyThreadState_Clear(PyThreadState *); +PyAPI_FUNC(void) PyThreadState_Delete(PyThreadState *); + +/* Get the current thread state. + + When the current thread state is NULL, this issues a fatal error (so that + the caller needn't check for NULL). + + The caller must hold the GIL. + + See also PyThreadState_GET() and _PyThreadState_GET(). */ +PyAPI_FUNC(PyThreadState *) PyThreadState_Get(void); + +/* Get the current Python thread state. + + Macro using PyThreadState_Get() or _PyThreadState_GET() depending if + pycore_pystate.h is included or not (this header redefines the macro). + + If PyThreadState_Get() is used, issue a fatal error if the current thread + state is NULL. + + See also PyThreadState_Get() and _PyThreadState_GET(). */ +#define PyThreadState_GET() PyThreadState_Get() + +PyAPI_FUNC(PyThreadState *) PyThreadState_Swap(PyThreadState *); +PyAPI_FUNC(PyObject *) PyThreadState_GetDict(void); +PyAPI_FUNC(int) PyThreadState_SetAsyncExc(unsigned long, PyObject *); + +#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x03090000 +/* New in 3.9 */ +PyAPI_FUNC(PyInterpreterState*) PyThreadState_GetInterpreter(PyThreadState *tstate); +PyAPI_FUNC(PyFrameObject*) PyThreadState_GetFrame(PyThreadState *tstate); +PyAPI_FUNC(uint64_t) PyThreadState_GetID(PyThreadState *tstate); +#endif + +typedef + enum {PyGILState_LOCKED, PyGILState_UNLOCKED} + PyGILState_STATE; + + +/* Ensure that the current thread is ready to call the Python + C API, regardless of the current state of Python, or of its + thread lock. This may be called as many times as desired + by a thread so long as each call is matched with a call to + PyGILState_Release(). In general, other thread-state APIs may + be used between _Ensure() and _Release() calls, so long as the + thread-state is restored to its previous state before the Release(). + For example, normal use of the Py_BEGIN_ALLOW_THREADS/ + Py_END_ALLOW_THREADS macros are acceptable. + + The return value is an opaque "handle" to the thread state when + PyGILState_Ensure() was called, and must be passed to + PyGILState_Release() to ensure Python is left in the same state. Even + though recursive calls are allowed, these handles can *not* be shared - + each unique call to PyGILState_Ensure must save the handle for its + call to PyGILState_Release. + + When the function returns, the current thread will hold the GIL. + + Failure is a fatal error. +*/ +PyAPI_FUNC(PyGILState_STATE) PyGILState_Ensure(void); + +/* Release any resources previously acquired. After this call, Python's + state will be the same as it was prior to the corresponding + PyGILState_Ensure() call (but generally this state will be unknown to + the caller, hence the use of the GILState API.) + + Every call to PyGILState_Ensure must be matched by a call to + PyGILState_Release on the same thread. +*/ +PyAPI_FUNC(void) PyGILState_Release(PyGILState_STATE); + +/* Helper/diagnostic function - get the current thread state for + this thread. May return NULL if no GILState API has been used + on the current thread. Note that the main thread always has such a + thread-state, even if no auto-thread-state call has been made + on the main thread. +*/ +PyAPI_FUNC(PyThreadState *) PyGILState_GetThisThreadState(void); + + +#ifndef Py_LIMITED_API +# define Py_CPYTHON_PYSTATE_H +# include "cpython/pystate.h" +# undef Py_CPYTHON_PYSTATE_H +#endif + +#ifdef __cplusplus +} +#endif +#endif /* !Py_PYSTATE_H */ diff --git a/_Python311_cpp/include/pystrcmp.h b/_Pre_Builds/_Python310_cpp/include/pystrcmp.h similarity index 100% rename from _Python311_cpp/include/pystrcmp.h rename to _Pre_Builds/_Python310_cpp/include/pystrcmp.h diff --git a/_Pre_Builds/_Python310_cpp/include/pystrhex.h b/_Pre_Builds/_Python310_cpp/include/pystrhex.h new file mode 100644 index 0000000..a4f3630 --- /dev/null +++ b/_Pre_Builds/_Python310_cpp/include/pystrhex.h @@ -0,0 +1,22 @@ +#ifndef Py_STRHEX_H +#define Py_STRHEX_H + +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef Py_LIMITED_API +/* Returns a str() containing the hex representation of argbuf. */ +PyAPI_FUNC(PyObject*) _Py_strhex(const char* argbuf, const Py_ssize_t arglen); +/* Returns a bytes() containing the ASCII hex representation of argbuf. */ +PyAPI_FUNC(PyObject*) _Py_strhex_bytes(const char* argbuf, const Py_ssize_t arglen); +/* These variants include support for a separator between every N bytes: */ +PyAPI_FUNC(PyObject*) _Py_strhex_with_sep(const char* argbuf, const Py_ssize_t arglen, const PyObject* sep, const int bytes_per_group); +PyAPI_FUNC(PyObject*) _Py_strhex_bytes_with_sep(const char* argbuf, const Py_ssize_t arglen, const PyObject* sep, const int bytes_per_group); +#endif /* !Py_LIMITED_API */ + +#ifdef __cplusplus +} +#endif + +#endif /* !Py_STRHEX_H */ diff --git a/_Pre_Builds/_Python310_cpp/include/pystrtod.h b/_Pre_Builds/_Python310_cpp/include/pystrtod.h new file mode 100644 index 0000000..c1e84de --- /dev/null +++ b/_Pre_Builds/_Python310_cpp/include/pystrtod.h @@ -0,0 +1,45 @@ +#ifndef Py_STRTOD_H +#define Py_STRTOD_H + +#ifdef __cplusplus +extern "C" { +#endif + + +PyAPI_FUNC(double) PyOS_string_to_double(const char *str, + char **endptr, + PyObject *overflow_exception); + +/* The caller is responsible for calling PyMem_Free to free the buffer + that's is returned. */ +PyAPI_FUNC(char *) PyOS_double_to_string(double val, + char format_code, + int precision, + int flags, + int *type); + +#ifndef Py_LIMITED_API +PyAPI_FUNC(PyObject *) _Py_string_to_number_with_underscores( + const char *str, Py_ssize_t len, const char *what, PyObject *obj, void *arg, + PyObject *(*innerfunc)(const char *, Py_ssize_t, void *)); + +PyAPI_FUNC(double) _Py_parse_inf_or_nan(const char *p, char **endptr); +#endif + + +/* PyOS_double_to_string's "flags" parameter can be set to 0 or more of: */ +#define Py_DTSF_SIGN 0x01 /* always add the sign */ +#define Py_DTSF_ADD_DOT_0 0x02 /* if the result is an integer add ".0" */ +#define Py_DTSF_ALT 0x04 /* "alternate" formatting. it's format_code + specific */ + +/* PyOS_double_to_string's "type", if non-NULL, will be set to one of: */ +#define Py_DTST_FINITE 0 +#define Py_DTST_INFINITE 1 +#define Py_DTST_NAN 2 + +#ifdef __cplusplus +} +#endif + +#endif /* !Py_STRTOD_H */ diff --git a/_Pre_Builds/_Python310_cpp/include/pythonrun.h b/_Pre_Builds/_Python310_cpp/include/pythonrun.h new file mode 100644 index 0000000..b0a2fc3 --- /dev/null +++ b/_Pre_Builds/_Python310_cpp/include/pythonrun.h @@ -0,0 +1,44 @@ + +/* Interfaces to parse and execute pieces of python code */ + +#ifndef Py_PYTHONRUN_H +#define Py_PYTHONRUN_H +#ifdef __cplusplus +extern "C" { +#endif + +PyAPI_FUNC(PyObject *) Py_CompileString(const char *, const char *, int); + +PyAPI_FUNC(void) PyErr_Print(void); +PyAPI_FUNC(void) PyErr_PrintEx(int); +PyAPI_FUNC(void) PyErr_Display(PyObject *, PyObject *, PyObject *); + + +/* Stuff with no proper home (yet) */ +PyAPI_DATA(int) (*PyOS_InputHook)(void); + +/* Stack size, in "pointers" (so we get extra safety margins + on 64-bit platforms). On a 32-bit platform, this translates + to an 8k margin. */ +#define PYOS_STACK_MARGIN 2048 + +#if defined(WIN32) && !defined(MS_WIN64) && !defined(_M_ARM) && defined(_MSC_VER) && _MSC_VER >= 1300 +/* Enable stack checking under Microsoft C */ +#define USE_STACKCHECK +#endif + +#ifdef USE_STACKCHECK +/* Check that we aren't overflowing our stack */ +PyAPI_FUNC(int) PyOS_CheckStack(void); +#endif + +#ifndef Py_LIMITED_API +# define Py_CPYTHON_PYTHONRUN_H +# include "cpython/pythonrun.h" +# undef Py_CPYTHON_PYTHONRUN_H +#endif + +#ifdef __cplusplus +} +#endif +#endif /* !Py_PYTHONRUN_H */ diff --git a/_Pre_Builds/_Python310_cpp/include/pythread.h b/_Pre_Builds/_Python310_cpp/include/pythread.h new file mode 100644 index 0000000..bb9d864 --- /dev/null +++ b/_Pre_Builds/_Python310_cpp/include/pythread.h @@ -0,0 +1,169 @@ + +#ifndef Py_PYTHREAD_H +#define Py_PYTHREAD_H + +typedef void *PyThread_type_lock; + +#ifdef __cplusplus +extern "C" { +#endif + +/* Return status codes for Python lock acquisition. Chosen for maximum + * backwards compatibility, ie failure -> 0, success -> 1. */ +typedef enum PyLockStatus { + PY_LOCK_FAILURE = 0, + PY_LOCK_ACQUIRED = 1, + PY_LOCK_INTR +} PyLockStatus; + +#ifndef Py_LIMITED_API +#define PYTHREAD_INVALID_THREAD_ID ((unsigned long)-1) +#endif + +PyAPI_FUNC(void) PyThread_init_thread(void); +PyAPI_FUNC(unsigned long) PyThread_start_new_thread(void (*)(void *), void *); +PyAPI_FUNC(void) _Py_NO_RETURN PyThread_exit_thread(void); +PyAPI_FUNC(unsigned long) PyThread_get_thread_ident(void); + +#if defined(__APPLE__) || defined(__linux__) || defined(__FreeBSD__) || defined(__OpenBSD__) || defined(__NetBSD__) || defined(_WIN32) || defined(_AIX) +#define PY_HAVE_THREAD_NATIVE_ID +PyAPI_FUNC(unsigned long) PyThread_get_thread_native_id(void); +#endif + +PyAPI_FUNC(PyThread_type_lock) PyThread_allocate_lock(void); +PyAPI_FUNC(void) PyThread_free_lock(PyThread_type_lock); +PyAPI_FUNC(int) PyThread_acquire_lock(PyThread_type_lock, int); +#define WAIT_LOCK 1 +#define NOWAIT_LOCK 0 + +#ifndef Py_LIMITED_API +#ifdef HAVE_FORK +/* Private function to reinitialize a lock at fork in the child process. + Reset the lock to the unlocked state. + Return 0 on success, return -1 on error. */ +PyAPI_FUNC(int) _PyThread_at_fork_reinit(PyThread_type_lock *lock); +#endif /* HAVE_FORK */ +#endif /* !Py_LIMITED_API */ + +/* PY_TIMEOUT_T is the integral type used to specify timeouts when waiting + on a lock (see PyThread_acquire_lock_timed() below). + PY_TIMEOUT_MAX is the highest usable value (in microseconds) of that + type, and depends on the system threading API. + + NOTE: this isn't the same value as `_thread.TIMEOUT_MAX`. The _thread + module exposes a higher-level API, with timeouts expressed in seconds + and floating-point numbers allowed. +*/ +#define PY_TIMEOUT_T long long + +#if defined(_POSIX_THREADS) + /* PyThread_acquire_lock_timed() uses _PyTime_FromNanoseconds(us * 1000), + convert microseconds to nanoseconds. */ +# define PY_TIMEOUT_MAX (LLONG_MAX / 1000) +#elif defined (NT_THREADS) + /* In the NT API, the timeout is a DWORD and is expressed in milliseconds */ +# if 0xFFFFFFFFLL * 1000 < LLONG_MAX +# define PY_TIMEOUT_MAX (0xFFFFFFFFLL * 1000) +# else +# define PY_TIMEOUT_MAX LLONG_MAX +# endif +#else +# define PY_TIMEOUT_MAX LLONG_MAX +#endif + + +/* If microseconds == 0, the call is non-blocking: it returns immediately + even when the lock can't be acquired. + If microseconds > 0, the call waits up to the specified duration. + If microseconds < 0, the call waits until success (or abnormal failure) + + microseconds must be less than PY_TIMEOUT_MAX. Behaviour otherwise is + undefined. + + If intr_flag is true and the acquire is interrupted by a signal, then the + call will return PY_LOCK_INTR. The caller may reattempt to acquire the + lock. +*/ +PyAPI_FUNC(PyLockStatus) PyThread_acquire_lock_timed(PyThread_type_lock, + PY_TIMEOUT_T microseconds, + int intr_flag); + +PyAPI_FUNC(void) PyThread_release_lock(PyThread_type_lock); + +PyAPI_FUNC(size_t) PyThread_get_stacksize(void); +PyAPI_FUNC(int) PyThread_set_stacksize(size_t); + +#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x03030000 +PyAPI_FUNC(PyObject*) PyThread_GetInfo(void); +#endif + + +/* Thread Local Storage (TLS) API + TLS API is DEPRECATED. Use Thread Specific Storage (TSS) API. + + The existing TLS API has used int to represent TLS keys across all + platforms, but it is not POSIX-compliant. Therefore, the new TSS API uses + opaque data type to represent TSS keys to be compatible (see PEP 539). +*/ +Py_DEPRECATED(3.7) PyAPI_FUNC(int) PyThread_create_key(void); +Py_DEPRECATED(3.7) PyAPI_FUNC(void) PyThread_delete_key(int key); +Py_DEPRECATED(3.7) PyAPI_FUNC(int) PyThread_set_key_value(int key, + void *value); +Py_DEPRECATED(3.7) PyAPI_FUNC(void *) PyThread_get_key_value(int key); +Py_DEPRECATED(3.7) PyAPI_FUNC(void) PyThread_delete_key_value(int key); + +/* Cleanup after a fork */ +Py_DEPRECATED(3.7) PyAPI_FUNC(void) PyThread_ReInitTLS(void); + + +#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x03070000 +/* New in 3.7 */ +/* Thread Specific Storage (TSS) API */ + +typedef struct _Py_tss_t Py_tss_t; /* opaque */ + +#ifndef Py_LIMITED_API +#if defined(_POSIX_THREADS) + /* Darwin needs pthread.h to know type name the pthread_key_t. */ +# include +# define NATIVE_TSS_KEY_T pthread_key_t +#elif defined(NT_THREADS) + /* In Windows, native TSS key type is DWORD, + but hardcode the unsigned long to avoid errors for include directive. + */ +# define NATIVE_TSS_KEY_T unsigned long +#else +# error "Require native threads. See https://bugs.python.org/issue31370" +#endif + +/* When Py_LIMITED_API is not defined, the type layout of Py_tss_t is + exposed to allow static allocation in the API clients. Even in this case, + you must handle TSS keys through API functions due to compatibility. +*/ +struct _Py_tss_t { + int _is_initialized; + NATIVE_TSS_KEY_T _key; +}; + +#undef NATIVE_TSS_KEY_T + +/* When static allocation, you must initialize with Py_tss_NEEDS_INIT. */ +#define Py_tss_NEEDS_INIT {0} +#endif /* !Py_LIMITED_API */ + +PyAPI_FUNC(Py_tss_t *) PyThread_tss_alloc(void); +PyAPI_FUNC(void) PyThread_tss_free(Py_tss_t *key); + +/* The parameter key must not be NULL. */ +PyAPI_FUNC(int) PyThread_tss_is_created(Py_tss_t *key); +PyAPI_FUNC(int) PyThread_tss_create(Py_tss_t *key); +PyAPI_FUNC(void) PyThread_tss_delete(Py_tss_t *key); +PyAPI_FUNC(int) PyThread_tss_set(Py_tss_t *key, void *value); +PyAPI_FUNC(void *) PyThread_tss_get(Py_tss_t *key); +#endif /* New in 3.7 */ + +#ifdef __cplusplus +} +#endif + +#endif /* !Py_PYTHREAD_H */ diff --git a/_Python311_cpp/include/rangeobject.h b/_Pre_Builds/_Python310_cpp/include/rangeobject.h similarity index 100% rename from _Python311_cpp/include/rangeobject.h rename to _Pre_Builds/_Python310_cpp/include/rangeobject.h diff --git a/_Pre_Builds/_Python310_cpp/include/setobject.h b/_Pre_Builds/_Python310_cpp/include/setobject.h new file mode 100644 index 0000000..62516be --- /dev/null +++ b/_Pre_Builds/_Python310_cpp/include/setobject.h @@ -0,0 +1,110 @@ +/* Set object interface */ + +#ifndef Py_SETOBJECT_H +#define Py_SETOBJECT_H +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef Py_LIMITED_API + +/* There are three kinds of entries in the table: + +1. Unused: key == NULL and hash == 0 +2. Dummy: key == dummy and hash == -1 +3. Active: key != NULL and key != dummy and hash != -1 + +The hash field of Unused slots is always zero. + +The hash field of Dummy slots are set to -1 +meaning that dummy entries can be detected by +either entry->key==dummy or by entry->hash==-1. +*/ + +#define PySet_MINSIZE 8 + +typedef struct { + PyObject *key; + Py_hash_t hash; /* Cached hash code of the key */ +} setentry; + +/* The SetObject data structure is shared by set and frozenset objects. + +Invariant for sets: + - hash is -1 + +Invariants for frozensets: + - data is immutable. + - hash is the hash of the frozenset or -1 if not computed yet. + +*/ + +typedef struct { + PyObject_HEAD + + Py_ssize_t fill; /* Number active and dummy entries*/ + Py_ssize_t used; /* Number active entries */ + + /* The table contains mask + 1 slots, and that's a power of 2. + * We store the mask instead of the size because the mask is more + * frequently needed. + */ + Py_ssize_t mask; + + /* The table points to a fixed-size smalltable for small tables + * or to additional malloc'ed memory for bigger tables. + * The table pointer is never NULL which saves us from repeated + * runtime null-tests. + */ + setentry *table; + Py_hash_t hash; /* Only used by frozenset objects */ + Py_ssize_t finger; /* Search finger for pop() */ + + setentry smalltable[PySet_MINSIZE]; + PyObject *weakreflist; /* List of weak references */ +} PySetObject; + +#define PySet_GET_SIZE(so) (assert(PyAnySet_Check(so)),(((PySetObject *)(so))->used)) + +PyAPI_DATA(PyObject *) _PySet_Dummy; + +PyAPI_FUNC(int) _PySet_NextEntry(PyObject *set, Py_ssize_t *pos, PyObject **key, Py_hash_t *hash); +PyAPI_FUNC(int) _PySet_Update(PyObject *set, PyObject *iterable); + +#endif /* Section excluded by Py_LIMITED_API */ + +PyAPI_DATA(PyTypeObject) PySet_Type; +PyAPI_DATA(PyTypeObject) PyFrozenSet_Type; +PyAPI_DATA(PyTypeObject) PySetIter_Type; + +PyAPI_FUNC(PyObject *) PySet_New(PyObject *); +PyAPI_FUNC(PyObject *) PyFrozenSet_New(PyObject *); + +PyAPI_FUNC(int) PySet_Add(PyObject *set, PyObject *key); +PyAPI_FUNC(int) PySet_Clear(PyObject *set); +PyAPI_FUNC(int) PySet_Contains(PyObject *anyset, PyObject *key); +PyAPI_FUNC(int) PySet_Discard(PyObject *set, PyObject *key); +PyAPI_FUNC(PyObject *) PySet_Pop(PyObject *set); +PyAPI_FUNC(Py_ssize_t) PySet_Size(PyObject *anyset); + +#define PyFrozenSet_CheckExact(ob) Py_IS_TYPE(ob, &PyFrozenSet_Type) +#define PyFrozenSet_Check(ob) \ + (Py_IS_TYPE(ob, &PyFrozenSet_Type) || \ + PyType_IsSubtype(Py_TYPE(ob), &PyFrozenSet_Type)) + +#define PyAnySet_CheckExact(ob) \ + (Py_IS_TYPE(ob, &PySet_Type) || Py_IS_TYPE(ob, &PyFrozenSet_Type)) +#define PyAnySet_Check(ob) \ + (Py_IS_TYPE(ob, &PySet_Type) || Py_IS_TYPE(ob, &PyFrozenSet_Type) || \ + PyType_IsSubtype(Py_TYPE(ob), &PySet_Type) || \ + PyType_IsSubtype(Py_TYPE(ob), &PyFrozenSet_Type)) + +#define PySet_CheckExact(op) Py_IS_TYPE(op, &PySet_Type) +#define PySet_Check(ob) \ + (Py_IS_TYPE(ob, &PySet_Type) || \ + PyType_IsSubtype(Py_TYPE(ob), &PySet_Type)) + +#ifdef __cplusplus +} +#endif +#endif /* !Py_SETOBJECT_H */ diff --git a/_Python311_cpp/include/sliceobject.h b/_Pre_Builds/_Python310_cpp/include/sliceobject.h similarity index 100% rename from _Python311_cpp/include/sliceobject.h rename to _Pre_Builds/_Python310_cpp/include/sliceobject.h diff --git a/_Pre_Builds/_Python310_cpp/include/structmember.h b/_Pre_Builds/_Python310_cpp/include/structmember.h new file mode 100644 index 0000000..93b7aff --- /dev/null +++ b/_Pre_Builds/_Python310_cpp/include/structmember.h @@ -0,0 +1,75 @@ +#ifndef Py_STRUCTMEMBER_H +#define Py_STRUCTMEMBER_H +#ifdef __cplusplus +extern "C" { +#endif + + +/* Interface to map C struct members to Python object attributes */ + +#include /* For offsetof */ + +/* An array of PyMemberDef structures defines the name, type and offset + of selected members of a C structure. These can be read by + PyMember_GetOne() and set by PyMember_SetOne() (except if their READONLY + flag is set). The array must be terminated with an entry whose name + pointer is NULL. */ + +typedef struct PyMemberDef { + const char *name; + int type; + Py_ssize_t offset; + int flags; + const char *doc; +} PyMemberDef; + +/* Types */ +#define T_SHORT 0 +#define T_INT 1 +#define T_LONG 2 +#define T_FLOAT 3 +#define T_DOUBLE 4 +#define T_STRING 5 +#define T_OBJECT 6 +/* XXX the ordering here is weird for binary compatibility */ +#define T_CHAR 7 /* 1-character string */ +#define T_BYTE 8 /* 8-bit signed int */ +/* unsigned variants: */ +#define T_UBYTE 9 +#define T_USHORT 10 +#define T_UINT 11 +#define T_ULONG 12 + +/* Added by Jack: strings contained in the structure */ +#define T_STRING_INPLACE 13 + +/* Added by Lillo: bools contained in the structure (assumed char) */ +#define T_BOOL 14 + +#define T_OBJECT_EX 16 /* Like T_OBJECT, but raises AttributeError + when the value is NULL, instead of + converting to None. */ +#define T_LONGLONG 17 +#define T_ULONGLONG 18 + +#define T_PYSSIZET 19 /* Py_ssize_t */ +#define T_NONE 20 /* Value is always None */ + + +/* Flags */ +#define READONLY 1 +#define READ_RESTRICTED 2 +#define PY_WRITE_RESTRICTED 4 +#define RESTRICTED (READ_RESTRICTED | PY_WRITE_RESTRICTED) + +#define PY_AUDIT_READ READ_RESTRICTED + +/* Current API, use this */ +PyAPI_FUNC(PyObject *) PyMember_GetOne(const char *, struct PyMemberDef *); +PyAPI_FUNC(int) PyMember_SetOne(char *, struct PyMemberDef *, PyObject *); + + +#ifdef __cplusplus +} +#endif +#endif /* !Py_STRUCTMEMBER_H */ diff --git a/_Pre_Builds/_Python310_cpp/include/structseq.h b/_Pre_Builds/_Python310_cpp/include/structseq.h new file mode 100644 index 0000000..8f51c89 --- /dev/null +++ b/_Pre_Builds/_Python310_cpp/include/structseq.h @@ -0,0 +1,49 @@ + +/* Named tuple object interface */ + +#ifndef Py_STRUCTSEQ_H +#define Py_STRUCTSEQ_H +#ifdef __cplusplus +extern "C" { +#endif + +typedef struct PyStructSequence_Field { + const char *name; + const char *doc; +} PyStructSequence_Field; + +typedef struct PyStructSequence_Desc { + const char *name; + const char *doc; + struct PyStructSequence_Field *fields; + int n_in_sequence; +} PyStructSequence_Desc; + +extern const char * const PyStructSequence_UnnamedField; + +#ifndef Py_LIMITED_API +PyAPI_FUNC(void) PyStructSequence_InitType(PyTypeObject *type, + PyStructSequence_Desc *desc); +PyAPI_FUNC(int) PyStructSequence_InitType2(PyTypeObject *type, + PyStructSequence_Desc *desc); +#endif +PyAPI_FUNC(PyTypeObject*) PyStructSequence_NewType(PyStructSequence_Desc *desc); + +PyAPI_FUNC(PyObject *) PyStructSequence_New(PyTypeObject* type); + +#ifndef Py_LIMITED_API +typedef PyTupleObject PyStructSequence; + +/* Macro, *only* to be used to fill in brand new objects */ +#define PyStructSequence_SET_ITEM(op, i, v) PyTuple_SET_ITEM(op, i, v) + +#define PyStructSequence_GET_ITEM(op, i) PyTuple_GET_ITEM(op, i) +#endif + +PyAPI_FUNC(void) PyStructSequence_SetItem(PyObject*, Py_ssize_t, PyObject*); +PyAPI_FUNC(PyObject*) PyStructSequence_GetItem(PyObject*, Py_ssize_t); + +#ifdef __cplusplus +} +#endif +#endif /* !Py_STRUCTSEQ_H */ diff --git a/_Pre_Builds/_Python310_cpp/include/sysmodule.h b/_Pre_Builds/_Python310_cpp/include/sysmodule.h new file mode 100644 index 0000000..670e5d2 --- /dev/null +++ b/_Pre_Builds/_Python310_cpp/include/sysmodule.h @@ -0,0 +1,41 @@ + +/* System module interface */ + +#ifndef Py_SYSMODULE_H +#define Py_SYSMODULE_H +#ifdef __cplusplus +extern "C" { +#endif + +PyAPI_FUNC(PyObject *) PySys_GetObject(const char *); +PyAPI_FUNC(int) PySys_SetObject(const char *, PyObject *); + +PyAPI_FUNC(void) PySys_SetArgv(int, wchar_t **); +PyAPI_FUNC(void) PySys_SetArgvEx(int, wchar_t **, int); +PyAPI_FUNC(void) PySys_SetPath(const wchar_t *); + +PyAPI_FUNC(void) PySys_WriteStdout(const char *format, ...) + Py_GCC_ATTRIBUTE((format(printf, 1, 2))); +PyAPI_FUNC(void) PySys_WriteStderr(const char *format, ...) + Py_GCC_ATTRIBUTE((format(printf, 1, 2))); +PyAPI_FUNC(void) PySys_FormatStdout(const char *format, ...); +PyAPI_FUNC(void) PySys_FormatStderr(const char *format, ...); + +PyAPI_FUNC(void) PySys_ResetWarnOptions(void); +PyAPI_FUNC(void) PySys_AddWarnOption(const wchar_t *); +PyAPI_FUNC(void) PySys_AddWarnOptionUnicode(PyObject *); +PyAPI_FUNC(int) PySys_HasWarnOptions(void); + +PyAPI_FUNC(void) PySys_AddXOption(const wchar_t *); +PyAPI_FUNC(PyObject *) PySys_GetXOptions(void); + +#ifndef Py_LIMITED_API +# define Py_CPYTHON_SYSMODULE_H +# include "cpython/sysmodule.h" +# undef Py_CPYTHON_SYSMODULE_H +#endif + +#ifdef __cplusplus +} +#endif +#endif /* !Py_SYSMODULE_H */ diff --git a/_Python311_cpp/include/token.h b/_Pre_Builds/_Python310_cpp/include/token.h similarity index 100% rename from _Python311_cpp/include/token.h rename to _Pre_Builds/_Python310_cpp/include/token.h diff --git a/_Pre_Builds/_Python310_cpp/include/traceback.h b/_Pre_Builds/_Python310_cpp/include/traceback.h new file mode 100644 index 0000000..781e5a6 --- /dev/null +++ b/_Pre_Builds/_Python310_cpp/include/traceback.h @@ -0,0 +1,26 @@ +#ifndef Py_TRACEBACK_H +#define Py_TRACEBACK_H +#ifdef __cplusplus +extern "C" { +#endif + +/* Traceback interface */ + +PyAPI_FUNC(int) PyTraceBack_Here(PyFrameObject *); +PyAPI_FUNC(int) PyTraceBack_Print(PyObject *, PyObject *); + +/* Reveal traceback type so we can typecheck traceback objects */ +PyAPI_DATA(PyTypeObject) PyTraceBack_Type; +#define PyTraceBack_Check(v) Py_IS_TYPE(v, &PyTraceBack_Type) + + +#ifndef Py_LIMITED_API +# define Py_CPYTHON_TRACEBACK_H +# include "cpython/traceback.h" +# undef Py_CPYTHON_TRACEBACK_H +#endif + +#ifdef __cplusplus +} +#endif +#endif /* !Py_TRACEBACK_H */ diff --git a/_Python311_cpp/include/tracemalloc.h b/_Pre_Builds/_Python310_cpp/include/tracemalloc.h similarity index 100% rename from _Python311_cpp/include/tracemalloc.h rename to _Pre_Builds/_Python310_cpp/include/tracemalloc.h diff --git a/_Pre_Builds/_Python310_cpp/include/tupleobject.h b/_Pre_Builds/_Python310_cpp/include/tupleobject.h new file mode 100644 index 0000000..e796a32 --- /dev/null +++ b/_Pre_Builds/_Python310_cpp/include/tupleobject.h @@ -0,0 +1,46 @@ +/* Tuple object interface */ + +#ifndef Py_TUPLEOBJECT_H +#define Py_TUPLEOBJECT_H +#ifdef __cplusplus +extern "C" { +#endif + +/* +Another generally useful object type is a tuple of object pointers. +For Python, this is an immutable type. C code can change the tuple items +(but not their number), and even use tuples as general-purpose arrays of +object references, but in general only brand new tuples should be mutated, +not ones that might already have been exposed to Python code. + +*** WARNING *** PyTuple_SetItem does not increment the new item's reference +count, but does decrement the reference count of the item it replaces, +if not nil. It does *decrement* the reference count if it is *not* +inserted in the tuple. Similarly, PyTuple_GetItem does not increment the +returned item's reference count. +*/ + +PyAPI_DATA(PyTypeObject) PyTuple_Type; +PyAPI_DATA(PyTypeObject) PyTupleIter_Type; + +#define PyTuple_Check(op) \ + PyType_FastSubclass(Py_TYPE(op), Py_TPFLAGS_TUPLE_SUBCLASS) +#define PyTuple_CheckExact(op) Py_IS_TYPE(op, &PyTuple_Type) + +PyAPI_FUNC(PyObject *) PyTuple_New(Py_ssize_t size); +PyAPI_FUNC(Py_ssize_t) PyTuple_Size(PyObject *); +PyAPI_FUNC(PyObject *) PyTuple_GetItem(PyObject *, Py_ssize_t); +PyAPI_FUNC(int) PyTuple_SetItem(PyObject *, Py_ssize_t, PyObject *); +PyAPI_FUNC(PyObject *) PyTuple_GetSlice(PyObject *, Py_ssize_t, Py_ssize_t); +PyAPI_FUNC(PyObject *) PyTuple_Pack(Py_ssize_t, ...); + +#ifndef Py_LIMITED_API +# define Py_CPYTHON_TUPLEOBJECT_H +# include "cpython/tupleobject.h" +# undef Py_CPYTHON_TUPLEOBJECT_H +#endif + +#ifdef __cplusplus +} +#endif +#endif /* !Py_TUPLEOBJECT_H */ diff --git a/_Pre_Builds/_Python310_cpp/include/typeslots.h b/_Pre_Builds/_Python310_cpp/include/typeslots.h new file mode 100644 index 0000000..5800d01 --- /dev/null +++ b/_Pre_Builds/_Python310_cpp/include/typeslots.h @@ -0,0 +1,94 @@ +/* Do not renumber the file; these numbers are part of the stable ABI. */ +#if defined(Py_LIMITED_API) +/* Disabled, see #10181 */ +#undef Py_bf_getbuffer +#undef Py_bf_releasebuffer +#else +#define Py_bf_getbuffer 1 +#define Py_bf_releasebuffer 2 +#endif +#define Py_mp_ass_subscript 3 +#define Py_mp_length 4 +#define Py_mp_subscript 5 +#define Py_nb_absolute 6 +#define Py_nb_add 7 +#define Py_nb_and 8 +#define Py_nb_bool 9 +#define Py_nb_divmod 10 +#define Py_nb_float 11 +#define Py_nb_floor_divide 12 +#define Py_nb_index 13 +#define Py_nb_inplace_add 14 +#define Py_nb_inplace_and 15 +#define Py_nb_inplace_floor_divide 16 +#define Py_nb_inplace_lshift 17 +#define Py_nb_inplace_multiply 18 +#define Py_nb_inplace_or 19 +#define Py_nb_inplace_power 20 +#define Py_nb_inplace_remainder 21 +#define Py_nb_inplace_rshift 22 +#define Py_nb_inplace_subtract 23 +#define Py_nb_inplace_true_divide 24 +#define Py_nb_inplace_xor 25 +#define Py_nb_int 26 +#define Py_nb_invert 27 +#define Py_nb_lshift 28 +#define Py_nb_multiply 29 +#define Py_nb_negative 30 +#define Py_nb_or 31 +#define Py_nb_positive 32 +#define Py_nb_power 33 +#define Py_nb_remainder 34 +#define Py_nb_rshift 35 +#define Py_nb_subtract 36 +#define Py_nb_true_divide 37 +#define Py_nb_xor 38 +#define Py_sq_ass_item 39 +#define Py_sq_concat 40 +#define Py_sq_contains 41 +#define Py_sq_inplace_concat 42 +#define Py_sq_inplace_repeat 43 +#define Py_sq_item 44 +#define Py_sq_length 45 +#define Py_sq_repeat 46 +#define Py_tp_alloc 47 +#define Py_tp_base 48 +#define Py_tp_bases 49 +#define Py_tp_call 50 +#define Py_tp_clear 51 +#define Py_tp_dealloc 52 +#define Py_tp_del 53 +#define Py_tp_descr_get 54 +#define Py_tp_descr_set 55 +#define Py_tp_doc 56 +#define Py_tp_getattr 57 +#define Py_tp_getattro 58 +#define Py_tp_hash 59 +#define Py_tp_init 60 +#define Py_tp_is_gc 61 +#define Py_tp_iter 62 +#define Py_tp_iternext 63 +#define Py_tp_methods 64 +#define Py_tp_new 65 +#define Py_tp_repr 66 +#define Py_tp_richcompare 67 +#define Py_tp_setattr 68 +#define Py_tp_setattro 69 +#define Py_tp_str 70 +#define Py_tp_traverse 71 +#define Py_tp_members 72 +#define Py_tp_getset 73 +#define Py_tp_free 74 +#define Py_nb_matrix_multiply 75 +#define Py_nb_inplace_matrix_multiply 76 +#define Py_am_await 77 +#define Py_am_aiter 78 +#define Py_am_anext 79 +#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x03050000 +/* New in 3.5 */ +#define Py_tp_finalize 80 +#endif +#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x030A0000 +/* New in 3.10 */ +#define Py_am_send 81 +#endif diff --git a/_Pre_Builds/_Python310_cpp/include/unicodeobject.h b/_Pre_Builds/_Python310_cpp/include/unicodeobject.h new file mode 100644 index 0000000..b0ac086 --- /dev/null +++ b/_Pre_Builds/_Python310_cpp/include/unicodeobject.h @@ -0,0 +1,1053 @@ +#ifndef Py_UNICODEOBJECT_H +#define Py_UNICODEOBJECT_H + +#include + +/* + +Unicode implementation based on original code by Fredrik Lundh, +modified by Marc-Andre Lemburg (mal@lemburg.com) according to the +Unicode Integration Proposal. (See +http://www.egenix.com/files/python/unicode-proposal.txt). + +Copyright (c) Corporation for National Research Initiatives. + + + Original header: + -------------------------------------------------------------------- + + * Yet another Unicode string type for Python. This type supports the + * 16-bit Basic Multilingual Plane (BMP) only. + * + * Written by Fredrik Lundh, January 1999. + * + * Copyright (c) 1999 by Secret Labs AB. + * Copyright (c) 1999 by Fredrik Lundh. + * + * fredrik@pythonware.com + * http://www.pythonware.com + * + * -------------------------------------------------------------------- + * This Unicode String Type is + * + * Copyright (c) 1999 by Secret Labs AB + * Copyright (c) 1999 by Fredrik Lundh + * + * By obtaining, using, and/or copying this software and/or its + * associated documentation, you agree that you have read, understood, + * and will comply with the following terms and conditions: + * + * Permission to use, copy, modify, and distribute this software and its + * associated documentation for any purpose and without fee is hereby + * granted, provided that the above copyright notice appears in all + * copies, and that both that copyright notice and this permission notice + * appear in supporting documentation, and that the name of Secret Labs + * AB or the author not be used in advertising or publicity pertaining to + * distribution of the software without specific, written prior + * permission. + * + * SECRET LABS AB AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO + * THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS. IN NO EVENT SHALL SECRET LABS AB OR THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT + * OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + * -------------------------------------------------------------------- */ + +#include + +/* === Internal API ======================================================= */ + +/* --- Internal Unicode Format -------------------------------------------- */ + +/* Python 3.x requires unicode */ +#define Py_USING_UNICODE + +#ifndef SIZEOF_WCHAR_T +#error Must define SIZEOF_WCHAR_T +#endif + +#define Py_UNICODE_SIZE SIZEOF_WCHAR_T + +/* If wchar_t can be used for UCS-4 storage, set Py_UNICODE_WIDE. + Otherwise, Unicode strings are stored as UCS-2 (with limited support + for UTF-16) */ + +#if Py_UNICODE_SIZE >= 4 +#define Py_UNICODE_WIDE +#endif + +/* Set these flags if the platform has "wchar.h" and the + wchar_t type is a 16-bit unsigned type */ +/* #define HAVE_WCHAR_H */ +/* #define HAVE_USABLE_WCHAR_T */ + +/* If the compiler provides a wchar_t type we try to support it + through the interface functions PyUnicode_FromWideChar(), + PyUnicode_AsWideChar() and PyUnicode_AsWideCharString(). */ + +#ifdef HAVE_USABLE_WCHAR_T +# ifndef HAVE_WCHAR_H +# define HAVE_WCHAR_H +# endif +#endif + +#ifdef HAVE_WCHAR_H +# include +#endif + +/* Py_UCS4 and Py_UCS2 are typedefs for the respective + unicode representations. */ +typedef uint32_t Py_UCS4; +typedef uint16_t Py_UCS2; +typedef uint8_t Py_UCS1; + +#ifdef __cplusplus +extern "C" { +#endif + + +PyAPI_DATA(PyTypeObject) PyUnicode_Type; +PyAPI_DATA(PyTypeObject) PyUnicodeIter_Type; + +#define PyUnicode_Check(op) \ + PyType_FastSubclass(Py_TYPE(op), Py_TPFLAGS_UNICODE_SUBCLASS) +#define PyUnicode_CheckExact(op) Py_IS_TYPE(op, &PyUnicode_Type) + +/* --- Constants ---------------------------------------------------------- */ + +/* This Unicode character will be used as replacement character during + decoding if the errors argument is set to "replace". Note: the + Unicode character U+FFFD is the official REPLACEMENT CHARACTER in + Unicode 3.0. */ + +#define Py_UNICODE_REPLACEMENT_CHARACTER ((Py_UCS4) 0xFFFD) + +/* === Public API ========================================================= */ + +/* Similar to PyUnicode_FromUnicode(), but u points to UTF-8 encoded bytes */ +PyAPI_FUNC(PyObject*) PyUnicode_FromStringAndSize( + const char *u, /* UTF-8 encoded string */ + Py_ssize_t size /* size of buffer */ + ); + +/* Similar to PyUnicode_FromUnicode(), but u points to null-terminated + UTF-8 encoded bytes. The size is determined with strlen(). */ +PyAPI_FUNC(PyObject*) PyUnicode_FromString( + const char *u /* UTF-8 encoded string */ + ); + +#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x03030000 +PyAPI_FUNC(PyObject*) PyUnicode_Substring( + PyObject *str, + Py_ssize_t start, + Py_ssize_t end); +#endif + +#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x03030000 +/* Copy the string into a UCS4 buffer including the null character if copy_null + is set. Return NULL and raise an exception on error. Raise a SystemError if + the buffer is smaller than the string. Return buffer on success. + + buflen is the length of the buffer in (Py_UCS4) characters. */ +PyAPI_FUNC(Py_UCS4*) PyUnicode_AsUCS4( + PyObject *unicode, + Py_UCS4* buffer, + Py_ssize_t buflen, + int copy_null); + +/* Copy the string into a UCS4 buffer. A new buffer is allocated using + * PyMem_Malloc; if this fails, NULL is returned with a memory error + exception set. */ +PyAPI_FUNC(Py_UCS4*) PyUnicode_AsUCS4Copy(PyObject *unicode); +#endif + +#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x03030000 +/* Get the length of the Unicode object. */ + +PyAPI_FUNC(Py_ssize_t) PyUnicode_GetLength( + PyObject *unicode +); +#endif + +/* Get the number of Py_UNICODE units in the + string representation. */ + +Py_DEPRECATED(3.3) PyAPI_FUNC(Py_ssize_t) PyUnicode_GetSize( + PyObject *unicode /* Unicode object */ + ); + +#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x03030000 +/* Read a character from the string. */ + +PyAPI_FUNC(Py_UCS4) PyUnicode_ReadChar( + PyObject *unicode, + Py_ssize_t index + ); + +/* Write a character to the string. The string must have been created through + PyUnicode_New, must not be shared, and must not have been hashed yet. + + Return 0 on success, -1 on error. */ + +PyAPI_FUNC(int) PyUnicode_WriteChar( + PyObject *unicode, + Py_ssize_t index, + Py_UCS4 character + ); +#endif + +/* Resize a Unicode object. The length is the number of characters, except + if the kind of the string is PyUnicode_WCHAR_KIND: in this case, the length + is the number of Py_UNICODE characters. + + *unicode is modified to point to the new (resized) object and 0 + returned on success. + + Try to resize the string in place (which is usually faster than allocating + a new string and copy characters), or create a new string. + + Error handling is implemented as follows: an exception is set, -1 + is returned and *unicode left untouched. + + WARNING: The function doesn't check string content, the result may not be a + string in canonical representation. */ + +PyAPI_FUNC(int) PyUnicode_Resize( + PyObject **unicode, /* Pointer to the Unicode object */ + Py_ssize_t length /* New length */ + ); + +/* Decode obj to a Unicode object. + + bytes, bytearray and other bytes-like objects are decoded according to the + given encoding and error handler. The encoding and error handler can be + NULL to have the interface use UTF-8 and "strict". + + All other objects (including Unicode objects) raise an exception. + + The API returns NULL in case of an error. The caller is responsible + for decref'ing the returned objects. + +*/ + +PyAPI_FUNC(PyObject*) PyUnicode_FromEncodedObject( + PyObject *obj, /* Object */ + const char *encoding, /* encoding */ + const char *errors /* error handling */ + ); + +/* Copy an instance of a Unicode subtype to a new true Unicode object if + necessary. If obj is already a true Unicode object (not a subtype), return + the reference with *incremented* refcount. + + The API returns NULL in case of an error. The caller is responsible + for decref'ing the returned objects. + +*/ + +PyAPI_FUNC(PyObject*) PyUnicode_FromObject( + PyObject *obj /* Object */ + ); + +PyAPI_FUNC(PyObject *) PyUnicode_FromFormatV( + const char *format, /* ASCII-encoded string */ + va_list vargs + ); +PyAPI_FUNC(PyObject *) PyUnicode_FromFormat( + const char *format, /* ASCII-encoded string */ + ... + ); + +PyAPI_FUNC(void) PyUnicode_InternInPlace(PyObject **); +PyAPI_FUNC(PyObject *) PyUnicode_InternFromString( + const char *u /* UTF-8 encoded string */ + ); + +// PyUnicode_InternImmortal() is deprecated since Python 3.10 +// and will be removed in Python 3.12. Use PyUnicode_InternInPlace() instead. +Py_DEPRECATED(3.10) PyAPI_FUNC(void) PyUnicode_InternImmortal(PyObject **); + +/* Use only if you know it's a string */ +#define PyUnicode_CHECK_INTERNED(op) \ + (((PyASCIIObject *)(op))->state.interned) + +/* --- wchar_t support for platforms which support it --------------------- */ + +#ifdef HAVE_WCHAR_H + +/* Create a Unicode Object from the wchar_t buffer w of the given + size. + + The buffer is copied into the new object. */ + +PyAPI_FUNC(PyObject*) PyUnicode_FromWideChar( + const wchar_t *w, /* wchar_t buffer */ + Py_ssize_t size /* size of buffer */ + ); + +/* Copies the Unicode Object contents into the wchar_t buffer w. At + most size wchar_t characters are copied. + + Note that the resulting wchar_t string may or may not be + 0-terminated. It is the responsibility of the caller to make sure + that the wchar_t string is 0-terminated in case this is required by + the application. + + Returns the number of wchar_t characters copied (excluding a + possibly trailing 0-termination character) or -1 in case of an + error. */ + +PyAPI_FUNC(Py_ssize_t) PyUnicode_AsWideChar( + PyObject *unicode, /* Unicode object */ + wchar_t *w, /* wchar_t buffer */ + Py_ssize_t size /* size of buffer */ + ); + +/* Convert the Unicode object to a wide character string. The output string + always ends with a nul character. If size is not NULL, write the number of + wide characters (excluding the null character) into *size. + + Returns a buffer allocated by PyMem_Malloc() (use PyMem_Free() to free it) + on success. On error, returns NULL, *size is undefined and raises a + MemoryError. */ + +PyAPI_FUNC(wchar_t*) PyUnicode_AsWideCharString( + PyObject *unicode, /* Unicode object */ + Py_ssize_t *size /* number of characters of the result */ + ); + +#endif + +/* --- Unicode ordinals --------------------------------------------------- */ + +/* Create a Unicode Object from the given Unicode code point ordinal. + + The ordinal must be in range(0x110000). A ValueError is + raised in case it is not. + +*/ + +PyAPI_FUNC(PyObject*) PyUnicode_FromOrdinal(int ordinal); + +/* === Builtin Codecs ===================================================== + + Many of these APIs take two arguments encoding and errors. These + parameters encoding and errors have the same semantics as the ones + of the builtin str() API. + + Setting encoding to NULL causes the default encoding (UTF-8) to be used. + + Error handling is set by errors which may also be set to NULL + meaning to use the default handling defined for the codec. Default + error handling for all builtin codecs is "strict" (ValueErrors are + raised). + + The codecs all use a similar interface. Only deviation from the + generic ones are documented. + +*/ + +/* --- Manage the default encoding ---------------------------------------- */ + +/* Returns "utf-8". */ +PyAPI_FUNC(const char*) PyUnicode_GetDefaultEncoding(void); + +/* --- Generic Codecs ----------------------------------------------------- */ + +/* Create a Unicode object by decoding the encoded string s of the + given size. */ + +PyAPI_FUNC(PyObject*) PyUnicode_Decode( + const char *s, /* encoded string */ + Py_ssize_t size, /* size of buffer */ + const char *encoding, /* encoding */ + const char *errors /* error handling */ + ); + +/* Decode a Unicode object unicode and return the result as Python + object. + + This API is DEPRECATED. The only supported standard encoding is rot13. + Use PyCodec_Decode() to decode with rot13 and non-standard codecs + that decode from str. */ + +Py_DEPRECATED(3.6) PyAPI_FUNC(PyObject*) PyUnicode_AsDecodedObject( + PyObject *unicode, /* Unicode object */ + const char *encoding, /* encoding */ + const char *errors /* error handling */ + ); + +/* Decode a Unicode object unicode and return the result as Unicode + object. + + This API is DEPRECATED. The only supported standard encoding is rot13. + Use PyCodec_Decode() to decode with rot13 and non-standard codecs + that decode from str to str. */ + +Py_DEPRECATED(3.6) PyAPI_FUNC(PyObject*) PyUnicode_AsDecodedUnicode( + PyObject *unicode, /* Unicode object */ + const char *encoding, /* encoding */ + const char *errors /* error handling */ + ); + +/* Encodes a Unicode object and returns the result as Python + object. + + This API is DEPRECATED. It is superseded by PyUnicode_AsEncodedString() + since all standard encodings (except rot13) encode str to bytes. + Use PyCodec_Encode() for encoding with rot13 and non-standard codecs + that encode form str to non-bytes. */ + +Py_DEPRECATED(3.6) PyAPI_FUNC(PyObject*) PyUnicode_AsEncodedObject( + PyObject *unicode, /* Unicode object */ + const char *encoding, /* encoding */ + const char *errors /* error handling */ + ); + +/* Encodes a Unicode object and returns the result as Python string + object. */ + +PyAPI_FUNC(PyObject*) PyUnicode_AsEncodedString( + PyObject *unicode, /* Unicode object */ + const char *encoding, /* encoding */ + const char *errors /* error handling */ + ); + +/* Encodes a Unicode object and returns the result as Unicode + object. + + This API is DEPRECATED. The only supported standard encodings is rot13. + Use PyCodec_Encode() to encode with rot13 and non-standard codecs + that encode from str to str. */ + +Py_DEPRECATED(3.6) PyAPI_FUNC(PyObject*) PyUnicode_AsEncodedUnicode( + PyObject *unicode, /* Unicode object */ + const char *encoding, /* encoding */ + const char *errors /* error handling */ + ); + +/* Build an encoding map. */ + +PyAPI_FUNC(PyObject*) PyUnicode_BuildEncodingMap( + PyObject* string /* 256 character map */ + ); + +/* --- UTF-7 Codecs ------------------------------------------------------- */ + +PyAPI_FUNC(PyObject*) PyUnicode_DecodeUTF7( + const char *string, /* UTF-7 encoded string */ + Py_ssize_t length, /* size of string */ + const char *errors /* error handling */ + ); + +PyAPI_FUNC(PyObject*) PyUnicode_DecodeUTF7Stateful( + const char *string, /* UTF-7 encoded string */ + Py_ssize_t length, /* size of string */ + const char *errors, /* error handling */ + Py_ssize_t *consumed /* bytes consumed */ + ); + +/* --- UTF-8 Codecs ------------------------------------------------------- */ + +PyAPI_FUNC(PyObject*) PyUnicode_DecodeUTF8( + const char *string, /* UTF-8 encoded string */ + Py_ssize_t length, /* size of string */ + const char *errors /* error handling */ + ); + +PyAPI_FUNC(PyObject*) PyUnicode_DecodeUTF8Stateful( + const char *string, /* UTF-8 encoded string */ + Py_ssize_t length, /* size of string */ + const char *errors, /* error handling */ + Py_ssize_t *consumed /* bytes consumed */ + ); + +PyAPI_FUNC(PyObject*) PyUnicode_AsUTF8String( + PyObject *unicode /* Unicode object */ + ); + +/* Returns a pointer to the default encoding (UTF-8) of the + Unicode object unicode and the size of the encoded representation + in bytes stored in *size. + + In case of an error, no *size is set. + + This function caches the UTF-8 encoded string in the unicodeobject + and subsequent calls will return the same string. The memory is released + when the unicodeobject is deallocated. +*/ + +#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x030A0000 +PyAPI_FUNC(const char *) PyUnicode_AsUTF8AndSize( + PyObject *unicode, + Py_ssize_t *size); +#endif + +/* --- UTF-32 Codecs ------------------------------------------------------ */ + +/* Decodes length bytes from a UTF-32 encoded buffer string and returns + the corresponding Unicode object. + + errors (if non-NULL) defines the error handling. It defaults + to "strict". + + If byteorder is non-NULL, the decoder starts decoding using the + given byte order: + + *byteorder == -1: little endian + *byteorder == 0: native order + *byteorder == 1: big endian + + In native mode, the first four bytes of the stream are checked for a + BOM mark. If found, the BOM mark is analysed, the byte order + adjusted and the BOM skipped. In the other modes, no BOM mark + interpretation is done. After completion, *byteorder is set to the + current byte order at the end of input data. + + If byteorder is NULL, the codec starts in native order mode. + +*/ + +PyAPI_FUNC(PyObject*) PyUnicode_DecodeUTF32( + const char *string, /* UTF-32 encoded string */ + Py_ssize_t length, /* size of string */ + const char *errors, /* error handling */ + int *byteorder /* pointer to byteorder to use + 0=native;-1=LE,1=BE; updated on + exit */ + ); + +PyAPI_FUNC(PyObject*) PyUnicode_DecodeUTF32Stateful( + const char *string, /* UTF-32 encoded string */ + Py_ssize_t length, /* size of string */ + const char *errors, /* error handling */ + int *byteorder, /* pointer to byteorder to use + 0=native;-1=LE,1=BE; updated on + exit */ + Py_ssize_t *consumed /* bytes consumed */ + ); + +/* Returns a Python string using the UTF-32 encoding in native byte + order. The string always starts with a BOM mark. */ + +PyAPI_FUNC(PyObject*) PyUnicode_AsUTF32String( + PyObject *unicode /* Unicode object */ + ); + +/* Returns a Python string object holding the UTF-32 encoded value of + the Unicode data. + + If byteorder is not 0, output is written according to the following + byte order: + + byteorder == -1: little endian + byteorder == 0: native byte order (writes a BOM mark) + byteorder == 1: big endian + + If byteorder is 0, the output string will always start with the + Unicode BOM mark (U+FEFF). In the other two modes, no BOM mark is + prepended. + +*/ + +/* --- UTF-16 Codecs ------------------------------------------------------ */ + +/* Decodes length bytes from a UTF-16 encoded buffer string and returns + the corresponding Unicode object. + + errors (if non-NULL) defines the error handling. It defaults + to "strict". + + If byteorder is non-NULL, the decoder starts decoding using the + given byte order: + + *byteorder == -1: little endian + *byteorder == 0: native order + *byteorder == 1: big endian + + In native mode, the first two bytes of the stream are checked for a + BOM mark. If found, the BOM mark is analysed, the byte order + adjusted and the BOM skipped. In the other modes, no BOM mark + interpretation is done. After completion, *byteorder is set to the + current byte order at the end of input data. + + If byteorder is NULL, the codec starts in native order mode. + +*/ + +PyAPI_FUNC(PyObject*) PyUnicode_DecodeUTF16( + const char *string, /* UTF-16 encoded string */ + Py_ssize_t length, /* size of string */ + const char *errors, /* error handling */ + int *byteorder /* pointer to byteorder to use + 0=native;-1=LE,1=BE; updated on + exit */ + ); + +PyAPI_FUNC(PyObject*) PyUnicode_DecodeUTF16Stateful( + const char *string, /* UTF-16 encoded string */ + Py_ssize_t length, /* size of string */ + const char *errors, /* error handling */ + int *byteorder, /* pointer to byteorder to use + 0=native;-1=LE,1=BE; updated on + exit */ + Py_ssize_t *consumed /* bytes consumed */ + ); + +/* Returns a Python string using the UTF-16 encoding in native byte + order. The string always starts with a BOM mark. */ + +PyAPI_FUNC(PyObject*) PyUnicode_AsUTF16String( + PyObject *unicode /* Unicode object */ + ); + +/* --- Unicode-Escape Codecs ---------------------------------------------- */ + +PyAPI_FUNC(PyObject*) PyUnicode_DecodeUnicodeEscape( + const char *string, /* Unicode-Escape encoded string */ + Py_ssize_t length, /* size of string */ + const char *errors /* error handling */ + ); + +PyAPI_FUNC(PyObject*) PyUnicode_AsUnicodeEscapeString( + PyObject *unicode /* Unicode object */ + ); + +/* --- Raw-Unicode-Escape Codecs ------------------------------------------ */ + +PyAPI_FUNC(PyObject*) PyUnicode_DecodeRawUnicodeEscape( + const char *string, /* Raw-Unicode-Escape encoded string */ + Py_ssize_t length, /* size of string */ + const char *errors /* error handling */ + ); + +PyAPI_FUNC(PyObject*) PyUnicode_AsRawUnicodeEscapeString( + PyObject *unicode /* Unicode object */ + ); + +/* --- Latin-1 Codecs ----------------------------------------------------- + + Note: Latin-1 corresponds to the first 256 Unicode ordinals. */ + +PyAPI_FUNC(PyObject*) PyUnicode_DecodeLatin1( + const char *string, /* Latin-1 encoded string */ + Py_ssize_t length, /* size of string */ + const char *errors /* error handling */ + ); + +PyAPI_FUNC(PyObject*) PyUnicode_AsLatin1String( + PyObject *unicode /* Unicode object */ + ); + +/* --- ASCII Codecs ------------------------------------------------------- + + Only 7-bit ASCII data is excepted. All other codes generate errors. + +*/ + +PyAPI_FUNC(PyObject*) PyUnicode_DecodeASCII( + const char *string, /* ASCII encoded string */ + Py_ssize_t length, /* size of string */ + const char *errors /* error handling */ + ); + +PyAPI_FUNC(PyObject*) PyUnicode_AsASCIIString( + PyObject *unicode /* Unicode object */ + ); + +/* --- Character Map Codecs ----------------------------------------------- + + This codec uses mappings to encode and decode characters. + + Decoding mappings must map byte ordinals (integers in the range from 0 to + 255) to Unicode strings, integers (which are then interpreted as Unicode + ordinals) or None. Unmapped data bytes (ones which cause a LookupError) + as well as mapped to None, 0xFFFE or '\ufffe' are treated as "undefined + mapping" and cause an error. + + Encoding mappings must map Unicode ordinal integers to bytes objects, + integers in the range from 0 to 255 or None. Unmapped character + ordinals (ones which cause a LookupError) as well as mapped to + None are treated as "undefined mapping" and cause an error. + +*/ + +PyAPI_FUNC(PyObject*) PyUnicode_DecodeCharmap( + const char *string, /* Encoded string */ + Py_ssize_t length, /* size of string */ + PyObject *mapping, /* decoding mapping */ + const char *errors /* error handling */ + ); + +PyAPI_FUNC(PyObject*) PyUnicode_AsCharmapString( + PyObject *unicode, /* Unicode object */ + PyObject *mapping /* encoding mapping */ + ); + +/* --- MBCS codecs for Windows -------------------------------------------- */ + +#ifdef MS_WINDOWS +PyAPI_FUNC(PyObject*) PyUnicode_DecodeMBCS( + const char *string, /* MBCS encoded string */ + Py_ssize_t length, /* size of string */ + const char *errors /* error handling */ + ); + +PyAPI_FUNC(PyObject*) PyUnicode_DecodeMBCSStateful( + const char *string, /* MBCS encoded string */ + Py_ssize_t length, /* size of string */ + const char *errors, /* error handling */ + Py_ssize_t *consumed /* bytes consumed */ + ); + +#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x03030000 +PyAPI_FUNC(PyObject*) PyUnicode_DecodeCodePageStateful( + int code_page, /* code page number */ + const char *string, /* encoded string */ + Py_ssize_t length, /* size of string */ + const char *errors, /* error handling */ + Py_ssize_t *consumed /* bytes consumed */ + ); +#endif + +PyAPI_FUNC(PyObject*) PyUnicode_AsMBCSString( + PyObject *unicode /* Unicode object */ + ); + +#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x03030000 +PyAPI_FUNC(PyObject*) PyUnicode_EncodeCodePage( + int code_page, /* code page number */ + PyObject *unicode, /* Unicode object */ + const char *errors /* error handling */ + ); +#endif + +#endif /* MS_WINDOWS */ + +/* --- Locale encoding --------------------------------------------------- */ + +#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x03030000 +/* Decode a string from the current locale encoding. The decoder is strict if + *surrogateescape* is equal to zero, otherwise it uses the 'surrogateescape' + error handler (PEP 383) to escape undecodable bytes. If a byte sequence can + be decoded as a surrogate character and *surrogateescape* is not equal to + zero, the byte sequence is escaped using the 'surrogateescape' error handler + instead of being decoded. *str* must end with a null character but cannot + contain embedded null characters. */ + +PyAPI_FUNC(PyObject*) PyUnicode_DecodeLocaleAndSize( + const char *str, + Py_ssize_t len, + const char *errors); + +/* Similar to PyUnicode_DecodeLocaleAndSize(), but compute the string + length using strlen(). */ + +PyAPI_FUNC(PyObject*) PyUnicode_DecodeLocale( + const char *str, + const char *errors); + +/* Encode a Unicode object to the current locale encoding. The encoder is + strict is *surrogateescape* is equal to zero, otherwise the + "surrogateescape" error handler is used. Return a bytes object. The string + cannot contain embedded null characters. */ + +PyAPI_FUNC(PyObject*) PyUnicode_EncodeLocale( + PyObject *unicode, + const char *errors + ); +#endif + +/* --- File system encoding ---------------------------------------------- */ + +/* ParseTuple converter: encode str objects to bytes using + PyUnicode_EncodeFSDefault(); bytes objects are output as-is. */ + +PyAPI_FUNC(int) PyUnicode_FSConverter(PyObject*, void*); + +/* ParseTuple converter: decode bytes objects to unicode using + PyUnicode_DecodeFSDefaultAndSize(); str objects are output as-is. */ + +PyAPI_FUNC(int) PyUnicode_FSDecoder(PyObject*, void*); + +/* Decode a null-terminated string using Py_FileSystemDefaultEncoding + and the "surrogateescape" error handler. + + If Py_FileSystemDefaultEncoding is not set, fall back to the locale + encoding. + + Use PyUnicode_DecodeFSDefaultAndSize() if the string length is known. +*/ + +PyAPI_FUNC(PyObject*) PyUnicode_DecodeFSDefault( + const char *s /* encoded string */ + ); + +/* Decode a string using Py_FileSystemDefaultEncoding + and the "surrogateescape" error handler. + + If Py_FileSystemDefaultEncoding is not set, fall back to the locale + encoding. +*/ + +PyAPI_FUNC(PyObject*) PyUnicode_DecodeFSDefaultAndSize( + const char *s, /* encoded string */ + Py_ssize_t size /* size */ + ); + +/* Encode a Unicode object to Py_FileSystemDefaultEncoding with the + "surrogateescape" error handler, and return bytes. + + If Py_FileSystemDefaultEncoding is not set, fall back to the locale + encoding. +*/ + +PyAPI_FUNC(PyObject*) PyUnicode_EncodeFSDefault( + PyObject *unicode + ); + +/* --- Methods & Slots ---------------------------------------------------- + + These are capable of handling Unicode objects and strings on input + (we refer to them as strings in the descriptions) and return + Unicode objects or integers as appropriate. */ + +/* Concat two strings giving a new Unicode string. */ + +PyAPI_FUNC(PyObject*) PyUnicode_Concat( + PyObject *left, /* Left string */ + PyObject *right /* Right string */ + ); + +/* Concat two strings and put the result in *pleft + (sets *pleft to NULL on error) */ + +PyAPI_FUNC(void) PyUnicode_Append( + PyObject **pleft, /* Pointer to left string */ + PyObject *right /* Right string */ + ); + +/* Concat two strings, put the result in *pleft and drop the right object + (sets *pleft to NULL on error) */ + +PyAPI_FUNC(void) PyUnicode_AppendAndDel( + PyObject **pleft, /* Pointer to left string */ + PyObject *right /* Right string */ + ); + +/* Split a string giving a list of Unicode strings. + + If sep is NULL, splitting will be done at all whitespace + substrings. Otherwise, splits occur at the given separator. + + At most maxsplit splits will be done. If negative, no limit is set. + + Separators are not included in the resulting list. + +*/ + +PyAPI_FUNC(PyObject*) PyUnicode_Split( + PyObject *s, /* String to split */ + PyObject *sep, /* String separator */ + Py_ssize_t maxsplit /* Maxsplit count */ + ); + +/* Dito, but split at line breaks. + + CRLF is considered to be one line break. Line breaks are not + included in the resulting list. */ + +PyAPI_FUNC(PyObject*) PyUnicode_Splitlines( + PyObject *s, /* String to split */ + int keepends /* If true, line end markers are included */ + ); + +/* Partition a string using a given separator. */ + +PyAPI_FUNC(PyObject*) PyUnicode_Partition( + PyObject *s, /* String to partition */ + PyObject *sep /* String separator */ + ); + +/* Partition a string using a given separator, searching from the end of the + string. */ + +PyAPI_FUNC(PyObject*) PyUnicode_RPartition( + PyObject *s, /* String to partition */ + PyObject *sep /* String separator */ + ); + +/* Split a string giving a list of Unicode strings. + + If sep is NULL, splitting will be done at all whitespace + substrings. Otherwise, splits occur at the given separator. + + At most maxsplit splits will be done. But unlike PyUnicode_Split + PyUnicode_RSplit splits from the end of the string. If negative, + no limit is set. + + Separators are not included in the resulting list. + +*/ + +PyAPI_FUNC(PyObject*) PyUnicode_RSplit( + PyObject *s, /* String to split */ + PyObject *sep, /* String separator */ + Py_ssize_t maxsplit /* Maxsplit count */ + ); + +/* Translate a string by applying a character mapping table to it and + return the resulting Unicode object. + + The mapping table must map Unicode ordinal integers to Unicode strings, + Unicode ordinal integers or None (causing deletion of the character). + + Mapping tables may be dictionaries or sequences. Unmapped character + ordinals (ones which cause a LookupError) are left untouched and + are copied as-is. + +*/ + +PyAPI_FUNC(PyObject *) PyUnicode_Translate( + PyObject *str, /* String */ + PyObject *table, /* Translate table */ + const char *errors /* error handling */ + ); + +/* Join a sequence of strings using the given separator and return + the resulting Unicode string. */ + +PyAPI_FUNC(PyObject*) PyUnicode_Join( + PyObject *separator, /* Separator string */ + PyObject *seq /* Sequence object */ + ); + +/* Return 1 if substr matches str[start:end] at the given tail end, 0 + otherwise. */ + +PyAPI_FUNC(Py_ssize_t) PyUnicode_Tailmatch( + PyObject *str, /* String */ + PyObject *substr, /* Prefix or Suffix string */ + Py_ssize_t start, /* Start index */ + Py_ssize_t end, /* Stop index */ + int direction /* Tail end: -1 prefix, +1 suffix */ + ); + +/* Return the first position of substr in str[start:end] using the + given search direction or -1 if not found. -2 is returned in case + an error occurred and an exception is set. */ + +PyAPI_FUNC(Py_ssize_t) PyUnicode_Find( + PyObject *str, /* String */ + PyObject *substr, /* Substring to find */ + Py_ssize_t start, /* Start index */ + Py_ssize_t end, /* Stop index */ + int direction /* Find direction: +1 forward, -1 backward */ + ); + +#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x03030000 +/* Like PyUnicode_Find, but search for single character only. */ +PyAPI_FUNC(Py_ssize_t) PyUnicode_FindChar( + PyObject *str, + Py_UCS4 ch, + Py_ssize_t start, + Py_ssize_t end, + int direction + ); +#endif + +/* Count the number of occurrences of substr in str[start:end]. */ + +PyAPI_FUNC(Py_ssize_t) PyUnicode_Count( + PyObject *str, /* String */ + PyObject *substr, /* Substring to count */ + Py_ssize_t start, /* Start index */ + Py_ssize_t end /* Stop index */ + ); + +/* Replace at most maxcount occurrences of substr in str with replstr + and return the resulting Unicode object. */ + +PyAPI_FUNC(PyObject *) PyUnicode_Replace( + PyObject *str, /* String */ + PyObject *substr, /* Substring to find */ + PyObject *replstr, /* Substring to replace */ + Py_ssize_t maxcount /* Max. number of replacements to apply; + -1 = all */ + ); + +/* Compare two strings and return -1, 0, 1 for less than, equal, + greater than resp. + Raise an exception and return -1 on error. */ + +PyAPI_FUNC(int) PyUnicode_Compare( + PyObject *left, /* Left string */ + PyObject *right /* Right string */ + ); + +/* Compare a Unicode object with C string and return -1, 0, 1 for less than, + equal, and greater than, respectively. It is best to pass only + ASCII-encoded strings, but the function interprets the input string as + ISO-8859-1 if it contains non-ASCII characters. + This function does not raise exceptions. */ + +PyAPI_FUNC(int) PyUnicode_CompareWithASCIIString( + PyObject *left, + const char *right /* ASCII-encoded string */ + ); + +/* Rich compare two strings and return one of the following: + + - NULL in case an exception was raised + - Py_True or Py_False for successful comparisons + - Py_NotImplemented in case the type combination is unknown + + Possible values for op: + + Py_GT, Py_GE, Py_EQ, Py_NE, Py_LT, Py_LE + +*/ + +PyAPI_FUNC(PyObject *) PyUnicode_RichCompare( + PyObject *left, /* Left string */ + PyObject *right, /* Right string */ + int op /* Operation: Py_EQ, Py_NE, Py_GT, etc. */ + ); + +/* Apply an argument tuple or dictionary to a format string and return + the resulting Unicode string. */ + +PyAPI_FUNC(PyObject *) PyUnicode_Format( + PyObject *format, /* Format string */ + PyObject *args /* Argument tuple or dictionary */ + ); + +/* Checks whether element is contained in container and return 1/0 + accordingly. + + element has to coerce to a one element Unicode string. -1 is + returned in case of an error. */ + +PyAPI_FUNC(int) PyUnicode_Contains( + PyObject *container, /* Container string */ + PyObject *element /* Element string */ + ); + +/* Checks whether argument is a valid identifier. */ + +PyAPI_FUNC(int) PyUnicode_IsIdentifier(PyObject *s); + +/* === Characters Type APIs =============================================== */ + +#ifndef Py_LIMITED_API +# define Py_CPYTHON_UNICODEOBJECT_H +# include "cpython/unicodeobject.h" +# undef Py_CPYTHON_UNICODEOBJECT_H +#endif + +#ifdef __cplusplus +} +#endif +#endif /* !Py_UNICODEOBJECT_H */ diff --git a/_Pre_Builds/_Python310_cpp/include/warnings.h b/_Pre_Builds/_Python310_cpp/include/warnings.h new file mode 100644 index 0000000..a675bb5 --- /dev/null +++ b/_Pre_Builds/_Python310_cpp/include/warnings.h @@ -0,0 +1,67 @@ +#ifndef Py_WARNINGS_H +#define Py_WARNINGS_H +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef Py_LIMITED_API +PyAPI_FUNC(PyObject*) _PyWarnings_Init(void); +#endif + +PyAPI_FUNC(int) PyErr_WarnEx( + PyObject *category, + const char *message, /* UTF-8 encoded string */ + Py_ssize_t stack_level); +PyAPI_FUNC(int) PyErr_WarnFormat( + PyObject *category, + Py_ssize_t stack_level, + const char *format, /* ASCII-encoded string */ + ...); + +#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x03060000 +/* Emit a ResourceWarning warning */ +PyAPI_FUNC(int) PyErr_ResourceWarning( + PyObject *source, + Py_ssize_t stack_level, + const char *format, /* ASCII-encoded string */ + ...); +#endif +#ifndef Py_LIMITED_API +PyAPI_FUNC(int) PyErr_WarnExplicitObject( + PyObject *category, + PyObject *message, + PyObject *filename, + int lineno, + PyObject *module, + PyObject *registry); +#endif +PyAPI_FUNC(int) PyErr_WarnExplicit( + PyObject *category, + const char *message, /* UTF-8 encoded string */ + const char *filename, /* decoded from the filesystem encoding */ + int lineno, + const char *module, /* UTF-8 encoded string */ + PyObject *registry); + +#ifndef Py_LIMITED_API +PyAPI_FUNC(int) +PyErr_WarnExplicitFormat(PyObject *category, + const char *filename, int lineno, + const char *module, PyObject *registry, + const char *format, ...); +#endif + +/* DEPRECATED: Use PyErr_WarnEx() instead. */ +#ifndef Py_LIMITED_API +#define PyErr_Warn(category, msg) PyErr_WarnEx(category, msg, 1) +#endif + +#ifndef Py_LIMITED_API +void _PyErr_WarnUnawaitedCoroutine(PyObject *coro); +#endif + +#ifdef __cplusplus +} +#endif +#endif /* !Py_WARNINGS_H */ + diff --git a/_Pre_Builds/_Python310_cpp/include/weakrefobject.h b/_Pre_Builds/_Python310_cpp/include/weakrefobject.h new file mode 100644 index 0000000..ac4b482 --- /dev/null +++ b/_Pre_Builds/_Python310_cpp/include/weakrefobject.h @@ -0,0 +1,86 @@ +/* Weak references objects for Python. */ + +#ifndef Py_WEAKREFOBJECT_H +#define Py_WEAKREFOBJECT_H +#ifdef __cplusplus +extern "C" { +#endif + + +typedef struct _PyWeakReference PyWeakReference; + +/* PyWeakReference is the base struct for the Python ReferenceType, ProxyType, + * and CallableProxyType. + */ +#ifndef Py_LIMITED_API +struct _PyWeakReference { + PyObject_HEAD + + /* The object to which this is a weak reference, or Py_None if none. + * Note that this is a stealth reference: wr_object's refcount is + * not incremented to reflect this pointer. + */ + PyObject *wr_object; + + /* A callable to invoke when wr_object dies, or NULL if none. */ + PyObject *wr_callback; + + /* A cache for wr_object's hash code. As usual for hashes, this is -1 + * if the hash code isn't known yet. + */ + Py_hash_t hash; + + /* If wr_object is weakly referenced, wr_object has a doubly-linked NULL- + * terminated list of weak references to it. These are the list pointers. + * If wr_object goes away, wr_object is set to Py_None, and these pointers + * have no meaning then. + */ + PyWeakReference *wr_prev; + PyWeakReference *wr_next; +}; +#endif + +PyAPI_DATA(PyTypeObject) _PyWeakref_RefType; +PyAPI_DATA(PyTypeObject) _PyWeakref_ProxyType; +PyAPI_DATA(PyTypeObject) _PyWeakref_CallableProxyType; + +#define PyWeakref_CheckRef(op) PyObject_TypeCheck(op, &_PyWeakref_RefType) +#define PyWeakref_CheckRefExact(op) \ + Py_IS_TYPE(op, &_PyWeakref_RefType) +#define PyWeakref_CheckProxy(op) \ + (Py_IS_TYPE(op, &_PyWeakref_ProxyType) || \ + Py_IS_TYPE(op, &_PyWeakref_CallableProxyType)) + +#define PyWeakref_Check(op) \ + (PyWeakref_CheckRef(op) || PyWeakref_CheckProxy(op)) + + +PyAPI_FUNC(PyObject *) PyWeakref_NewRef(PyObject *ob, + PyObject *callback); +PyAPI_FUNC(PyObject *) PyWeakref_NewProxy(PyObject *ob, + PyObject *callback); +PyAPI_FUNC(PyObject *) PyWeakref_GetObject(PyObject *ref); + +#ifndef Py_LIMITED_API +PyAPI_FUNC(Py_ssize_t) _PyWeakref_GetWeakrefCount(PyWeakReference *head); + +PyAPI_FUNC(void) _PyWeakref_ClearRef(PyWeakReference *self); +#endif + +/* Explanation for the Py_REFCNT() check: when a weakref's target is part + of a long chain of deallocations which triggers the trashcan mechanism, + clearing the weakrefs can be delayed long after the target's refcount + has dropped to zero. In the meantime, code accessing the weakref will + be able to "see" the target object even though it is supposed to be + unreachable. See issue #16602. */ + +#define PyWeakref_GET_OBJECT(ref) \ + (Py_REFCNT(((PyWeakReference *)(ref))->wr_object) > 0 \ + ? ((PyWeakReference *)(ref))->wr_object \ + : Py_None) + + +#ifdef __cplusplus +} +#endif +#endif /* !Py_WEAKREFOBJECT_H */ diff --git a/_Python311_cpp/libs/_tkinter.lib b/_Pre_Builds/_Python310_cpp/libs/_tkinter.lib similarity index 64% rename from _Python311_cpp/libs/_tkinter.lib rename to _Pre_Builds/_Python310_cpp/libs/_tkinter.lib index 16f7242ea6cf90b9c477525d148039ed78ba37dd..53b176270c5ed84fe72182123ab997d01c14c138 100644 GIT binary patch delta 120 zcmcb{dyRL)Ge(yGKrs0g<9ZeWhERZ$H~oz?x5lQ*!b0RWL7FOvWO diff --git a/_Pre_Builds/_Python310_cpp/libs/python3.lib b/_Pre_Builds/_Python310_cpp/libs/python3.lib new file mode 100644 index 0000000000000000000000000000000000000000..0c0029167e87e2d097c9099b2301fa06cebf8dcf GIT binary patch literal 180006 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 literal 0 HcmV?d00001 diff --git a/_Pre_Builds/_Python310_cpp/libs/python310.lib b/_Pre_Builds/_Python310_cpp/libs/python310.lib new file mode 100644 index 0000000000000000000000000000000000000000..35506e7755edbaadd85e5ce25072704dd19f51d2 GIT binary patch literal 356438 zcmb4s4VYX-m3GZIP0w^srpZkA*xi#K zWRb;)F|sU+h?tELF=EVOgcu_tA|fIpMiwz5VvL9w5iug0MMV7GQ>XrK-45S8&->iz zbKZ06zi!>Cx^-VWwcH#SI^(c6ALswQ@f82J{xwPcGv(CNCQp|CpLduLFZsGCd~&fU zd}^I2Y`9${|E+MtX(A!~_dllySCQ`z0CrKnbb_t0u9W4^V4OOF zIIckLYR378;5V@1Zbt1m$bl707{iDYVQ4$!$3r3^+>g8_?0TB494$lKXBE z5)aG~31K(Nf^Z-HC;a3Z#*cQx4)_W3pYT5$6i&nyxPQL_Z0`piK>iSRt!4c9LBt2x zeHdfc1jvD_5Ff%v_AvfqlSl}cUctEh4v_%q!y6=$1w%sO!-yN^YGTE*oX6NBtpuY&>J#?II!kJJLk>=w`;h!=7;2KF0cEVF!G4GUM_d#0U5o%8zj6 z7RJYq6ba#~2N>&6F9=txR(KLu;KMgFK7x1=K7K%99j?F?$REO`$1^@LTO@@4+{O4v z0d~Mv_yr1^Co-->+a-MVL5XC`PC+PKcNb&xmEc_|ihWBJ?!)yyQTW_cg>ATQ6Uj|C zGCsRkBof280@q&5_`=;Hk?6w}_~O+HC*TTv^CZUhiKzF$*B+Eef4@r*lCPc5_$KNP z;kKqk+P+^%j7<}%#5P=k_IZqz6GaLXK3f;XcP$phcb|s;1>^G#kvZ6#WuV*oHob@Wp2p*5e9nYckN!7J&34I~eOug#C$- zp&SV}OksTK7*UY89M{W5`j>u*WHa&sxC|e+X2~}E9=r;6 zko_zb1>AoNKU*mZzd_&fF!K80EAbm?`S})+Y`aJz{rFBHaTV$YQ1~Syy&CNaC_IWh z0n-24BT?8pP7u;h9HD@E^odIl7Rnb$H{$*Z6n=d%WA6d*fyc%(e$_7ugh%gZ>{%!Z zK)M0#3n={RUdC^(N4$YYP)~sLzYrgw@arQb(*Hs`1`5AeEshpvrMRGiNukIJg#68emD3X8N52PYF0d?b_!8!2^k-TIX^mX`w?TNTIybk=s zRzeOx$5upg%%#8tk-QAH<59llv<>(KNcm(01Z5_8& zB(DK?+)RYG8n)<5UNZ@t9_S{ELta3o}em!jVwjGx9B_ZZ?0ynMDq@_O{ggg1;bPD1%eJcldrdfW#HZ+MJx(pty? z^!dpfZ(zI$c`9)^uD~0oNTlz-TS)w1w@88H+NT+BM!8EM&)*E3e2)U^$jQLur$o8~ z`7VKWx&!#iwF=1BuK?Ro-z65~3f$B$kxc3n5~rLd62hcA8K4z}hF(eYg=@&BIeiiJ1cRb9P zinXohS;Q*}?e9(a@tDr>|E)dzp@M z*ok~4d=32&VJGSm;r0W-IL3D>A|>2@iA3^4^m|`HKl7C{B$6MVE+o!D-8grvNX|hz zmkcwOUM3R4xyWN6y&LyEAbBs+NO;d2#u5QO@SdHFrO(0+Sn?3#y}Q8&mZB{K>D>z@ zlI43udJodFd{iR+0pdyc(UXk((EbSjgZu)L_pOsicbzN9<( zRRV4Hhrqq4g9JRYNc?zMq!I|{#{iydBp!eqNJ=OtLiq}Xqi_Y5Aw7f&>KS3+envm) zEnyIK2uQy_g|X`z#1r@*lr;g*XoRF+p>!9*0nXd3a4N2+!gi}f^1cH|FR-ki(f>4T zfyzwAAcaXdoH0;Ae2{dXTYdzeprfTnQIQ6mEK2 z6t>@oF&@S;gd0&mCEkQ9u)V^#X{{(o;J$g&ks?`(dj5gOMEbLW!V|a>E|N%4*Cj4S z-68zjY=v8J1ujAQB{t&CfkY_n<^^?inKe`OTu(bB`#_y#ddi$BVRzwn!K}mr;Ehzk$k5M(Y@n5^9f1 zBwxA=^Bx$By8es-@r>xlt@PqH;G|f zfk*dA6wii#AlZs~0~B_kKLC=OaW5q7e2($u^D!R*Y(pIZ(%-F=NVXk{--lu@=K$mP zNFU*k_e&(-SSkqV;|LE(Zk@^aN!+eT5KqF#r%4p2A0i0J*2frMzY=i(uE%e}%}5WBVtg&J8-1U|9k|{h zlJ{2_ZCnYX&oG+PL_%nxoF!1EEueV=qjf2M1K&Vd5N_;YwC{r-;QgpCgt6%o=}#UI z5+iz8vi7W7} zdl}yuhdyfp#;X_N9y$f{Kq&8rri%3cP!7+GlSqDcz96Lkw^1VbDaxDh;MEEz;tKrq zHpb8H2OoGF(n&!7BJuF~qIibD`1m6DeL^Dn`DH@lq3aPY@bGTN&ykNn`pjyH8Ty8yfkaKFC-{%^1^t)A23&y?(B~1}_z+_f+9%=7H!|MTBZ?C6^CsYw z@r>8sDvE^HJ;pc@^H&n*;tHJbJmZZ+@C%%9DdXh*qDVMt3*!yPi6Y_kvl)|4K={Dx zMj0nf1`l}iRK}v&B0Z}g&kiV)E|jeV^0*6_j&dWMj{X!V{xi}`c;z7q7vTyVHOP3? zuqYBNX%J_cmbzhqJa3H4!rJSiQ@6F1=6=D%sBx50hIeX ziL`sAVC=&cI2w6En2h=f6py`DB0V1QCY*Rb<5={=gtxqj@m7RKIQc|{jkp4@pTju% zBKSply?T#CI(a7i11BzH{Nvps1&T*6mPk*%N=Te^yGRLdMVtu7?qt02D3JoiV-P8-MOTrtkVH|fQc))4v_gm z@I#n|ewr}t0tN7=p)S8>rbIfiA{e`I1zvlo0(`v|c>Af0Dabp*Nz)jwzZ>NNyx}y3 z8*l~w5p9id415tzMLrSUdKlvvloR2U2NS>m!>oRc^AqHc*h>b)P*7?{L>bNDY#BS8Kd7IOk66FPQ44fyU-`x!8raj z)N`Z>&xwo;xB~B5r!WCmVD?;z;>m}i-5!cKGm5W8-vOjE5H3)B&CQG%2!rsJXGQU? z{Q&N3TQEKV(zB5^!rbE(uErH@{nV8T`*6j5_`l|3UF~_So$VLN2HfX>^iMa6&De0 zNw+YHxW^L?*~2JeEFke5uFr{dE6NH;lDiq{>99lp^+l9B;f5WIt!IG;d}$Knzri7V z=?019A8@Y*(l4W40?9udCy{PLdVKjBtU%V+x1jit>N^(-LXp z86i>_86J8g;&Pcp@?xZqAWmbv7-0g1zuzg595Rgj z0saBct3YwuR*4kr!4lgxBOL(7mxb?O{*mx4%!LxZw}J89C89w1_BO^{n5!Us2X%mO z=c5woW!r?rzaJ-3!sSAu@GZ>S5^l#_E#a-D{woWISJne4@fUN znenl$n3vy*F!2lur2l@UMB#gw?$d?gT{9|M>_U|fPL@W3>Q^ol;r>GX-hAGb)Pn^C8M!XKwF zo|`BNg#E`dp1TIWfxjY834cepK>CFP5``zO7L4O@1s?C0NI#3Z0TdqJ#rW-Aq5!0y zK2@Ud%oRf7FR3UHo;if^e``fS;&5DnKcT%6{)})4e|m=T=fm(DcnUhg)5tr*0hBZ0 zf8mpG0DcMoi##Cw0X~8BbC*aIe!Cd)LRQTxg%auK_9Hx$$?p&cAiZ{pMB(@FP58spjK89s zfb#t>e4t+IH_|tfa^z#eBTZlE7YZ$Z8_Y#(4 zOhp(%e@!T%uOytejPX9m2#pDhUT_JG#}qJ5X#lm`81K6qe4vi@N?3le0>%!@f%6f* z#0j_pr3)D=jub`0vQrf{;tI?E#zNZh8pwy}-S9N)#vFhkNCHBAK&Nq-&6egbR@8gf){GA4Go(6h6I2B3*rp zkho~KNP)sw1h_eLB@j~F@yCe#mZV`m^Uxy_MpRORB z3c{Gf_&06e+d8jq(osO>JE@z1Y4l6alJ(P-Y0~_xl2V#c;9u5 z^Ja>aa5L)m*RRAp?LD}n&fkJMbPN36e7YzO9KqZJY3Hc>9?*@n20Oz%{v*lO%W-OoOP>2dfPVq25v!l5z24E7~*=7o;4y!Y=el5>Md@+>1UGK`T!JbJtAF(HcTj?4iT0ip9tsP%~*!~CcF>z2q-RiL?Ue*g|Qf69ixsq zLOACswC5W|x&(dYdAk{{9yj-M&Rds~| zu7rmritjY}Sb+Y9uy~V1@m;9H zglR}4ke)L^qWI2rf{-pkyCc-v62-HT1|VJXB;!3x&<>V}V)q1zwEt4fjS>(y!T|CX zD9*cDB3-c&Z3-A3r?3`Rq-Q?rHjsXAp+s>(9r+Es1HK7oq25b8itD48e}^4V?7mb1 z&p+MIiu8XG9|`oQ|9g)p9tOR{)3^eM+{<|JbWtQ6GM7<&KokjwqMZ<4jCMjOT*gQW zqDUy<-bfIre-b-!1zvQr!u7ZU3F<1Li2Nd?NDCo(hLJvw-@su=H{l-5tnR!nctZgzxQQ+_4vO;6JA^t~^7eg#Sd{B3yX~<8kyy zgkL`)kxWPXCUl+5n0Bj32wiB)K>F1^3>tSzAbGKtd8%#=v~av%0eVa)N19TMr^ke3pu&woSQ|AaIX7H*J8zw-#z zNrAgiFD35B6}Yos0r_$#@ZF^fh}(B}Bh3h#u<&@syKfMQ#HqLfeXAwXZ=a9y1D+mL zKv_PGyx55Tm+)z7+bI9xyBH&A+l1l8j1^CyZ+QaG@F)wQIC7&zvS}&$yrmdlKFoOU zOi`5BhAVLH0fl35C9Ic7z6U>qyKk0A7fu%v?><+gK=Ol?jC+@fgmBO03diCKd=DJL zT^B1L{&xZ2-ORZ24v|PK#uaJkLE8q>ci+ocxD(;+gbmU}xEFB&3cov2BK^$c7~?-K z3QzVc;Qsg|Y&WAW1I5{gOC&$ohjX`C3tY_hyM?<<)|5BCfz=@I%=50ONPFMMC%k%2oot{{Z|R`5=L`{2qAXZpP!N zlZ4-*{t_OCf5LAMSAgAb$@Vab^sjFcgygY}jD6=LT;K_mGm!pulSJ}6lpByfd#gn9 z=XGdD!1GPU-*De1JU5l`*ZCqLJaZ}Id9+!HeYgUDJC5<(Ht>NzKf^eHdoAr+gB@6?9$AxzAn+TW&yF^<$)DBHd^Oe%&ZPa{7b1zTUc!&DvIevMQdF4{OYR3N5XAqN8!yd0dwFtby5# z#_%vo+cU&GGdwa_5A>+_Wq_%6YU2V>8G*`F;M<_|XwdJ*Xd)CToU1tr| zg5HuRmy&K7`@W%OwX7QnQ#}P!>j=3yHrie=Ffi6^I(Z7u-C1QvBNa%@s)XjyZZxZi zELv|%r4t6BqG!#lX0y~=ZJWSNo@5kR?yS|hY*MkojG^klicCbvyRXTz` TUV-x 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

0pK2CvxR zAb5G=A8$yI_cpr{N{@kYrX7PJxDFI(mt(8QYOdB!WA&tpRjscq4cdnuszyY!VhB*v zsA-^zJI-7oI4J&Eb^V}0UX%c5(=@5mrDvVU*jndjM^fm+A7iV5vG2jBgbuucwy7$< z2cIKXmsVmZdJfX<4@YU}?J0sKFg^S3C>6>d-z7QW@sF~h^N_&#ur+54`cyyp2UhlS_^$Ao2#O`gN^R7q%(7 zrvj+oiqE6ea3f=$lEO8wX!G6^H~JZs&&Od&aW*MDs-gul{KSW??F=H1RdjDdr505~ zK1+T2XcWgcnR3s{AwlJmWfL+(c^;Kw5pW^VN2ECEQirCoY-oaa&8WKIS#* zjdlaaWzRsgR#=8^coD2K*^K4wD zv6)}4>tMWxdR;bMtq8+d;}k`TpgxK)$cI3ytf;edV;T)MkL37J-gC_Zy<-_kkr#6c zJi>{42+A_BH6==N6{CoS(Wo#uQGE?nKLd-5Hey8!Ngd2s9kI(a12-^I>TS_TPuOgD zGqj^nT&~})XUVi;6_0si_>`~ntS0?yA$oswgW(<4l|}Bi#=@V^&fJ#+UMEjBQ}ex0 zE@ia1rPI+x@*FWbY_x-;EH&Z}aekrxvQ(_%pnKtG7aqjWQPQQ%K_i_=IX?6uA~XEY z+egC-xH%p%2oGC%)SJW0@uXJ7ZPrKq7#1D?`_IR)N7k}PR#-m=;~7tK=XxyEjIVrV z&zdv4=klP_L{)ZR5rrd~Rd3-__bQyM+>ywjvqTm?WfbM6xj8G@rXs)HwY9lU)`80X2XN{Z;!4ssM z)ej>s4?r$g=D5r3oj8#WzzZ^Cn-{M0&>8V5wGnyecuK9GALzo&VR^A^arM3>mGaDJ zRJ| zZZtn*AYCyZE-%8M!?dwet$U_j;*2@+Y59IyFVK3Jcd>FSObO<$DkJR*;s|xsj zH{tQ6O0KDlV6_oPhK|_JGh@-k3M~hdQW27p;)xJ$aA<3(AG<+YrB#>!!(xthibUq= zttQ{bYAjoZV{^lEPyMhGWEiM7NMNNgMla;kV!nR_M^wk&FwaQ_b-6K`Q#gjh`kSo* z%$zzSROPZ0SH^)uCK|`a)LUBhlCg4ihy&igX;rbrI#|L%zV))ZUXfLSUs+zNv>Rn7 z3yg%dgZS=8mSLsLLR{JncRmu5~^lfpCv@O4~~^;KNUaH(vOtMii;%{vwDXf zMc19UE+fUKMN9^ws=Lleg(%Q!EiJFhtfd{fy3FFbP-?vUj^LSs>#fmy^6c9%GYZA^ ztDI!9$n{05_s&9+^`#UcHxeo_Rs85*Kh5OOO4*xot?%NRB3G{T4=)@igswV$s3Q`H zr{HjuC`g`_dMqzM#gQ$%w=qVCBec9+r^**7!jhb|+Rq8UK(#is@}@mj6Q^Q=5=Xyz3qq9?OlHefPSS{6Hf61tIWXfb`v z(hIT!A)}(6uw$?eA!_V}tP<lvk4l^T6Y(Y&TW zH6&1AXJVCJK%#|Nw`=#MhJ^uPgr%f-(podZ?-(PsE5_`dC6p7hrOpt+%OcpBVj4?E z5peO%k~o(X%#|BYBW_)}&kUVvru9j4H+G$zt+mYi<+N)`isC?OSl&)F#gQ^*ATyWH zD>wE;ysVrhc=%OJFGn0P^RSDJ-u8((4OGUj<%g~vO@yt#D5&pjlsv@88fgOC%A~pruOesq zVpOH^*qq%lw$d2(Lb*MpZ*Ff$whF`LkV-46Yf4yW8_SeVMsF-BqjJrBrLmy`$+hv7 z#>U1VOpc>5Y|aY`BxE}p!)~Gk@F|)S?coUdp3Yd5`C~Lu3r`odD7CR^BGY1AJH;^8 z)H0%hS%u-sHbc9rV#)E9#-@tBk)^hrybd$KRT(}NEYtB|OD|)VYMJyzIWZ4-HOv|1 zsz&Qrv))*uoj2R1dUaJ!gfn_$Ne{g_Mo|@gE{wi2qrY7szW^o${=hsV$M{GMIPCD&W`Tu!`opp#1i$7Tq z>poQww{HOcI}xYdkcfr2uHBc4@xXPzO~q}GrD77UyLKev=r1K=D>&ocm5BM%60sWB zM}doaQn7I;6*KFpxaw1hI02~aNySCKNX77mL>!9ibMuSh;=dHcQ@~Z5QgO&zubxNCnZ z<^$_@CgLdIhT%k9czz-t2d=Iq;t*W#UXh67@c$BA&wzgWP$GtYjJV&Qh^KcYV(>?a zxCLR{a$h3mJb<+9#ufix^OHpEhVBGhH~dc`P6YPDW;L)AytS}>5Pl8=e**crDiM1= zl88)Y^#!|5jI1m3%T$zeG z!dv{VqB!l{MIrG2g`Y2ot3Q;Aty@s$*B9WwAofFcI)2Z^|GOdEv#lVG{$fE){RryK zhf{G0>chfIQ*k$N0RQiWto_kc?Aclnqrlc13gVh|sW=p}Lty(XY}W%#{J-$O3t|WS zoCy70_&8c?97B6CgY0MaXl=ui1oIqchTF6qWSfLShBMqHh--k zj=C9P1J48Nci;-NzgiHF0(XNm1)O8QfjHlSx(>UuaJ{_;<@y1XJ?he2{6F~u)HC3Y zHHkRD-Wtd-3~vgfZn2_<{YA;2w(WYS=yszkQ!f#jW7ZhoAk>&AtXUkX;OacjEs|2>)vM z+3~4VOa*R$pKB1W=MerA2yfqa5;65i)cs=$Ou@N|ZJod+q!KR4oc zKkQc?20xHj5Z8Eam`Vwxc_CTm^>jBN52Z?c{uJL zdPeD3r|6w;<^RbwcsBKEPEUB@vUeJz<$_X zd|D!=otlUpz_PcX?E_CkHV)Wy2ClzE*`i%;*n@mUo4Ru<{7pe!dMEBpZ%4lZ&i>O; z?)ZHOu0!uYUgLTdbPwbIv%uf96!%}?X!M<%FG zKOJcU`gh{~_%-Aqt_N;MdjcxoL3_gW`X3^%zETip0H@>s%g;f5IT!K4b$AKt)>5Pi zzwfyl_ptZk9`+v81;}^e`Yd!0;s4!`PsINV!P&DMVcwI9QCus??VHr_ z-iJ1@D-~B)kr$Akfa|m$q8|#(f=lXc_Xhg8DXq zGU!Jh4x((ok9r25li+_GY{o%;7i>14mxxn=tc|LMQxHx|U3fC_%Eh5Sh1;kBrHAHY5K zXXqb*i-4m)gz~!>_uqfRxB@u!62uAE4cQR*i!Vf-`yj#rmOX^JhwFOS8~|3r*PNfH z;z7vIm|GM#}z#M^{sE?jY(it~)DeLoM`+wNza8CDgfh6vd8TqJJA# z6cY|Fiut%ckL#wF7RAN5o`~y%Bgk7|-=i4Eom~{;wxX@z{&VxqXiGcMcYPUY-iCPm z4*7xWfqe+?_h`$1OvTb~U|jMz#&)+Nym+=EubG^9(Xbp zTfT~R0!*1&6kF#M#WlUDIJQ3(&0nYD)Ou0Wk(Oy6$9;c#Q9Oq9TnQhKU5~Jkril+? z+^{?2A|m&F$r%zZ5wqFdBn!F7ZbC$4*zC?`2X<$cnb{nO zh=_=Y_l1gx7a}6wii(Peh=_=Ycp+Y>h=_=&hzjpp)p!5;H%TP^-+Q0;_jawll+0PUP<%(p+p9PlHI zU-)+h{{8gZk>__p#ye2Amw`Y2?cjR>{{A)oo$>WFy5UB&HT-V>8ru3dFlM6-o{N8v zIR^T;2W9yw%J&bn*T-Qy{RHy|{$Bng=<~<0G4cB<{=N(F+m5Dog*v$x{qBT3IuG;D zLr8P!&!8jlxCii^@b_B4BK&>l{h<8~@`2x+C$i|#U!yJkHjPdL{JsQZYL0PY+dR4< zML*1de`X#ffGxuJ6#hLJuyX)=6ULDnkuJe_`;M(p{%6Am$8XMdd34Vf;DO(XTcY1> zhW=YY|Hi*}gYV;;qfDr;>w&u%fA4_bE|?b%0FU{gyB_Ipc^29weh2KENAJdO`~C9h zr-$Ux<%j3dClAY`C5M6rzwM4dJ`Y5F?ho7a0N5t@Jqg-z&|ZXpA2~RWu0AM__IQ3C z%>~_lNIwPI8Gs!RK67E$tUM8A!klzk55|A|7R^DwIS&8sokx}DK%e-H?U+Xs&&{JV zo|i`t;O~d<_X9gX4t|dT|3qIFU4-BE_#HkEI_$@KXg>Pkk$H48_^m}gHs1;35azG_ z_Jh9go4FhEJ{Pz>kWc)s+Bb`i!tV;Czv@`@y*;t6LB5ac#TX7=7a&jD<9Gi4!0!Y4 zBhl^wzZg1LJpg+A9)pbQXJC#Z-us|G9)LE#TNWJ(+Vf|@wmlgA2fz6TVhjT9eJD>K z=uZdTt-GRq?F5-Kv*^Zyzzg)BN7@|^0l!^9cMRsS>;W71DA4SV zG2&2^543Lq>;b^u0NB3)yBNQR_k>M&G{zF}zxQy=6ZoBm?+oRB=rHI2zb9V=8q~#^ z(A_z+F;3#ww{sqi?uB~6Z*%Zii{DJ>=0@aYHu88Y%5l{5(f06Lg#6#L3)&L$za{d1 zI{v;JdA)yUjAi&e484uM0AtS!(LeEf+YGcH{N_MUcc5JN0k`ycj3c{e(J}bVK$%b7 z3+)WBo6r`Hg3k9l0k#Hy7bCCRi}kj?L+Vy)qYV zdtM&hhTp^Z`x5Ye9@f&{N{Q^3;4`o>edu18Q zb!`?s_(|vyzpFEh3px6H1#>w5{WpHMTmzk^7?Xj!;t{;FOevg3W0{mu! zX6Q}O>z|Y8?hirN_;;^=V;zHfxeWha_b;SH`TqV9w1J0`XdnDmJ_wuY{b+yq_m;oPvzYJaA zHw2#d45ZN+_`U6GXdn393|Yr~6?y^B>+tWx$n&AYm~SwCEI1SRF^q5cw}Cp?XB_k9 zAjXp=m=9W@I}79f6voiAp@UKI9zk7AA}!M2{9@qdOnj!dAxbYW#g3U^~LLITv=^TN+r8;kU~q>?r)UZNhE={1W`T&%!*q@;t1q@Vo8Y zG@AW#=nB6KZT4+T(YEmKY?NX%o0y;t;*&1#BJhb`KdchZV;a)c( zPmf|9j5ha%)zI}CjG6e|i{FKiy%O#HQT$tZ4C5E_cOmj|!sSQ@AL#kueav#Szs0a4 z@bAqpLLb36x;@|*zc7!6Fb8xn7N2$!`Y7bDK)q}~09$D#@`c|SsIzxKAD5#px1NAJ z{I*3uTly{J1LatOwZoYwqA%iiVGZLl(msLTioc<)<9E@Pu!r!wy@GjbvpiaWfA7vQ zcW#b)!uO>KY{?Y;8vo9Y^62yU9UP0>`8vi<Wx@H_Z-ST{X@_3s~0-ammJzw`fy zu?xRjAA&9)g#Y08SnuH9ZSe2;_-zT?q5r~Ih_q)S?Wv%<0^iqz#|=-QjiZiQPols7 z2e#9{vFGqFtl1t%-2(OietQ6Z9pI0H?$duq-2wOGCs5D$`;Nb%e)0F2kD-m=cf~(Y ze!vdGzny==J_7B{;P(jrzBop^!f$)@sr$CV92H^A8^*dCzwoR}<17A6alC^#OME{EZ9qp1oFW)JDR{rdK`~122j`?=^oUAvSo%Lk%vbkA* z)|buC9*eh)w~x1rpB+CZepdX<_}KWM_=x!Uc<;D3-aqb%4~Y+pkBn!<^Wvl9gX0t8 zedEL9nen0VS=owg�Xxm37&4wk$g(J3D(>Hk1u!^=wUcZkAQ@%7W~~Y*F?=`s%Ej z4QC_S%Iu76DjUtlvhi$HR?AM$UYebjotnKQ+cnxPdPR0Y_VR2=wlG_q{XYF|dVl)6 z^bhID+4HjJX17J(itdQE$~Mck%(lp$NdJ{Smi{gMNBVfWQ}*|C$83k}+1d74mL=KF z*|qT}3-M>;&&8jQZ-~Dfe=GiWd~1ALe0%(z`0n_J@m=u` z;ydE+#XpL_AKw%IF1auMW&Hd2{`hzCujAjw55#|ne;)rL{!RR=_?gkOqV1w>qfh3a z$Ul`|m;WvPdwgH|NcNZPm)W1QhqH&WKV`ql{+Rte`&;(A>|fchvp-}HW)EcdXTQyU zpZz9V5&bcGDEe9c)BGp-o%xURFXq?h_vT;7Kc62Q9TXiHZI$H7Hp!OB*2%U>C3!}& zMe@vKv*dZn(aAB%fysW!k;$xNW^zEXe=;LEI5{?XVe7{Fwac{EXzK$?3_m(G!o&IPjp69k6s#`9@V1JXk|1WEssu( zhN4c?h?>!9(VFNb(V5X%Q9EiyOQVTsb#!NPSMvSjxzP^MPSKCk-{q_FU*^Bc$MU}X zfxJJToA>7LOj{9pMqD^KMA%pb>O{*V06`7k)-Jil^S z<)F&pm3z~lraw#PRr)IXM0-b3`tKx3|C2nG#Od?WXQtbv+on6D&q=pSw@$Z8pOJ2# z?wD?tzBRrkeqVfb{I2-J@#XP5;t#}ci$4}$8Gkf>cYIa+-uRvI2jjQISHvHQFN;4E zzbAfs{QmglbV=Gt>**)b>(Xn}kEU0rYtu&h^7PB;m(o|Km!wyw?@!;DUXi{peP#NE z^z-RN`r>p&x-=b3zm={`KbfvcC)0NN;q*i4%hIdTkECa(t@OO~wduv_8`9UO?@Zs3 zzBPSIdO`Z}bai@W+Du2&YtnPlkEK)Tx#>me>(aNSZ%WTkKbU?XeMvf;o{_#F{Zx8= z`o;9C>8I1rq+d^ON^efTkzSU*C%rs9COtMiE?tzKo_;$WNav^X(s!pPrQb}Kr6;DR zrVG+)T1!`@wI$iJF>D!VSbHv4#XQ}%`I^V!$4FJ{+gH)P+)zL|YG`$YD+?6cXIvae;Q zrcJlzk-IA%9N3 zb3Tw=onMoGH2+xssbtT1uXuiZKzv|45bqNo7r!8$9lt1^6VHwN;~8;Zd`x^)ykGpn z`1$dRvu4)Fc8~UmI$2sdCtIB@&nB|Ttd(7uotdr8DwUJ6i?UZ{=V!0V&dc5uFU_8n zRkF>qf2U8TnC!D%v%jSONuNsNEYEh!((F0ecG+LkN7Gy4tFv#$H^<+IZ;HPj-x%K+ ze=quU{*U;d@#FD-vPZMOW{+jR$nMMjnLUyHJ9|9)NA|DyKk?7=59c4sKa&4D{(gRU z{=@v9{73m+`493}YE9epIZDtT>kcyw6w=Hw;$wv}xvTUPGNf04f?zc@c2>WO}t z+?PC({4x1j^qu@~$pMwUD*IJ#$#2fTmVYch2lDsjSLE-_Uz=Z&?-k9htWG+~Imy~&I$4*j zNz(Mm(=F4T(k;@>)90pdj$fFbkj_o})4p_e+MB*8os;&Y)9JeO&FOp7 z+tM4-SELuFuS$o~v(ne3m!@w|m#3$sx2C71UrDdYj!(aq-k6T0yQaIPyQc@I2c^OAG&^YRa6yF};b zi}L^E&#JsIKR!Ppe`9uj^vdX|D2vlLijz2w^Y}H{ocyZn!TgW;pYn(Ehw|5FZ_VD5 zU7jt^-<7>CyEI#t&#w$revthvyDPgV`%!jpc6au}?8n(pv!7(|$ljj4HoGMIL;jZR zvh1DNyR%dB-{$w{zs`S?|2}_P_J-`u*_*OBN&*({qj8qLC%UX)=UyJ!mhKhNRi)PM zhaG!&9xUGZuz8<~%dFm?NW1s9(Pr_z@lP%5_mSwov48&=uz*jzPmSLg zzcPMBd~UopJ}W*mK0Q7sera5f7sjW=gYkLsnz$V|vSgzR`cTiuiN<|CV*cceC$j-^uRCZqL4#-I

  • )CLL6A!A})au1%!B~Fz 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 encoding before attempting the + operation. + + Please note that these APIs are internal and should not + be used in Python C extensions. + + XXX (ncoghlan): should we make these, or something like them, public + in Python 3.5+? + + */ +PyAPI_FUNC(PyObject *) _PyCodec_LookupTextEncoding( + const char *encoding, + const char *alternate_command + ); + +PyAPI_FUNC(PyObject *) _PyCodec_EncodeText( + PyObject *object, + const char *encoding, + const char *errors + ); + +PyAPI_FUNC(PyObject *) _PyCodec_DecodeText( + PyObject *object, + const char *encoding, + const char *errors + ); + +/* These two aren't actually text encoding specific, but _io.TextIOWrapper + * is the only current API consumer. + */ +PyAPI_FUNC(PyObject *) _PyCodecInfo_GetIncrementalDecoder( + PyObject *codec_info, + const char *errors + ); + +PyAPI_FUNC(PyObject *) _PyCodecInfo_GetIncrementalEncoder( + PyObject *codec_info, + const char *errors + ); +#endif + + + +/* --- Codec Lookup APIs -------------------------------------------------- + + All APIs return a codec object with incremented refcount and are + based on _PyCodec_Lookup(). The same comments w/r to the encoding + name also apply to these APIs. + +*/ + +/* Get an encoder function for the given encoding. */ + +PyAPI_FUNC(PyObject *) PyCodec_Encoder( + const char *encoding + ); + +/* Get a decoder function for the given encoding. */ + +PyAPI_FUNC(PyObject *) PyCodec_Decoder( + const char *encoding + ); + +/* Get an IncrementalEncoder object for the given encoding. */ + +PyAPI_FUNC(PyObject *) PyCodec_IncrementalEncoder( + const char *encoding, + const char *errors + ); + +/* Get an IncrementalDecoder object function for the given encoding. */ + +PyAPI_FUNC(PyObject *) PyCodec_IncrementalDecoder( + const char *encoding, + const char *errors + ); + +/* Get a StreamReader factory function for the given encoding. */ + +PyAPI_FUNC(PyObject *) PyCodec_StreamReader( + const char *encoding, + PyObject *stream, + const char *errors + ); + +/* Get a StreamWriter factory function for the given encoding. */ + +PyAPI_FUNC(PyObject *) PyCodec_StreamWriter( + const char *encoding, + PyObject *stream, + const char *errors + ); + +/* Unicode encoding error handling callback registry API */ + +/* Register the error handling callback function error under the given + name. This function will be called by the codec when it encounters + unencodable characters/undecodable bytes and doesn't know the + callback name, when name is specified as the error parameter + in the call to the encode/decode function. + Return 0 on success, -1 on error */ +PyAPI_FUNC(int) PyCodec_RegisterError(const char *name, PyObject *error); + +/* Lookup the error handling callback function registered under the given + name. As a special case NULL can be passed, in which case + the error handling callback for "strict" will be returned. */ +PyAPI_FUNC(PyObject *) PyCodec_LookupError(const char *name); + +/* raise exc as an exception */ +PyAPI_FUNC(PyObject *) PyCodec_StrictErrors(PyObject *exc); + +/* ignore the unicode error, skipping the faulty input */ +PyAPI_FUNC(PyObject *) PyCodec_IgnoreErrors(PyObject *exc); + +/* replace the unicode encode error with ? or U+FFFD */ +PyAPI_FUNC(PyObject *) PyCodec_ReplaceErrors(PyObject *exc); + +/* replace the unicode encode error with XML character references */ +PyAPI_FUNC(PyObject *) PyCodec_XMLCharRefReplaceErrors(PyObject *exc); + +/* replace the unicode encode error with backslash escapes (\x, \u and \U) */ +PyAPI_FUNC(PyObject *) PyCodec_BackslashReplaceErrors(PyObject *exc); + +#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x03050000 +/* replace the unicode encode error with backslash escapes (\N, \x, \u and \U) */ +PyAPI_FUNC(PyObject *) PyCodec_NameReplaceErrors(PyObject *exc); +#endif + +#ifndef Py_LIMITED_API +PyAPI_DATA(const char *) Py_hexdigits; +#endif + +#ifdef __cplusplus +} +#endif +#endif /* !Py_CODECREGISTRY_H */ diff --git a/_Pre_Builds/_Python311_cpp/include/compile.h b/_Pre_Builds/_Python311_cpp/include/compile.h new file mode 100644 index 0000000..3c5acd7 --- /dev/null +++ b/_Pre_Builds/_Python311_cpp/include/compile.h @@ -0,0 +1,25 @@ +#ifndef Py_COMPILE_H +#define Py_COMPILE_H +#ifdef __cplusplus +extern "C" { +#endif + +/* These definitions must match corresponding definitions in graminit.h. */ +#define Py_single_input 256 +#define Py_file_input 257 +#define Py_eval_input 258 +#define Py_func_type_input 345 + +/* This doesn't need to match anything */ +#define Py_fstring_input 800 + +#ifndef Py_LIMITED_API +# define Py_CPYTHON_COMPILE_H +# include "cpython/compile.h" +# undef Py_CPYTHON_COMPILE_H +#endif + +#ifdef __cplusplus +} +#endif +#endif /* !Py_COMPILE_H */ diff --git a/_Python311_cpp/include/complexobject.h b/_Pre_Builds/_Python311_cpp/include/complexobject.h similarity index 100% rename from _Python311_cpp/include/complexobject.h rename to _Pre_Builds/_Python311_cpp/include/complexobject.h diff --git a/_Python311_cpp/include/cpython/abstract.h b/_Pre_Builds/_Python311_cpp/include/cpython/abstract.h similarity index 100% rename from _Python311_cpp/include/cpython/abstract.h rename to _Pre_Builds/_Python311_cpp/include/cpython/abstract.h diff --git a/_Python311_cpp/include/cpython/bytearrayobject.h b/_Pre_Builds/_Python311_cpp/include/cpython/bytearrayobject.h similarity index 100% rename from _Python311_cpp/include/cpython/bytearrayobject.h rename to _Pre_Builds/_Python311_cpp/include/cpython/bytearrayobject.h diff --git a/_Python311_cpp/include/cpython/bytesobject.h b/_Pre_Builds/_Python311_cpp/include/cpython/bytesobject.h similarity index 100% rename from _Python311_cpp/include/cpython/bytesobject.h rename to _Pre_Builds/_Python311_cpp/include/cpython/bytesobject.h diff --git a/_Python311_cpp/include/cpython/cellobject.h b/_Pre_Builds/_Python311_cpp/include/cpython/cellobject.h similarity index 100% rename from _Python311_cpp/include/cpython/cellobject.h rename to _Pre_Builds/_Python311_cpp/include/cpython/cellobject.h diff --git a/_Python311_cpp/include/cpython/ceval.h b/_Pre_Builds/_Python311_cpp/include/cpython/ceval.h similarity index 100% rename from _Python311_cpp/include/cpython/ceval.h rename to _Pre_Builds/_Python311_cpp/include/cpython/ceval.h diff --git a/_Python311_cpp/include/cpython/classobject.h b/_Pre_Builds/_Python311_cpp/include/cpython/classobject.h similarity index 100% rename from _Python311_cpp/include/cpython/classobject.h rename to _Pre_Builds/_Python311_cpp/include/cpython/classobject.h diff --git a/_Python311_cpp/include/cpython/code.h b/_Pre_Builds/_Python311_cpp/include/cpython/code.h similarity index 100% rename from _Python311_cpp/include/cpython/code.h rename to _Pre_Builds/_Python311_cpp/include/cpython/code.h diff --git a/_Pre_Builds/_Python311_cpp/include/cpython/compile.h b/_Pre_Builds/_Python311_cpp/include/cpython/compile.h new file mode 100644 index 0000000..518a376 --- /dev/null +++ b/_Pre_Builds/_Python311_cpp/include/cpython/compile.h @@ -0,0 +1,54 @@ +#ifndef Py_CPYTHON_COMPILE_H +# error "this header file must not be included directly" +#endif + +/* Public interface */ +#define PyCF_MASK (CO_FUTURE_DIVISION | CO_FUTURE_ABSOLUTE_IMPORT | \ + CO_FUTURE_WITH_STATEMENT | CO_FUTURE_PRINT_FUNCTION | \ + CO_FUTURE_UNICODE_LITERALS | CO_FUTURE_BARRY_AS_BDFL | \ + CO_FUTURE_GENERATOR_STOP | CO_FUTURE_ANNOTATIONS) +#define PyCF_MASK_OBSOLETE (CO_NESTED) + +/* bpo-39562: CO_FUTURE_ and PyCF_ constants must be kept unique. + PyCF_ constants can use bits from 0x0100 to 0x10000. + CO_FUTURE_ constants use bits starting at 0x20000. */ +#define PyCF_SOURCE_IS_UTF8 0x0100 +#define PyCF_DONT_IMPLY_DEDENT 0x0200 +#define PyCF_ONLY_AST 0x0400 +#define PyCF_IGNORE_COOKIE 0x0800 +#define PyCF_TYPE_COMMENTS 0x1000 +#define PyCF_ALLOW_TOP_LEVEL_AWAIT 0x2000 +#define PyCF_ALLOW_INCOMPLETE_INPUT 0x4000 +#define PyCF_COMPILE_MASK (PyCF_ONLY_AST | PyCF_ALLOW_TOP_LEVEL_AWAIT | \ + PyCF_TYPE_COMMENTS | PyCF_DONT_IMPLY_DEDENT | \ + PyCF_ALLOW_INCOMPLETE_INPUT) + +typedef struct { + int cf_flags; /* bitmask of CO_xxx flags relevant to future */ + int cf_feature_version; /* minor Python version (PyCF_ONLY_AST) */ +} PyCompilerFlags; + +#define _PyCompilerFlags_INIT \ + (PyCompilerFlags){.cf_flags = 0, .cf_feature_version = PY_MINOR_VERSION} + +/* Future feature support */ + +typedef struct { + int ff_features; /* flags set by future statements */ + int ff_lineno; /* line number of last future statement */ +} PyFutureFeatures; + +#define FUTURE_NESTED_SCOPES "nested_scopes" +#define FUTURE_GENERATORS "generators" +#define FUTURE_DIVISION "division" +#define FUTURE_ABSOLUTE_IMPORT "absolute_import" +#define FUTURE_WITH_STATEMENT "with_statement" +#define FUTURE_PRINT_FUNCTION "print_function" +#define FUTURE_UNICODE_LITERALS "unicode_literals" +#define FUTURE_BARRY_AS_BDFL "barry_as_FLUFL" +#define FUTURE_GENERATOR_STOP "generator_stop" +#define FUTURE_ANNOTATIONS "annotations" + +#define PY_INVALID_STACK_EFFECT INT_MAX +PyAPI_FUNC(int) PyCompile_OpcodeStackEffect(int opcode, int oparg); +PyAPI_FUNC(int) PyCompile_OpcodeStackEffectWithJump(int opcode, int oparg, int jump); diff --git a/_Python311_cpp/include/cpython/complexobject.h b/_Pre_Builds/_Python311_cpp/include/cpython/complexobject.h similarity index 100% rename from _Python311_cpp/include/cpython/complexobject.h rename to _Pre_Builds/_Python311_cpp/include/cpython/complexobject.h diff --git a/_Python311_cpp/include/cpython/context.h b/_Pre_Builds/_Python311_cpp/include/cpython/context.h similarity index 100% rename from _Python311_cpp/include/cpython/context.h rename to _Pre_Builds/_Python311_cpp/include/cpython/context.h diff --git a/_Python311_cpp/include/cpython/descrobject.h b/_Pre_Builds/_Python311_cpp/include/cpython/descrobject.h similarity index 100% rename from _Python311_cpp/include/cpython/descrobject.h rename to _Pre_Builds/_Python311_cpp/include/cpython/descrobject.h diff --git a/_Python311_cpp/include/cpython/dictobject.h b/_Pre_Builds/_Python311_cpp/include/cpython/dictobject.h similarity index 100% rename from _Python311_cpp/include/cpython/dictobject.h rename to _Pre_Builds/_Python311_cpp/include/cpython/dictobject.h diff --git a/_Python311_cpp/include/cpython/fileobject.h b/_Pre_Builds/_Python311_cpp/include/cpython/fileobject.h similarity index 100% rename from _Python311_cpp/include/cpython/fileobject.h rename to _Pre_Builds/_Python311_cpp/include/cpython/fileobject.h diff --git a/_Python311_cpp/include/cpython/fileutils.h b/_Pre_Builds/_Python311_cpp/include/cpython/fileutils.h similarity index 100% rename from _Python311_cpp/include/cpython/fileutils.h rename to _Pre_Builds/_Python311_cpp/include/cpython/fileutils.h diff --git a/_Python311_cpp/include/cpython/floatobject.h b/_Pre_Builds/_Python311_cpp/include/cpython/floatobject.h similarity index 100% rename from _Python311_cpp/include/cpython/floatobject.h rename to _Pre_Builds/_Python311_cpp/include/cpython/floatobject.h diff --git a/_Python311_cpp/include/cpython/frameobject.h b/_Pre_Builds/_Python311_cpp/include/cpython/frameobject.h similarity index 100% rename from _Python311_cpp/include/cpython/frameobject.h rename to _Pre_Builds/_Python311_cpp/include/cpython/frameobject.h diff --git a/_Python311_cpp/include/cpython/funcobject.h b/_Pre_Builds/_Python311_cpp/include/cpython/funcobject.h similarity index 100% rename from _Python311_cpp/include/cpython/funcobject.h rename to _Pre_Builds/_Python311_cpp/include/cpython/funcobject.h diff --git a/_Python311_cpp/include/cpython/genobject.h b/_Pre_Builds/_Python311_cpp/include/cpython/genobject.h similarity index 100% rename from _Python311_cpp/include/cpython/genobject.h rename to _Pre_Builds/_Python311_cpp/include/cpython/genobject.h diff --git a/_Python311_cpp/include/cpython/import.h b/_Pre_Builds/_Python311_cpp/include/cpython/import.h similarity index 100% rename from _Python311_cpp/include/cpython/import.h rename to _Pre_Builds/_Python311_cpp/include/cpython/import.h diff --git a/_Python311_cpp/include/cpython/initconfig.h b/_Pre_Builds/_Python311_cpp/include/cpython/initconfig.h similarity index 100% rename from _Python311_cpp/include/cpython/initconfig.h rename to _Pre_Builds/_Python311_cpp/include/cpython/initconfig.h diff --git a/_Python311_cpp/include/cpython/listobject.h b/_Pre_Builds/_Python311_cpp/include/cpython/listobject.h similarity index 100% rename from _Python311_cpp/include/cpython/listobject.h rename to _Pre_Builds/_Python311_cpp/include/cpython/listobject.h diff --git a/_Python311_cpp/include/cpython/longintrepr.h b/_Pre_Builds/_Python311_cpp/include/cpython/longintrepr.h similarity index 100% rename from _Python311_cpp/include/cpython/longintrepr.h rename to _Pre_Builds/_Python311_cpp/include/cpython/longintrepr.h diff --git a/_Python311_cpp/include/cpython/longobject.h b/_Pre_Builds/_Python311_cpp/include/cpython/longobject.h similarity index 100% rename from _Python311_cpp/include/cpython/longobject.h rename to _Pre_Builds/_Python311_cpp/include/cpython/longobject.h diff --git a/_Python311_cpp/include/cpython/methodobject.h b/_Pre_Builds/_Python311_cpp/include/cpython/methodobject.h similarity index 100% rename from _Python311_cpp/include/cpython/methodobject.h rename to _Pre_Builds/_Python311_cpp/include/cpython/methodobject.h diff --git a/_Python311_cpp/include/cpython/modsupport.h b/_Pre_Builds/_Python311_cpp/include/cpython/modsupport.h similarity index 98% rename from _Python311_cpp/include/cpython/modsupport.h rename to _Pre_Builds/_Python311_cpp/include/cpython/modsupport.h index 769eb52..205e174 100644 --- a/_Python311_cpp/include/cpython/modsupport.h +++ b/_Pre_Builds/_Python311_cpp/include/cpython/modsupport.h @@ -103,5 +103,6 @@ PyAPI_FUNC(PyObject * const *) _PyArg_UnpackKeywordsWithVararg( (minpos), (maxpos), (minkw), (buf))) PyAPI_FUNC(PyObject *) _PyModule_CreateInitialized(PyModuleDef*, int apiver); +PyAPI_FUNC(int) _PyModule_Add(PyObject *, const char *, PyObject *); PyAPI_DATA(const char *) _Py_PackageContext; diff --git a/_Python311_cpp/include/cpython/object.h b/_Pre_Builds/_Python311_cpp/include/cpython/object.h similarity index 100% rename from _Python311_cpp/include/cpython/object.h rename to _Pre_Builds/_Python311_cpp/include/cpython/object.h diff --git a/_Python311_cpp/include/cpython/objimpl.h b/_Pre_Builds/_Python311_cpp/include/cpython/objimpl.h similarity index 100% rename from _Python311_cpp/include/cpython/objimpl.h rename to _Pre_Builds/_Python311_cpp/include/cpython/objimpl.h diff --git a/_Pre_Builds/_Python311_cpp/include/cpython/odictobject.h b/_Pre_Builds/_Python311_cpp/include/cpython/odictobject.h new file mode 100644 index 0000000..e070413 --- /dev/null +++ b/_Pre_Builds/_Python311_cpp/include/cpython/odictobject.h @@ -0,0 +1,43 @@ +#ifndef Py_ODICTOBJECT_H +#define Py_ODICTOBJECT_H +#ifdef __cplusplus +extern "C" { +#endif + + +/* OrderedDict */ +/* This API is optional and mostly redundant. */ + +#ifndef Py_LIMITED_API + +typedef struct _odictobject PyODictObject; + +PyAPI_DATA(PyTypeObject) PyODict_Type; +PyAPI_DATA(PyTypeObject) PyODictIter_Type; +PyAPI_DATA(PyTypeObject) PyODictKeys_Type; +PyAPI_DATA(PyTypeObject) PyODictItems_Type; +PyAPI_DATA(PyTypeObject) PyODictValues_Type; + +#define PyODict_Check(op) PyObject_TypeCheck(op, &PyODict_Type) +#define PyODict_CheckExact(op) Py_IS_TYPE(op, &PyODict_Type) +#define PyODict_SIZE(op) PyDict_GET_SIZE((op)) + +PyAPI_FUNC(PyObject *) PyODict_New(void); +PyAPI_FUNC(int) PyODict_SetItem(PyObject *od, PyObject *key, PyObject *item); +PyAPI_FUNC(int) PyODict_DelItem(PyObject *od, PyObject *key); + +/* wrappers around PyDict* functions */ +#define PyODict_GetItem(od, key) PyDict_GetItem(_PyObject_CAST(od), key) +#define PyODict_GetItemWithError(od, key) \ + PyDict_GetItemWithError(_PyObject_CAST(od), key) +#define PyODict_Contains(od, key) PyDict_Contains(_PyObject_CAST(od), key) +#define PyODict_Size(od) PyDict_Size(_PyObject_CAST(od)) +#define PyODict_GetItemString(od, key) \ + PyDict_GetItemString(_PyObject_CAST(od), key) + +#endif + +#ifdef __cplusplus +} +#endif +#endif /* !Py_ODICTOBJECT_H */ diff --git a/_Pre_Builds/_Python311_cpp/include/cpython/picklebufobject.h b/_Pre_Builds/_Python311_cpp/include/cpython/picklebufobject.h new file mode 100644 index 0000000..0df2561 --- /dev/null +++ b/_Pre_Builds/_Python311_cpp/include/cpython/picklebufobject.h @@ -0,0 +1,31 @@ +/* PickleBuffer object. This is built-in for ease of use from third-party + * C extensions. + */ + +#ifndef Py_PICKLEBUFOBJECT_H +#define Py_PICKLEBUFOBJECT_H +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef Py_LIMITED_API + +PyAPI_DATA(PyTypeObject) PyPickleBuffer_Type; + +#define PyPickleBuffer_Check(op) Py_IS_TYPE(op, &PyPickleBuffer_Type) + +/* Create a PickleBuffer redirecting to the given buffer-enabled object */ +PyAPI_FUNC(PyObject *) PyPickleBuffer_FromObject(PyObject *); +/* Get the PickleBuffer's underlying view to the original object + * (NULL if released) + */ +PyAPI_FUNC(const Py_buffer *) PyPickleBuffer_GetBuffer(PyObject *); +/* Release the PickleBuffer. Returns 0 on success, -1 on error. */ +PyAPI_FUNC(int) PyPickleBuffer_Release(PyObject *); + +#endif /* !Py_LIMITED_API */ + +#ifdef __cplusplus +} +#endif +#endif /* !Py_PICKLEBUFOBJECT_H */ diff --git a/_Python311_cpp/include/cpython/pthread_stubs.h b/_Pre_Builds/_Python311_cpp/include/cpython/pthread_stubs.h similarity index 100% rename from _Python311_cpp/include/cpython/pthread_stubs.h rename to _Pre_Builds/_Python311_cpp/include/cpython/pthread_stubs.h diff --git a/_Pre_Builds/_Python311_cpp/include/cpython/pyctype.h b/_Pre_Builds/_Python311_cpp/include/cpython/pyctype.h new file mode 100644 index 0000000..729d932 --- /dev/null +++ b/_Pre_Builds/_Python311_cpp/include/cpython/pyctype.h @@ -0,0 +1,39 @@ +#ifndef Py_LIMITED_API +#ifndef PYCTYPE_H +#define PYCTYPE_H +#ifdef __cplusplus +extern "C" { +#endif + +#define PY_CTF_LOWER 0x01 +#define PY_CTF_UPPER 0x02 +#define PY_CTF_ALPHA (PY_CTF_LOWER|PY_CTF_UPPER) +#define PY_CTF_DIGIT 0x04 +#define PY_CTF_ALNUM (PY_CTF_ALPHA|PY_CTF_DIGIT) +#define PY_CTF_SPACE 0x08 +#define PY_CTF_XDIGIT 0x10 + +PyAPI_DATA(const unsigned int) _Py_ctype_table[256]; + +/* Unlike their C counterparts, the following macros are not meant to + * handle an int with any of the values [EOF, 0-UCHAR_MAX]. The argument + * must be a signed/unsigned char. */ +#define Py_ISLOWER(c) (_Py_ctype_table[Py_CHARMASK(c)] & PY_CTF_LOWER) +#define Py_ISUPPER(c) (_Py_ctype_table[Py_CHARMASK(c)] & PY_CTF_UPPER) +#define Py_ISALPHA(c) (_Py_ctype_table[Py_CHARMASK(c)] & PY_CTF_ALPHA) +#define Py_ISDIGIT(c) (_Py_ctype_table[Py_CHARMASK(c)] & PY_CTF_DIGIT) +#define Py_ISXDIGIT(c) (_Py_ctype_table[Py_CHARMASK(c)] & PY_CTF_XDIGIT) +#define Py_ISALNUM(c) (_Py_ctype_table[Py_CHARMASK(c)] & PY_CTF_ALNUM) +#define Py_ISSPACE(c) (_Py_ctype_table[Py_CHARMASK(c)] & PY_CTF_SPACE) + +PyAPI_DATA(const unsigned char) _Py_ctype_tolower[256]; +PyAPI_DATA(const unsigned char) _Py_ctype_toupper[256]; + +#define Py_TOLOWER(c) (_Py_ctype_tolower[Py_CHARMASK(c)]) +#define Py_TOUPPER(c) (_Py_ctype_toupper[Py_CHARMASK(c)]) + +#ifdef __cplusplus +} +#endif +#endif /* !PYCTYPE_H */ +#endif /* !Py_LIMITED_API */ diff --git a/_Python311_cpp/include/cpython/pydebug.h b/_Pre_Builds/_Python311_cpp/include/cpython/pydebug.h similarity index 100% rename from _Python311_cpp/include/cpython/pydebug.h rename to _Pre_Builds/_Python311_cpp/include/cpython/pydebug.h diff --git a/_Python311_cpp/include/cpython/pyerrors.h b/_Pre_Builds/_Python311_cpp/include/cpython/pyerrors.h similarity index 100% rename from _Python311_cpp/include/cpython/pyerrors.h rename to _Pre_Builds/_Python311_cpp/include/cpython/pyerrors.h diff --git a/_Pre_Builds/_Python311_cpp/include/cpython/pyfpe.h b/_Pre_Builds/_Python311_cpp/include/cpython/pyfpe.h new file mode 100644 index 0000000..cc2def6 --- /dev/null +++ b/_Pre_Builds/_Python311_cpp/include/cpython/pyfpe.h @@ -0,0 +1,15 @@ +#ifndef Py_PYFPE_H +#define Py_PYFPE_H +/* Header excluded from the stable API */ +#ifndef Py_LIMITED_API + +/* These macros used to do something when Python was built with --with-fpectl, + * but support for that was dropped in 3.7. We continue to define them though, + * to avoid breaking API users. + */ + +#define PyFPE_START_PROTECT(err_string, leave_stmt) +#define PyFPE_END_PROTECT(v) + +#endif /* !defined(Py_LIMITED_API) */ +#endif /* !Py_PYFPE_H */ diff --git a/_Python311_cpp/include/cpython/pyframe.h b/_Pre_Builds/_Python311_cpp/include/cpython/pyframe.h similarity index 100% rename from _Python311_cpp/include/cpython/pyframe.h rename to _Pre_Builds/_Python311_cpp/include/cpython/pyframe.h diff --git a/_Python311_cpp/include/cpython/pylifecycle.h b/_Pre_Builds/_Python311_cpp/include/cpython/pylifecycle.h similarity index 100% rename from _Python311_cpp/include/cpython/pylifecycle.h rename to _Pre_Builds/_Python311_cpp/include/cpython/pylifecycle.h diff --git a/_Pre_Builds/_Python311_cpp/include/cpython/pymem.h b/_Pre_Builds/_Python311_cpp/include/cpython/pymem.h new file mode 100644 index 0000000..d1054d7 --- /dev/null +++ b/_Pre_Builds/_Python311_cpp/include/cpython/pymem.h @@ -0,0 +1,98 @@ +#ifndef Py_CPYTHON_PYMEM_H +# error "this header file must not be included directly" +#endif + +PyAPI_FUNC(void *) PyMem_RawMalloc(size_t size); +PyAPI_FUNC(void *) PyMem_RawCalloc(size_t nelem, size_t elsize); +PyAPI_FUNC(void *) PyMem_RawRealloc(void *ptr, size_t new_size); +PyAPI_FUNC(void) PyMem_RawFree(void *ptr); + +/* Try to get the allocators name set by _PyMem_SetupAllocators(). */ +PyAPI_FUNC(const char*) _PyMem_GetCurrentAllocatorName(void); + +/* strdup() using PyMem_RawMalloc() */ +PyAPI_FUNC(char *) _PyMem_RawStrdup(const char *str); + +/* strdup() using PyMem_Malloc() */ +PyAPI_FUNC(char *) _PyMem_Strdup(const char *str); + +/* wcsdup() using PyMem_RawMalloc() */ +PyAPI_FUNC(wchar_t*) _PyMem_RawWcsdup(const wchar_t *str); + + +typedef enum { + /* PyMem_RawMalloc(), PyMem_RawRealloc() and PyMem_RawFree() */ + PYMEM_DOMAIN_RAW, + + /* PyMem_Malloc(), PyMem_Realloc() and PyMem_Free() */ + PYMEM_DOMAIN_MEM, + + /* PyObject_Malloc(), PyObject_Realloc() and PyObject_Free() */ + PYMEM_DOMAIN_OBJ +} PyMemAllocatorDomain; + +typedef enum { + PYMEM_ALLOCATOR_NOT_SET = 0, + PYMEM_ALLOCATOR_DEFAULT = 1, + PYMEM_ALLOCATOR_DEBUG = 2, + PYMEM_ALLOCATOR_MALLOC = 3, + PYMEM_ALLOCATOR_MALLOC_DEBUG = 4, +#ifdef WITH_PYMALLOC + PYMEM_ALLOCATOR_PYMALLOC = 5, + PYMEM_ALLOCATOR_PYMALLOC_DEBUG = 6, +#endif +} PyMemAllocatorName; + + +typedef struct { + /* user context passed as the first argument to the 4 functions */ + void *ctx; + + /* allocate a memory block */ + void* (*malloc) (void *ctx, size_t size); + + /* allocate a memory block initialized by zeros */ + void* (*calloc) (void *ctx, size_t nelem, size_t elsize); + + /* allocate or resize a memory block */ + void* (*realloc) (void *ctx, void *ptr, size_t new_size); + + /* release a memory block */ + void (*free) (void *ctx, void *ptr); +} PyMemAllocatorEx; + +/* Get the memory block allocator of the specified domain. */ +PyAPI_FUNC(void) PyMem_GetAllocator(PyMemAllocatorDomain domain, + PyMemAllocatorEx *allocator); + +/* Set the memory block allocator of the specified domain. + + The new allocator must return a distinct non-NULL pointer when requesting + zero bytes. + + For the PYMEM_DOMAIN_RAW domain, the allocator must be thread-safe: the GIL + is not held when the allocator is called. + + If the new allocator is not a hook (don't call the previous allocator), the + PyMem_SetupDebugHooks() function must be called to reinstall the debug hooks + on top on the new allocator. */ +PyAPI_FUNC(void) PyMem_SetAllocator(PyMemAllocatorDomain domain, + PyMemAllocatorEx *allocator); + +/* Setup hooks to detect bugs in the following Python memory allocator + functions: + + - PyMem_RawMalloc(), PyMem_RawRealloc(), PyMem_RawFree() + - PyMem_Malloc(), PyMem_Realloc(), PyMem_Free() + - PyObject_Malloc(), PyObject_Realloc() and PyObject_Free() + + Newly allocated memory is filled with the byte 0xCB, freed memory is filled + with the byte 0xDB. Additional checks: + + - detect API violations, ex: PyObject_Free() called on a buffer allocated + by PyMem_Malloc() + - detect write before the start of the buffer (buffer underflow) + - detect write after the end of the buffer (buffer overflow) + + The function does nothing if Python is not compiled is debug mode. */ +PyAPI_FUNC(void) PyMem_SetupDebugHooks(void); diff --git a/_Python311_cpp/include/cpython/pystate.h b/_Pre_Builds/_Python311_cpp/include/cpython/pystate.h similarity index 100% rename from _Python311_cpp/include/cpython/pystate.h rename to _Pre_Builds/_Python311_cpp/include/cpython/pystate.h diff --git a/_Pre_Builds/_Python311_cpp/include/cpython/pythonrun.h b/_Pre_Builds/_Python311_cpp/include/cpython/pythonrun.h new file mode 100644 index 0000000..2e72d08 --- /dev/null +++ b/_Pre_Builds/_Python311_cpp/include/cpython/pythonrun.h @@ -0,0 +1,121 @@ +#ifndef Py_CPYTHON_PYTHONRUN_H +# error "this header file must not be included directly" +#endif + +PyAPI_FUNC(int) PyRun_SimpleStringFlags(const char *, PyCompilerFlags *); +PyAPI_FUNC(int) _PyRun_SimpleFileObject( + FILE *fp, + PyObject *filename, + int closeit, + PyCompilerFlags *flags); +PyAPI_FUNC(int) PyRun_AnyFileExFlags( + FILE *fp, + const char *filename, /* decoded from the filesystem encoding */ + int closeit, + PyCompilerFlags *flags); +PyAPI_FUNC(int) _PyRun_AnyFileObject( + FILE *fp, + PyObject *filename, + int closeit, + PyCompilerFlags *flags); +PyAPI_FUNC(int) PyRun_SimpleFileExFlags( + FILE *fp, + const char *filename, /* decoded from the filesystem encoding */ + int closeit, + PyCompilerFlags *flags); +PyAPI_FUNC(int) PyRun_InteractiveOneFlags( + FILE *fp, + const char *filename, /* decoded from the filesystem encoding */ + PyCompilerFlags *flags); +PyAPI_FUNC(int) PyRun_InteractiveOneObject( + FILE *fp, + PyObject *filename, + PyCompilerFlags *flags); +PyAPI_FUNC(int) PyRun_InteractiveLoopFlags( + FILE *fp, + const char *filename, /* decoded from the filesystem encoding */ + PyCompilerFlags *flags); +PyAPI_FUNC(int) _PyRun_InteractiveLoopObject( + FILE *fp, + PyObject *filename, + PyCompilerFlags *flags); + + +PyAPI_FUNC(PyObject *) PyRun_StringFlags(const char *, int, PyObject *, + PyObject *, PyCompilerFlags *); + +PyAPI_FUNC(PyObject *) PyRun_FileExFlags( + FILE *fp, + const char *filename, /* decoded from the filesystem encoding */ + int start, + PyObject *globals, + PyObject *locals, + int closeit, + PyCompilerFlags *flags); + + +PyAPI_FUNC(PyObject *) Py_CompileStringExFlags( + const char *str, + const char *filename, /* decoded from the filesystem encoding */ + int start, + PyCompilerFlags *flags, + int optimize); +PyAPI_FUNC(PyObject *) Py_CompileStringObject( + const char *str, + PyObject *filename, int start, + PyCompilerFlags *flags, + int optimize); + +#define Py_CompileString(str, p, s) Py_CompileStringExFlags(str, p, s, NULL, -1) +#define Py_CompileStringFlags(str, p, s, f) Py_CompileStringExFlags(str, p, s, f, -1) + + +PyAPI_FUNC(const char *) _Py_SourceAsString( + PyObject *cmd, + const char *funcname, + const char *what, + PyCompilerFlags *cf, + PyObject **cmd_copy); + + +/* A function flavor is also exported by libpython. It is required when + libpython is accessed directly rather than using header files which defines + macros below. On Windows, for example, PyAPI_FUNC() uses dllexport to + export functions in pythonXX.dll. */ +PyAPI_FUNC(PyObject *) PyRun_String(const char *str, int s, PyObject *g, PyObject *l); +PyAPI_FUNC(int) PyRun_AnyFile(FILE *fp, const char *name); +PyAPI_FUNC(int) PyRun_AnyFileEx(FILE *fp, const char *name, int closeit); +PyAPI_FUNC(int) PyRun_AnyFileFlags(FILE *, const char *, PyCompilerFlags *); +PyAPI_FUNC(int) PyRun_SimpleString(const char *s); +PyAPI_FUNC(int) PyRun_SimpleFile(FILE *f, const char *p); +PyAPI_FUNC(int) PyRun_SimpleFileEx(FILE *f, const char *p, int c); +PyAPI_FUNC(int) PyRun_InteractiveOne(FILE *f, const char *p); +PyAPI_FUNC(int) PyRun_InteractiveLoop(FILE *f, const char *p); +PyAPI_FUNC(PyObject *) PyRun_File(FILE *fp, const char *p, int s, PyObject *g, PyObject *l); +PyAPI_FUNC(PyObject *) PyRun_FileEx(FILE *fp, const char *p, int s, PyObject *g, PyObject *l, int c); +PyAPI_FUNC(PyObject *) PyRun_FileFlags(FILE *fp, const char *p, int s, PyObject *g, PyObject *l, PyCompilerFlags *flags); + +/* Use macros for a bunch of old variants */ +#define PyRun_String(str, s, g, l) PyRun_StringFlags(str, s, g, l, NULL) +#define PyRun_AnyFile(fp, name) PyRun_AnyFileExFlags(fp, name, 0, NULL) +#define PyRun_AnyFileEx(fp, name, closeit) \ + PyRun_AnyFileExFlags(fp, name, closeit, NULL) +#define PyRun_AnyFileFlags(fp, name, flags) \ + PyRun_AnyFileExFlags(fp, name, 0, flags) +#define PyRun_SimpleString(s) PyRun_SimpleStringFlags(s, NULL) +#define PyRun_SimpleFile(f, p) PyRun_SimpleFileExFlags(f, p, 0, NULL) +#define PyRun_SimpleFileEx(f, p, c) PyRun_SimpleFileExFlags(f, p, c, NULL) +#define PyRun_InteractiveOne(f, p) PyRun_InteractiveOneFlags(f, p, NULL) +#define PyRun_InteractiveLoop(f, p) PyRun_InteractiveLoopFlags(f, p, NULL) +#define PyRun_File(fp, p, s, g, l) \ + PyRun_FileExFlags(fp, p, s, g, l, 0, NULL) +#define PyRun_FileEx(fp, p, s, g, l, c) \ + PyRun_FileExFlags(fp, p, s, g, l, c, NULL) +#define PyRun_FileFlags(fp, p, s, g, l, flags) \ + PyRun_FileExFlags(fp, p, s, g, l, 0, flags) + + +/* Stuff with no proper home (yet) */ +PyAPI_FUNC(char *) PyOS_Readline(FILE *, FILE *, const char *); +PyAPI_DATA(PyThreadState*) _PyOS_ReadlineTState; +PyAPI_DATA(char) *(*PyOS_ReadlineFunctionPointer)(FILE *, FILE *, const char *); diff --git a/_Python311_cpp/include/cpython/pythread.h b/_Pre_Builds/_Python311_cpp/include/cpython/pythread.h similarity index 100% rename from _Python311_cpp/include/cpython/pythread.h rename to _Pre_Builds/_Python311_cpp/include/cpython/pythread.h diff --git a/_Python311_cpp/include/cpython/pytime.h b/_Pre_Builds/_Python311_cpp/include/cpython/pytime.h similarity index 100% rename from _Python311_cpp/include/cpython/pytime.h rename to _Pre_Builds/_Python311_cpp/include/cpython/pytime.h diff --git a/_Python311_cpp/include/cpython/setobject.h b/_Pre_Builds/_Python311_cpp/include/cpython/setobject.h similarity index 100% rename from _Python311_cpp/include/cpython/setobject.h rename to _Pre_Builds/_Python311_cpp/include/cpython/setobject.h diff --git a/_Python311_cpp/include/cpython/sysmodule.h b/_Pre_Builds/_Python311_cpp/include/cpython/sysmodule.h similarity index 100% rename from _Python311_cpp/include/cpython/sysmodule.h rename to _Pre_Builds/_Python311_cpp/include/cpython/sysmodule.h diff --git a/_Python311_cpp/include/cpython/traceback.h b/_Pre_Builds/_Python311_cpp/include/cpython/traceback.h similarity index 100% rename from _Python311_cpp/include/cpython/traceback.h rename to _Pre_Builds/_Python311_cpp/include/cpython/traceback.h diff --git a/_Python311_cpp/include/cpython/tupleobject.h b/_Pre_Builds/_Python311_cpp/include/cpython/tupleobject.h similarity index 100% rename from _Python311_cpp/include/cpython/tupleobject.h rename to _Pre_Builds/_Python311_cpp/include/cpython/tupleobject.h diff --git a/_Python311_cpp/include/cpython/unicodeobject.h b/_Pre_Builds/_Python311_cpp/include/cpython/unicodeobject.h similarity index 100% rename from _Python311_cpp/include/cpython/unicodeobject.h rename to _Pre_Builds/_Python311_cpp/include/cpython/unicodeobject.h diff --git a/_Python311_cpp/include/cpython/warnings.h b/_Pre_Builds/_Python311_cpp/include/cpython/warnings.h similarity index 100% rename from _Python311_cpp/include/cpython/warnings.h rename to _Pre_Builds/_Python311_cpp/include/cpython/warnings.h diff --git a/_Python311_cpp/include/cpython/weakrefobject.h b/_Pre_Builds/_Python311_cpp/include/cpython/weakrefobject.h similarity index 100% rename from _Python311_cpp/include/cpython/weakrefobject.h rename to _Pre_Builds/_Python311_cpp/include/cpython/weakrefobject.h diff --git a/_Pre_Builds/_Python311_cpp/include/datetime.h b/_Pre_Builds/_Python311_cpp/include/datetime.h new file mode 100644 index 0000000..bb56520 --- /dev/null +++ b/_Pre_Builds/_Python311_cpp/include/datetime.h @@ -0,0 +1,267 @@ +/* datetime.h + */ +#ifndef Py_LIMITED_API +#ifndef DATETIME_H +#define DATETIME_H +#ifdef __cplusplus +extern "C" { +#endif + +/* Fields are packed into successive bytes, each viewed as unsigned and + * big-endian, unless otherwise noted: + * + * byte offset + * 0 year 2 bytes, 1-9999 + * 2 month 1 byte, 1-12 + * 3 day 1 byte, 1-31 + * 4 hour 1 byte, 0-23 + * 5 minute 1 byte, 0-59 + * 6 second 1 byte, 0-59 + * 7 usecond 3 bytes, 0-999999 + * 10 + */ + +/* # of bytes for year, month, and day. */ +#define _PyDateTime_DATE_DATASIZE 4 + +/* # of bytes for hour, minute, second, and usecond. */ +#define _PyDateTime_TIME_DATASIZE 6 + +/* # of bytes for year, month, day, hour, minute, second, and usecond. */ +#define _PyDateTime_DATETIME_DATASIZE 10 + + +typedef struct +{ + PyObject_HEAD + Py_hash_t hashcode; /* -1 when unknown */ + int days; /* -MAX_DELTA_DAYS <= days <= MAX_DELTA_DAYS */ + int seconds; /* 0 <= seconds < 24*3600 is invariant */ + int microseconds; /* 0 <= microseconds < 1000000 is invariant */ +} PyDateTime_Delta; + +typedef struct +{ + PyObject_HEAD /* a pure abstract base class */ +} PyDateTime_TZInfo; + + +/* The datetime and time types have hashcodes, and an optional tzinfo member, + * present if and only if hastzinfo is true. + */ +#define _PyTZINFO_HEAD \ + PyObject_HEAD \ + Py_hash_t hashcode; \ + char hastzinfo; /* boolean flag */ + +/* No _PyDateTime_BaseTZInfo is allocated; it's just to have something + * convenient to cast to, when getting at the hastzinfo member of objects + * starting with _PyTZINFO_HEAD. + */ +typedef struct +{ + _PyTZINFO_HEAD +} _PyDateTime_BaseTZInfo; + +/* All time objects are of PyDateTime_TimeType, but that can be allocated + * in two ways, with or without a tzinfo member. Without is the same as + * tzinfo == None, but consumes less memory. _PyDateTime_BaseTime is an + * internal struct used to allocate the right amount of space for the + * "without" case. + */ +#define _PyDateTime_TIMEHEAD \ + _PyTZINFO_HEAD \ + unsigned char data[_PyDateTime_TIME_DATASIZE]; + +typedef struct +{ + _PyDateTime_TIMEHEAD +} _PyDateTime_BaseTime; /* hastzinfo false */ + +typedef struct +{ + _PyDateTime_TIMEHEAD + unsigned char fold; + PyObject *tzinfo; +} PyDateTime_Time; /* hastzinfo true */ + + +/* All datetime objects are of PyDateTime_DateTimeType, but that can be + * allocated in two ways too, just like for time objects above. In addition, + * the plain date type is a base class for datetime, so it must also have + * a hastzinfo member (although it's unused there). + */ +typedef struct +{ + _PyTZINFO_HEAD + unsigned char data[_PyDateTime_DATE_DATASIZE]; +} PyDateTime_Date; + +#define _PyDateTime_DATETIMEHEAD \ + _PyTZINFO_HEAD \ + unsigned char data[_PyDateTime_DATETIME_DATASIZE]; + +typedef struct +{ + _PyDateTime_DATETIMEHEAD +} _PyDateTime_BaseDateTime; /* hastzinfo false */ + +typedef struct +{ + _PyDateTime_DATETIMEHEAD + unsigned char fold; + PyObject *tzinfo; +} PyDateTime_DateTime; /* hastzinfo true */ + + +/* Apply for date and datetime instances. */ + +// o is a pointer to a time or a datetime object. +#define _PyDateTime_HAS_TZINFO(o) (((_PyDateTime_BaseTZInfo *)(o))->hastzinfo) + +#define PyDateTime_GET_YEAR(o) ((((PyDateTime_Date*)o)->data[0] << 8) | \ + ((PyDateTime_Date*)o)->data[1]) +#define PyDateTime_GET_MONTH(o) (((PyDateTime_Date*)o)->data[2]) +#define PyDateTime_GET_DAY(o) (((PyDateTime_Date*)o)->data[3]) + +#define PyDateTime_DATE_GET_HOUR(o) (((PyDateTime_DateTime*)o)->data[4]) +#define PyDateTime_DATE_GET_MINUTE(o) (((PyDateTime_DateTime*)o)->data[5]) +#define PyDateTime_DATE_GET_SECOND(o) (((PyDateTime_DateTime*)o)->data[6]) +#define PyDateTime_DATE_GET_MICROSECOND(o) \ + ((((PyDateTime_DateTime*)o)->data[7] << 16) | \ + (((PyDateTime_DateTime*)o)->data[8] << 8) | \ + ((PyDateTime_DateTime*)o)->data[9]) +#define PyDateTime_DATE_GET_FOLD(o) (((PyDateTime_DateTime*)o)->fold) +#define PyDateTime_DATE_GET_TZINFO(o) (_PyDateTime_HAS_TZINFO(o) ? \ + ((PyDateTime_DateTime *)(o))->tzinfo : Py_None) + +/* Apply for time instances. */ +#define PyDateTime_TIME_GET_HOUR(o) (((PyDateTime_Time*)o)->data[0]) +#define PyDateTime_TIME_GET_MINUTE(o) (((PyDateTime_Time*)o)->data[1]) +#define PyDateTime_TIME_GET_SECOND(o) (((PyDateTime_Time*)o)->data[2]) +#define PyDateTime_TIME_GET_MICROSECOND(o) \ + ((((PyDateTime_Time*)o)->data[3] << 16) | \ + (((PyDateTime_Time*)o)->data[4] << 8) | \ + ((PyDateTime_Time*)o)->data[5]) +#define PyDateTime_TIME_GET_FOLD(o) (((PyDateTime_Time*)o)->fold) +#define PyDateTime_TIME_GET_TZINFO(o) (_PyDateTime_HAS_TZINFO(o) ? \ + ((PyDateTime_Time *)(o))->tzinfo : Py_None) + +/* Apply for time delta instances */ +#define PyDateTime_DELTA_GET_DAYS(o) (((PyDateTime_Delta*)o)->days) +#define PyDateTime_DELTA_GET_SECONDS(o) (((PyDateTime_Delta*)o)->seconds) +#define PyDateTime_DELTA_GET_MICROSECONDS(o) \ + (((PyDateTime_Delta*)o)->microseconds) + + +/* Define structure for C API. */ +typedef struct { + /* type objects */ + PyTypeObject *DateType; + PyTypeObject *DateTimeType; + PyTypeObject *TimeType; + PyTypeObject *DeltaType; + PyTypeObject *TZInfoType; + + /* singletons */ + PyObject *TimeZone_UTC; + + /* constructors */ + PyObject *(*Date_FromDate)(int, int, int, PyTypeObject*); + PyObject *(*DateTime_FromDateAndTime)(int, int, int, int, int, int, int, + PyObject*, PyTypeObject*); + PyObject *(*Time_FromTime)(int, int, int, int, PyObject*, PyTypeObject*); + PyObject *(*Delta_FromDelta)(int, int, int, int, PyTypeObject*); + PyObject *(*TimeZone_FromTimeZone)(PyObject *offset, PyObject *name); + + /* constructors for the DB API */ + PyObject *(*DateTime_FromTimestamp)(PyObject*, PyObject*, PyObject*); + PyObject *(*Date_FromTimestamp)(PyObject*, PyObject*); + + /* PEP 495 constructors */ + PyObject *(*DateTime_FromDateAndTimeAndFold)(int, int, int, int, int, int, int, + PyObject*, int, PyTypeObject*); + PyObject *(*Time_FromTimeAndFold)(int, int, int, int, PyObject*, int, PyTypeObject*); + +} PyDateTime_CAPI; + +#define PyDateTime_CAPSULE_NAME "datetime.datetime_CAPI" + + +/* This block is only used as part of the public API and should not be + * included in _datetimemodule.c, which does not use the C API capsule. + * See bpo-35081 for more details. + * */ +#ifndef _PY_DATETIME_IMPL +/* Define global variable for the C API and a macro for setting it. */ +static PyDateTime_CAPI *PyDateTimeAPI = NULL; + +#define PyDateTime_IMPORT \ + PyDateTimeAPI = (PyDateTime_CAPI *)PyCapsule_Import(PyDateTime_CAPSULE_NAME, 0) + +/* Macro for access to the UTC singleton */ +#define PyDateTime_TimeZone_UTC PyDateTimeAPI->TimeZone_UTC + +/* Macros for type checking when not building the Python core. */ +#define PyDate_Check(op) PyObject_TypeCheck(op, PyDateTimeAPI->DateType) +#define PyDate_CheckExact(op) Py_IS_TYPE(op, PyDateTimeAPI->DateType) + +#define PyDateTime_Check(op) PyObject_TypeCheck(op, PyDateTimeAPI->DateTimeType) +#define PyDateTime_CheckExact(op) Py_IS_TYPE(op, PyDateTimeAPI->DateTimeType) + +#define PyTime_Check(op) PyObject_TypeCheck(op, PyDateTimeAPI->TimeType) +#define PyTime_CheckExact(op) Py_IS_TYPE(op, PyDateTimeAPI->TimeType) + +#define PyDelta_Check(op) PyObject_TypeCheck(op, PyDateTimeAPI->DeltaType) +#define PyDelta_CheckExact(op) Py_IS_TYPE(op, PyDateTimeAPI->DeltaType) + +#define PyTZInfo_Check(op) PyObject_TypeCheck(op, PyDateTimeAPI->TZInfoType) +#define PyTZInfo_CheckExact(op) Py_IS_TYPE(op, PyDateTimeAPI->TZInfoType) + + +/* Macros for accessing constructors in a simplified fashion. */ +#define PyDate_FromDate(year, month, day) \ + PyDateTimeAPI->Date_FromDate(year, month, day, PyDateTimeAPI->DateType) + +#define PyDateTime_FromDateAndTime(year, month, day, hour, min, sec, usec) \ + PyDateTimeAPI->DateTime_FromDateAndTime(year, month, day, hour, \ + min, sec, usec, Py_None, PyDateTimeAPI->DateTimeType) + +#define PyDateTime_FromDateAndTimeAndFold(year, month, day, hour, min, sec, usec, fold) \ + PyDateTimeAPI->DateTime_FromDateAndTimeAndFold(year, month, day, hour, \ + min, sec, usec, Py_None, fold, PyDateTimeAPI->DateTimeType) + +#define PyTime_FromTime(hour, minute, second, usecond) \ + PyDateTimeAPI->Time_FromTime(hour, minute, second, usecond, \ + Py_None, PyDateTimeAPI->TimeType) + +#define PyTime_FromTimeAndFold(hour, minute, second, usecond, fold) \ + PyDateTimeAPI->Time_FromTimeAndFold(hour, minute, second, usecond, \ + Py_None, fold, PyDateTimeAPI->TimeType) + +#define PyDelta_FromDSU(days, seconds, useconds) \ + PyDateTimeAPI->Delta_FromDelta(days, seconds, useconds, 1, \ + PyDateTimeAPI->DeltaType) + +#define PyTimeZone_FromOffset(offset) \ + PyDateTimeAPI->TimeZone_FromTimeZone(offset, NULL) + +#define PyTimeZone_FromOffsetAndName(offset, name) \ + PyDateTimeAPI->TimeZone_FromTimeZone(offset, name) + +/* Macros supporting the DB API. */ +#define PyDateTime_FromTimestamp(args) \ + PyDateTimeAPI->DateTime_FromTimestamp( \ + (PyObject*) (PyDateTimeAPI->DateTimeType), args, NULL) + +#define PyDate_FromTimestamp(args) \ + PyDateTimeAPI->Date_FromTimestamp( \ + (PyObject*) (PyDateTimeAPI->DateType), args) + +#endif /* !defined(_PY_DATETIME_IMPL) */ + +#ifdef __cplusplus +} +#endif +#endif +#endif /* !Py_LIMITED_API */ diff --git a/_Python311_cpp/include/descrobject.h b/_Pre_Builds/_Python311_cpp/include/descrobject.h similarity index 100% rename from _Python311_cpp/include/descrobject.h rename to _Pre_Builds/_Python311_cpp/include/descrobject.h diff --git a/_Python311_cpp/include/dictobject.h b/_Pre_Builds/_Python311_cpp/include/dictobject.h similarity index 100% rename from _Python311_cpp/include/dictobject.h rename to _Pre_Builds/_Python311_cpp/include/dictobject.h diff --git a/_Pre_Builds/_Python311_cpp/include/dynamic_annotations.h b/_Pre_Builds/_Python311_cpp/include/dynamic_annotations.h new file mode 100644 index 0000000..4d4def9 --- /dev/null +++ b/_Pre_Builds/_Python311_cpp/include/dynamic_annotations.h @@ -0,0 +1,499 @@ +/* Copyright (c) 2008-2009, Google Inc. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Neither the name of Google Inc. nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * --- + * Author: Kostya Serebryany + * Copied to CPython by Jeffrey Yasskin, with all macros renamed to + * start with _Py_ to avoid colliding with users embedding Python, and + * with deprecated macros removed. + */ + +/* This file defines dynamic annotations for use with dynamic analysis + tool such as valgrind, PIN, etc. + + Dynamic annotation is a source code annotation that affects + the generated code (that is, the annotation is not a comment). + Each such annotation is attached to a particular + instruction and/or to a particular object (address) in the program. + + The annotations that should be used by users are macros in all upper-case + (e.g., _Py_ANNOTATE_NEW_MEMORY). + + Actual implementation of these macros may differ depending on the + dynamic analysis tool being used. + + See https://code.google.com/p/data-race-test/ for more information. + + This file supports the following dynamic analysis tools: + - None (DYNAMIC_ANNOTATIONS_ENABLED is not defined or zero). + Macros are defined empty. + - ThreadSanitizer, Helgrind, DRD (DYNAMIC_ANNOTATIONS_ENABLED is 1). + Macros are defined as calls to non-inlinable empty functions + that are intercepted by Valgrind. */ + +#ifndef __DYNAMIC_ANNOTATIONS_H__ +#define __DYNAMIC_ANNOTATIONS_H__ + +#ifndef DYNAMIC_ANNOTATIONS_ENABLED +# define DYNAMIC_ANNOTATIONS_ENABLED 0 +#endif + +#if DYNAMIC_ANNOTATIONS_ENABLED != 0 + + /* ------------------------------------------------------------- + Annotations useful when implementing condition variables such as CondVar, + using conditional critical sections (Await/LockWhen) and when constructing + user-defined synchronization mechanisms. + + The annotations _Py_ANNOTATE_HAPPENS_BEFORE() and + _Py_ANNOTATE_HAPPENS_AFTER() can be used to define happens-before arcs in + user-defined synchronization mechanisms: the race detector will infer an + arc from the former to the latter when they share the same argument + pointer. + + Example 1 (reference counting): + + void Unref() { + _Py_ANNOTATE_HAPPENS_BEFORE(&refcount_); + if (AtomicDecrementByOne(&refcount_) == 0) { + _Py_ANNOTATE_HAPPENS_AFTER(&refcount_); + delete this; + } + } + + Example 2 (message queue): + + void MyQueue::Put(Type *e) { + MutexLock lock(&mu_); + _Py_ANNOTATE_HAPPENS_BEFORE(e); + PutElementIntoMyQueue(e); + } + + Type *MyQueue::Get() { + MutexLock lock(&mu_); + Type *e = GetElementFromMyQueue(); + _Py_ANNOTATE_HAPPENS_AFTER(e); + return e; + } + + Note: when possible, please use the existing reference counting and message + queue implementations instead of inventing new ones. */ + + /* Report that wait on the condition variable at address "cv" has succeeded + and the lock at address "lock" is held. */ +#define _Py_ANNOTATE_CONDVAR_LOCK_WAIT(cv, lock) \ + AnnotateCondVarWait(__FILE__, __LINE__, cv, lock) + + /* Report that wait on the condition variable at "cv" has succeeded. Variant + w/o lock. */ +#define _Py_ANNOTATE_CONDVAR_WAIT(cv) \ + AnnotateCondVarWait(__FILE__, __LINE__, cv, NULL) + + /* Report that we are about to signal on the condition variable at address + "cv". */ +#define _Py_ANNOTATE_CONDVAR_SIGNAL(cv) \ + AnnotateCondVarSignal(__FILE__, __LINE__, cv) + + /* Report that we are about to signal_all on the condition variable at "cv". */ +#define _Py_ANNOTATE_CONDVAR_SIGNAL_ALL(cv) \ + AnnotateCondVarSignalAll(__FILE__, __LINE__, cv) + + /* Annotations for user-defined synchronization mechanisms. */ +#define _Py_ANNOTATE_HAPPENS_BEFORE(obj) _Py_ANNOTATE_CONDVAR_SIGNAL(obj) +#define _Py_ANNOTATE_HAPPENS_AFTER(obj) _Py_ANNOTATE_CONDVAR_WAIT(obj) + + /* Report that the bytes in the range [pointer, pointer+size) are about + to be published safely. The race checker will create a happens-before + arc from the call _Py_ANNOTATE_PUBLISH_MEMORY_RANGE(pointer, size) to + subsequent accesses to this memory. + Note: this annotation may not work properly if the race detector uses + sampling, i.e. does not observe all memory accesses. + */ +#define _Py_ANNOTATE_PUBLISH_MEMORY_RANGE(pointer, size) \ + AnnotatePublishMemoryRange(__FILE__, __LINE__, pointer, size) + + /* Instruct the tool to create a happens-before arc between mu->Unlock() and + mu->Lock(). This annotation may slow down the race detector and hide real + races. Normally it is used only when it would be difficult to annotate each + of the mutex's critical sections individually using the annotations above. + This annotation makes sense only for hybrid race detectors. For pure + happens-before detectors this is a no-op. For more details see + https://code.google.com/p/data-race-test/wiki/PureHappensBeforeVsHybrid . */ +#define _Py_ANNOTATE_PURE_HAPPENS_BEFORE_MUTEX(mu) \ + AnnotateMutexIsUsedAsCondVar(__FILE__, __LINE__, mu) + + /* ------------------------------------------------------------- + Annotations useful when defining memory allocators, or when memory that + was protected in one way starts to be protected in another. */ + + /* Report that a new memory at "address" of size "size" has been allocated. + This might be used when the memory has been retrieved from a free list and + is about to be reused, or when the locking discipline for a variable + changes. */ +#define _Py_ANNOTATE_NEW_MEMORY(address, size) \ + AnnotateNewMemory(__FILE__, __LINE__, address, size) + + /* ------------------------------------------------------------- + Annotations useful when defining FIFO queues that transfer data between + threads. */ + + /* Report that the producer-consumer queue (such as ProducerConsumerQueue) at + address "pcq" has been created. The _Py_ANNOTATE_PCQ_* annotations should + be used only for FIFO queues. For non-FIFO queues use + _Py_ANNOTATE_HAPPENS_BEFORE (for put) and _Py_ANNOTATE_HAPPENS_AFTER (for + get). */ +#define _Py_ANNOTATE_PCQ_CREATE(pcq) \ + AnnotatePCQCreate(__FILE__, __LINE__, pcq) + + /* Report that the queue at address "pcq" is about to be destroyed. */ +#define _Py_ANNOTATE_PCQ_DESTROY(pcq) \ + AnnotatePCQDestroy(__FILE__, __LINE__, pcq) + + /* Report that we are about to put an element into a FIFO queue at address + "pcq". */ +#define _Py_ANNOTATE_PCQ_PUT(pcq) \ + AnnotatePCQPut(__FILE__, __LINE__, pcq) + + /* Report that we've just got an element from a FIFO queue at address "pcq". */ +#define _Py_ANNOTATE_PCQ_GET(pcq) \ + AnnotatePCQGet(__FILE__, __LINE__, pcq) + + /* ------------------------------------------------------------- + Annotations that suppress errors. It is usually better to express the + program's synchronization using the other annotations, but these can + be used when all else fails. */ + + /* Report that we may have a benign race at "pointer", with size + "sizeof(*(pointer))". "pointer" must be a non-void* pointer. Insert at the + point where "pointer" has been allocated, preferably close to the point + where the race happens. See also _Py_ANNOTATE_BENIGN_RACE_STATIC. */ +#define _Py_ANNOTATE_BENIGN_RACE(pointer, description) \ + AnnotateBenignRaceSized(__FILE__, __LINE__, pointer, \ + sizeof(*(pointer)), description) + + /* Same as _Py_ANNOTATE_BENIGN_RACE(address, description), but applies to + the memory range [address, address+size). */ +#define _Py_ANNOTATE_BENIGN_RACE_SIZED(address, size, description) \ + AnnotateBenignRaceSized(__FILE__, __LINE__, address, size, description) + + /* Request the analysis tool to ignore all reads in the current thread + until _Py_ANNOTATE_IGNORE_READS_END is called. + Useful to ignore intentional racey reads, while still checking + other reads and all writes. + See also _Py_ANNOTATE_UNPROTECTED_READ. */ +#define _Py_ANNOTATE_IGNORE_READS_BEGIN() \ + AnnotateIgnoreReadsBegin(__FILE__, __LINE__) + + /* Stop ignoring reads. */ +#define _Py_ANNOTATE_IGNORE_READS_END() \ + AnnotateIgnoreReadsEnd(__FILE__, __LINE__) + + /* Similar to _Py_ANNOTATE_IGNORE_READS_BEGIN, but ignore writes. */ +#define _Py_ANNOTATE_IGNORE_WRITES_BEGIN() \ + AnnotateIgnoreWritesBegin(__FILE__, __LINE__) + + /* Stop ignoring writes. */ +#define _Py_ANNOTATE_IGNORE_WRITES_END() \ + AnnotateIgnoreWritesEnd(__FILE__, __LINE__) + + /* Start ignoring all memory accesses (reads and writes). */ +#define _Py_ANNOTATE_IGNORE_READS_AND_WRITES_BEGIN() \ + do {\ + _Py_ANNOTATE_IGNORE_READS_BEGIN();\ + _Py_ANNOTATE_IGNORE_WRITES_BEGIN();\ + }while(0)\ + + /* Stop ignoring all memory accesses. */ +#define _Py_ANNOTATE_IGNORE_READS_AND_WRITES_END() \ + do {\ + _Py_ANNOTATE_IGNORE_WRITES_END();\ + _Py_ANNOTATE_IGNORE_READS_END();\ + }while(0)\ + + /* Similar to _Py_ANNOTATE_IGNORE_READS_BEGIN, but ignore synchronization events: + RWLOCK* and CONDVAR*. */ +#define _Py_ANNOTATE_IGNORE_SYNC_BEGIN() \ + AnnotateIgnoreSyncBegin(__FILE__, __LINE__) + + /* Stop ignoring sync events. */ +#define _Py_ANNOTATE_IGNORE_SYNC_END() \ + AnnotateIgnoreSyncEnd(__FILE__, __LINE__) + + + /* Enable (enable!=0) or disable (enable==0) race detection for all threads. + This annotation could be useful if you want to skip expensive race analysis + during some period of program execution, e.g. during initialization. */ +#define _Py_ANNOTATE_ENABLE_RACE_DETECTION(enable) \ + AnnotateEnableRaceDetection(__FILE__, __LINE__, enable) + + /* ------------------------------------------------------------- + Annotations useful for debugging. */ + + /* Request to trace every access to "address". */ +#define _Py_ANNOTATE_TRACE_MEMORY(address) \ + AnnotateTraceMemory(__FILE__, __LINE__, address) + + /* Report the current thread name to a race detector. */ +#define _Py_ANNOTATE_THREAD_NAME(name) \ + AnnotateThreadName(__FILE__, __LINE__, name) + + /* ------------------------------------------------------------- + Annotations useful when implementing locks. They are not + normally needed by modules that merely use locks. + The "lock" argument is a pointer to the lock object. */ + + /* Report that a lock has been created at address "lock". */ +#define _Py_ANNOTATE_RWLOCK_CREATE(lock) \ + AnnotateRWLockCreate(__FILE__, __LINE__, lock) + + /* Report that the lock at address "lock" is about to be destroyed. */ +#define _Py_ANNOTATE_RWLOCK_DESTROY(lock) \ + AnnotateRWLockDestroy(__FILE__, __LINE__, lock) + + /* Report that the lock at address "lock" has been acquired. + is_w=1 for writer lock, is_w=0 for reader lock. */ +#define _Py_ANNOTATE_RWLOCK_ACQUIRED(lock, is_w) \ + AnnotateRWLockAcquired(__FILE__, __LINE__, lock, is_w) + + /* Report that the lock at address "lock" is about to be released. */ +#define _Py_ANNOTATE_RWLOCK_RELEASED(lock, is_w) \ + AnnotateRWLockReleased(__FILE__, __LINE__, lock, is_w) + + /* ------------------------------------------------------------- + Annotations useful when implementing barriers. They are not + normally needed by modules that merely use barriers. + The "barrier" argument is a pointer to the barrier object. */ + + /* Report that the "barrier" has been initialized with initial "count". + If 'reinitialization_allowed' is true, initialization is allowed to happen + multiple times w/o calling barrier_destroy() */ +#define _Py_ANNOTATE_BARRIER_INIT(barrier, count, reinitialization_allowed) \ + AnnotateBarrierInit(__FILE__, __LINE__, barrier, count, \ + reinitialization_allowed) + + /* Report that we are about to enter barrier_wait("barrier"). */ +#define _Py_ANNOTATE_BARRIER_WAIT_BEFORE(barrier) \ + AnnotateBarrierWaitBefore(__FILE__, __LINE__, barrier) + + /* Report that we just exited barrier_wait("barrier"). */ +#define _Py_ANNOTATE_BARRIER_WAIT_AFTER(barrier) \ + AnnotateBarrierWaitAfter(__FILE__, __LINE__, barrier) + + /* Report that the "barrier" has been destroyed. */ +#define _Py_ANNOTATE_BARRIER_DESTROY(barrier) \ + AnnotateBarrierDestroy(__FILE__, __LINE__, barrier) + + /* ------------------------------------------------------------- + Annotations useful for testing race detectors. */ + + /* Report that we expect a race on the variable at "address". + Use only in unit tests for a race detector. */ +#define _Py_ANNOTATE_EXPECT_RACE(address, description) \ + AnnotateExpectRace(__FILE__, __LINE__, address, description) + + /* A no-op. Insert where you like to test the interceptors. */ +#define _Py_ANNOTATE_NO_OP(arg) \ + AnnotateNoOp(__FILE__, __LINE__, arg) + + /* Force the race detector to flush its state. The actual effect depends on + * the implementation of the detector. */ +#define _Py_ANNOTATE_FLUSH_STATE() \ + AnnotateFlushState(__FILE__, __LINE__) + + +#else /* DYNAMIC_ANNOTATIONS_ENABLED == 0 */ + +#define _Py_ANNOTATE_RWLOCK_CREATE(lock) /* empty */ +#define _Py_ANNOTATE_RWLOCK_DESTROY(lock) /* empty */ +#define _Py_ANNOTATE_RWLOCK_ACQUIRED(lock, is_w) /* empty */ +#define _Py_ANNOTATE_RWLOCK_RELEASED(lock, is_w) /* empty */ +#define _Py_ANNOTATE_BARRIER_INIT(barrier, count, reinitialization_allowed) /* */ +#define _Py_ANNOTATE_BARRIER_WAIT_BEFORE(barrier) /* empty */ +#define _Py_ANNOTATE_BARRIER_WAIT_AFTER(barrier) /* empty */ +#define _Py_ANNOTATE_BARRIER_DESTROY(barrier) /* empty */ +#define _Py_ANNOTATE_CONDVAR_LOCK_WAIT(cv, lock) /* empty */ +#define _Py_ANNOTATE_CONDVAR_WAIT(cv) /* empty */ +#define _Py_ANNOTATE_CONDVAR_SIGNAL(cv) /* empty */ +#define _Py_ANNOTATE_CONDVAR_SIGNAL_ALL(cv) /* empty */ +#define _Py_ANNOTATE_HAPPENS_BEFORE(obj) /* empty */ +#define _Py_ANNOTATE_HAPPENS_AFTER(obj) /* empty */ +#define _Py_ANNOTATE_PUBLISH_MEMORY_RANGE(address, size) /* empty */ +#define _Py_ANNOTATE_UNPUBLISH_MEMORY_RANGE(address, size) /* empty */ +#define _Py_ANNOTATE_SWAP_MEMORY_RANGE(address, size) /* empty */ +#define _Py_ANNOTATE_PCQ_CREATE(pcq) /* empty */ +#define _Py_ANNOTATE_PCQ_DESTROY(pcq) /* empty */ +#define _Py_ANNOTATE_PCQ_PUT(pcq) /* empty */ +#define _Py_ANNOTATE_PCQ_GET(pcq) /* empty */ +#define _Py_ANNOTATE_NEW_MEMORY(address, size) /* empty */ +#define _Py_ANNOTATE_EXPECT_RACE(address, description) /* empty */ +#define _Py_ANNOTATE_BENIGN_RACE(address, description) /* empty */ +#define _Py_ANNOTATE_BENIGN_RACE_SIZED(address, size, description) /* empty */ +#define _Py_ANNOTATE_PURE_HAPPENS_BEFORE_MUTEX(mu) /* empty */ +#define _Py_ANNOTATE_MUTEX_IS_USED_AS_CONDVAR(mu) /* empty */ +#define _Py_ANNOTATE_TRACE_MEMORY(arg) /* empty */ +#define _Py_ANNOTATE_THREAD_NAME(name) /* empty */ +#define _Py_ANNOTATE_IGNORE_READS_BEGIN() /* empty */ +#define _Py_ANNOTATE_IGNORE_READS_END() /* empty */ +#define _Py_ANNOTATE_IGNORE_WRITES_BEGIN() /* empty */ +#define _Py_ANNOTATE_IGNORE_WRITES_END() /* empty */ +#define _Py_ANNOTATE_IGNORE_READS_AND_WRITES_BEGIN() /* empty */ +#define _Py_ANNOTATE_IGNORE_READS_AND_WRITES_END() /* empty */ +#define _Py_ANNOTATE_IGNORE_SYNC_BEGIN() /* empty */ +#define _Py_ANNOTATE_IGNORE_SYNC_END() /* empty */ +#define _Py_ANNOTATE_ENABLE_RACE_DETECTION(enable) /* empty */ +#define _Py_ANNOTATE_NO_OP(arg) /* empty */ +#define _Py_ANNOTATE_FLUSH_STATE() /* empty */ + +#endif /* DYNAMIC_ANNOTATIONS_ENABLED */ + +/* Use the macros above rather than using these functions directly. */ +#ifdef __cplusplus +extern "C" { +#endif +void AnnotateRWLockCreate(const char *file, int line, + const volatile void *lock); +void AnnotateRWLockDestroy(const char *file, int line, + const volatile void *lock); +void AnnotateRWLockAcquired(const char *file, int line, + const volatile void *lock, long is_w); +void AnnotateRWLockReleased(const char *file, int line, + const volatile void *lock, long is_w); +void AnnotateBarrierInit(const char *file, int line, + const volatile void *barrier, long count, + long reinitialization_allowed); +void AnnotateBarrierWaitBefore(const char *file, int line, + const volatile void *barrier); +void AnnotateBarrierWaitAfter(const char *file, int line, + const volatile void *barrier); +void AnnotateBarrierDestroy(const char *file, int line, + const volatile void *barrier); +void AnnotateCondVarWait(const char *file, int line, + const volatile void *cv, + const volatile void *lock); +void AnnotateCondVarSignal(const char *file, int line, + const volatile void *cv); +void AnnotateCondVarSignalAll(const char *file, int line, + const volatile void *cv); +void AnnotatePublishMemoryRange(const char *file, int line, + const volatile void *address, + long size); +void AnnotateUnpublishMemoryRange(const char *file, int line, + const volatile void *address, + long size); +void AnnotatePCQCreate(const char *file, int line, + const volatile void *pcq); +void AnnotatePCQDestroy(const char *file, int line, + const volatile void *pcq); +void AnnotatePCQPut(const char *file, int line, + const volatile void *pcq); +void AnnotatePCQGet(const char *file, int line, + const volatile void *pcq); +void AnnotateNewMemory(const char *file, int line, + const volatile void *address, + long size); +void AnnotateExpectRace(const char *file, int line, + const volatile void *address, + const char *description); +void AnnotateBenignRace(const char *file, int line, + const volatile void *address, + const char *description); +void AnnotateBenignRaceSized(const char *file, int line, + const volatile void *address, + long size, + const char *description); +void AnnotateMutexIsUsedAsCondVar(const char *file, int line, + const volatile void *mu); +void AnnotateTraceMemory(const char *file, int line, + const volatile void *arg); +void AnnotateThreadName(const char *file, int line, + const char *name); +void AnnotateIgnoreReadsBegin(const char *file, int line); +void AnnotateIgnoreReadsEnd(const char *file, int line); +void AnnotateIgnoreWritesBegin(const char *file, int line); +void AnnotateIgnoreWritesEnd(const char *file, int line); +void AnnotateEnableRaceDetection(const char *file, int line, int enable); +void AnnotateNoOp(const char *file, int line, + const volatile void *arg); +void AnnotateFlushState(const char *file, int line); + +/* Return non-zero value if running under valgrind. + + If "valgrind.h" is included into dynamic_annotations.c, + the regular valgrind mechanism will be used. + See http://valgrind.org/docs/manual/manual-core-adv.html about + RUNNING_ON_VALGRIND and other valgrind "client requests". + The file "valgrind.h" may be obtained by doing + svn co svn://svn.valgrind.org/valgrind/trunk/include + + If for some reason you can't use "valgrind.h" or want to fake valgrind, + there are two ways to make this function return non-zero: + - Use environment variable: export RUNNING_ON_VALGRIND=1 + - Make your tool intercept the function RunningOnValgrind() and + change its return value. + */ +int RunningOnValgrind(void); + +#ifdef __cplusplus +} +#endif + +#if DYNAMIC_ANNOTATIONS_ENABLED != 0 && defined(__cplusplus) + + /* _Py_ANNOTATE_UNPROTECTED_READ is the preferred way to annotate racey reads. + + Instead of doing + _Py_ANNOTATE_IGNORE_READS_BEGIN(); + ... = x; + _Py_ANNOTATE_IGNORE_READS_END(); + one can use + ... = _Py_ANNOTATE_UNPROTECTED_READ(x); */ + template + inline T _Py_ANNOTATE_UNPROTECTED_READ(const volatile T &x) { + _Py_ANNOTATE_IGNORE_READS_BEGIN(); + T res = x; + _Py_ANNOTATE_IGNORE_READS_END(); + return res; + } + /* Apply _Py_ANNOTATE_BENIGN_RACE_SIZED to a static variable. */ +#define _Py_ANNOTATE_BENIGN_RACE_STATIC(static_var, description) \ + namespace { \ + class static_var ## _annotator { \ + public: \ + static_var ## _annotator() { \ + _Py_ANNOTATE_BENIGN_RACE_SIZED(&static_var, \ + sizeof(static_var), \ + # static_var ": " description); \ + } \ + }; \ + static static_var ## _annotator the ## static_var ## _annotator;\ + } +#else /* DYNAMIC_ANNOTATIONS_ENABLED == 0 */ + +#define _Py_ANNOTATE_UNPROTECTED_READ(x) (x) +#define _Py_ANNOTATE_BENIGN_RACE_STATIC(static_var, description) /* empty */ + +#endif /* DYNAMIC_ANNOTATIONS_ENABLED */ + +#endif /* __DYNAMIC_ANNOTATIONS_H__ */ diff --git a/_Pre_Builds/_Python311_cpp/include/enumobject.h b/_Pre_Builds/_Python311_cpp/include/enumobject.h new file mode 100644 index 0000000..c14dbfc --- /dev/null +++ b/_Pre_Builds/_Python311_cpp/include/enumobject.h @@ -0,0 +1,17 @@ +#ifndef Py_ENUMOBJECT_H +#define Py_ENUMOBJECT_H + +/* Enumerate Object */ + +#ifdef __cplusplus +extern "C" { +#endif + +PyAPI_DATA(PyTypeObject) PyEnum_Type; +PyAPI_DATA(PyTypeObject) PyReversed_Type; + +#ifdef __cplusplus +} +#endif + +#endif /* !Py_ENUMOBJECT_H */ diff --git a/_Pre_Builds/_Python311_cpp/include/errcode.h b/_Pre_Builds/_Python311_cpp/include/errcode.h new file mode 100644 index 0000000..19ee83e --- /dev/null +++ b/_Pre_Builds/_Python311_cpp/include/errcode.h @@ -0,0 +1,39 @@ +#ifndef Py_ERRCODE_H +#define Py_ERRCODE_H +#ifdef __cplusplus +extern "C" { +#endif + +/* Error codes passed around between file input, tokenizer, parser and + interpreter. This is necessary so we can turn them into Python + exceptions at a higher level. Note that some errors have a + slightly different meaning when passed from the tokenizer to the + parser than when passed from the parser to the interpreter; e.g. + the parser only returns E_EOF when it hits EOF immediately, and it + never returns E_OK. */ + +#define E_OK 10 /* No error */ +#define E_EOF 11 /* End Of File */ +#define E_INTR 12 /* Interrupted */ +#define E_TOKEN 13 /* Bad token */ +#define E_SYNTAX 14 /* Syntax error */ +#define E_NOMEM 15 /* Ran out of memory */ +#define E_DONE 16 /* Parsing complete */ +#define E_ERROR 17 /* Execution error */ +#define E_TABSPACE 18 /* Inconsistent mixing of tabs and spaces */ +#define E_OVERFLOW 19 /* Node had too many children */ +#define E_TOODEEP 20 /* Too many indentation levels */ +#define E_DEDENT 21 /* No matching outer block for dedent */ +#define E_DECODE 22 /* Error in decoding into Unicode */ +#define E_EOFS 23 /* EOF in triple-quoted string */ +#define E_EOLS 24 /* EOL in single-quoted string */ +#define E_LINECONT 25 /* Unexpected characters after a line continuation */ +#define E_BADSINGLE 27 /* Ill-formed single statement input */ +#define E_INTERACT_STOP 28 /* Interactive mode stopped tokenization */ +#define E_COLUMNOVERFLOW 29 /* Column offset overflow */ + + +#ifdef __cplusplus +} +#endif +#endif /* !Py_ERRCODE_H */ diff --git a/_Pre_Builds/_Python311_cpp/include/exports.h b/_Pre_Builds/_Python311_cpp/include/exports.h new file mode 100644 index 0000000..fc1a5c5 --- /dev/null +++ b/_Pre_Builds/_Python311_cpp/include/exports.h @@ -0,0 +1,30 @@ +#ifndef Py_EXPORTS_H +#define Py_EXPORTS_H + +#if defined(_WIN32) || defined(__CYGWIN__) + #define Py_IMPORTED_SYMBOL __declspec(dllimport) + #define Py_EXPORTED_SYMBOL __declspec(dllexport) + #define Py_LOCAL_SYMBOL +#else +/* + * If we only ever used gcc >= 5, we could use __has_attribute(visibility) + * as a cross-platform way to determine if visibility is supported. However, + * we may still need to support gcc >= 4, as some Ubuntu LTS and Centos versions + * have 4 < gcc < 5. + */ + #ifndef __has_attribute + #define __has_attribute(x) 0 // Compatibility with non-clang compilers. + #endif + #if (defined(__GNUC__) && (__GNUC__ >= 4)) ||\ + (defined(__clang__) && __has_attribute(visibility)) + #define Py_IMPORTED_SYMBOL __attribute__ ((visibility ("default"))) + #define Py_EXPORTED_SYMBOL __attribute__ ((visibility ("default"))) + #define Py_LOCAL_SYMBOL __attribute__ ((visibility ("hidden"))) + #else + #define Py_IMPORTED_SYMBOL + #define Py_EXPORTED_SYMBOL + #define Py_LOCAL_SYMBOL + #endif +#endif + +#endif /* Py_EXPORTS_H */ diff --git a/_Python311_cpp/include/fileobject.h b/_Pre_Builds/_Python311_cpp/include/fileobject.h similarity index 100% rename from _Python311_cpp/include/fileobject.h rename to _Pre_Builds/_Python311_cpp/include/fileobject.h diff --git a/_Python311_cpp/include/fileutils.h b/_Pre_Builds/_Python311_cpp/include/fileutils.h similarity index 100% rename from _Python311_cpp/include/fileutils.h rename to _Pre_Builds/_Python311_cpp/include/fileutils.h diff --git a/_Python311_cpp/include/floatobject.h b/_Pre_Builds/_Python311_cpp/include/floatobject.h similarity index 100% rename from _Python311_cpp/include/floatobject.h rename to _Pre_Builds/_Python311_cpp/include/floatobject.h diff --git a/_Python311_cpp/include/frameobject.h b/_Pre_Builds/_Python311_cpp/include/frameobject.h similarity index 100% rename from _Python311_cpp/include/frameobject.h rename to _Pre_Builds/_Python311_cpp/include/frameobject.h diff --git a/_Pre_Builds/_Python311_cpp/include/genericaliasobject.h b/_Pre_Builds/_Python311_cpp/include/genericaliasobject.h new file mode 100644 index 0000000..cf00297 --- /dev/null +++ b/_Pre_Builds/_Python311_cpp/include/genericaliasobject.h @@ -0,0 +1,14 @@ +// Implementation of PEP 585: support list[int] etc. +#ifndef Py_GENERICALIASOBJECT_H +#define Py_GENERICALIASOBJECT_H +#ifdef __cplusplus +extern "C" { +#endif + +PyAPI_FUNC(PyObject *) Py_GenericAlias(PyObject *, PyObject *); +PyAPI_DATA(PyTypeObject) Py_GenericAliasType; + +#ifdef __cplusplus +} +#endif +#endif /* !Py_GENERICALIASOBJECT_H */ diff --git a/_Python311_cpp/include/import.h b/_Pre_Builds/_Python311_cpp/include/import.h similarity index 100% rename from _Python311_cpp/include/import.h rename to _Pre_Builds/_Python311_cpp/include/import.h diff --git a/_Python311_cpp/include/internal/pycore_abstract.h b/_Pre_Builds/_Python311_cpp/include/internal/pycore_abstract.h similarity index 100% rename from _Python311_cpp/include/internal/pycore_abstract.h rename to _Pre_Builds/_Python311_cpp/include/internal/pycore_abstract.h diff --git a/_Pre_Builds/_Python311_cpp/include/internal/pycore_accu.h b/_Pre_Builds/_Python311_cpp/include/internal/pycore_accu.h new file mode 100644 index 0000000..d346222 --- /dev/null +++ b/_Pre_Builds/_Python311_cpp/include/internal/pycore_accu.h @@ -0,0 +1,39 @@ +#ifndef Py_LIMITED_API +#ifndef Py_INTERNAL_ACCU_H +#define Py_INTERNAL_ACCU_H +#ifdef __cplusplus +extern "C" { +#endif + +/*** This is a private API for use by the interpreter and the stdlib. + *** Its definition may be changed or removed at any moment. + ***/ + +#ifndef Py_BUILD_CORE +# error "this header requires Py_BUILD_CORE define" +#endif + +/* + * A two-level accumulator of unicode objects that avoids both the overhead + * of keeping a huge number of small separate objects, and the quadratic + * behaviour of using a naive repeated concatenation scheme. + */ + +#undef small /* defined by some Windows headers */ + +typedef struct { + PyObject *large; /* A list of previously accumulated large strings */ + PyObject *small; /* Pending small strings */ +} _PyAccu; + +PyAPI_FUNC(int) _PyAccu_Init(_PyAccu *acc); +PyAPI_FUNC(int) _PyAccu_Accumulate(_PyAccu *acc, PyObject *unicode); +PyAPI_FUNC(PyObject *) _PyAccu_FinishAsList(_PyAccu *acc); +PyAPI_FUNC(PyObject *) _PyAccu_Finish(_PyAccu *acc); +PyAPI_FUNC(void) _PyAccu_Destroy(_PyAccu *acc); + +#ifdef __cplusplus +} +#endif +#endif /* !Py_INTERNAL_ACCU_H */ +#endif /* !Py_LIMITED_API */ diff --git a/_Python311_cpp/include/internal/pycore_asdl.h b/_Pre_Builds/_Python311_cpp/include/internal/pycore_asdl.h similarity index 100% rename from _Python311_cpp/include/internal/pycore_asdl.h rename to _Pre_Builds/_Python311_cpp/include/internal/pycore_asdl.h diff --git a/_Python311_cpp/include/internal/pycore_ast.h b/_Pre_Builds/_Python311_cpp/include/internal/pycore_ast.h similarity index 100% rename from _Python311_cpp/include/internal/pycore_ast.h rename to _Pre_Builds/_Python311_cpp/include/internal/pycore_ast.h diff --git a/_Python311_cpp/include/internal/pycore_ast_state.h b/_Pre_Builds/_Python311_cpp/include/internal/pycore_ast_state.h similarity index 100% rename from _Python311_cpp/include/internal/pycore_ast_state.h rename to _Pre_Builds/_Python311_cpp/include/internal/pycore_ast_state.h diff --git a/_Pre_Builds/_Python311_cpp/include/internal/pycore_atomic.h b/_Pre_Builds/_Python311_cpp/include/internal/pycore_atomic.h new file mode 100644 index 0000000..425d69f --- /dev/null +++ b/_Pre_Builds/_Python311_cpp/include/internal/pycore_atomic.h @@ -0,0 +1,557 @@ +#ifndef Py_ATOMIC_H +#define Py_ATOMIC_H +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef Py_BUILD_CORE +# error "this header requires Py_BUILD_CORE define" +#endif + +#include "dynamic_annotations.h" /* _Py_ANNOTATE_MEMORY_ORDER */ +#include "pyconfig.h" + +#ifdef HAVE_STD_ATOMIC +# include +#endif + + +#if defined(_MSC_VER) +#include +#if defined(_M_IX86) || defined(_M_X64) +# include +#endif +#endif + +/* This is modeled after the atomics interface from C1x, according to + * the draft at + * http://www.open-std.org/JTC1/SC22/wg14/www/docs/n1425.pdf. + * Operations and types are named the same except with a _Py_ prefix + * and have the same semantics. + * + * Beware, the implementations here are deep magic. + */ + +#if defined(HAVE_STD_ATOMIC) + +typedef enum _Py_memory_order { + _Py_memory_order_relaxed = memory_order_relaxed, + _Py_memory_order_acquire = memory_order_acquire, + _Py_memory_order_release = memory_order_release, + _Py_memory_order_acq_rel = memory_order_acq_rel, + _Py_memory_order_seq_cst = memory_order_seq_cst +} _Py_memory_order; + +typedef struct _Py_atomic_address { + atomic_uintptr_t _value; +} _Py_atomic_address; + +typedef struct _Py_atomic_int { + atomic_int _value; +} _Py_atomic_int; + +#define _Py_atomic_signal_fence(/*memory_order*/ ORDER) \ + atomic_signal_fence(ORDER) + +#define _Py_atomic_thread_fence(/*memory_order*/ ORDER) \ + atomic_thread_fence(ORDER) + +#define _Py_atomic_store_explicit(ATOMIC_VAL, NEW_VAL, ORDER) \ + atomic_store_explicit(&((ATOMIC_VAL)->_value), NEW_VAL, ORDER) + +#define _Py_atomic_load_explicit(ATOMIC_VAL, ORDER) \ + atomic_load_explicit(&((ATOMIC_VAL)->_value), ORDER) + +// Use builtin atomic operations in GCC >= 4.7 and clang +#elif defined(HAVE_BUILTIN_ATOMIC) + +typedef enum _Py_memory_order { + _Py_memory_order_relaxed = __ATOMIC_RELAXED, + _Py_memory_order_acquire = __ATOMIC_ACQUIRE, + _Py_memory_order_release = __ATOMIC_RELEASE, + _Py_memory_order_acq_rel = __ATOMIC_ACQ_REL, + _Py_memory_order_seq_cst = __ATOMIC_SEQ_CST +} _Py_memory_order; + +typedef struct _Py_atomic_address { + uintptr_t _value; +} _Py_atomic_address; + +typedef struct _Py_atomic_int { + int _value; +} _Py_atomic_int; + +#define _Py_atomic_signal_fence(/*memory_order*/ ORDER) \ + __atomic_signal_fence(ORDER) + +#define _Py_atomic_thread_fence(/*memory_order*/ ORDER) \ + __atomic_thread_fence(ORDER) + +#define _Py_atomic_store_explicit(ATOMIC_VAL, NEW_VAL, ORDER) \ + (assert((ORDER) == __ATOMIC_RELAXED \ + || (ORDER) == __ATOMIC_SEQ_CST \ + || (ORDER) == __ATOMIC_RELEASE), \ + __atomic_store_n(&((ATOMIC_VAL)->_value), NEW_VAL, ORDER)) + +#define _Py_atomic_load_explicit(ATOMIC_VAL, ORDER) \ + (assert((ORDER) == __ATOMIC_RELAXED \ + || (ORDER) == __ATOMIC_SEQ_CST \ + || (ORDER) == __ATOMIC_ACQUIRE \ + || (ORDER) == __ATOMIC_CONSUME), \ + __atomic_load_n(&((ATOMIC_VAL)->_value), ORDER)) + +/* Only support GCC (for expression statements) and x86 (for simple + * atomic semantics) and MSVC x86/x64/ARM */ +#elif defined(__GNUC__) && (defined(__i386__) || defined(__amd64)) +typedef enum _Py_memory_order { + _Py_memory_order_relaxed, + _Py_memory_order_acquire, + _Py_memory_order_release, + _Py_memory_order_acq_rel, + _Py_memory_order_seq_cst +} _Py_memory_order; + +typedef struct _Py_atomic_address { + uintptr_t _value; +} _Py_atomic_address; + +typedef struct _Py_atomic_int { + int _value; +} _Py_atomic_int; + + +static __inline__ void +_Py_atomic_signal_fence(_Py_memory_order order) +{ + if (order != _Py_memory_order_relaxed) + __asm__ volatile("":::"memory"); +} + +static __inline__ void +_Py_atomic_thread_fence(_Py_memory_order order) +{ + if (order != _Py_memory_order_relaxed) + __asm__ volatile("mfence":::"memory"); +} + +/* Tell the race checker about this operation's effects. */ +static __inline__ void +_Py_ANNOTATE_MEMORY_ORDER(const volatile void *address, _Py_memory_order order) +{ + (void)address; /* shut up -Wunused-parameter */ + switch(order) { + case _Py_memory_order_release: + case _Py_memory_order_acq_rel: + case _Py_memory_order_seq_cst: + _Py_ANNOTATE_HAPPENS_BEFORE(address); + break; + case _Py_memory_order_relaxed: + case _Py_memory_order_acquire: + break; + } + switch(order) { + case _Py_memory_order_acquire: + case _Py_memory_order_acq_rel: + case _Py_memory_order_seq_cst: + _Py_ANNOTATE_HAPPENS_AFTER(address); + break; + case _Py_memory_order_relaxed: + case _Py_memory_order_release: + break; + } +} + +#define _Py_atomic_store_explicit(ATOMIC_VAL, NEW_VAL, ORDER) \ + __extension__ ({ \ + __typeof__(ATOMIC_VAL) atomic_val = ATOMIC_VAL; \ + __typeof__(atomic_val->_value) new_val = NEW_VAL;\ + volatile __typeof__(new_val) *volatile_data = &atomic_val->_value; \ + _Py_memory_order order = ORDER; \ + _Py_ANNOTATE_MEMORY_ORDER(atomic_val, order); \ + \ + /* Perform the operation. */ \ + _Py_ANNOTATE_IGNORE_WRITES_BEGIN(); \ + switch(order) { \ + case _Py_memory_order_release: \ + _Py_atomic_signal_fence(_Py_memory_order_release); \ + /* fallthrough */ \ + case _Py_memory_order_relaxed: \ + *volatile_data = new_val; \ + break; \ + \ + case _Py_memory_order_acquire: \ + case _Py_memory_order_acq_rel: \ + case _Py_memory_order_seq_cst: \ + __asm__ volatile("xchg %0, %1" \ + : "+r"(new_val) \ + : "m"(atomic_val->_value) \ + : "memory"); \ + break; \ + } \ + _Py_ANNOTATE_IGNORE_WRITES_END(); \ + }) + +#define _Py_atomic_load_explicit(ATOMIC_VAL, ORDER) \ + __extension__ ({ \ + __typeof__(ATOMIC_VAL) atomic_val = ATOMIC_VAL; \ + __typeof__(atomic_val->_value) result; \ + volatile __typeof__(result) *volatile_data = &atomic_val->_value; \ + _Py_memory_order order = ORDER; \ + _Py_ANNOTATE_MEMORY_ORDER(atomic_val, order); \ + \ + /* Perform the operation. */ \ + _Py_ANNOTATE_IGNORE_READS_BEGIN(); \ + switch(order) { \ + case _Py_memory_order_release: \ + case _Py_memory_order_acq_rel: \ + case _Py_memory_order_seq_cst: \ + /* Loads on x86 are not releases by default, so need a */ \ + /* thread fence. */ \ + _Py_atomic_thread_fence(_Py_memory_order_release); \ + break; \ + default: \ + /* No fence */ \ + break; \ + } \ + result = *volatile_data; \ + switch(order) { \ + case _Py_memory_order_acquire: \ + case _Py_memory_order_acq_rel: \ + case _Py_memory_order_seq_cst: \ + /* Loads on x86 are automatically acquire operations so */ \ + /* can get by with just a compiler fence. */ \ + _Py_atomic_signal_fence(_Py_memory_order_acquire); \ + break; \ + default: \ + /* No fence */ \ + break; \ + } \ + _Py_ANNOTATE_IGNORE_READS_END(); \ + result; \ + }) + +#elif defined(_MSC_VER) +/* _Interlocked* functions provide a full memory barrier and are therefore + enough for acq_rel and seq_cst. If the HLE variants aren't available + in hardware they will fall back to a full memory barrier as well. + + This might affect performance but likely only in some very specific and + hard to measure scenario. +*/ +#if defined(_M_IX86) || defined(_M_X64) +typedef enum _Py_memory_order { + _Py_memory_order_relaxed, + _Py_memory_order_acquire, + _Py_memory_order_release, + _Py_memory_order_acq_rel, + _Py_memory_order_seq_cst +} _Py_memory_order; + +typedef struct _Py_atomic_address { + volatile uintptr_t _value; +} _Py_atomic_address; + +typedef struct _Py_atomic_int { + volatile int _value; +} _Py_atomic_int; + + +#if defined(_M_X64) +#define _Py_atomic_store_64bit(ATOMIC_VAL, NEW_VAL, ORDER) \ + switch (ORDER) { \ + case _Py_memory_order_acquire: \ + _InterlockedExchange64_HLEAcquire((__int64 volatile*)&((ATOMIC_VAL)->_value), (__int64)(NEW_VAL)); \ + break; \ + case _Py_memory_order_release: \ + _InterlockedExchange64_HLERelease((__int64 volatile*)&((ATOMIC_VAL)->_value), (__int64)(NEW_VAL)); \ + break; \ + default: \ + _InterlockedExchange64((__int64 volatile*)&((ATOMIC_VAL)->_value), (__int64)(NEW_VAL)); \ + break; \ + } +#else +#define _Py_atomic_store_64bit(ATOMIC_VAL, NEW_VAL, ORDER) ((void)0); +#endif + +#define _Py_atomic_store_32bit(ATOMIC_VAL, NEW_VAL, ORDER) \ + switch (ORDER) { \ + case _Py_memory_order_acquire: \ + _InterlockedExchange_HLEAcquire((volatile long*)&((ATOMIC_VAL)->_value), (int)(NEW_VAL)); \ + break; \ + case _Py_memory_order_release: \ + _InterlockedExchange_HLERelease((volatile long*)&((ATOMIC_VAL)->_value), (int)(NEW_VAL)); \ + break; \ + default: \ + _InterlockedExchange((volatile long*)&((ATOMIC_VAL)->_value), (int)(NEW_VAL)); \ + break; \ + } + +#if defined(_M_X64) +/* This has to be an intptr_t for now. + gil_created() uses -1 as a sentinel value, if this returns + a uintptr_t it will do an unsigned compare and crash +*/ +inline intptr_t _Py_atomic_load_64bit_impl(volatile uintptr_t* value, int order) { + __int64 old; + switch (order) { + case _Py_memory_order_acquire: + { + do { + old = *value; + } while(_InterlockedCompareExchange64_HLEAcquire((volatile __int64*)value, old, old) != old); + break; + } + case _Py_memory_order_release: + { + do { + old = *value; + } while(_InterlockedCompareExchange64_HLERelease((volatile __int64*)value, old, old) != old); + break; + } + case _Py_memory_order_relaxed: + old = *value; + break; + default: + { + do { + old = *value; + } while(_InterlockedCompareExchange64((volatile __int64*)value, old, old) != old); + break; + } + } + return old; +} + +#define _Py_atomic_load_64bit(ATOMIC_VAL, ORDER) \ + _Py_atomic_load_64bit_impl((volatile uintptr_t*)&((ATOMIC_VAL)->_value), (ORDER)) + +#else +#define _Py_atomic_load_64bit(ATOMIC_VAL, ORDER) ((ATOMIC_VAL)->_value) +#endif + +inline int _Py_atomic_load_32bit_impl(volatile int* value, int order) { + long old; + switch (order) { + case _Py_memory_order_acquire: + { + do { + old = *value; + } while(_InterlockedCompareExchange_HLEAcquire((volatile long*)value, old, old) != old); + break; + } + case _Py_memory_order_release: + { + do { + old = *value; + } while(_InterlockedCompareExchange_HLERelease((volatile long*)value, old, old) != old); + break; + } + case _Py_memory_order_relaxed: + old = *value; + break; + default: + { + do { + old = *value; + } while(_InterlockedCompareExchange((volatile long*)value, old, old) != old); + break; + } + } + return old; +} + +#define _Py_atomic_load_32bit(ATOMIC_VAL, ORDER) \ + _Py_atomic_load_32bit_impl((volatile int*)&((ATOMIC_VAL)->_value), (ORDER)) + +#define _Py_atomic_store_explicit(ATOMIC_VAL, NEW_VAL, ORDER) \ + if (sizeof((ATOMIC_VAL)->_value) == 8) { \ + _Py_atomic_store_64bit((ATOMIC_VAL), NEW_VAL, ORDER) } else { \ + _Py_atomic_store_32bit((ATOMIC_VAL), NEW_VAL, ORDER) } + +#define _Py_atomic_load_explicit(ATOMIC_VAL, ORDER) \ + ( \ + sizeof((ATOMIC_VAL)->_value) == 8 ? \ + _Py_atomic_load_64bit((ATOMIC_VAL), ORDER) : \ + _Py_atomic_load_32bit((ATOMIC_VAL), ORDER) \ + ) +#elif defined(_M_ARM) || defined(_M_ARM64) +typedef enum _Py_memory_order { + _Py_memory_order_relaxed, + _Py_memory_order_acquire, + _Py_memory_order_release, + _Py_memory_order_acq_rel, + _Py_memory_order_seq_cst +} _Py_memory_order; + +typedef struct _Py_atomic_address { + volatile uintptr_t _value; +} _Py_atomic_address; + +typedef struct _Py_atomic_int { + volatile int _value; +} _Py_atomic_int; + + +#if defined(_M_ARM64) +#define _Py_atomic_store_64bit(ATOMIC_VAL, NEW_VAL, ORDER) \ + switch (ORDER) { \ + case _Py_memory_order_acquire: \ + _InterlockedExchange64_acq((__int64 volatile*)&((ATOMIC_VAL)->_value), (__int64)NEW_VAL); \ + break; \ + case _Py_memory_order_release: \ + _InterlockedExchange64_rel((__int64 volatile*)&((ATOMIC_VAL)->_value), (__int64)NEW_VAL); \ + break; \ + default: \ + _InterlockedExchange64((__int64 volatile*)&((ATOMIC_VAL)->_value), (__int64)NEW_VAL); \ + break; \ + } +#else +#define _Py_atomic_store_64bit(ATOMIC_VAL, NEW_VAL, ORDER) ((void)0); +#endif + +#define _Py_atomic_store_32bit(ATOMIC_VAL, NEW_VAL, ORDER) \ + switch (ORDER) { \ + case _Py_memory_order_acquire: \ + _InterlockedExchange_acq((volatile long*)&((ATOMIC_VAL)->_value), (int)NEW_VAL); \ + break; \ + case _Py_memory_order_release: \ + _InterlockedExchange_rel((volatile long*)&((ATOMIC_VAL)->_value), (int)NEW_VAL); \ + break; \ + default: \ + _InterlockedExchange((volatile long*)&((ATOMIC_VAL)->_value), (int)NEW_VAL); \ + break; \ + } + +#if defined(_M_ARM64) +/* This has to be an intptr_t for now. + gil_created() uses -1 as a sentinel value, if this returns + a uintptr_t it will do an unsigned compare and crash +*/ +inline intptr_t _Py_atomic_load_64bit_impl(volatile uintptr_t* value, int order) { + uintptr_t old; + switch (order) { + case _Py_memory_order_acquire: + { + do { + old = *value; + } while(_InterlockedCompareExchange64_acq(value, old, old) != old); + break; + } + case _Py_memory_order_release: + { + do { + old = *value; + } while(_InterlockedCompareExchange64_rel(value, old, old) != old); + break; + } + case _Py_memory_order_relaxed: + old = *value; + break; + default: + { + do { + old = *value; + } while(_InterlockedCompareExchange64(value, old, old) != old); + break; + } + } + return old; +} + +#define _Py_atomic_load_64bit(ATOMIC_VAL, ORDER) \ + _Py_atomic_load_64bit_impl((volatile uintptr_t*)&((ATOMIC_VAL)->_value), (ORDER)) + +#else +#define _Py_atomic_load_64bit(ATOMIC_VAL, ORDER) ((ATOMIC_VAL)->_value) +#endif + +inline int _Py_atomic_load_32bit_impl(volatile int* value, int order) { + int old; + switch (order) { + case _Py_memory_order_acquire: + { + do { + old = *value; + } while(_InterlockedCompareExchange_acq(value, old, old) != old); + break; + } + case _Py_memory_order_release: + { + do { + old = *value; + } while(_InterlockedCompareExchange_rel(value, old, old) != old); + break; + } + case _Py_memory_order_relaxed: + old = *value; + break; + default: + { + do { + old = *value; + } while(_InterlockedCompareExchange(value, old, old) != old); + break; + } + } + return old; +} + +#define _Py_atomic_load_32bit(ATOMIC_VAL, ORDER) \ + _Py_atomic_load_32bit_impl((volatile int*)&((ATOMIC_VAL)->_value), (ORDER)) + +#define _Py_atomic_store_explicit(ATOMIC_VAL, NEW_VAL, ORDER) \ + if (sizeof((ATOMIC_VAL)->_value) == 8) { \ + _Py_atomic_store_64bit((ATOMIC_VAL), (NEW_VAL), (ORDER)) } else { \ + _Py_atomic_store_32bit((ATOMIC_VAL), (NEW_VAL), (ORDER)) } + +#define _Py_atomic_load_explicit(ATOMIC_VAL, ORDER) \ + ( \ + sizeof((ATOMIC_VAL)->_value) == 8 ? \ + _Py_atomic_load_64bit((ATOMIC_VAL), (ORDER)) : \ + _Py_atomic_load_32bit((ATOMIC_VAL), (ORDER)) \ + ) +#endif +#else /* !gcc x86 !_msc_ver */ +typedef enum _Py_memory_order { + _Py_memory_order_relaxed, + _Py_memory_order_acquire, + _Py_memory_order_release, + _Py_memory_order_acq_rel, + _Py_memory_order_seq_cst +} _Py_memory_order; + +typedef struct _Py_atomic_address { + uintptr_t _value; +} _Py_atomic_address; + +typedef struct _Py_atomic_int { + int _value; +} _Py_atomic_int; +/* Fall back to other compilers and processors by assuming that simple + volatile accesses are atomic. This is false, so people should port + this. */ +#define _Py_atomic_signal_fence(/*memory_order*/ ORDER) ((void)0) +#define _Py_atomic_thread_fence(/*memory_order*/ ORDER) ((void)0) +#define _Py_atomic_store_explicit(ATOMIC_VAL, NEW_VAL, ORDER) \ + ((ATOMIC_VAL)->_value = NEW_VAL) +#define _Py_atomic_load_explicit(ATOMIC_VAL, ORDER) \ + ((ATOMIC_VAL)->_value) +#endif + +/* Standardized shortcuts. */ +#define _Py_atomic_store(ATOMIC_VAL, NEW_VAL) \ + _Py_atomic_store_explicit((ATOMIC_VAL), (NEW_VAL), _Py_memory_order_seq_cst) +#define _Py_atomic_load(ATOMIC_VAL) \ + _Py_atomic_load_explicit((ATOMIC_VAL), _Py_memory_order_seq_cst) + +/* Python-local extensions */ + +#define _Py_atomic_store_relaxed(ATOMIC_VAL, NEW_VAL) \ + _Py_atomic_store_explicit((ATOMIC_VAL), (NEW_VAL), _Py_memory_order_relaxed) +#define _Py_atomic_load_relaxed(ATOMIC_VAL) \ + _Py_atomic_load_explicit((ATOMIC_VAL), _Py_memory_order_relaxed) + +#ifdef __cplusplus +} +#endif +#endif /* Py_ATOMIC_H */ diff --git a/_Pre_Builds/_Python311_cpp/include/internal/pycore_atomic_funcs.h b/_Pre_Builds/_Python311_cpp/include/internal/pycore_atomic_funcs.h new file mode 100644 index 0000000..a708789 --- /dev/null +++ b/_Pre_Builds/_Python311_cpp/include/internal/pycore_atomic_funcs.h @@ -0,0 +1,94 @@ +/* Atomic functions: similar to pycore_atomic.h, but don't need + to declare variables as atomic. + + Py_ssize_t type: + + * value = _Py_atomic_size_get(&var) + * _Py_atomic_size_set(&var, value) + + Use sequentially-consistent ordering (__ATOMIC_SEQ_CST memory order): + enforce total ordering with all other atomic functions. +*/ +#ifndef Py_ATOMIC_FUNC_H +#define Py_ATOMIC_FUNC_H +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef Py_BUILD_CORE +# error "this header requires Py_BUILD_CORE define" +#endif + +#if defined(_MSC_VER) +# include // _InterlockedExchange() +#endif + + +// Use builtin atomic operations in GCC >= 4.7 and clang +#ifdef HAVE_BUILTIN_ATOMIC + +static inline Py_ssize_t _Py_atomic_size_get(Py_ssize_t *var) +{ + return __atomic_load_n(var, __ATOMIC_SEQ_CST); +} + +static inline void _Py_atomic_size_set(Py_ssize_t *var, Py_ssize_t value) +{ + __atomic_store_n(var, value, __ATOMIC_SEQ_CST); +} + +#elif defined(_MSC_VER) + +static inline Py_ssize_t _Py_atomic_size_get(Py_ssize_t *var) +{ +#if SIZEOF_VOID_P == 8 + Py_BUILD_ASSERT(sizeof(__int64) == sizeof(*var)); + volatile __int64 *volatile_var = (volatile __int64 *)var; + __int64 old; + do { + old = *volatile_var; + } while(_InterlockedCompareExchange64(volatile_var, old, old) != old); +#else + Py_BUILD_ASSERT(sizeof(long) == sizeof(*var)); + volatile long *volatile_var = (volatile long *)var; + long old; + do { + old = *volatile_var; + } while(_InterlockedCompareExchange(volatile_var, old, old) != old); +#endif + return old; +} + +static inline void _Py_atomic_size_set(Py_ssize_t *var, Py_ssize_t value) +{ +#if SIZEOF_VOID_P == 8 + Py_BUILD_ASSERT(sizeof(__int64) == sizeof(*var)); + volatile __int64 *volatile_var = (volatile __int64 *)var; + _InterlockedExchange64(volatile_var, value); +#else + Py_BUILD_ASSERT(sizeof(long) == sizeof(*var)); + volatile long *volatile_var = (volatile long *)var; + _InterlockedExchange(volatile_var, value); +#endif +} + +#else +// Fallback implementation using volatile + +static inline Py_ssize_t _Py_atomic_size_get(Py_ssize_t *var) +{ + volatile Py_ssize_t *volatile_var = (volatile Py_ssize_t *)var; + return *volatile_var; +} + +static inline void _Py_atomic_size_set(Py_ssize_t *var, Py_ssize_t value) +{ + volatile Py_ssize_t *volatile_var = (volatile Py_ssize_t *)var; + *volatile_var = value; +} +#endif + +#ifdef __cplusplus +} +#endif +#endif /* Py_ATOMIC_FUNC_H */ diff --git a/_Python311_cpp/include/internal/pycore_bitutils.h b/_Pre_Builds/_Python311_cpp/include/internal/pycore_bitutils.h similarity index 100% rename from _Python311_cpp/include/internal/pycore_bitutils.h rename to _Pre_Builds/_Python311_cpp/include/internal/pycore_bitutils.h diff --git a/_Pre_Builds/_Python311_cpp/include/internal/pycore_blocks_output_buffer.h b/_Pre_Builds/_Python311_cpp/include/internal/pycore_blocks_output_buffer.h new file mode 100644 index 0000000..28cf6fb --- /dev/null +++ b/_Pre_Builds/_Python311_cpp/include/internal/pycore_blocks_output_buffer.h @@ -0,0 +1,317 @@ +/* + _BlocksOutputBuffer is used to maintain an output buffer + that has unpredictable size. Suitable for compression/decompression + API (bz2/lzma/zlib) that has stream->next_out and stream->avail_out: + + stream->next_out: point to the next output position. + stream->avail_out: the number of available bytes left in the buffer. + + It maintains a list of bytes object, so there is no overhead of resizing + the buffer. + + Usage: + + 1, Initialize the struct instance like this: + _BlocksOutputBuffer buffer = {.list = NULL}; + Set .list to NULL for _BlocksOutputBuffer_OnError() + + 2, Initialize the buffer use one of these functions: + _BlocksOutputBuffer_InitAndGrow() + _BlocksOutputBuffer_InitWithSize() + + 3, If (avail_out == 0), grow the buffer: + _BlocksOutputBuffer_Grow() + + 4, Get the current outputted data size: + _BlocksOutputBuffer_GetDataSize() + + 5, Finish the buffer, and return a bytes object: + _BlocksOutputBuffer_Finish() + + 6, Clean up the buffer when an error occurred: + _BlocksOutputBuffer_OnError() +*/ + +#ifndef Py_INTERNAL_BLOCKS_OUTPUT_BUFFER_H +#define Py_INTERNAL_BLOCKS_OUTPUT_BUFFER_H +#ifdef __cplusplus +extern "C" { +#endif + +#include "Python.h" + +typedef struct { + // List of bytes objects + PyObject *list; + // Number of whole allocated size + Py_ssize_t allocated; + // Max length of the buffer, negative number means unlimited length. + Py_ssize_t max_length; +} _BlocksOutputBuffer; + +static const char unable_allocate_msg[] = "Unable to allocate output buffer."; + +/* In 32-bit build, the max block size should <= INT32_MAX. */ +#define OUTPUT_BUFFER_MAX_BLOCK_SIZE (256*1024*1024) + +/* Block size sequence */ +#define KB (1024) +#define MB (1024*1024) +static const Py_ssize_t BUFFER_BLOCK_SIZE[] = + { 32*KB, 64*KB, 256*KB, 1*MB, 4*MB, 8*MB, 16*MB, 16*MB, + 32*MB, 32*MB, 32*MB, 32*MB, 64*MB, 64*MB, 128*MB, 128*MB, + OUTPUT_BUFFER_MAX_BLOCK_SIZE }; +#undef KB +#undef MB + +/* According to the block sizes defined by BUFFER_BLOCK_SIZE, the whole + allocated size growth step is: + 1 32 KB +32 KB + 2 96 KB +64 KB + 3 352 KB +256 KB + 4 1.34 MB +1 MB + 5 5.34 MB +4 MB + 6 13.34 MB +8 MB + 7 29.34 MB +16 MB + 8 45.34 MB +16 MB + 9 77.34 MB +32 MB + 10 109.34 MB +32 MB + 11 141.34 MB +32 MB + 12 173.34 MB +32 MB + 13 237.34 MB +64 MB + 14 301.34 MB +64 MB + 15 429.34 MB +128 MB + 16 557.34 MB +128 MB + 17 813.34 MB +256 MB + 18 1069.34 MB +256 MB + 19 1325.34 MB +256 MB + 20 1581.34 MB +256 MB + 21 1837.34 MB +256 MB + 22 2093.34 MB +256 MB + ... +*/ + +/* Initialize the buffer, and grow the buffer. + + max_length: Max length of the buffer, -1 for unlimited length. + + On success, return allocated size (>=0) + On failure, return -1 +*/ +static inline Py_ssize_t +_BlocksOutputBuffer_InitAndGrow(_BlocksOutputBuffer *buffer, + const Py_ssize_t max_length, + void **next_out) +{ + PyObject *b; + Py_ssize_t block_size; + + // ensure .list was set to NULL + assert(buffer->list == NULL); + + // get block size + if (0 <= max_length && max_length < BUFFER_BLOCK_SIZE[0]) { + block_size = max_length; + } else { + block_size = BUFFER_BLOCK_SIZE[0]; + } + + // the first block + b = PyBytes_FromStringAndSize(NULL, block_size); + if (b == NULL) { + return -1; + } + + // create the list + buffer->list = PyList_New(1); + if (buffer->list == NULL) { + Py_DECREF(b); + return -1; + } + PyList_SET_ITEM(buffer->list, 0, b); + + // set variables + buffer->allocated = block_size; + buffer->max_length = max_length; + + *next_out = PyBytes_AS_STRING(b); + return block_size; +} + +/* Initialize the buffer, with an initial size. + + Check block size limit in the outer wrapper function. For example, some libs + accept UINT32_MAX as the maximum block size, then init_size should <= it. + + On success, return allocated size (>=0) + On failure, return -1 +*/ +static inline Py_ssize_t +_BlocksOutputBuffer_InitWithSize(_BlocksOutputBuffer *buffer, + const Py_ssize_t init_size, + void **next_out) +{ + PyObject *b; + + // ensure .list was set to NULL + assert(buffer->list == NULL); + + // the first block + b = PyBytes_FromStringAndSize(NULL, init_size); + if (b == NULL) { + PyErr_SetString(PyExc_MemoryError, unable_allocate_msg); + return -1; + } + + // create the list + buffer->list = PyList_New(1); + if (buffer->list == NULL) { + Py_DECREF(b); + return -1; + } + PyList_SET_ITEM(buffer->list, 0, b); + + // set variables + buffer->allocated = init_size; + buffer->max_length = -1; + + *next_out = PyBytes_AS_STRING(b); + return init_size; +} + +/* Grow the buffer. The avail_out must be 0, please check it before calling. + + On success, return allocated size (>=0) + On failure, return -1 +*/ +static inline Py_ssize_t +_BlocksOutputBuffer_Grow(_BlocksOutputBuffer *buffer, + void **next_out, + const Py_ssize_t avail_out) +{ + PyObject *b; + const Py_ssize_t list_len = Py_SIZE(buffer->list); + Py_ssize_t block_size; + + // ensure no gaps in the data + if (avail_out != 0) { + PyErr_SetString(PyExc_SystemError, + "avail_out is non-zero in _BlocksOutputBuffer_Grow()."); + return -1; + } + + // get block size + if (list_len < (Py_ssize_t) Py_ARRAY_LENGTH(BUFFER_BLOCK_SIZE)) { + block_size = BUFFER_BLOCK_SIZE[list_len]; + } else { + block_size = BUFFER_BLOCK_SIZE[Py_ARRAY_LENGTH(BUFFER_BLOCK_SIZE) - 1]; + } + + // check max_length + if (buffer->max_length >= 0) { + // if (rest == 0), should not grow the buffer. + Py_ssize_t rest = buffer->max_length - buffer->allocated; + assert(rest > 0); + + // block_size of the last block + if (block_size > rest) { + block_size = rest; + } + } + + // check buffer->allocated overflow + if (block_size > PY_SSIZE_T_MAX - buffer->allocated) { + PyErr_SetString(PyExc_MemoryError, unable_allocate_msg); + return -1; + } + + // create the block + b = PyBytes_FromStringAndSize(NULL, block_size); + if (b == NULL) { + PyErr_SetString(PyExc_MemoryError, unable_allocate_msg); + return -1; + } + if (PyList_Append(buffer->list, b) < 0) { + Py_DECREF(b); + return -1; + } + Py_DECREF(b); + + // set variables + buffer->allocated += block_size; + + *next_out = PyBytes_AS_STRING(b); + return block_size; +} + +/* Return the current outputted data size. */ +static inline Py_ssize_t +_BlocksOutputBuffer_GetDataSize(_BlocksOutputBuffer *buffer, + const Py_ssize_t avail_out) +{ + return buffer->allocated - avail_out; +} + +/* Finish the buffer. + + Return a bytes object on success + Return NULL on failure +*/ +static inline PyObject * +_BlocksOutputBuffer_Finish(_BlocksOutputBuffer *buffer, + const Py_ssize_t avail_out) +{ + PyObject *result, *block; + const Py_ssize_t list_len = Py_SIZE(buffer->list); + + // fast path for single block + if ((list_len == 1 && avail_out == 0) || + (list_len == 2 && Py_SIZE(PyList_GET_ITEM(buffer->list, 1)) == avail_out)) + { + block = PyList_GET_ITEM(buffer->list, 0); + Py_INCREF(block); + + Py_CLEAR(buffer->list); + return block; + } + + // final bytes object + result = PyBytes_FromStringAndSize(NULL, buffer->allocated - avail_out); + if (result == NULL) { + PyErr_SetString(PyExc_MemoryError, unable_allocate_msg); + return NULL; + } + + // memory copy + if (list_len > 0) { + char *posi = PyBytes_AS_STRING(result); + + // blocks except the last one + Py_ssize_t i = 0; + for (; i < list_len-1; i++) { + block = PyList_GET_ITEM(buffer->list, i); + memcpy(posi, PyBytes_AS_STRING(block), Py_SIZE(block)); + posi += Py_SIZE(block); + } + // the last block + block = PyList_GET_ITEM(buffer->list, i); + memcpy(posi, PyBytes_AS_STRING(block), Py_SIZE(block) - avail_out); + } else { + assert(Py_SIZE(result) == 0); + } + + Py_CLEAR(buffer->list); + return result; +} + +/* Clean up the buffer when an error occurred. */ +static inline void +_BlocksOutputBuffer_OnError(_BlocksOutputBuffer *buffer) +{ + Py_CLEAR(buffer->list); +} + +#ifdef __cplusplus +} +#endif +#endif /* Py_INTERNAL_BLOCKS_OUTPUT_BUFFER_H */ \ No newline at end of file diff --git a/_Pre_Builds/_Python311_cpp/include/internal/pycore_bytes_methods.h b/_Pre_Builds/_Python311_cpp/include/internal/pycore_bytes_methods.h new file mode 100644 index 0000000..11e8ab2 --- /dev/null +++ b/_Pre_Builds/_Python311_cpp/include/internal/pycore_bytes_methods.h @@ -0,0 +1,73 @@ +#ifndef Py_LIMITED_API +#ifndef Py_BYTES_CTYPE_H +#define Py_BYTES_CTYPE_H + +#ifndef Py_BUILD_CORE +# error "this header requires Py_BUILD_CORE define" +#endif + +/* + * The internal implementation behind PyBytes (bytes) and PyByteArray (bytearray) + * methods of the given names, they operate on ASCII byte strings. + */ +extern PyObject* _Py_bytes_isspace(const char *cptr, Py_ssize_t len); +extern PyObject* _Py_bytes_isalpha(const char *cptr, Py_ssize_t len); +extern PyObject* _Py_bytes_isalnum(const char *cptr, Py_ssize_t len); +extern PyObject* _Py_bytes_isascii(const char *cptr, Py_ssize_t len); +extern PyObject* _Py_bytes_isdigit(const char *cptr, Py_ssize_t len); +extern PyObject* _Py_bytes_islower(const char *cptr, Py_ssize_t len); +extern PyObject* _Py_bytes_isupper(const char *cptr, Py_ssize_t len); +extern PyObject* _Py_bytes_istitle(const char *cptr, Py_ssize_t len); + +/* These store their len sized answer in the given preallocated *result arg. */ +extern void _Py_bytes_lower(char *result, const char *cptr, Py_ssize_t len); +extern void _Py_bytes_upper(char *result, const char *cptr, Py_ssize_t len); +extern void _Py_bytes_title(char *result, const char *s, Py_ssize_t len); +extern void _Py_bytes_capitalize(char *result, const char *s, Py_ssize_t len); +extern void _Py_bytes_swapcase(char *result, const char *s, Py_ssize_t len); + +extern PyObject *_Py_bytes_find(const char *str, Py_ssize_t len, PyObject *args); +extern PyObject *_Py_bytes_index(const char *str, Py_ssize_t len, PyObject *args); +extern PyObject *_Py_bytes_rfind(const char *str, Py_ssize_t len, PyObject *args); +extern PyObject *_Py_bytes_rindex(const char *str, Py_ssize_t len, PyObject *args); +extern PyObject *_Py_bytes_count(const char *str, Py_ssize_t len, PyObject *args); +extern int _Py_bytes_contains(const char *str, Py_ssize_t len, PyObject *arg); +extern PyObject *_Py_bytes_startswith(const char *str, Py_ssize_t len, PyObject *args); +extern PyObject *_Py_bytes_endswith(const char *str, Py_ssize_t len, PyObject *args); + +/* The maketrans() static method. */ +extern PyObject* _Py_bytes_maketrans(Py_buffer *frm, Py_buffer *to); + +/* Shared __doc__ strings. */ +extern const char _Py_isspace__doc__[]; +extern const char _Py_isalpha__doc__[]; +extern const char _Py_isalnum__doc__[]; +extern const char _Py_isascii__doc__[]; +extern const char _Py_isdigit__doc__[]; +extern const char _Py_islower__doc__[]; +extern const char _Py_isupper__doc__[]; +extern const char _Py_istitle__doc__[]; +extern const char _Py_lower__doc__[]; +extern const char _Py_upper__doc__[]; +extern const char _Py_title__doc__[]; +extern const char _Py_capitalize__doc__[]; +extern const char _Py_swapcase__doc__[]; +extern const char _Py_count__doc__[]; +extern const char _Py_find__doc__[]; +extern const char _Py_index__doc__[]; +extern const char _Py_rfind__doc__[]; +extern const char _Py_rindex__doc__[]; +extern const char _Py_startswith__doc__[]; +extern const char _Py_endswith__doc__[]; +extern const char _Py_maketrans__doc__[]; +extern const char _Py_expandtabs__doc__[]; +extern const char _Py_ljust__doc__[]; +extern const char _Py_rjust__doc__[]; +extern const char _Py_center__doc__[]; +extern const char _Py_zfill__doc__[]; + +/* this is needed because some docs are shared from the .o, not static */ +#define PyDoc_STRVAR_shared(name,str) const char name[] = PyDoc_STR(str) + +#endif /* !Py_BYTES_CTYPE_H */ +#endif /* !Py_LIMITED_API */ diff --git a/_Python311_cpp/include/internal/pycore_bytesobject.h b/_Pre_Builds/_Python311_cpp/include/internal/pycore_bytesobject.h similarity index 100% rename from _Python311_cpp/include/internal/pycore_bytesobject.h rename to _Pre_Builds/_Python311_cpp/include/internal/pycore_bytesobject.h diff --git a/_Python311_cpp/include/internal/pycore_call.h b/_Pre_Builds/_Python311_cpp/include/internal/pycore_call.h similarity index 100% rename from _Python311_cpp/include/internal/pycore_call.h rename to _Pre_Builds/_Python311_cpp/include/internal/pycore_call.h diff --git a/_Python311_cpp/include/internal/pycore_ceval.h b/_Pre_Builds/_Python311_cpp/include/internal/pycore_ceval.h similarity index 100% rename from _Python311_cpp/include/internal/pycore_ceval.h rename to _Pre_Builds/_Python311_cpp/include/internal/pycore_ceval.h diff --git a/_Python311_cpp/include/internal/pycore_code.h b/_Pre_Builds/_Python311_cpp/include/internal/pycore_code.h similarity index 100% rename from _Python311_cpp/include/internal/pycore_code.h rename to _Pre_Builds/_Python311_cpp/include/internal/pycore_code.h diff --git a/_Pre_Builds/_Python311_cpp/include/internal/pycore_compile.h b/_Pre_Builds/_Python311_cpp/include/internal/pycore_compile.h new file mode 100644 index 0000000..06a6082 --- /dev/null +++ b/_Pre_Builds/_Python311_cpp/include/internal/pycore_compile.h @@ -0,0 +1,44 @@ +#ifndef Py_INTERNAL_COMPILE_H +#define Py_INTERNAL_COMPILE_H +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef Py_BUILD_CORE +# error "this header requires Py_BUILD_CORE define" +#endif + +struct _arena; // Type defined in pycore_pyarena.h +struct _mod; // Type defined in pycore_ast.h + +// Export the symbol for test_peg_generator (built as a library) +PyAPI_FUNC(PyCodeObject*) _PyAST_Compile( + struct _mod *mod, + PyObject *filename, + PyCompilerFlags *flags, + int optimize, + struct _arena *arena); +extern PyFutureFeatures* _PyFuture_FromAST( + struct _mod * mod, + PyObject *filename + ); + +extern PyObject* _Py_Mangle(PyObject *p, PyObject *name); + +typedef struct { + int optimize; + int ff_features; + + int recursion_depth; /* current recursion depth */ + int recursion_limit; /* recursion limit */ +} _PyASTOptimizeState; + +extern int _PyAST_Optimize( + struct _mod *, + struct _arena *arena, + _PyASTOptimizeState *state); + +#ifdef __cplusplus +} +#endif +#endif /* !Py_INTERNAL_COMPILE_H */ diff --git a/_Python311_cpp/include/internal/pycore_condvar.h b/_Pre_Builds/_Python311_cpp/include/internal/pycore_condvar.h similarity index 100% rename from _Python311_cpp/include/internal/pycore_condvar.h rename to _Pre_Builds/_Python311_cpp/include/internal/pycore_condvar.h diff --git a/_Python311_cpp/include/internal/pycore_context.h b/_Pre_Builds/_Python311_cpp/include/internal/pycore_context.h similarity index 100% rename from _Python311_cpp/include/internal/pycore_context.h rename to _Pre_Builds/_Python311_cpp/include/internal/pycore_context.h diff --git a/_Python311_cpp/include/internal/pycore_dict.h b/_Pre_Builds/_Python311_cpp/include/internal/pycore_dict.h similarity index 100% rename from _Python311_cpp/include/internal/pycore_dict.h rename to _Pre_Builds/_Python311_cpp/include/internal/pycore_dict.h diff --git a/_Python311_cpp/include/internal/pycore_dtoa.h b/_Pre_Builds/_Python311_cpp/include/internal/pycore_dtoa.h similarity index 100% rename from _Python311_cpp/include/internal/pycore_dtoa.h rename to _Pre_Builds/_Python311_cpp/include/internal/pycore_dtoa.h diff --git a/_Python311_cpp/include/internal/pycore_emscripten_signal.h b/_Pre_Builds/_Python311_cpp/include/internal/pycore_emscripten_signal.h similarity index 100% rename from _Python311_cpp/include/internal/pycore_emscripten_signal.h rename to _Pre_Builds/_Python311_cpp/include/internal/pycore_emscripten_signal.h diff --git a/_Python311_cpp/include/internal/pycore_exceptions.h b/_Pre_Builds/_Python311_cpp/include/internal/pycore_exceptions.h similarity index 100% rename from _Python311_cpp/include/internal/pycore_exceptions.h rename to _Pre_Builds/_Python311_cpp/include/internal/pycore_exceptions.h diff --git a/_Python311_cpp/include/internal/pycore_fileutils.h b/_Pre_Builds/_Python311_cpp/include/internal/pycore_fileutils.h similarity index 97% rename from _Python311_cpp/include/internal/pycore_fileutils.h rename to _Pre_Builds/_Python311_cpp/include/internal/pycore_fileutils.h index 3ce8108..332cc30 100644 --- a/_Python311_cpp/include/internal/pycore_fileutils.h +++ b/_Pre_Builds/_Python311_cpp/include/internal/pycore_fileutils.h @@ -244,7 +244,8 @@ extern int _Py_add_relfile(wchar_t *dirname, const wchar_t *relfile, size_t bufsize); extern size_t _Py_find_basename(const wchar_t *filename); -PyAPI_FUNC(wchar_t *) _Py_normpath(wchar_t *path, Py_ssize_t size); +PyAPI_FUNC(wchar_t*) _Py_normpath(wchar_t *path, Py_ssize_t size); +extern wchar_t *_Py_normpath_and_size(wchar_t *path, Py_ssize_t size, Py_ssize_t *length); // Macros to protect CRT calls against instant termination when passed an diff --git a/_Python311_cpp/include/internal/pycore_floatobject.h b/_Pre_Builds/_Python311_cpp/include/internal/pycore_floatobject.h similarity index 100% rename from _Python311_cpp/include/internal/pycore_floatobject.h rename to _Pre_Builds/_Python311_cpp/include/internal/pycore_floatobject.h diff --git a/_Pre_Builds/_Python311_cpp/include/internal/pycore_format.h b/_Pre_Builds/_Python311_cpp/include/internal/pycore_format.h new file mode 100644 index 0000000..1b8d575 --- /dev/null +++ b/_Pre_Builds/_Python311_cpp/include/internal/pycore_format.h @@ -0,0 +1,27 @@ +#ifndef Py_INTERNAL_FORMAT_H +#define Py_INTERNAL_FORMAT_H +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef Py_BUILD_CORE +# error "this header requires Py_BUILD_CORE define" +#endif + +/* Format codes + * F_LJUST '-' + * F_SIGN '+' + * F_BLANK ' ' + * F_ALT '#' + * F_ZERO '0' + */ +#define F_LJUST (1<<0) +#define F_SIGN (1<<1) +#define F_BLANK (1<<2) +#define F_ALT (1<<3) +#define F_ZERO (1<<4) + +#ifdef __cplusplus +} +#endif +#endif /* !Py_INTERNAL_FORMAT_H */ diff --git a/_Python311_cpp/include/internal/pycore_frame.h b/_Pre_Builds/_Python311_cpp/include/internal/pycore_frame.h similarity index 100% rename from _Python311_cpp/include/internal/pycore_frame.h rename to _Pre_Builds/_Python311_cpp/include/internal/pycore_frame.h diff --git a/_Python311_cpp/include/internal/pycore_function.h b/_Pre_Builds/_Python311_cpp/include/internal/pycore_function.h similarity index 100% rename from _Python311_cpp/include/internal/pycore_function.h rename to _Pre_Builds/_Python311_cpp/include/internal/pycore_function.h diff --git a/_Python311_cpp/include/internal/pycore_gc.h b/_Pre_Builds/_Python311_cpp/include/internal/pycore_gc.h similarity index 100% rename from _Python311_cpp/include/internal/pycore_gc.h rename to _Pre_Builds/_Python311_cpp/include/internal/pycore_gc.h diff --git a/_Python311_cpp/include/internal/pycore_genobject.h b/_Pre_Builds/_Python311_cpp/include/internal/pycore_genobject.h similarity index 100% rename from _Python311_cpp/include/internal/pycore_genobject.h rename to _Pre_Builds/_Python311_cpp/include/internal/pycore_genobject.h diff --git a/_Pre_Builds/_Python311_cpp/include/internal/pycore_getopt.h b/_Pre_Builds/_Python311_cpp/include/internal/pycore_getopt.h new file mode 100644 index 0000000..7f0dd13 --- /dev/null +++ b/_Pre_Builds/_Python311_cpp/include/internal/pycore_getopt.h @@ -0,0 +1,22 @@ +#ifndef Py_INTERNAL_PYGETOPT_H +#define Py_INTERNAL_PYGETOPT_H + +#ifndef Py_BUILD_CORE +# error "this header requires Py_BUILD_CORE define" +#endif + +extern int _PyOS_opterr; +extern Py_ssize_t _PyOS_optind; +extern const wchar_t *_PyOS_optarg; + +extern void _PyOS_ResetGetOpt(void); + +typedef struct { + const wchar_t *name; + int has_arg; + int val; +} _PyOS_LongOption; + +extern int _PyOS_GetOpt(Py_ssize_t argc, wchar_t * const *argv, int *longindex); + +#endif /* !Py_INTERNAL_PYGETOPT_H */ diff --git a/_Pre_Builds/_Python311_cpp/include/internal/pycore_gil.h b/_Pre_Builds/_Python311_cpp/include/internal/pycore_gil.h new file mode 100644 index 0000000..8ebad37 --- /dev/null +++ b/_Pre_Builds/_Python311_cpp/include/internal/pycore_gil.h @@ -0,0 +1,50 @@ +#ifndef Py_INTERNAL_GIL_H +#define Py_INTERNAL_GIL_H +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef Py_BUILD_CORE +# error "this header requires Py_BUILD_CORE define" +#endif + +#include "pycore_atomic.h" /* _Py_atomic_address */ +#include "pycore_condvar.h" /* PyCOND_T */ + +#ifndef Py_HAVE_CONDVAR +# error You need either a POSIX-compatible or a Windows system! +#endif + +/* Enable if you want to force the switching of threads at least + every `interval`. */ +#undef FORCE_SWITCHING +#define FORCE_SWITCHING + +struct _gil_runtime_state { + /* microseconds (the Python API uses seconds, though) */ + unsigned long interval; + /* Last PyThreadState holding / having held the GIL. This helps us + know whether anyone else was scheduled after we dropped the GIL. */ + _Py_atomic_address last_holder; + /* Whether the GIL is already taken (-1 if uninitialized). This is + atomic because it can be read without any lock taken in ceval.c. */ + _Py_atomic_int locked; + /* Number of GIL switches since the beginning. */ + unsigned long switch_number; + /* This condition variable allows one or several threads to wait + until the GIL is released. In addition, the mutex also protects + the above variables. */ + PyCOND_T cond; + PyMUTEX_T mutex; +#ifdef FORCE_SWITCHING + /* This condition variable helps the GIL-releasing thread wait for + a GIL-awaiting thread to be scheduled and take the GIL. */ + PyCOND_T switch_cond; + PyMUTEX_T switch_mutex; +#endif +}; + +#ifdef __cplusplus +} +#endif +#endif /* !Py_INTERNAL_GIL_H */ diff --git a/_Python311_cpp/include/internal/pycore_global_objects.h b/_Pre_Builds/_Python311_cpp/include/internal/pycore_global_objects.h similarity index 100% rename from _Python311_cpp/include/internal/pycore_global_objects.h rename to _Pre_Builds/_Python311_cpp/include/internal/pycore_global_objects.h diff --git a/_Python311_cpp/include/internal/pycore_global_strings.h b/_Pre_Builds/_Python311_cpp/include/internal/pycore_global_strings.h similarity index 100% rename from _Python311_cpp/include/internal/pycore_global_strings.h rename to _Pre_Builds/_Python311_cpp/include/internal/pycore_global_strings.h diff --git a/_Python311_cpp/include/internal/pycore_hamt.h b/_Pre_Builds/_Python311_cpp/include/internal/pycore_hamt.h similarity index 100% rename from _Python311_cpp/include/internal/pycore_hamt.h rename to _Pre_Builds/_Python311_cpp/include/internal/pycore_hamt.h diff --git a/_Pre_Builds/_Python311_cpp/include/internal/pycore_hashtable.h b/_Pre_Builds/_Python311_cpp/include/internal/pycore_hashtable.h new file mode 100644 index 0000000..18757ab --- /dev/null +++ b/_Pre_Builds/_Python311_cpp/include/internal/pycore_hashtable.h @@ -0,0 +1,148 @@ +#ifndef Py_INTERNAL_HASHTABLE_H +#define Py_INTERNAL_HASHTABLE_H +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef Py_BUILD_CORE +# error "this header requires Py_BUILD_CORE define" +#endif + +/* Single linked list */ + +typedef struct _Py_slist_item_s { + struct _Py_slist_item_s *next; +} _Py_slist_item_t; + +typedef struct { + _Py_slist_item_t *head; +} _Py_slist_t; + +#define _Py_SLIST_ITEM_NEXT(ITEM) (((_Py_slist_item_t *)ITEM)->next) + +#define _Py_SLIST_HEAD(SLIST) (((_Py_slist_t *)SLIST)->head) + + +/* _Py_hashtable: table entry */ + +typedef struct { + /* used by _Py_hashtable_t.buckets to link entries */ + _Py_slist_item_t _Py_slist_item; + + Py_uhash_t key_hash; + void *key; + void *value; +} _Py_hashtable_entry_t; + + +/* _Py_hashtable: prototypes */ + +/* Forward declaration */ +struct _Py_hashtable_t; +typedef struct _Py_hashtable_t _Py_hashtable_t; + +typedef Py_uhash_t (*_Py_hashtable_hash_func) (const void *key); +typedef int (*_Py_hashtable_compare_func) (const void *key1, const void *key2); +typedef void (*_Py_hashtable_destroy_func) (void *key); +typedef _Py_hashtable_entry_t* (*_Py_hashtable_get_entry_func)(_Py_hashtable_t *ht, + const void *key); + +typedef struct { + // Allocate a memory block + void* (*malloc) (size_t size); + + // Release a memory block + void (*free) (void *ptr); +} _Py_hashtable_allocator_t; + + +/* _Py_hashtable: table */ +struct _Py_hashtable_t { + size_t nentries; // Total number of entries in the table + size_t nbuckets; + _Py_slist_t *buckets; + + _Py_hashtable_get_entry_func get_entry_func; + _Py_hashtable_hash_func hash_func; + _Py_hashtable_compare_func compare_func; + _Py_hashtable_destroy_func key_destroy_func; + _Py_hashtable_destroy_func value_destroy_func; + _Py_hashtable_allocator_t alloc; +}; + +/* Hash a pointer (void*) */ +PyAPI_FUNC(Py_uhash_t) _Py_hashtable_hash_ptr(const void *key); + +/* Comparison using memcmp() */ +PyAPI_FUNC(int) _Py_hashtable_compare_direct( + const void *key1, + const void *key2); + +PyAPI_FUNC(_Py_hashtable_t *) _Py_hashtable_new( + _Py_hashtable_hash_func hash_func, + _Py_hashtable_compare_func compare_func); + +PyAPI_FUNC(_Py_hashtable_t *) _Py_hashtable_new_full( + _Py_hashtable_hash_func hash_func, + _Py_hashtable_compare_func compare_func, + _Py_hashtable_destroy_func key_destroy_func, + _Py_hashtable_destroy_func value_destroy_func, + _Py_hashtable_allocator_t *allocator); + +PyAPI_FUNC(void) _Py_hashtable_destroy(_Py_hashtable_t *ht); + +PyAPI_FUNC(void) _Py_hashtable_clear(_Py_hashtable_t *ht); + +typedef int (*_Py_hashtable_foreach_func) (_Py_hashtable_t *ht, + const void *key, const void *value, + void *user_data); + +/* Call func() on each entry of the hashtable. + Iteration stops if func() result is non-zero, in this case it's the result + of the call. Otherwise, the function returns 0. */ +PyAPI_FUNC(int) _Py_hashtable_foreach( + _Py_hashtable_t *ht, + _Py_hashtable_foreach_func func, + void *user_data); + +PyAPI_FUNC(size_t) _Py_hashtable_size(const _Py_hashtable_t *ht); + +/* Add a new entry to the hash. The key must not be present in the hash table. + Return 0 on success, -1 on memory error. */ +PyAPI_FUNC(int) _Py_hashtable_set( + _Py_hashtable_t *ht, + const void *key, + void *value); + + +/* Get an entry. + Return NULL if the key does not exist. */ +static inline _Py_hashtable_entry_t * +_Py_hashtable_get_entry(_Py_hashtable_t *ht, const void *key) +{ + return ht->get_entry_func(ht, key); +} + + +/* Get value from an entry. + Return NULL if the entry is not found. + + Use _Py_hashtable_get_entry() to distinguish entry value equal to NULL + and entry not found. */ +PyAPI_FUNC(void*) _Py_hashtable_get(_Py_hashtable_t *ht, const void *key); + + +/* Remove a key and its associated value without calling key and value destroy + functions. + + Return the removed value if the key was found. + Return NULL if the key was not found. */ +PyAPI_FUNC(void*) _Py_hashtable_steal( + _Py_hashtable_t *ht, + const void *key); + + +#ifdef __cplusplus +} +#endif +#endif /* !Py_INTERNAL_HASHTABLE_H */ diff --git a/_Python311_cpp/include/internal/pycore_import.h b/_Pre_Builds/_Python311_cpp/include/internal/pycore_import.h similarity index 100% rename from _Python311_cpp/include/internal/pycore_import.h rename to _Pre_Builds/_Python311_cpp/include/internal/pycore_import.h diff --git a/_Python311_cpp/include/internal/pycore_initconfig.h b/_Pre_Builds/_Python311_cpp/include/internal/pycore_initconfig.h similarity index 100% rename from _Python311_cpp/include/internal/pycore_initconfig.h rename to _Pre_Builds/_Python311_cpp/include/internal/pycore_initconfig.h diff --git a/_Python311_cpp/include/internal/pycore_interp.h b/_Pre_Builds/_Python311_cpp/include/internal/pycore_interp.h similarity index 100% rename from _Python311_cpp/include/internal/pycore_interp.h rename to _Pre_Builds/_Python311_cpp/include/internal/pycore_interp.h diff --git a/_Python311_cpp/include/internal/pycore_interpreteridobject.h b/_Pre_Builds/_Python311_cpp/include/internal/pycore_interpreteridobject.h similarity index 100% rename from _Python311_cpp/include/internal/pycore_interpreteridobject.h rename to _Pre_Builds/_Python311_cpp/include/internal/pycore_interpreteridobject.h diff --git a/_Python311_cpp/include/internal/pycore_list.h b/_Pre_Builds/_Python311_cpp/include/internal/pycore_list.h similarity index 100% rename from _Python311_cpp/include/internal/pycore_list.h rename to _Pre_Builds/_Python311_cpp/include/internal/pycore_list.h diff --git a/_Python311_cpp/include/internal/pycore_long.h b/_Pre_Builds/_Python311_cpp/include/internal/pycore_long.h similarity index 100% rename from _Python311_cpp/include/internal/pycore_long.h rename to _Pre_Builds/_Python311_cpp/include/internal/pycore_long.h diff --git a/_Python311_cpp/include/internal/pycore_moduleobject.h b/_Pre_Builds/_Python311_cpp/include/internal/pycore_moduleobject.h similarity index 100% rename from _Python311_cpp/include/internal/pycore_moduleobject.h rename to _Pre_Builds/_Python311_cpp/include/internal/pycore_moduleobject.h diff --git a/_Python311_cpp/include/internal/pycore_namespace.h b/_Pre_Builds/_Python311_cpp/include/internal/pycore_namespace.h similarity index 100% rename from _Python311_cpp/include/internal/pycore_namespace.h rename to _Pre_Builds/_Python311_cpp/include/internal/pycore_namespace.h diff --git a/_Python311_cpp/include/internal/pycore_object.h b/_Pre_Builds/_Python311_cpp/include/internal/pycore_object.h similarity index 100% rename from _Python311_cpp/include/internal/pycore_object.h rename to _Pre_Builds/_Python311_cpp/include/internal/pycore_object.h diff --git a/_Python311_cpp/include/internal/pycore_opcode.h b/_Pre_Builds/_Python311_cpp/include/internal/pycore_opcode.h similarity index 100% rename from _Python311_cpp/include/internal/pycore_opcode.h rename to _Pre_Builds/_Python311_cpp/include/internal/pycore_opcode.h diff --git a/_Pre_Builds/_Python311_cpp/include/internal/pycore_parser.h b/_Pre_Builds/_Python311_cpp/include/internal/pycore_parser.h new file mode 100644 index 0000000..e2de24e --- /dev/null +++ b/_Pre_Builds/_Python311_cpp/include/internal/pycore_parser.h @@ -0,0 +1,31 @@ +#ifndef Py_INTERNAL_PARSER_H +#define Py_INTERNAL_PARSER_H +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef Py_BUILD_CORE +# error "this header requires Py_BUILD_CORE define" +#endif + +extern struct _mod* _PyParser_ASTFromString( + const char *str, + PyObject* filename, + int mode, + PyCompilerFlags *flags, + PyArena *arena); +extern struct _mod* _PyParser_ASTFromFile( + FILE *fp, + PyObject *filename_ob, + const char *enc, + int mode, + const char *ps1, + const char *ps2, + PyCompilerFlags *flags, + int *errcode, + PyArena *arena); + +#ifdef __cplusplus +} +#endif +#endif /* !Py_INTERNAL_PARSER_H */ diff --git a/_Python311_cpp/include/internal/pycore_pathconfig.h b/_Pre_Builds/_Python311_cpp/include/internal/pycore_pathconfig.h similarity index 100% rename from _Python311_cpp/include/internal/pycore_pathconfig.h rename to _Pre_Builds/_Python311_cpp/include/internal/pycore_pathconfig.h diff --git a/_Pre_Builds/_Python311_cpp/include/internal/pycore_pyarena.h b/_Pre_Builds/_Python311_cpp/include/internal/pycore_pyarena.h new file mode 100644 index 0000000..d78972a --- /dev/null +++ b/_Pre_Builds/_Python311_cpp/include/internal/pycore_pyarena.h @@ -0,0 +1,64 @@ +/* An arena-like memory interface for the compiler. + */ + +#ifndef Py_INTERNAL_PYARENA_H +#define Py_INTERNAL_PYARENA_H +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef Py_BUILD_CORE +# error "this header requires Py_BUILD_CORE define" +#endif + +typedef struct _arena PyArena; + +/* _PyArena_New() and _PyArena_Free() create a new arena and free it, + respectively. Once an arena has been created, it can be used + to allocate memory via _PyArena_Malloc(). Pointers to PyObject can + also be registered with the arena via _PyArena_AddPyObject(), and the + arena will ensure that the PyObjects stay alive at least until + _PyArena_Free() is called. When an arena is freed, all the memory it + allocated is freed, the arena releases internal references to registered + PyObject*, and none of its pointers are valid. + XXX (tim) What does "none of its pointers are valid" mean? Does it + XXX mean that pointers previously obtained via _PyArena_Malloc() are + XXX no longer valid? (That's clearly true, but not sure that's what + XXX the text is trying to say.) + + _PyArena_New() returns an arena pointer. On error, it + returns a negative number and sets an exception. + XXX (tim): Not true. On error, _PyArena_New() actually returns NULL, + XXX and looks like it may or may not set an exception (e.g., if the + XXX internal PyList_New(0) returns NULL, _PyArena_New() passes that on + XXX and an exception is set; OTOH, if the internal + XXX block_new(DEFAULT_BLOCK_SIZE) returns NULL, that's passed on but + XXX an exception is not set in that case). +*/ +PyAPI_FUNC(PyArena*) _PyArena_New(void); +PyAPI_FUNC(void) _PyArena_Free(PyArena *); + +/* Mostly like malloc(), return the address of a block of memory spanning + * `size` bytes, or return NULL (without setting an exception) if enough + * new memory can't be obtained. Unlike malloc(0), _PyArena_Malloc() with + * size=0 does not guarantee to return a unique pointer (the pointer + * returned may equal one or more other pointers obtained from + * _PyArena_Malloc()). + * Note that pointers obtained via _PyArena_Malloc() must never be passed to + * the system free() or realloc(), or to any of Python's similar memory- + * management functions. _PyArena_Malloc()-obtained pointers remain valid + * until _PyArena_Free(ar) is called, at which point all pointers obtained + * from the arena `ar` become invalid simultaneously. + */ +PyAPI_FUNC(void*) _PyArena_Malloc(PyArena *, size_t size); + +/* This routine isn't a proper arena allocation routine. It takes + * a PyObject* and records it so that it can be DECREFed when the + * arena is freed. + */ +PyAPI_FUNC(int) _PyArena_AddPyObject(PyArena *, PyObject *); + +#ifdef __cplusplus +} +#endif +#endif /* !Py_INTERNAL_PYARENA_H */ diff --git a/_Python311_cpp/include/internal/pycore_pyerrors.h b/_Pre_Builds/_Python311_cpp/include/internal/pycore_pyerrors.h similarity index 100% rename from _Python311_cpp/include/internal/pycore_pyerrors.h rename to _Pre_Builds/_Python311_cpp/include/internal/pycore_pyerrors.h diff --git a/_Pre_Builds/_Python311_cpp/include/internal/pycore_pyhash.h b/_Pre_Builds/_Python311_cpp/include/internal/pycore_pyhash.h new file mode 100644 index 0000000..a229f8d --- /dev/null +++ b/_Pre_Builds/_Python311_cpp/include/internal/pycore_pyhash.h @@ -0,0 +1,10 @@ +#ifndef Py_INTERNAL_HASH_H +#define Py_INTERNAL_HASH_H + +#ifndef Py_BUILD_CORE +# error "this header requires Py_BUILD_CORE define" +#endif + +uint64_t _Py_KeyedHash(uint64_t, const char *, Py_ssize_t); + +#endif diff --git a/_Python311_cpp/include/internal/pycore_pylifecycle.h b/_Pre_Builds/_Python311_cpp/include/internal/pycore_pylifecycle.h similarity index 100% rename from _Python311_cpp/include/internal/pycore_pylifecycle.h rename to _Pre_Builds/_Python311_cpp/include/internal/pycore_pylifecycle.h diff --git a/_Python311_cpp/include/internal/pycore_pymath.h b/_Pre_Builds/_Python311_cpp/include/internal/pycore_pymath.h similarity index 100% rename from _Python311_cpp/include/internal/pycore_pymath.h rename to _Pre_Builds/_Python311_cpp/include/internal/pycore_pymath.h diff --git a/_Python311_cpp/include/internal/pycore_pymem.h b/_Pre_Builds/_Python311_cpp/include/internal/pycore_pymem.h similarity index 100% rename from _Python311_cpp/include/internal/pycore_pymem.h rename to _Pre_Builds/_Python311_cpp/include/internal/pycore_pymem.h diff --git a/_Python311_cpp/include/internal/pycore_pystate.h b/_Pre_Builds/_Python311_cpp/include/internal/pycore_pystate.h similarity index 96% rename from _Python311_cpp/include/internal/pycore_pystate.h rename to _Pre_Builds/_Python311_cpp/include/internal/pycore_pystate.h index cb8f115..7c5aba1 100644 --- a/_Python311_cpp/include/internal/pycore_pystate.h +++ b/_Pre_Builds/_Python311_cpp/include/internal/pycore_pystate.h @@ -61,6 +61,12 @@ _Py_ThreadCanHandlePendingCalls(void) } +#ifndef NDEBUG +extern int _PyThreadState_CheckConsistency(PyThreadState *tstate); +#endif + +int _PyThreadState_MustExit(PyThreadState *tstate); + /* Variable and macro for in-line access to current thread and interpreter state */ diff --git a/_Python311_cpp/include/internal/pycore_runtime.h b/_Pre_Builds/_Python311_cpp/include/internal/pycore_runtime.h similarity index 100% rename from _Python311_cpp/include/internal/pycore_runtime.h rename to _Pre_Builds/_Python311_cpp/include/internal/pycore_runtime.h diff --git a/_Python311_cpp/include/internal/pycore_runtime_init.h b/_Pre_Builds/_Python311_cpp/include/internal/pycore_runtime_init.h similarity index 100% rename from _Python311_cpp/include/internal/pycore_runtime_init.h rename to _Pre_Builds/_Python311_cpp/include/internal/pycore_runtime_init.h diff --git a/_Python311_cpp/include/internal/pycore_signal.h b/_Pre_Builds/_Python311_cpp/include/internal/pycore_signal.h similarity index 100% rename from _Python311_cpp/include/internal/pycore_signal.h rename to _Pre_Builds/_Python311_cpp/include/internal/pycore_signal.h diff --git a/_Python311_cpp/include/internal/pycore_sliceobject.h b/_Pre_Builds/_Python311_cpp/include/internal/pycore_sliceobject.h similarity index 100% rename from _Python311_cpp/include/internal/pycore_sliceobject.h rename to _Pre_Builds/_Python311_cpp/include/internal/pycore_sliceobject.h diff --git a/_Python311_cpp/include/internal/pycore_strhex.h b/_Pre_Builds/_Python311_cpp/include/internal/pycore_strhex.h similarity index 100% rename from _Python311_cpp/include/internal/pycore_strhex.h rename to _Pre_Builds/_Python311_cpp/include/internal/pycore_strhex.h diff --git a/_Python311_cpp/include/internal/pycore_structseq.h b/_Pre_Builds/_Python311_cpp/include/internal/pycore_structseq.h similarity index 100% rename from _Python311_cpp/include/internal/pycore_structseq.h rename to _Pre_Builds/_Python311_cpp/include/internal/pycore_structseq.h diff --git a/_Python311_cpp/include/internal/pycore_symtable.h b/_Pre_Builds/_Python311_cpp/include/internal/pycore_symtable.h similarity index 100% rename from _Python311_cpp/include/internal/pycore_symtable.h rename to _Pre_Builds/_Python311_cpp/include/internal/pycore_symtable.h diff --git a/_Python311_cpp/include/internal/pycore_sysmodule.h b/_Pre_Builds/_Python311_cpp/include/internal/pycore_sysmodule.h similarity index 100% rename from _Python311_cpp/include/internal/pycore_sysmodule.h rename to _Pre_Builds/_Python311_cpp/include/internal/pycore_sysmodule.h diff --git a/_Python311_cpp/include/internal/pycore_traceback.h b/_Pre_Builds/_Python311_cpp/include/internal/pycore_traceback.h similarity index 100% rename from _Python311_cpp/include/internal/pycore_traceback.h rename to _Pre_Builds/_Python311_cpp/include/internal/pycore_traceback.h diff --git a/_Python311_cpp/include/internal/pycore_tuple.h b/_Pre_Builds/_Python311_cpp/include/internal/pycore_tuple.h similarity index 100% rename from _Python311_cpp/include/internal/pycore_tuple.h rename to _Pre_Builds/_Python311_cpp/include/internal/pycore_tuple.h diff --git a/_Python311_cpp/include/internal/pycore_typeobject.h b/_Pre_Builds/_Python311_cpp/include/internal/pycore_typeobject.h similarity index 100% rename from _Python311_cpp/include/internal/pycore_typeobject.h rename to _Pre_Builds/_Python311_cpp/include/internal/pycore_typeobject.h diff --git a/_Pre_Builds/_Python311_cpp/include/internal/pycore_ucnhash.h b/_Pre_Builds/_Python311_cpp/include/internal/pycore_ucnhash.h new file mode 100644 index 0000000..187dd68 --- /dev/null +++ b/_Pre_Builds/_Python311_cpp/include/internal/pycore_ucnhash.h @@ -0,0 +1,34 @@ +/* Unicode name database interface */ +#ifndef Py_INTERNAL_UCNHASH_H +#define Py_INTERNAL_UCNHASH_H +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef Py_BUILD_CORE +# error "this header requires Py_BUILD_CORE define" +#endif + +/* revised ucnhash CAPI interface (exported through a "wrapper") */ + +#define PyUnicodeData_CAPSULE_NAME "unicodedata._ucnhash_CAPI" + +typedef struct { + + /* Get name for a given character code. + Returns non-zero if success, zero if not. + Does not set Python exceptions. */ + int (*getname)(Py_UCS4 code, char* buffer, int buflen, + int with_alias_and_seq); + + /* Get character code for a given name. + Same error handling as for getname(). */ + int (*getcode)(const char* name, int namelen, Py_UCS4* code, + int with_named_seq); + +} _PyUnicode_Name_CAPI; + +#ifdef __cplusplus +} +#endif +#endif /* !Py_INTERNAL_UCNHASH_H */ diff --git a/_Python311_cpp/include/internal/pycore_unicodeobject.h b/_Pre_Builds/_Python311_cpp/include/internal/pycore_unicodeobject.h similarity index 100% rename from _Python311_cpp/include/internal/pycore_unicodeobject.h rename to _Pre_Builds/_Python311_cpp/include/internal/pycore_unicodeobject.h diff --git a/_Python311_cpp/include/internal/pycore_unionobject.h b/_Pre_Builds/_Python311_cpp/include/internal/pycore_unionobject.h similarity index 100% rename from _Python311_cpp/include/internal/pycore_unionobject.h rename to _Pre_Builds/_Python311_cpp/include/internal/pycore_unionobject.h diff --git a/_Python311_cpp/include/internal/pycore_warnings.h b/_Pre_Builds/_Python311_cpp/include/internal/pycore_warnings.h similarity index 100% rename from _Python311_cpp/include/internal/pycore_warnings.h rename to _Pre_Builds/_Python311_cpp/include/internal/pycore_warnings.h diff --git a/_Pre_Builds/_Python311_cpp/include/intrcheck.h b/_Pre_Builds/_Python311_cpp/include/intrcheck.h new file mode 100644 index 0000000..b8cc656 --- /dev/null +++ b/_Pre_Builds/_Python311_cpp/include/intrcheck.h @@ -0,0 +1,30 @@ +#ifndef Py_INTRCHECK_H +#define Py_INTRCHECK_H +#ifdef __cplusplus +extern "C" { +#endif + +PyAPI_FUNC(int) PyOS_InterruptOccurred(void); +#ifdef HAVE_FORK +#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x03070000 +PyAPI_FUNC(void) PyOS_BeforeFork(void); +PyAPI_FUNC(void) PyOS_AfterFork_Parent(void); +PyAPI_FUNC(void) PyOS_AfterFork_Child(void); +#endif +#endif +/* Deprecated, please use PyOS_AfterFork_Child() instead */ +Py_DEPRECATED(3.7) PyAPI_FUNC(void) PyOS_AfterFork(void); + +#ifndef Py_LIMITED_API +PyAPI_FUNC(int) _PyOS_IsMainThread(void); + +#ifdef MS_WINDOWS +/* windows.h is not included by Python.h so use void* instead of HANDLE */ +PyAPI_FUNC(void*) _PyOS_SigintEvent(void); +#endif +#endif /* !Py_LIMITED_API */ + +#ifdef __cplusplus +} +#endif +#endif /* !Py_INTRCHECK_H */ diff --git a/_Pre_Builds/_Python311_cpp/include/iterobject.h b/_Pre_Builds/_Python311_cpp/include/iterobject.h new file mode 100644 index 0000000..6454611 --- /dev/null +++ b/_Pre_Builds/_Python311_cpp/include/iterobject.h @@ -0,0 +1,27 @@ +#ifndef Py_ITEROBJECT_H +#define Py_ITEROBJECT_H +/* Iterators (the basic kind, over a sequence) */ +#ifdef __cplusplus +extern "C" { +#endif + +PyAPI_DATA(PyTypeObject) PySeqIter_Type; +PyAPI_DATA(PyTypeObject) PyCallIter_Type; +#ifdef Py_BUILD_CORE +extern PyTypeObject _PyAnextAwaitable_Type; +#endif + +#define PySeqIter_Check(op) Py_IS_TYPE(op, &PySeqIter_Type) + +PyAPI_FUNC(PyObject *) PySeqIter_New(PyObject *); + + +#define PyCallIter_Check(op) Py_IS_TYPE(op, &PyCallIter_Type) + +PyAPI_FUNC(PyObject *) PyCallIter_New(PyObject *, PyObject *); + +#ifdef __cplusplus +} +#endif +#endif /* !Py_ITEROBJECT_H */ + diff --git a/_Python311_cpp/include/listobject.h b/_Pre_Builds/_Python311_cpp/include/listobject.h similarity index 100% rename from _Python311_cpp/include/listobject.h rename to _Pre_Builds/_Python311_cpp/include/listobject.h diff --git a/_Python311_cpp/include/longobject.h b/_Pre_Builds/_Python311_cpp/include/longobject.h similarity index 100% rename from _Python311_cpp/include/longobject.h rename to _Pre_Builds/_Python311_cpp/include/longobject.h diff --git a/_Python311_cpp/include/marshal.h b/_Pre_Builds/_Python311_cpp/include/marshal.h similarity index 100% rename from _Python311_cpp/include/marshal.h rename to _Pre_Builds/_Python311_cpp/include/marshal.h diff --git a/_Python311_cpp/include/memoryobject.h b/_Pre_Builds/_Python311_cpp/include/memoryobject.h similarity index 100% rename from _Python311_cpp/include/memoryobject.h rename to _Pre_Builds/_Python311_cpp/include/memoryobject.h diff --git a/_Python311_cpp/include/methodobject.h b/_Pre_Builds/_Python311_cpp/include/methodobject.h similarity index 100% rename from _Python311_cpp/include/methodobject.h rename to _Pre_Builds/_Python311_cpp/include/methodobject.h diff --git a/_Python311_cpp/include/modsupport.h b/_Pre_Builds/_Python311_cpp/include/modsupport.h similarity index 98% rename from _Python311_cpp/include/modsupport.h rename to _Pre_Builds/_Python311_cpp/include/modsupport.h index 0e96a5c..b3813a7 100644 --- a/_Python311_cpp/include/modsupport.h +++ b/_Pre_Builds/_Python311_cpp/include/modsupport.h @@ -41,10 +41,12 @@ PyAPI_FUNC(PyObject *) _Py_BuildValue_SizeT(const char *, ...); PyAPI_FUNC(PyObject *) Py_VaBuildValue(const char *, va_list); +#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x030a0000 // Add an attribute with name 'name' and value 'obj' to the module 'mod. // On success, return 0 on success. // On error, raise an exception and return -1. PyAPI_FUNC(int) PyModule_AddObjectRef(PyObject *mod, const char *name, PyObject *value); +#endif /* Py_LIMITED_API */ // Similar to PyModule_AddObjectRef() but steal a reference to 'obj' // (Py_DECREF(obj)) on success (if it returns 0). diff --git a/_Python311_cpp/include/moduleobject.h b/_Pre_Builds/_Python311_cpp/include/moduleobject.h similarity index 100% rename from _Python311_cpp/include/moduleobject.h rename to _Pre_Builds/_Python311_cpp/include/moduleobject.h diff --git a/_Python311_cpp/include/object.h b/_Pre_Builds/_Python311_cpp/include/object.h similarity index 100% rename from _Python311_cpp/include/object.h rename to _Pre_Builds/_Python311_cpp/include/object.h diff --git a/_Python311_cpp/include/objimpl.h b/_Pre_Builds/_Python311_cpp/include/objimpl.h similarity index 100% rename from _Python311_cpp/include/objimpl.h rename to _Pre_Builds/_Python311_cpp/include/objimpl.h diff --git a/_Python311_cpp/include/opcode.h b/_Pre_Builds/_Python311_cpp/include/opcode.h similarity index 100% rename from _Python311_cpp/include/opcode.h rename to _Pre_Builds/_Python311_cpp/include/opcode.h diff --git a/_Pre_Builds/_Python311_cpp/include/osdefs.h b/_Pre_Builds/_Python311_cpp/include/osdefs.h new file mode 100644 index 0000000..3243944 --- /dev/null +++ b/_Pre_Builds/_Python311_cpp/include/osdefs.h @@ -0,0 +1,51 @@ +#ifndef Py_OSDEFS_H +#define Py_OSDEFS_H +#ifdef __cplusplus +extern "C" { +#endif + + +/* Operating system dependencies */ + +#ifdef MS_WINDOWS +#define SEP L'\\' +#define ALTSEP L'/' +#define MAXPATHLEN 256 +#define DELIM L';' +#endif + +#ifdef __VXWORKS__ +#define DELIM L';' +#endif + +/* Filename separator */ +#ifndef SEP +#define SEP L'/' +#endif + +/* Max pathname length */ +#ifdef __hpux +#include +#include +#ifndef PATH_MAX +#define PATH_MAX MAXPATHLEN +#endif +#endif + +#ifndef MAXPATHLEN +#if defined(PATH_MAX) && PATH_MAX > 1024 +#define MAXPATHLEN PATH_MAX +#else +#define MAXPATHLEN 1024 +#endif +#endif + +/* Search path entry delimiter */ +#ifndef DELIM +#define DELIM L':' +#endif + +#ifdef __cplusplus +} +#endif +#endif /* !Py_OSDEFS_H */ diff --git a/_Pre_Builds/_Python311_cpp/include/osmodule.h b/_Pre_Builds/_Python311_cpp/include/osmodule.h new file mode 100644 index 0000000..9095c2f --- /dev/null +++ b/_Pre_Builds/_Python311_cpp/include/osmodule.h @@ -0,0 +1,17 @@ + +/* os module interface */ + +#ifndef Py_OSMODULE_H +#define Py_OSMODULE_H +#ifdef __cplusplus +extern "C" { +#endif + +#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x03060000 +PyAPI_FUNC(PyObject *) PyOS_FSPath(PyObject *path); +#endif + +#ifdef __cplusplus +} +#endif +#endif /* !Py_OSMODULE_H */ diff --git a/_Python311_cpp/include/patchlevel.h b/_Pre_Builds/_Python311_cpp/include/patchlevel.h similarity index 94% rename from _Python311_cpp/include/patchlevel.h rename to _Pre_Builds/_Python311_cpp/include/patchlevel.h index a5b73cd..7acea93 100644 --- a/_Python311_cpp/include/patchlevel.h +++ b/_Pre_Builds/_Python311_cpp/include/patchlevel.h @@ -18,12 +18,12 @@ /*--start constants--*/ #define PY_MAJOR_VERSION 3 #define PY_MINOR_VERSION 11 -#define PY_MICRO_VERSION 4 +#define PY_MICRO_VERSION 7 #define PY_RELEASE_LEVEL PY_RELEASE_LEVEL_FINAL #define PY_RELEASE_SERIAL 0 /* Version as a string */ -#define PY_VERSION "3.11.4" +#define PY_VERSION "3.11.7" /*--end constants--*/ /* Version as a single 4-byte hex number, e.g. 0x010502B2 == 1.5.2b2. diff --git a/_Python311_cpp/include/py_curses.h b/_Pre_Builds/_Python311_cpp/include/py_curses.h similarity index 100% rename from _Python311_cpp/include/py_curses.h rename to _Pre_Builds/_Python311_cpp/include/py_curses.h diff --git a/_Python311_cpp/include/pybuffer.h b/_Pre_Builds/_Python311_cpp/include/pybuffer.h similarity index 100% rename from _Python311_cpp/include/pybuffer.h rename to _Pre_Builds/_Python311_cpp/include/pybuffer.h diff --git a/_Pre_Builds/_Python311_cpp/include/pycapsule.h b/_Pre_Builds/_Python311_cpp/include/pycapsule.h new file mode 100644 index 0000000..fb5d503 --- /dev/null +++ b/_Pre_Builds/_Python311_cpp/include/pycapsule.h @@ -0,0 +1,59 @@ + +/* Capsule objects let you wrap a C "void *" pointer in a Python + object. They're a way of passing data through the Python interpreter + without creating your own custom type. + + Capsules are used for communication between extension modules. + They provide a way for an extension module to export a C interface + to other extension modules, so that extension modules can use the + Python import mechanism to link to one another. + + For more information, please see "c-api/capsule.html" in the + documentation. +*/ + +#ifndef Py_CAPSULE_H +#define Py_CAPSULE_H +#ifdef __cplusplus +extern "C" { +#endif + +PyAPI_DATA(PyTypeObject) PyCapsule_Type; + +typedef void (*PyCapsule_Destructor)(PyObject *); + +#define PyCapsule_CheckExact(op) Py_IS_TYPE(op, &PyCapsule_Type) + + +PyAPI_FUNC(PyObject *) PyCapsule_New( + void *pointer, + const char *name, + PyCapsule_Destructor destructor); + +PyAPI_FUNC(void *) PyCapsule_GetPointer(PyObject *capsule, const char *name); + +PyAPI_FUNC(PyCapsule_Destructor) PyCapsule_GetDestructor(PyObject *capsule); + +PyAPI_FUNC(const char *) PyCapsule_GetName(PyObject *capsule); + +PyAPI_FUNC(void *) PyCapsule_GetContext(PyObject *capsule); + +PyAPI_FUNC(int) PyCapsule_IsValid(PyObject *capsule, const char *name); + +PyAPI_FUNC(int) PyCapsule_SetPointer(PyObject *capsule, void *pointer); + +PyAPI_FUNC(int) PyCapsule_SetDestructor(PyObject *capsule, PyCapsule_Destructor destructor); + +PyAPI_FUNC(int) PyCapsule_SetName(PyObject *capsule, const char *name); + +PyAPI_FUNC(int) PyCapsule_SetContext(PyObject *capsule, void *context); + +PyAPI_FUNC(void *) PyCapsule_Import( + const char *name, /* UTF-8 encoded string */ + int no_block); + + +#ifdef __cplusplus +} +#endif +#endif /* !Py_CAPSULE_H */ diff --git a/_Python311_cpp/include/pyconfig.h b/_Pre_Builds/_Python311_cpp/include/pyconfig.h similarity index 100% rename from _Python311_cpp/include/pyconfig.h rename to _Pre_Builds/_Python311_cpp/include/pyconfig.h diff --git a/_Pre_Builds/_Python311_cpp/include/pydtrace.d b/_Pre_Builds/_Python311_cpp/include/pydtrace.d new file mode 100644 index 0000000..5e6a626 --- /dev/null +++ b/_Pre_Builds/_Python311_cpp/include/pydtrace.d @@ -0,0 +1,22 @@ +/* Python DTrace provider */ + +provider python { + probe function__entry(const char *, const char *, int); + probe function__return(const char *, const char *, int); + probe instance__new__start(const char *, const char *); + probe instance__new__done(const char *, const char *); + probe instance__delete__start(const char *, const char *); + probe instance__delete__done(const char *, const char *); + probe line(const char *, const char *, int); + probe gc__start(int); + probe gc__done(long); + probe import__find__load__start(const char *); + probe import__find__load__done(const char *, int); + probe audit(const char *, void *); +}; + +#pragma D attributes Evolving/Evolving/Common provider python provider +#pragma D attributes Evolving/Evolving/Common provider python module +#pragma D attributes Evolving/Evolving/Common provider python function +#pragma D attributes Evolving/Evolving/Common provider python name +#pragma D attributes Evolving/Evolving/Common provider python args diff --git a/_Pre_Builds/_Python311_cpp/include/pydtrace.h b/_Pre_Builds/_Python311_cpp/include/pydtrace.h new file mode 100644 index 0000000..75f8e7f --- /dev/null +++ b/_Pre_Builds/_Python311_cpp/include/pydtrace.h @@ -0,0 +1,59 @@ +/* Static DTrace probes interface */ + +#ifndef Py_DTRACE_H +#define Py_DTRACE_H +#ifdef __cplusplus +extern "C" { +#endif + +#ifdef WITH_DTRACE + +#include "pydtrace_probes.h" + +/* pydtrace_probes.h, on systems with DTrace, is auto-generated to include + `PyDTrace_{PROBE}` and `PyDTrace_{PROBE}_ENABLED()` macros for every probe + defined in pydtrace_provider.d. + + Calling these functions must be guarded by a `PyDTrace_{PROBE}_ENABLED()` + check to minimize performance impact when probing is off. For example: + + if (PyDTrace_FUNCTION_ENTRY_ENABLED()) + PyDTrace_FUNCTION_ENTRY(f); +*/ + +#else + +/* Without DTrace, compile to nothing. */ + +static inline void PyDTrace_LINE(const char *arg0, const char *arg1, int arg2) {} +static inline void PyDTrace_FUNCTION_ENTRY(const char *arg0, const char *arg1, int arg2) {} +static inline void PyDTrace_FUNCTION_RETURN(const char *arg0, const char *arg1, int arg2) {} +static inline void PyDTrace_GC_START(int arg0) {} +static inline void PyDTrace_GC_DONE(Py_ssize_t arg0) {} +static inline void PyDTrace_INSTANCE_NEW_START(int arg0) {} +static inline void PyDTrace_INSTANCE_NEW_DONE(int arg0) {} +static inline void PyDTrace_INSTANCE_DELETE_START(int arg0) {} +static inline void PyDTrace_INSTANCE_DELETE_DONE(int arg0) {} +static inline void PyDTrace_IMPORT_FIND_LOAD_START(const char *arg0) {} +static inline void PyDTrace_IMPORT_FIND_LOAD_DONE(const char *arg0, int arg1) {} +static inline void PyDTrace_AUDIT(const char *arg0, void *arg1) {} + +static inline int PyDTrace_LINE_ENABLED(void) { return 0; } +static inline int PyDTrace_FUNCTION_ENTRY_ENABLED(void) { return 0; } +static inline int PyDTrace_FUNCTION_RETURN_ENABLED(void) { return 0; } +static inline int PyDTrace_GC_START_ENABLED(void) { return 0; } +static inline int PyDTrace_GC_DONE_ENABLED(void) { return 0; } +static inline int PyDTrace_INSTANCE_NEW_START_ENABLED(void) { return 0; } +static inline int PyDTrace_INSTANCE_NEW_DONE_ENABLED(void) { return 0; } +static inline int PyDTrace_INSTANCE_DELETE_START_ENABLED(void) { return 0; } +static inline int PyDTrace_INSTANCE_DELETE_DONE_ENABLED(void) { return 0; } +static inline int PyDTrace_IMPORT_FIND_LOAD_START_ENABLED(void) { return 0; } +static inline int PyDTrace_IMPORT_FIND_LOAD_DONE_ENABLED(void) { return 0; } +static inline int PyDTrace_AUDIT_ENABLED(void) { return 0; } + +#endif /* !WITH_DTRACE */ + +#ifdef __cplusplus +} +#endif +#endif /* !Py_DTRACE_H */ diff --git a/_Python311_cpp/include/pyerrors.h b/_Pre_Builds/_Python311_cpp/include/pyerrors.h similarity index 100% rename from _Python311_cpp/include/pyerrors.h rename to _Pre_Builds/_Python311_cpp/include/pyerrors.h diff --git a/_Pre_Builds/_Python311_cpp/include/pyexpat.h b/_Pre_Builds/_Python311_cpp/include/pyexpat.h new file mode 100644 index 0000000..07020b5 --- /dev/null +++ b/_Pre_Builds/_Python311_cpp/include/pyexpat.h @@ -0,0 +1,55 @@ +/* Stuff to export relevant 'expat' entry points from pyexpat to other + * parser modules, such as cElementTree. */ + +/* note: you must import expat.h before importing this module! */ + +#define PyExpat_CAPI_MAGIC "pyexpat.expat_CAPI 1.1" +#define PyExpat_CAPSULE_NAME "pyexpat.expat_CAPI" + +struct PyExpat_CAPI +{ + char* magic; /* set to PyExpat_CAPI_MAGIC */ + int size; /* set to sizeof(struct PyExpat_CAPI) */ + int MAJOR_VERSION; + int MINOR_VERSION; + int MICRO_VERSION; + /* pointers to selected expat functions. add new functions at + the end, if needed */ + const XML_LChar * (*ErrorString)(enum XML_Error code); + enum XML_Error (*GetErrorCode)(XML_Parser parser); + XML_Size (*GetErrorColumnNumber)(XML_Parser parser); + XML_Size (*GetErrorLineNumber)(XML_Parser parser); + enum XML_Status (*Parse)( + XML_Parser parser, const char *s, int len, int isFinal); + XML_Parser (*ParserCreate_MM)( + const XML_Char *encoding, const XML_Memory_Handling_Suite *memsuite, + const XML_Char *namespaceSeparator); + void (*ParserFree)(XML_Parser parser); + void (*SetCharacterDataHandler)( + XML_Parser parser, XML_CharacterDataHandler handler); + void (*SetCommentHandler)( + XML_Parser parser, XML_CommentHandler handler); + void (*SetDefaultHandlerExpand)( + XML_Parser parser, XML_DefaultHandler handler); + void (*SetElementHandler)( + XML_Parser parser, XML_StartElementHandler start, + XML_EndElementHandler end); + void (*SetNamespaceDeclHandler)( + XML_Parser parser, XML_StartNamespaceDeclHandler start, + XML_EndNamespaceDeclHandler end); + void (*SetProcessingInstructionHandler)( + XML_Parser parser, XML_ProcessingInstructionHandler handler); + void (*SetUnknownEncodingHandler)( + XML_Parser parser, XML_UnknownEncodingHandler handler, + void *encodingHandlerData); + void (*SetUserData)(XML_Parser parser, void *userData); + void (*SetStartDoctypeDeclHandler)(XML_Parser parser, + XML_StartDoctypeDeclHandler start); + enum XML_Status (*SetEncoding)(XML_Parser parser, const XML_Char *encoding); + int (*DefaultUnknownEncodingHandler)( + void *encodingHandlerData, const XML_Char *name, XML_Encoding *info); + /* might be none for expat < 2.1.0 */ + int (*SetHashSalt)(XML_Parser parser, unsigned long hash_salt); + /* always add new stuff to the end! */ +}; + diff --git a/_Python311_cpp/include/pyframe.h b/_Pre_Builds/_Python311_cpp/include/pyframe.h similarity index 100% rename from _Python311_cpp/include/pyframe.h rename to _Pre_Builds/_Python311_cpp/include/pyframe.h diff --git a/_Python311_cpp/include/pyhash.h b/_Pre_Builds/_Python311_cpp/include/pyhash.h similarity index 100% rename from _Python311_cpp/include/pyhash.h rename to _Pre_Builds/_Python311_cpp/include/pyhash.h diff --git a/_Python311_cpp/include/pylifecycle.h b/_Pre_Builds/_Python311_cpp/include/pylifecycle.h similarity index 100% rename from _Python311_cpp/include/pylifecycle.h rename to _Pre_Builds/_Python311_cpp/include/pylifecycle.h diff --git a/_Pre_Builds/_Python311_cpp/include/pymacconfig.h b/_Pre_Builds/_Python311_cpp/include/pymacconfig.h new file mode 100644 index 0000000..9dde11b --- /dev/null +++ b/_Pre_Builds/_Python311_cpp/include/pymacconfig.h @@ -0,0 +1,102 @@ +#ifndef PYMACCONFIG_H +#define PYMACCONFIG_H + /* + * This file moves some of the autoconf magic to compile-time + * when building on MacOSX. This is needed for building 4-way + * universal binaries and for 64-bit universal binaries because + * the values redefined below aren't configure-time constant but + * only compile-time constant in these scenarios. + */ + +#if defined(__APPLE__) + +# undef SIZEOF_LONG +# undef SIZEOF_PTHREAD_T +# undef SIZEOF_SIZE_T +# undef SIZEOF_TIME_T +# undef SIZEOF_VOID_P +# undef SIZEOF__BOOL +# undef SIZEOF_UINTPTR_T +# undef SIZEOF_PTHREAD_T +# undef WORDS_BIGENDIAN +# undef DOUBLE_IS_ARM_MIXED_ENDIAN_IEEE754 +# undef DOUBLE_IS_BIG_ENDIAN_IEEE754 +# undef DOUBLE_IS_LITTLE_ENDIAN_IEEE754 +# undef HAVE_GCC_ASM_FOR_X87 + +# undef VA_LIST_IS_ARRAY +# if defined(__LP64__) && defined(__x86_64__) +# define VA_LIST_IS_ARRAY 1 +# endif + +# undef HAVE_LARGEFILE_SUPPORT +# ifndef __LP64__ +# define HAVE_LARGEFILE_SUPPORT 1 +# endif + +# undef SIZEOF_LONG +# ifdef __LP64__ +# define SIZEOF__BOOL 1 +# define SIZEOF__BOOL 1 +# define SIZEOF_LONG 8 +# define SIZEOF_PTHREAD_T 8 +# define SIZEOF_SIZE_T 8 +# define SIZEOF_TIME_T 8 +# define SIZEOF_VOID_P 8 +# define SIZEOF_UINTPTR_T 8 +# define SIZEOF_PTHREAD_T 8 +# else +# ifdef __ppc__ +# define SIZEOF__BOOL 4 +# else +# define SIZEOF__BOOL 1 +# endif +# define SIZEOF_LONG 4 +# define SIZEOF_PTHREAD_T 4 +# define SIZEOF_SIZE_T 4 +# define SIZEOF_TIME_T 4 +# define SIZEOF_VOID_P 4 +# define SIZEOF_UINTPTR_T 4 +# define SIZEOF_PTHREAD_T 4 +# endif + +# if defined(__LP64__) + /* MacOSX 10.4 (the first release to support 64-bit code + * at all) only supports 64-bit in the UNIX layer. + * Therefore suppress the toolbox-glue in 64-bit mode. + */ + + /* In 64-bit mode setpgrp always has no arguments, in 32-bit + * mode that depends on the compilation environment + */ +# undef SETPGRP_HAVE_ARG + +# endif + +#ifdef __BIG_ENDIAN__ +#define WORDS_BIGENDIAN 1 +#define DOUBLE_IS_BIG_ENDIAN_IEEE754 +#else +#define DOUBLE_IS_LITTLE_ENDIAN_IEEE754 +#endif /* __BIG_ENDIAN */ + +#ifdef __i386__ +# define HAVE_GCC_ASM_FOR_X87 +#endif + + /* + * The definition in pyconfig.h is only valid on the OS release + * where configure ran on and not necessarily for all systems where + * the executable can be used on. + * + * Specifically: OSX 10.4 has limited supported for '%zd', while + * 10.5 has full support for '%zd'. A binary built on 10.5 won't + * work properly on 10.4 unless we suppress the definition + * of PY_FORMAT_SIZE_T + */ +#undef PY_FORMAT_SIZE_T + + +#endif /* defined(_APPLE__) */ + +#endif /* PYMACCONFIG_H */ diff --git a/_Python311_cpp/include/pymacro.h b/_Pre_Builds/_Python311_cpp/include/pymacro.h similarity index 100% rename from _Python311_cpp/include/pymacro.h rename to _Pre_Builds/_Python311_cpp/include/pymacro.h diff --git a/_Python311_cpp/include/pymath.h b/_Pre_Builds/_Python311_cpp/include/pymath.h similarity index 100% rename from _Python311_cpp/include/pymath.h rename to _Pre_Builds/_Python311_cpp/include/pymath.h diff --git a/_Python311_cpp/include/pymem.h b/_Pre_Builds/_Python311_cpp/include/pymem.h similarity index 100% rename from _Python311_cpp/include/pymem.h rename to _Pre_Builds/_Python311_cpp/include/pymem.h diff --git a/_Python311_cpp/include/pyport.h b/_Pre_Builds/_Python311_cpp/include/pyport.h similarity index 99% rename from _Python311_cpp/include/pyport.h rename to _Pre_Builds/_Python311_cpp/include/pyport.h index 93250f4..b3b8b6f 100644 --- a/_Python311_cpp/include/pyport.h +++ b/_Pre_Builds/_Python311_cpp/include/pyport.h @@ -439,11 +439,6 @@ Please be conservative with adding new ones, document them and enclose them in platform-specific #ifdefs. **************************************************************************/ -#ifdef SOLARIS -/* Unchecked */ -extern int gethostname(char *, int); -#endif - #ifdef HAVE__GETPTY #include /* we need to import mode_t */ extern char * _getpty(int *, int, mode_t, int); diff --git a/_Python311_cpp/include/pystate.h b/_Pre_Builds/_Python311_cpp/include/pystate.h similarity index 100% rename from _Python311_cpp/include/pystate.h rename to _Pre_Builds/_Python311_cpp/include/pystate.h diff --git a/_Pre_Builds/_Python311_cpp/include/pystrcmp.h b/_Pre_Builds/_Python311_cpp/include/pystrcmp.h new file mode 100644 index 0000000..edb1239 --- /dev/null +++ b/_Pre_Builds/_Python311_cpp/include/pystrcmp.h @@ -0,0 +1,23 @@ +#ifndef Py_STRCMP_H +#define Py_STRCMP_H + +#ifdef __cplusplus +extern "C" { +#endif + +PyAPI_FUNC(int) PyOS_mystrnicmp(const char *, const char *, Py_ssize_t); +PyAPI_FUNC(int) PyOS_mystricmp(const char *, const char *); + +#ifdef MS_WINDOWS +#define PyOS_strnicmp strnicmp +#define PyOS_stricmp stricmp +#else +#define PyOS_strnicmp PyOS_mystrnicmp +#define PyOS_stricmp PyOS_mystricmp +#endif + +#ifdef __cplusplus +} +#endif + +#endif /* !Py_STRCMP_H */ diff --git a/_Python311_cpp/include/pystrtod.h b/_Pre_Builds/_Python311_cpp/include/pystrtod.h similarity index 100% rename from _Python311_cpp/include/pystrtod.h rename to _Pre_Builds/_Python311_cpp/include/pystrtod.h diff --git a/_Python311_cpp/include/pythonrun.h b/_Pre_Builds/_Python311_cpp/include/pythonrun.h similarity index 100% rename from _Python311_cpp/include/pythonrun.h rename to _Pre_Builds/_Python311_cpp/include/pythonrun.h diff --git a/_Python311_cpp/include/pythread.h b/_Pre_Builds/_Python311_cpp/include/pythread.h similarity index 100% rename from _Python311_cpp/include/pythread.h rename to _Pre_Builds/_Python311_cpp/include/pythread.h diff --git a/_Python311_cpp/include/pytypedefs.h b/_Pre_Builds/_Python311_cpp/include/pytypedefs.h similarity index 100% rename from _Python311_cpp/include/pytypedefs.h rename to _Pre_Builds/_Python311_cpp/include/pytypedefs.h diff --git a/_Pre_Builds/_Python311_cpp/include/rangeobject.h b/_Pre_Builds/_Python311_cpp/include/rangeobject.h new file mode 100644 index 0000000..d6af847 --- /dev/null +++ b/_Pre_Builds/_Python311_cpp/include/rangeobject.h @@ -0,0 +1,27 @@ + +/* Range object interface */ + +#ifndef Py_RANGEOBJECT_H +#define Py_RANGEOBJECT_H +#ifdef __cplusplus +extern "C" { +#endif + +/* +A range object represents an integer range. This is an immutable object; +a range cannot change its value after creation. + +Range objects behave like the corresponding tuple objects except that +they are represented by a start, stop, and step datamembers. +*/ + +PyAPI_DATA(PyTypeObject) PyRange_Type; +PyAPI_DATA(PyTypeObject) PyRangeIter_Type; +PyAPI_DATA(PyTypeObject) PyLongRangeIter_Type; + +#define PyRange_Check(op) Py_IS_TYPE(op, &PyRange_Type) + +#ifdef __cplusplus +} +#endif +#endif /* !Py_RANGEOBJECT_H */ diff --git a/_Python311_cpp/include/setobject.h b/_Pre_Builds/_Python311_cpp/include/setobject.h similarity index 100% rename from _Python311_cpp/include/setobject.h rename to _Pre_Builds/_Python311_cpp/include/setobject.h diff --git a/_Pre_Builds/_Python311_cpp/include/sliceobject.h b/_Pre_Builds/_Python311_cpp/include/sliceobject.h new file mode 100644 index 0000000..2c88950 --- /dev/null +++ b/_Pre_Builds/_Python311_cpp/include/sliceobject.h @@ -0,0 +1,65 @@ +#ifndef Py_SLICEOBJECT_H +#define Py_SLICEOBJECT_H +#ifdef __cplusplus +extern "C" { +#endif + +/* The unique ellipsis object "..." */ + +PyAPI_DATA(PyObject) _Py_EllipsisObject; /* Don't use this directly */ + +#define Py_Ellipsis (&_Py_EllipsisObject) + +/* Slice object interface */ + +/* + +A slice object containing start, stop, and step data members (the +names are from range). After much talk with Guido, it was decided to +let these be any arbitrary python type. Py_None stands for omitted values. +*/ +#ifndef Py_LIMITED_API +typedef struct { + PyObject_HEAD + PyObject *start, *stop, *step; /* not NULL */ +} PySliceObject; +#endif + +PyAPI_DATA(PyTypeObject) PySlice_Type; +PyAPI_DATA(PyTypeObject) PyEllipsis_Type; + +#define PySlice_Check(op) Py_IS_TYPE(op, &PySlice_Type) + +PyAPI_FUNC(PyObject *) PySlice_New(PyObject* start, PyObject* stop, + PyObject* step); +#ifndef Py_LIMITED_API +PyAPI_FUNC(PyObject *) _PySlice_FromIndices(Py_ssize_t start, Py_ssize_t stop); +PyAPI_FUNC(int) _PySlice_GetLongIndices(PySliceObject *self, PyObject *length, + PyObject **start_ptr, PyObject **stop_ptr, + PyObject **step_ptr); +#endif +PyAPI_FUNC(int) PySlice_GetIndices(PyObject *r, Py_ssize_t length, + Py_ssize_t *start, Py_ssize_t *stop, Py_ssize_t *step); +Py_DEPRECATED(3.7) +PyAPI_FUNC(int) PySlice_GetIndicesEx(PyObject *r, Py_ssize_t length, + Py_ssize_t *start, Py_ssize_t *stop, + Py_ssize_t *step, + Py_ssize_t *slicelength); + +#if !defined(Py_LIMITED_API) || (Py_LIMITED_API+0 >= 0x03050400 && Py_LIMITED_API+0 < 0x03060000) || Py_LIMITED_API+0 >= 0x03060100 +#define PySlice_GetIndicesEx(slice, length, start, stop, step, slicelen) ( \ + PySlice_Unpack((slice), (start), (stop), (step)) < 0 ? \ + ((*(slicelen) = 0), -1) : \ + ((*(slicelen) = PySlice_AdjustIndices((length), (start), (stop), *(step))), \ + 0)) +PyAPI_FUNC(int) PySlice_Unpack(PyObject *slice, + Py_ssize_t *start, Py_ssize_t *stop, Py_ssize_t *step); +PyAPI_FUNC(Py_ssize_t) PySlice_AdjustIndices(Py_ssize_t length, + Py_ssize_t *start, Py_ssize_t *stop, + Py_ssize_t step); +#endif + +#ifdef __cplusplus +} +#endif +#endif /* !Py_SLICEOBJECT_H */ diff --git a/_Python311_cpp/include/structmember.h b/_Pre_Builds/_Python311_cpp/include/structmember.h similarity index 100% rename from _Python311_cpp/include/structmember.h rename to _Pre_Builds/_Python311_cpp/include/structmember.h diff --git a/_Python311_cpp/include/structseq.h b/_Pre_Builds/_Python311_cpp/include/structseq.h similarity index 100% rename from _Python311_cpp/include/structseq.h rename to _Pre_Builds/_Python311_cpp/include/structseq.h diff --git a/_Python311_cpp/include/sysmodule.h b/_Pre_Builds/_Python311_cpp/include/sysmodule.h similarity index 100% rename from _Python311_cpp/include/sysmodule.h rename to _Pre_Builds/_Python311_cpp/include/sysmodule.h diff --git a/_Pre_Builds/_Python311_cpp/include/token.h b/_Pre_Builds/_Python311_cpp/include/token.h new file mode 100644 index 0000000..eb1b9ea --- /dev/null +++ b/_Pre_Builds/_Python311_cpp/include/token.h @@ -0,0 +1,97 @@ +/* Auto-generated by Tools/scripts/generate_token.py */ + +/* Token types */ +#ifndef Py_LIMITED_API +#ifndef Py_TOKEN_H +#define Py_TOKEN_H +#ifdef __cplusplus +extern "C" { +#endif + +#undef TILDE /* Prevent clash of our definition with system macro. Ex AIX, ioctl.h */ + +#define ENDMARKER 0 +#define NAME 1 +#define NUMBER 2 +#define STRING 3 +#define NEWLINE 4 +#define INDENT 5 +#define DEDENT 6 +#define LPAR 7 +#define RPAR 8 +#define LSQB 9 +#define RSQB 10 +#define COLON 11 +#define COMMA 12 +#define SEMI 13 +#define PLUS 14 +#define MINUS 15 +#define STAR 16 +#define SLASH 17 +#define VBAR 18 +#define AMPER 19 +#define LESS 20 +#define GREATER 21 +#define EQUAL 22 +#define DOT 23 +#define PERCENT 24 +#define LBRACE 25 +#define RBRACE 26 +#define EQEQUAL 27 +#define NOTEQUAL 28 +#define LESSEQUAL 29 +#define GREATEREQUAL 30 +#define TILDE 31 +#define CIRCUMFLEX 32 +#define LEFTSHIFT 33 +#define RIGHTSHIFT 34 +#define DOUBLESTAR 35 +#define PLUSEQUAL 36 +#define MINEQUAL 37 +#define STAREQUAL 38 +#define SLASHEQUAL 39 +#define PERCENTEQUAL 40 +#define AMPEREQUAL 41 +#define VBAREQUAL 42 +#define CIRCUMFLEXEQUAL 43 +#define LEFTSHIFTEQUAL 44 +#define RIGHTSHIFTEQUAL 45 +#define DOUBLESTAREQUAL 46 +#define DOUBLESLASH 47 +#define DOUBLESLASHEQUAL 48 +#define AT 49 +#define ATEQUAL 50 +#define RARROW 51 +#define ELLIPSIS 52 +#define COLONEQUAL 53 +#define OP 54 +#define AWAIT 55 +#define ASYNC 56 +#define TYPE_IGNORE 57 +#define TYPE_COMMENT 58 +#define SOFT_KEYWORD 59 +#define ERRORTOKEN 60 +#define N_TOKENS 64 +#define NT_OFFSET 256 + +/* Special definitions for cooperation with parser */ + +#define ISTERMINAL(x) ((x) < NT_OFFSET) +#define ISNONTERMINAL(x) ((x) >= NT_OFFSET) +#define ISEOF(x) ((x) == ENDMARKER) +#define ISWHITESPACE(x) ((x) == ENDMARKER || \ + (x) == NEWLINE || \ + (x) == INDENT || \ + (x) == DEDENT) + + +PyAPI_DATA(const char * const) _PyParser_TokenNames[]; /* Token names */ +PyAPI_FUNC(int) PyToken_OneChar(int); +PyAPI_FUNC(int) PyToken_TwoChars(int, int); +PyAPI_FUNC(int) PyToken_ThreeChars(int, int, int); + +#ifdef __cplusplus +} +#endif +#endif /* !Py_TOKEN_H */ +#endif /* Py_LIMITED_API */ diff --git a/_Python311_cpp/include/traceback.h b/_Pre_Builds/_Python311_cpp/include/traceback.h similarity index 100% rename from _Python311_cpp/include/traceback.h rename to _Pre_Builds/_Python311_cpp/include/traceback.h diff --git a/_Pre_Builds/_Python311_cpp/include/tracemalloc.h b/_Pre_Builds/_Python311_cpp/include/tracemalloc.h new file mode 100644 index 0000000..bd14217 --- /dev/null +++ b/_Pre_Builds/_Python311_cpp/include/tracemalloc.h @@ -0,0 +1,38 @@ +#ifndef Py_TRACEMALLOC_H +#define Py_TRACEMALLOC_H + +#ifndef Py_LIMITED_API +/* Track an allocated memory block in the tracemalloc module. + Return 0 on success, return -1 on error (failed to allocate memory to store + the trace). + + Return -2 if tracemalloc is disabled. + + If memory block is already tracked, update the existing trace. */ +PyAPI_FUNC(int) PyTraceMalloc_Track( + unsigned int domain, + uintptr_t ptr, + size_t size); + +/* Untrack an allocated memory block in the tracemalloc module. + Do nothing if the block was not tracked. + + Return -2 if tracemalloc is disabled, otherwise return 0. */ +PyAPI_FUNC(int) PyTraceMalloc_Untrack( + unsigned int domain, + uintptr_t ptr); + +/* Get the traceback where a memory block was allocated. + + Return a tuple of (filename: str, lineno: int) tuples. + + Return None if the tracemalloc module is disabled or if the memory block + is not tracked by tracemalloc. + + Raise an exception and return NULL on error. */ +PyAPI_FUNC(PyObject*) _PyTraceMalloc_GetTraceback( + unsigned int domain, + uintptr_t ptr); +#endif + +#endif /* !Py_TRACEMALLOC_H */ diff --git a/_Python311_cpp/include/tupleobject.h b/_Pre_Builds/_Python311_cpp/include/tupleobject.h similarity index 100% rename from _Python311_cpp/include/tupleobject.h rename to _Pre_Builds/_Python311_cpp/include/tupleobject.h diff --git a/_Python311_cpp/include/typeslots.h b/_Pre_Builds/_Python311_cpp/include/typeslots.h similarity index 100% rename from _Python311_cpp/include/typeslots.h rename to _Pre_Builds/_Python311_cpp/include/typeslots.h diff --git a/_Python311_cpp/include/unicodeobject.h b/_Pre_Builds/_Python311_cpp/include/unicodeobject.h similarity index 100% rename from _Python311_cpp/include/unicodeobject.h rename to _Pre_Builds/_Python311_cpp/include/unicodeobject.h diff --git a/_Python311_cpp/include/warnings.h b/_Pre_Builds/_Python311_cpp/include/warnings.h similarity index 100% rename from _Python311_cpp/include/warnings.h rename to _Pre_Builds/_Python311_cpp/include/warnings.h diff --git a/_Python311_cpp/include/weakrefobject.h b/_Pre_Builds/_Python311_cpp/include/weakrefobject.h similarity index 100% rename from _Python311_cpp/include/weakrefobject.h rename to _Pre_Builds/_Python311_cpp/include/weakrefobject.h diff --git a/_Pre_Builds/_Python311_cpp/libs/_tkinter.lib b/_Pre_Builds/_Python311_cpp/libs/_tkinter.lib new file mode 100644 index 0000000000000000000000000000000000000000..5ae032c4f3afbaeed744f4e7ac106113ac254726 GIT binary patch literal 1750 zcmcIl%}(1u5dQ2?3RZ-o(ksYFNYF!55)uRzLJm-=QGSSmId9UKHWq?JsX1`smQ$aD z3vbX-m*^+%w7Q#Dm&%EOngeV^6^N%%fsZ;_5 z`|D9LC-yUT2BnMand^nGa8H|JSo&%t={}Mvf^ww+cM%{;nCjC$G)zH*PHSX@4gZ2s zh*6e5ja<1T-n?)a-%HU+ZEg0Vr$=dCW44Xc*KA=3{S3cmnP7sV#8iw{3LsJ8XUK|LZDkQK0;3?-IuU@i5EHecHpz*c++9iI_WwIBOWJP zl4(`!6~k%kezyGftz#QUXNwaY_0~|ftScdB3pIs-!P)YEvS6IZE|4uxHXh^Ee%pLp zWe@a15a-c;d#1|L%28aUTxH>5!BSP0QgYV2SB%_QZ}R>f$G3}Q!6ZAFY+xq;U$|18 RHg_?OAlLYC*AK@I#$U+^RcQbK literal 0 HcmV?d00001 diff --git a/_Python311_cpp/libs/python3.lib b/_Pre_Builds/_Python311_cpp/libs/python3.lib similarity index 72% rename from _Python311_cpp/libs/python3.lib rename to _Pre_Builds/_Python311_cpp/libs/python3.lib index 1ac8b8e8ac2c83d6dec1b79f2b7670f12ebe259a..05127a07fb85583b4348f9e7308a6fff3c2b45e9 100644 GIT binary patch delta 11021 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 V5l8c^i&*OC8Wh?HzQ#uC_&*?XZ|ML4 delta 11002 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 diff --git a/_Pre_Builds/_Python311_cpp/libs/python311.lib b/_Pre_Builds/_Python311_cpp/libs/python311.lib new file mode 100644 index 0000000000000000000000000000000000000000..f52acb32f2d03bf44e50d969040ac02dbb01da31 GIT binary patch literal 360632 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, and not include directly +// the other Python header files included by . + +#ifndef Py_PYTHON_H +#define Py_PYTHON_H + +// Since this is a "meta-include" file, no #ifdef __cplusplus / extern "C" { + +// Include Python header files +#include "patchlevel.h" +#include "pyconfig.h" +#include "pymacconfig.h" + +#if defined(__sgi) && !defined(_SGI_MP_SOURCE) +# define _SGI_MP_SOURCE +#endif + +// stdlib.h, stdio.h, errno.h and string.h headers are not used by Python +// headers, but kept for backward compatibility. They are excluded from the +// limited C API of Python 3.11. +#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 < 0x030b0000 +# include +# include // FILE* +# include // errno +# include // memcpy() +#endif +#ifndef MS_WINDOWS +# include +#endif +#ifdef HAVE_STDDEF_H +# include // size_t +#endif + +#include // assert() +#include // wchar_t + +#include "pyport.h" +#include "pymacro.h" +#include "pymath.h" +#include "pymem.h" +#include "pytypedefs.h" +#include "pybuffer.h" +#include "object.h" +#include "objimpl.h" +#include "typeslots.h" +#include "pyhash.h" +#include "cpython/pydebug.h" +#include "bytearrayobject.h" +#include "bytesobject.h" +#include "unicodeobject.h" +#include "longobject.h" +#include "cpython/longintrepr.h" +#include "boolobject.h" +#include "floatobject.h" +#include "complexobject.h" +#include "rangeobject.h" +#include "memoryobject.h" +#include "tupleobject.h" +#include "listobject.h" +#include "dictobject.h" +#include "cpython/odictobject.h" +#include "enumobject.h" +#include "setobject.h" +#include "methodobject.h" +#include "moduleobject.h" +#include "cpython/funcobject.h" +#include "cpython/classobject.h" +#include "fileobject.h" +#include "pycapsule.h" +#include "cpython/code.h" +#include "pyframe.h" +#include "traceback.h" +#include "sliceobject.h" +#include "cpython/cellobject.h" +#include "iterobject.h" +#include "cpython/initconfig.h" +#include "pystate.h" +#include "cpython/genobject.h" +#include "descrobject.h" +#include "genericaliasobject.h" +#include "warnings.h" +#include "weakrefobject.h" +#include "structseq.h" +#include "cpython/picklebufobject.h" +#include "cpython/pytime.h" +#include "codecs.h" +#include "pyerrors.h" +#include "pythread.h" +#include "cpython/context.h" +#include "modsupport.h" +#include "compile.h" +#include "pythonrun.h" +#include "pylifecycle.h" +#include "ceval.h" +#include "sysmodule.h" +#include "osmodule.h" +#include "intrcheck.h" +#include "import.h" +#include "abstract.h" +#include "bltinmodule.h" +#include "cpython/pyctype.h" +#include "pystrtod.h" +#include "pystrcmp.h" +#include "fileutils.h" +#include "cpython/pyfpe.h" +#include "tracemalloc.h" + +#endif /* !Py_PYTHON_H */ diff --git a/_Pre_Builds/_Python312_cpp/include/README.rst b/_Pre_Builds/_Python312_cpp/include/README.rst new file mode 100644 index 0000000..531f096 --- /dev/null +++ b/_Pre_Builds/_Python312_cpp/include/README.rst @@ -0,0 +1,14 @@ +The Python C API +================ + +The C API is divided into these sections: + +1. ``Include/``: Limited API +2. ``Include/cpython/``: CPython implementation details +3. ``Include/cpython/``, names with the ``PyUnstable_`` prefix: API that can + change between minor releases +4. ``Include/internal/``, and any name with ``_`` prefix: The internal API + +Information on changing the C API is available `in the developer guide`_ + +.. _in the developer guide: https://devguide.python.org/c-api/ diff --git a/_Pre_Builds/_Python312_cpp/include/abstract.h b/_Pre_Builds/_Python312_cpp/include/abstract.h new file mode 100644 index 0000000..064b030 --- /dev/null +++ b/_Pre_Builds/_Python312_cpp/include/abstract.h @@ -0,0 +1,899 @@ +/* Abstract Object Interface (many thanks to Jim Fulton) */ + +#ifndef Py_ABSTRACTOBJECT_H +#define Py_ABSTRACTOBJECT_H +#ifdef __cplusplus +extern "C" { +#endif + +/* === Object Protocol ================================================== */ + +/* Implemented elsewhere: + + int PyObject_Print(PyObject *o, FILE *fp, int flags); + + Print an object 'o' on file 'fp'. Returns -1 on error. The flags argument + is used to enable certain printing options. The only option currently + supported is Py_PRINT_RAW. By default (flags=0), PyObject_Print() formats + the object by calling PyObject_Repr(). If flags equals to Py_PRINT_RAW, it + formats the object by calling PyObject_Str(). */ + + +/* Implemented elsewhere: + + int PyObject_HasAttrString(PyObject *o, const char *attr_name); + + Returns 1 if object 'o' has the attribute attr_name, and 0 otherwise. + + This is equivalent to the Python expression: hasattr(o,attr_name). + + This function always succeeds. */ + + +/* Implemented elsewhere: + + PyObject* PyObject_GetAttrString(PyObject *o, const char *attr_name); + + Retrieve an attributed named attr_name form object o. + Returns the attribute value on success, or NULL on failure. + + This is the equivalent of the Python expression: o.attr_name. */ + + +/* Implemented elsewhere: + + int PyObject_HasAttr(PyObject *o, PyObject *attr_name); + + Returns 1 if o has the attribute attr_name, and 0 otherwise. + + This is equivalent to the Python expression: hasattr(o,attr_name). + + This function always succeeds. */ + +/* Implemented elsewhere: + + PyObject* PyObject_GetAttr(PyObject *o, PyObject *attr_name); + + Retrieve an attributed named 'attr_name' form object 'o'. + Returns the attribute value on success, or NULL on failure. + + This is the equivalent of the Python expression: o.attr_name. */ + + +/* Implemented elsewhere: + + int PyObject_SetAttrString(PyObject *o, const char *attr_name, PyObject *v); + + Set the value of the attribute named attr_name, for object 'o', + to the value 'v'. Raise an exception and return -1 on failure; return 0 on + success. + + This is the equivalent of the Python statement o.attr_name=v. */ + + +/* Implemented elsewhere: + + int PyObject_SetAttr(PyObject *o, PyObject *attr_name, PyObject *v); + + Set the value of the attribute named attr_name, for object 'o', to the value + 'v'. an exception and return -1 on failure; return 0 on success. + + This is the equivalent of the Python statement o.attr_name=v. */ + +/* Implemented as a macro: + + int PyObject_DelAttrString(PyObject *o, const char *attr_name); + + Delete attribute named attr_name, for object o. Returns + -1 on failure. + + This is the equivalent of the Python statement: del o.attr_name. */ +#define PyObject_DelAttrString(O, A) PyObject_SetAttrString((O), (A), NULL) + + +/* Implemented as a macro: + + int PyObject_DelAttr(PyObject *o, PyObject *attr_name); + + Delete attribute named attr_name, for object o. Returns -1 + on failure. This is the equivalent of the Python + statement: del o.attr_name. */ +#define PyObject_DelAttr(O, A) PyObject_SetAttr((O), (A), NULL) + + +/* Implemented elsewhere: + + PyObject *PyObject_Repr(PyObject *o); + + Compute the string representation of object 'o'. Returns the + string representation on success, NULL on failure. + + This is the equivalent of the Python expression: repr(o). + + Called by the repr() built-in function. */ + + +/* Implemented elsewhere: + + PyObject *PyObject_Str(PyObject *o); + + Compute the string representation of object, o. Returns the + string representation on success, NULL on failure. + + This is the equivalent of the Python expression: str(o). + + Called by the str() and print() built-in functions. */ + + +/* Declared elsewhere + + PyAPI_FUNC(int) PyCallable_Check(PyObject *o); + + Determine if the object, o, is callable. Return 1 if the object is callable + and 0 otherwise. + + This function always succeeds. */ + + +#ifdef PY_SSIZE_T_CLEAN +# define PyObject_CallFunction _PyObject_CallFunction_SizeT +# define PyObject_CallMethod _PyObject_CallMethod_SizeT +#endif + + +#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x03090000 +/* Call a callable Python object without any arguments */ +PyAPI_FUNC(PyObject *) PyObject_CallNoArgs(PyObject *func); +#endif + + +/* Call a callable Python object 'callable' with arguments given by the + tuple 'args' and keywords arguments given by the dictionary 'kwargs'. + + 'args' must not be NULL, use an empty tuple if no arguments are + needed. If no named arguments are needed, 'kwargs' can be NULL. + + This is the equivalent of the Python expression: + callable(*args, **kwargs). */ +PyAPI_FUNC(PyObject *) PyObject_Call(PyObject *callable, + PyObject *args, PyObject *kwargs); + + +/* Call a callable Python object 'callable', with arguments given by the + tuple 'args'. If no arguments are needed, then 'args' can be NULL. + + Returns the result of the call on success, or NULL on failure. + + This is the equivalent of the Python expression: + callable(*args). */ +PyAPI_FUNC(PyObject *) PyObject_CallObject(PyObject *callable, + PyObject *args); + +/* Call a callable Python object, callable, with a variable number of C + arguments. The C arguments are described using a mkvalue-style format + string. + + The format may be NULL, indicating that no arguments are provided. + + Returns the result of the call on success, or NULL on failure. + + This is the equivalent of the Python expression: + callable(arg1, arg2, ...). */ +PyAPI_FUNC(PyObject *) PyObject_CallFunction(PyObject *callable, + const char *format, ...); + +/* Call the method named 'name' of object 'obj' with a variable number of + C arguments. The C arguments are described by a mkvalue format string. + + The format can be NULL, indicating that no arguments are provided. + + Returns the result of the call on success, or NULL on failure. + + This is the equivalent of the Python expression: + obj.name(arg1, arg2, ...). */ +PyAPI_FUNC(PyObject *) PyObject_CallMethod(PyObject *obj, + const char *name, + const char *format, ...); + +PyAPI_FUNC(PyObject *) _PyObject_CallFunction_SizeT(PyObject *callable, + const char *format, + ...); + +PyAPI_FUNC(PyObject *) _PyObject_CallMethod_SizeT(PyObject *obj, + const char *name, + const char *format, + ...); + +/* Call a callable Python object 'callable' with a variable number of C + arguments. The C arguments are provided as PyObject* values, terminated + by a NULL. + + Returns the result of the call on success, or NULL on failure. + + This is the equivalent of the Python expression: + callable(arg1, arg2, ...). */ +PyAPI_FUNC(PyObject *) PyObject_CallFunctionObjArgs(PyObject *callable, + ...); + +/* Call the method named 'name' of object 'obj' with a variable number of + C arguments. The C arguments are provided as PyObject* values, terminated + by NULL. + + Returns the result of the call on success, or NULL on failure. + + This is the equivalent of the Python expression: obj.name(*args). */ + +PyAPI_FUNC(PyObject *) PyObject_CallMethodObjArgs( + PyObject *obj, + PyObject *name, + ...); + +/* Given a vectorcall nargsf argument, return the actual number of arguments. + * (For use outside the limited API, this is re-defined as a static inline + * function in cpython/abstract.h) + */ +PyAPI_FUNC(Py_ssize_t) PyVectorcall_NARGS(size_t nargsf); + +/* Call "callable" (which must support vectorcall) with positional arguments + "tuple" and keyword arguments "dict". "dict" may also be NULL */ +PyAPI_FUNC(PyObject *) PyVectorcall_Call(PyObject *callable, PyObject *tuple, PyObject *dict); + +#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x030C0000 +#define PY_VECTORCALL_ARGUMENTS_OFFSET \ + (_Py_STATIC_CAST(size_t, 1) << (8 * sizeof(size_t) - 1)) + +/* Perform a PEP 590-style vector call on 'callable' */ +PyAPI_FUNC(PyObject *) PyObject_Vectorcall( + PyObject *callable, + PyObject *const *args, + size_t nargsf, + PyObject *kwnames); + +/* Call the method 'name' on args[0] with arguments in args[1..nargsf-1]. */ +PyAPI_FUNC(PyObject *) PyObject_VectorcallMethod( + PyObject *name, PyObject *const *args, + size_t nargsf, PyObject *kwnames); +#endif + +/* Implemented elsewhere: + + Py_hash_t PyObject_Hash(PyObject *o); + + Compute and return the hash, hash_value, of an object, o. On + failure, return -1. + + This is the equivalent of the Python expression: hash(o). */ + + +/* Implemented elsewhere: + + int PyObject_IsTrue(PyObject *o); + + Returns 1 if the object, o, is considered to be true, 0 if o is + considered to be false and -1 on failure. + + This is equivalent to the Python expression: not not o. */ + + +/* Implemented elsewhere: + + int PyObject_Not(PyObject *o); + + Returns 0 if the object, o, is considered to be true, 1 if o is + considered to be false and -1 on failure. + + This is equivalent to the Python expression: not o. */ + + +/* Get the type of an object. + + On success, returns a type object corresponding to the object type of object + 'o'. On failure, returns NULL. + + This is equivalent to the Python expression: type(o) */ +PyAPI_FUNC(PyObject *) PyObject_Type(PyObject *o); + + +/* Return the size of object 'o'. If the object 'o' provides both sequence and + mapping protocols, the sequence size is returned. + + On error, -1 is returned. + + This is the equivalent to the Python expression: len(o) */ +PyAPI_FUNC(Py_ssize_t) PyObject_Size(PyObject *o); + + +/* For DLL compatibility */ +#undef PyObject_Length +PyAPI_FUNC(Py_ssize_t) PyObject_Length(PyObject *o); +#define PyObject_Length PyObject_Size + +/* Return element of 'o' corresponding to the object 'key'. Return NULL + on failure. + + This is the equivalent of the Python expression: o[key] */ +PyAPI_FUNC(PyObject *) PyObject_GetItem(PyObject *o, PyObject *key); + + +/* Map the object 'key' to the value 'v' into 'o'. + + Raise an exception and return -1 on failure; return 0 on success. + + This is the equivalent of the Python statement: o[key]=v. */ +PyAPI_FUNC(int) PyObject_SetItem(PyObject *o, PyObject *key, PyObject *v); + +/* Remove the mapping for the string 'key' from the object 'o'. + Returns -1 on failure. + + This is equivalent to the Python statement: del o[key]. */ +PyAPI_FUNC(int) PyObject_DelItemString(PyObject *o, const char *key); + +/* Delete the mapping for the object 'key' from the object 'o'. + Returns -1 on failure. + + This is the equivalent of the Python statement: del o[key]. */ +PyAPI_FUNC(int) PyObject_DelItem(PyObject *o, PyObject *key); + + +/* === Old Buffer API ============================================ */ + +/* FIXME: usage of these should all be replaced in Python itself + but for backwards compatibility we will implement them. + Their usage without a corresponding "unlock" mechanism + may create issues (but they would already be there). */ + +/* Takes an arbitrary object which must support the (character, single segment) + buffer interface and returns a pointer to a read-only memory location + usable as character based input for subsequent processing. + + Return 0 on success. buffer and buffer_len are only set in case no error + occurs. Otherwise, -1 is returned and an exception set. */ +Py_DEPRECATED(3.0) +PyAPI_FUNC(int) PyObject_AsCharBuffer(PyObject *obj, + const char **buffer, + Py_ssize_t *buffer_len); + +/* Checks whether an arbitrary object supports the (character, single segment) + buffer interface. + + Returns 1 on success, 0 on failure. */ +Py_DEPRECATED(3.0) PyAPI_FUNC(int) PyObject_CheckReadBuffer(PyObject *obj); + +/* Same as PyObject_AsCharBuffer() except that this API expects (readable, + single segment) buffer interface and returns a pointer to a read-only memory + location which can contain arbitrary data. + + 0 is returned on success. buffer and buffer_len are only set in case no + error occurs. Otherwise, -1 is returned and an exception set. */ +Py_DEPRECATED(3.0) +PyAPI_FUNC(int) PyObject_AsReadBuffer(PyObject *obj, + const void **buffer, + Py_ssize_t *buffer_len); + +/* Takes an arbitrary object which must support the (writable, single segment) + buffer interface and returns a pointer to a writable memory location in + buffer of size 'buffer_len'. + + Return 0 on success. buffer and buffer_len are only set in case no error + occurs. Otherwise, -1 is returned and an exception set. */ +Py_DEPRECATED(3.0) +PyAPI_FUNC(int) PyObject_AsWriteBuffer(PyObject *obj, + void **buffer, + Py_ssize_t *buffer_len); + + +/* === New Buffer API ============================================ */ + +/* Takes an arbitrary object and returns the result of calling + obj.__format__(format_spec). */ +PyAPI_FUNC(PyObject *) PyObject_Format(PyObject *obj, + PyObject *format_spec); + + +/* ==== Iterators ================================================ */ + +/* Takes an object and returns an iterator for it. + This is typically a new iterator but if the argument is an iterator, this + returns itself. */ +PyAPI_FUNC(PyObject *) PyObject_GetIter(PyObject *); + +/* Takes an AsyncIterable object and returns an AsyncIterator for it. + This is typically a new iterator but if the argument is an AsyncIterator, + this returns itself. */ +PyAPI_FUNC(PyObject *) PyObject_GetAIter(PyObject *); + +/* Returns non-zero if the object 'obj' provides iterator protocols, and 0 otherwise. + + This function always succeeds. */ +PyAPI_FUNC(int) PyIter_Check(PyObject *); + +/* Returns non-zero if the object 'obj' provides AsyncIterator protocols, and 0 otherwise. + + This function always succeeds. */ +PyAPI_FUNC(int) PyAIter_Check(PyObject *); + +/* Takes an iterator object and calls its tp_iternext slot, + returning the next value. + + If the iterator is exhausted, this returns NULL without setting an + exception. + + NULL with an exception means an error occurred. */ +PyAPI_FUNC(PyObject *) PyIter_Next(PyObject *); + +#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x030A0000 + +/* Takes generator, coroutine or iterator object and sends the value into it. + Returns: + - PYGEN_RETURN (0) if generator has returned. + 'result' parameter is filled with return value + - PYGEN_ERROR (-1) if exception was raised. + 'result' parameter is NULL + - PYGEN_NEXT (1) if generator has yielded. + 'result' parameter is filled with yielded value. */ +PyAPI_FUNC(PySendResult) PyIter_Send(PyObject *, PyObject *, PyObject **); +#endif + + +/* === Number Protocol ================================================== */ + +/* Returns 1 if the object 'o' provides numeric protocols, and 0 otherwise. + + This function always succeeds. */ +PyAPI_FUNC(int) PyNumber_Check(PyObject *o); + +/* Returns the result of adding o1 and o2, or NULL on failure. + + This is the equivalent of the Python expression: o1 + o2. */ +PyAPI_FUNC(PyObject *) PyNumber_Add(PyObject *o1, PyObject *o2); + +/* Returns the result of subtracting o2 from o1, or NULL on failure. + + This is the equivalent of the Python expression: o1 - o2. */ +PyAPI_FUNC(PyObject *) PyNumber_Subtract(PyObject *o1, PyObject *o2); + +/* Returns the result of multiplying o1 and o2, or NULL on failure. + + This is the equivalent of the Python expression: o1 * o2. */ +PyAPI_FUNC(PyObject *) PyNumber_Multiply(PyObject *o1, PyObject *o2); + +#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x03050000 +/* This is the equivalent of the Python expression: o1 @ o2. */ +PyAPI_FUNC(PyObject *) PyNumber_MatrixMultiply(PyObject *o1, PyObject *o2); +#endif + +/* Returns the result of dividing o1 by o2 giving an integral result, + or NULL on failure. + + This is the equivalent of the Python expression: o1 // o2. */ +PyAPI_FUNC(PyObject *) PyNumber_FloorDivide(PyObject *o1, PyObject *o2); + +/* Returns the result of dividing o1 by o2 giving a float result, or NULL on + failure. + + This is the equivalent of the Python expression: o1 / o2. */ +PyAPI_FUNC(PyObject *) PyNumber_TrueDivide(PyObject *o1, PyObject *o2); + +/* Returns the remainder of dividing o1 by o2, or NULL on failure. + + This is the equivalent of the Python expression: o1 % o2. */ +PyAPI_FUNC(PyObject *) PyNumber_Remainder(PyObject *o1, PyObject *o2); + +/* See the built-in function divmod. + + Returns NULL on failure. + + This is the equivalent of the Python expression: divmod(o1, o2). */ +PyAPI_FUNC(PyObject *) PyNumber_Divmod(PyObject *o1, PyObject *o2); + +/* See the built-in function pow. Returns NULL on failure. + + This is the equivalent of the Python expression: pow(o1, o2, o3), + where o3 is optional. */ +PyAPI_FUNC(PyObject *) PyNumber_Power(PyObject *o1, PyObject *o2, + PyObject *o3); + +/* Returns the negation of o on success, or NULL on failure. + + This is the equivalent of the Python expression: -o. */ +PyAPI_FUNC(PyObject *) PyNumber_Negative(PyObject *o); + +/* Returns the positive of o on success, or NULL on failure. + + This is the equivalent of the Python expression: +o. */ +PyAPI_FUNC(PyObject *) PyNumber_Positive(PyObject *o); + +/* Returns the absolute value of 'o', or NULL on failure. + + This is the equivalent of the Python expression: abs(o). */ +PyAPI_FUNC(PyObject *) PyNumber_Absolute(PyObject *o); + +/* Returns the bitwise negation of 'o' on success, or NULL on failure. + + This is the equivalent of the Python expression: ~o. */ +PyAPI_FUNC(PyObject *) PyNumber_Invert(PyObject *o); + +/* Returns the result of left shifting o1 by o2 on success, or NULL on failure. + + This is the equivalent of the Python expression: o1 << o2. */ +PyAPI_FUNC(PyObject *) PyNumber_Lshift(PyObject *o1, PyObject *o2); + +/* Returns the result of right shifting o1 by o2 on success, or NULL on + failure. + + This is the equivalent of the Python expression: o1 >> o2. */ +PyAPI_FUNC(PyObject *) PyNumber_Rshift(PyObject *o1, PyObject *o2); + +/* Returns the result of bitwise and of o1 and o2 on success, or NULL on + failure. + + This is the equivalent of the Python expression: o1 & o2. */ +PyAPI_FUNC(PyObject *) PyNumber_And(PyObject *o1, PyObject *o2); + +/* Returns the bitwise exclusive or of o1 by o2 on success, or NULL on failure. + + This is the equivalent of the Python expression: o1 ^ o2. */ +PyAPI_FUNC(PyObject *) PyNumber_Xor(PyObject *o1, PyObject *o2); + +/* Returns the result of bitwise or on o1 and o2 on success, or NULL on + failure. + + This is the equivalent of the Python expression: o1 | o2. */ +PyAPI_FUNC(PyObject *) PyNumber_Or(PyObject *o1, PyObject *o2); + +/* Returns 1 if obj is an index integer (has the nb_index slot of the + tp_as_number structure filled in), and 0 otherwise. */ +PyAPI_FUNC(int) PyIndex_Check(PyObject *); + +/* Returns the object 'o' converted to a Python int, or NULL with an exception + raised on failure. */ +PyAPI_FUNC(PyObject *) PyNumber_Index(PyObject *o); + +/* Returns the object 'o' converted to Py_ssize_t by going through + PyNumber_Index() first. + + If an overflow error occurs while converting the int to Py_ssize_t, then the + second argument 'exc' is the error-type to return. If it is NULL, then the + overflow error is cleared and the value is clipped. */ +PyAPI_FUNC(Py_ssize_t) PyNumber_AsSsize_t(PyObject *o, PyObject *exc); + +/* Returns the object 'o' converted to an integer object on success, or NULL + on failure. + + This is the equivalent of the Python expression: int(o). */ +PyAPI_FUNC(PyObject *) PyNumber_Long(PyObject *o); + +/* Returns the object 'o' converted to a float object on success, or NULL + on failure. + + This is the equivalent of the Python expression: float(o). */ +PyAPI_FUNC(PyObject *) PyNumber_Float(PyObject *o); + + +/* --- In-place variants of (some of) the above number protocol functions -- */ + +/* Returns the result of adding o2 to o1, possibly in-place, or NULL + on failure. + + This is the equivalent of the Python expression: o1 += o2. */ +PyAPI_FUNC(PyObject *) PyNumber_InPlaceAdd(PyObject *o1, PyObject *o2); + +/* Returns the result of subtracting o2 from o1, possibly in-place or + NULL on failure. + + This is the equivalent of the Python expression: o1 -= o2. */ +PyAPI_FUNC(PyObject *) PyNumber_InPlaceSubtract(PyObject *o1, PyObject *o2); + +/* Returns the result of multiplying o1 by o2, possibly in-place, or NULL on + failure. + + This is the equivalent of the Python expression: o1 *= o2. */ +PyAPI_FUNC(PyObject *) PyNumber_InPlaceMultiply(PyObject *o1, PyObject *o2); + +#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x03050000 +/* This is the equivalent of the Python expression: o1 @= o2. */ +PyAPI_FUNC(PyObject *) PyNumber_InPlaceMatrixMultiply(PyObject *o1, PyObject *o2); +#endif + +/* Returns the result of dividing o1 by o2 giving an integral result, possibly + in-place, or NULL on failure. + + This is the equivalent of the Python expression: o1 /= o2. */ +PyAPI_FUNC(PyObject *) PyNumber_InPlaceFloorDivide(PyObject *o1, + PyObject *o2); + +/* Returns the result of dividing o1 by o2 giving a float result, possibly + in-place, or null on failure. + + This is the equivalent of the Python expression: o1 /= o2. */ +PyAPI_FUNC(PyObject *) PyNumber_InPlaceTrueDivide(PyObject *o1, + PyObject *o2); + +/* Returns the remainder of dividing o1 by o2, possibly in-place, or NULL on + failure. + + This is the equivalent of the Python expression: o1 %= o2. */ +PyAPI_FUNC(PyObject *) PyNumber_InPlaceRemainder(PyObject *o1, PyObject *o2); + +/* Returns the result of raising o1 to the power of o2, possibly in-place, + or NULL on failure. + + This is the equivalent of the Python expression: o1 **= o2, + or o1 = pow(o1, o2, o3) if o3 is present. */ +PyAPI_FUNC(PyObject *) PyNumber_InPlacePower(PyObject *o1, PyObject *o2, + PyObject *o3); + +/* Returns the result of left shifting o1 by o2, possibly in-place, or NULL + on failure. + + This is the equivalent of the Python expression: o1 <<= o2. */ +PyAPI_FUNC(PyObject *) PyNumber_InPlaceLshift(PyObject *o1, PyObject *o2); + +/* Returns the result of right shifting o1 by o2, possibly in-place or NULL + on failure. + + This is the equivalent of the Python expression: o1 >>= o2. */ +PyAPI_FUNC(PyObject *) PyNumber_InPlaceRshift(PyObject *o1, PyObject *o2); + +/* Returns the result of bitwise and of o1 and o2, possibly in-place, or NULL + on failure. + + This is the equivalent of the Python expression: o1 &= o2. */ +PyAPI_FUNC(PyObject *) PyNumber_InPlaceAnd(PyObject *o1, PyObject *o2); + +/* Returns the bitwise exclusive or of o1 by o2, possibly in-place, or NULL + on failure. + + This is the equivalent of the Python expression: o1 ^= o2. */ +PyAPI_FUNC(PyObject *) PyNumber_InPlaceXor(PyObject *o1, PyObject *o2); + +/* Returns the result of bitwise or of o1 and o2, possibly in-place, + or NULL on failure. + + This is the equivalent of the Python expression: o1 |= o2. */ +PyAPI_FUNC(PyObject *) PyNumber_InPlaceOr(PyObject *o1, PyObject *o2); + +/* Returns the integer n converted to a string with a base, with a base + marker of 0b, 0o or 0x prefixed if applicable. + + If n is not an int object, it is converted with PyNumber_Index first. */ +PyAPI_FUNC(PyObject *) PyNumber_ToBase(PyObject *n, int base); + + +/* === Sequence protocol ================================================ */ + +/* Return 1 if the object provides sequence protocol, and zero + otherwise. + + This function always succeeds. */ +PyAPI_FUNC(int) PySequence_Check(PyObject *o); + +/* Return the size of sequence object o, or -1 on failure. */ +PyAPI_FUNC(Py_ssize_t) PySequence_Size(PyObject *o); + +/* For DLL compatibility */ +#undef PySequence_Length +PyAPI_FUNC(Py_ssize_t) PySequence_Length(PyObject *o); +#define PySequence_Length PySequence_Size + + +/* Return the concatenation of o1 and o2 on success, and NULL on failure. + + This is the equivalent of the Python expression: o1 + o2. */ +PyAPI_FUNC(PyObject *) PySequence_Concat(PyObject *o1, PyObject *o2); + +/* Return the result of repeating sequence object 'o' 'count' times, + or NULL on failure. + + This is the equivalent of the Python expression: o * count. */ +PyAPI_FUNC(PyObject *) PySequence_Repeat(PyObject *o, Py_ssize_t count); + +/* Return the ith element of o, or NULL on failure. + + This is the equivalent of the Python expression: o[i]. */ +PyAPI_FUNC(PyObject *) PySequence_GetItem(PyObject *o, Py_ssize_t i); + +/* Return the slice of sequence object o between i1 and i2, or NULL on failure. + + This is the equivalent of the Python expression: o[i1:i2]. */ +PyAPI_FUNC(PyObject *) PySequence_GetSlice(PyObject *o, Py_ssize_t i1, Py_ssize_t i2); + +/* Assign object 'v' to the ith element of the sequence 'o'. Raise an exception + and return -1 on failure; return 0 on success. + + This is the equivalent of the Python statement o[i] = v. */ +PyAPI_FUNC(int) PySequence_SetItem(PyObject *o, Py_ssize_t i, PyObject *v); + +/* Delete the 'i'-th element of the sequence 'v'. Returns -1 on failure. + + This is the equivalent of the Python statement: del o[i]. */ +PyAPI_FUNC(int) PySequence_DelItem(PyObject *o, Py_ssize_t i); + +/* Assign the sequence object 'v' to the slice in sequence object 'o', + from 'i1' to 'i2'. Returns -1 on failure. + + This is the equivalent of the Python statement: o[i1:i2] = v. */ +PyAPI_FUNC(int) PySequence_SetSlice(PyObject *o, Py_ssize_t i1, Py_ssize_t i2, + PyObject *v); + +/* Delete the slice in sequence object 'o' from 'i1' to 'i2'. + Returns -1 on failure. + + This is the equivalent of the Python statement: del o[i1:i2]. */ +PyAPI_FUNC(int) PySequence_DelSlice(PyObject *o, Py_ssize_t i1, Py_ssize_t i2); + +/* Returns the sequence 'o' as a tuple on success, and NULL on failure. + + This is equivalent to the Python expression: tuple(o). */ +PyAPI_FUNC(PyObject *) PySequence_Tuple(PyObject *o); + +/* Returns the sequence 'o' as a list on success, and NULL on failure. + This is equivalent to the Python expression: list(o) */ +PyAPI_FUNC(PyObject *) PySequence_List(PyObject *o); + +/* Return the sequence 'o' as a list, unless it's already a tuple or list. + + Use PySequence_Fast_GET_ITEM to access the members of this list, and + PySequence_Fast_GET_SIZE to get its length. + + Returns NULL on failure. If the object does not support iteration, raises a + TypeError exception with 'm' as the message text. */ +PyAPI_FUNC(PyObject *) PySequence_Fast(PyObject *o, const char* m); + +/* Return the size of the sequence 'o', assuming that 'o' was returned by + PySequence_Fast and is not NULL. */ +#define PySequence_Fast_GET_SIZE(o) \ + (PyList_Check(o) ? PyList_GET_SIZE(o) : PyTuple_GET_SIZE(o)) + +/* Return the 'i'-th element of the sequence 'o', assuming that o was returned + by PySequence_Fast, and that i is within bounds. */ +#define PySequence_Fast_GET_ITEM(o, i)\ + (PyList_Check(o) ? PyList_GET_ITEM((o), (i)) : PyTuple_GET_ITEM((o), (i))) + +/* Return a pointer to the underlying item array for + an object returned by PySequence_Fast */ +#define PySequence_Fast_ITEMS(sf) \ + (PyList_Check(sf) ? ((PyListObject *)(sf))->ob_item \ + : ((PyTupleObject *)(sf))->ob_item) + +/* Return the number of occurrences on value on 'o', that is, return + the number of keys for which o[key] == value. + + On failure, return -1. This is equivalent to the Python expression: + o.count(value). */ +PyAPI_FUNC(Py_ssize_t) PySequence_Count(PyObject *o, PyObject *value); + +/* Return 1 if 'ob' is in the sequence 'seq'; 0 if 'ob' is not in the sequence + 'seq'; -1 on error. + + Use __contains__ if possible, else _PySequence_IterSearch(). */ +PyAPI_FUNC(int) PySequence_Contains(PyObject *seq, PyObject *ob); + +/* For DLL-level backwards compatibility */ +#undef PySequence_In +/* Determine if the sequence 'o' contains 'value'. If an item in 'o' is equal + to 'value', return 1, otherwise return 0. On error, return -1. + + This is equivalent to the Python expression: value in o. */ +PyAPI_FUNC(int) PySequence_In(PyObject *o, PyObject *value); + +/* For source-level backwards compatibility */ +#define PySequence_In PySequence_Contains + + +/* Return the first index for which o[i] == value. + On error, return -1. + + This is equivalent to the Python expression: o.index(value). */ +PyAPI_FUNC(Py_ssize_t) PySequence_Index(PyObject *o, PyObject *value); + + +/* --- In-place versions of some of the above Sequence functions --- */ + +/* Append sequence 'o2' to sequence 'o1', in-place when possible. Return the + resulting object, which could be 'o1', or NULL on failure. + + This is the equivalent of the Python expression: o1 += o2. */ +PyAPI_FUNC(PyObject *) PySequence_InPlaceConcat(PyObject *o1, PyObject *o2); + +/* Repeat sequence 'o' by 'count', in-place when possible. Return the resulting + object, which could be 'o', or NULL on failure. + + This is the equivalent of the Python expression: o1 *= count. */ +PyAPI_FUNC(PyObject *) PySequence_InPlaceRepeat(PyObject *o, Py_ssize_t count); + + +/* === Mapping protocol ================================================= */ + +/* Return 1 if the object provides mapping protocol, and 0 otherwise. + + This function always succeeds. */ +PyAPI_FUNC(int) PyMapping_Check(PyObject *o); + +/* Returns the number of keys in mapping object 'o' on success, and -1 on + failure. This is equivalent to the Python expression: len(o). */ +PyAPI_FUNC(Py_ssize_t) PyMapping_Size(PyObject *o); + +/* For DLL compatibility */ +#undef PyMapping_Length +PyAPI_FUNC(Py_ssize_t) PyMapping_Length(PyObject *o); +#define PyMapping_Length PyMapping_Size + + +/* Implemented as a macro: + + int PyMapping_DelItemString(PyObject *o, const char *key); + + Remove the mapping for the string 'key' from the mapping 'o'. Returns -1 on + failure. + + This is equivalent to the Python statement: del o[key]. */ +#define PyMapping_DelItemString(O, K) PyObject_DelItemString((O), (K)) + +/* Implemented as a macro: + + int PyMapping_DelItem(PyObject *o, PyObject *key); + + Remove the mapping for the object 'key' from the mapping object 'o'. + Returns -1 on failure. + + This is equivalent to the Python statement: del o[key]. */ +#define PyMapping_DelItem(O, K) PyObject_DelItem((O), (K)) + +/* On success, return 1 if the mapping object 'o' has the key 'key', + and 0 otherwise. + + This is equivalent to the Python expression: key in o. + + This function always succeeds. */ +PyAPI_FUNC(int) PyMapping_HasKeyString(PyObject *o, const char *key); + +/* Return 1 if the mapping object has the key 'key', and 0 otherwise. + + This is equivalent to the Python expression: key in o. + + This function always succeeds. */ +PyAPI_FUNC(int) PyMapping_HasKey(PyObject *o, PyObject *key); + +/* On success, return a list or tuple of the keys in mapping object 'o'. + On failure, return NULL. */ +PyAPI_FUNC(PyObject *) PyMapping_Keys(PyObject *o); + +/* On success, return a list or tuple of the values in mapping object 'o'. + On failure, return NULL. */ +PyAPI_FUNC(PyObject *) PyMapping_Values(PyObject *o); + +/* On success, return a list or tuple of the items in mapping object 'o', + where each item is a tuple containing a key-value pair. On failure, return + NULL. */ +PyAPI_FUNC(PyObject *) PyMapping_Items(PyObject *o); + +/* Return element of 'o' corresponding to the string 'key' or NULL on failure. + + This is the equivalent of the Python expression: o[key]. */ +PyAPI_FUNC(PyObject *) PyMapping_GetItemString(PyObject *o, + const char *key); + +/* Map the string 'key' to the value 'v' in the mapping 'o'. + Returns -1 on failure. + + This is the equivalent of the Python statement: o[key]=v. */ +PyAPI_FUNC(int) PyMapping_SetItemString(PyObject *o, const char *key, + PyObject *value); + +/* isinstance(object, typeorclass) */ +PyAPI_FUNC(int) PyObject_IsInstance(PyObject *object, PyObject *typeorclass); + +/* issubclass(object, typeorclass) */ +PyAPI_FUNC(int) PyObject_IsSubclass(PyObject *object, PyObject *typeorclass); + +#ifndef Py_LIMITED_API +# define Py_CPYTHON_ABSTRACTOBJECT_H +# include "cpython/abstract.h" +# undef Py_CPYTHON_ABSTRACTOBJECT_H +#endif + +#ifdef __cplusplus +} +#endif +#endif /* Py_ABSTRACTOBJECT_H */ diff --git a/_Pre_Builds/_Python312_cpp/include/bltinmodule.h b/_Pre_Builds/_Python312_cpp/include/bltinmodule.h new file mode 100644 index 0000000..868c9e6 --- /dev/null +++ b/_Pre_Builds/_Python312_cpp/include/bltinmodule.h @@ -0,0 +1,14 @@ +#ifndef Py_BLTINMODULE_H +#define Py_BLTINMODULE_H +#ifdef __cplusplus +extern "C" { +#endif + +PyAPI_DATA(PyTypeObject) PyFilter_Type; +PyAPI_DATA(PyTypeObject) PyMap_Type; +PyAPI_DATA(PyTypeObject) PyZip_Type; + +#ifdef __cplusplus +} +#endif +#endif /* !Py_BLTINMODULE_H */ diff --git a/_Pre_Builds/_Python312_cpp/include/boolobject.h b/_Pre_Builds/_Python312_cpp/include/boolobject.h new file mode 100644 index 0000000..19aef5b --- /dev/null +++ b/_Pre_Builds/_Python312_cpp/include/boolobject.h @@ -0,0 +1,42 @@ +/* Boolean object interface */ + +#ifndef Py_BOOLOBJECT_H +#define Py_BOOLOBJECT_H +#ifdef __cplusplus +extern "C" { +#endif + + +// PyBool_Type is declared by object.h + +#define PyBool_Check(x) Py_IS_TYPE((x), &PyBool_Type) + +/* Py_False and Py_True are the only two bools in existence. */ + +/* Don't use these directly */ +PyAPI_DATA(PyLongObject) _Py_FalseStruct; +PyAPI_DATA(PyLongObject) _Py_TrueStruct; + +/* Use these macros */ +#define Py_False _PyObject_CAST(&_Py_FalseStruct) +#define Py_True _PyObject_CAST(&_Py_TrueStruct) + +// Test if an object is the True singleton, the same as "x is True" in Python. +PyAPI_FUNC(int) Py_IsTrue(PyObject *x); +#define Py_IsTrue(x) Py_Is((x), Py_True) + +// Test if an object is the False singleton, the same as "x is False" in Python. +PyAPI_FUNC(int) Py_IsFalse(PyObject *x); +#define Py_IsFalse(x) Py_Is((x), Py_False) + +/* Macros for returning Py_True or Py_False, respectively */ +#define Py_RETURN_TRUE return Py_True +#define Py_RETURN_FALSE return Py_False + +/* Function to return a bool from a C long */ +PyAPI_FUNC(PyObject *) PyBool_FromLong(long); + +#ifdef __cplusplus +} +#endif +#endif /* !Py_BOOLOBJECT_H */ diff --git a/_Pre_Builds/_Python312_cpp/include/bytearrayobject.h b/_Pre_Builds/_Python312_cpp/include/bytearrayobject.h new file mode 100644 index 0000000..3d53fdb --- /dev/null +++ b/_Pre_Builds/_Python312_cpp/include/bytearrayobject.h @@ -0,0 +1,44 @@ +/* ByteArray object interface */ + +#ifndef Py_BYTEARRAYOBJECT_H +#define Py_BYTEARRAYOBJECT_H +#ifdef __cplusplus +extern "C" { +#endif + +/* Type PyByteArrayObject represents a mutable array of bytes. + * The Python API is that of a sequence; + * the bytes are mapped to ints in [0, 256). + * Bytes are not characters; they may be used to encode characters. + * The only way to go between bytes and str/unicode is via encoding + * and decoding. + * For the convenience of C programmers, the bytes type is considered + * to contain a char pointer, not an unsigned char pointer. + */ + +/* Type object */ +PyAPI_DATA(PyTypeObject) PyByteArray_Type; +PyAPI_DATA(PyTypeObject) PyByteArrayIter_Type; + +/* Type check macros */ +#define PyByteArray_Check(self) PyObject_TypeCheck((self), &PyByteArray_Type) +#define PyByteArray_CheckExact(self) Py_IS_TYPE((self), &PyByteArray_Type) + +/* Direct API functions */ +PyAPI_FUNC(PyObject *) PyByteArray_FromObject(PyObject *); +PyAPI_FUNC(PyObject *) PyByteArray_Concat(PyObject *, PyObject *); +PyAPI_FUNC(PyObject *) PyByteArray_FromStringAndSize(const char *, Py_ssize_t); +PyAPI_FUNC(Py_ssize_t) PyByteArray_Size(PyObject *); +PyAPI_FUNC(char *) PyByteArray_AsString(PyObject *); +PyAPI_FUNC(int) PyByteArray_Resize(PyObject *, Py_ssize_t); + +#ifndef Py_LIMITED_API +# define Py_CPYTHON_BYTEARRAYOBJECT_H +# include "cpython/bytearrayobject.h" +# undef Py_CPYTHON_BYTEARRAYOBJECT_H +#endif + +#ifdef __cplusplus +} +#endif +#endif /* !Py_BYTEARRAYOBJECT_H */ diff --git a/_Pre_Builds/_Python312_cpp/include/bytesobject.h b/_Pre_Builds/_Python312_cpp/include/bytesobject.h new file mode 100644 index 0000000..ee448cd --- /dev/null +++ b/_Pre_Builds/_Python312_cpp/include/bytesobject.h @@ -0,0 +1,69 @@ + +/* Bytes object interface */ + +#ifndef Py_BYTESOBJECT_H +#define Py_BYTESOBJECT_H +#ifdef __cplusplus +extern "C" { +#endif + +#include // va_list + +/* +Type PyBytesObject represents a byte string. An extra zero byte is +reserved at the end to ensure it is zero-terminated, but a size is +present so strings with null bytes in them can be represented. This +is an immutable object type. + +There are functions to create new bytes objects, to test +an object for bytes-ness, and to get the +byte string value. The latter function returns a null pointer +if the object is not of the proper type. +There is a variant that takes an explicit size as well as a +variant that assumes a zero-terminated string. Note that none of the +functions should be applied to NULL pointer. +*/ + +PyAPI_DATA(PyTypeObject) PyBytes_Type; +PyAPI_DATA(PyTypeObject) PyBytesIter_Type; + +#define PyBytes_Check(op) \ + PyType_FastSubclass(Py_TYPE(op), Py_TPFLAGS_BYTES_SUBCLASS) +#define PyBytes_CheckExact(op) Py_IS_TYPE((op), &PyBytes_Type) + +PyAPI_FUNC(PyObject *) PyBytes_FromStringAndSize(const char *, Py_ssize_t); +PyAPI_FUNC(PyObject *) PyBytes_FromString(const char *); +PyAPI_FUNC(PyObject *) PyBytes_FromObject(PyObject *); +PyAPI_FUNC(PyObject *) PyBytes_FromFormatV(const char*, va_list) + Py_GCC_ATTRIBUTE((format(printf, 1, 0))); +PyAPI_FUNC(PyObject *) PyBytes_FromFormat(const char*, ...) + Py_GCC_ATTRIBUTE((format(printf, 1, 2))); +PyAPI_FUNC(Py_ssize_t) PyBytes_Size(PyObject *); +PyAPI_FUNC(char *) PyBytes_AsString(PyObject *); +PyAPI_FUNC(PyObject *) PyBytes_Repr(PyObject *, int); +PyAPI_FUNC(void) PyBytes_Concat(PyObject **, PyObject *); +PyAPI_FUNC(void) PyBytes_ConcatAndDel(PyObject **, PyObject *); +PyAPI_FUNC(PyObject *) PyBytes_DecodeEscape(const char *, Py_ssize_t, + const char *, Py_ssize_t, + const char *); + +/* Provides access to the internal data buffer and size of a bytes object. + Passing NULL as len parameter will force the string buffer to be + 0-terminated (passing a string with embedded NUL characters will + cause an exception). */ +PyAPI_FUNC(int) PyBytes_AsStringAndSize( + PyObject *obj, /* bytes object */ + char **s, /* pointer to buffer variable */ + Py_ssize_t *len /* pointer to length variable or NULL */ + ); + +#ifndef Py_LIMITED_API +# define Py_CPYTHON_BYTESOBJECT_H +# include "cpython/bytesobject.h" +# undef Py_CPYTHON_BYTESOBJECT_H +#endif + +#ifdef __cplusplus +} +#endif +#endif /* !Py_BYTESOBJECT_H */ diff --git a/_Pre_Builds/_Python312_cpp/include/ceval.h b/_Pre_Builds/_Python312_cpp/include/ceval.h new file mode 100644 index 0000000..ad4d909 --- /dev/null +++ b/_Pre_Builds/_Python312_cpp/include/ceval.h @@ -0,0 +1,168 @@ +/* Interface to random parts in ceval.c */ + +#ifndef Py_CEVAL_H +#define Py_CEVAL_H +#ifdef __cplusplus +extern "C" { +#endif + + +PyAPI_FUNC(PyObject *) PyEval_EvalCode(PyObject *, PyObject *, PyObject *); + +PyAPI_FUNC(PyObject *) PyEval_EvalCodeEx(PyObject *co, + PyObject *globals, + PyObject *locals, + PyObject *const *args, int argc, + PyObject *const *kwds, int kwdc, + PyObject *const *defs, int defc, + PyObject *kwdefs, PyObject *closure); + +/* PyEval_CallObjectWithKeywords(), PyEval_CallObject(), PyEval_CallFunction + * and PyEval_CallMethod are deprecated. Since they are officially part of the + * stable ABI (PEP 384), they must be kept for backward compatibility. + * PyObject_Call(), PyObject_CallFunction() and PyObject_CallMethod() are + * recommended to call a callable object. + */ + +Py_DEPRECATED(3.9) PyAPI_FUNC(PyObject *) PyEval_CallObjectWithKeywords( + PyObject *callable, + PyObject *args, + PyObject *kwargs); + +/* Deprecated since PyEval_CallObjectWithKeywords is deprecated */ +#define PyEval_CallObject(callable, arg) \ + PyEval_CallObjectWithKeywords((callable), (arg), _PyObject_CAST(_Py_NULL)) + +Py_DEPRECATED(3.9) PyAPI_FUNC(PyObject *) PyEval_CallFunction( + PyObject *callable, const char *format, ...); +Py_DEPRECATED(3.9) PyAPI_FUNC(PyObject *) PyEval_CallMethod( + PyObject *obj, const char *name, const char *format, ...); + +PyAPI_FUNC(PyObject *) PyEval_GetBuiltins(void); +PyAPI_FUNC(PyObject *) PyEval_GetGlobals(void); +PyAPI_FUNC(PyObject *) PyEval_GetLocals(void); +PyAPI_FUNC(PyFrameObject *) PyEval_GetFrame(void); + +PyAPI_FUNC(int) Py_AddPendingCall(int (*func)(void *), void *arg); +PyAPI_FUNC(int) Py_MakePendingCalls(void); + +/* Protection against deeply nested recursive calls + + In Python 3.0, this protection has two levels: + * normal anti-recursion protection is triggered when the recursion level + exceeds the current recursion limit. It raises a RecursionError, and sets + the "overflowed" flag in the thread state structure. This flag + temporarily *disables* the normal protection; this allows cleanup code + to potentially outgrow the recursion limit while processing the + RecursionError. + * "last chance" anti-recursion protection is triggered when the recursion + level exceeds "current recursion limit + 50". By construction, this + protection can only be triggered when the "overflowed" flag is set. It + means the cleanup code has itself gone into an infinite loop, or the + RecursionError has been mistakingly ignored. When this protection is + triggered, the interpreter aborts with a Fatal Error. + + In addition, the "overflowed" flag is automatically reset when the + recursion level drops below "current recursion limit - 50". This heuristic + is meant to ensure that the normal anti-recursion protection doesn't get + disabled too long. + + Please note: this scheme has its own limitations. See: + http://mail.python.org/pipermail/python-dev/2008-August/082106.html + for some observations. +*/ +PyAPI_FUNC(void) Py_SetRecursionLimit(int); +PyAPI_FUNC(int) Py_GetRecursionLimit(void); + +PyAPI_FUNC(int) Py_EnterRecursiveCall(const char *where); +PyAPI_FUNC(void) Py_LeaveRecursiveCall(void); + +PyAPI_FUNC(const char *) PyEval_GetFuncName(PyObject *); +PyAPI_FUNC(const char *) PyEval_GetFuncDesc(PyObject *); + +PyAPI_FUNC(PyObject *) PyEval_EvalFrame(PyFrameObject *); +PyAPI_FUNC(PyObject *) PyEval_EvalFrameEx(PyFrameObject *f, int exc); + +/* Interface for threads. + + A module that plans to do a blocking system call (or something else + that lasts a long time and doesn't touch Python data) can allow other + threads to run as follows: + + ...preparations here... + Py_BEGIN_ALLOW_THREADS + ...blocking system call here... + Py_END_ALLOW_THREADS + ...interpret result here... + + The Py_BEGIN_ALLOW_THREADS/Py_END_ALLOW_THREADS pair expands to a + {}-surrounded block. + To leave the block in the middle (e.g., with return), you must insert + a line containing Py_BLOCK_THREADS before the return, e.g. + + if (...premature_exit...) { + Py_BLOCK_THREADS + PyErr_SetFromErrno(PyExc_OSError); + return NULL; + } + + An alternative is: + + Py_BLOCK_THREADS + if (...premature_exit...) { + PyErr_SetFromErrno(PyExc_OSError); + return NULL; + } + Py_UNBLOCK_THREADS + + For convenience, that the value of 'errno' is restored across + Py_END_ALLOW_THREADS and Py_BLOCK_THREADS. + + WARNING: NEVER NEST CALLS TO Py_BEGIN_ALLOW_THREADS AND + Py_END_ALLOW_THREADS!!! + + Note that not yet all candidates have been converted to use this + mechanism! +*/ + +PyAPI_FUNC(PyThreadState *) PyEval_SaveThread(void); +PyAPI_FUNC(void) PyEval_RestoreThread(PyThreadState *); + +Py_DEPRECATED(3.9) PyAPI_FUNC(int) PyEval_ThreadsInitialized(void); +Py_DEPRECATED(3.9) PyAPI_FUNC(void) PyEval_InitThreads(void); +/* PyEval_AcquireLock() and PyEval_ReleaseLock() are part of stable ABI. + * They will be removed from this header file in the future version. + * But they will be remained in ABI until Python 4.0. + */ +Py_DEPRECATED(3.2) PyAPI_FUNC(void) PyEval_AcquireLock(void); +Py_DEPRECATED(3.2) PyAPI_FUNC(void) PyEval_ReleaseLock(void); +PyAPI_FUNC(void) PyEval_AcquireThread(PyThreadState *tstate); +PyAPI_FUNC(void) PyEval_ReleaseThread(PyThreadState *tstate); + +#define Py_BEGIN_ALLOW_THREADS { \ + PyThreadState *_save; \ + _save = PyEval_SaveThread(); +#define Py_BLOCK_THREADS PyEval_RestoreThread(_save); +#define Py_UNBLOCK_THREADS _save = PyEval_SaveThread(); +#define Py_END_ALLOW_THREADS PyEval_RestoreThread(_save); \ + } + +/* Masks and values used by FORMAT_VALUE opcode. */ +#define FVC_MASK 0x3 +#define FVC_NONE 0x0 +#define FVC_STR 0x1 +#define FVC_REPR 0x2 +#define FVC_ASCII 0x3 +#define FVS_MASK 0x4 +#define FVS_HAVE_SPEC 0x4 + +#ifndef Py_LIMITED_API +# define Py_CPYTHON_CEVAL_H +# include "cpython/ceval.h" +# undef Py_CPYTHON_CEVAL_H +#endif + +#ifdef __cplusplus +} +#endif +#endif /* !Py_CEVAL_H */ diff --git a/_Pre_Builds/_Python312_cpp/include/codecs.h b/_Pre_Builds/_Python312_cpp/include/codecs.h new file mode 100644 index 0000000..37ecfb4 --- /dev/null +++ b/_Pre_Builds/_Python312_cpp/include/codecs.h @@ -0,0 +1,248 @@ +#ifndef Py_CODECREGISTRY_H +#define Py_CODECREGISTRY_H +#ifdef __cplusplus +extern "C" { +#endif + +/* ------------------------------------------------------------------------ + + Python Codec Registry and support functions + + +Written by Marc-Andre Lemburg (mal@lemburg.com). + +Copyright (c) Corporation for National Research Initiatives. + + ------------------------------------------------------------------------ */ + +/* Register a new codec search function. + + As side effect, this tries to load the encodings package, if not + yet done, to make sure that it is always first in the list of + search functions. + + The search_function's refcount is incremented by this function. */ + +PyAPI_FUNC(int) PyCodec_Register( + PyObject *search_function + ); + +/* Unregister a codec search function and clear the registry's cache. + If the search function is not registered, do nothing. + Return 0 on success. Raise an exception and return -1 on error. */ + +PyAPI_FUNC(int) PyCodec_Unregister( + PyObject *search_function + ); + +/* Codec registry lookup API. + + Looks up the given encoding and returns a CodecInfo object with + function attributes which implement the different aspects of + processing the encoding. + + The encoding string is looked up converted to all lower-case + characters. This makes encodings looked up through this mechanism + effectively case-insensitive. + + If no codec is found, a KeyError is set and NULL returned. + + As side effect, this tries to load the encodings package, if not + yet done. This is part of the lazy load strategy for the encodings + package. + + */ + +#ifndef Py_LIMITED_API +PyAPI_FUNC(PyObject *) _PyCodec_Lookup( + const char *encoding + ); + +PyAPI_FUNC(int) _PyCodec_Forget( + const char *encoding + ); +#endif + +/* Codec registry encoding check API. + + Returns 1/0 depending on whether there is a registered codec for + the given encoding. + +*/ + +PyAPI_FUNC(int) PyCodec_KnownEncoding( + const char *encoding + ); + +/* Generic codec based encoding API. + + object is passed through the encoder function found for the given + encoding using the error handling method defined by errors. errors + may be NULL to use the default method defined for the codec. + + Raises a LookupError in case no encoder can be found. + + */ + +PyAPI_FUNC(PyObject *) PyCodec_Encode( + PyObject *object, + const char *encoding, + const char *errors + ); + +/* Generic codec based decoding API. + + object is passed through the decoder function found for the given + encoding using the error handling method defined by errors. errors + may be NULL to use the default method defined for the codec. + + Raises a LookupError in case no encoder can be found. + + */ + +PyAPI_FUNC(PyObject *) PyCodec_Decode( + PyObject *object, + const char *encoding, + const char *errors + ); + +#ifndef Py_LIMITED_API +/* Text codec specific encoding and decoding API. + + Checks the encoding against a list of codecs which do not + implement a str<->bytes encoding before attempting the + operation. + + Please note that these APIs are internal and should not + be used in Python C extensions. + + XXX (ncoghlan): should we make these, or something like them, public + in Python 3.5+? + + */ +PyAPI_FUNC(PyObject *) _PyCodec_LookupTextEncoding( + const char *encoding, + const char *alternate_command + ); + +PyAPI_FUNC(PyObject *) _PyCodec_EncodeText( + PyObject *object, + const char *encoding, + const char *errors + ); + +PyAPI_FUNC(PyObject *) _PyCodec_DecodeText( + PyObject *object, + const char *encoding, + const char *errors + ); + +/* These two aren't actually text encoding specific, but _io.TextIOWrapper + * is the only current API consumer. + */ +PyAPI_FUNC(PyObject *) _PyCodecInfo_GetIncrementalDecoder( + PyObject *codec_info, + const char *errors + ); + +PyAPI_FUNC(PyObject *) _PyCodecInfo_GetIncrementalEncoder( + PyObject *codec_info, + const char *errors + ); +#endif + + + +/* --- Codec Lookup APIs -------------------------------------------------- + + All APIs return a codec object with incremented refcount and are + based on _PyCodec_Lookup(). The same comments w/r to the encoding + name also apply to these APIs. + +*/ + +/* Get an encoder function for the given encoding. */ + +PyAPI_FUNC(PyObject *) PyCodec_Encoder( + const char *encoding + ); + +/* Get a decoder function for the given encoding. */ + +PyAPI_FUNC(PyObject *) PyCodec_Decoder( + const char *encoding + ); + +/* Get an IncrementalEncoder object for the given encoding. */ + +PyAPI_FUNC(PyObject *) PyCodec_IncrementalEncoder( + const char *encoding, + const char *errors + ); + +/* Get an IncrementalDecoder object function for the given encoding. */ + +PyAPI_FUNC(PyObject *) PyCodec_IncrementalDecoder( + const char *encoding, + const char *errors + ); + +/* Get a StreamReader factory function for the given encoding. */ + +PyAPI_FUNC(PyObject *) PyCodec_StreamReader( + const char *encoding, + PyObject *stream, + const char *errors + ); + +/* Get a StreamWriter factory function for the given encoding. */ + +PyAPI_FUNC(PyObject *) PyCodec_StreamWriter( + const char *encoding, + PyObject *stream, + const char *errors + ); + +/* Unicode encoding error handling callback registry API */ + +/* Register the error handling callback function error under the given + name. This function will be called by the codec when it encounters + unencodable characters/undecodable bytes and doesn't know the + callback name, when name is specified as the error parameter + in the call to the encode/decode function. + Return 0 on success, -1 on error */ +PyAPI_FUNC(int) PyCodec_RegisterError(const char *name, PyObject *error); + +/* Lookup the error handling callback function registered under the given + name. As a special case NULL can be passed, in which case + the error handling callback for "strict" will be returned. */ +PyAPI_FUNC(PyObject *) PyCodec_LookupError(const char *name); + +/* raise exc as an exception */ +PyAPI_FUNC(PyObject *) PyCodec_StrictErrors(PyObject *exc); + +/* ignore the unicode error, skipping the faulty input */ +PyAPI_FUNC(PyObject *) PyCodec_IgnoreErrors(PyObject *exc); + +/* replace the unicode encode error with ? or U+FFFD */ +PyAPI_FUNC(PyObject *) PyCodec_ReplaceErrors(PyObject *exc); + +/* replace the unicode encode error with XML character references */ +PyAPI_FUNC(PyObject *) PyCodec_XMLCharRefReplaceErrors(PyObject *exc); + +/* replace the unicode encode error with backslash escapes (\x, \u and \U) */ +PyAPI_FUNC(PyObject *) PyCodec_BackslashReplaceErrors(PyObject *exc); + +#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x03050000 +/* replace the unicode encode error with backslash escapes (\N, \x, \u and \U) */ +PyAPI_FUNC(PyObject *) PyCodec_NameReplaceErrors(PyObject *exc); +#endif + +#ifndef Py_LIMITED_API +PyAPI_DATA(const char *) Py_hexdigits; +#endif + +#ifdef __cplusplus +} +#endif +#endif /* !Py_CODECREGISTRY_H */ diff --git a/_Pre_Builds/_Python312_cpp/include/compile.h b/_Pre_Builds/_Python312_cpp/include/compile.h new file mode 100644 index 0000000..52d0bc7 --- /dev/null +++ b/_Pre_Builds/_Python312_cpp/include/compile.h @@ -0,0 +1,22 @@ +#ifndef Py_COMPILE_H +#define Py_COMPILE_H +#ifdef __cplusplus +extern "C" { +#endif + +/* These definitions must match corresponding definitions in graminit.h. */ +#define Py_single_input 256 +#define Py_file_input 257 +#define Py_eval_input 258 +#define Py_func_type_input 345 + +#ifndef Py_LIMITED_API +# define Py_CPYTHON_COMPILE_H +# include "cpython/compile.h" +# undef Py_CPYTHON_COMPILE_H +#endif + +#ifdef __cplusplus +} +#endif +#endif /* !Py_COMPILE_H */ diff --git a/_Pre_Builds/_Python312_cpp/include/complexobject.h b/_Pre_Builds/_Python312_cpp/include/complexobject.h new file mode 100644 index 0000000..ebe49a8 --- /dev/null +++ b/_Pre_Builds/_Python312_cpp/include/complexobject.h @@ -0,0 +1,30 @@ +/* Complex number structure */ + +#ifndef Py_COMPLEXOBJECT_H +#define Py_COMPLEXOBJECT_H +#ifdef __cplusplus +extern "C" { +#endif + +/* Complex object interface */ + +PyAPI_DATA(PyTypeObject) PyComplex_Type; + +#define PyComplex_Check(op) PyObject_TypeCheck((op), &PyComplex_Type) +#define PyComplex_CheckExact(op) Py_IS_TYPE((op), &PyComplex_Type) + +PyAPI_FUNC(PyObject *) PyComplex_FromDoubles(double real, double imag); + +PyAPI_FUNC(double) PyComplex_RealAsDouble(PyObject *op); +PyAPI_FUNC(double) PyComplex_ImagAsDouble(PyObject *op); + +#ifndef Py_LIMITED_API +# define Py_CPYTHON_COMPLEXOBJECT_H +# include "cpython/complexobject.h" +# undef Py_CPYTHON_COMPLEXOBJECT_H +#endif + +#ifdef __cplusplus +} +#endif +#endif /* !Py_COMPLEXOBJECT_H */ diff --git a/_Pre_Builds/_Python312_cpp/include/cpython/abstract.h b/_Pre_Builds/_Python312_cpp/include/cpython/abstract.h new file mode 100644 index 0000000..3b27aab --- /dev/null +++ b/_Pre_Builds/_Python312_cpp/include/cpython/abstract.h @@ -0,0 +1,206 @@ +#ifndef Py_CPYTHON_ABSTRACTOBJECT_H +# error "this header file must not be included directly" +#endif + +/* === Object Protocol ================================================== */ + +#ifdef PY_SSIZE_T_CLEAN +# define _PyObject_CallMethodId _PyObject_CallMethodId_SizeT +#endif + +/* Convert keyword arguments from the FASTCALL (stack: C array, kwnames: tuple) + format to a Python dictionary ("kwargs" dict). + + The type of kwnames keys is not checked. The final function getting + arguments is responsible to check if all keys are strings, for example using + PyArg_ParseTupleAndKeywords() or PyArg_ValidateKeywordArguments(). + + Duplicate keys are merged using the last value. If duplicate keys must raise + an exception, the caller is responsible to implement an explicit keys on + kwnames. */ +PyAPI_FUNC(PyObject *) _PyStack_AsDict( + PyObject *const *values, + PyObject *kwnames); + +/* Suggested size (number of positional arguments) for arrays of PyObject* + allocated on a C stack to avoid allocating memory on the heap memory. Such + array is used to pass positional arguments to call functions of the + PyObject_Vectorcall() family. + + The size is chosen to not abuse the C stack and so limit the risk of stack + overflow. The size is also chosen to allow using the small stack for most + function calls of the Python standard library. On 64-bit CPU, it allocates + 40 bytes on the stack. */ +#define _PY_FASTCALL_SMALL_STACK 5 + +PyAPI_FUNC(PyObject *) _Py_CheckFunctionResult( + PyThreadState *tstate, + PyObject *callable, + PyObject *result, + const char *where); + +/* === Vectorcall protocol (PEP 590) ============================= */ + +/* Call callable using tp_call. Arguments are like PyObject_Vectorcall() + or PyObject_FastCallDict() (both forms are supported), + except that nargs is plainly the number of arguments without flags. */ +PyAPI_FUNC(PyObject *) _PyObject_MakeTpCall( + PyThreadState *tstate, + PyObject *callable, + PyObject *const *args, Py_ssize_t nargs, + PyObject *keywords); + +// PyVectorcall_NARGS() is exported as a function for the stable ABI. +// Here (when we are not using the stable ABI), the name is overridden to +// call a static inline function for best performance. +#define PyVectorcall_NARGS(n) _PyVectorcall_NARGS(n) +static inline Py_ssize_t +_PyVectorcall_NARGS(size_t n) +{ + return n & ~PY_VECTORCALL_ARGUMENTS_OFFSET; +} + +PyAPI_FUNC(vectorcallfunc) PyVectorcall_Function(PyObject *callable); + +// Backwards compatibility aliases for API that was provisional in Python 3.8 +#define _PyObject_Vectorcall PyObject_Vectorcall +#define _PyObject_VectorcallMethod PyObject_VectorcallMethod +#define _PyObject_FastCallDict PyObject_VectorcallDict +#define _PyVectorcall_Function PyVectorcall_Function +#define _PyObject_CallOneArg PyObject_CallOneArg +#define _PyObject_CallMethodNoArgs PyObject_CallMethodNoArgs +#define _PyObject_CallMethodOneArg PyObject_CallMethodOneArg + +/* Same as PyObject_Vectorcall except that keyword arguments are passed as + dict, which may be NULL if there are no keyword arguments. */ +PyAPI_FUNC(PyObject *) PyObject_VectorcallDict( + PyObject *callable, + PyObject *const *args, + size_t nargsf, + PyObject *kwargs); + +// Same as PyObject_Vectorcall(), except without keyword arguments +PyAPI_FUNC(PyObject *) _PyObject_FastCall( + PyObject *func, + PyObject *const *args, + Py_ssize_t nargs); + +PyAPI_FUNC(PyObject *) PyObject_CallOneArg(PyObject *func, PyObject *arg); + +static inline PyObject * +PyObject_CallMethodNoArgs(PyObject *self, PyObject *name) +{ + size_t nargsf = 1 | PY_VECTORCALL_ARGUMENTS_OFFSET; + return PyObject_VectorcallMethod(name, &self, nargsf, _Py_NULL); +} + +static inline PyObject * +PyObject_CallMethodOneArg(PyObject *self, PyObject *name, PyObject *arg) +{ + PyObject *args[2] = {self, arg}; + size_t nargsf = 2 | PY_VECTORCALL_ARGUMENTS_OFFSET; + assert(arg != NULL); + return PyObject_VectorcallMethod(name, args, nargsf, _Py_NULL); +} + +PyAPI_FUNC(PyObject *) _PyObject_CallMethod(PyObject *obj, + PyObject *name, + const char *format, ...); + +/* Like PyObject_CallMethod(), but expect a _Py_Identifier* + as the method name. */ +PyAPI_FUNC(PyObject *) _PyObject_CallMethodId(PyObject *obj, + _Py_Identifier *name, + const char *format, ...); + +PyAPI_FUNC(PyObject *) _PyObject_CallMethodId_SizeT(PyObject *obj, + _Py_Identifier *name, + const char *format, + ...); + +PyAPI_FUNC(PyObject *) _PyObject_CallMethodIdObjArgs( + PyObject *obj, + _Py_Identifier *name, + ...); + +static inline PyObject * +_PyObject_VectorcallMethodId( + _Py_Identifier *name, PyObject *const *args, + size_t nargsf, PyObject *kwnames) +{ + PyObject *oname = _PyUnicode_FromId(name); /* borrowed */ + if (!oname) { + return _Py_NULL; + } + return PyObject_VectorcallMethod(oname, args, nargsf, kwnames); +} + +static inline PyObject * +_PyObject_CallMethodIdNoArgs(PyObject *self, _Py_Identifier *name) +{ + size_t nargsf = 1 | PY_VECTORCALL_ARGUMENTS_OFFSET; + return _PyObject_VectorcallMethodId(name, &self, nargsf, _Py_NULL); +} + +static inline PyObject * +_PyObject_CallMethodIdOneArg(PyObject *self, _Py_Identifier *name, PyObject *arg) +{ + PyObject *args[2] = {self, arg}; + size_t nargsf = 2 | PY_VECTORCALL_ARGUMENTS_OFFSET; + assert(arg != NULL); + return _PyObject_VectorcallMethodId(name, args, nargsf, _Py_NULL); +} + +PyAPI_FUNC(int) _PyObject_HasLen(PyObject *o); + +/* Guess the size of object 'o' using len(o) or o.__length_hint__(). + If neither of those return a non-negative value, then return the default + value. If one of the calls fails, this function returns -1. */ +PyAPI_FUNC(Py_ssize_t) PyObject_LengthHint(PyObject *o, Py_ssize_t); + +/* === Sequence protocol ================================================ */ + +/* Assume tp_as_sequence and sq_item exist and that 'i' does not + need to be corrected for a negative index. */ +#define PySequence_ITEM(o, i)\ + ( Py_TYPE(o)->tp_as_sequence->sq_item((o), (i)) ) + +#define PY_ITERSEARCH_COUNT 1 +#define PY_ITERSEARCH_INDEX 2 +#define PY_ITERSEARCH_CONTAINS 3 + +/* Iterate over seq. + + Result depends on the operation: + + PY_ITERSEARCH_COUNT: return # of times obj appears in seq; -1 if + error. + PY_ITERSEARCH_INDEX: return 0-based index of first occurrence of + obj in seq; set ValueError and return -1 if none found; + also return -1 on error. + PY_ITERSEARCH_CONTAINS: return 1 if obj in seq, else 0; -1 on + error. */ +PyAPI_FUNC(Py_ssize_t) _PySequence_IterSearch(PyObject *seq, + PyObject *obj, int operation); + +/* === Mapping protocol ================================================= */ + +PyAPI_FUNC(int) _PyObject_RealIsInstance(PyObject *inst, PyObject *cls); + +PyAPI_FUNC(int) _PyObject_RealIsSubclass(PyObject *derived, PyObject *cls); + +PyAPI_FUNC(char *const *) _PySequence_BytesToCharpArray(PyObject* self); + +PyAPI_FUNC(void) _Py_FreeCharPArray(char *const array[]); + +/* For internal use by buffer API functions */ +PyAPI_FUNC(void) _Py_add_one_to_index_F(int nd, Py_ssize_t *index, + const Py_ssize_t *shape); +PyAPI_FUNC(void) _Py_add_one_to_index_C(int nd, Py_ssize_t *index, + const Py_ssize_t *shape); + +/* Convert Python int to Py_ssize_t. Do nothing if the argument is None. */ +PyAPI_FUNC(int) _Py_convert_optional_to_ssize_t(PyObject *, void *); + +/* Same as PyNumber_Index but can return an instance of a subclass of int. */ +PyAPI_FUNC(PyObject *) _PyNumber_Index(PyObject *o); diff --git a/_Pre_Builds/_Python312_cpp/include/cpython/bytearrayobject.h b/_Pre_Builds/_Python312_cpp/include/cpython/bytearrayobject.h new file mode 100644 index 0000000..9ba176e --- /dev/null +++ b/_Pre_Builds/_Python312_cpp/include/cpython/bytearrayobject.h @@ -0,0 +1,34 @@ +#ifndef Py_CPYTHON_BYTEARRAYOBJECT_H +# error "this header file must not be included directly" +#endif + +/* Object layout */ +typedef struct { + PyObject_VAR_HEAD + Py_ssize_t ob_alloc; /* How many bytes allocated in ob_bytes */ + char *ob_bytes; /* Physical backing buffer */ + char *ob_start; /* Logical start inside ob_bytes */ + Py_ssize_t ob_exports; /* How many buffer exports */ +} PyByteArrayObject; + +PyAPI_DATA(char) _PyByteArray_empty_string[]; + +/* Macros and static inline functions, trading safety for speed */ +#define _PyByteArray_CAST(op) \ + (assert(PyByteArray_Check(op)), _Py_CAST(PyByteArrayObject*, op)) + +static inline char* PyByteArray_AS_STRING(PyObject *op) +{ + PyByteArrayObject *self = _PyByteArray_CAST(op); + if (Py_SIZE(self)) { + return self->ob_start; + } + return _PyByteArray_empty_string; +} +#define PyByteArray_AS_STRING(self) PyByteArray_AS_STRING(_PyObject_CAST(self)) + +static inline Py_ssize_t PyByteArray_GET_SIZE(PyObject *op) { + PyByteArrayObject *self = _PyByteArray_CAST(op); + return Py_SIZE(self); +} +#define PyByteArray_GET_SIZE(self) PyByteArray_GET_SIZE(_PyObject_CAST(self)) diff --git a/_Pre_Builds/_Python312_cpp/include/cpython/bytesobject.h b/_Pre_Builds/_Python312_cpp/include/cpython/bytesobject.h new file mode 100644 index 0000000..e982031 --- /dev/null +++ b/_Pre_Builds/_Python312_cpp/include/cpython/bytesobject.h @@ -0,0 +1,129 @@ +#ifndef Py_CPYTHON_BYTESOBJECT_H +# error "this header file must not be included directly" +#endif + +typedef struct { + PyObject_VAR_HEAD + Py_DEPRECATED(3.11) Py_hash_t ob_shash; + char ob_sval[1]; + + /* Invariants: + * ob_sval contains space for 'ob_size+1' elements. + * ob_sval[ob_size] == 0. + * ob_shash is the hash of the byte string or -1 if not computed yet. + */ +} PyBytesObject; + +PyAPI_FUNC(int) _PyBytes_Resize(PyObject **, Py_ssize_t); +PyAPI_FUNC(PyObject*) _PyBytes_FormatEx( + const char *format, + Py_ssize_t format_len, + PyObject *args, + int use_bytearray); +PyAPI_FUNC(PyObject*) _PyBytes_FromHex( + PyObject *string, + int use_bytearray); + +/* Helper for PyBytes_DecodeEscape that detects invalid escape chars. */ +PyAPI_FUNC(PyObject *) _PyBytes_DecodeEscape(const char *, Py_ssize_t, + const char *, const char **); + +/* Macros and static inline functions, trading safety for speed */ +#define _PyBytes_CAST(op) \ + (assert(PyBytes_Check(op)), _Py_CAST(PyBytesObject*, op)) + +static inline char* PyBytes_AS_STRING(PyObject *op) +{ + return _PyBytes_CAST(op)->ob_sval; +} +#define PyBytes_AS_STRING(op) PyBytes_AS_STRING(_PyObject_CAST(op)) + +static inline Py_ssize_t PyBytes_GET_SIZE(PyObject *op) { + PyBytesObject *self = _PyBytes_CAST(op); + return Py_SIZE(self); +} +#define PyBytes_GET_SIZE(self) PyBytes_GET_SIZE(_PyObject_CAST(self)) + +/* _PyBytes_Join(sep, x) is like sep.join(x). sep must be PyBytesObject*, + x must be an iterable object. */ +PyAPI_FUNC(PyObject *) _PyBytes_Join(PyObject *sep, PyObject *x); + + +/* The _PyBytesWriter structure is big: it contains an embedded "stack buffer". + A _PyBytesWriter variable must be declared at the end of variables in a + function to optimize the memory allocation on the stack. */ +typedef struct { + /* bytes, bytearray or NULL (when the small buffer is used) */ + PyObject *buffer; + + /* Number of allocated size. */ + Py_ssize_t allocated; + + /* Minimum number of allocated bytes, + incremented by _PyBytesWriter_Prepare() */ + Py_ssize_t min_size; + + /* If non-zero, use a bytearray instead of a bytes object for buffer. */ + int use_bytearray; + + /* If non-zero, overallocate the buffer (default: 0). + This flag must be zero if use_bytearray is non-zero. */ + int overallocate; + + /* Stack buffer */ + int use_small_buffer; + char small_buffer[512]; +} _PyBytesWriter; + +/* Initialize a bytes writer + + By default, the overallocation is disabled. Set the overallocate attribute + to control the allocation of the buffer. */ +PyAPI_FUNC(void) _PyBytesWriter_Init(_PyBytesWriter *writer); + +/* Get the buffer content and reset the writer. + Return a bytes object, or a bytearray object if use_bytearray is non-zero. + Raise an exception and return NULL on error. */ +PyAPI_FUNC(PyObject *) _PyBytesWriter_Finish(_PyBytesWriter *writer, + void *str); + +/* Deallocate memory of a writer (clear its internal buffer). */ +PyAPI_FUNC(void) _PyBytesWriter_Dealloc(_PyBytesWriter *writer); + +/* Allocate the buffer to write size bytes. + Return the pointer to the beginning of buffer data. + Raise an exception and return NULL on error. */ +PyAPI_FUNC(void*) _PyBytesWriter_Alloc(_PyBytesWriter *writer, + Py_ssize_t size); + +/* Ensure that the buffer is large enough to write *size* bytes. + Add size to the writer minimum size (min_size attribute). + + str is the current pointer inside the buffer. + Return the updated current pointer inside the buffer. + Raise an exception and return NULL on error. */ +PyAPI_FUNC(void*) _PyBytesWriter_Prepare(_PyBytesWriter *writer, + void *str, + Py_ssize_t size); + +/* Resize the buffer to make it larger. + The new buffer may be larger than size bytes because of overallocation. + Return the updated current pointer inside the buffer. + Raise an exception and return NULL on error. + + Note: size must be greater than the number of allocated bytes in the writer. + + This function doesn't use the writer minimum size (min_size attribute). + + See also _PyBytesWriter_Prepare(). + */ +PyAPI_FUNC(void*) _PyBytesWriter_Resize(_PyBytesWriter *writer, + void *str, + Py_ssize_t size); + +/* Write bytes. + Raise an exception and return NULL on error. */ +PyAPI_FUNC(void*) _PyBytesWriter_WriteBytes(_PyBytesWriter *writer, + void *str, + const void *bytes, + Py_ssize_t size); diff --git a/_Pre_Builds/_Python312_cpp/include/cpython/cellobject.h b/_Pre_Builds/_Python312_cpp/include/cpython/cellobject.h new file mode 100644 index 0000000..47a6a49 --- /dev/null +++ b/_Pre_Builds/_Python312_cpp/include/cpython/cellobject.h @@ -0,0 +1,44 @@ +/* Cell object interface */ + +#ifndef Py_LIMITED_API +#ifndef Py_CELLOBJECT_H +#define Py_CELLOBJECT_H +#ifdef __cplusplus +extern "C" { +#endif + +typedef struct { + PyObject_HEAD + /* Content of the cell or NULL when empty */ + PyObject *ob_ref; +} PyCellObject; + +PyAPI_DATA(PyTypeObject) PyCell_Type; + +#define PyCell_Check(op) Py_IS_TYPE((op), &PyCell_Type) + +PyAPI_FUNC(PyObject *) PyCell_New(PyObject *); +PyAPI_FUNC(PyObject *) PyCell_Get(PyObject *); +PyAPI_FUNC(int) PyCell_Set(PyObject *, PyObject *); + +static inline PyObject* PyCell_GET(PyObject *op) { + PyCellObject *cell; + assert(PyCell_Check(op)); + cell = _Py_CAST(PyCellObject*, op); + return cell->ob_ref; +} +#define PyCell_GET(op) PyCell_GET(_PyObject_CAST(op)) + +static inline void PyCell_SET(PyObject *op, PyObject *value) { + PyCellObject *cell; + assert(PyCell_Check(op)); + cell = _Py_CAST(PyCellObject*, op); + cell->ob_ref = value; +} +#define PyCell_SET(op, value) PyCell_SET(_PyObject_CAST(op), (value)) + +#ifdef __cplusplus +} +#endif +#endif /* !Py_TUPLEOBJECT_H */ +#endif /* Py_LIMITED_API */ diff --git a/_Pre_Builds/_Python312_cpp/include/cpython/ceval.h b/_Pre_Builds/_Python312_cpp/include/cpython/ceval.h new file mode 100644 index 0000000..a9616bd --- /dev/null +++ b/_Pre_Builds/_Python312_cpp/include/cpython/ceval.h @@ -0,0 +1,35 @@ +#ifndef Py_CPYTHON_CEVAL_H +# error "this header file must not be included directly" +#endif + +PyAPI_FUNC(void) PyEval_SetProfile(Py_tracefunc, PyObject *); +PyAPI_FUNC(void) PyEval_SetProfileAllThreads(Py_tracefunc, PyObject *); +PyAPI_DATA(int) _PyEval_SetProfile(PyThreadState *tstate, Py_tracefunc func, PyObject *arg); +PyAPI_FUNC(void) PyEval_SetTrace(Py_tracefunc, PyObject *); +PyAPI_FUNC(void) PyEval_SetTraceAllThreads(Py_tracefunc, PyObject *); +PyAPI_FUNC(int) _PyEval_SetTrace(PyThreadState *tstate, Py_tracefunc func, PyObject *arg); + +/* Helper to look up a builtin object */ +PyAPI_FUNC(PyObject *) _PyEval_GetBuiltin(PyObject *); +PyAPI_FUNC(PyObject *) _PyEval_GetBuiltinId(_Py_Identifier *); +/* Look at the current frame's (if any) code's co_flags, and turn on + the corresponding compiler flags in cf->cf_flags. Return 1 if any + flag was set, else return 0. */ +PyAPI_FUNC(int) PyEval_MergeCompilerFlags(PyCompilerFlags *cf); + +PyAPI_FUNC(PyObject *) _PyEval_EvalFrameDefault(PyThreadState *tstate, struct _PyInterpreterFrame *f, int exc); + +PyAPI_FUNC(void) _PyEval_SetSwitchInterval(unsigned long microseconds); +PyAPI_FUNC(unsigned long) _PyEval_GetSwitchInterval(void); + +PyAPI_FUNC(int) _PyEval_MakePendingCalls(PyThreadState *); + +PyAPI_FUNC(Py_ssize_t) PyUnstable_Eval_RequestCodeExtraIndex(freefunc); +// Old name -- remove when this API changes: +_Py_DEPRECATED_EXTERNALLY(3.12) static inline Py_ssize_t +_PyEval_RequestCodeExtraIndex(freefunc f) { + return PyUnstable_Eval_RequestCodeExtraIndex(f); +} + +PyAPI_FUNC(int) _PyEval_SliceIndex(PyObject *, Py_ssize_t *); +PyAPI_FUNC(int) _PyEval_SliceIndexNotNone(PyObject *, Py_ssize_t *); diff --git a/_Pre_Builds/_Python312_cpp/include/cpython/classobject.h b/_Pre_Builds/_Python312_cpp/include/cpython/classobject.h new file mode 100644 index 0000000..d7c9ddd --- /dev/null +++ b/_Pre_Builds/_Python312_cpp/include/cpython/classobject.h @@ -0,0 +1,71 @@ +/* Former class object interface -- now only bound methods are here */ + +/* Revealing some structures (not for general use) */ + +#ifndef Py_LIMITED_API +#ifndef Py_CLASSOBJECT_H +#define Py_CLASSOBJECT_H +#ifdef __cplusplus +extern "C" { +#endif + +typedef struct { + PyObject_HEAD + PyObject *im_func; /* The callable object implementing the method */ + PyObject *im_self; /* The instance it is bound to */ + PyObject *im_weakreflist; /* List of weak references */ + vectorcallfunc vectorcall; +} PyMethodObject; + +PyAPI_DATA(PyTypeObject) PyMethod_Type; + +#define PyMethod_Check(op) Py_IS_TYPE((op), &PyMethod_Type) + +PyAPI_FUNC(PyObject *) PyMethod_New(PyObject *, PyObject *); + +PyAPI_FUNC(PyObject *) PyMethod_Function(PyObject *); +PyAPI_FUNC(PyObject *) PyMethod_Self(PyObject *); + +#define _PyMethod_CAST(meth) \ + (assert(PyMethod_Check(meth)), _Py_CAST(PyMethodObject*, meth)) + +/* Static inline functions for direct access to these values. + Type checks are *not* done, so use with care. */ +static inline PyObject* PyMethod_GET_FUNCTION(PyObject *meth) { + return _PyMethod_CAST(meth)->im_func; +} +#define PyMethod_GET_FUNCTION(meth) PyMethod_GET_FUNCTION(_PyObject_CAST(meth)) + +static inline PyObject* PyMethod_GET_SELF(PyObject *meth) { + return _PyMethod_CAST(meth)->im_self; +} +#define PyMethod_GET_SELF(meth) PyMethod_GET_SELF(_PyObject_CAST(meth)) + +typedef struct { + PyObject_HEAD + PyObject *func; +} PyInstanceMethodObject; + +PyAPI_DATA(PyTypeObject) PyInstanceMethod_Type; + +#define PyInstanceMethod_Check(op) Py_IS_TYPE((op), &PyInstanceMethod_Type) + +PyAPI_FUNC(PyObject *) PyInstanceMethod_New(PyObject *); +PyAPI_FUNC(PyObject *) PyInstanceMethod_Function(PyObject *); + +#define _PyInstanceMethod_CAST(meth) \ + (assert(PyInstanceMethod_Check(meth)), \ + _Py_CAST(PyInstanceMethodObject*, meth)) + +/* Static inline function for direct access to these values. + Type checks are *not* done, so use with care. */ +static inline PyObject* PyInstanceMethod_GET_FUNCTION(PyObject *meth) { + return _PyInstanceMethod_CAST(meth)->func; +} +#define PyInstanceMethod_GET_FUNCTION(meth) PyInstanceMethod_GET_FUNCTION(_PyObject_CAST(meth)) + +#ifdef __cplusplus +} +#endif +#endif // !Py_CLASSOBJECT_H +#endif // !Py_LIMITED_API diff --git a/_Pre_Builds/_Python312_cpp/include/cpython/code.h b/_Pre_Builds/_Python312_cpp/include/cpython/code.h new file mode 100644 index 0000000..03834b2 --- /dev/null +++ b/_Pre_Builds/_Python312_cpp/include/cpython/code.h @@ -0,0 +1,389 @@ +/* Definitions for bytecode */ + +#ifndef Py_LIMITED_API +#ifndef Py_CODE_H +#define Py_CODE_H + +#ifdef __cplusplus +extern "C" { +#endif + +/* Count of all local monitoring events */ +#define _PY_MONITORING_LOCAL_EVENTS 10 +/* Count of all "real" monitoring events (not derived from other events) */ +#define _PY_MONITORING_UNGROUPED_EVENTS 15 +/* Count of all monitoring events */ +#define _PY_MONITORING_EVENTS 17 + +/* Tables of which tools are active for each monitored event. */ +/* For 3.12 ABI compatibility this is over sized */ +typedef struct _Py_LocalMonitors { + /* Only _PY_MONITORING_LOCAL_EVENTS of these are used */ + uint8_t tools[_PY_MONITORING_UNGROUPED_EVENTS]; +} _Py_LocalMonitors; + +typedef struct _Py_GlobalMonitors { + uint8_t tools[_PY_MONITORING_UNGROUPED_EVENTS]; +} _Py_GlobalMonitors; + +/* Each instruction in a code object is a fixed-width value, + * currently 2 bytes: 1-byte opcode + 1-byte oparg. The EXTENDED_ARG + * opcode allows for larger values but the current limit is 3 uses + * of EXTENDED_ARG (see Python/compile.c), for a maximum + * 32-bit value. This aligns with the note in Python/compile.c + * (compiler_addop_i_line) indicating that the max oparg value is + * 2**32 - 1, rather than INT_MAX. + */ + +typedef union { + uint16_t cache; + struct { + uint8_t code; + uint8_t arg; + } op; +} _Py_CODEUNIT; + + +/* These macros only remain defined for compatibility. */ +#define _Py_OPCODE(word) ((word).op.code) +#define _Py_OPARG(word) ((word).op.arg) + +static inline _Py_CODEUNIT +_py_make_codeunit(uint8_t opcode, uint8_t oparg) +{ + // No designated initialisers because of C++ compat + _Py_CODEUNIT word; + word.op.code = opcode; + word.op.arg = oparg; + return word; +} + +static inline void +_py_set_opcode(_Py_CODEUNIT *word, uint8_t opcode) +{ + word->op.code = opcode; +} + +#define _Py_MAKE_CODEUNIT(opcode, oparg) _py_make_codeunit((opcode), (oparg)) +#define _Py_SET_OPCODE(word, opcode) _py_set_opcode(&(word), (opcode)) + + +typedef struct { + PyObject *_co_code; + PyObject *_co_varnames; + PyObject *_co_cellvars; + PyObject *_co_freevars; +} _PyCoCached; + +/* Ancilliary data structure used for instrumentation. + Line instrumentation creates an array of + these. One entry per code unit.*/ +typedef struct { + uint8_t original_opcode; + int8_t line_delta; +} _PyCoLineInstrumentationData; + +/* Main data structure used for instrumentation. + * This is allocated when needed for instrumentation + */ +typedef struct { + /* Monitoring specific to this code object */ + _Py_LocalMonitors local_monitors; + /* Monitoring that is active on this code object */ + _Py_LocalMonitors active_monitors; + /* The tools that are to be notified for events for the matching code unit */ + uint8_t *tools; + /* Information to support line events */ + _PyCoLineInstrumentationData *lines; + /* The tools that are to be notified for line events for the matching code unit */ + uint8_t *line_tools; + /* Information to support instruction events */ + /* The underlying instructions, which can themselves be instrumented */ + uint8_t *per_instruction_opcodes; + /* The tools that are to be notified for instruction events for the matching code unit */ + uint8_t *per_instruction_tools; +} _PyCoMonitoringData; + +// To avoid repeating ourselves in deepfreeze.py, all PyCodeObject members are +// defined in this macro: +#define _PyCode_DEF(SIZE) { \ + PyObject_VAR_HEAD \ + \ + /* Note only the following fields are used in hash and/or comparisons \ + * \ + * - co_name \ + * - co_argcount \ + * - co_posonlyargcount \ + * - co_kwonlyargcount \ + * - co_nlocals \ + * - co_stacksize \ + * - co_flags \ + * - co_firstlineno \ + * - co_consts \ + * - co_names \ + * - co_localsplusnames \ + * This is done to preserve the name and line number for tracebacks \ + * and debuggers; otherwise, constant de-duplication would collapse \ + * identical functions/lambdas defined on different lines. \ + */ \ + \ + /* These fields are set with provided values on new code objects. */ \ + \ + /* The hottest fields (in the eval loop) are grouped here at the top. */ \ + PyObject *co_consts; /* list (constants used) */ \ + PyObject *co_names; /* list of strings (names used) */ \ + PyObject *co_exceptiontable; /* Byte string encoding exception handling \ + table */ \ + int co_flags; /* CO_..., see below */ \ + \ + /* The rest are not so impactful on performance. */ \ + int co_argcount; /* #arguments, except *args */ \ + int co_posonlyargcount; /* #positional only arguments */ \ + int co_kwonlyargcount; /* #keyword only arguments */ \ + int co_stacksize; /* #entries needed for evaluation stack */ \ + int co_firstlineno; /* first source line number */ \ + \ + /* redundant values (derived from co_localsplusnames and \ + co_localspluskinds) */ \ + int co_nlocalsplus; /* number of local + cell + free variables */ \ + int co_framesize; /* Size of frame in words */ \ + int co_nlocals; /* number of local variables */ \ + int co_ncellvars; /* total number of cell variables */ \ + int co_nfreevars; /* number of free variables */ \ + uint32_t co_version; /* version number */ \ + \ + PyObject *co_localsplusnames; /* tuple mapping offsets to names */ \ + PyObject *co_localspluskinds; /* Bytes mapping to local kinds (one byte \ + per variable) */ \ + PyObject *co_filename; /* unicode (where it was loaded from) */ \ + PyObject *co_name; /* unicode (name, for reference) */ \ + PyObject *co_qualname; /* unicode (qualname, for reference) */ \ + PyObject *co_linetable; /* bytes object that holds location info */ \ + PyObject *co_weakreflist; /* to support weakrefs to code objects */ \ + _PyCoCached *_co_cached; /* cached co_* attributes */ \ + uint64_t _co_instrumentation_version; /* current instrumentation version */ \ + _PyCoMonitoringData *_co_monitoring; /* Monitoring data */ \ + int _co_firsttraceable; /* index of first traceable instruction */ \ + /* Scratch space for extra data relating to the code object. \ + Type is a void* to keep the format private in codeobject.c to force \ + people to go through the proper APIs. */ \ + void *co_extra; \ + char co_code_adaptive[(SIZE)]; \ +} + +/* Bytecode object */ +struct PyCodeObject _PyCode_DEF(1); + +/* Masks for co_flags above */ +#define CO_OPTIMIZED 0x0001 +#define CO_NEWLOCALS 0x0002 +#define CO_VARARGS 0x0004 +#define CO_VARKEYWORDS 0x0008 +#define CO_NESTED 0x0010 +#define CO_GENERATOR 0x0020 + +/* The CO_COROUTINE flag is set for coroutine functions (defined with + ``async def`` keywords) */ +#define CO_COROUTINE 0x0080 +#define CO_ITERABLE_COROUTINE 0x0100 +#define CO_ASYNC_GENERATOR 0x0200 + +/* bpo-39562: These constant values are changed in Python 3.9 + to prevent collision with compiler flags. CO_FUTURE_ and PyCF_ + constants must be kept unique. PyCF_ constants can use bits from + 0x0100 to 0x10000. CO_FUTURE_ constants use bits starting at 0x20000. */ +#define CO_FUTURE_DIVISION 0x20000 +#define CO_FUTURE_ABSOLUTE_IMPORT 0x40000 /* do absolute imports by default */ +#define CO_FUTURE_WITH_STATEMENT 0x80000 +#define CO_FUTURE_PRINT_FUNCTION 0x100000 +#define CO_FUTURE_UNICODE_LITERALS 0x200000 + +#define CO_FUTURE_BARRY_AS_BDFL 0x400000 +#define CO_FUTURE_GENERATOR_STOP 0x800000 +#define CO_FUTURE_ANNOTATIONS 0x1000000 + +/* This should be defined if a future statement modifies the syntax. + For example, when a keyword is added. +*/ +#define PY_PARSER_REQUIRES_FUTURE_KEYWORD + +#define CO_MAXBLOCKS 20 /* Max static block nesting within a function */ + +PyAPI_DATA(PyTypeObject) PyCode_Type; + +#define PyCode_Check(op) Py_IS_TYPE((op), &PyCode_Type) + +static inline Py_ssize_t PyCode_GetNumFree(PyCodeObject *op) { + assert(PyCode_Check(op)); + return op->co_nfreevars; +} + +static inline int PyCode_GetFirstFree(PyCodeObject *op) { + assert(PyCode_Check(op)); + return op->co_nlocalsplus - op->co_nfreevars; +} + +#define _PyCode_CODE(CO) _Py_RVALUE((_Py_CODEUNIT *)(CO)->co_code_adaptive) +#define _PyCode_NBYTES(CO) (Py_SIZE(CO) * (Py_ssize_t)sizeof(_Py_CODEUNIT)) + +/* Unstable public interface */ +PyAPI_FUNC(PyCodeObject *) PyUnstable_Code_New( + int, int, int, int, int, PyObject *, PyObject *, + PyObject *, PyObject *, PyObject *, PyObject *, + PyObject *, PyObject *, PyObject *, int, PyObject *, + PyObject *); + +PyAPI_FUNC(PyCodeObject *) PyUnstable_Code_NewWithPosOnlyArgs( + int, int, int, int, int, int, PyObject *, PyObject *, + PyObject *, PyObject *, PyObject *, PyObject *, + PyObject *, PyObject *, PyObject *, int, PyObject *, + PyObject *); + /* same as struct above */ +// Old names -- remove when this API changes: +_Py_DEPRECATED_EXTERNALLY(3.12) static inline PyCodeObject * +PyCode_New( + int a, int b, int c, int d, int e, PyObject *f, PyObject *g, + PyObject *h, PyObject *i, PyObject *j, PyObject *k, + PyObject *l, PyObject *m, PyObject *n, int o, PyObject *p, + PyObject *q) +{ + return PyUnstable_Code_New( + a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q); +} +_Py_DEPRECATED_EXTERNALLY(3.12) static inline PyCodeObject * +PyCode_NewWithPosOnlyArgs( + int a, int poac, int b, int c, int d, int e, PyObject *f, PyObject *g, + PyObject *h, PyObject *i, PyObject *j, PyObject *k, + PyObject *l, PyObject *m, PyObject *n, int o, PyObject *p, + PyObject *q) +{ + return PyUnstable_Code_NewWithPosOnlyArgs( + a, poac, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q); +} + +/* Creates a new empty code object with the specified source location. */ +PyAPI_FUNC(PyCodeObject *) +PyCode_NewEmpty(const char *filename, const char *funcname, int firstlineno); + +/* Return the line number associated with the specified bytecode index + in this code object. If you just need the line number of a frame, + use PyFrame_GetLineNumber() instead. */ +PyAPI_FUNC(int) PyCode_Addr2Line(PyCodeObject *, int); + +PyAPI_FUNC(int) PyCode_Addr2Location(PyCodeObject *, int, int *, int *, int *, int *); + +#define PY_FOREACH_CODE_EVENT(V) \ + V(CREATE) \ + V(DESTROY) + +typedef enum { + #define PY_DEF_EVENT(op) PY_CODE_EVENT_##op, + PY_FOREACH_CODE_EVENT(PY_DEF_EVENT) + #undef PY_DEF_EVENT +} PyCodeEvent; + + +/* + * A callback that is invoked for different events in a code object's lifecycle. + * + * The callback is invoked with a borrowed reference to co, after it is + * created and before it is destroyed. + * + * If the callback sets an exception, it must return -1. Otherwise + * it should return 0. + */ +typedef int (*PyCode_WatchCallback)( + PyCodeEvent event, + PyCodeObject* co); + +/* + * Register a per-interpreter callback that will be invoked for code object + * lifecycle events. + * + * Returns a handle that may be passed to PyCode_ClearWatcher on success, + * or -1 and sets an error if no more handles are available. + */ +PyAPI_FUNC(int) PyCode_AddWatcher(PyCode_WatchCallback callback); + +/* + * Clear the watcher associated with the watcher_id handle. + * + * Returns 0 on success or -1 if no watcher exists for the provided id. + */ +PyAPI_FUNC(int) PyCode_ClearWatcher(int watcher_id); + +/* for internal use only */ +struct _opaque { + int computed_line; + const uint8_t *lo_next; + const uint8_t *limit; +}; + +typedef struct _line_offsets { + int ar_start; + int ar_end; + int ar_line; + struct _opaque opaque; +} PyCodeAddressRange; + +/* Update *bounds to describe the first and one-past-the-last instructions in the + same line as lasti. Return the number of that line. +*/ +PyAPI_FUNC(int) _PyCode_CheckLineNumber(int lasti, PyCodeAddressRange *bounds); + +/* Create a comparable key used to compare constants taking in account the + * object type. It is used to make sure types are not coerced (e.g., float and + * complex) _and_ to distinguish 0.0 from -0.0 e.g. on IEEE platforms + * + * Return (type(obj), obj, ...): a tuple with variable size (at least 2 items) + * depending on the type and the value. The type is the first item to not + * compare bytes and str which can raise a BytesWarning exception. */ +PyAPI_FUNC(PyObject*) _PyCode_ConstantKey(PyObject *obj); + +PyAPI_FUNC(PyObject*) PyCode_Optimize(PyObject *code, PyObject* consts, + PyObject *names, PyObject *lnotab); + +PyAPI_FUNC(int) PyUnstable_Code_GetExtra( + PyObject *code, Py_ssize_t index, void **extra); +PyAPI_FUNC(int) PyUnstable_Code_SetExtra( + PyObject *code, Py_ssize_t index, void *extra); +// Old names -- remove when this API changes: +_Py_DEPRECATED_EXTERNALLY(3.12) static inline int +_PyCode_GetExtra(PyObject *code, Py_ssize_t index, void **extra) +{ + return PyUnstable_Code_GetExtra(code, index, extra); +} +_Py_DEPRECATED_EXTERNALLY(3.12) static inline int +_PyCode_SetExtra(PyObject *code, Py_ssize_t index, void *extra) +{ + return PyUnstable_Code_SetExtra(code, index, extra); +} + +/* Equivalent to getattr(code, 'co_code') in Python. + Returns a strong reference to a bytes object. */ +PyAPI_FUNC(PyObject *) PyCode_GetCode(PyCodeObject *code); +/* Equivalent to getattr(code, 'co_varnames') in Python. */ +PyAPI_FUNC(PyObject *) PyCode_GetVarnames(PyCodeObject *code); +/* Equivalent to getattr(code, 'co_cellvars') in Python. */ +PyAPI_FUNC(PyObject *) PyCode_GetCellvars(PyCodeObject *code); +/* Equivalent to getattr(code, 'co_freevars') in Python. */ +PyAPI_FUNC(PyObject *) PyCode_GetFreevars(PyCodeObject *code); + +typedef enum _PyCodeLocationInfoKind { + /* short forms are 0 to 9 */ + PY_CODE_LOCATION_INFO_SHORT0 = 0, + /* one lineforms are 10 to 12 */ + PY_CODE_LOCATION_INFO_ONE_LINE0 = 10, + PY_CODE_LOCATION_INFO_ONE_LINE1 = 11, + PY_CODE_LOCATION_INFO_ONE_LINE2 = 12, + + PY_CODE_LOCATION_INFO_NO_COLUMNS = 13, + PY_CODE_LOCATION_INFO_LONG = 14, + PY_CODE_LOCATION_INFO_NONE = 15 +} _PyCodeLocationInfoKind; + +#ifdef __cplusplus +} +#endif +#endif // !Py_CODE_H +#endif // !Py_LIMITED_API diff --git a/_Pre_Builds/_Python312_cpp/include/cpython/compile.h b/_Pre_Builds/_Python312_cpp/include/cpython/compile.h new file mode 100644 index 0000000..f5a62a8 --- /dev/null +++ b/_Pre_Builds/_Python312_cpp/include/cpython/compile.h @@ -0,0 +1,69 @@ +#ifndef Py_CPYTHON_COMPILE_H +# error "this header file must not be included directly" +#endif + +/* Public interface */ +#define PyCF_MASK (CO_FUTURE_DIVISION | CO_FUTURE_ABSOLUTE_IMPORT | \ + CO_FUTURE_WITH_STATEMENT | CO_FUTURE_PRINT_FUNCTION | \ + CO_FUTURE_UNICODE_LITERALS | CO_FUTURE_BARRY_AS_BDFL | \ + CO_FUTURE_GENERATOR_STOP | CO_FUTURE_ANNOTATIONS) +#define PyCF_MASK_OBSOLETE (CO_NESTED) + +/* bpo-39562: CO_FUTURE_ and PyCF_ constants must be kept unique. + PyCF_ constants can use bits from 0x0100 to 0x10000. + CO_FUTURE_ constants use bits starting at 0x20000. */ +#define PyCF_SOURCE_IS_UTF8 0x0100 +#define PyCF_DONT_IMPLY_DEDENT 0x0200 +#define PyCF_ONLY_AST 0x0400 +#define PyCF_IGNORE_COOKIE 0x0800 +#define PyCF_TYPE_COMMENTS 0x1000 +#define PyCF_ALLOW_TOP_LEVEL_AWAIT 0x2000 +#define PyCF_ALLOW_INCOMPLETE_INPUT 0x4000 +#define PyCF_COMPILE_MASK (PyCF_ONLY_AST | PyCF_ALLOW_TOP_LEVEL_AWAIT | \ + PyCF_TYPE_COMMENTS | PyCF_DONT_IMPLY_DEDENT | \ + PyCF_ALLOW_INCOMPLETE_INPUT) + +typedef struct { + int cf_flags; /* bitmask of CO_xxx flags relevant to future */ + int cf_feature_version; /* minor Python version (PyCF_ONLY_AST) */ +} PyCompilerFlags; + +#define _PyCompilerFlags_INIT \ + (PyCompilerFlags){.cf_flags = 0, .cf_feature_version = PY_MINOR_VERSION} + +/* source location information */ +typedef struct { + int lineno; + int end_lineno; + int col_offset; + int end_col_offset; +} _PyCompilerSrcLocation; + +#define SRC_LOCATION_FROM_AST(n) \ + (_PyCompilerSrcLocation){ \ + .lineno = (n)->lineno, \ + .end_lineno = (n)->end_lineno, \ + .col_offset = (n)->col_offset, \ + .end_col_offset = (n)->end_col_offset } + +/* Future feature support */ + +typedef struct { + int ff_features; /* flags set by future statements */ + _PyCompilerSrcLocation ff_location; /* location of last future statement */ +} PyFutureFeatures; + +#define FUTURE_NESTED_SCOPES "nested_scopes" +#define FUTURE_GENERATORS "generators" +#define FUTURE_DIVISION "division" +#define FUTURE_ABSOLUTE_IMPORT "absolute_import" +#define FUTURE_WITH_STATEMENT "with_statement" +#define FUTURE_PRINT_FUNCTION "print_function" +#define FUTURE_UNICODE_LITERALS "unicode_literals" +#define FUTURE_BARRY_AS_BDFL "barry_as_FLUFL" +#define FUTURE_GENERATOR_STOP "generator_stop" +#define FUTURE_ANNOTATIONS "annotations" + +#define PY_INVALID_STACK_EFFECT INT_MAX +PyAPI_FUNC(int) PyCompile_OpcodeStackEffect(int opcode, int oparg); +PyAPI_FUNC(int) PyCompile_OpcodeStackEffectWithJump(int opcode, int oparg, int jump); diff --git a/_Pre_Builds/_Python312_cpp/include/cpython/complexobject.h b/_Pre_Builds/_Python312_cpp/include/cpython/complexobject.h new file mode 100644 index 0000000..b7d7283 --- /dev/null +++ b/_Pre_Builds/_Python312_cpp/include/cpython/complexobject.h @@ -0,0 +1,44 @@ +#ifndef Py_CPYTHON_COMPLEXOBJECT_H +# error "this header file must not be included directly" +#endif + +typedef struct { + double real; + double imag; +} Py_complex; + +/* Operations on complex numbers from complexmodule.c */ + +PyAPI_FUNC(Py_complex) _Py_c_sum(Py_complex, Py_complex); +PyAPI_FUNC(Py_complex) _Py_c_diff(Py_complex, Py_complex); +PyAPI_FUNC(Py_complex) _Py_c_neg(Py_complex); +PyAPI_FUNC(Py_complex) _Py_c_prod(Py_complex, Py_complex); +PyAPI_FUNC(Py_complex) _Py_c_quot(Py_complex, Py_complex); +PyAPI_FUNC(Py_complex) _Py_c_pow(Py_complex, Py_complex); +PyAPI_FUNC(double) _Py_c_abs(Py_complex); + +/* Complex object interface */ + +/* +PyComplexObject represents a complex number with double-precision +real and imaginary parts. +*/ +typedef struct { + PyObject_HEAD + Py_complex cval; +} PyComplexObject; + +PyAPI_FUNC(PyObject *) PyComplex_FromCComplex(Py_complex); + +PyAPI_FUNC(Py_complex) PyComplex_AsCComplex(PyObject *op); + +#ifdef Py_BUILD_CORE +/* Format the object based on the format_spec, as defined in PEP 3101 + (Advanced String Formatting). */ +extern int _PyComplex_FormatAdvancedWriter( + _PyUnicodeWriter *writer, + PyObject *obj, + PyObject *format_spec, + Py_ssize_t start, + Py_ssize_t end); +#endif // Py_BUILD_CORE diff --git a/_Pre_Builds/_Python312_cpp/include/cpython/context.h b/_Pre_Builds/_Python312_cpp/include/cpython/context.h new file mode 100644 index 0000000..9879fc7 --- /dev/null +++ b/_Pre_Builds/_Python312_cpp/include/cpython/context.h @@ -0,0 +1,78 @@ +#ifndef Py_LIMITED_API +#ifndef Py_CONTEXT_H +#define Py_CONTEXT_H +#ifdef __cplusplus +extern "C" { +#endif + +PyAPI_DATA(PyTypeObject) PyContext_Type; +typedef struct _pycontextobject PyContext; + +PyAPI_DATA(PyTypeObject) PyContextVar_Type; +typedef struct _pycontextvarobject PyContextVar; + +PyAPI_DATA(PyTypeObject) PyContextToken_Type; +typedef struct _pycontexttokenobject PyContextToken; + + +#define PyContext_CheckExact(o) Py_IS_TYPE((o), &PyContext_Type) +#define PyContextVar_CheckExact(o) Py_IS_TYPE((o), &PyContextVar_Type) +#define PyContextToken_CheckExact(o) Py_IS_TYPE((o), &PyContextToken_Type) + + +PyAPI_FUNC(PyObject *) PyContext_New(void); +PyAPI_FUNC(PyObject *) PyContext_Copy(PyObject *); +PyAPI_FUNC(PyObject *) PyContext_CopyCurrent(void); + +PyAPI_FUNC(int) PyContext_Enter(PyObject *); +PyAPI_FUNC(int) PyContext_Exit(PyObject *); + + +/* Create a new context variable. + + default_value can be NULL. +*/ +PyAPI_FUNC(PyObject *) PyContextVar_New( + const char *name, PyObject *default_value); + + +/* Get a value for the variable. + + Returns -1 if an error occurred during lookup. + + Returns 0 if value either was or was not found. + + If value was found, *value will point to it. + If not, it will point to: + + - default_value, if not NULL; + - the default value of "var", if not NULL; + - NULL. + + '*value' will be a new ref, if not NULL. +*/ +PyAPI_FUNC(int) PyContextVar_Get( + PyObject *var, PyObject *default_value, PyObject **value); + + +/* Set a new value for the variable. + Returns NULL if an error occurs. +*/ +PyAPI_FUNC(PyObject *) PyContextVar_Set(PyObject *var, PyObject *value); + + +/* Reset a variable to its previous value. + Returns 0 on success, -1 on error. +*/ +PyAPI_FUNC(int) PyContextVar_Reset(PyObject *var, PyObject *token); + + +/* This method is exposed only for CPython tests. Don not use it. */ +PyAPI_FUNC(PyObject *) _PyContext_NewHamtForTests(void); + + +#ifdef __cplusplus +} +#endif +#endif /* !Py_CONTEXT_H */ +#endif /* !Py_LIMITED_API */ diff --git a/_Pre_Builds/_Python312_cpp/include/cpython/descrobject.h b/_Pre_Builds/_Python312_cpp/include/cpython/descrobject.h new file mode 100644 index 0000000..e2ea1b9 --- /dev/null +++ b/_Pre_Builds/_Python312_cpp/include/cpython/descrobject.h @@ -0,0 +1,64 @@ +#ifndef Py_CPYTHON_DESCROBJECT_H +# error "this header file must not be included directly" +#endif + +typedef PyObject *(*wrapperfunc)(PyObject *self, PyObject *args, + void *wrapped); + +typedef PyObject *(*wrapperfunc_kwds)(PyObject *self, PyObject *args, + void *wrapped, PyObject *kwds); + +struct wrapperbase { + const char *name; + int offset; + void *function; + wrapperfunc wrapper; + const char *doc; + int flags; + PyObject *name_strobj; +}; + +/* Flags for above struct */ +#define PyWrapperFlag_KEYWORDS 1 /* wrapper function takes keyword args */ + +/* Various kinds of descriptor objects */ + +typedef struct { + PyObject_HEAD + PyTypeObject *d_type; + PyObject *d_name; + PyObject *d_qualname; +} PyDescrObject; + +#define PyDescr_COMMON PyDescrObject d_common + +#define PyDescr_TYPE(x) (((PyDescrObject *)(x))->d_type) +#define PyDescr_NAME(x) (((PyDescrObject *)(x))->d_name) + +typedef struct { + PyDescr_COMMON; + PyMethodDef *d_method; + vectorcallfunc vectorcall; +} PyMethodDescrObject; + +typedef struct { + PyDescr_COMMON; + PyMemberDef *d_member; +} PyMemberDescrObject; + +typedef struct { + PyDescr_COMMON; + PyGetSetDef *d_getset; +} PyGetSetDescrObject; + +typedef struct { + PyDescr_COMMON; + struct wrapperbase *d_base; + void *d_wrapped; /* This can be any function pointer */ +} PyWrapperDescrObject; + +PyAPI_DATA(PyTypeObject) _PyMethodWrapper_Type; + +PyAPI_FUNC(PyObject *) PyDescr_NewWrapper(PyTypeObject *, + struct wrapperbase *, void *); +PyAPI_FUNC(int) PyDescr_IsData(PyObject *); diff --git a/_Pre_Builds/_Python312_cpp/include/cpython/dictobject.h b/_Pre_Builds/_Python312_cpp/include/cpython/dictobject.h new file mode 100644 index 0000000..ddada92 --- /dev/null +++ b/_Pre_Builds/_Python312_cpp/include/cpython/dictobject.h @@ -0,0 +1,118 @@ +#ifndef Py_CPYTHON_DICTOBJECT_H +# error "this header file must not be included directly" +#endif + +typedef struct _dictkeysobject PyDictKeysObject; +typedef struct _dictvalues PyDictValues; + +/* The ma_values pointer is NULL for a combined table + * or points to an array of PyObject* for a split table + */ +typedef struct { + PyObject_HEAD + + /* Number of items in the dictionary */ + Py_ssize_t ma_used; + + /* Dictionary version: globally unique, value change each time + the dictionary is modified */ +#ifdef Py_BUILD_CORE + uint64_t ma_version_tag; +#else + Py_DEPRECATED(3.12) uint64_t ma_version_tag; +#endif + + PyDictKeysObject *ma_keys; + + /* If ma_values is NULL, the table is "combined": keys and values + are stored in ma_keys. + + If ma_values is not NULL, the table is split: + keys are stored in ma_keys and values are stored in ma_values */ + PyDictValues *ma_values; +} PyDictObject; + +PyAPI_FUNC(PyObject *) _PyDict_GetItem_KnownHash(PyObject *mp, PyObject *key, + Py_hash_t hash); +PyAPI_FUNC(PyObject *) _PyDict_GetItemWithError(PyObject *dp, PyObject *key); +PyAPI_FUNC(PyObject *) _PyDict_GetItemIdWithError(PyObject *dp, + _Py_Identifier *key); +PyAPI_FUNC(PyObject *) _PyDict_GetItemStringWithError(PyObject *, const char *); +PyAPI_FUNC(PyObject *) PyDict_SetDefault( + PyObject *mp, PyObject *key, PyObject *defaultobj); +PyAPI_FUNC(int) _PyDict_SetItem_KnownHash(PyObject *mp, PyObject *key, + PyObject *item, Py_hash_t hash); +PyAPI_FUNC(int) _PyDict_DelItem_KnownHash(PyObject *mp, PyObject *key, + Py_hash_t hash); +PyAPI_FUNC(int) _PyDict_DelItemIf(PyObject *mp, PyObject *key, + int (*predicate)(PyObject *value)); +PyAPI_FUNC(int) _PyDict_Next( + PyObject *mp, Py_ssize_t *pos, PyObject **key, PyObject **value, Py_hash_t *hash); + +/* Get the number of items of a dictionary. */ +static inline Py_ssize_t PyDict_GET_SIZE(PyObject *op) { + PyDictObject *mp; + assert(PyDict_Check(op)); + mp = _Py_CAST(PyDictObject*, op); + return mp->ma_used; +} +#define PyDict_GET_SIZE(op) PyDict_GET_SIZE(_PyObject_CAST(op)) + +PyAPI_FUNC(int) _PyDict_Contains_KnownHash(PyObject *, PyObject *, Py_hash_t); +PyAPI_FUNC(int) _PyDict_ContainsId(PyObject *, _Py_Identifier *); +PyAPI_FUNC(PyObject *) _PyDict_NewPresized(Py_ssize_t minused); +PyAPI_FUNC(void) _PyDict_MaybeUntrack(PyObject *mp); +PyAPI_FUNC(int) _PyDict_HasOnlyStringKeys(PyObject *mp); +PyAPI_FUNC(Py_ssize_t) _PyDict_SizeOf(PyDictObject *); +PyAPI_FUNC(PyObject *) _PyDict_Pop(PyObject *, PyObject *, PyObject *); +#define _PyDict_HasSplitTable(d) ((d)->ma_values != NULL) + +/* Like PyDict_Merge, but override can be 0, 1 or 2. If override is 0, + the first occurrence of a key wins, if override is 1, the last occurrence + of a key wins, if override is 2, a KeyError with conflicting key as + argument is raised. +*/ +PyAPI_FUNC(int) _PyDict_MergeEx(PyObject *mp, PyObject *other, int override); +PyAPI_FUNC(int) _PyDict_SetItemId(PyObject *dp, _Py_Identifier *key, PyObject *item); + +PyAPI_FUNC(int) _PyDict_DelItemId(PyObject *mp, _Py_Identifier *key); +PyAPI_FUNC(void) _PyDict_DebugMallocStats(FILE *out); + +/* _PyDictView */ + +typedef struct { + PyObject_HEAD + PyDictObject *dv_dict; +} _PyDictViewObject; + +PyAPI_FUNC(PyObject *) _PyDictView_New(PyObject *, PyTypeObject *); +PyAPI_FUNC(PyObject *) _PyDictView_Intersect(PyObject* self, PyObject *other); + +/* Dictionary watchers */ + +#define PY_FOREACH_DICT_EVENT(V) \ + V(ADDED) \ + V(MODIFIED) \ + V(DELETED) \ + V(CLONED) \ + V(CLEARED) \ + V(DEALLOCATED) + +typedef enum { + #define PY_DEF_EVENT(EVENT) PyDict_EVENT_##EVENT, + PY_FOREACH_DICT_EVENT(PY_DEF_EVENT) + #undef PY_DEF_EVENT +} PyDict_WatchEvent; + +// Callback to be invoked when a watched dict is cleared, dealloced, or modified. +// In clear/dealloc case, key and new_value will be NULL. Otherwise, new_value will be the +// new value for key, NULL if key is being deleted. +typedef int(*PyDict_WatchCallback)(PyDict_WatchEvent event, PyObject* dict, PyObject* key, PyObject* new_value); + +// Register/unregister a dict-watcher callback +PyAPI_FUNC(int) PyDict_AddWatcher(PyDict_WatchCallback callback); +PyAPI_FUNC(int) PyDict_ClearWatcher(int watcher_id); + +// Mark given dictionary as "watched" (callback will be called if it is modified) +PyAPI_FUNC(int) PyDict_Watch(int watcher_id, PyObject* dict); +PyAPI_FUNC(int) PyDict_Unwatch(int watcher_id, PyObject* dict); diff --git a/_Pre_Builds/_Python312_cpp/include/cpython/fileobject.h b/_Pre_Builds/_Python312_cpp/include/cpython/fileobject.h new file mode 100644 index 0000000..b70ec31 --- /dev/null +++ b/_Pre_Builds/_Python312_cpp/include/cpython/fileobject.h @@ -0,0 +1,19 @@ +#ifndef Py_CPYTHON_FILEOBJECT_H +# error "this header file must not be included directly" +#endif + +PyAPI_FUNC(char *) Py_UniversalNewlineFgets(char *, int, FILE*, PyObject *); +PyAPI_FUNC(char *) _Py_UniversalNewlineFgetsWithSize(char *, int, FILE*, PyObject *, size_t*); + +/* The std printer acts as a preliminary sys.stderr until the new io + infrastructure is in place. */ +PyAPI_FUNC(PyObject *) PyFile_NewStdPrinter(int); +PyAPI_DATA(PyTypeObject) PyStdPrinter_Type; + +typedef PyObject * (*Py_OpenCodeHookFunction)(PyObject *, void *); + +PyAPI_FUNC(PyObject *) PyFile_OpenCode(const char *utf8path); +PyAPI_FUNC(PyObject *) PyFile_OpenCodeObject(PyObject *path); +PyAPI_FUNC(int) PyFile_SetOpenCodeHook(Py_OpenCodeHookFunction hook, void *userData); + +PyAPI_FUNC(int) _PyLong_FileDescriptor_Converter(PyObject *, void *); diff --git a/_Pre_Builds/_Python312_cpp/include/cpython/fileutils.h b/_Pre_Builds/_Python312_cpp/include/cpython/fileutils.h new file mode 100644 index 0000000..b386ad1 --- /dev/null +++ b/_Pre_Builds/_Python312_cpp/include/cpython/fileutils.h @@ -0,0 +1,8 @@ +#ifndef Py_CPYTHON_FILEUTILS_H +# error "this header file must not be included directly" +#endif + +// Used by _testcapi which must not use the internal C API +PyAPI_FUNC(FILE*) _Py_fopen_obj( + PyObject *path, + const char *mode); diff --git a/_Pre_Builds/_Python312_cpp/include/cpython/floatobject.h b/_Pre_Builds/_Python312_cpp/include/cpython/floatobject.h new file mode 100644 index 0000000..1270930 --- /dev/null +++ b/_Pre_Builds/_Python312_cpp/include/cpython/floatobject.h @@ -0,0 +1,27 @@ +#ifndef Py_CPYTHON_FLOATOBJECT_H +# error "this header file must not be included directly" +#endif + +typedef struct { + PyObject_HEAD + double ob_fval; +} PyFloatObject; + +#define _PyFloat_CAST(op) \ + (assert(PyFloat_Check(op)), _Py_CAST(PyFloatObject*, op)) + +// Static inline version of PyFloat_AsDouble() trading safety for speed. +// It doesn't check if op is a double object. +static inline double PyFloat_AS_DOUBLE(PyObject *op) { + return _PyFloat_CAST(op)->ob_fval; +} +#define PyFloat_AS_DOUBLE(op) PyFloat_AS_DOUBLE(_PyObject_CAST(op)) + + +PyAPI_FUNC(int) PyFloat_Pack2(double x, char *p, int le); +PyAPI_FUNC(int) PyFloat_Pack4(double x, char *p, int le); +PyAPI_FUNC(int) PyFloat_Pack8(double x, char *p, int le); + +PyAPI_FUNC(double) PyFloat_Unpack2(const char *p, int le); +PyAPI_FUNC(double) PyFloat_Unpack4(const char *p, int le); +PyAPI_FUNC(double) PyFloat_Unpack8(const char *p, int le); diff --git a/_Pre_Builds/_Python312_cpp/include/cpython/frameobject.h b/_Pre_Builds/_Python312_cpp/include/cpython/frameobject.h new file mode 100644 index 0000000..4e19535 --- /dev/null +++ b/_Pre_Builds/_Python312_cpp/include/cpython/frameobject.h @@ -0,0 +1,29 @@ +/* Frame object interface */ + +#ifndef Py_CPYTHON_FRAMEOBJECT_H +# error "this header file must not be included directly" +#endif + +/* Standard object interface */ + +PyAPI_FUNC(PyFrameObject *) PyFrame_New(PyThreadState *, PyCodeObject *, + PyObject *, PyObject *); + +/* The rest of the interface is specific for frame objects */ + +/* Conversions between "fast locals" and locals in dictionary */ + +PyAPI_FUNC(void) PyFrame_LocalsToFast(PyFrameObject *, int); + +/* -- Caveat emptor -- + * The concept of entry frames is an implementation detail of the CPython + * interpreter. This API is considered unstable and is provided for the + * convenience of debuggers, profilers and state-inspecting tools. Notice that + * this API can be changed in future minor versions if the underlying frame + * mechanism change or the concept of an 'entry frame' or its semantics becomes + * obsolete or outdated. */ + +PyAPI_FUNC(int) _PyFrame_IsEntryFrame(PyFrameObject *frame); + +PyAPI_FUNC(int) PyFrame_FastToLocalsWithError(PyFrameObject *f); +PyAPI_FUNC(void) PyFrame_FastToLocals(PyFrameObject *); diff --git a/_Pre_Builds/_Python312_cpp/include/cpython/funcobject.h b/_Pre_Builds/_Python312_cpp/include/cpython/funcobject.h new file mode 100644 index 0000000..6f78f58 --- /dev/null +++ b/_Pre_Builds/_Python312_cpp/include/cpython/funcobject.h @@ -0,0 +1,188 @@ +/* Function object interface */ + +#ifndef Py_LIMITED_API +#ifndef Py_FUNCOBJECT_H +#define Py_FUNCOBJECT_H +#ifdef __cplusplus +extern "C" { +#endif + + +#define COMMON_FIELDS(PREFIX) \ + PyObject *PREFIX ## globals; \ + PyObject *PREFIX ## builtins; \ + PyObject *PREFIX ## name; \ + PyObject *PREFIX ## qualname; \ + PyObject *PREFIX ## code; /* A code object, the __code__ attribute */ \ + PyObject *PREFIX ## defaults; /* NULL or a tuple */ \ + PyObject *PREFIX ## kwdefaults; /* NULL or a dict */ \ + PyObject *PREFIX ## closure; /* NULL or a tuple of cell objects */ + +typedef struct { + COMMON_FIELDS(fc_) +} PyFrameConstructor; + +/* Function objects and code objects should not be confused with each other: + * + * Function objects are created by the execution of the 'def' statement. + * They reference a code object in their __code__ attribute, which is a + * purely syntactic object, i.e. nothing more than a compiled version of some + * source code lines. There is one code object per source code "fragment", + * but each code object can be referenced by zero or many function objects + * depending only on how many times the 'def' statement in the source was + * executed so far. + */ + +typedef struct { + PyObject_HEAD + COMMON_FIELDS(func_) + PyObject *func_doc; /* The __doc__ attribute, can be anything */ + PyObject *func_dict; /* The __dict__ attribute, a dict or NULL */ + PyObject *func_weakreflist; /* List of weak references */ + PyObject *func_module; /* The __module__ attribute, can be anything */ + PyObject *func_annotations; /* Annotations, a dict or NULL */ + PyObject *func_typeparams; /* Tuple of active type variables or NULL */ + vectorcallfunc vectorcall; + /* Version number for use by specializer. + * Can set to non-zero when we want to specialize. + * Will be set to zero if any of these change: + * defaults + * kwdefaults (only if the object changes, not the contents of the dict) + * code + * annotations + * vectorcall function pointer */ + uint32_t func_version; + + /* Invariant: + * func_closure contains the bindings for func_code->co_freevars, so + * PyTuple_Size(func_closure) == PyCode_GetNumFree(func_code) + * (func_closure may be NULL if PyCode_GetNumFree(func_code) == 0). + */ +} PyFunctionObject; + +PyAPI_DATA(PyTypeObject) PyFunction_Type; + +#define PyFunction_Check(op) Py_IS_TYPE((op), &PyFunction_Type) + +PyAPI_FUNC(PyObject *) PyFunction_New(PyObject *, PyObject *); +PyAPI_FUNC(PyObject *) PyFunction_NewWithQualName(PyObject *, PyObject *, PyObject *); +PyAPI_FUNC(PyObject *) PyFunction_GetCode(PyObject *); +PyAPI_FUNC(PyObject *) PyFunction_GetGlobals(PyObject *); +PyAPI_FUNC(PyObject *) PyFunction_GetModule(PyObject *); +PyAPI_FUNC(PyObject *) PyFunction_GetDefaults(PyObject *); +PyAPI_FUNC(int) PyFunction_SetDefaults(PyObject *, PyObject *); +PyAPI_FUNC(void) PyFunction_SetVectorcall(PyFunctionObject *, vectorcallfunc); +PyAPI_FUNC(PyObject *) PyFunction_GetKwDefaults(PyObject *); +PyAPI_FUNC(int) PyFunction_SetKwDefaults(PyObject *, PyObject *); +PyAPI_FUNC(PyObject *) PyFunction_GetClosure(PyObject *); +PyAPI_FUNC(int) PyFunction_SetClosure(PyObject *, PyObject *); +PyAPI_FUNC(PyObject *) PyFunction_GetAnnotations(PyObject *); +PyAPI_FUNC(int) PyFunction_SetAnnotations(PyObject *, PyObject *); + +PyAPI_FUNC(PyObject *) _PyFunction_Vectorcall( + PyObject *func, + PyObject *const *stack, + size_t nargsf, + PyObject *kwnames); + +#define _PyFunction_CAST(func) \ + (assert(PyFunction_Check(func)), _Py_CAST(PyFunctionObject*, func)) + +/* Static inline functions for direct access to these values. + Type checks are *not* done, so use with care. */ +static inline PyObject* PyFunction_GET_CODE(PyObject *func) { + return _PyFunction_CAST(func)->func_code; +} +#define PyFunction_GET_CODE(func) PyFunction_GET_CODE(_PyObject_CAST(func)) + +static inline PyObject* PyFunction_GET_GLOBALS(PyObject *func) { + return _PyFunction_CAST(func)->func_globals; +} +#define PyFunction_GET_GLOBALS(func) PyFunction_GET_GLOBALS(_PyObject_CAST(func)) + +static inline PyObject* PyFunction_GET_MODULE(PyObject *func) { + return _PyFunction_CAST(func)->func_module; +} +#define PyFunction_GET_MODULE(func) PyFunction_GET_MODULE(_PyObject_CAST(func)) + +static inline PyObject* PyFunction_GET_DEFAULTS(PyObject *func) { + return _PyFunction_CAST(func)->func_defaults; +} +#define PyFunction_GET_DEFAULTS(func) PyFunction_GET_DEFAULTS(_PyObject_CAST(func)) + +static inline PyObject* PyFunction_GET_KW_DEFAULTS(PyObject *func) { + return _PyFunction_CAST(func)->func_kwdefaults; +} +#define PyFunction_GET_KW_DEFAULTS(func) PyFunction_GET_KW_DEFAULTS(_PyObject_CAST(func)) + +static inline PyObject* PyFunction_GET_CLOSURE(PyObject *func) { + return _PyFunction_CAST(func)->func_closure; +} +#define PyFunction_GET_CLOSURE(func) PyFunction_GET_CLOSURE(_PyObject_CAST(func)) + +static inline PyObject* PyFunction_GET_ANNOTATIONS(PyObject *func) { + return _PyFunction_CAST(func)->func_annotations; +} +#define PyFunction_GET_ANNOTATIONS(func) PyFunction_GET_ANNOTATIONS(_PyObject_CAST(func)) + +/* The classmethod and staticmethod types lives here, too */ +PyAPI_DATA(PyTypeObject) PyClassMethod_Type; +PyAPI_DATA(PyTypeObject) PyStaticMethod_Type; + +PyAPI_FUNC(PyObject *) PyClassMethod_New(PyObject *); +PyAPI_FUNC(PyObject *) PyStaticMethod_New(PyObject *); + +#define PY_FOREACH_FUNC_EVENT(V) \ + V(CREATE) \ + V(DESTROY) \ + V(MODIFY_CODE) \ + V(MODIFY_DEFAULTS) \ + V(MODIFY_KWDEFAULTS) + +typedef enum { + #define PY_DEF_EVENT(EVENT) PyFunction_EVENT_##EVENT, + PY_FOREACH_FUNC_EVENT(PY_DEF_EVENT) + #undef PY_DEF_EVENT +} PyFunction_WatchEvent; + +/* + * A callback that is invoked for different events in a function's lifecycle. + * + * The callback is invoked with a borrowed reference to func, after it is + * created and before it is modified or destroyed. The callback should not + * modify func. + * + * When a function's code object, defaults, or kwdefaults are modified the + * callback will be invoked with the respective event and new_value will + * contain a borrowed reference to the new value that is about to be stored in + * the function. Otherwise the third argument is NULL. + * + * If the callback returns with an exception set, it must return -1. Otherwise + * it should return 0. + */ +typedef int (*PyFunction_WatchCallback)( + PyFunction_WatchEvent event, + PyFunctionObject *func, + PyObject *new_value); + +/* + * Register a per-interpreter callback that will be invoked for function lifecycle + * events. + * + * Returns a handle that may be passed to PyFunction_ClearWatcher on success, + * or -1 and sets an error if no more handles are available. + */ +PyAPI_FUNC(int) PyFunction_AddWatcher(PyFunction_WatchCallback callback); + +/* + * Clear the watcher associated with the watcher_id handle. + * + * Returns 0 on success or -1 if no watcher exists for the supplied id. + */ +PyAPI_FUNC(int) PyFunction_ClearWatcher(int watcher_id); + +#ifdef __cplusplus +} +#endif +#endif /* !Py_FUNCOBJECT_H */ +#endif /* Py_LIMITED_API */ diff --git a/_Pre_Builds/_Python312_cpp/include/cpython/genobject.h b/_Pre_Builds/_Python312_cpp/include/cpython/genobject.h new file mode 100644 index 0000000..7856481 --- /dev/null +++ b/_Pre_Builds/_Python312_cpp/include/cpython/genobject.h @@ -0,0 +1,89 @@ +/* Generator object interface */ + +#ifndef Py_LIMITED_API +#ifndef Py_GENOBJECT_H +#define Py_GENOBJECT_H +#ifdef __cplusplus +extern "C" { +#endif + +/* --- Generators --------------------------------------------------------- */ + +/* _PyGenObject_HEAD defines the initial segment of generator + and coroutine objects. */ +#define _PyGenObject_HEAD(prefix) \ + PyObject_HEAD \ + /* List of weak reference. */ \ + PyObject *prefix##_weakreflist; \ + /* Name of the generator. */ \ + PyObject *prefix##_name; \ + /* Qualified name of the generator. */ \ + PyObject *prefix##_qualname; \ + _PyErr_StackItem prefix##_exc_state; \ + PyObject *prefix##_origin_or_finalizer; \ + char prefix##_hooks_inited; \ + char prefix##_closed; \ + char prefix##_running_async; \ + /* The frame */ \ + int8_t prefix##_frame_state; \ + PyObject *prefix##_iframe[1]; \ + +typedef struct { + /* The gi_ prefix is intended to remind of generator-iterator. */ + _PyGenObject_HEAD(gi) +} PyGenObject; + +PyAPI_DATA(PyTypeObject) PyGen_Type; + +#define PyGen_Check(op) PyObject_TypeCheck((op), &PyGen_Type) +#define PyGen_CheckExact(op) Py_IS_TYPE((op), &PyGen_Type) + +PyAPI_FUNC(PyObject *) PyGen_New(PyFrameObject *); +PyAPI_FUNC(PyObject *) PyGen_NewWithQualName(PyFrameObject *, + PyObject *name, PyObject *qualname); +PyAPI_FUNC(int) _PyGen_SetStopIterationValue(PyObject *); +PyAPI_FUNC(int) _PyGen_FetchStopIterationValue(PyObject **); +PyAPI_FUNC(void) _PyGen_Finalize(PyObject *self); +PyAPI_FUNC(PyCodeObject *) PyGen_GetCode(PyGenObject *gen); + + +/* --- PyCoroObject ------------------------------------------------------- */ + +typedef struct { + _PyGenObject_HEAD(cr) +} PyCoroObject; + +PyAPI_DATA(PyTypeObject) PyCoro_Type; +PyAPI_DATA(PyTypeObject) _PyCoroWrapper_Type; + +#define PyCoro_CheckExact(op) Py_IS_TYPE((op), &PyCoro_Type) +PyAPI_FUNC(PyObject *) PyCoro_New(PyFrameObject *, + PyObject *name, PyObject *qualname); + + +/* --- Asynchronous Generators -------------------------------------------- */ + +typedef struct { + _PyGenObject_HEAD(ag) +} PyAsyncGenObject; + +PyAPI_DATA(PyTypeObject) PyAsyncGen_Type; +PyAPI_DATA(PyTypeObject) _PyAsyncGenASend_Type; +PyAPI_DATA(PyTypeObject) _PyAsyncGenWrappedValue_Type; +PyAPI_DATA(PyTypeObject) _PyAsyncGenAThrow_Type; + +PyAPI_FUNC(PyObject *) PyAsyncGen_New(PyFrameObject *, + PyObject *name, PyObject *qualname); + +#define PyAsyncGen_CheckExact(op) Py_IS_TYPE((op), &PyAsyncGen_Type) + +#define PyAsyncGenASend_CheckExact(op) Py_IS_TYPE((op), &_PyAsyncGenASend_Type) + + +#undef _PyGenObject_HEAD + +#ifdef __cplusplus +} +#endif +#endif /* !Py_GENOBJECT_H */ +#endif /* Py_LIMITED_API */ diff --git a/_Pre_Builds/_Python312_cpp/include/cpython/import.h b/_Pre_Builds/_Python312_cpp/include/cpython/import.h new file mode 100644 index 0000000..2bca4ad --- /dev/null +++ b/_Pre_Builds/_Python312_cpp/include/cpython/import.h @@ -0,0 +1,46 @@ +#ifndef Py_CPYTHON_IMPORT_H +# error "this header file must not be included directly" +#endif + +PyMODINIT_FUNC PyInit__imp(void); + +PyAPI_FUNC(int) _PyImport_IsInitialized(PyInterpreterState *); + +PyAPI_FUNC(PyObject *) _PyImport_GetModuleId(_Py_Identifier *name); +PyAPI_FUNC(int) _PyImport_SetModule(PyObject *name, PyObject *module); +PyAPI_FUNC(int) _PyImport_SetModuleString(const char *name, PyObject* module); + +PyAPI_FUNC(void) _PyImport_AcquireLock(PyInterpreterState *interp); +PyAPI_FUNC(int) _PyImport_ReleaseLock(PyInterpreterState *interp); + +PyAPI_FUNC(int) _PyImport_FixupBuiltin( + PyObject *mod, + const char *name, /* UTF-8 encoded string */ + PyObject *modules + ); +PyAPI_FUNC(int) _PyImport_FixupExtensionObject(PyObject*, PyObject *, + PyObject *, PyObject *); + +struct _inittab { + const char *name; /* ASCII encoded string */ + PyObject* (*initfunc)(void); +}; +// This is not used after Py_Initialize() is called. +PyAPI_DATA(struct _inittab *) PyImport_Inittab; +PyAPI_FUNC(int) PyImport_ExtendInittab(struct _inittab *newtab); + +struct _frozen { + const char *name; /* ASCII encoded string */ + const unsigned char *code; + int size; + int is_package; + PyObject *(*get_code)(void); +}; + +/* Embedding apps may change this pointer to point to their favorite + collection of frozen modules: */ + +PyAPI_DATA(const struct _frozen *) PyImport_FrozenModules; + +PyAPI_DATA(PyObject *) _PyImport_GetModuleAttr(PyObject *, PyObject *); +PyAPI_DATA(PyObject *) _PyImport_GetModuleAttrString(const char *, const char *); diff --git a/_Pre_Builds/_Python312_cpp/include/cpython/initconfig.h b/_Pre_Builds/_Python312_cpp/include/cpython/initconfig.h new file mode 100644 index 0000000..cbae97f --- /dev/null +++ b/_Pre_Builds/_Python312_cpp/include/cpython/initconfig.h @@ -0,0 +1,256 @@ +#ifndef Py_PYCORECONFIG_H +#define Py_PYCORECONFIG_H +#ifndef Py_LIMITED_API +#ifdef __cplusplus +extern "C" { +#endif + +/* --- PyStatus ----------------------------------------------- */ + +typedef struct { + enum { + _PyStatus_TYPE_OK=0, + _PyStatus_TYPE_ERROR=1, + _PyStatus_TYPE_EXIT=2 + } _type; + const char *func; + const char *err_msg; + int exitcode; +} PyStatus; + +PyAPI_FUNC(PyStatus) PyStatus_Ok(void); +PyAPI_FUNC(PyStatus) PyStatus_Error(const char *err_msg); +PyAPI_FUNC(PyStatus) PyStatus_NoMemory(void); +PyAPI_FUNC(PyStatus) PyStatus_Exit(int exitcode); +PyAPI_FUNC(int) PyStatus_IsError(PyStatus err); +PyAPI_FUNC(int) PyStatus_IsExit(PyStatus err); +PyAPI_FUNC(int) PyStatus_Exception(PyStatus err); +PyAPI_FUNC(PyObject *) _PyErr_SetFromPyStatus(PyStatus status); + +/* --- PyWideStringList ------------------------------------------------ */ + +typedef struct { + /* If length is greater than zero, items must be non-NULL + and all items strings must be non-NULL */ + Py_ssize_t length; + wchar_t **items; +} PyWideStringList; + +PyAPI_FUNC(PyStatus) PyWideStringList_Append(PyWideStringList *list, + const wchar_t *item); +PyAPI_FUNC(PyStatus) PyWideStringList_Insert(PyWideStringList *list, + Py_ssize_t index, + const wchar_t *item); + + +/* --- PyPreConfig ----------------------------------------------- */ + +typedef struct PyPreConfig { + int _config_init; /* _PyConfigInitEnum value */ + + /* Parse Py_PreInitializeFromBytesArgs() arguments? + See PyConfig.parse_argv */ + int parse_argv; + + /* If greater than 0, enable isolated mode: sys.path contains + neither the script's directory nor the user's site-packages directory. + + Set to 1 by the -I command line option. If set to -1 (default), inherit + Py_IsolatedFlag value. */ + int isolated; + + /* If greater than 0: use environment variables. + Set to 0 by -E command line option. If set to -1 (default), it is + set to !Py_IgnoreEnvironmentFlag. */ + int use_environment; + + /* Set the LC_CTYPE locale to the user preferred locale? If equals to 0, + set coerce_c_locale and coerce_c_locale_warn to 0. */ + int configure_locale; + + /* Coerce the LC_CTYPE locale if it's equal to "C"? (PEP 538) + + Set to 0 by PYTHONCOERCECLOCALE=0. Set to 1 by PYTHONCOERCECLOCALE=1. + Set to 2 if the user preferred LC_CTYPE locale is "C". + + If it is equal to 1, LC_CTYPE locale is read to decide if it should be + coerced or not (ex: PYTHONCOERCECLOCALE=1). Internally, it is set to 2 + if the LC_CTYPE locale must be coerced. + + Disable by default (set to 0). Set it to -1 to let Python decide if it + should be enabled or not. */ + int coerce_c_locale; + + /* Emit a warning if the LC_CTYPE locale is coerced? + + Set to 1 by PYTHONCOERCECLOCALE=warn. + + Disable by default (set to 0). Set it to -1 to let Python decide if it + should be enabled or not. */ + int coerce_c_locale_warn; + +#ifdef MS_WINDOWS + /* If greater than 1, use the "mbcs" encoding instead of the UTF-8 + encoding for the filesystem encoding. + + Set to 1 if the PYTHONLEGACYWINDOWSFSENCODING environment variable is + set to a non-empty string. If set to -1 (default), inherit + Py_LegacyWindowsFSEncodingFlag value. + + See PEP 529 for more details. */ + int legacy_windows_fs_encoding; +#endif + + /* Enable UTF-8 mode? (PEP 540) + + Disabled by default (equals to 0). + + Set to 1 by "-X utf8" and "-X utf8=1" command line options. + Set to 1 by PYTHONUTF8=1 environment variable. + + Set to 0 by "-X utf8=0" and PYTHONUTF8=0. + + If equals to -1, it is set to 1 if the LC_CTYPE locale is "C" or + "POSIX", otherwise it is set to 0. Inherit Py_UTF8Mode value value. */ + int utf8_mode; + + /* If non-zero, enable the Python Development Mode. + + Set to 1 by the -X dev command line option. Set by the PYTHONDEVMODE + environment variable. */ + int dev_mode; + + /* Memory allocator: PYTHONMALLOC env var. + See PyMemAllocatorName for valid values. */ + int allocator; +} PyPreConfig; + +PyAPI_FUNC(void) PyPreConfig_InitPythonConfig(PyPreConfig *config); +PyAPI_FUNC(void) PyPreConfig_InitIsolatedConfig(PyPreConfig *config); + + +/* --- PyConfig ---------------------------------------------- */ + +/* This structure is best documented in the Doc/c-api/init_config.rst file. */ +typedef struct PyConfig { + int _config_init; /* _PyConfigInitEnum value */ + + int isolated; + int use_environment; + int dev_mode; + int install_signal_handlers; + int use_hash_seed; + unsigned long hash_seed; + int faulthandler; + int tracemalloc; + int perf_profiling; + int import_time; + int code_debug_ranges; + int show_ref_count; + int dump_refs; + wchar_t *dump_refs_file; + int malloc_stats; + wchar_t *filesystem_encoding; + wchar_t *filesystem_errors; + wchar_t *pycache_prefix; + int parse_argv; + PyWideStringList orig_argv; + PyWideStringList argv; + PyWideStringList xoptions; + PyWideStringList warnoptions; + int site_import; + int bytes_warning; + int warn_default_encoding; + int inspect; + int interactive; + int optimization_level; + int parser_debug; + int write_bytecode; + int verbose; + int quiet; + int user_site_directory; + int configure_c_stdio; + int buffered_stdio; + wchar_t *stdio_encoding; + wchar_t *stdio_errors; +#ifdef MS_WINDOWS + int legacy_windows_stdio; +#endif + wchar_t *check_hash_pycs_mode; + int use_frozen_modules; + int safe_path; + int int_max_str_digits; + + /* --- Path configuration inputs ------------ */ + int pathconfig_warnings; + wchar_t *program_name; + wchar_t *pythonpath_env; + wchar_t *home; + wchar_t *platlibdir; + + /* --- Path configuration outputs ----------- */ + int module_search_paths_set; + PyWideStringList module_search_paths; + wchar_t *stdlib_dir; + wchar_t *executable; + wchar_t *base_executable; + wchar_t *prefix; + wchar_t *base_prefix; + wchar_t *exec_prefix; + wchar_t *base_exec_prefix; + + /* --- Parameter only used by Py_Main() ---------- */ + int skip_source_first_line; + wchar_t *run_command; + wchar_t *run_module; + wchar_t *run_filename; + + /* --- Private fields ---------------------------- */ + + // Install importlib? If equals to 0, importlib is not initialized at all. + // Needed by freeze_importlib. + int _install_importlib; + + // If equal to 0, stop Python initialization before the "main" phase. + int _init_main; + + // If non-zero, we believe we're running from a source tree. + int _is_python_build; +} PyConfig; + +PyAPI_FUNC(void) PyConfig_InitPythonConfig(PyConfig *config); +PyAPI_FUNC(void) PyConfig_InitIsolatedConfig(PyConfig *config); +PyAPI_FUNC(void) PyConfig_Clear(PyConfig *); +PyAPI_FUNC(PyStatus) PyConfig_SetString( + PyConfig *config, + wchar_t **config_str, + const wchar_t *str); +PyAPI_FUNC(PyStatus) PyConfig_SetBytesString( + PyConfig *config, + wchar_t **config_str, + const char *str); +PyAPI_FUNC(PyStatus) PyConfig_Read(PyConfig *config); +PyAPI_FUNC(PyStatus) PyConfig_SetBytesArgv( + PyConfig *config, + Py_ssize_t argc, + char * const *argv); +PyAPI_FUNC(PyStatus) PyConfig_SetArgv(PyConfig *config, + Py_ssize_t argc, + wchar_t * const *argv); +PyAPI_FUNC(PyStatus) PyConfig_SetWideStringList(PyConfig *config, + PyWideStringList *list, + Py_ssize_t length, wchar_t **items); + + +/* --- Helper functions --------------------------------------- */ + +/* Get the original command line arguments, before Python modified them. + + See also PyConfig.orig_argv. */ +PyAPI_FUNC(void) Py_GetArgcArgv(int *argc, wchar_t ***argv); + +#ifdef __cplusplus +} +#endif +#endif /* !Py_LIMITED_API */ +#endif /* !Py_PYCORECONFIG_H */ diff --git a/_Pre_Builds/_Python312_cpp/include/cpython/interpreteridobject.h b/_Pre_Builds/_Python312_cpp/include/cpython/interpreteridobject.h new file mode 100644 index 0000000..5076584 --- /dev/null +++ b/_Pre_Builds/_Python312_cpp/include/cpython/interpreteridobject.h @@ -0,0 +1,11 @@ +#ifndef Py_CPYTHON_INTERPRETERIDOBJECT_H +# error "this header file must not be included directly" +#endif + +/* Interpreter ID Object */ + +PyAPI_DATA(PyTypeObject) _PyInterpreterID_Type; + +PyAPI_FUNC(PyObject *) _PyInterpreterID_New(int64_t); +PyAPI_FUNC(PyObject *) _PyInterpreterState_GetIDObject(PyInterpreterState *); +PyAPI_FUNC(PyInterpreterState *) _PyInterpreterID_LookUp(PyObject *); diff --git a/_Pre_Builds/_Python312_cpp/include/cpython/listobject.h b/_Pre_Builds/_Python312_cpp/include/cpython/listobject.h new file mode 100644 index 0000000..8fa8212 --- /dev/null +++ b/_Pre_Builds/_Python312_cpp/include/cpython/listobject.h @@ -0,0 +1,47 @@ +#ifndef Py_CPYTHON_LISTOBJECT_H +# error "this header file must not be included directly" +#endif + +typedef struct { + PyObject_VAR_HEAD + /* Vector of pointers to list elements. list[0] is ob_item[0], etc. */ + PyObject **ob_item; + + /* ob_item contains space for 'allocated' elements. The number + * currently in use is ob_size. + * Invariants: + * 0 <= ob_size <= allocated + * len(list) == ob_size + * ob_item == NULL implies ob_size == allocated == 0 + * list.sort() temporarily sets allocated to -1 to detect mutations. + * + * Items must normally not be NULL, except during construction when + * the list is not yet visible outside the function that builds it. + */ + Py_ssize_t allocated; +} PyListObject; + +PyAPI_FUNC(PyObject *) _PyList_Extend(PyListObject *, PyObject *); +PyAPI_FUNC(void) _PyList_DebugMallocStats(FILE *out); + +/* Cast argument to PyListObject* type. */ +#define _PyList_CAST(op) \ + (assert(PyList_Check(op)), _Py_CAST(PyListObject*, (op))) + +// Macros and static inline functions, trading safety for speed + +static inline Py_ssize_t PyList_GET_SIZE(PyObject *op) { + PyListObject *list = _PyList_CAST(op); + return Py_SIZE(list); +} +#define PyList_GET_SIZE(op) PyList_GET_SIZE(_PyObject_CAST(op)) + +#define PyList_GET_ITEM(op, index) (_PyList_CAST(op)->ob_item[(index)]) + +static inline void +PyList_SET_ITEM(PyObject *op, Py_ssize_t index, PyObject *value) { + PyListObject *list = _PyList_CAST(op); + list->ob_item[index] = value; +} +#define PyList_SET_ITEM(op, index, value) \ + PyList_SET_ITEM(_PyObject_CAST(op), (index), _PyObject_CAST(value)) diff --git a/_Pre_Builds/_Python312_cpp/include/cpython/longintrepr.h b/_Pre_Builds/_Python312_cpp/include/cpython/longintrepr.h new file mode 100644 index 0000000..692c69b --- /dev/null +++ b/_Pre_Builds/_Python312_cpp/include/cpython/longintrepr.h @@ -0,0 +1,132 @@ +#ifndef Py_LIMITED_API +#ifndef Py_LONGINTREPR_H +#define Py_LONGINTREPR_H +#ifdef __cplusplus +extern "C" { +#endif + + +/* This is published for the benefit of "friends" marshal.c and _decimal.c. */ + +/* Parameters of the integer representation. There are two different + sets of parameters: one set for 30-bit digits, stored in an unsigned 32-bit + integer type, and one set for 15-bit digits with each digit stored in an + unsigned short. The value of PYLONG_BITS_IN_DIGIT, defined either at + configure time or in pyport.h, is used to decide which digit size to use. + + Type 'digit' should be able to hold 2*PyLong_BASE-1, and type 'twodigits' + should be an unsigned integer type able to hold all integers up to + PyLong_BASE*PyLong_BASE-1. x_sub assumes that 'digit' is an unsigned type, + and that overflow is handled by taking the result modulo 2**N for some N > + PyLong_SHIFT. The majority of the code doesn't care about the precise + value of PyLong_SHIFT, but there are some notable exceptions: + + - PyLong_{As,From}ByteArray require that PyLong_SHIFT be at least 8 + + - long_hash() requires that PyLong_SHIFT is *strictly* less than the number + of bits in an unsigned long, as do the PyLong <-> long (or unsigned long) + conversion functions + + - the Python int <-> size_t/Py_ssize_t conversion functions expect that + PyLong_SHIFT is strictly less than the number of bits in a size_t + + - the marshal code currently expects that PyLong_SHIFT is a multiple of 15 + + - NSMALLNEGINTS and NSMALLPOSINTS should be small enough to fit in a single + digit; with the current values this forces PyLong_SHIFT >= 9 + + The values 15 and 30 should fit all of the above requirements, on any + platform. +*/ + +#if PYLONG_BITS_IN_DIGIT == 30 +typedef uint32_t digit; +typedef int32_t sdigit; /* signed variant of digit */ +typedef uint64_t twodigits; +typedef int64_t stwodigits; /* signed variant of twodigits */ +#define PyLong_SHIFT 30 +#define _PyLong_DECIMAL_SHIFT 9 /* max(e such that 10**e fits in a digit) */ +#define _PyLong_DECIMAL_BASE ((digit)1000000000) /* 10 ** DECIMAL_SHIFT */ +#elif PYLONG_BITS_IN_DIGIT == 15 +typedef unsigned short digit; +typedef short sdigit; /* signed variant of digit */ +typedef unsigned long twodigits; +typedef long stwodigits; /* signed variant of twodigits */ +#define PyLong_SHIFT 15 +#define _PyLong_DECIMAL_SHIFT 4 /* max(e such that 10**e fits in a digit) */ +#define _PyLong_DECIMAL_BASE ((digit)10000) /* 10 ** DECIMAL_SHIFT */ +#else +#error "PYLONG_BITS_IN_DIGIT should be 15 or 30" +#endif +#define PyLong_BASE ((digit)1 << PyLong_SHIFT) +#define PyLong_MASK ((digit)(PyLong_BASE - 1)) + +/* Long integer representation. + The absolute value of a number is equal to + SUM(for i=0 through abs(ob_size)-1) ob_digit[i] * 2**(SHIFT*i) + Negative numbers are represented with ob_size < 0; + zero is represented by ob_size == 0. + In a normalized number, ob_digit[abs(ob_size)-1] (the most significant + digit) is never zero. Also, in all cases, for all valid i, + 0 <= ob_digit[i] <= MASK. + The allocation function takes care of allocating extra memory + so that ob_digit[0] ... ob_digit[abs(ob_size)-1] are actually available. + We always allocate memory for at least one digit, so accessing ob_digit[0] + is always safe. However, in the case ob_size == 0, the contents of + ob_digit[0] may be undefined. + + CAUTION: Generic code manipulating subtypes of PyVarObject has to + aware that ints abuse ob_size's sign bit. +*/ + +typedef struct _PyLongValue { + uintptr_t lv_tag; /* Number of digits, sign and flags */ + digit ob_digit[1]; +} _PyLongValue; + +struct _longobject { + PyObject_HEAD + _PyLongValue long_value; +}; + +PyAPI_FUNC(PyLongObject *) _PyLong_New(Py_ssize_t); + +/* Return a copy of src. */ +PyAPI_FUNC(PyObject *) _PyLong_Copy(PyLongObject *src); + +PyAPI_FUNC(PyLongObject *) +_PyLong_FromDigits(int negative, Py_ssize_t digit_count, digit *digits); + + +/* Inline some internals for speed. These should be in pycore_long.h + * if user code didn't need them inlined. */ + +#define _PyLong_SIGN_MASK 3 +#define _PyLong_NON_SIZE_BITS 3 + + +static inline int +_PyLong_IsCompact(const PyLongObject* op) { + assert(PyType_HasFeature((op)->ob_base.ob_type, Py_TPFLAGS_LONG_SUBCLASS)); + return op->long_value.lv_tag < (2 << _PyLong_NON_SIZE_BITS); +} + +#define PyUnstable_Long_IsCompact _PyLong_IsCompact + +static inline Py_ssize_t +_PyLong_CompactValue(const PyLongObject *op) +{ + assert(PyType_HasFeature((op)->ob_base.ob_type, Py_TPFLAGS_LONG_SUBCLASS)); + assert(PyUnstable_Long_IsCompact(op)); + Py_ssize_t sign = 1 - (op->long_value.lv_tag & _PyLong_SIGN_MASK); + return sign * (Py_ssize_t)op->long_value.ob_digit[0]; +} + +#define PyUnstable_Long_CompactValue _PyLong_CompactValue + + +#ifdef __cplusplus +} +#endif +#endif /* !Py_LONGINTREPR_H */ +#endif /* Py_LIMITED_API */ diff --git a/_Pre_Builds/_Python312_cpp/include/cpython/longobject.h b/_Pre_Builds/_Python312_cpp/include/cpython/longobject.h new file mode 100644 index 0000000..90cc0f2 --- /dev/null +++ b/_Pre_Builds/_Python312_cpp/include/cpython/longobject.h @@ -0,0 +1,100 @@ +#ifndef Py_CPYTHON_LONGOBJECT_H +# error "this header file must not be included directly" +#endif + +PyAPI_FUNC(int) _PyLong_AsInt(PyObject *); + +PyAPI_FUNC(int) _PyLong_UnsignedShort_Converter(PyObject *, void *); +PyAPI_FUNC(int) _PyLong_UnsignedInt_Converter(PyObject *, void *); +PyAPI_FUNC(int) _PyLong_UnsignedLong_Converter(PyObject *, void *); +PyAPI_FUNC(int) _PyLong_UnsignedLongLong_Converter(PyObject *, void *); +PyAPI_FUNC(int) _PyLong_Size_t_Converter(PyObject *, void *); + +/* _PyLong_Frexp returns a double x and an exponent e such that the + true value is approximately equal to x * 2**e. e is >= 0. x is + 0.0 if and only if the input is 0 (in which case, e and x are both + zeroes); otherwise, 0.5 <= abs(x) < 1.0. On overflow, which is + possible if the number of bits doesn't fit into a Py_ssize_t, sets + OverflowError and returns -1.0 for x, 0 for e. */ +PyAPI_FUNC(double) _PyLong_Frexp(PyLongObject *a, Py_ssize_t *e); + +PyAPI_FUNC(PyObject *) PyLong_FromUnicodeObject(PyObject *u, int base); +PyAPI_FUNC(PyObject *) _PyLong_FromBytes(const char *, Py_ssize_t, int); + +/* _PyLong_Sign. Return 0 if v is 0, -1 if v < 0, +1 if v > 0. + v must not be NULL, and must be a normalized long. + There are no error cases. +*/ +PyAPI_FUNC(int) _PyLong_Sign(PyObject *v); + +/* _PyLong_NumBits. Return the number of bits needed to represent the + absolute value of a long. For example, this returns 1 for 1 and -1, 2 + for 2 and -2, and 2 for 3 and -3. It returns 0 for 0. + v must not be NULL, and must be a normalized long. + (size_t)-1 is returned and OverflowError set if the true result doesn't + fit in a size_t. +*/ +PyAPI_FUNC(size_t) _PyLong_NumBits(PyObject *v); + +/* _PyLong_DivmodNear. Given integers a and b, compute the nearest + integer q to the exact quotient a / b, rounding to the nearest even integer + in the case of a tie. Return (q, r), where r = a - q*b. The remainder r + will satisfy abs(r) <= abs(b)/2, with equality possible only if q is + even. +*/ +PyAPI_FUNC(PyObject *) _PyLong_DivmodNear(PyObject *, PyObject *); + +/* _PyLong_FromByteArray: View the n unsigned bytes as a binary integer in + base 256, and return a Python int with the same numeric value. + If n is 0, the integer is 0. Else: + If little_endian is 1/true, bytes[n-1] is the MSB and bytes[0] the LSB; + else (little_endian is 0/false) bytes[0] is the MSB and bytes[n-1] the + LSB. + If is_signed is 0/false, view the bytes as a non-negative integer. + If is_signed is 1/true, view the bytes as a 2's-complement integer, + non-negative if bit 0x80 of the MSB is clear, negative if set. + Error returns: + + Return NULL with the appropriate exception set if there's not + enough memory to create the Python int. +*/ +PyAPI_FUNC(PyObject *) _PyLong_FromByteArray( + const unsigned char* bytes, size_t n, + int little_endian, int is_signed); + +/* _PyLong_AsByteArray: Convert the least-significant 8*n bits of long + v to a base-256 integer, stored in array bytes. Normally return 0, + return -1 on error. + If little_endian is 1/true, store the MSB at bytes[n-1] and the LSB at + bytes[0]; else (little_endian is 0/false) store the MSB at bytes[0] and + the LSB at bytes[n-1]. + If is_signed is 0/false, it's an error if v < 0; else (v >= 0) n bytes + are filled and there's nothing special about bit 0x80 of the MSB. + If is_signed is 1/true, bytes is filled with the 2's-complement + representation of v's value. Bit 0x80 of the MSB is the sign bit. + Error returns (-1): + + is_signed is 0 and v < 0. TypeError is set in this case, and bytes + isn't altered. + + n isn't big enough to hold the full mathematical value of v. For + example, if is_signed is 0 and there are more digits in the v than + fit in n; or if is_signed is 1, v < 0, and n is just 1 bit shy of + being large enough to hold a sign bit. OverflowError is set in this + case, but bytes holds the least-significant n bytes of the true value. +*/ +PyAPI_FUNC(int) _PyLong_AsByteArray(PyLongObject* v, + unsigned char* bytes, size_t n, + int little_endian, int is_signed); + +/* _PyLong_Format: Convert the long to a string object with given base, + appending a base prefix of 0[box] if base is 2, 8 or 16. */ +PyAPI_FUNC(PyObject *) _PyLong_Format(PyObject *obj, int base); + +/* For use by the gcd function in mathmodule.c */ +PyAPI_FUNC(PyObject *) _PyLong_GCD(PyObject *, PyObject *); + +PyAPI_FUNC(PyObject *) _PyLong_Rshift(PyObject *, size_t); +PyAPI_FUNC(PyObject *) _PyLong_Lshift(PyObject *, size_t); + + +PyAPI_FUNC(int) PyUnstable_Long_IsCompact(const PyLongObject* op); +PyAPI_FUNC(Py_ssize_t) PyUnstable_Long_CompactValue(const PyLongObject* op); + diff --git a/_Pre_Builds/_Python312_cpp/include/cpython/memoryobject.h b/_Pre_Builds/_Python312_cpp/include/cpython/memoryobject.h new file mode 100644 index 0000000..3837fa8 --- /dev/null +++ b/_Pre_Builds/_Python312_cpp/include/cpython/memoryobject.h @@ -0,0 +1,52 @@ +#ifndef Py_CPYTHON_MEMORYOBJECT_H +# error "this header file must not be included directly" +#endif + +PyAPI_DATA(PyTypeObject) _PyManagedBuffer_Type; + +/* The structs are declared here so that macros can work, but they shouldn't + be considered public. Don't access their fields directly, use the macros + and functions instead! */ +#define _Py_MANAGED_BUFFER_RELEASED 0x001 /* access to exporter blocked */ +#define _Py_MANAGED_BUFFER_FREE_FORMAT 0x002 /* free format */ + +typedef struct { + PyObject_HEAD + int flags; /* state flags */ + Py_ssize_t exports; /* number of direct memoryview exports */ + Py_buffer master; /* snapshot buffer obtained from the original exporter */ +} _PyManagedBufferObject; + + +/* memoryview state flags */ +#define _Py_MEMORYVIEW_RELEASED 0x001 /* access to master buffer blocked */ +#define _Py_MEMORYVIEW_C 0x002 /* C-contiguous layout */ +#define _Py_MEMORYVIEW_FORTRAN 0x004 /* Fortran contiguous layout */ +#define _Py_MEMORYVIEW_SCALAR 0x008 /* scalar: ndim = 0 */ +#define _Py_MEMORYVIEW_PIL 0x010 /* PIL-style layout */ +#define _Py_MEMORYVIEW_RESTRICTED 0x020 /* Disallow new references to the memoryview's buffer */ + +typedef struct { + PyObject_VAR_HEAD + _PyManagedBufferObject *mbuf; /* managed buffer */ + Py_hash_t hash; /* hash value for read-only views */ + int flags; /* state flags */ + Py_ssize_t exports; /* number of buffer re-exports */ + Py_buffer view; /* private copy of the exporter's view */ + PyObject *weakreflist; + Py_ssize_t ob_array[1]; /* shape, strides, suboffsets */ +} PyMemoryViewObject; + +#define _PyMemoryView_CAST(op) _Py_CAST(PyMemoryViewObject*, op) + +/* Get a pointer to the memoryview's private copy of the exporter's buffer. */ +static inline Py_buffer* PyMemoryView_GET_BUFFER(PyObject *op) { + return (&_PyMemoryView_CAST(op)->view); +} +#define PyMemoryView_GET_BUFFER(op) PyMemoryView_GET_BUFFER(_PyObject_CAST(op)) + +/* Get a pointer to the exporting object (this may be NULL!). */ +static inline PyObject* PyMemoryView_GET_BASE(PyObject *op) { + return _PyMemoryView_CAST(op)->view.obj; +} +#define PyMemoryView_GET_BASE(op) PyMemoryView_GET_BASE(_PyObject_CAST(op)) diff --git a/_Pre_Builds/_Python312_cpp/include/cpython/methodobject.h b/_Pre_Builds/_Python312_cpp/include/cpython/methodobject.h new file mode 100644 index 0000000..d541e15 --- /dev/null +++ b/_Pre_Builds/_Python312_cpp/include/cpython/methodobject.h @@ -0,0 +1,66 @@ +#ifndef Py_CPYTHON_METHODOBJECT_H +# error "this header file must not be included directly" +#endif + +// PyCFunctionObject structure + +typedef struct { + PyObject_HEAD + PyMethodDef *m_ml; /* Description of the C function to call */ + PyObject *m_self; /* Passed as 'self' arg to the C func, can be NULL */ + PyObject *m_module; /* The __module__ attribute, can be anything */ + PyObject *m_weakreflist; /* List of weak references */ + vectorcallfunc vectorcall; +} PyCFunctionObject; + +#define _PyCFunctionObject_CAST(func) \ + (assert(PyCFunction_Check(func)), \ + _Py_CAST(PyCFunctionObject*, (func))) + + +// PyCMethodObject structure + +typedef struct { + PyCFunctionObject func; + PyTypeObject *mm_class; /* Class that defines this method */ +} PyCMethodObject; + +#define _PyCMethodObject_CAST(func) \ + (assert(PyCMethod_Check(func)), \ + _Py_CAST(PyCMethodObject*, (func))) + +PyAPI_DATA(PyTypeObject) PyCMethod_Type; + +#define PyCMethod_CheckExact(op) Py_IS_TYPE((op), &PyCMethod_Type) +#define PyCMethod_Check(op) PyObject_TypeCheck((op), &PyCMethod_Type) + + +/* Static inline functions for direct access to these values. + Type checks are *not* done, so use with care. */ +static inline PyCFunction PyCFunction_GET_FUNCTION(PyObject *func) { + return _PyCFunctionObject_CAST(func)->m_ml->ml_meth; +} +#define PyCFunction_GET_FUNCTION(func) PyCFunction_GET_FUNCTION(_PyObject_CAST(func)) + +static inline PyObject* PyCFunction_GET_SELF(PyObject *func_obj) { + PyCFunctionObject *func = _PyCFunctionObject_CAST(func_obj); + if (func->m_ml->ml_flags & METH_STATIC) { + return _Py_NULL; + } + return func->m_self; +} +#define PyCFunction_GET_SELF(func) PyCFunction_GET_SELF(_PyObject_CAST(func)) + +static inline int PyCFunction_GET_FLAGS(PyObject *func) { + return _PyCFunctionObject_CAST(func)->m_ml->ml_flags; +} +#define PyCFunction_GET_FLAGS(func) PyCFunction_GET_FLAGS(_PyObject_CAST(func)) + +static inline PyTypeObject* PyCFunction_GET_CLASS(PyObject *func_obj) { + PyCFunctionObject *func = _PyCFunctionObject_CAST(func_obj); + if (func->m_ml->ml_flags & METH_METHOD) { + return _PyCMethodObject_CAST(func)->mm_class; + } + return _Py_NULL; +} +#define PyCFunction_GET_CLASS(func) PyCFunction_GET_CLASS(_PyObject_CAST(func)) diff --git a/_Pre_Builds/_Python312_cpp/include/cpython/modsupport.h b/_Pre_Builds/_Python312_cpp/include/cpython/modsupport.h new file mode 100644 index 0000000..2259291 --- /dev/null +++ b/_Pre_Builds/_Python312_cpp/include/cpython/modsupport.h @@ -0,0 +1,109 @@ +#ifndef Py_CPYTHON_MODSUPPORT_H +# error "this header file must not be included directly" +#endif + +/* If PY_SSIZE_T_CLEAN is defined, each functions treats #-specifier + to mean Py_ssize_t */ +#ifdef PY_SSIZE_T_CLEAN +#define _Py_VaBuildStack _Py_VaBuildStack_SizeT +#else +PyAPI_FUNC(PyObject *) _Py_VaBuildValue_SizeT(const char *, va_list); +PyAPI_FUNC(PyObject **) _Py_VaBuildStack_SizeT( + PyObject **small_stack, + Py_ssize_t small_stack_len, + const char *format, + va_list va, + Py_ssize_t *p_nargs); +#endif + +PyAPI_FUNC(int) _PyArg_UnpackStack( + PyObject *const *args, + Py_ssize_t nargs, + const char *name, + Py_ssize_t min, + Py_ssize_t max, + ...); + +PyAPI_FUNC(int) _PyArg_NoKeywords(const char *funcname, PyObject *kwargs); +PyAPI_FUNC(int) _PyArg_NoKwnames(const char *funcname, PyObject *kwnames); +PyAPI_FUNC(int) _PyArg_NoPositional(const char *funcname, PyObject *args); +#define _PyArg_NoKeywords(funcname, kwargs) \ + ((kwargs) == NULL || _PyArg_NoKeywords((funcname), (kwargs))) +#define _PyArg_NoKwnames(funcname, kwnames) \ + ((kwnames) == NULL || _PyArg_NoKwnames((funcname), (kwnames))) +#define _PyArg_NoPositional(funcname, args) \ + ((args) == NULL || _PyArg_NoPositional((funcname), (args))) + +#define _Py_ANY_VARARGS(n) ((n) == PY_SSIZE_T_MAX) + +PyAPI_FUNC(void) _PyArg_BadArgument(const char *, const char *, const char *, PyObject *); +PyAPI_FUNC(int) _PyArg_CheckPositional(const char *, Py_ssize_t, + Py_ssize_t, Py_ssize_t); +#define _PyArg_CheckPositional(funcname, nargs, min, max) \ + ((!_Py_ANY_VARARGS(max) && (min) <= (nargs) && (nargs) <= (max)) \ + || _PyArg_CheckPositional((funcname), (nargs), (min), (max))) + +PyAPI_FUNC(PyObject **) _Py_VaBuildStack( + PyObject **small_stack, + Py_ssize_t small_stack_len, + const char *format, + va_list va, + Py_ssize_t *p_nargs); + +typedef struct _PyArg_Parser { + int initialized; + const char *format; + const char * const *keywords; + const char *fname; + const char *custom_msg; + int pos; /* number of positional-only arguments */ + int min; /* minimal number of arguments */ + int max; /* maximal number of positional arguments */ + PyObject *kwtuple; /* tuple of keyword parameter names */ + struct _PyArg_Parser *next; +} _PyArg_Parser; + +#ifdef PY_SSIZE_T_CLEAN +#define _PyArg_ParseTupleAndKeywordsFast _PyArg_ParseTupleAndKeywordsFast_SizeT +#define _PyArg_ParseStack _PyArg_ParseStack_SizeT +#define _PyArg_ParseStackAndKeywords _PyArg_ParseStackAndKeywords_SizeT +#define _PyArg_VaParseTupleAndKeywordsFast _PyArg_VaParseTupleAndKeywordsFast_SizeT +#endif + +PyAPI_FUNC(int) _PyArg_ParseTupleAndKeywordsFast(PyObject *, PyObject *, + struct _PyArg_Parser *, ...); +PyAPI_FUNC(int) _PyArg_ParseStack( + PyObject *const *args, + Py_ssize_t nargs, + const char *format, + ...); +PyAPI_FUNC(int) _PyArg_ParseStackAndKeywords( + PyObject *const *args, + Py_ssize_t nargs, + PyObject *kwnames, + struct _PyArg_Parser *, + ...); +PyAPI_FUNC(int) _PyArg_VaParseTupleAndKeywordsFast(PyObject *, PyObject *, + struct _PyArg_Parser *, va_list); +PyAPI_FUNC(PyObject * const *) _PyArg_UnpackKeywords( + PyObject *const *args, Py_ssize_t nargs, + PyObject *kwargs, PyObject *kwnames, + struct _PyArg_Parser *parser, + int minpos, int maxpos, int minkw, + PyObject **buf); + +PyAPI_FUNC(PyObject * const *) _PyArg_UnpackKeywordsWithVararg( + PyObject *const *args, Py_ssize_t nargs, + PyObject *kwargs, PyObject *kwnames, + struct _PyArg_Parser *parser, + int minpos, int maxpos, int minkw, + int vararg, PyObject **buf); + +#define _PyArg_UnpackKeywords(args, nargs, kwargs, kwnames, parser, minpos, maxpos, minkw, buf) \ + (((minkw) == 0 && (kwargs) == NULL && (kwnames) == NULL && \ + (minpos) <= (nargs) && (nargs) <= (maxpos) && (args) != NULL) ? (args) : \ + _PyArg_UnpackKeywords((args), (nargs), (kwargs), (kwnames), (parser), \ + (minpos), (maxpos), (minkw), (buf))) + +PyAPI_FUNC(PyObject *) _PyModule_CreateInitialized(PyModuleDef*, int apiver); +PyAPI_FUNC(int) _PyModule_Add(PyObject *, const char *, PyObject *); diff --git a/_Pre_Builds/_Python312_cpp/include/cpython/object.h b/_Pre_Builds/_Python312_cpp/include/cpython/object.h new file mode 100644 index 0000000..ae7f780 --- /dev/null +++ b/_Pre_Builds/_Python312_cpp/include/cpython/object.h @@ -0,0 +1,575 @@ +#ifndef Py_CPYTHON_OBJECT_H +# error "this header file must not be included directly" +#endif + +PyAPI_FUNC(void) _Py_NewReference(PyObject *op); +PyAPI_FUNC(void) _Py_NewReferenceNoTotal(PyObject *op); + +#ifdef Py_TRACE_REFS +/* Py_TRACE_REFS is such major surgery that we call external routines. */ +PyAPI_FUNC(void) _Py_ForgetReference(PyObject *); +#endif + +#ifdef Py_REF_DEBUG +/* These are useful as debugging aids when chasing down refleaks. */ +PyAPI_FUNC(Py_ssize_t) _Py_GetGlobalRefTotal(void); +# define _Py_GetRefTotal() _Py_GetGlobalRefTotal() +PyAPI_FUNC(Py_ssize_t) _Py_GetLegacyRefTotal(void); +PyAPI_FUNC(Py_ssize_t) _PyInterpreterState_GetRefTotal(PyInterpreterState *); +#endif + + +/********************* String Literals ****************************************/ +/* This structure helps managing static strings. The basic usage goes like this: + Instead of doing + + r = PyObject_CallMethod(o, "foo", "args", ...); + + do + + _Py_IDENTIFIER(foo); + ... + r = _PyObject_CallMethodId(o, &PyId_foo, "args", ...); + + PyId_foo is a static variable, either on block level or file level. On first + usage, the string "foo" is interned, and the structures are linked. On interpreter + shutdown, all strings are released. + + Alternatively, _Py_static_string allows choosing the variable name. + _PyUnicode_FromId returns a borrowed reference to the interned string. + _PyObject_{Get,Set,Has}AttrId are __getattr__ versions using _Py_Identifier*. +*/ +typedef struct _Py_Identifier { + const char* string; + // Index in PyInterpreterState.unicode.ids.array. It is process-wide + // unique and must be initialized to -1. + Py_ssize_t index; +} _Py_Identifier; + +#ifndef Py_BUILD_CORE +// For now we are keeping _Py_IDENTIFIER for continued use +// in non-builtin extensions (and naughty PyPI modules). + +#define _Py_static_string_init(value) { .string = (value), .index = -1 } +#define _Py_static_string(varname, value) static _Py_Identifier varname = _Py_static_string_init(value) +#define _Py_IDENTIFIER(varname) _Py_static_string(PyId_##varname, #varname) + +#endif /* !Py_BUILD_CORE */ + +typedef struct { + /* Number implementations must check *both* + arguments for proper type and implement the necessary conversions + in the slot functions themselves. */ + + binaryfunc nb_add; + binaryfunc nb_subtract; + binaryfunc nb_multiply; + binaryfunc nb_remainder; + binaryfunc nb_divmod; + ternaryfunc nb_power; + unaryfunc nb_negative; + unaryfunc nb_positive; + unaryfunc nb_absolute; + inquiry nb_bool; + unaryfunc nb_invert; + binaryfunc nb_lshift; + binaryfunc nb_rshift; + binaryfunc nb_and; + binaryfunc nb_xor; + binaryfunc nb_or; + unaryfunc nb_int; + void *nb_reserved; /* the slot formerly known as nb_long */ + unaryfunc nb_float; + + binaryfunc nb_inplace_add; + binaryfunc nb_inplace_subtract; + binaryfunc nb_inplace_multiply; + binaryfunc nb_inplace_remainder; + ternaryfunc nb_inplace_power; + binaryfunc nb_inplace_lshift; + binaryfunc nb_inplace_rshift; + binaryfunc nb_inplace_and; + binaryfunc nb_inplace_xor; + binaryfunc nb_inplace_or; + + binaryfunc nb_floor_divide; + binaryfunc nb_true_divide; + binaryfunc nb_inplace_floor_divide; + binaryfunc nb_inplace_true_divide; + + unaryfunc nb_index; + + binaryfunc nb_matrix_multiply; + binaryfunc nb_inplace_matrix_multiply; +} PyNumberMethods; + +typedef struct { + lenfunc sq_length; + binaryfunc sq_concat; + ssizeargfunc sq_repeat; + ssizeargfunc sq_item; + void *was_sq_slice; + ssizeobjargproc sq_ass_item; + void *was_sq_ass_slice; + objobjproc sq_contains; + + binaryfunc sq_inplace_concat; + ssizeargfunc sq_inplace_repeat; +} PySequenceMethods; + +typedef struct { + lenfunc mp_length; + binaryfunc mp_subscript; + objobjargproc mp_ass_subscript; +} PyMappingMethods; + +typedef PySendResult (*sendfunc)(PyObject *iter, PyObject *value, PyObject **result); + +typedef struct { + unaryfunc am_await; + unaryfunc am_aiter; + unaryfunc am_anext; + sendfunc am_send; +} PyAsyncMethods; + +typedef struct { + getbufferproc bf_getbuffer; + releasebufferproc bf_releasebuffer; +} PyBufferProcs; + +/* Allow printfunc in the tp_vectorcall_offset slot for + * backwards-compatibility */ +typedef Py_ssize_t printfunc; + +// If this structure is modified, Doc/includes/typestruct.h should be updated +// as well. +struct _typeobject { + PyObject_VAR_HEAD + const char *tp_name; /* For printing, in format "." */ + Py_ssize_t tp_basicsize, tp_itemsize; /* For allocation */ + + /* Methods to implement standard operations */ + + destructor tp_dealloc; + Py_ssize_t tp_vectorcall_offset; + getattrfunc tp_getattr; + setattrfunc tp_setattr; + PyAsyncMethods *tp_as_async; /* formerly known as tp_compare (Python 2) + or tp_reserved (Python 3) */ + reprfunc tp_repr; + + /* Method suites for standard classes */ + + PyNumberMethods *tp_as_number; + PySequenceMethods *tp_as_sequence; + PyMappingMethods *tp_as_mapping; + + /* More standard operations (here for binary compatibility) */ + + hashfunc tp_hash; + ternaryfunc tp_call; + reprfunc tp_str; + getattrofunc tp_getattro; + setattrofunc tp_setattro; + + /* Functions to access object as input/output buffer */ + PyBufferProcs *tp_as_buffer; + + /* Flags to define presence of optional/expanded features */ + unsigned long tp_flags; + + const char *tp_doc; /* Documentation string */ + + /* Assigned meaning in release 2.0 */ + /* call function for all accessible objects */ + traverseproc tp_traverse; + + /* delete references to contained objects */ + inquiry tp_clear; + + /* Assigned meaning in release 2.1 */ + /* rich comparisons */ + richcmpfunc tp_richcompare; + + /* weak reference enabler */ + Py_ssize_t tp_weaklistoffset; + + /* Iterators */ + getiterfunc tp_iter; + iternextfunc tp_iternext; + + /* Attribute descriptor and subclassing stuff */ + PyMethodDef *tp_methods; + PyMemberDef *tp_members; + PyGetSetDef *tp_getset; + // Strong reference on a heap type, borrowed reference on a static type + PyTypeObject *tp_base; + PyObject *tp_dict; + descrgetfunc tp_descr_get; + descrsetfunc tp_descr_set; + Py_ssize_t tp_dictoffset; + initproc tp_init; + allocfunc tp_alloc; + newfunc tp_new; + freefunc tp_free; /* Low-level free-memory routine */ + inquiry tp_is_gc; /* For PyObject_IS_GC */ + PyObject *tp_bases; + PyObject *tp_mro; /* method resolution order */ + PyObject *tp_cache; /* no longer used */ + void *tp_subclasses; /* for static builtin types this is an index */ + PyObject *tp_weaklist; /* not used for static builtin types */ + destructor tp_del; + + /* Type attribute cache version tag. Added in version 2.6 */ + unsigned int tp_version_tag; + + destructor tp_finalize; + vectorcallfunc tp_vectorcall; + + /* bitset of which type-watchers care about this type */ + unsigned char tp_watched; +}; + +/* This struct is used by the specializer + * It should should be treated as an opaque blob + * by code other than the specializer and interpreter. */ +struct _specialization_cache { + // In order to avoid bloating the bytecode with lots of inline caches, the + // members of this structure have a somewhat unique contract. They are set + // by the specialization machinery, and are invalidated by PyType_Modified. + // The rules for using them are as follows: + // - If getitem is non-NULL, then it is the same Python function that + // PyType_Lookup(cls, "__getitem__") would return. + // - If getitem is NULL, then getitem_version is meaningless. + // - If getitem->func_version == getitem_version, then getitem can be called + // with two positional arguments and no keyword arguments, and has neither + // *args nor **kwargs (as required by BINARY_SUBSCR_GETITEM): + PyObject *getitem; + uint32_t getitem_version; +}; + +/* The *real* layout of a type object when allocated on the heap */ +typedef struct _heaptypeobject { + /* Note: there's a dependency on the order of these members + in slotptr() in typeobject.c . */ + PyTypeObject ht_type; + PyAsyncMethods as_async; + PyNumberMethods as_number; + PyMappingMethods as_mapping; + PySequenceMethods as_sequence; /* as_sequence comes after as_mapping, + so that the mapping wins when both + the mapping and the sequence define + a given operator (e.g. __getitem__). + see add_operators() in typeobject.c . */ + PyBufferProcs as_buffer; + PyObject *ht_name, *ht_slots, *ht_qualname; + struct _dictkeysobject *ht_cached_keys; + PyObject *ht_module; + char *_ht_tpname; // Storage for "tp_name"; see PyType_FromModuleAndSpec + struct _specialization_cache _spec_cache; // For use by the specializer. + /* here are optional user slots, followed by the members. */ +} PyHeapTypeObject; + +PyAPI_FUNC(const char *) _PyType_Name(PyTypeObject *); +PyAPI_FUNC(PyObject *) _PyType_Lookup(PyTypeObject *, PyObject *); +PyAPI_FUNC(PyObject *) _PyType_LookupId(PyTypeObject *, _Py_Identifier *); +PyAPI_FUNC(PyObject *) _PyObject_LookupSpecialId(PyObject *, _Py_Identifier *); +#ifndef Py_BUILD_CORE +// Backward compatibility for 3rd-party extensions +// that may be using the old name. +#define _PyObject_LookupSpecial _PyObject_LookupSpecialId +#endif +PyAPI_FUNC(PyTypeObject *) _PyType_CalculateMetaclass(PyTypeObject *, PyObject *); +PyAPI_FUNC(PyObject *) _PyType_GetDocFromInternalDoc(const char *, const char *); +PyAPI_FUNC(PyObject *) _PyType_GetTextSignatureFromInternalDoc(const char *, const char *); +PyAPI_FUNC(PyObject *) PyType_GetModuleByDef(PyTypeObject *, PyModuleDef *); +PyAPI_FUNC(PyObject *) PyType_GetDict(PyTypeObject *); + +PyAPI_FUNC(int) PyObject_Print(PyObject *, FILE *, int); +PyAPI_FUNC(void) _Py_BreakPoint(void); +PyAPI_FUNC(void) _PyObject_Dump(PyObject *); +PyAPI_FUNC(int) _PyObject_IsFreed(PyObject *); + +PyAPI_FUNC(int) _PyObject_IsAbstract(PyObject *); +PyAPI_FUNC(PyObject *) _PyObject_GetAttrId(PyObject *, _Py_Identifier *); +PyAPI_FUNC(int) _PyObject_SetAttrId(PyObject *, _Py_Identifier *, PyObject *); +/* Replacements of PyObject_GetAttr() and _PyObject_GetAttrId() which + don't raise AttributeError. + + Return 1 and set *result != NULL if an attribute is found. + Return 0 and set *result == NULL if an attribute is not found; + an AttributeError is silenced. + Return -1 and set *result == NULL if an error other than AttributeError + is raised. +*/ +PyAPI_FUNC(int) _PyObject_LookupAttr(PyObject *, PyObject *, PyObject **); +PyAPI_FUNC(int) _PyObject_LookupAttrId(PyObject *, _Py_Identifier *, PyObject **); + +PyAPI_FUNC(int) _PyObject_GetMethod(PyObject *obj, PyObject *name, PyObject **method); + +PyAPI_FUNC(PyObject **) _PyObject_GetDictPtr(PyObject *); +PyAPI_FUNC(PyObject *) _PyObject_NextNotImplemented(PyObject *); +PyAPI_FUNC(void) PyObject_CallFinalizer(PyObject *); +PyAPI_FUNC(int) PyObject_CallFinalizerFromDealloc(PyObject *); + +/* Same as PyObject_Generic{Get,Set}Attr, but passing the attributes + dict as the last parameter. */ +PyAPI_FUNC(PyObject *) +_PyObject_GenericGetAttrWithDict(PyObject *, PyObject *, PyObject *, int); +PyAPI_FUNC(int) +_PyObject_GenericSetAttrWithDict(PyObject *, PyObject *, + PyObject *, PyObject *); + +PyAPI_FUNC(PyObject *) _PyObject_FunctionStr(PyObject *); + +/* Safely decref `dst` and set `dst` to `src`. + * + * As in case of Py_CLEAR "the obvious" code can be deadly: + * + * Py_DECREF(dst); + * dst = src; + * + * The safe way is: + * + * Py_SETREF(dst, src); + * + * That arranges to set `dst` to `src` _before_ decref'ing, so that any code + * triggered as a side-effect of `dst` getting torn down no longer believes + * `dst` points to a valid object. + * + * Temporary variables are used to only evalutate macro arguments once and so + * avoid the duplication of side effects. _Py_TYPEOF() or memcpy() is used to + * avoid a miscompilation caused by type punning. See Py_CLEAR() comment for + * implementation details about type punning. + * + * The memcpy() implementation does not emit a compiler warning if 'src' has + * not the same type than 'src': any pointer type is accepted for 'src'. + */ +#ifdef _Py_TYPEOF +#define Py_SETREF(dst, src) \ + do { \ + _Py_TYPEOF(dst)* _tmp_dst_ptr = &(dst); \ + _Py_TYPEOF(dst) _tmp_old_dst = (*_tmp_dst_ptr); \ + *_tmp_dst_ptr = (src); \ + Py_DECREF(_tmp_old_dst); \ + } while (0) +#else +#define Py_SETREF(dst, src) \ + do { \ + PyObject **_tmp_dst_ptr = _Py_CAST(PyObject**, &(dst)); \ + PyObject *_tmp_old_dst = (*_tmp_dst_ptr); \ + PyObject *_tmp_src = _PyObject_CAST(src); \ + memcpy(_tmp_dst_ptr, &_tmp_src, sizeof(PyObject*)); \ + Py_DECREF(_tmp_old_dst); \ + } while (0) +#endif + +/* Py_XSETREF() is a variant of Py_SETREF() that uses Py_XDECREF() instead of + * Py_DECREF(). + */ +#ifdef _Py_TYPEOF +#define Py_XSETREF(dst, src) \ + do { \ + _Py_TYPEOF(dst)* _tmp_dst_ptr = &(dst); \ + _Py_TYPEOF(dst) _tmp_old_dst = (*_tmp_dst_ptr); \ + *_tmp_dst_ptr = (src); \ + Py_XDECREF(_tmp_old_dst); \ + } while (0) +#else +#define Py_XSETREF(dst, src) \ + do { \ + PyObject **_tmp_dst_ptr = _Py_CAST(PyObject**, &(dst)); \ + PyObject *_tmp_old_dst = (*_tmp_dst_ptr); \ + PyObject *_tmp_src = _PyObject_CAST(src); \ + memcpy(_tmp_dst_ptr, &_tmp_src, sizeof(PyObject*)); \ + Py_XDECREF(_tmp_old_dst); \ + } while (0) +#endif + + +PyAPI_DATA(PyTypeObject) _PyNone_Type; +PyAPI_DATA(PyTypeObject) _PyNotImplemented_Type; + +/* Maps Py_LT to Py_GT, ..., Py_GE to Py_LE. + * Defined in object.c. + */ +PyAPI_DATA(int) _Py_SwappedOp[]; + +PyAPI_FUNC(void) +_PyDebugAllocatorStats(FILE *out, const char *block_name, int num_blocks, + size_t sizeof_block); +PyAPI_FUNC(void) +_PyObject_DebugTypeStats(FILE *out); + +/* Define a pair of assertion macros: + _PyObject_ASSERT_FROM(), _PyObject_ASSERT_WITH_MSG() and _PyObject_ASSERT(). + + These work like the regular C assert(), in that they will abort the + process with a message on stderr if the given condition fails to hold, + but compile away to nothing if NDEBUG is defined. + + However, before aborting, Python will also try to call _PyObject_Dump() on + the given object. This may be of use when investigating bugs in which a + particular object is corrupt (e.g. buggy a tp_visit method in an extension + module breaking the garbage collector), to help locate the broken objects. + + The WITH_MSG variant allows you to supply an additional message that Python + will attempt to print to stderr, after the object dump. */ +#ifdef NDEBUG + /* No debugging: compile away the assertions: */ +# define _PyObject_ASSERT_FROM(obj, expr, msg, filename, lineno, func) \ + ((void)0) +#else + /* With debugging: generate checks: */ +# define _PyObject_ASSERT_FROM(obj, expr, msg, filename, lineno, func) \ + ((expr) \ + ? (void)(0) \ + : _PyObject_AssertFailed((obj), Py_STRINGIFY(expr), \ + (msg), (filename), (lineno), (func))) +#endif + +#define _PyObject_ASSERT_WITH_MSG(obj, expr, msg) \ + _PyObject_ASSERT_FROM((obj), expr, (msg), __FILE__, __LINE__, __func__) +#define _PyObject_ASSERT(obj, expr) \ + _PyObject_ASSERT_WITH_MSG((obj), expr, NULL) + +#define _PyObject_ASSERT_FAILED_MSG(obj, msg) \ + _PyObject_AssertFailed((obj), NULL, (msg), __FILE__, __LINE__, __func__) + +/* Declare and define _PyObject_AssertFailed() even when NDEBUG is defined, + to avoid causing compiler/linker errors when building extensions without + NDEBUG against a Python built with NDEBUG defined. + + msg, expr and function can be NULL. */ +PyAPI_FUNC(void) _Py_NO_RETURN _PyObject_AssertFailed( + PyObject *obj, + const char *expr, + const char *msg, + const char *file, + int line, + const char *function); + +/* Check if an object is consistent. For example, ensure that the reference + counter is greater than or equal to 1, and ensure that ob_type is not NULL. + + Call _PyObject_AssertFailed() if the object is inconsistent. + + If check_content is zero, only check header fields: reduce the overhead. + + The function always return 1. The return value is just here to be able to + write: + + assert(_PyObject_CheckConsistency(obj, 1)); */ +PyAPI_FUNC(int) _PyObject_CheckConsistency( + PyObject *op, + int check_content); + + +/* Trashcan mechanism, thanks to Christian Tismer. + +When deallocating a container object, it's possible to trigger an unbounded +chain of deallocations, as each Py_DECREF in turn drops the refcount on "the +next" object in the chain to 0. This can easily lead to stack overflows, +especially in threads (which typically have less stack space to work with). + +A container object can avoid this by bracketing the body of its tp_dealloc +function with a pair of macros: + +static void +mytype_dealloc(mytype *p) +{ + ... declarations go here ... + + PyObject_GC_UnTrack(p); // must untrack first + Py_TRASHCAN_BEGIN(p, mytype_dealloc) + ... The body of the deallocator goes here, including all calls ... + ... to Py_DECREF on contained objects. ... + Py_TRASHCAN_END // there should be no code after this +} + +CAUTION: Never return from the middle of the body! If the body needs to +"get out early", put a label immediately before the Py_TRASHCAN_END +call, and goto it. Else the call-depth counter (see below) will stay +above 0 forever, and the trashcan will never get emptied. + +How it works: The BEGIN macro increments a call-depth counter. So long +as this counter is small, the body of the deallocator is run directly without +further ado. But if the counter gets large, it instead adds p to a list of +objects to be deallocated later, skips the body of the deallocator, and +resumes execution after the END macro. The tp_dealloc routine then returns +without deallocating anything (and so unbounded call-stack depth is avoided). + +When the call stack finishes unwinding again, code generated by the END macro +notices this, and calls another routine to deallocate all the objects that +may have been added to the list of deferred deallocations. In effect, a +chain of N deallocations is broken into (N-1)/(_PyTrash_UNWIND_LEVEL-1) pieces, +with the call stack never exceeding a depth of _PyTrash_UNWIND_LEVEL. + +Since the tp_dealloc of a subclass typically calls the tp_dealloc of the base +class, we need to ensure that the trashcan is only triggered on the tp_dealloc +of the actual class being deallocated. Otherwise we might end up with a +partially-deallocated object. To check this, the tp_dealloc function must be +passed as second argument to Py_TRASHCAN_BEGIN(). +*/ + +/* Python 3.9 private API, invoked by the macros below. */ +PyAPI_FUNC(int) _PyTrash_begin(PyThreadState *tstate, PyObject *op); +PyAPI_FUNC(void) _PyTrash_end(PyThreadState *tstate); +/* Python 3.10 private API, invoked by the Py_TRASHCAN_BEGIN(). */ +PyAPI_FUNC(int) _PyTrash_cond(PyObject *op, destructor dealloc); + +#define Py_TRASHCAN_BEGIN_CONDITION(op, cond) \ + do { \ + PyThreadState *_tstate = NULL; \ + /* If "cond" is false, then _tstate remains NULL and the deallocator \ + * is run normally without involving the trashcan */ \ + if (cond) { \ + _tstate = _PyThreadState_UncheckedGet(); \ + if (_PyTrash_begin(_tstate, _PyObject_CAST(op))) { \ + break; \ + } \ + } + /* The body of the deallocator is here. */ +#define Py_TRASHCAN_END \ + if (_tstate) { \ + _PyTrash_end(_tstate); \ + } \ + } while (0); + +#define Py_TRASHCAN_BEGIN(op, dealloc) \ + Py_TRASHCAN_BEGIN_CONDITION((op), \ + _PyTrash_cond(_PyObject_CAST(op), (destructor)(dealloc))) + +/* The following two macros, Py_TRASHCAN_SAFE_BEGIN and + * Py_TRASHCAN_SAFE_END, are deprecated since version 3.11 and + * will be removed in the future. + * Use Py_TRASHCAN_BEGIN and Py_TRASHCAN_END instead. + */ +Py_DEPRECATED(3.11) typedef int UsingDeprecatedTrashcanMacro; +#define Py_TRASHCAN_SAFE_BEGIN(op) \ + do { \ + UsingDeprecatedTrashcanMacro cond=1; \ + Py_TRASHCAN_BEGIN_CONDITION((op), cond); +#define Py_TRASHCAN_SAFE_END(op) \ + Py_TRASHCAN_END; \ + } while(0); + +PyAPI_FUNC(void *) PyObject_GetItemData(PyObject *obj); + +PyAPI_FUNC(int) _PyObject_VisitManagedDict(PyObject *obj, visitproc visit, void *arg); +PyAPI_FUNC(void) _PyObject_ClearManagedDict(PyObject *obj); + +#define TYPE_MAX_WATCHERS 8 + +typedef int(*PyType_WatchCallback)(PyTypeObject *); +PyAPI_FUNC(int) PyType_AddWatcher(PyType_WatchCallback callback); +PyAPI_FUNC(int) PyType_ClearWatcher(int watcher_id); +PyAPI_FUNC(int) PyType_Watch(int watcher_id, PyObject *type); +PyAPI_FUNC(int) PyType_Unwatch(int watcher_id, PyObject *type); + +/* Attempt to assign a version tag to the given type. + * + * Returns 1 if the type already had a valid version tag or a new one was + * assigned, or 0 if a new tag could not be assigned. + */ +PyAPI_FUNC(int) PyUnstable_Type_AssignVersionTag(PyTypeObject *type); diff --git a/_Pre_Builds/_Python312_cpp/include/cpython/objimpl.h b/_Pre_Builds/_Python312_cpp/include/cpython/objimpl.h new file mode 100644 index 0000000..5a8cdd5 --- /dev/null +++ b/_Pre_Builds/_Python312_cpp/include/cpython/objimpl.h @@ -0,0 +1,95 @@ +#ifndef Py_CPYTHON_OBJIMPL_H +# error "this header file must not be included directly" +#endif + +static inline size_t _PyObject_SIZE(PyTypeObject *type) { + return _Py_STATIC_CAST(size_t, type->tp_basicsize); +} + +/* _PyObject_VAR_SIZE returns the number of bytes (as size_t) allocated for a + vrbl-size object with nitems items, exclusive of gc overhead (if any). The + value is rounded up to the closest multiple of sizeof(void *), in order to + ensure that pointer fields at the end of the object are correctly aligned + for the platform (this is of special importance for subclasses of, e.g., + str or int, so that pointers can be stored after the embedded data). + + Note that there's no memory wastage in doing this, as malloc has to + return (at worst) pointer-aligned memory anyway. +*/ +#if ((SIZEOF_VOID_P - 1) & SIZEOF_VOID_P) != 0 +# error "_PyObject_VAR_SIZE requires SIZEOF_VOID_P be a power of 2" +#endif + +static inline size_t _PyObject_VAR_SIZE(PyTypeObject *type, Py_ssize_t nitems) { + size_t size = _Py_STATIC_CAST(size_t, type->tp_basicsize); + size += _Py_STATIC_CAST(size_t, nitems) * _Py_STATIC_CAST(size_t, type->tp_itemsize); + return _Py_SIZE_ROUND_UP(size, SIZEOF_VOID_P); +} + + +/* This example code implements an object constructor with a custom + allocator, where PyObject_New is inlined, and shows the important + distinction between two steps (at least): + 1) the actual allocation of the object storage; + 2) the initialization of the Python specific fields + in this storage with PyObject_{Init, InitVar}. + + PyObject * + YourObject_New(...) + { + PyObject *op; + + op = (PyObject *) Your_Allocator(_PyObject_SIZE(YourTypeStruct)); + if (op == NULL) { + return PyErr_NoMemory(); + } + + PyObject_Init(op, &YourTypeStruct); + + op->ob_field = value; + ... + return op; + } + + Note that in C++, the use of the new operator usually implies that + the 1st step is performed automatically for you, so in a C++ class + constructor you would start directly with PyObject_Init/InitVar. */ + + +typedef struct { + /* user context passed as the first argument to the 2 functions */ + void *ctx; + + /* allocate an arena of size bytes */ + void* (*alloc) (void *ctx, size_t size); + + /* free an arena */ + void (*free) (void *ctx, void *ptr, size_t size); +} PyObjectArenaAllocator; + +/* Get the arena allocator. */ +PyAPI_FUNC(void) PyObject_GetArenaAllocator(PyObjectArenaAllocator *allocator); + +/* Set the arena allocator. */ +PyAPI_FUNC(void) PyObject_SetArenaAllocator(PyObjectArenaAllocator *allocator); + + +/* Test if an object implements the garbage collector protocol */ +PyAPI_FUNC(int) PyObject_IS_GC(PyObject *obj); + + +/* Code built with Py_BUILD_CORE must include pycore_gc.h instead which + defines a different _PyGC_FINALIZED() macro. */ +#ifndef Py_BUILD_CORE + // Kept for backward compatibility with Python 3.8 +# define _PyGC_FINALIZED(o) PyObject_GC_IsFinalized(o) +#endif + + +// Test if a type supports weak references +PyAPI_FUNC(int) PyType_SUPPORTS_WEAKREFS(PyTypeObject *type); + +PyAPI_FUNC(PyObject **) PyObject_GET_WEAKREFS_LISTPTR(PyObject *op); + +PyAPI_FUNC(PyObject *) PyUnstable_Object_GC_NewWithExtraData(PyTypeObject *, + size_t); diff --git a/_Pre_Builds/_Python312_cpp/include/cpython/odictobject.h b/_Pre_Builds/_Python312_cpp/include/cpython/odictobject.h new file mode 100644 index 0000000..3822d55 --- /dev/null +++ b/_Pre_Builds/_Python312_cpp/include/cpython/odictobject.h @@ -0,0 +1,43 @@ +#ifndef Py_ODICTOBJECT_H +#define Py_ODICTOBJECT_H +#ifdef __cplusplus +extern "C" { +#endif + + +/* OrderedDict */ +/* This API is optional and mostly redundant. */ + +#ifndef Py_LIMITED_API + +typedef struct _odictobject PyODictObject; + +PyAPI_DATA(PyTypeObject) PyODict_Type; +PyAPI_DATA(PyTypeObject) PyODictIter_Type; +PyAPI_DATA(PyTypeObject) PyODictKeys_Type; +PyAPI_DATA(PyTypeObject) PyODictItems_Type; +PyAPI_DATA(PyTypeObject) PyODictValues_Type; + +#define PyODict_Check(op) PyObject_TypeCheck((op), &PyODict_Type) +#define PyODict_CheckExact(op) Py_IS_TYPE((op), &PyODict_Type) +#define PyODict_SIZE(op) PyDict_GET_SIZE((op)) + +PyAPI_FUNC(PyObject *) PyODict_New(void); +PyAPI_FUNC(int) PyODict_SetItem(PyObject *od, PyObject *key, PyObject *item); +PyAPI_FUNC(int) PyODict_DelItem(PyObject *od, PyObject *key); + +/* wrappers around PyDict* functions */ +#define PyODict_GetItem(od, key) PyDict_GetItem(_PyObject_CAST(od), (key)) +#define PyODict_GetItemWithError(od, key) \ + PyDict_GetItemWithError(_PyObject_CAST(od), (key)) +#define PyODict_Contains(od, key) PyDict_Contains(_PyObject_CAST(od), (key)) +#define PyODict_Size(od) PyDict_Size(_PyObject_CAST(od)) +#define PyODict_GetItemString(od, key) \ + PyDict_GetItemString(_PyObject_CAST(od), (key)) + +#endif + +#ifdef __cplusplus +} +#endif +#endif /* !Py_ODICTOBJECT_H */ diff --git a/_Pre_Builds/_Python312_cpp/include/cpython/picklebufobject.h b/_Pre_Builds/_Python312_cpp/include/cpython/picklebufobject.h new file mode 100644 index 0000000..f3cbaee --- /dev/null +++ b/_Pre_Builds/_Python312_cpp/include/cpython/picklebufobject.h @@ -0,0 +1,31 @@ +/* PickleBuffer object. This is built-in for ease of use from third-party + * C extensions. + */ + +#ifndef Py_PICKLEBUFOBJECT_H +#define Py_PICKLEBUFOBJECT_H +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef Py_LIMITED_API + +PyAPI_DATA(PyTypeObject) PyPickleBuffer_Type; + +#define PyPickleBuffer_Check(op) Py_IS_TYPE((op), &PyPickleBuffer_Type) + +/* Create a PickleBuffer redirecting to the given buffer-enabled object */ +PyAPI_FUNC(PyObject *) PyPickleBuffer_FromObject(PyObject *); +/* Get the PickleBuffer's underlying view to the original object + * (NULL if released) + */ +PyAPI_FUNC(const Py_buffer *) PyPickleBuffer_GetBuffer(PyObject *); +/* Release the PickleBuffer. Returns 0 on success, -1 on error. */ +PyAPI_FUNC(int) PyPickleBuffer_Release(PyObject *); + +#endif /* !Py_LIMITED_API */ + +#ifdef __cplusplus +} +#endif +#endif /* !Py_PICKLEBUFOBJECT_H */ diff --git a/_Pre_Builds/_Python312_cpp/include/cpython/pthread_stubs.h b/_Pre_Builds/_Python312_cpp/include/cpython/pthread_stubs.h new file mode 100644 index 0000000..d95ee03 --- /dev/null +++ b/_Pre_Builds/_Python312_cpp/include/cpython/pthread_stubs.h @@ -0,0 +1,88 @@ +#ifndef Py_CPYTHON_PTRHEAD_STUBS_H +#define Py_CPYTHON_PTRHEAD_STUBS_H + +#if !defined(HAVE_PTHREAD_STUBS) +# error "this header file requires stubbed pthreads." +#endif + +#ifndef _POSIX_THREADS +# define _POSIX_THREADS 1 +#endif + +/* Minimal pthread stubs for CPython. + * + * The stubs implement the minimum pthread API for CPython. + * - pthread_create() fails. + * - pthread_exit() calls exit(0). + * - pthread_key_*() functions implement minimal TSS without destructor. + * - all other functions do nothing and return 0. + */ + +#ifdef __wasi__ +// WASI's bits/alltypes.h provides type definitions when __NEED_ is set. +// The header file can be included multiple times. +# define __NEED_pthread_cond_t 1 +# define __NEED_pthread_condattr_t 1 +# define __NEED_pthread_mutex_t 1 +# define __NEED_pthread_mutexattr_t 1 +# define __NEED_pthread_key_t 1 +# define __NEED_pthread_t 1 +# define __NEED_pthread_attr_t 1 +# include +#else +typedef struct { void *__x; } pthread_cond_t; +typedef struct { unsigned __attr; } pthread_condattr_t; +typedef struct { void *__x; } pthread_mutex_t; +typedef struct { unsigned __attr; } pthread_mutexattr_t; +typedef unsigned pthread_key_t; +typedef unsigned pthread_t; +typedef struct { unsigned __attr; } pthread_attr_t; +#endif + +// mutex +PyAPI_FUNC(int) pthread_mutex_init(pthread_mutex_t *restrict mutex, + const pthread_mutexattr_t *restrict attr); +PyAPI_FUNC(int) pthread_mutex_destroy(pthread_mutex_t *mutex); +PyAPI_FUNC(int) pthread_mutex_trylock(pthread_mutex_t *mutex); +PyAPI_FUNC(int) pthread_mutex_lock(pthread_mutex_t *mutex); +PyAPI_FUNC(int) pthread_mutex_unlock(pthread_mutex_t *mutex); + +// condition +PyAPI_FUNC(int) pthread_cond_init(pthread_cond_t *restrict cond, + const pthread_condattr_t *restrict attr); +PyAPI_FUNC(int) pthread_cond_destroy(pthread_cond_t *cond); +PyAPI_FUNC(int) pthread_cond_wait(pthread_cond_t *restrict cond, + pthread_mutex_t *restrict mutex); +PyAPI_FUNC(int) pthread_cond_timedwait(pthread_cond_t *restrict cond, + pthread_mutex_t *restrict mutex, + const struct timespec *restrict abstime); +PyAPI_FUNC(int) pthread_cond_signal(pthread_cond_t *cond); +PyAPI_FUNC(int) pthread_condattr_init(pthread_condattr_t *attr); +PyAPI_FUNC(int) pthread_condattr_setclock( + pthread_condattr_t *attr, clockid_t clock_id); + +// pthread +PyAPI_FUNC(int) pthread_create(pthread_t *restrict thread, + const pthread_attr_t *restrict attr, + void *(*start_routine)(void *), + void *restrict arg); +PyAPI_FUNC(int) pthread_detach(pthread_t thread); +PyAPI_FUNC(pthread_t) pthread_self(void); +PyAPI_FUNC(int) pthread_exit(void *retval) __attribute__ ((__noreturn__)); +PyAPI_FUNC(int) pthread_attr_init(pthread_attr_t *attr); +PyAPI_FUNC(int) pthread_attr_setstacksize(pthread_attr_t *attr, size_t stacksize); +PyAPI_FUNC(int) pthread_attr_destroy(pthread_attr_t *attr); + + +// pthread_key +#ifndef PTHREAD_KEYS_MAX +# define PTHREAD_KEYS_MAX 128 +#endif + +PyAPI_FUNC(int) pthread_key_create(pthread_key_t *key, + void (*destr_function)(void *)); +PyAPI_FUNC(int) pthread_key_delete(pthread_key_t key); +PyAPI_FUNC(void *) pthread_getspecific(pthread_key_t key); +PyAPI_FUNC(int) pthread_setspecific(pthread_key_t key, const void *value); + +#endif // Py_CPYTHON_PTRHEAD_STUBS_H diff --git a/_Pre_Builds/_Python312_cpp/include/cpython/pyctype.h b/_Pre_Builds/_Python312_cpp/include/cpython/pyctype.h new file mode 100644 index 0000000..729d932 --- /dev/null +++ b/_Pre_Builds/_Python312_cpp/include/cpython/pyctype.h @@ -0,0 +1,39 @@ +#ifndef Py_LIMITED_API +#ifndef PYCTYPE_H +#define PYCTYPE_H +#ifdef __cplusplus +extern "C" { +#endif + +#define PY_CTF_LOWER 0x01 +#define PY_CTF_UPPER 0x02 +#define PY_CTF_ALPHA (PY_CTF_LOWER|PY_CTF_UPPER) +#define PY_CTF_DIGIT 0x04 +#define PY_CTF_ALNUM (PY_CTF_ALPHA|PY_CTF_DIGIT) +#define PY_CTF_SPACE 0x08 +#define PY_CTF_XDIGIT 0x10 + +PyAPI_DATA(const unsigned int) _Py_ctype_table[256]; + +/* Unlike their C counterparts, the following macros are not meant to + * handle an int with any of the values [EOF, 0-UCHAR_MAX]. The argument + * must be a signed/unsigned char. */ +#define Py_ISLOWER(c) (_Py_ctype_table[Py_CHARMASK(c)] & PY_CTF_LOWER) +#define Py_ISUPPER(c) (_Py_ctype_table[Py_CHARMASK(c)] & PY_CTF_UPPER) +#define Py_ISALPHA(c) (_Py_ctype_table[Py_CHARMASK(c)] & PY_CTF_ALPHA) +#define Py_ISDIGIT(c) (_Py_ctype_table[Py_CHARMASK(c)] & PY_CTF_DIGIT) +#define Py_ISXDIGIT(c) (_Py_ctype_table[Py_CHARMASK(c)] & PY_CTF_XDIGIT) +#define Py_ISALNUM(c) (_Py_ctype_table[Py_CHARMASK(c)] & PY_CTF_ALNUM) +#define Py_ISSPACE(c) (_Py_ctype_table[Py_CHARMASK(c)] & PY_CTF_SPACE) + +PyAPI_DATA(const unsigned char) _Py_ctype_tolower[256]; +PyAPI_DATA(const unsigned char) _Py_ctype_toupper[256]; + +#define Py_TOLOWER(c) (_Py_ctype_tolower[Py_CHARMASK(c)]) +#define Py_TOUPPER(c) (_Py_ctype_toupper[Py_CHARMASK(c)]) + +#ifdef __cplusplus +} +#endif +#endif /* !PYCTYPE_H */ +#endif /* !Py_LIMITED_API */ diff --git a/_Pre_Builds/_Python312_cpp/include/cpython/pydebug.h b/_Pre_Builds/_Python312_cpp/include/cpython/pydebug.h new file mode 100644 index 0000000..f6ebd99 --- /dev/null +++ b/_Pre_Builds/_Python312_cpp/include/cpython/pydebug.h @@ -0,0 +1,38 @@ +#ifndef Py_LIMITED_API +#ifndef Py_PYDEBUG_H +#define Py_PYDEBUG_H +#ifdef __cplusplus +extern "C" { +#endif + +Py_DEPRECATED(3.12) PyAPI_DATA(int) Py_DebugFlag; +Py_DEPRECATED(3.12) PyAPI_DATA(int) Py_VerboseFlag; +Py_DEPRECATED(3.12) PyAPI_DATA(int) Py_QuietFlag; +Py_DEPRECATED(3.12) PyAPI_DATA(int) Py_InteractiveFlag; +Py_DEPRECATED(3.12) PyAPI_DATA(int) Py_InspectFlag; +Py_DEPRECATED(3.12) PyAPI_DATA(int) Py_OptimizeFlag; +Py_DEPRECATED(3.12) PyAPI_DATA(int) Py_NoSiteFlag; +Py_DEPRECATED(3.12) PyAPI_DATA(int) Py_BytesWarningFlag; +Py_DEPRECATED(3.12) PyAPI_DATA(int) Py_FrozenFlag; +Py_DEPRECATED(3.12) PyAPI_DATA(int) Py_IgnoreEnvironmentFlag; +Py_DEPRECATED(3.12) PyAPI_DATA(int) Py_DontWriteBytecodeFlag; +Py_DEPRECATED(3.12) PyAPI_DATA(int) Py_NoUserSiteDirectory; +Py_DEPRECATED(3.12) PyAPI_DATA(int) Py_UnbufferedStdioFlag; +Py_DEPRECATED(3.12) PyAPI_DATA(int) Py_HashRandomizationFlag; +Py_DEPRECATED(3.12) PyAPI_DATA(int) Py_IsolatedFlag; + +#ifdef MS_WINDOWS +Py_DEPRECATED(3.12) PyAPI_DATA(int) Py_LegacyWindowsFSEncodingFlag; +Py_DEPRECATED(3.12) PyAPI_DATA(int) Py_LegacyWindowsStdioFlag; +#endif + +/* this is a wrapper around getenv() that pays attention to + Py_IgnoreEnvironmentFlag. It should be used for getting variables like + PYTHONPATH and PYTHONHOME from the environment */ +PyAPI_FUNC(char*) Py_GETENV(const char *name); + +#ifdef __cplusplus +} +#endif +#endif /* !Py_PYDEBUG_H */ +#endif /* Py_LIMITED_API */ diff --git a/_Pre_Builds/_Python312_cpp/include/cpython/pyerrors.h b/_Pre_Builds/_Python312_cpp/include/cpython/pyerrors.h new file mode 100644 index 0000000..156665c --- /dev/null +++ b/_Pre_Builds/_Python312_cpp/include/cpython/pyerrors.h @@ -0,0 +1,178 @@ +#ifndef Py_CPYTHON_ERRORS_H +# error "this header file must not be included directly" +#endif + +/* Error objects */ + +/* PyException_HEAD defines the initial segment of every exception class. */ +#define PyException_HEAD PyObject_HEAD PyObject *dict;\ + PyObject *args; PyObject *notes; PyObject *traceback;\ + PyObject *context; PyObject *cause;\ + char suppress_context; + +typedef struct { + PyException_HEAD +} PyBaseExceptionObject; + +typedef struct { + PyException_HEAD + PyObject *msg; + PyObject *excs; +} PyBaseExceptionGroupObject; + +typedef struct { + PyException_HEAD + PyObject *msg; + PyObject *filename; + PyObject *lineno; + PyObject *offset; + PyObject *end_lineno; + PyObject *end_offset; + PyObject *text; + PyObject *print_file_and_line; +} PySyntaxErrorObject; + +typedef struct { + PyException_HEAD + PyObject *msg; + PyObject *name; + PyObject *path; + PyObject *name_from; +} PyImportErrorObject; + +typedef struct { + PyException_HEAD + PyObject *encoding; + PyObject *object; + Py_ssize_t start; + Py_ssize_t end; + PyObject *reason; +} PyUnicodeErrorObject; + +typedef struct { + PyException_HEAD + PyObject *code; +} PySystemExitObject; + +typedef struct { + PyException_HEAD + PyObject *myerrno; + PyObject *strerror; + PyObject *filename; + PyObject *filename2; +#ifdef MS_WINDOWS + PyObject *winerror; +#endif + Py_ssize_t written; /* only for BlockingIOError, -1 otherwise */ +} PyOSErrorObject; + +typedef struct { + PyException_HEAD + PyObject *value; +} PyStopIterationObject; + +typedef struct { + PyException_HEAD + PyObject *name; +} PyNameErrorObject; + +typedef struct { + PyException_HEAD + PyObject *obj; + PyObject *name; +} PyAttributeErrorObject; + +/* Compatibility typedefs */ +typedef PyOSErrorObject PyEnvironmentErrorObject; +#ifdef MS_WINDOWS +typedef PyOSErrorObject PyWindowsErrorObject; +#endif + +/* Error handling definitions */ + +PyAPI_FUNC(void) _PyErr_SetKeyError(PyObject *); +PyAPI_FUNC(_PyErr_StackItem*) _PyErr_GetTopmostException(PyThreadState *tstate); +PyAPI_FUNC(PyObject*) _PyErr_GetHandledException(PyThreadState *); +PyAPI_FUNC(void) _PyErr_SetHandledException(PyThreadState *, PyObject *); +PyAPI_FUNC(void) _PyErr_GetExcInfo(PyThreadState *, PyObject **, PyObject **, PyObject **); + +/* Context manipulation (PEP 3134) */ + +Py_DEPRECATED(3.12) PyAPI_FUNC(void) _PyErr_ChainExceptions(PyObject *, PyObject *, PyObject *); +PyAPI_FUNC(void) _PyErr_ChainExceptions1(PyObject *); + +/* Like PyErr_Format(), but saves current exception as __context__ and + __cause__. + */ +PyAPI_FUNC(PyObject *) _PyErr_FormatFromCause( + PyObject *exception, + const char *format, /* ASCII-encoded string */ + ... + ); + +/* In exceptions.c */ + +PyAPI_FUNC(int) _PyException_AddNote( + PyObject *exc, + PyObject *note); + +PyAPI_FUNC(PyObject*) PyUnstable_Exc_PrepReraiseStar( + PyObject *orig, + PyObject *excs); + +/* In signalmodule.c */ + +int PySignal_SetWakeupFd(int fd); +PyAPI_FUNC(int) _PyErr_CheckSignals(void); + +/* Support for adding program text to SyntaxErrors */ + +PyAPI_FUNC(void) PyErr_SyntaxLocationObject( + PyObject *filename, + int lineno, + int col_offset); + +PyAPI_FUNC(void) PyErr_RangedSyntaxLocationObject( + PyObject *filename, + int lineno, + int col_offset, + int end_lineno, + int end_col_offset); + +PyAPI_FUNC(PyObject *) PyErr_ProgramTextObject( + PyObject *filename, + int lineno); + +PyAPI_FUNC(PyObject *) _PyErr_ProgramDecodedTextObject( + PyObject *filename, + int lineno, + const char* encoding); + +PyAPI_FUNC(PyObject *) _PyUnicodeTranslateError_Create( + PyObject *object, + Py_ssize_t start, + Py_ssize_t end, + const char *reason /* UTF-8 encoded string */ + ); + +PyAPI_FUNC(void) _PyErr_WriteUnraisableMsg( + const char *err_msg, + PyObject *obj); + +PyAPI_FUNC(void) _Py_NO_RETURN _Py_FatalErrorFunc( + const char *func, + const char *message); + +PyAPI_FUNC(void) _Py_NO_RETURN _Py_FatalErrorFormat( + const char *func, + const char *format, + ...); + +extern PyObject *_PyErr_SetImportErrorWithNameFrom( + PyObject *, + PyObject *, + PyObject *, + PyObject *); + + +#define Py_FatalError(message) _Py_FatalErrorFunc(__func__, (message)) diff --git a/_Pre_Builds/_Python312_cpp/include/cpython/pyfpe.h b/_Pre_Builds/_Python312_cpp/include/cpython/pyfpe.h new file mode 100644 index 0000000..cc2def6 --- /dev/null +++ b/_Pre_Builds/_Python312_cpp/include/cpython/pyfpe.h @@ -0,0 +1,15 @@ +#ifndef Py_PYFPE_H +#define Py_PYFPE_H +/* Header excluded from the stable API */ +#ifndef Py_LIMITED_API + +/* These macros used to do something when Python was built with --with-fpectl, + * but support for that was dropped in 3.7. We continue to define them though, + * to avoid breaking API users. + */ + +#define PyFPE_START_PROTECT(err_string, leave_stmt) +#define PyFPE_END_PROTECT(v) + +#endif /* !defined(Py_LIMITED_API) */ +#endif /* !Py_PYFPE_H */ diff --git a/_Pre_Builds/_Python312_cpp/include/cpython/pyframe.h b/_Pre_Builds/_Python312_cpp/include/cpython/pyframe.h new file mode 100644 index 0000000..0e2afff --- /dev/null +++ b/_Pre_Builds/_Python312_cpp/include/cpython/pyframe.h @@ -0,0 +1,35 @@ +#ifndef Py_CPYTHON_PYFRAME_H +# error "this header file must not be included directly" +#endif + +PyAPI_DATA(PyTypeObject) PyFrame_Type; + +#define PyFrame_Check(op) Py_IS_TYPE((op), &PyFrame_Type) + +PyAPI_FUNC(PyFrameObject *) PyFrame_GetBack(PyFrameObject *frame); +PyAPI_FUNC(PyObject *) PyFrame_GetLocals(PyFrameObject *frame); + +PyAPI_FUNC(PyObject *) PyFrame_GetGlobals(PyFrameObject *frame); +PyAPI_FUNC(PyObject *) PyFrame_GetBuiltins(PyFrameObject *frame); + +PyAPI_FUNC(PyObject *) PyFrame_GetGenerator(PyFrameObject *frame); +PyAPI_FUNC(int) PyFrame_GetLasti(PyFrameObject *frame); +PyAPI_FUNC(PyObject*) PyFrame_GetVar(PyFrameObject *frame, PyObject *name); +PyAPI_FUNC(PyObject*) PyFrame_GetVarString(PyFrameObject *frame, const char *name); + +/* The following functions are for use by debuggers and other tools + * implementing custom frame evaluators with PEP 523. */ + +struct _PyInterpreterFrame; + +/* Returns the code object of the frame (strong reference). + * Does not raise an exception. */ +PyAPI_FUNC(PyObject *) PyUnstable_InterpreterFrame_GetCode(struct _PyInterpreterFrame *frame); + +/* Returns a byte ofsset into the last executed instruction. + * Does not raise an exception. */ +PyAPI_FUNC(int) PyUnstable_InterpreterFrame_GetLasti(struct _PyInterpreterFrame *frame); + +/* Returns the currently executing line number, or -1 if there is no line number. + * Does not raise an exception. */ +PyAPI_FUNC(int) PyUnstable_InterpreterFrame_GetLine(struct _PyInterpreterFrame *frame); diff --git a/_Pre_Builds/_Python312_cpp/include/cpython/pylifecycle.h b/_Pre_Builds/_Python312_cpp/include/cpython/pylifecycle.h new file mode 100644 index 0000000..4daea33 --- /dev/null +++ b/_Pre_Builds/_Python312_cpp/include/cpython/pylifecycle.h @@ -0,0 +1,111 @@ +#ifndef Py_CPYTHON_PYLIFECYCLE_H +# error "this header file must not be included directly" +#endif + +/* Py_FrozenMain is kept out of the Limited API until documented and present + in all builds of Python */ +PyAPI_FUNC(int) Py_FrozenMain(int argc, char **argv); + +/* Only used by applications that embed the interpreter and need to + * override the standard encoding determination mechanism + */ +Py_DEPRECATED(3.11) PyAPI_FUNC(int) Py_SetStandardStreamEncoding( + const char *encoding, + const char *errors); + +/* PEP 432 Multi-phase initialization API (Private while provisional!) */ + +PyAPI_FUNC(PyStatus) Py_PreInitialize( + const PyPreConfig *src_config); +PyAPI_FUNC(PyStatus) Py_PreInitializeFromBytesArgs( + const PyPreConfig *src_config, + Py_ssize_t argc, + char **argv); +PyAPI_FUNC(PyStatus) Py_PreInitializeFromArgs( + const PyPreConfig *src_config, + Py_ssize_t argc, + wchar_t **argv); + +PyAPI_FUNC(int) _Py_IsCoreInitialized(void); + + +/* Initialization and finalization */ + +PyAPI_FUNC(PyStatus) Py_InitializeFromConfig( + const PyConfig *config); +PyAPI_FUNC(PyStatus) _Py_InitializeMain(void); + +PyAPI_FUNC(int) Py_RunMain(void); + + +PyAPI_FUNC(void) _Py_NO_RETURN Py_ExitStatusException(PyStatus err); + +/* Restore signals that the interpreter has called SIG_IGN on to SIG_DFL. */ +PyAPI_FUNC(void) _Py_RestoreSignals(void); + +PyAPI_FUNC(int) Py_FdIsInteractive(FILE *, const char *); +PyAPI_FUNC(int) _Py_FdIsInteractive(FILE *fp, PyObject *filename); + +Py_DEPRECATED(3.11) PyAPI_FUNC(void) _Py_SetProgramFullPath(const wchar_t *); + +PyAPI_FUNC(const char *) _Py_gitidentifier(void); +PyAPI_FUNC(const char *) _Py_gitversion(void); + +PyAPI_FUNC(int) _Py_IsFinalizing(void); +PyAPI_FUNC(int) _Py_IsInterpreterFinalizing(PyInterpreterState *interp); + +/* Random */ +PyAPI_FUNC(int) _PyOS_URandom(void *buffer, Py_ssize_t size); +PyAPI_FUNC(int) _PyOS_URandomNonblock(void *buffer, Py_ssize_t size); + +/* Legacy locale support */ +PyAPI_FUNC(int) _Py_CoerceLegacyLocale(int warn); +PyAPI_FUNC(int) _Py_LegacyLocaleDetected(int warn); +PyAPI_FUNC(char *) _Py_SetLocaleFromEnv(int category); + +/* --- PyInterpreterConfig ------------------------------------ */ + +#define PyInterpreterConfig_DEFAULT_GIL (0) +#define PyInterpreterConfig_SHARED_GIL (1) +#define PyInterpreterConfig_OWN_GIL (2) + +typedef struct { + // XXX "allow_object_sharing"? "own_objects"? + int use_main_obmalloc; + int allow_fork; + int allow_exec; + int allow_threads; + int allow_daemon_threads; + int check_multi_interp_extensions; + int gil; +} PyInterpreterConfig; + +#define _PyInterpreterConfig_INIT \ + { \ + .use_main_obmalloc = 0, \ + .allow_fork = 0, \ + .allow_exec = 0, \ + .allow_threads = 1, \ + .allow_daemon_threads = 0, \ + .check_multi_interp_extensions = 1, \ + .gil = PyInterpreterConfig_OWN_GIL, \ + } + +#define _PyInterpreterConfig_LEGACY_INIT \ + { \ + .use_main_obmalloc = 1, \ + .allow_fork = 1, \ + .allow_exec = 1, \ + .allow_threads = 1, \ + .allow_daemon_threads = 1, \ + .check_multi_interp_extensions = 0, \ + .gil = PyInterpreterConfig_SHARED_GIL, \ + } + +PyAPI_FUNC(PyStatus) Py_NewInterpreterFromConfig( + PyThreadState **tstate_p, + const PyInterpreterConfig *config); + +typedef void (*atexit_datacallbackfunc)(void *); +PyAPI_FUNC(int) _Py_AtExit( + PyInterpreterState *, atexit_datacallbackfunc, void *); diff --git a/_Pre_Builds/_Python312_cpp/include/cpython/pymem.h b/_Pre_Builds/_Python312_cpp/include/cpython/pymem.h new file mode 100644 index 0000000..d1054d7 --- /dev/null +++ b/_Pre_Builds/_Python312_cpp/include/cpython/pymem.h @@ -0,0 +1,98 @@ +#ifndef Py_CPYTHON_PYMEM_H +# error "this header file must not be included directly" +#endif + +PyAPI_FUNC(void *) PyMem_RawMalloc(size_t size); +PyAPI_FUNC(void *) PyMem_RawCalloc(size_t nelem, size_t elsize); +PyAPI_FUNC(void *) PyMem_RawRealloc(void *ptr, size_t new_size); +PyAPI_FUNC(void) PyMem_RawFree(void *ptr); + +/* Try to get the allocators name set by _PyMem_SetupAllocators(). */ +PyAPI_FUNC(const char*) _PyMem_GetCurrentAllocatorName(void); + +/* strdup() using PyMem_RawMalloc() */ +PyAPI_FUNC(char *) _PyMem_RawStrdup(const char *str); + +/* strdup() using PyMem_Malloc() */ +PyAPI_FUNC(char *) _PyMem_Strdup(const char *str); + +/* wcsdup() using PyMem_RawMalloc() */ +PyAPI_FUNC(wchar_t*) _PyMem_RawWcsdup(const wchar_t *str); + + +typedef enum { + /* PyMem_RawMalloc(), PyMem_RawRealloc() and PyMem_RawFree() */ + PYMEM_DOMAIN_RAW, + + /* PyMem_Malloc(), PyMem_Realloc() and PyMem_Free() */ + PYMEM_DOMAIN_MEM, + + /* PyObject_Malloc(), PyObject_Realloc() and PyObject_Free() */ + PYMEM_DOMAIN_OBJ +} PyMemAllocatorDomain; + +typedef enum { + PYMEM_ALLOCATOR_NOT_SET = 0, + PYMEM_ALLOCATOR_DEFAULT = 1, + PYMEM_ALLOCATOR_DEBUG = 2, + PYMEM_ALLOCATOR_MALLOC = 3, + PYMEM_ALLOCATOR_MALLOC_DEBUG = 4, +#ifdef WITH_PYMALLOC + PYMEM_ALLOCATOR_PYMALLOC = 5, + PYMEM_ALLOCATOR_PYMALLOC_DEBUG = 6, +#endif +} PyMemAllocatorName; + + +typedef struct { + /* user context passed as the first argument to the 4 functions */ + void *ctx; + + /* allocate a memory block */ + void* (*malloc) (void *ctx, size_t size); + + /* allocate a memory block initialized by zeros */ + void* (*calloc) (void *ctx, size_t nelem, size_t elsize); + + /* allocate or resize a memory block */ + void* (*realloc) (void *ctx, void *ptr, size_t new_size); + + /* release a memory block */ + void (*free) (void *ctx, void *ptr); +} PyMemAllocatorEx; + +/* Get the memory block allocator of the specified domain. */ +PyAPI_FUNC(void) PyMem_GetAllocator(PyMemAllocatorDomain domain, + PyMemAllocatorEx *allocator); + +/* Set the memory block allocator of the specified domain. + + The new allocator must return a distinct non-NULL pointer when requesting + zero bytes. + + For the PYMEM_DOMAIN_RAW domain, the allocator must be thread-safe: the GIL + is not held when the allocator is called. + + If the new allocator is not a hook (don't call the previous allocator), the + PyMem_SetupDebugHooks() function must be called to reinstall the debug hooks + on top on the new allocator. */ +PyAPI_FUNC(void) PyMem_SetAllocator(PyMemAllocatorDomain domain, + PyMemAllocatorEx *allocator); + +/* Setup hooks to detect bugs in the following Python memory allocator + functions: + + - PyMem_RawMalloc(), PyMem_RawRealloc(), PyMem_RawFree() + - PyMem_Malloc(), PyMem_Realloc(), PyMem_Free() + - PyObject_Malloc(), PyObject_Realloc() and PyObject_Free() + + Newly allocated memory is filled with the byte 0xCB, freed memory is filled + with the byte 0xDB. Additional checks: + + - detect API violations, ex: PyObject_Free() called on a buffer allocated + by PyMem_Malloc() + - detect write before the start of the buffer (buffer underflow) + - detect write after the end of the buffer (buffer overflow) + + The function does nothing if Python is not compiled is debug mode. */ +PyAPI_FUNC(void) PyMem_SetupDebugHooks(void); diff --git a/_Pre_Builds/_Python312_cpp/include/cpython/pystate.h b/_Pre_Builds/_Python312_cpp/include/cpython/pystate.h new file mode 100644 index 0000000..628f2e0 --- /dev/null +++ b/_Pre_Builds/_Python312_cpp/include/cpython/pystate.h @@ -0,0 +1,444 @@ +#ifndef Py_CPYTHON_PYSTATE_H +# error "this header file must not be included directly" +#endif + + +/* +Runtime Feature Flags + +Each flag indicate whether or not a specific runtime feature +is available in a given context. For example, forking the process +might not be allowed in the current interpreter (i.e. os.fork() would fail). +*/ + +/* Set if the interpreter share obmalloc runtime state + with the main interpreter. */ +#define Py_RTFLAGS_USE_MAIN_OBMALLOC (1UL << 5) + +/* Set if import should check a module for subinterpreter support. */ +#define Py_RTFLAGS_MULTI_INTERP_EXTENSIONS (1UL << 8) + +/* Set if threads are allowed. */ +#define Py_RTFLAGS_THREADS (1UL << 10) + +/* Set if daemon threads are allowed. */ +#define Py_RTFLAGS_DAEMON_THREADS (1UL << 11) + +/* Set if os.fork() is allowed. */ +#define Py_RTFLAGS_FORK (1UL << 15) + +/* Set if os.exec*() is allowed. */ +#define Py_RTFLAGS_EXEC (1UL << 16) + + +PyAPI_FUNC(int) _PyInterpreterState_HasFeature(PyInterpreterState *interp, + unsigned long feature); + + +/* private interpreter helpers */ + +PyAPI_FUNC(int) _PyInterpreterState_RequiresIDRef(PyInterpreterState *); +PyAPI_FUNC(void) _PyInterpreterState_RequireIDRef(PyInterpreterState *, int); + +PyAPI_FUNC(PyObject *) _PyInterpreterState_GetMainModule(PyInterpreterState *); + + +/* State unique per thread */ + +/* Py_tracefunc return -1 when raising an exception, or 0 for success. */ +typedef int (*Py_tracefunc)(PyObject *, PyFrameObject *, int, PyObject *); + +/* The following values are used for 'what' for tracefunc functions + * + * To add a new kind of trace event, also update "trace_init" in + * Python/sysmodule.c to define the Python level event name + */ +#define PyTrace_CALL 0 +#define PyTrace_EXCEPTION 1 +#define PyTrace_LINE 2 +#define PyTrace_RETURN 3 +#define PyTrace_C_CALL 4 +#define PyTrace_C_EXCEPTION 5 +#define PyTrace_C_RETURN 6 +#define PyTrace_OPCODE 7 + +// Internal structure: you should not use it directly, but use public functions +// like PyThreadState_EnterTracing() and PyThreadState_LeaveTracing(). +typedef struct _PyCFrame { + /* This struct will be threaded through the C stack + * allowing fast access to per-thread state that needs + * to be accessed quickly by the interpreter, but can + * be modified outside of the interpreter. + * + * WARNING: This makes data on the C stack accessible from + * heap objects. Care must be taken to maintain stack + * discipline and make sure that instances of this struct cannot + * accessed outside of their lifetime. + */ + /* Pointer to the currently executing frame (it can be NULL) */ + struct _PyInterpreterFrame *current_frame; + struct _PyCFrame *previous; +} _PyCFrame; + +typedef struct _err_stackitem { + /* This struct represents a single execution context where we might + * be currently handling an exception. It is a per-coroutine state + * (coroutine in the computer science sense, including the thread + * and generators). + * + * This is used as an entry on the exception stack, where each + * entry indicates if it is currently handling an exception. + * This ensures that the exception state is not impacted + * by "yields" from an except handler. The thread + * always has an entry (the bottom-most one). + */ + + /* The exception currently being handled in this context, if any. */ + PyObject *exc_value; + + struct _err_stackitem *previous_item; + +} _PyErr_StackItem; + +typedef struct _stack_chunk { + struct _stack_chunk *previous; + size_t size; + size_t top; + PyObject * data[1]; /* Variable sized */ +} _PyStackChunk; + +struct _py_trashcan { + int delete_nesting; + PyObject *delete_later; +}; + +struct _ts { + /* See Python/ceval.c for comments explaining most fields */ + + PyThreadState *prev; + PyThreadState *next; + PyInterpreterState *interp; + + struct { + /* Has been initialized to a safe state. + + In order to be effective, this must be set to 0 during or right + after allocation. */ + unsigned int initialized:1; + + /* Has been bound to an OS thread. */ + unsigned int bound:1; + /* Has been unbound from its OS thread. */ + unsigned int unbound:1; + /* Has been bound aa current for the GILState API. */ + unsigned int bound_gilstate:1; + /* Currently in use (maybe holds the GIL). */ + unsigned int active:1; + + /* various stages of finalization */ + unsigned int finalizing:1; + unsigned int cleared:1; + unsigned int finalized:1; + + /* padding to align to 4 bytes */ + unsigned int :24; + } _status; + + int py_recursion_remaining; + int py_recursion_limit; + + int c_recursion_remaining; + int recursion_headroom; /* Allow 50 more calls to handle any errors. */ + + /* 'tracing' keeps track of the execution depth when tracing/profiling. + This is to prevent the actual trace/profile code from being recorded in + the trace/profile. */ + int tracing; + int what_event; /* The event currently being monitored, if any. */ + + /* Pointer to current _PyCFrame in the C stack frame of the currently, + * or most recently, executing _PyEval_EvalFrameDefault. */ + _PyCFrame *cframe; + + Py_tracefunc c_profilefunc; + Py_tracefunc c_tracefunc; + PyObject *c_profileobj; + PyObject *c_traceobj; + + /* The exception currently being raised */ + PyObject *current_exception; + + /* Pointer to the top of the exception stack for the exceptions + * we may be currently handling. (See _PyErr_StackItem above.) + * This is never NULL. */ + _PyErr_StackItem *exc_info; + + PyObject *dict; /* Stores per-thread state */ + + int gilstate_counter; + + PyObject *async_exc; /* Asynchronous exception to raise */ + unsigned long thread_id; /* Thread id where this tstate was created */ + + /* Native thread id where this tstate was created. This will be 0 except on + * those platforms that have the notion of native thread id, for which the + * macro PY_HAVE_THREAD_NATIVE_ID is then defined. + */ + unsigned long native_thread_id; + + struct _py_trashcan trash; + + /* Called when a thread state is deleted normally, but not when it + * is destroyed after fork(). + * Pain: to prevent rare but fatal shutdown errors (issue 18808), + * Thread.join() must wait for the join'ed thread's tstate to be unlinked + * from the tstate chain. That happens at the end of a thread's life, + * in pystate.c. + * The obvious way doesn't quite work: create a lock which the tstate + * unlinking code releases, and have Thread.join() wait to acquire that + * lock. The problem is that we _are_ at the end of the thread's life: + * if the thread holds the last reference to the lock, decref'ing the + * lock will delete the lock, and that may trigger arbitrary Python code + * if there's a weakref, with a callback, to the lock. But by this time + * _PyRuntime.gilstate.tstate_current is already NULL, so only the simplest + * of C code can be allowed to run (in particular it must not be possible to + * release the GIL). + * So instead of holding the lock directly, the tstate holds a weakref to + * the lock: that's the value of on_delete_data below. Decref'ing a + * weakref is harmless. + * on_delete points to _threadmodule.c's static release_sentinel() function. + * After the tstate is unlinked, release_sentinel is called with the + * weakref-to-lock (on_delete_data) argument, and release_sentinel releases + * the indirectly held lock. + */ + void (*on_delete)(void *); + void *on_delete_data; + + int coroutine_origin_tracking_depth; + + PyObject *async_gen_firstiter; + PyObject *async_gen_finalizer; + + PyObject *context; + uint64_t context_ver; + + /* Unique thread state id. */ + uint64_t id; + + _PyStackChunk *datastack_chunk; + PyObject **datastack_top; + PyObject **datastack_limit; + /* XXX signal handlers should also be here */ + + /* The following fields are here to avoid allocation during init. + The data is exposed through PyThreadState pointer fields. + These fields should not be accessed directly outside of init. + This is indicated by an underscore prefix on the field names. + + All other PyInterpreterState pointer fields are populated when + needed and default to NULL. + */ + // Note some fields do not have a leading underscore for backward + // compatibility. See https://bugs.python.org/issue45953#msg412046. + + /* The thread's exception stack entry. (Always the last entry.) */ + _PyErr_StackItem exc_state; + + /* The bottom-most frame on the stack. */ + _PyCFrame root_cframe; +}; + +/* WASI has limited call stack. Python's recursion limit depends on code + layout, optimization, and WASI runtime. Wasmtime can handle about 700 + recursions, sometimes less. 500 is a more conservative limit. */ +#ifndef C_RECURSION_LIMIT +# ifdef __wasi__ +# define C_RECURSION_LIMIT 500 +# else + // This value is duplicated in Lib/test/support/__init__.py +# define C_RECURSION_LIMIT 1500 +# endif +#endif + +/* other API */ + +// Alias for backward compatibility with Python 3.8 +#define _PyInterpreterState_Get PyInterpreterState_Get + +/* An alias for the internal _PyThreadState_New(), + kept for stable ABI compatibility. */ +PyAPI_FUNC(PyThreadState *) _PyThreadState_Prealloc(PyInterpreterState *); + +/* Similar to PyThreadState_Get(), but don't issue a fatal error + * if it is NULL. */ +PyAPI_FUNC(PyThreadState *) _PyThreadState_UncheckedGet(void); + +PyAPI_FUNC(PyObject *) _PyThreadState_GetDict(PyThreadState *tstate); + +// Disable tracing and profiling. +PyAPI_FUNC(void) PyThreadState_EnterTracing(PyThreadState *tstate); + +// Reset tracing and profiling: enable them if a trace function or a profile +// function is set, otherwise disable them. +PyAPI_FUNC(void) PyThreadState_LeaveTracing(PyThreadState *tstate); + +/* PyGILState */ + +/* Helper/diagnostic function - return 1 if the current thread + currently holds the GIL, 0 otherwise. + + The function returns 1 if _PyGILState_check_enabled is non-zero. */ +PyAPI_FUNC(int) PyGILState_Check(void); + +/* Get the single PyInterpreterState used by this process' GILState + implementation. + + This function doesn't check for error. Return NULL before _PyGILState_Init() + is called and after _PyGILState_Fini() is called. + + See also _PyInterpreterState_Get() and _PyInterpreterState_GET(). */ +PyAPI_FUNC(PyInterpreterState *) _PyGILState_GetInterpreterStateUnsafe(void); + +/* The implementation of sys._current_frames() Returns a dict mapping + thread id to that thread's current frame. +*/ +PyAPI_FUNC(PyObject *) _PyThread_CurrentFrames(void); + +/* The implementation of sys._current_exceptions() Returns a dict mapping + thread id to that thread's current exception. +*/ +PyAPI_FUNC(PyObject *) _PyThread_CurrentExceptions(void); + +/* Routines for advanced debuggers, requested by David Beazley. + Don't use unless you know what you are doing! */ +PyAPI_FUNC(PyInterpreterState *) PyInterpreterState_Main(void); +PyAPI_FUNC(PyInterpreterState *) PyInterpreterState_Head(void); +PyAPI_FUNC(PyInterpreterState *) PyInterpreterState_Next(PyInterpreterState *); +PyAPI_FUNC(PyThreadState *) PyInterpreterState_ThreadHead(PyInterpreterState *); +PyAPI_FUNC(PyThreadState *) PyThreadState_Next(PyThreadState *); +PyAPI_FUNC(void) PyThreadState_DeleteCurrent(void); + +/* Frame evaluation API */ + +typedef PyObject* (*_PyFrameEvalFunction)(PyThreadState *tstate, struct _PyInterpreterFrame *, int); + +PyAPI_FUNC(_PyFrameEvalFunction) _PyInterpreterState_GetEvalFrameFunc( + PyInterpreterState *interp); +PyAPI_FUNC(void) _PyInterpreterState_SetEvalFrameFunc( + PyInterpreterState *interp, + _PyFrameEvalFunction eval_frame); + +PyAPI_FUNC(const PyConfig*) _PyInterpreterState_GetConfig(PyInterpreterState *interp); + +/* Get a copy of the current interpreter configuration. + + Return 0 on success. Raise an exception and return -1 on error. + + The caller must initialize 'config', using PyConfig_InitPythonConfig() + for example. + + Python must be preinitialized to call this method. + The caller must hold the GIL. + + Once done with the configuration, PyConfig_Clear() must be called to clear + it. */ +PyAPI_FUNC(int) _PyInterpreterState_GetConfigCopy( + struct PyConfig *config); + +/* Set the configuration of the current interpreter. + + This function should be called during or just after the Python + initialization. + + Update the sys module with the new configuration. If the sys module was + modified directly after the Python initialization, these changes are lost. + + Some configuration like faulthandler or warnoptions can be updated in the + configuration, but don't reconfigure Python (don't enable/disable + faulthandler and don't reconfigure warnings filters). + + Return 0 on success. Raise an exception and return -1 on error. + + The configuration should come from _PyInterpreterState_GetConfigCopy(). */ +PyAPI_FUNC(int) _PyInterpreterState_SetConfig( + const struct PyConfig *config); + +// Get the configuration of the current interpreter. +// The caller must hold the GIL. +PyAPI_FUNC(const PyConfig*) _Py_GetConfig(void); + + +/* cross-interpreter data */ + +// _PyCrossInterpreterData is similar to Py_buffer as an effectively +// opaque struct that holds data outside the object machinery. This +// is necessary to pass safely between interpreters in the same process. +typedef struct _xid _PyCrossInterpreterData; + +typedef PyObject *(*xid_newobjectfunc)(_PyCrossInterpreterData *); +typedef void (*xid_freefunc)(void *); + +struct _xid { + // data is the cross-interpreter-safe derivation of a Python object + // (see _PyObject_GetCrossInterpreterData). It will be NULL if the + // new_object func (below) encodes the data. + void *data; + // obj is the Python object from which the data was derived. This + // is non-NULL only if the data remains bound to the object in some + // way, such that the object must be "released" (via a decref) when + // the data is released. In that case the code that sets the field, + // likely a registered "crossinterpdatafunc", is responsible for + // ensuring it owns the reference (i.e. incref). + PyObject *obj; + // interp is the ID of the owning interpreter of the original + // object. It corresponds to the active interpreter when + // _PyObject_GetCrossInterpreterData() was called. This should only + // be set by the cross-interpreter machinery. + // + // We use the ID rather than the PyInterpreterState to avoid issues + // with deleted interpreters. Note that IDs are never re-used, so + // each one will always correspond to a specific interpreter + // (whether still alive or not). + int64_t interp; + // new_object is a function that returns a new object in the current + // interpreter given the data. The resulting object (a new + // reference) will be equivalent to the original object. This field + // is required. + xid_newobjectfunc new_object; + // free is called when the data is released. If it is NULL then + // nothing will be done to free the data. For some types this is + // okay (e.g. bytes) and for those types this field should be set + // to NULL. However, for most the data was allocated just for + // cross-interpreter use, so it must be freed when + // _PyCrossInterpreterData_Release is called or the memory will + // leak. In that case, at the very least this field should be set + // to PyMem_RawFree (the default if not explicitly set to NULL). + // The call will happen with the original interpreter activated. + xid_freefunc free; +}; + +PyAPI_FUNC(void) _PyCrossInterpreterData_Init( + _PyCrossInterpreterData *data, + PyInterpreterState *interp, void *shared, PyObject *obj, + xid_newobjectfunc new_object); +PyAPI_FUNC(int) _PyCrossInterpreterData_InitWithSize( + _PyCrossInterpreterData *, + PyInterpreterState *interp, const size_t, PyObject *, + xid_newobjectfunc); +PyAPI_FUNC(void) _PyCrossInterpreterData_Clear( + PyInterpreterState *, _PyCrossInterpreterData *); + +PyAPI_FUNC(int) _PyObject_GetCrossInterpreterData(PyObject *, _PyCrossInterpreterData *); +PyAPI_FUNC(PyObject *) _PyCrossInterpreterData_NewObject(_PyCrossInterpreterData *); +PyAPI_FUNC(int) _PyCrossInterpreterData_Release(_PyCrossInterpreterData *); + +PyAPI_FUNC(int) _PyObject_CheckCrossInterpreterData(PyObject *); + +/* cross-interpreter data registry */ + +typedef int (*crossinterpdatafunc)(PyThreadState *tstate, PyObject *, + _PyCrossInterpreterData *); + +PyAPI_FUNC(int) _PyCrossInterpreterData_RegisterClass(PyTypeObject *, crossinterpdatafunc); +PyAPI_FUNC(int) _PyCrossInterpreterData_UnregisterClass(PyTypeObject *); +PyAPI_FUNC(crossinterpdatafunc) _PyCrossInterpreterData_Lookup(PyObject *); diff --git a/_Pre_Builds/_Python312_cpp/include/cpython/pythonrun.h b/_Pre_Builds/_Python312_cpp/include/cpython/pythonrun.h new file mode 100644 index 0000000..fb61765 --- /dev/null +++ b/_Pre_Builds/_Python312_cpp/include/cpython/pythonrun.h @@ -0,0 +1,121 @@ +#ifndef Py_CPYTHON_PYTHONRUN_H +# error "this header file must not be included directly" +#endif + +PyAPI_FUNC(int) PyRun_SimpleStringFlags(const char *, PyCompilerFlags *); +PyAPI_FUNC(int) _PyRun_SimpleFileObject( + FILE *fp, + PyObject *filename, + int closeit, + PyCompilerFlags *flags); +PyAPI_FUNC(int) PyRun_AnyFileExFlags( + FILE *fp, + const char *filename, /* decoded from the filesystem encoding */ + int closeit, + PyCompilerFlags *flags); +PyAPI_FUNC(int) _PyRun_AnyFileObject( + FILE *fp, + PyObject *filename, + int closeit, + PyCompilerFlags *flags); +PyAPI_FUNC(int) PyRun_SimpleFileExFlags( + FILE *fp, + const char *filename, /* decoded from the filesystem encoding */ + int closeit, + PyCompilerFlags *flags); +PyAPI_FUNC(int) PyRun_InteractiveOneFlags( + FILE *fp, + const char *filename, /* decoded from the filesystem encoding */ + PyCompilerFlags *flags); +PyAPI_FUNC(int) PyRun_InteractiveOneObject( + FILE *fp, + PyObject *filename, + PyCompilerFlags *flags); +PyAPI_FUNC(int) PyRun_InteractiveLoopFlags( + FILE *fp, + const char *filename, /* decoded from the filesystem encoding */ + PyCompilerFlags *flags); +PyAPI_FUNC(int) _PyRun_InteractiveLoopObject( + FILE *fp, + PyObject *filename, + PyCompilerFlags *flags); + + +PyAPI_FUNC(PyObject *) PyRun_StringFlags(const char *, int, PyObject *, + PyObject *, PyCompilerFlags *); + +PyAPI_FUNC(PyObject *) PyRun_FileExFlags( + FILE *fp, + const char *filename, /* decoded from the filesystem encoding */ + int start, + PyObject *globals, + PyObject *locals, + int closeit, + PyCompilerFlags *flags); + + +PyAPI_FUNC(PyObject *) Py_CompileStringExFlags( + const char *str, + const char *filename, /* decoded from the filesystem encoding */ + int start, + PyCompilerFlags *flags, + int optimize); +PyAPI_FUNC(PyObject *) Py_CompileStringObject( + const char *str, + PyObject *filename, int start, + PyCompilerFlags *flags, + int optimize); + +#define Py_CompileString(str, p, s) Py_CompileStringExFlags((str), (p), (s), NULL, -1) +#define Py_CompileStringFlags(str, p, s, f) Py_CompileStringExFlags((str), (p), (s), (f), -1) + + +PyAPI_FUNC(const char *) _Py_SourceAsString( + PyObject *cmd, + const char *funcname, + const char *what, + PyCompilerFlags *cf, + PyObject **cmd_copy); + + +/* A function flavor is also exported by libpython. It is required when + libpython is accessed directly rather than using header files which defines + macros below. On Windows, for example, PyAPI_FUNC() uses dllexport to + export functions in pythonXX.dll. */ +PyAPI_FUNC(PyObject *) PyRun_String(const char *str, int s, PyObject *g, PyObject *l); +PyAPI_FUNC(int) PyRun_AnyFile(FILE *fp, const char *name); +PyAPI_FUNC(int) PyRun_AnyFileEx(FILE *fp, const char *name, int closeit); +PyAPI_FUNC(int) PyRun_AnyFileFlags(FILE *, const char *, PyCompilerFlags *); +PyAPI_FUNC(int) PyRun_SimpleString(const char *s); +PyAPI_FUNC(int) PyRun_SimpleFile(FILE *f, const char *p); +PyAPI_FUNC(int) PyRun_SimpleFileEx(FILE *f, const char *p, int c); +PyAPI_FUNC(int) PyRun_InteractiveOne(FILE *f, const char *p); +PyAPI_FUNC(int) PyRun_InteractiveLoop(FILE *f, const char *p); +PyAPI_FUNC(PyObject *) PyRun_File(FILE *fp, const char *p, int s, PyObject *g, PyObject *l); +PyAPI_FUNC(PyObject *) PyRun_FileEx(FILE *fp, const char *p, int s, PyObject *g, PyObject *l, int c); +PyAPI_FUNC(PyObject *) PyRun_FileFlags(FILE *fp, const char *p, int s, PyObject *g, PyObject *l, PyCompilerFlags *flags); + +/* Use macros for a bunch of old variants */ +#define PyRun_String(str, s, g, l) PyRun_StringFlags((str), (s), (g), (l), NULL) +#define PyRun_AnyFile(fp, name) PyRun_AnyFileExFlags((fp), (name), 0, NULL) +#define PyRun_AnyFileEx(fp, name, closeit) \ + PyRun_AnyFileExFlags((fp), (name), (closeit), NULL) +#define PyRun_AnyFileFlags(fp, name, flags) \ + PyRun_AnyFileExFlags((fp), (name), 0, (flags)) +#define PyRun_SimpleString(s) PyRun_SimpleStringFlags((s), NULL) +#define PyRun_SimpleFile(f, p) PyRun_SimpleFileExFlags((f), (p), 0, NULL) +#define PyRun_SimpleFileEx(f, p, c) PyRun_SimpleFileExFlags((f), (p), (c), NULL) +#define PyRun_InteractiveOne(f, p) PyRun_InteractiveOneFlags((f), (p), NULL) +#define PyRun_InteractiveLoop(f, p) PyRun_InteractiveLoopFlags((f), (p), NULL) +#define PyRun_File(fp, p, s, g, l) \ + PyRun_FileExFlags((fp), (p), (s), (g), (l), 0, NULL) +#define PyRun_FileEx(fp, p, s, g, l, c) \ + PyRun_FileExFlags((fp), (p), (s), (g), (l), (c), NULL) +#define PyRun_FileFlags(fp, p, s, g, l, flags) \ + PyRun_FileExFlags((fp), (p), (s), (g), (l), 0, (flags)) + + +/* Stuff with no proper home (yet) */ +PyAPI_FUNC(char *) PyOS_Readline(FILE *, FILE *, const char *); +PyAPI_DATA(PyThreadState*) _PyOS_ReadlineTState; +PyAPI_DATA(char) *(*PyOS_ReadlineFunctionPointer)(FILE *, FILE *, const char *); diff --git a/_Pre_Builds/_Python312_cpp/include/cpython/pythread.h b/_Pre_Builds/_Python312_cpp/include/cpython/pythread.h new file mode 100644 index 0000000..ce4ec8f --- /dev/null +++ b/_Pre_Builds/_Python312_cpp/include/cpython/pythread.h @@ -0,0 +1,42 @@ +#ifndef Py_CPYTHON_PYTHREAD_H +# error "this header file must not be included directly" +#endif + +#define PYTHREAD_INVALID_THREAD_ID ((unsigned long)-1) + +#ifdef HAVE_FORK +/* Private function to reinitialize a lock at fork in the child process. + Reset the lock to the unlocked state. + Return 0 on success, return -1 on error. */ +PyAPI_FUNC(int) _PyThread_at_fork_reinit(PyThread_type_lock *lock); +#endif /* HAVE_FORK */ + +#ifdef HAVE_PTHREAD_H + /* Darwin needs pthread.h to know type name the pthread_key_t. */ +# include +# define NATIVE_TSS_KEY_T pthread_key_t +#elif defined(NT_THREADS) + /* In Windows, native TSS key type is DWORD, + but hardcode the unsigned long to avoid errors for include directive. + */ +# define NATIVE_TSS_KEY_T unsigned long +#elif defined(HAVE_PTHREAD_STUBS) +# include "cpython/pthread_stubs.h" +# define NATIVE_TSS_KEY_T pthread_key_t +#else +# error "Require native threads. See https://bugs.python.org/issue31370" +#endif + +/* When Py_LIMITED_API is not defined, the type layout of Py_tss_t is + exposed to allow static allocation in the API clients. Even in this case, + you must handle TSS keys through API functions due to compatibility. +*/ +struct _Py_tss_t { + int _is_initialized; + NATIVE_TSS_KEY_T _key; +}; + +#undef NATIVE_TSS_KEY_T + +/* When static allocation, you must initialize with Py_tss_NEEDS_INIT. */ +#define Py_tss_NEEDS_INIT {0} diff --git a/_Pre_Builds/_Python312_cpp/include/cpython/pytime.h b/_Pre_Builds/_Python312_cpp/include/cpython/pytime.h new file mode 100644 index 0000000..16d88d1 --- /dev/null +++ b/_Pre_Builds/_Python312_cpp/include/cpython/pytime.h @@ -0,0 +1,331 @@ +// The _PyTime_t API is written to use timestamp and timeout values stored in +// various formats and to read clocks. +// +// The _PyTime_t type is an integer to support directly common arithmetic +// operations like t1 + t2. +// +// The _PyTime_t API supports a resolution of 1 nanosecond. The _PyTime_t type +// is signed to support negative timestamps. The supported range is around +// [-292.3 years; +292.3 years]. Using the Unix epoch (January 1st, 1970), the +// supported date range is around [1677-09-21; 2262-04-11]. +// +// Formats: +// +// * seconds +// * seconds as a floating pointer number (C double) +// * milliseconds (10^-3 seconds) +// * microseconds (10^-6 seconds) +// * 100 nanoseconds (10^-7 seconds) +// * nanoseconds (10^-9 seconds) +// * timeval structure, 1 microsecond resolution (10^-6 seconds) +// * timespec structure, 1 nanosecond resolution (10^-9 seconds) +// +// Integer overflows are detected and raise OverflowError. Conversion to a +// resolution worse than 1 nanosecond is rounded correctly with the requested +// rounding mode. There are 4 rounding modes: floor (towards -inf), ceiling +// (towards +inf), half even and up (away from zero). +// +// Some functions clamp the result in the range [_PyTime_MIN; _PyTime_MAX], so +// the caller doesn't have to handle errors and doesn't need to hold the GIL. +// For example, _PyTime_Add(t1, t2) computes t1+t2 and clamp the result on +// overflow. +// +// Clocks: +// +// * System clock +// * Monotonic clock +// * Performance counter +// +// Operations like (t * k / q) with integers are implemented in a way to reduce +// the risk of integer overflow. Such operation is used to convert a clock +// value expressed in ticks with a frequency to _PyTime_t, like +// QueryPerformanceCounter() with QueryPerformanceFrequency(). + +#ifndef Py_LIMITED_API +#ifndef Py_PYTIME_H +#define Py_PYTIME_H + +/************************************************************************** +Symbols and macros to supply platform-independent interfaces to time related +functions and constants +**************************************************************************/ +#ifdef __cplusplus +extern "C" { +#endif + +#ifdef __clang__ +struct timeval; +#endif + +/* _PyTime_t: Python timestamp with subsecond precision. It can be used to + store a duration, and so indirectly a date (related to another date, like + UNIX epoch). */ +typedef int64_t _PyTime_t; +// _PyTime_MIN nanoseconds is around -292.3 years +#define _PyTime_MIN INT64_MIN +// _PyTime_MAX nanoseconds is around +292.3 years +#define _PyTime_MAX INT64_MAX +#define _SIZEOF_PYTIME_T 8 + +typedef enum { + /* Round towards minus infinity (-inf). + For example, used to read a clock. */ + _PyTime_ROUND_FLOOR=0, + /* Round towards infinity (+inf). + For example, used for timeout to wait "at least" N seconds. */ + _PyTime_ROUND_CEILING=1, + /* Round to nearest with ties going to nearest even integer. + For example, used to round from a Python float. */ + _PyTime_ROUND_HALF_EVEN=2, + /* Round away from zero + For example, used for timeout. _PyTime_ROUND_CEILING rounds + -1e-9 to 0 milliseconds which causes bpo-31786 issue. + _PyTime_ROUND_UP rounds -1e-9 to -1 millisecond which keeps + the timeout sign as expected. select.poll(timeout) must block + for negative values." */ + _PyTime_ROUND_UP=3, + /* _PyTime_ROUND_TIMEOUT (an alias for _PyTime_ROUND_UP) should be + used for timeouts. */ + _PyTime_ROUND_TIMEOUT = _PyTime_ROUND_UP +} _PyTime_round_t; + + +/* Convert a time_t to a PyLong. */ +PyAPI_FUNC(PyObject *) _PyLong_FromTime_t( + time_t sec); + +/* Convert a PyLong to a time_t. */ +PyAPI_FUNC(time_t) _PyLong_AsTime_t( + PyObject *obj); + +/* Convert a number of seconds, int or float, to time_t. */ +PyAPI_FUNC(int) _PyTime_ObjectToTime_t( + PyObject *obj, + time_t *sec, + _PyTime_round_t); + +/* Convert a number of seconds, int or float, to a timeval structure. + usec is in the range [0; 999999] and rounded towards zero. + For example, -1.2 is converted to (-2, 800000). */ +PyAPI_FUNC(int) _PyTime_ObjectToTimeval( + PyObject *obj, + time_t *sec, + long *usec, + _PyTime_round_t); + +/* Convert a number of seconds, int or float, to a timespec structure. + nsec is in the range [0; 999999999] and rounded towards zero. + For example, -1.2 is converted to (-2, 800000000). */ +PyAPI_FUNC(int) _PyTime_ObjectToTimespec( + PyObject *obj, + time_t *sec, + long *nsec, + _PyTime_round_t); + + +/* Create a timestamp from a number of seconds. */ +PyAPI_FUNC(_PyTime_t) _PyTime_FromSeconds(int seconds); + +/* Macro to create a timestamp from a number of seconds, no integer overflow. + Only use the macro for small values, prefer _PyTime_FromSeconds(). */ +#define _PYTIME_FROMSECONDS(seconds) \ + ((_PyTime_t)(seconds) * (1000 * 1000 * 1000)) + +/* Create a timestamp from a number of nanoseconds. */ +PyAPI_FUNC(_PyTime_t) _PyTime_FromNanoseconds(_PyTime_t ns); + +/* Create a timestamp from a number of microseconds. + * Clamp to [_PyTime_MIN; _PyTime_MAX] on overflow. */ +PyAPI_FUNC(_PyTime_t) _PyTime_FromMicrosecondsClamp(_PyTime_t us); + +/* Create a timestamp from nanoseconds (Python int). */ +PyAPI_FUNC(int) _PyTime_FromNanosecondsObject(_PyTime_t *t, + PyObject *obj); + +/* Convert a number of seconds (Python float or int) to a timestamp. + Raise an exception and return -1 on error, return 0 on success. */ +PyAPI_FUNC(int) _PyTime_FromSecondsObject(_PyTime_t *t, + PyObject *obj, + _PyTime_round_t round); + +/* Convert a number of milliseconds (Python float or int, 10^-3) to a timestamp. + Raise an exception and return -1 on error, return 0 on success. */ +PyAPI_FUNC(int) _PyTime_FromMillisecondsObject(_PyTime_t *t, + PyObject *obj, + _PyTime_round_t round); + +/* Convert a timestamp to a number of seconds as a C double. */ +PyAPI_FUNC(double) _PyTime_AsSecondsDouble(_PyTime_t t); + +/* Convert timestamp to a number of milliseconds (10^-3 seconds). */ +PyAPI_FUNC(_PyTime_t) _PyTime_AsMilliseconds(_PyTime_t t, + _PyTime_round_t round); + +/* Convert timestamp to a number of microseconds (10^-6 seconds). */ +PyAPI_FUNC(_PyTime_t) _PyTime_AsMicroseconds(_PyTime_t t, + _PyTime_round_t round); + +/* Convert timestamp to a number of nanoseconds (10^-9 seconds). */ +PyAPI_FUNC(_PyTime_t) _PyTime_AsNanoseconds(_PyTime_t t); + +#ifdef MS_WINDOWS +// Convert timestamp to a number of 100 nanoseconds (10^-7 seconds). +PyAPI_FUNC(_PyTime_t) _PyTime_As100Nanoseconds(_PyTime_t t, + _PyTime_round_t round); +#endif + +/* Convert timestamp to a number of nanoseconds (10^-9 seconds) as a Python int + object. */ +PyAPI_FUNC(PyObject *) _PyTime_AsNanosecondsObject(_PyTime_t t); + +#ifndef MS_WINDOWS +/* Create a timestamp from a timeval structure. + Raise an exception and return -1 on overflow, return 0 on success. */ +PyAPI_FUNC(int) _PyTime_FromTimeval(_PyTime_t *tp, struct timeval *tv); +#endif + +/* Convert a timestamp to a timeval structure (microsecond resolution). + tv_usec is always positive. + Raise an exception and return -1 if the conversion overflowed, + return 0 on success. */ +PyAPI_FUNC(int) _PyTime_AsTimeval(_PyTime_t t, + struct timeval *tv, + _PyTime_round_t round); + +/* Similar to _PyTime_AsTimeval() but don't raise an exception on overflow. + On overflow, clamp tv_sec to _PyTime_t min/max. */ +PyAPI_FUNC(void) _PyTime_AsTimeval_clamp(_PyTime_t t, + struct timeval *tv, + _PyTime_round_t round); + +/* Convert a timestamp to a number of seconds (secs) and microseconds (us). + us is always positive. This function is similar to _PyTime_AsTimeval() + except that secs is always a time_t type, whereas the timeval structure + uses a C long for tv_sec on Windows. + Raise an exception and return -1 if the conversion overflowed, + return 0 on success. */ +PyAPI_FUNC(int) _PyTime_AsTimevalTime_t( + _PyTime_t t, + time_t *secs, + int *us, + _PyTime_round_t round); + +#if defined(HAVE_CLOCK_GETTIME) || defined(HAVE_KQUEUE) +/* Create a timestamp from a timespec structure. + Raise an exception and return -1 on overflow, return 0 on success. */ +PyAPI_FUNC(int) _PyTime_FromTimespec(_PyTime_t *tp, struct timespec *ts); + +/* Convert a timestamp to a timespec structure (nanosecond resolution). + tv_nsec is always positive. + Raise an exception and return -1 on error, return 0 on success. */ +PyAPI_FUNC(int) _PyTime_AsTimespec(_PyTime_t t, struct timespec *ts); + +/* Similar to _PyTime_AsTimespec() but don't raise an exception on overflow. + On overflow, clamp tv_sec to _PyTime_t min/max. */ +PyAPI_FUNC(void) _PyTime_AsTimespec_clamp(_PyTime_t t, struct timespec *ts); +#endif + + +// Compute t1 + t2. Clamp to [_PyTime_MIN; _PyTime_MAX] on overflow. +PyAPI_FUNC(_PyTime_t) _PyTime_Add(_PyTime_t t1, _PyTime_t t2); + +/* Compute ticks * mul / div. + Clamp to [_PyTime_MIN; _PyTime_MAX] on overflow. + The caller must ensure that ((div - 1) * mul) cannot overflow. */ +PyAPI_FUNC(_PyTime_t) _PyTime_MulDiv(_PyTime_t ticks, + _PyTime_t mul, + _PyTime_t div); + +/* Structure used by time.get_clock_info() */ +typedef struct { + const char *implementation; + int monotonic; + int adjustable; + double resolution; +} _Py_clock_info_t; + +/* Get the current time from the system clock. + + If the internal clock fails, silently ignore the error and return 0. + On integer overflow, silently ignore the overflow and clamp the clock to + [_PyTime_MIN; _PyTime_MAX]. + + Use _PyTime_GetSystemClockWithInfo() to check for failure. */ +PyAPI_FUNC(_PyTime_t) _PyTime_GetSystemClock(void); + +/* Get the current time from the system clock. + * On success, set *t and *info (if not NULL), and return 0. + * On error, raise an exception and return -1. + */ +PyAPI_FUNC(int) _PyTime_GetSystemClockWithInfo( + _PyTime_t *t, + _Py_clock_info_t *info); + +/* Get the time of a monotonic clock, i.e. a clock that cannot go backwards. + The clock is not affected by system clock updates. The reference point of + the returned value is undefined, so that only the difference between the + results of consecutive calls is valid. + + If the internal clock fails, silently ignore the error and return 0. + On integer overflow, silently ignore the overflow and clamp the clock to + [_PyTime_MIN; _PyTime_MAX]. + + Use _PyTime_GetMonotonicClockWithInfo() to check for failure. */ +PyAPI_FUNC(_PyTime_t) _PyTime_GetMonotonicClock(void); + +/* Get the time of a monotonic clock, i.e. a clock that cannot go backwards. + The clock is not affected by system clock updates. The reference point of + the returned value is undefined, so that only the difference between the + results of consecutive calls is valid. + + Fill info (if set) with information of the function used to get the time. + + Return 0 on success, raise an exception and return -1 on error. */ +PyAPI_FUNC(int) _PyTime_GetMonotonicClockWithInfo( + _PyTime_t *t, + _Py_clock_info_t *info); + + +/* Converts a timestamp to the Gregorian time, using the local time zone. + Return 0 on success, raise an exception and return -1 on error. */ +PyAPI_FUNC(int) _PyTime_localtime(time_t t, struct tm *tm); + +/* Converts a timestamp to the Gregorian time, assuming UTC. + Return 0 on success, raise an exception and return -1 on error. */ +PyAPI_FUNC(int) _PyTime_gmtime(time_t t, struct tm *tm); + +/* Get the performance counter: clock with the highest available resolution to + measure a short duration. + + If the internal clock fails, silently ignore the error and return 0. + On integer overflow, silently ignore the overflow and clamp the clock to + [_PyTime_MIN; _PyTime_MAX]. + + Use _PyTime_GetPerfCounterWithInfo() to check for failure. */ +PyAPI_FUNC(_PyTime_t) _PyTime_GetPerfCounter(void); + +/* Get the performance counter: clock with the highest available resolution to + measure a short duration. + + Fill info (if set) with information of the function used to get the time. + + Return 0 on success, raise an exception and return -1 on error. */ +PyAPI_FUNC(int) _PyTime_GetPerfCounterWithInfo( + _PyTime_t *t, + _Py_clock_info_t *info); + + +// Create a deadline. +// Pseudo code: _PyTime_GetMonotonicClock() + timeout. +PyAPI_FUNC(_PyTime_t) _PyDeadline_Init(_PyTime_t timeout); + +// Get remaining time from a deadline. +// Pseudo code: deadline - _PyTime_GetMonotonicClock(). +PyAPI_FUNC(_PyTime_t) _PyDeadline_Get(_PyTime_t deadline); + +#ifdef __cplusplus +} +#endif + +#endif /* Py_PYTIME_H */ +#endif /* Py_LIMITED_API */ diff --git a/_Pre_Builds/_Python312_cpp/include/cpython/setobject.h b/_Pre_Builds/_Python312_cpp/include/cpython/setobject.h new file mode 100644 index 0000000..20fd63e --- /dev/null +++ b/_Pre_Builds/_Python312_cpp/include/cpython/setobject.h @@ -0,0 +1,72 @@ +#ifndef Py_CPYTHON_SETOBJECT_H +# error "this header file must not be included directly" +#endif + +/* There are three kinds of entries in the table: + +1. Unused: key == NULL and hash == 0 +2. Dummy: key == dummy and hash == -1 +3. Active: key != NULL and key != dummy and hash != -1 + +The hash field of Unused slots is always zero. + +The hash field of Dummy slots are set to -1 +meaning that dummy entries can be detected by +either entry->key==dummy or by entry->hash==-1. +*/ + +#define PySet_MINSIZE 8 + +typedef struct { + PyObject *key; + Py_hash_t hash; /* Cached hash code of the key */ +} setentry; + +/* The SetObject data structure is shared by set and frozenset objects. + +Invariant for sets: + - hash is -1 + +Invariants for frozensets: + - data is immutable. + - hash is the hash of the frozenset or -1 if not computed yet. + +*/ + +typedef struct { + PyObject_HEAD + + Py_ssize_t fill; /* Number active and dummy entries*/ + Py_ssize_t used; /* Number active entries */ + + /* The table contains mask + 1 slots, and that's a power of 2. + * We store the mask instead of the size because the mask is more + * frequently needed. + */ + Py_ssize_t mask; + + /* The table points to a fixed-size smalltable for small tables + * or to additional malloc'ed memory for bigger tables. + * The table pointer is never NULL which saves us from repeated + * runtime null-tests. + */ + setentry *table; + Py_hash_t hash; /* Only used by frozenset objects */ + Py_ssize_t finger; /* Search finger for pop() */ + + setentry smalltable[PySet_MINSIZE]; + PyObject *weakreflist; /* List of weak references */ +} PySetObject; + +#define _PySet_CAST(so) \ + (assert(PyAnySet_Check(so)), _Py_CAST(PySetObject*, so)) + +static inline Py_ssize_t PySet_GET_SIZE(PyObject *so) { + return _PySet_CAST(so)->used; +} +#define PySet_GET_SIZE(so) PySet_GET_SIZE(_PyObject_CAST(so)) + +PyAPI_DATA(PyObject *) _PySet_Dummy; + +PyAPI_FUNC(int) _PySet_NextEntry(PyObject *set, Py_ssize_t *pos, PyObject **key, Py_hash_t *hash); +PyAPI_FUNC(int) _PySet_Update(PyObject *set, PyObject *iterable); diff --git a/_Pre_Builds/_Python312_cpp/include/cpython/sysmodule.h b/_Pre_Builds/_Python312_cpp/include/cpython/sysmodule.h new file mode 100644 index 0000000..19d9ddd --- /dev/null +++ b/_Pre_Builds/_Python312_cpp/include/cpython/sysmodule.h @@ -0,0 +1,16 @@ +#ifndef Py_CPYTHON_SYSMODULE_H +# error "this header file must not be included directly" +#endif + +PyAPI_FUNC(PyObject *) _PySys_GetAttr(PyThreadState *tstate, + PyObject *name); + +PyAPI_FUNC(size_t) _PySys_GetSizeOf(PyObject *); + +typedef int(*Py_AuditHookFunction)(const char *, PyObject *, void *); + +PyAPI_FUNC(int) PySys_Audit( + const char *event, + const char *argFormat, + ...); +PyAPI_FUNC(int) PySys_AddAuditHook(Py_AuditHookFunction, void*); diff --git a/_Pre_Builds/_Python312_cpp/include/cpython/traceback.h b/_Pre_Builds/_Python312_cpp/include/cpython/traceback.h new file mode 100644 index 0000000..a4e087b --- /dev/null +++ b/_Pre_Builds/_Python312_cpp/include/cpython/traceback.h @@ -0,0 +1,16 @@ +#ifndef Py_CPYTHON_TRACEBACK_H +# error "this header file must not be included directly" +#endif + +typedef struct _traceback PyTracebackObject; + +struct _traceback { + PyObject_HEAD + PyTracebackObject *tb_next; + PyFrameObject *tb_frame; + int tb_lasti; + int tb_lineno; +}; + +PyAPI_FUNC(int) _Py_DisplaySourceLine(PyObject *, PyObject *, int, int, int *, PyObject **); +PyAPI_FUNC(void) _PyTraceback_Add(const char *, const char *, int); diff --git a/_Pre_Builds/_Python312_cpp/include/cpython/tupleobject.h b/_Pre_Builds/_Python312_cpp/include/cpython/tupleobject.h new file mode 100644 index 0000000..f6a1f07 --- /dev/null +++ b/_Pre_Builds/_Python312_cpp/include/cpython/tupleobject.h @@ -0,0 +1,39 @@ +#ifndef Py_CPYTHON_TUPLEOBJECT_H +# error "this header file must not be included directly" +#endif + +typedef struct { + PyObject_VAR_HEAD + /* ob_item contains space for 'ob_size' elements. + Items must normally not be NULL, except during construction when + the tuple is not yet visible outside the function that builds it. */ + PyObject *ob_item[1]; +} PyTupleObject; + +PyAPI_FUNC(int) _PyTuple_Resize(PyObject **, Py_ssize_t); +PyAPI_FUNC(void) _PyTuple_MaybeUntrack(PyObject *); + +/* Cast argument to PyTupleObject* type. */ +#define _PyTuple_CAST(op) \ + (assert(PyTuple_Check(op)), _Py_CAST(PyTupleObject*, (op))) + +// Macros and static inline functions, trading safety for speed + +static inline Py_ssize_t PyTuple_GET_SIZE(PyObject *op) { + PyTupleObject *tuple = _PyTuple_CAST(op); + return Py_SIZE(tuple); +} +#define PyTuple_GET_SIZE(op) PyTuple_GET_SIZE(_PyObject_CAST(op)) + +#define PyTuple_GET_ITEM(op, index) (_PyTuple_CAST(op)->ob_item[(index)]) + +/* Function *only* to be used to fill in brand new tuples */ +static inline void +PyTuple_SET_ITEM(PyObject *op, Py_ssize_t index, PyObject *value) { + PyTupleObject *tuple = _PyTuple_CAST(op); + tuple->ob_item[index] = value; +} +#define PyTuple_SET_ITEM(op, index, value) \ + PyTuple_SET_ITEM(_PyObject_CAST(op), (index), _PyObject_CAST(value)) + +PyAPI_FUNC(void) _PyTuple_DebugMallocStats(FILE *out); diff --git a/_Pre_Builds/_Python312_cpp/include/cpython/unicodeobject.h b/_Pre_Builds/_Python312_cpp/include/cpython/unicodeobject.h new file mode 100644 index 0000000..f177cd9 --- /dev/null +++ b/_Pre_Builds/_Python312_cpp/include/cpython/unicodeobject.h @@ -0,0 +1,963 @@ +#ifndef Py_CPYTHON_UNICODEOBJECT_H +# error "this header file must not be included directly" +#endif + +/* Py_UNICODE was the native Unicode storage format (code unit) used by + Python and represents a single Unicode element in the Unicode type. + With PEP 393, Py_UNICODE is deprecated and replaced with a + typedef to wchar_t. */ +#define PY_UNICODE_TYPE wchar_t +/* Py_DEPRECATED(3.3) */ typedef wchar_t Py_UNICODE; + +/* --- Internal Unicode Operations ---------------------------------------- */ + +// Static inline functions to work with surrogates +static inline int Py_UNICODE_IS_SURROGATE(Py_UCS4 ch) { + return (0xD800 <= ch && ch <= 0xDFFF); +} +static inline int Py_UNICODE_IS_HIGH_SURROGATE(Py_UCS4 ch) { + return (0xD800 <= ch && ch <= 0xDBFF); +} +static inline int Py_UNICODE_IS_LOW_SURROGATE(Py_UCS4 ch) { + return (0xDC00 <= ch && ch <= 0xDFFF); +} + +// Join two surrogate characters and return a single Py_UCS4 value. +static inline Py_UCS4 Py_UNICODE_JOIN_SURROGATES(Py_UCS4 high, Py_UCS4 low) { + assert(Py_UNICODE_IS_HIGH_SURROGATE(high)); + assert(Py_UNICODE_IS_LOW_SURROGATE(low)); + return 0x10000 + (((high & 0x03FF) << 10) | (low & 0x03FF)); +} + +// High surrogate = top 10 bits added to 0xD800. +// The character must be in the range [U+10000; U+10ffff]. +static inline Py_UCS4 Py_UNICODE_HIGH_SURROGATE(Py_UCS4 ch) { + assert(0x10000 <= ch && ch <= 0x10ffff); + return (0xD800 - (0x10000 >> 10) + (ch >> 10)); +} + +// Low surrogate = bottom 10 bits added to 0xDC00. +// The character must be in the range [U+10000; U+10ffff]. +static inline Py_UCS4 Py_UNICODE_LOW_SURROGATE(Py_UCS4 ch) { + assert(0x10000 <= ch && ch <= 0x10ffff); + return (0xDC00 + (ch & 0x3FF)); +} + +/* --- Unicode Type ------------------------------------------------------- */ + +/* ASCII-only strings created through PyUnicode_New use the PyASCIIObject + structure. state.ascii and state.compact are set, and the data + immediately follow the structure. utf8_length can be found + in the length field; the utf8 pointer is equal to the data pointer. */ +typedef struct { + /* There are 4 forms of Unicode strings: + + - compact ascii: + + * structure = PyASCIIObject + * test: PyUnicode_IS_COMPACT_ASCII(op) + * kind = PyUnicode_1BYTE_KIND + * compact = 1 + * ascii = 1 + * (length is the length of the utf8) + * (data starts just after the structure) + * (since ASCII is decoded from UTF-8, the utf8 string are the data) + + - compact: + + * structure = PyCompactUnicodeObject + * test: PyUnicode_IS_COMPACT(op) && !PyUnicode_IS_ASCII(op) + * kind = PyUnicode_1BYTE_KIND, PyUnicode_2BYTE_KIND or + PyUnicode_4BYTE_KIND + * compact = 1 + * ascii = 0 + * utf8 is not shared with data + * utf8_length = 0 if utf8 is NULL + * (data starts just after the structure) + + - legacy string: + + * structure = PyUnicodeObject structure + * test: !PyUnicode_IS_COMPACT(op) + * kind = PyUnicode_1BYTE_KIND, PyUnicode_2BYTE_KIND or + PyUnicode_4BYTE_KIND + * compact = 0 + * data.any is not NULL + * utf8 is shared and utf8_length = length with data.any if ascii = 1 + * utf8_length = 0 if utf8 is NULL + + Compact strings use only one memory block (structure + characters), + whereas legacy strings use one block for the structure and one block + for characters. + + Legacy strings are created by subclasses of Unicode. + + See also _PyUnicode_CheckConsistency(). + */ + PyObject_HEAD + Py_ssize_t length; /* Number of code points in the string */ + Py_hash_t hash; /* Hash value; -1 if not set */ + struct { + /* If interned is non-zero, the two references from the + dictionary to this object are *not* counted in ob_refcnt. + The possible values here are: + 0: Not Interned + 1: Interned + 2: Interned and Immortal + 3: Interned, Immortal, and Static + This categorization allows the runtime to determine the right + cleanup mechanism at runtime shutdown. */ + unsigned int interned:2; + /* Character size: + + - PyUnicode_1BYTE_KIND (1): + + * character type = Py_UCS1 (8 bits, unsigned) + * all characters are in the range U+0000-U+00FF (latin1) + * if ascii is set, all characters are in the range U+0000-U+007F + (ASCII), otherwise at least one character is in the range + U+0080-U+00FF + + - PyUnicode_2BYTE_KIND (2): + + * character type = Py_UCS2 (16 bits, unsigned) + * all characters are in the range U+0000-U+FFFF (BMP) + * at least one character is in the range U+0100-U+FFFF + + - PyUnicode_4BYTE_KIND (4): + + * character type = Py_UCS4 (32 bits, unsigned) + * all characters are in the range U+0000-U+10FFFF + * at least one character is in the range U+10000-U+10FFFF + */ + unsigned int kind:3; + /* Compact is with respect to the allocation scheme. Compact unicode + objects only require one memory block while non-compact objects use + one block for the PyUnicodeObject struct and another for its data + buffer. */ + unsigned int compact:1; + /* The string only contains characters in the range U+0000-U+007F (ASCII) + and the kind is PyUnicode_1BYTE_KIND. If ascii is set and compact is + set, use the PyASCIIObject structure. */ + unsigned int ascii:1; + /* The object is statically allocated. */ + unsigned int statically_allocated:1; + /* Padding to ensure that PyUnicode_DATA() is always aligned to + 4 bytes (see issue #19537 on m68k). */ + unsigned int :24; + } state; +} PyASCIIObject; + +/* Non-ASCII strings allocated through PyUnicode_New use the + PyCompactUnicodeObject structure. state.compact is set, and the data + immediately follow the structure. */ +typedef struct { + PyASCIIObject _base; + Py_ssize_t utf8_length; /* Number of bytes in utf8, excluding the + * terminating \0. */ + char *utf8; /* UTF-8 representation (null-terminated) */ +} PyCompactUnicodeObject; + +/* Object format for Unicode subclasses. */ +typedef struct { + PyCompactUnicodeObject _base; + union { + void *any; + Py_UCS1 *latin1; + Py_UCS2 *ucs2; + Py_UCS4 *ucs4; + } data; /* Canonical, smallest-form Unicode buffer */ +} PyUnicodeObject; + +PyAPI_FUNC(int) _PyUnicode_CheckConsistency( + PyObject *op, + int check_content); + + +#define _PyASCIIObject_CAST(op) \ + (assert(PyUnicode_Check(op)), \ + _Py_CAST(PyASCIIObject*, (op))) +#define _PyCompactUnicodeObject_CAST(op) \ + (assert(PyUnicode_Check(op)), \ + _Py_CAST(PyCompactUnicodeObject*, (op))) +#define _PyUnicodeObject_CAST(op) \ + (assert(PyUnicode_Check(op)), \ + _Py_CAST(PyUnicodeObject*, (op))) + + +/* --- Flexible String Representation Helper Macros (PEP 393) -------------- */ + +/* Values for PyASCIIObject.state: */ + +/* Interning state. */ +#define SSTATE_NOT_INTERNED 0 +#define SSTATE_INTERNED_MORTAL 1 +#define SSTATE_INTERNED_IMMORTAL 2 +#define SSTATE_INTERNED_IMMORTAL_STATIC 3 + +/* Use only if you know it's a string */ +static inline unsigned int PyUnicode_CHECK_INTERNED(PyObject *op) { + return _PyASCIIObject_CAST(op)->state.interned; +} +#define PyUnicode_CHECK_INTERNED(op) PyUnicode_CHECK_INTERNED(_PyObject_CAST(op)) + +/* For backward compatibility */ +static inline unsigned int PyUnicode_IS_READY(PyObject* Py_UNUSED(op)) { + return 1; +} +#define PyUnicode_IS_READY(op) PyUnicode_IS_READY(_PyObject_CAST(op)) + +/* Return true if the string contains only ASCII characters, or 0 if not. The + string may be compact (PyUnicode_IS_COMPACT_ASCII) or not, but must be + ready. */ +static inline unsigned int PyUnicode_IS_ASCII(PyObject *op) { + return _PyASCIIObject_CAST(op)->state.ascii; +} +#define PyUnicode_IS_ASCII(op) PyUnicode_IS_ASCII(_PyObject_CAST(op)) + +/* Return true if the string is compact or 0 if not. + No type checks or Ready calls are performed. */ +static inline unsigned int PyUnicode_IS_COMPACT(PyObject *op) { + return _PyASCIIObject_CAST(op)->state.compact; +} +#define PyUnicode_IS_COMPACT(op) PyUnicode_IS_COMPACT(_PyObject_CAST(op)) + +/* Return true if the string is a compact ASCII string (use PyASCIIObject + structure), or 0 if not. No type checks or Ready calls are performed. */ +static inline int PyUnicode_IS_COMPACT_ASCII(PyObject *op) { + return (_PyASCIIObject_CAST(op)->state.ascii && PyUnicode_IS_COMPACT(op)); +} +#define PyUnicode_IS_COMPACT_ASCII(op) PyUnicode_IS_COMPACT_ASCII(_PyObject_CAST(op)) + +enum PyUnicode_Kind { +/* Return values of the PyUnicode_KIND() function: */ + PyUnicode_1BYTE_KIND = 1, + PyUnicode_2BYTE_KIND = 2, + PyUnicode_4BYTE_KIND = 4 +}; + +// PyUnicode_KIND(): Return one of the PyUnicode_*_KIND values defined above. +// +// gh-89653: Converting this macro to a static inline function would introduce +// new compiler warnings on "kind < PyUnicode_KIND(str)" (compare signed and +// unsigned numbers) where kind type is an int or on +// "unsigned int kind = PyUnicode_KIND(str)" (cast signed to unsigned). +#define PyUnicode_KIND(op) _Py_RVALUE(_PyASCIIObject_CAST(op)->state.kind) + +/* Return a void pointer to the raw unicode buffer. */ +static inline void* _PyUnicode_COMPACT_DATA(PyObject *op) { + if (PyUnicode_IS_ASCII(op)) { + return _Py_STATIC_CAST(void*, (_PyASCIIObject_CAST(op) + 1)); + } + return _Py_STATIC_CAST(void*, (_PyCompactUnicodeObject_CAST(op) + 1)); +} + +static inline void* _PyUnicode_NONCOMPACT_DATA(PyObject *op) { + void *data; + assert(!PyUnicode_IS_COMPACT(op)); + data = _PyUnicodeObject_CAST(op)->data.any; + assert(data != NULL); + return data; +} + +static inline void* PyUnicode_DATA(PyObject *op) { + if (PyUnicode_IS_COMPACT(op)) { + return _PyUnicode_COMPACT_DATA(op); + } + return _PyUnicode_NONCOMPACT_DATA(op); +} +#define PyUnicode_DATA(op) PyUnicode_DATA(_PyObject_CAST(op)) + +/* Return pointers to the canonical representation cast to unsigned char, + Py_UCS2, or Py_UCS4 for direct character access. + No checks are performed, use PyUnicode_KIND() before to ensure + these will work correctly. */ + +#define PyUnicode_1BYTE_DATA(op) _Py_STATIC_CAST(Py_UCS1*, PyUnicode_DATA(op)) +#define PyUnicode_2BYTE_DATA(op) _Py_STATIC_CAST(Py_UCS2*, PyUnicode_DATA(op)) +#define PyUnicode_4BYTE_DATA(op) _Py_STATIC_CAST(Py_UCS4*, PyUnicode_DATA(op)) + +/* Returns the length of the unicode string. */ +static inline Py_ssize_t PyUnicode_GET_LENGTH(PyObject *op) { + return _PyASCIIObject_CAST(op)->length; +} +#define PyUnicode_GET_LENGTH(op) PyUnicode_GET_LENGTH(_PyObject_CAST(op)) + +/* Write into the canonical representation, this function does not do any sanity + checks and is intended for usage in loops. The caller should cache the + kind and data pointers obtained from other function calls. + index is the index in the string (starts at 0) and value is the new + code point value which should be written to that location. */ +static inline void PyUnicode_WRITE(int kind, void *data, + Py_ssize_t index, Py_UCS4 value) +{ + assert(index >= 0); + if (kind == PyUnicode_1BYTE_KIND) { + assert(value <= 0xffU); + _Py_STATIC_CAST(Py_UCS1*, data)[index] = _Py_STATIC_CAST(Py_UCS1, value); + } + else if (kind == PyUnicode_2BYTE_KIND) { + assert(value <= 0xffffU); + _Py_STATIC_CAST(Py_UCS2*, data)[index] = _Py_STATIC_CAST(Py_UCS2, value); + } + else { + assert(kind == PyUnicode_4BYTE_KIND); + assert(value <= 0x10ffffU); + _Py_STATIC_CAST(Py_UCS4*, data)[index] = value; + } +} +#define PyUnicode_WRITE(kind, data, index, value) \ + PyUnicode_WRITE(_Py_STATIC_CAST(int, kind), _Py_CAST(void*, data), \ + (index), _Py_STATIC_CAST(Py_UCS4, value)) + +/* Read a code point from the string's canonical representation. No checks + or ready calls are performed. */ +static inline Py_UCS4 PyUnicode_READ(int kind, + const void *data, Py_ssize_t index) +{ + assert(index >= 0); + if (kind == PyUnicode_1BYTE_KIND) { + return _Py_STATIC_CAST(const Py_UCS1*, data)[index]; + } + if (kind == PyUnicode_2BYTE_KIND) { + return _Py_STATIC_CAST(const Py_UCS2*, data)[index]; + } + assert(kind == PyUnicode_4BYTE_KIND); + return _Py_STATIC_CAST(const Py_UCS4*, data)[index]; +} +#define PyUnicode_READ(kind, data, index) \ + PyUnicode_READ(_Py_STATIC_CAST(int, kind), \ + _Py_STATIC_CAST(const void*, data), \ + (index)) + +/* PyUnicode_READ_CHAR() is less efficient than PyUnicode_READ() because it + calls PyUnicode_KIND() and might call it twice. For single reads, use + PyUnicode_READ_CHAR, for multiple consecutive reads callers should + cache kind and use PyUnicode_READ instead. */ +static inline Py_UCS4 PyUnicode_READ_CHAR(PyObject *unicode, Py_ssize_t index) +{ + int kind; + + assert(index >= 0); + // Tolerate reading the NUL character at str[len(str)] + assert(index <= PyUnicode_GET_LENGTH(unicode)); + + kind = PyUnicode_KIND(unicode); + if (kind == PyUnicode_1BYTE_KIND) { + return PyUnicode_1BYTE_DATA(unicode)[index]; + } + if (kind == PyUnicode_2BYTE_KIND) { + return PyUnicode_2BYTE_DATA(unicode)[index]; + } + assert(kind == PyUnicode_4BYTE_KIND); + return PyUnicode_4BYTE_DATA(unicode)[index]; +} +#define PyUnicode_READ_CHAR(unicode, index) \ + PyUnicode_READ_CHAR(_PyObject_CAST(unicode), (index)) + +/* Return a maximum character value which is suitable for creating another + string based on op. This is always an approximation but more efficient + than iterating over the string. */ +static inline Py_UCS4 PyUnicode_MAX_CHAR_VALUE(PyObject *op) +{ + int kind; + + if (PyUnicode_IS_ASCII(op)) { + return 0x7fU; + } + + kind = PyUnicode_KIND(op); + if (kind == PyUnicode_1BYTE_KIND) { + return 0xffU; + } + if (kind == PyUnicode_2BYTE_KIND) { + return 0xffffU; + } + assert(kind == PyUnicode_4BYTE_KIND); + return 0x10ffffU; +} +#define PyUnicode_MAX_CHAR_VALUE(op) \ + PyUnicode_MAX_CHAR_VALUE(_PyObject_CAST(op)) + +/* === Public API ========================================================= */ + +/* --- Plain Py_UNICODE --------------------------------------------------- */ + +/* With PEP 393, this is the recommended way to allocate a new unicode object. + This function will allocate the object and its buffer in a single memory + block. Objects created using this function are not resizable. */ +PyAPI_FUNC(PyObject*) PyUnicode_New( + Py_ssize_t size, /* Number of code points in the new string */ + Py_UCS4 maxchar /* maximum code point value in the string */ + ); + +/* For backward compatibility */ +static inline int PyUnicode_READY(PyObject* Py_UNUSED(op)) +{ + return 0; +} +#define PyUnicode_READY(op) PyUnicode_READY(_PyObject_CAST(op)) + +/* Get a copy of a Unicode string. */ +PyAPI_FUNC(PyObject*) _PyUnicode_Copy( + PyObject *unicode + ); + +/* Copy character from one unicode object into another, this function performs + character conversion when necessary and falls back to memcpy() if possible. + + Fail if to is too small (smaller than *how_many* or smaller than + len(from)-from_start), or if kind(from[from_start:from_start+how_many]) > + kind(to), or if *to* has more than 1 reference. + + Return the number of written character, or return -1 and raise an exception + on error. + + Pseudo-code: + + how_many = min(how_many, len(from) - from_start) + to[to_start:to_start+how_many] = from[from_start:from_start+how_many] + return how_many + + Note: The function doesn't write a terminating null character. + */ +PyAPI_FUNC(Py_ssize_t) PyUnicode_CopyCharacters( + PyObject *to, + Py_ssize_t to_start, + PyObject *from, + Py_ssize_t from_start, + Py_ssize_t how_many + ); + +/* Unsafe version of PyUnicode_CopyCharacters(): don't check arguments and so + may crash if parameters are invalid (e.g. if the output string + is too short). */ +PyAPI_FUNC(void) _PyUnicode_FastCopyCharacters( + PyObject *to, + Py_ssize_t to_start, + PyObject *from, + Py_ssize_t from_start, + Py_ssize_t how_many + ); + +/* Fill a string with a character: write fill_char into + unicode[start:start+length]. + + Fail if fill_char is bigger than the string maximum character, or if the + string has more than 1 reference. + + Return the number of written character, or return -1 and raise an exception + on error. */ +PyAPI_FUNC(Py_ssize_t) PyUnicode_Fill( + PyObject *unicode, + Py_ssize_t start, + Py_ssize_t length, + Py_UCS4 fill_char + ); + +/* Unsafe version of PyUnicode_Fill(): don't check arguments and so may crash + if parameters are invalid (e.g. if length is longer than the string). */ +PyAPI_FUNC(void) _PyUnicode_FastFill( + PyObject *unicode, + Py_ssize_t start, + Py_ssize_t length, + Py_UCS4 fill_char + ); + +/* Create a new string from a buffer of Py_UCS1, Py_UCS2 or Py_UCS4 characters. + Scan the string to find the maximum character. */ +PyAPI_FUNC(PyObject*) PyUnicode_FromKindAndData( + int kind, + const void *buffer, + Py_ssize_t size); + +/* Create a new string from a buffer of ASCII characters. + WARNING: Don't check if the string contains any non-ASCII character. */ +PyAPI_FUNC(PyObject*) _PyUnicode_FromASCII( + const char *buffer, + Py_ssize_t size); + +/* Compute the maximum character of the substring unicode[start:end]. + Return 127 for an empty string. */ +PyAPI_FUNC(Py_UCS4) _PyUnicode_FindMaxChar ( + PyObject *unicode, + Py_ssize_t start, + Py_ssize_t end); + +/* --- _PyUnicodeWriter API ----------------------------------------------- */ + +typedef struct { + PyObject *buffer; + void *data; + int kind; + Py_UCS4 maxchar; + Py_ssize_t size; + Py_ssize_t pos; + + /* minimum number of allocated characters (default: 0) */ + Py_ssize_t min_length; + + /* minimum character (default: 127, ASCII) */ + Py_UCS4 min_char; + + /* If non-zero, overallocate the buffer (default: 0). */ + unsigned char overallocate; + + /* If readonly is 1, buffer is a shared string (cannot be modified) + and size is set to 0. */ + unsigned char readonly; +} _PyUnicodeWriter ; + +/* Initialize a Unicode writer. + * + * By default, the minimum buffer size is 0 character and overallocation is + * disabled. Set min_length, min_char and overallocate attributes to control + * the allocation of the buffer. */ +PyAPI_FUNC(void) +_PyUnicodeWriter_Init(_PyUnicodeWriter *writer); + +/* Prepare the buffer to write 'length' characters + with the specified maximum character. + + Return 0 on success, raise an exception and return -1 on error. */ +#define _PyUnicodeWriter_Prepare(WRITER, LENGTH, MAXCHAR) \ + (((MAXCHAR) <= (WRITER)->maxchar \ + && (LENGTH) <= (WRITER)->size - (WRITER)->pos) \ + ? 0 \ + : (((LENGTH) == 0) \ + ? 0 \ + : _PyUnicodeWriter_PrepareInternal((WRITER), (LENGTH), (MAXCHAR)))) + +/* Don't call this function directly, use the _PyUnicodeWriter_Prepare() macro + instead. */ +PyAPI_FUNC(int) +_PyUnicodeWriter_PrepareInternal(_PyUnicodeWriter *writer, + Py_ssize_t length, Py_UCS4 maxchar); + +/* Prepare the buffer to have at least the kind KIND. + For example, kind=PyUnicode_2BYTE_KIND ensures that the writer will + support characters in range U+000-U+FFFF. + + Return 0 on success, raise an exception and return -1 on error. */ +#define _PyUnicodeWriter_PrepareKind(WRITER, KIND) \ + ((KIND) <= (WRITER)->kind \ + ? 0 \ + : _PyUnicodeWriter_PrepareKindInternal((WRITER), (KIND))) + +/* Don't call this function directly, use the _PyUnicodeWriter_PrepareKind() + macro instead. */ +PyAPI_FUNC(int) +_PyUnicodeWriter_PrepareKindInternal(_PyUnicodeWriter *writer, + int kind); + +/* Append a Unicode character. + Return 0 on success, raise an exception and return -1 on error. */ +PyAPI_FUNC(int) +_PyUnicodeWriter_WriteChar(_PyUnicodeWriter *writer, + Py_UCS4 ch + ); + +/* Append a Unicode string. + Return 0 on success, raise an exception and return -1 on error. */ +PyAPI_FUNC(int) +_PyUnicodeWriter_WriteStr(_PyUnicodeWriter *writer, + PyObject *str /* Unicode string */ + ); + +/* Append a substring of a Unicode string. + Return 0 on success, raise an exception and return -1 on error. */ +PyAPI_FUNC(int) +_PyUnicodeWriter_WriteSubstring(_PyUnicodeWriter *writer, + PyObject *str, /* Unicode string */ + Py_ssize_t start, + Py_ssize_t end + ); + +/* Append an ASCII-encoded byte string. + Return 0 on success, raise an exception and return -1 on error. */ +PyAPI_FUNC(int) +_PyUnicodeWriter_WriteASCIIString(_PyUnicodeWriter *writer, + const char *str, /* ASCII-encoded byte string */ + Py_ssize_t len /* number of bytes, or -1 if unknown */ + ); + +/* Append a latin1-encoded byte string. + Return 0 on success, raise an exception and return -1 on error. */ +PyAPI_FUNC(int) +_PyUnicodeWriter_WriteLatin1String(_PyUnicodeWriter *writer, + const char *str, /* latin1-encoded byte string */ + Py_ssize_t len /* length in bytes */ + ); + +/* Get the value of the writer as a Unicode string. Clear the + buffer of the writer. Raise an exception and return NULL + on error. */ +PyAPI_FUNC(PyObject *) +_PyUnicodeWriter_Finish(_PyUnicodeWriter *writer); + +/* Deallocate memory of a writer (clear its internal buffer). */ +PyAPI_FUNC(void) +_PyUnicodeWriter_Dealloc(_PyUnicodeWriter *writer); + + +/* Format the object based on the format_spec, as defined in PEP 3101 + (Advanced String Formatting). */ +PyAPI_FUNC(int) _PyUnicode_FormatAdvancedWriter( + _PyUnicodeWriter *writer, + PyObject *obj, + PyObject *format_spec, + Py_ssize_t start, + Py_ssize_t end); + +/* --- Manage the default encoding ---------------------------------------- */ + +/* Returns a pointer to the default encoding (UTF-8) of the + Unicode object unicode. + + Like PyUnicode_AsUTF8AndSize(), this also caches the UTF-8 representation + in the unicodeobject. + + _PyUnicode_AsString is a #define for PyUnicode_AsUTF8 to + support the previous internal function with the same behaviour. + + Use of this API is DEPRECATED since no size information can be + extracted from the returned data. +*/ + +PyAPI_FUNC(const char *) PyUnicode_AsUTF8(PyObject *unicode); + +#define _PyUnicode_AsString PyUnicode_AsUTF8 + +/* --- UTF-7 Codecs ------------------------------------------------------- */ + +PyAPI_FUNC(PyObject*) _PyUnicode_EncodeUTF7( + PyObject *unicode, /* Unicode object */ + int base64SetO, /* Encode RFC2152 Set O characters in base64 */ + int base64WhiteSpace, /* Encode whitespace (sp, ht, nl, cr) in base64 */ + const char *errors /* error handling */ + ); + +/* --- UTF-8 Codecs ------------------------------------------------------- */ + +PyAPI_FUNC(PyObject*) _PyUnicode_AsUTF8String( + PyObject *unicode, + const char *errors); + +/* --- UTF-32 Codecs ------------------------------------------------------ */ + +PyAPI_FUNC(PyObject*) _PyUnicode_EncodeUTF32( + PyObject *object, /* Unicode object */ + const char *errors, /* error handling */ + int byteorder /* byteorder to use 0=BOM+native;-1=LE,1=BE */ + ); + +/* --- UTF-16 Codecs ------------------------------------------------------ */ + +/* Returns a Python string object holding the UTF-16 encoded value of + the Unicode data. + + If byteorder is not 0, output is written according to the following + byte order: + + byteorder == -1: little endian + byteorder == 0: native byte order (writes a BOM mark) + byteorder == 1: big endian + + If byteorder is 0, the output string will always start with the + Unicode BOM mark (U+FEFF). In the other two modes, no BOM mark is + prepended. +*/ +PyAPI_FUNC(PyObject*) _PyUnicode_EncodeUTF16( + PyObject* unicode, /* Unicode object */ + const char *errors, /* error handling */ + int byteorder /* byteorder to use 0=BOM+native;-1=LE,1=BE */ + ); + +/* --- Unicode-Escape Codecs ---------------------------------------------- */ + +/* Variant of PyUnicode_DecodeUnicodeEscape that supports partial decoding. */ +PyAPI_FUNC(PyObject*) _PyUnicode_DecodeUnicodeEscapeStateful( + const char *string, /* Unicode-Escape encoded string */ + Py_ssize_t length, /* size of string */ + const char *errors, /* error handling */ + Py_ssize_t *consumed /* bytes consumed */ +); +/* Helper for PyUnicode_DecodeUnicodeEscape that detects invalid escape + chars. */ +PyAPI_FUNC(PyObject*) _PyUnicode_DecodeUnicodeEscapeInternal( + const char *string, /* Unicode-Escape encoded string */ + Py_ssize_t length, /* size of string */ + const char *errors, /* error handling */ + Py_ssize_t *consumed, /* bytes consumed */ + const char **first_invalid_escape /* on return, points to first + invalid escaped char in + string. */ +); + +/* --- Raw-Unicode-Escape Codecs ---------------------------------------------- */ + +/* Variant of PyUnicode_DecodeRawUnicodeEscape that supports partial decoding. */ +PyAPI_FUNC(PyObject*) _PyUnicode_DecodeRawUnicodeEscapeStateful( + const char *string, /* Unicode-Escape encoded string */ + Py_ssize_t length, /* size of string */ + const char *errors, /* error handling */ + Py_ssize_t *consumed /* bytes consumed */ +); + +/* --- Latin-1 Codecs ----------------------------------------------------- */ + +PyAPI_FUNC(PyObject*) _PyUnicode_AsLatin1String( + PyObject* unicode, + const char* errors); + +/* --- ASCII Codecs ------------------------------------------------------- */ + +PyAPI_FUNC(PyObject*) _PyUnicode_AsASCIIString( + PyObject* unicode, + const char* errors); + +/* --- Character Map Codecs ----------------------------------------------- */ + +/* Translate an Unicode object by applying a character mapping table to + it and return the resulting Unicode object. + + The mapping table must map Unicode ordinal integers to Unicode strings, + Unicode ordinal integers or None (causing deletion of the character). + + Mapping tables may be dictionaries or sequences. Unmapped character + ordinals (ones which cause a LookupError) are left untouched and + are copied as-is. +*/ +PyAPI_FUNC(PyObject*) _PyUnicode_EncodeCharmap( + PyObject *unicode, /* Unicode object */ + PyObject *mapping, /* encoding mapping */ + const char *errors /* error handling */ + ); + +/* --- Decimal Encoder ---------------------------------------------------- */ + +/* Coverts a Unicode object holding a decimal value to an ASCII string + for using in int, float and complex parsers. + Transforms code points that have decimal digit property to the + corresponding ASCII digit code points. Transforms spaces to ASCII. + Transforms code points starting from the first non-ASCII code point that + is neither a decimal digit nor a space to the end into '?'. */ + +PyAPI_FUNC(PyObject*) _PyUnicode_TransformDecimalAndSpaceToASCII( + PyObject *unicode /* Unicode object */ + ); + +/* --- Methods & Slots ---------------------------------------------------- */ + +PyAPI_FUNC(PyObject *) _PyUnicode_JoinArray( + PyObject *separator, + PyObject *const *items, + Py_ssize_t seqlen + ); + +/* Test whether a unicode is equal to ASCII identifier. Return 1 if true, + 0 otherwise. The right argument must be ASCII identifier. + Any error occurs inside will be cleared before return. */ +PyAPI_FUNC(int) _PyUnicode_EqualToASCIIId( + PyObject *left, /* Left string */ + _Py_Identifier *right /* Right identifier */ + ); + +/* Test whether a unicode is equal to ASCII string. Return 1 if true, + 0 otherwise. The right argument must be ASCII-encoded string. + Any error occurs inside will be cleared before return. */ +PyAPI_FUNC(int) _PyUnicode_EqualToASCIIString( + PyObject *left, + const char *right /* ASCII-encoded string */ + ); + +/* Externally visible for str.strip(unicode) */ +PyAPI_FUNC(PyObject *) _PyUnicode_XStrip( + PyObject *self, + int striptype, + PyObject *sepobj + ); + +/* Using explicit passed-in values, insert the thousands grouping + into the string pointed to by buffer. For the argument descriptions, + see Objects/stringlib/localeutil.h */ +PyAPI_FUNC(Py_ssize_t) _PyUnicode_InsertThousandsGrouping( + _PyUnicodeWriter *writer, + Py_ssize_t n_buffer, + PyObject *digits, + Py_ssize_t d_pos, + Py_ssize_t n_digits, + Py_ssize_t min_width, + const char *grouping, + PyObject *thousands_sep, + Py_UCS4 *maxchar); + +/* === Characters Type APIs =============================================== */ + +/* These should not be used directly. Use the Py_UNICODE_IS* and + Py_UNICODE_TO* macros instead. + + These APIs are implemented in Objects/unicodectype.c. + +*/ + +PyAPI_FUNC(int) _PyUnicode_IsLowercase( + Py_UCS4 ch /* Unicode character */ + ); + +PyAPI_FUNC(int) _PyUnicode_IsUppercase( + Py_UCS4 ch /* Unicode character */ + ); + +PyAPI_FUNC(int) _PyUnicode_IsTitlecase( + Py_UCS4 ch /* Unicode character */ + ); + +PyAPI_FUNC(int) _PyUnicode_IsXidStart( + Py_UCS4 ch /* Unicode character */ + ); + +PyAPI_FUNC(int) _PyUnicode_IsXidContinue( + Py_UCS4 ch /* Unicode character */ + ); + +PyAPI_FUNC(int) _PyUnicode_IsWhitespace( + const Py_UCS4 ch /* Unicode character */ + ); + +PyAPI_FUNC(int) _PyUnicode_IsLinebreak( + const Py_UCS4 ch /* Unicode character */ + ); + +/* Py_DEPRECATED(3.3) */ PyAPI_FUNC(Py_UCS4) _PyUnicode_ToLowercase( + Py_UCS4 ch /* Unicode character */ + ); + +/* Py_DEPRECATED(3.3) */ PyAPI_FUNC(Py_UCS4) _PyUnicode_ToUppercase( + Py_UCS4 ch /* Unicode character */ + ); + +Py_DEPRECATED(3.3) PyAPI_FUNC(Py_UCS4) _PyUnicode_ToTitlecase( + Py_UCS4 ch /* Unicode character */ + ); + +PyAPI_FUNC(int) _PyUnicode_ToLowerFull( + Py_UCS4 ch, /* Unicode character */ + Py_UCS4 *res + ); + +PyAPI_FUNC(int) _PyUnicode_ToTitleFull( + Py_UCS4 ch, /* Unicode character */ + Py_UCS4 *res + ); + +PyAPI_FUNC(int) _PyUnicode_ToUpperFull( + Py_UCS4 ch, /* Unicode character */ + Py_UCS4 *res + ); + +PyAPI_FUNC(int) _PyUnicode_ToFoldedFull( + Py_UCS4 ch, /* Unicode character */ + Py_UCS4 *res + ); + +PyAPI_FUNC(int) _PyUnicode_IsCaseIgnorable( + Py_UCS4 ch /* Unicode character */ + ); + +PyAPI_FUNC(int) _PyUnicode_IsCased( + Py_UCS4 ch /* Unicode character */ + ); + +PyAPI_FUNC(int) _PyUnicode_ToDecimalDigit( + Py_UCS4 ch /* Unicode character */ + ); + +PyAPI_FUNC(int) _PyUnicode_ToDigit( + Py_UCS4 ch /* Unicode character */ + ); + +PyAPI_FUNC(double) _PyUnicode_ToNumeric( + Py_UCS4 ch /* Unicode character */ + ); + +PyAPI_FUNC(int) _PyUnicode_IsDecimalDigit( + Py_UCS4 ch /* Unicode character */ + ); + +PyAPI_FUNC(int) _PyUnicode_IsDigit( + Py_UCS4 ch /* Unicode character */ + ); + +PyAPI_FUNC(int) _PyUnicode_IsNumeric( + Py_UCS4 ch /* Unicode character */ + ); + +PyAPI_FUNC(int) _PyUnicode_IsPrintable( + Py_UCS4 ch /* Unicode character */ + ); + +PyAPI_FUNC(int) _PyUnicode_IsAlpha( + Py_UCS4 ch /* Unicode character */ + ); + +// Helper array used by Py_UNICODE_ISSPACE(). +PyAPI_DATA(const unsigned char) _Py_ascii_whitespace[]; + +// Since splitting on whitespace is an important use case, and +// whitespace in most situations is solely ASCII whitespace, we +// optimize for the common case by using a quick look-up table +// _Py_ascii_whitespace (see below) with an inlined check. +static inline int Py_UNICODE_ISSPACE(Py_UCS4 ch) { + if (ch < 128) { + return _Py_ascii_whitespace[ch]; + } + return _PyUnicode_IsWhitespace(ch); +} + +#define Py_UNICODE_ISLOWER(ch) _PyUnicode_IsLowercase(ch) +#define Py_UNICODE_ISUPPER(ch) _PyUnicode_IsUppercase(ch) +#define Py_UNICODE_ISTITLE(ch) _PyUnicode_IsTitlecase(ch) +#define Py_UNICODE_ISLINEBREAK(ch) _PyUnicode_IsLinebreak(ch) + +#define Py_UNICODE_TOLOWER(ch) _PyUnicode_ToLowercase(ch) +#define Py_UNICODE_TOUPPER(ch) _PyUnicode_ToUppercase(ch) +#define Py_UNICODE_TOTITLE(ch) _PyUnicode_ToTitlecase(ch) + +#define Py_UNICODE_ISDECIMAL(ch) _PyUnicode_IsDecimalDigit(ch) +#define Py_UNICODE_ISDIGIT(ch) _PyUnicode_IsDigit(ch) +#define Py_UNICODE_ISNUMERIC(ch) _PyUnicode_IsNumeric(ch) +#define Py_UNICODE_ISPRINTABLE(ch) _PyUnicode_IsPrintable(ch) + +#define Py_UNICODE_TODECIMAL(ch) _PyUnicode_ToDecimalDigit(ch) +#define Py_UNICODE_TODIGIT(ch) _PyUnicode_ToDigit(ch) +#define Py_UNICODE_TONUMERIC(ch) _PyUnicode_ToNumeric(ch) + +#define Py_UNICODE_ISALPHA(ch) _PyUnicode_IsAlpha(ch) + +static inline int Py_UNICODE_ISALNUM(Py_UCS4 ch) { + return (Py_UNICODE_ISALPHA(ch) + || Py_UNICODE_ISDECIMAL(ch) + || Py_UNICODE_ISDIGIT(ch) + || Py_UNICODE_ISNUMERIC(ch)); +} + + +/* === Misc functions ===================================================== */ + +PyAPI_FUNC(PyObject*) _PyUnicode_FormatLong(PyObject *, int, int, int); + +/* Return an interned Unicode object for an Identifier; may fail if there is no memory.*/ +PyAPI_FUNC(PyObject*) _PyUnicode_FromId(_Py_Identifier*); + +/* Fast equality check when the inputs are known to be exact unicode types + and where the hash values are equal (i.e. a very probable match) */ +PyAPI_FUNC(int) _PyUnicode_EQ(PyObject *, PyObject *); + +/* Equality check. */ +PyAPI_FUNC(int) _PyUnicode_Equal(PyObject *, PyObject *); + +PyAPI_FUNC(int) _PyUnicode_WideCharString_Converter(PyObject *, void *); +PyAPI_FUNC(int) _PyUnicode_WideCharString_Opt_Converter(PyObject *, void *); + +PyAPI_FUNC(Py_ssize_t) _PyUnicode_ScanIdentifier(PyObject *); diff --git a/_Pre_Builds/_Python312_cpp/include/cpython/warnings.h b/_Pre_Builds/_Python312_cpp/include/cpython/warnings.h new file mode 100644 index 0000000..4e3eb88 --- /dev/null +++ b/_Pre_Builds/_Python312_cpp/include/cpython/warnings.h @@ -0,0 +1,20 @@ +#ifndef Py_CPYTHON_WARNINGS_H +# error "this header file must not be included directly" +#endif + +PyAPI_FUNC(int) PyErr_WarnExplicitObject( + PyObject *category, + PyObject *message, + PyObject *filename, + int lineno, + PyObject *module, + PyObject *registry); + +PyAPI_FUNC(int) PyErr_WarnExplicitFormat( + PyObject *category, + const char *filename, int lineno, + const char *module, PyObject *registry, + const char *format, ...); + +// DEPRECATED: Use PyErr_WarnEx() instead. +#define PyErr_Warn(category, msg) PyErr_WarnEx((category), (msg), 1) diff --git a/_Pre_Builds/_Python312_cpp/include/cpython/weakrefobject.h b/_Pre_Builds/_Python312_cpp/include/cpython/weakrefobject.h new file mode 100644 index 0000000..fd79fdc --- /dev/null +++ b/_Pre_Builds/_Python312_cpp/include/cpython/weakrefobject.h @@ -0,0 +1,56 @@ +#ifndef Py_CPYTHON_WEAKREFOBJECT_H +# error "this header file must not be included directly" +#endif + +/* PyWeakReference is the base struct for the Python ReferenceType, ProxyType, + * and CallableProxyType. + */ +struct _PyWeakReference { + PyObject_HEAD + + /* The object to which this is a weak reference, or Py_None if none. + * Note that this is a stealth reference: wr_object's refcount is + * not incremented to reflect this pointer. + */ + PyObject *wr_object; + + /* A callable to invoke when wr_object dies, or NULL if none. */ + PyObject *wr_callback; + + /* A cache for wr_object's hash code. As usual for hashes, this is -1 + * if the hash code isn't known yet. + */ + Py_hash_t hash; + + /* If wr_object is weakly referenced, wr_object has a doubly-linked NULL- + * terminated list of weak references to it. These are the list pointers. + * If wr_object goes away, wr_object is set to Py_None, and these pointers + * have no meaning then. + */ + PyWeakReference *wr_prev; + PyWeakReference *wr_next; + vectorcallfunc vectorcall; +}; + +PyAPI_FUNC(Py_ssize_t) _PyWeakref_GetWeakrefCount(PyWeakReference *head); + +PyAPI_FUNC(void) _PyWeakref_ClearRef(PyWeakReference *self); + +static inline PyObject* PyWeakref_GET_OBJECT(PyObject *ref_obj) { + PyWeakReference *ref; + PyObject *obj; + assert(PyWeakref_Check(ref_obj)); + ref = _Py_CAST(PyWeakReference*, ref_obj); + obj = ref->wr_object; + // Explanation for the Py_REFCNT() check: when a weakref's target is part + // of a long chain of deallocations which triggers the trashcan mechanism, + // clearing the weakrefs can be delayed long after the target's refcount + // has dropped to zero. In the meantime, code accessing the weakref will + // be able to "see" the target object even though it is supposed to be + // unreachable. See issue gh-60806. + if (Py_REFCNT(obj) > 0) { + return obj; + } + return Py_None; +} +#define PyWeakref_GET_OBJECT(ref) PyWeakref_GET_OBJECT(_PyObject_CAST(ref)) diff --git a/_Pre_Builds/_Python312_cpp/include/datetime.h b/_Pre_Builds/_Python312_cpp/include/datetime.h new file mode 100644 index 0000000..b78cc0e --- /dev/null +++ b/_Pre_Builds/_Python312_cpp/include/datetime.h @@ -0,0 +1,267 @@ +/* datetime.h + */ +#ifndef Py_LIMITED_API +#ifndef DATETIME_H +#define DATETIME_H +#ifdef __cplusplus +extern "C" { +#endif + +/* Fields are packed into successive bytes, each viewed as unsigned and + * big-endian, unless otherwise noted: + * + * byte offset + * 0 year 2 bytes, 1-9999 + * 2 month 1 byte, 1-12 + * 3 day 1 byte, 1-31 + * 4 hour 1 byte, 0-23 + * 5 minute 1 byte, 0-59 + * 6 second 1 byte, 0-59 + * 7 usecond 3 bytes, 0-999999 + * 10 + */ + +/* # of bytes for year, month, and day. */ +#define _PyDateTime_DATE_DATASIZE 4 + +/* # of bytes for hour, minute, second, and usecond. */ +#define _PyDateTime_TIME_DATASIZE 6 + +/* # of bytes for year, month, day, hour, minute, second, and usecond. */ +#define _PyDateTime_DATETIME_DATASIZE 10 + + +typedef struct +{ + PyObject_HEAD + Py_hash_t hashcode; /* -1 when unknown */ + int days; /* -MAX_DELTA_DAYS <= days <= MAX_DELTA_DAYS */ + int seconds; /* 0 <= seconds < 24*3600 is invariant */ + int microseconds; /* 0 <= microseconds < 1000000 is invariant */ +} PyDateTime_Delta; + +typedef struct +{ + PyObject_HEAD /* a pure abstract base class */ +} PyDateTime_TZInfo; + + +/* The datetime and time types have hashcodes, and an optional tzinfo member, + * present if and only if hastzinfo is true. + */ +#define _PyTZINFO_HEAD \ + PyObject_HEAD \ + Py_hash_t hashcode; \ + char hastzinfo; /* boolean flag */ + +/* No _PyDateTime_BaseTZInfo is allocated; it's just to have something + * convenient to cast to, when getting at the hastzinfo member of objects + * starting with _PyTZINFO_HEAD. + */ +typedef struct +{ + _PyTZINFO_HEAD +} _PyDateTime_BaseTZInfo; + +/* All time objects are of PyDateTime_TimeType, but that can be allocated + * in two ways, with or without a tzinfo member. Without is the same as + * tzinfo == None, but consumes less memory. _PyDateTime_BaseTime is an + * internal struct used to allocate the right amount of space for the + * "without" case. + */ +#define _PyDateTime_TIMEHEAD \ + _PyTZINFO_HEAD \ + unsigned char data[_PyDateTime_TIME_DATASIZE]; + +typedef struct +{ + _PyDateTime_TIMEHEAD +} _PyDateTime_BaseTime; /* hastzinfo false */ + +typedef struct +{ + _PyDateTime_TIMEHEAD + unsigned char fold; + PyObject *tzinfo; +} PyDateTime_Time; /* hastzinfo true */ + + +/* All datetime objects are of PyDateTime_DateTimeType, but that can be + * allocated in two ways too, just like for time objects above. In addition, + * the plain date type is a base class for datetime, so it must also have + * a hastzinfo member (although it's unused there). + */ +typedef struct +{ + _PyTZINFO_HEAD + unsigned char data[_PyDateTime_DATE_DATASIZE]; +} PyDateTime_Date; + +#define _PyDateTime_DATETIMEHEAD \ + _PyTZINFO_HEAD \ + unsigned char data[_PyDateTime_DATETIME_DATASIZE]; + +typedef struct +{ + _PyDateTime_DATETIMEHEAD +} _PyDateTime_BaseDateTime; /* hastzinfo false */ + +typedef struct +{ + _PyDateTime_DATETIMEHEAD + unsigned char fold; + PyObject *tzinfo; +} PyDateTime_DateTime; /* hastzinfo true */ + + +/* Apply for date and datetime instances. */ + +// o is a pointer to a time or a datetime object. +#define _PyDateTime_HAS_TZINFO(o) (((_PyDateTime_BaseTZInfo *)(o))->hastzinfo) + +#define PyDateTime_GET_YEAR(o) ((((PyDateTime_Date*)(o))->data[0] << 8) | \ + ((PyDateTime_Date*)(o))->data[1]) +#define PyDateTime_GET_MONTH(o) (((PyDateTime_Date*)(o))->data[2]) +#define PyDateTime_GET_DAY(o) (((PyDateTime_Date*)(o))->data[3]) + +#define PyDateTime_DATE_GET_HOUR(o) (((PyDateTime_DateTime*)(o))->data[4]) +#define PyDateTime_DATE_GET_MINUTE(o) (((PyDateTime_DateTime*)(o))->data[5]) +#define PyDateTime_DATE_GET_SECOND(o) (((PyDateTime_DateTime*)(o))->data[6]) +#define PyDateTime_DATE_GET_MICROSECOND(o) \ + ((((PyDateTime_DateTime*)(o))->data[7] << 16) | \ + (((PyDateTime_DateTime*)(o))->data[8] << 8) | \ + ((PyDateTime_DateTime*)(o))->data[9]) +#define PyDateTime_DATE_GET_FOLD(o) (((PyDateTime_DateTime*)(o))->fold) +#define PyDateTime_DATE_GET_TZINFO(o) (_PyDateTime_HAS_TZINFO((o)) ? \ + ((PyDateTime_DateTime *)(o))->tzinfo : Py_None) + +/* Apply for time instances. */ +#define PyDateTime_TIME_GET_HOUR(o) (((PyDateTime_Time*)(o))->data[0]) +#define PyDateTime_TIME_GET_MINUTE(o) (((PyDateTime_Time*)(o))->data[1]) +#define PyDateTime_TIME_GET_SECOND(o) (((PyDateTime_Time*)(o))->data[2]) +#define PyDateTime_TIME_GET_MICROSECOND(o) \ + ((((PyDateTime_Time*)(o))->data[3] << 16) | \ + (((PyDateTime_Time*)(o))->data[4] << 8) | \ + ((PyDateTime_Time*)(o))->data[5]) +#define PyDateTime_TIME_GET_FOLD(o) (((PyDateTime_Time*)(o))->fold) +#define PyDateTime_TIME_GET_TZINFO(o) (_PyDateTime_HAS_TZINFO(o) ? \ + ((PyDateTime_Time *)(o))->tzinfo : Py_None) + +/* Apply for time delta instances */ +#define PyDateTime_DELTA_GET_DAYS(o) (((PyDateTime_Delta*)(o))->days) +#define PyDateTime_DELTA_GET_SECONDS(o) (((PyDateTime_Delta*)(o))->seconds) +#define PyDateTime_DELTA_GET_MICROSECONDS(o) \ + (((PyDateTime_Delta*)(o))->microseconds) + + +/* Define structure for C API. */ +typedef struct { + /* type objects */ + PyTypeObject *DateType; + PyTypeObject *DateTimeType; + PyTypeObject *TimeType; + PyTypeObject *DeltaType; + PyTypeObject *TZInfoType; + + /* singletons */ + PyObject *TimeZone_UTC; + + /* constructors */ + PyObject *(*Date_FromDate)(int, int, int, PyTypeObject*); + PyObject *(*DateTime_FromDateAndTime)(int, int, int, int, int, int, int, + PyObject*, PyTypeObject*); + PyObject *(*Time_FromTime)(int, int, int, int, PyObject*, PyTypeObject*); + PyObject *(*Delta_FromDelta)(int, int, int, int, PyTypeObject*); + PyObject *(*TimeZone_FromTimeZone)(PyObject *offset, PyObject *name); + + /* constructors for the DB API */ + PyObject *(*DateTime_FromTimestamp)(PyObject*, PyObject*, PyObject*); + PyObject *(*Date_FromTimestamp)(PyObject*, PyObject*); + + /* PEP 495 constructors */ + PyObject *(*DateTime_FromDateAndTimeAndFold)(int, int, int, int, int, int, int, + PyObject*, int, PyTypeObject*); + PyObject *(*Time_FromTimeAndFold)(int, int, int, int, PyObject*, int, PyTypeObject*); + +} PyDateTime_CAPI; + +#define PyDateTime_CAPSULE_NAME "datetime.datetime_CAPI" + + +/* This block is only used as part of the public API and should not be + * included in _datetimemodule.c, which does not use the C API capsule. + * See bpo-35081 for more details. + * */ +#ifndef _PY_DATETIME_IMPL +/* Define global variable for the C API and a macro for setting it. */ +static PyDateTime_CAPI *PyDateTimeAPI = NULL; + +#define PyDateTime_IMPORT \ + PyDateTimeAPI = (PyDateTime_CAPI *)PyCapsule_Import(PyDateTime_CAPSULE_NAME, 0) + +/* Macro for access to the UTC singleton */ +#define PyDateTime_TimeZone_UTC PyDateTimeAPI->TimeZone_UTC + +/* Macros for type checking when not building the Python core. */ +#define PyDate_Check(op) PyObject_TypeCheck((op), PyDateTimeAPI->DateType) +#define PyDate_CheckExact(op) Py_IS_TYPE((op), PyDateTimeAPI->DateType) + +#define PyDateTime_Check(op) PyObject_TypeCheck((op), PyDateTimeAPI->DateTimeType) +#define PyDateTime_CheckExact(op) Py_IS_TYPE((op), PyDateTimeAPI->DateTimeType) + +#define PyTime_Check(op) PyObject_TypeCheck((op), PyDateTimeAPI->TimeType) +#define PyTime_CheckExact(op) Py_IS_TYPE((op), PyDateTimeAPI->TimeType) + +#define PyDelta_Check(op) PyObject_TypeCheck((op), PyDateTimeAPI->DeltaType) +#define PyDelta_CheckExact(op) Py_IS_TYPE((op), PyDateTimeAPI->DeltaType) + +#define PyTZInfo_Check(op) PyObject_TypeCheck((op), PyDateTimeAPI->TZInfoType) +#define PyTZInfo_CheckExact(op) Py_IS_TYPE((op), PyDateTimeAPI->TZInfoType) + + +/* Macros for accessing constructors in a simplified fashion. */ +#define PyDate_FromDate(year, month, day) \ + PyDateTimeAPI->Date_FromDate((year), (month), (day), PyDateTimeAPI->DateType) + +#define PyDateTime_FromDateAndTime(year, month, day, hour, min, sec, usec) \ + PyDateTimeAPI->DateTime_FromDateAndTime((year), (month), (day), (hour), \ + (min), (sec), (usec), Py_None, PyDateTimeAPI->DateTimeType) + +#define PyDateTime_FromDateAndTimeAndFold(year, month, day, hour, min, sec, usec, fold) \ + PyDateTimeAPI->DateTime_FromDateAndTimeAndFold((year), (month), (day), (hour), \ + (min), (sec), (usec), Py_None, (fold), PyDateTimeAPI->DateTimeType) + +#define PyTime_FromTime(hour, minute, second, usecond) \ + PyDateTimeAPI->Time_FromTime((hour), (minute), (second), (usecond), \ + Py_None, PyDateTimeAPI->TimeType) + +#define PyTime_FromTimeAndFold(hour, minute, second, usecond, fold) \ + PyDateTimeAPI->Time_FromTimeAndFold((hour), (minute), (second), (usecond), \ + Py_None, (fold), PyDateTimeAPI->TimeType) + +#define PyDelta_FromDSU(days, seconds, useconds) \ + PyDateTimeAPI->Delta_FromDelta((days), (seconds), (useconds), 1, \ + PyDateTimeAPI->DeltaType) + +#define PyTimeZone_FromOffset(offset) \ + PyDateTimeAPI->TimeZone_FromTimeZone((offset), NULL) + +#define PyTimeZone_FromOffsetAndName(offset, name) \ + PyDateTimeAPI->TimeZone_FromTimeZone((offset), (name)) + +/* Macros supporting the DB API. */ +#define PyDateTime_FromTimestamp(args) \ + PyDateTimeAPI->DateTime_FromTimestamp( \ + (PyObject*) (PyDateTimeAPI->DateTimeType), (args), NULL) + +#define PyDate_FromTimestamp(args) \ + PyDateTimeAPI->Date_FromTimestamp( \ + (PyObject*) (PyDateTimeAPI->DateType), (args)) + +#endif /* !defined(_PY_DATETIME_IMPL) */ + +#ifdef __cplusplus +} +#endif +#endif +#endif /* !Py_LIMITED_API */ diff --git a/_Pre_Builds/_Python312_cpp/include/descrobject.h b/_Pre_Builds/_Python312_cpp/include/descrobject.h new file mode 100644 index 0000000..fd66d17 --- /dev/null +++ b/_Pre_Builds/_Python312_cpp/include/descrobject.h @@ -0,0 +1,100 @@ +/* Descriptors */ +#ifndef Py_DESCROBJECT_H +#define Py_DESCROBJECT_H +#ifdef __cplusplus +extern "C" { +#endif + +typedef PyObject *(*getter)(PyObject *, void *); +typedef int (*setter)(PyObject *, PyObject *, void *); + +struct PyGetSetDef { + const char *name; + getter get; + setter set; + const char *doc; + void *closure; +}; + +PyAPI_DATA(PyTypeObject) PyClassMethodDescr_Type; +PyAPI_DATA(PyTypeObject) PyGetSetDescr_Type; +PyAPI_DATA(PyTypeObject) PyMemberDescr_Type; +PyAPI_DATA(PyTypeObject) PyMethodDescr_Type; +PyAPI_DATA(PyTypeObject) PyWrapperDescr_Type; +PyAPI_DATA(PyTypeObject) PyDictProxy_Type; +PyAPI_DATA(PyTypeObject) PyProperty_Type; + +PyAPI_FUNC(PyObject *) PyDescr_NewMethod(PyTypeObject *, PyMethodDef *); +PyAPI_FUNC(PyObject *) PyDescr_NewClassMethod(PyTypeObject *, PyMethodDef *); +PyAPI_FUNC(PyObject *) PyDescr_NewMember(PyTypeObject *, PyMemberDef *); +PyAPI_FUNC(PyObject *) PyDescr_NewGetSet(PyTypeObject *, PyGetSetDef *); + +PyAPI_FUNC(PyObject *) PyDictProxy_New(PyObject *); +PyAPI_FUNC(PyObject *) PyWrapper_New(PyObject *, PyObject *); + + +/* An array of PyMemberDef structures defines the name, type and offset + of selected members of a C structure. These can be read by + PyMember_GetOne() and set by PyMember_SetOne() (except if their READONLY + flag is set). The array must be terminated with an entry whose name + pointer is NULL. */ +struct PyMemberDef { + const char *name; + int type; + Py_ssize_t offset; + int flags; + const char *doc; +}; + +// These constants used to be in structmember.h, not prefixed by Py_. +// (structmember.h now has aliases to the new names.) + +/* Types */ +#define Py_T_SHORT 0 +#define Py_T_INT 1 +#define Py_T_LONG 2 +#define Py_T_FLOAT 3 +#define Py_T_DOUBLE 4 +#define Py_T_STRING 5 +#define _Py_T_OBJECT 6 // Deprecated, use Py_T_OBJECT_EX instead +/* the ordering here is weird for binary compatibility */ +#define Py_T_CHAR 7 /* 1-character string */ +#define Py_T_BYTE 8 /* 8-bit signed int */ +/* unsigned variants: */ +#define Py_T_UBYTE 9 +#define Py_T_USHORT 10 +#define Py_T_UINT 11 +#define Py_T_ULONG 12 + +/* Added by Jack: strings contained in the structure */ +#define Py_T_STRING_INPLACE 13 + +/* Added by Lillo: bools contained in the structure (assumed char) */ +#define Py_T_BOOL 14 + +#define Py_T_OBJECT_EX 16 +#define Py_T_LONGLONG 17 +#define Py_T_ULONGLONG 18 + +#define Py_T_PYSSIZET 19 /* Py_ssize_t */ +#define _Py_T_NONE 20 // Deprecated. Value is always None. + +/* Flags */ +#define Py_READONLY 1 +#define Py_AUDIT_READ 2 // Added in 3.10, harmless no-op before that +#define _Py_WRITE_RESTRICTED 4 // Deprecated, no-op. Do not reuse the value. +#define Py_RELATIVE_OFFSET 8 + +PyAPI_FUNC(PyObject *) PyMember_GetOne(const char *, PyMemberDef *); +PyAPI_FUNC(int) PyMember_SetOne(char *, PyMemberDef *, PyObject *); + +#ifndef Py_LIMITED_API +# define Py_CPYTHON_DESCROBJECT_H +# include "cpython/descrobject.h" +# undef Py_CPYTHON_DESCROBJECT_H +#endif + +#ifdef __cplusplus +} +#endif +#endif /* !Py_DESCROBJECT_H */ diff --git a/_Pre_Builds/_Python312_cpp/include/dictobject.h b/_Pre_Builds/_Python312_cpp/include/dictobject.h new file mode 100644 index 0000000..e7fcb44 --- /dev/null +++ b/_Pre_Builds/_Python312_cpp/include/dictobject.h @@ -0,0 +1,97 @@ +#ifndef Py_DICTOBJECT_H +#define Py_DICTOBJECT_H +#ifdef __cplusplus +extern "C" { +#endif + +/* Dictionary object type -- mapping from hashable object to object */ + +/* The distribution includes a separate file, Objects/dictnotes.txt, + describing explorations into dictionary design and optimization. + It covers typical dictionary use patterns, the parameters for + tuning dictionaries, and several ideas for possible optimizations. +*/ + +PyAPI_DATA(PyTypeObject) PyDict_Type; + +#define PyDict_Check(op) \ + PyType_FastSubclass(Py_TYPE(op), Py_TPFLAGS_DICT_SUBCLASS) +#define PyDict_CheckExact(op) Py_IS_TYPE((op), &PyDict_Type) + +PyAPI_FUNC(PyObject *) PyDict_New(void); +PyAPI_FUNC(PyObject *) PyDict_GetItem(PyObject *mp, PyObject *key); +PyAPI_FUNC(PyObject *) PyDict_GetItemWithError(PyObject *mp, PyObject *key); +PyAPI_FUNC(int) PyDict_SetItem(PyObject *mp, PyObject *key, PyObject *item); +PyAPI_FUNC(int) PyDict_DelItem(PyObject *mp, PyObject *key); +PyAPI_FUNC(void) PyDict_Clear(PyObject *mp); +PyAPI_FUNC(int) PyDict_Next( + PyObject *mp, Py_ssize_t *pos, PyObject **key, PyObject **value); +PyAPI_FUNC(PyObject *) PyDict_Keys(PyObject *mp); +PyAPI_FUNC(PyObject *) PyDict_Values(PyObject *mp); +PyAPI_FUNC(PyObject *) PyDict_Items(PyObject *mp); +PyAPI_FUNC(Py_ssize_t) PyDict_Size(PyObject *mp); +PyAPI_FUNC(PyObject *) PyDict_Copy(PyObject *mp); +PyAPI_FUNC(int) PyDict_Contains(PyObject *mp, PyObject *key); + +/* PyDict_Update(mp, other) is equivalent to PyDict_Merge(mp, other, 1). */ +PyAPI_FUNC(int) PyDict_Update(PyObject *mp, PyObject *other); + +/* PyDict_Merge updates/merges from a mapping object (an object that + supports PyMapping_Keys() and PyObject_GetItem()). If override is true, + the last occurrence of a key wins, else the first. The Python + dict.update(other) is equivalent to PyDict_Merge(dict, other, 1). +*/ +PyAPI_FUNC(int) PyDict_Merge(PyObject *mp, + PyObject *other, + int override); + +/* PyDict_MergeFromSeq2 updates/merges from an iterable object producing + iterable objects of length 2. If override is true, the last occurrence + of a key wins, else the first. The Python dict constructor dict(seq2) + is equivalent to dict={}; PyDict_MergeFromSeq(dict, seq2, 1). +*/ +PyAPI_FUNC(int) PyDict_MergeFromSeq2(PyObject *d, + PyObject *seq2, + int override); + +PyAPI_FUNC(PyObject *) PyDict_GetItemString(PyObject *dp, const char *key); +PyAPI_FUNC(int) PyDict_SetItemString(PyObject *dp, const char *key, PyObject *item); +PyAPI_FUNC(int) PyDict_DelItemString(PyObject *dp, const char *key); +#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x030A0000 +PyAPI_FUNC(PyObject *) PyObject_GenericGetDict(PyObject *, void *); +#endif + +/* Dictionary (keys, values, items) views */ + +PyAPI_DATA(PyTypeObject) PyDictKeys_Type; +PyAPI_DATA(PyTypeObject) PyDictValues_Type; +PyAPI_DATA(PyTypeObject) PyDictItems_Type; + +#define PyDictKeys_Check(op) PyObject_TypeCheck((op), &PyDictKeys_Type) +#define PyDictValues_Check(op) PyObject_TypeCheck((op), &PyDictValues_Type) +#define PyDictItems_Check(op) PyObject_TypeCheck((op), &PyDictItems_Type) +/* This excludes Values, since they are not sets. */ +# define PyDictViewSet_Check(op) \ + (PyDictKeys_Check(op) || PyDictItems_Check(op)) + +/* Dictionary (key, value, items) iterators */ + +PyAPI_DATA(PyTypeObject) PyDictIterKey_Type; +PyAPI_DATA(PyTypeObject) PyDictIterValue_Type; +PyAPI_DATA(PyTypeObject) PyDictIterItem_Type; + +PyAPI_DATA(PyTypeObject) PyDictRevIterKey_Type; +PyAPI_DATA(PyTypeObject) PyDictRevIterItem_Type; +PyAPI_DATA(PyTypeObject) PyDictRevIterValue_Type; + + +#ifndef Py_LIMITED_API +# define Py_CPYTHON_DICTOBJECT_H +# include "cpython/dictobject.h" +# undef Py_CPYTHON_DICTOBJECT_H +#endif + +#ifdef __cplusplus +} +#endif +#endif /* !Py_DICTOBJECT_H */ diff --git a/_Pre_Builds/_Python312_cpp/include/dynamic_annotations.h b/_Pre_Builds/_Python312_cpp/include/dynamic_annotations.h new file mode 100644 index 0000000..4d4def9 --- /dev/null +++ b/_Pre_Builds/_Python312_cpp/include/dynamic_annotations.h @@ -0,0 +1,499 @@ +/* Copyright (c) 2008-2009, Google Inc. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Neither the name of Google Inc. nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * --- + * Author: Kostya Serebryany + * Copied to CPython by Jeffrey Yasskin, with all macros renamed to + * start with _Py_ to avoid colliding with users embedding Python, and + * with deprecated macros removed. + */ + +/* This file defines dynamic annotations for use with dynamic analysis + tool such as valgrind, PIN, etc. + + Dynamic annotation is a source code annotation that affects + the generated code (that is, the annotation is not a comment). + Each such annotation is attached to a particular + instruction and/or to a particular object (address) in the program. + + The annotations that should be used by users are macros in all upper-case + (e.g., _Py_ANNOTATE_NEW_MEMORY). + + Actual implementation of these macros may differ depending on the + dynamic analysis tool being used. + + See https://code.google.com/p/data-race-test/ for more information. + + This file supports the following dynamic analysis tools: + - None (DYNAMIC_ANNOTATIONS_ENABLED is not defined or zero). + Macros are defined empty. + - ThreadSanitizer, Helgrind, DRD (DYNAMIC_ANNOTATIONS_ENABLED is 1). + Macros are defined as calls to non-inlinable empty functions + that are intercepted by Valgrind. */ + +#ifndef __DYNAMIC_ANNOTATIONS_H__ +#define __DYNAMIC_ANNOTATIONS_H__ + +#ifndef DYNAMIC_ANNOTATIONS_ENABLED +# define DYNAMIC_ANNOTATIONS_ENABLED 0 +#endif + +#if DYNAMIC_ANNOTATIONS_ENABLED != 0 + + /* ------------------------------------------------------------- + Annotations useful when implementing condition variables such as CondVar, + using conditional critical sections (Await/LockWhen) and when constructing + user-defined synchronization mechanisms. + + The annotations _Py_ANNOTATE_HAPPENS_BEFORE() and + _Py_ANNOTATE_HAPPENS_AFTER() can be used to define happens-before arcs in + user-defined synchronization mechanisms: the race detector will infer an + arc from the former to the latter when they share the same argument + pointer. + + Example 1 (reference counting): + + void Unref() { + _Py_ANNOTATE_HAPPENS_BEFORE(&refcount_); + if (AtomicDecrementByOne(&refcount_) == 0) { + _Py_ANNOTATE_HAPPENS_AFTER(&refcount_); + delete this; + } + } + + Example 2 (message queue): + + void MyQueue::Put(Type *e) { + MutexLock lock(&mu_); + _Py_ANNOTATE_HAPPENS_BEFORE(e); + PutElementIntoMyQueue(e); + } + + Type *MyQueue::Get() { + MutexLock lock(&mu_); + Type *e = GetElementFromMyQueue(); + _Py_ANNOTATE_HAPPENS_AFTER(e); + return e; + } + + Note: when possible, please use the existing reference counting and message + queue implementations instead of inventing new ones. */ + + /* Report that wait on the condition variable at address "cv" has succeeded + and the lock at address "lock" is held. */ +#define _Py_ANNOTATE_CONDVAR_LOCK_WAIT(cv, lock) \ + AnnotateCondVarWait(__FILE__, __LINE__, cv, lock) + + /* Report that wait on the condition variable at "cv" has succeeded. Variant + w/o lock. */ +#define _Py_ANNOTATE_CONDVAR_WAIT(cv) \ + AnnotateCondVarWait(__FILE__, __LINE__, cv, NULL) + + /* Report that we are about to signal on the condition variable at address + "cv". */ +#define _Py_ANNOTATE_CONDVAR_SIGNAL(cv) \ + AnnotateCondVarSignal(__FILE__, __LINE__, cv) + + /* Report that we are about to signal_all on the condition variable at "cv". */ +#define _Py_ANNOTATE_CONDVAR_SIGNAL_ALL(cv) \ + AnnotateCondVarSignalAll(__FILE__, __LINE__, cv) + + /* Annotations for user-defined synchronization mechanisms. */ +#define _Py_ANNOTATE_HAPPENS_BEFORE(obj) _Py_ANNOTATE_CONDVAR_SIGNAL(obj) +#define _Py_ANNOTATE_HAPPENS_AFTER(obj) _Py_ANNOTATE_CONDVAR_WAIT(obj) + + /* Report that the bytes in the range [pointer, pointer+size) are about + to be published safely. The race checker will create a happens-before + arc from the call _Py_ANNOTATE_PUBLISH_MEMORY_RANGE(pointer, size) to + subsequent accesses to this memory. + Note: this annotation may not work properly if the race detector uses + sampling, i.e. does not observe all memory accesses. + */ +#define _Py_ANNOTATE_PUBLISH_MEMORY_RANGE(pointer, size) \ + AnnotatePublishMemoryRange(__FILE__, __LINE__, pointer, size) + + /* Instruct the tool to create a happens-before arc between mu->Unlock() and + mu->Lock(). This annotation may slow down the race detector and hide real + races. Normally it is used only when it would be difficult to annotate each + of the mutex's critical sections individually using the annotations above. + This annotation makes sense only for hybrid race detectors. For pure + happens-before detectors this is a no-op. For more details see + https://code.google.com/p/data-race-test/wiki/PureHappensBeforeVsHybrid . */ +#define _Py_ANNOTATE_PURE_HAPPENS_BEFORE_MUTEX(mu) \ + AnnotateMutexIsUsedAsCondVar(__FILE__, __LINE__, mu) + + /* ------------------------------------------------------------- + Annotations useful when defining memory allocators, or when memory that + was protected in one way starts to be protected in another. */ + + /* Report that a new memory at "address" of size "size" has been allocated. + This might be used when the memory has been retrieved from a free list and + is about to be reused, or when the locking discipline for a variable + changes. */ +#define _Py_ANNOTATE_NEW_MEMORY(address, size) \ + AnnotateNewMemory(__FILE__, __LINE__, address, size) + + /* ------------------------------------------------------------- + Annotations useful when defining FIFO queues that transfer data between + threads. */ + + /* Report that the producer-consumer queue (such as ProducerConsumerQueue) at + address "pcq" has been created. The _Py_ANNOTATE_PCQ_* annotations should + be used only for FIFO queues. For non-FIFO queues use + _Py_ANNOTATE_HAPPENS_BEFORE (for put) and _Py_ANNOTATE_HAPPENS_AFTER (for + get). */ +#define _Py_ANNOTATE_PCQ_CREATE(pcq) \ + AnnotatePCQCreate(__FILE__, __LINE__, pcq) + + /* Report that the queue at address "pcq" is about to be destroyed. */ +#define _Py_ANNOTATE_PCQ_DESTROY(pcq) \ + AnnotatePCQDestroy(__FILE__, __LINE__, pcq) + + /* Report that we are about to put an element into a FIFO queue at address + "pcq". */ +#define _Py_ANNOTATE_PCQ_PUT(pcq) \ + AnnotatePCQPut(__FILE__, __LINE__, pcq) + + /* Report that we've just got an element from a FIFO queue at address "pcq". */ +#define _Py_ANNOTATE_PCQ_GET(pcq) \ + AnnotatePCQGet(__FILE__, __LINE__, pcq) + + /* ------------------------------------------------------------- + Annotations that suppress errors. It is usually better to express the + program's synchronization using the other annotations, but these can + be used when all else fails. */ + + /* Report that we may have a benign race at "pointer", with size + "sizeof(*(pointer))". "pointer" must be a non-void* pointer. Insert at the + point where "pointer" has been allocated, preferably close to the point + where the race happens. See also _Py_ANNOTATE_BENIGN_RACE_STATIC. */ +#define _Py_ANNOTATE_BENIGN_RACE(pointer, description) \ + AnnotateBenignRaceSized(__FILE__, __LINE__, pointer, \ + sizeof(*(pointer)), description) + + /* Same as _Py_ANNOTATE_BENIGN_RACE(address, description), but applies to + the memory range [address, address+size). */ +#define _Py_ANNOTATE_BENIGN_RACE_SIZED(address, size, description) \ + AnnotateBenignRaceSized(__FILE__, __LINE__, address, size, description) + + /* Request the analysis tool to ignore all reads in the current thread + until _Py_ANNOTATE_IGNORE_READS_END is called. + Useful to ignore intentional racey reads, while still checking + other reads and all writes. + See also _Py_ANNOTATE_UNPROTECTED_READ. */ +#define _Py_ANNOTATE_IGNORE_READS_BEGIN() \ + AnnotateIgnoreReadsBegin(__FILE__, __LINE__) + + /* Stop ignoring reads. */ +#define _Py_ANNOTATE_IGNORE_READS_END() \ + AnnotateIgnoreReadsEnd(__FILE__, __LINE__) + + /* Similar to _Py_ANNOTATE_IGNORE_READS_BEGIN, but ignore writes. */ +#define _Py_ANNOTATE_IGNORE_WRITES_BEGIN() \ + AnnotateIgnoreWritesBegin(__FILE__, __LINE__) + + /* Stop ignoring writes. */ +#define _Py_ANNOTATE_IGNORE_WRITES_END() \ + AnnotateIgnoreWritesEnd(__FILE__, __LINE__) + + /* Start ignoring all memory accesses (reads and writes). */ +#define _Py_ANNOTATE_IGNORE_READS_AND_WRITES_BEGIN() \ + do {\ + _Py_ANNOTATE_IGNORE_READS_BEGIN();\ + _Py_ANNOTATE_IGNORE_WRITES_BEGIN();\ + }while(0)\ + + /* Stop ignoring all memory accesses. */ +#define _Py_ANNOTATE_IGNORE_READS_AND_WRITES_END() \ + do {\ + _Py_ANNOTATE_IGNORE_WRITES_END();\ + _Py_ANNOTATE_IGNORE_READS_END();\ + }while(0)\ + + /* Similar to _Py_ANNOTATE_IGNORE_READS_BEGIN, but ignore synchronization events: + RWLOCK* and CONDVAR*. */ +#define _Py_ANNOTATE_IGNORE_SYNC_BEGIN() \ + AnnotateIgnoreSyncBegin(__FILE__, __LINE__) + + /* Stop ignoring sync events. */ +#define _Py_ANNOTATE_IGNORE_SYNC_END() \ + AnnotateIgnoreSyncEnd(__FILE__, __LINE__) + + + /* Enable (enable!=0) or disable (enable==0) race detection for all threads. + This annotation could be useful if you want to skip expensive race analysis + during some period of program execution, e.g. during initialization. */ +#define _Py_ANNOTATE_ENABLE_RACE_DETECTION(enable) \ + AnnotateEnableRaceDetection(__FILE__, __LINE__, enable) + + /* ------------------------------------------------------------- + Annotations useful for debugging. */ + + /* Request to trace every access to "address". */ +#define _Py_ANNOTATE_TRACE_MEMORY(address) \ + AnnotateTraceMemory(__FILE__, __LINE__, address) + + /* Report the current thread name to a race detector. */ +#define _Py_ANNOTATE_THREAD_NAME(name) \ + AnnotateThreadName(__FILE__, __LINE__, name) + + /* ------------------------------------------------------------- + Annotations useful when implementing locks. They are not + normally needed by modules that merely use locks. + The "lock" argument is a pointer to the lock object. */ + + /* Report that a lock has been created at address "lock". */ +#define _Py_ANNOTATE_RWLOCK_CREATE(lock) \ + AnnotateRWLockCreate(__FILE__, __LINE__, lock) + + /* Report that the lock at address "lock" is about to be destroyed. */ +#define _Py_ANNOTATE_RWLOCK_DESTROY(lock) \ + AnnotateRWLockDestroy(__FILE__, __LINE__, lock) + + /* Report that the lock at address "lock" has been acquired. + is_w=1 for writer lock, is_w=0 for reader lock. */ +#define _Py_ANNOTATE_RWLOCK_ACQUIRED(lock, is_w) \ + AnnotateRWLockAcquired(__FILE__, __LINE__, lock, is_w) + + /* Report that the lock at address "lock" is about to be released. */ +#define _Py_ANNOTATE_RWLOCK_RELEASED(lock, is_w) \ + AnnotateRWLockReleased(__FILE__, __LINE__, lock, is_w) + + /* ------------------------------------------------------------- + Annotations useful when implementing barriers. They are not + normally needed by modules that merely use barriers. + The "barrier" argument is a pointer to the barrier object. */ + + /* Report that the "barrier" has been initialized with initial "count". + If 'reinitialization_allowed' is true, initialization is allowed to happen + multiple times w/o calling barrier_destroy() */ +#define _Py_ANNOTATE_BARRIER_INIT(barrier, count, reinitialization_allowed) \ + AnnotateBarrierInit(__FILE__, __LINE__, barrier, count, \ + reinitialization_allowed) + + /* Report that we are about to enter barrier_wait("barrier"). */ +#define _Py_ANNOTATE_BARRIER_WAIT_BEFORE(barrier) \ + AnnotateBarrierWaitBefore(__FILE__, __LINE__, barrier) + + /* Report that we just exited barrier_wait("barrier"). */ +#define _Py_ANNOTATE_BARRIER_WAIT_AFTER(barrier) \ + AnnotateBarrierWaitAfter(__FILE__, __LINE__, barrier) + + /* Report that the "barrier" has been destroyed. */ +#define _Py_ANNOTATE_BARRIER_DESTROY(barrier) \ + AnnotateBarrierDestroy(__FILE__, __LINE__, barrier) + + /* ------------------------------------------------------------- + Annotations useful for testing race detectors. */ + + /* Report that we expect a race on the variable at "address". + Use only in unit tests for a race detector. */ +#define _Py_ANNOTATE_EXPECT_RACE(address, description) \ + AnnotateExpectRace(__FILE__, __LINE__, address, description) + + /* A no-op. Insert where you like to test the interceptors. */ +#define _Py_ANNOTATE_NO_OP(arg) \ + AnnotateNoOp(__FILE__, __LINE__, arg) + + /* Force the race detector to flush its state. The actual effect depends on + * the implementation of the detector. */ +#define _Py_ANNOTATE_FLUSH_STATE() \ + AnnotateFlushState(__FILE__, __LINE__) + + +#else /* DYNAMIC_ANNOTATIONS_ENABLED == 0 */ + +#define _Py_ANNOTATE_RWLOCK_CREATE(lock) /* empty */ +#define _Py_ANNOTATE_RWLOCK_DESTROY(lock) /* empty */ +#define _Py_ANNOTATE_RWLOCK_ACQUIRED(lock, is_w) /* empty */ +#define _Py_ANNOTATE_RWLOCK_RELEASED(lock, is_w) /* empty */ +#define _Py_ANNOTATE_BARRIER_INIT(barrier, count, reinitialization_allowed) /* */ +#define _Py_ANNOTATE_BARRIER_WAIT_BEFORE(barrier) /* empty */ +#define _Py_ANNOTATE_BARRIER_WAIT_AFTER(barrier) /* empty */ +#define _Py_ANNOTATE_BARRIER_DESTROY(barrier) /* empty */ +#define _Py_ANNOTATE_CONDVAR_LOCK_WAIT(cv, lock) /* empty */ +#define _Py_ANNOTATE_CONDVAR_WAIT(cv) /* empty */ +#define _Py_ANNOTATE_CONDVAR_SIGNAL(cv) /* empty */ +#define _Py_ANNOTATE_CONDVAR_SIGNAL_ALL(cv) /* empty */ +#define _Py_ANNOTATE_HAPPENS_BEFORE(obj) /* empty */ +#define _Py_ANNOTATE_HAPPENS_AFTER(obj) /* empty */ +#define _Py_ANNOTATE_PUBLISH_MEMORY_RANGE(address, size) /* empty */ +#define _Py_ANNOTATE_UNPUBLISH_MEMORY_RANGE(address, size) /* empty */ +#define _Py_ANNOTATE_SWAP_MEMORY_RANGE(address, size) /* empty */ +#define _Py_ANNOTATE_PCQ_CREATE(pcq) /* empty */ +#define _Py_ANNOTATE_PCQ_DESTROY(pcq) /* empty */ +#define _Py_ANNOTATE_PCQ_PUT(pcq) /* empty */ +#define _Py_ANNOTATE_PCQ_GET(pcq) /* empty */ +#define _Py_ANNOTATE_NEW_MEMORY(address, size) /* empty */ +#define _Py_ANNOTATE_EXPECT_RACE(address, description) /* empty */ +#define _Py_ANNOTATE_BENIGN_RACE(address, description) /* empty */ +#define _Py_ANNOTATE_BENIGN_RACE_SIZED(address, size, description) /* empty */ +#define _Py_ANNOTATE_PURE_HAPPENS_BEFORE_MUTEX(mu) /* empty */ +#define _Py_ANNOTATE_MUTEX_IS_USED_AS_CONDVAR(mu) /* empty */ +#define _Py_ANNOTATE_TRACE_MEMORY(arg) /* empty */ +#define _Py_ANNOTATE_THREAD_NAME(name) /* empty */ +#define _Py_ANNOTATE_IGNORE_READS_BEGIN() /* empty */ +#define _Py_ANNOTATE_IGNORE_READS_END() /* empty */ +#define _Py_ANNOTATE_IGNORE_WRITES_BEGIN() /* empty */ +#define _Py_ANNOTATE_IGNORE_WRITES_END() /* empty */ +#define _Py_ANNOTATE_IGNORE_READS_AND_WRITES_BEGIN() /* empty */ +#define _Py_ANNOTATE_IGNORE_READS_AND_WRITES_END() /* empty */ +#define _Py_ANNOTATE_IGNORE_SYNC_BEGIN() /* empty */ +#define _Py_ANNOTATE_IGNORE_SYNC_END() /* empty */ +#define _Py_ANNOTATE_ENABLE_RACE_DETECTION(enable) /* empty */ +#define _Py_ANNOTATE_NO_OP(arg) /* empty */ +#define _Py_ANNOTATE_FLUSH_STATE() /* empty */ + +#endif /* DYNAMIC_ANNOTATIONS_ENABLED */ + +/* Use the macros above rather than using these functions directly. */ +#ifdef __cplusplus +extern "C" { +#endif +void AnnotateRWLockCreate(const char *file, int line, + const volatile void *lock); +void AnnotateRWLockDestroy(const char *file, int line, + const volatile void *lock); +void AnnotateRWLockAcquired(const char *file, int line, + const volatile void *lock, long is_w); +void AnnotateRWLockReleased(const char *file, int line, + const volatile void *lock, long is_w); +void AnnotateBarrierInit(const char *file, int line, + const volatile void *barrier, long count, + long reinitialization_allowed); +void AnnotateBarrierWaitBefore(const char *file, int line, + const volatile void *barrier); +void AnnotateBarrierWaitAfter(const char *file, int line, + const volatile void *barrier); +void AnnotateBarrierDestroy(const char *file, int line, + const volatile void *barrier); +void AnnotateCondVarWait(const char *file, int line, + const volatile void *cv, + const volatile void *lock); +void AnnotateCondVarSignal(const char *file, int line, + const volatile void *cv); +void AnnotateCondVarSignalAll(const char *file, int line, + const volatile void *cv); +void AnnotatePublishMemoryRange(const char *file, int line, + const volatile void *address, + long size); +void AnnotateUnpublishMemoryRange(const char *file, int line, + const volatile void *address, + long size); +void AnnotatePCQCreate(const char *file, int line, + const volatile void *pcq); +void AnnotatePCQDestroy(const char *file, int line, + const volatile void *pcq); +void AnnotatePCQPut(const char *file, int line, + const volatile void *pcq); +void AnnotatePCQGet(const char *file, int line, + const volatile void *pcq); +void AnnotateNewMemory(const char *file, int line, + const volatile void *address, + long size); +void AnnotateExpectRace(const char *file, int line, + const volatile void *address, + const char *description); +void AnnotateBenignRace(const char *file, int line, + const volatile void *address, + const char *description); +void AnnotateBenignRaceSized(const char *file, int line, + const volatile void *address, + long size, + const char *description); +void AnnotateMutexIsUsedAsCondVar(const char *file, int line, + const volatile void *mu); +void AnnotateTraceMemory(const char *file, int line, + const volatile void *arg); +void AnnotateThreadName(const char *file, int line, + const char *name); +void AnnotateIgnoreReadsBegin(const char *file, int line); +void AnnotateIgnoreReadsEnd(const char *file, int line); +void AnnotateIgnoreWritesBegin(const char *file, int line); +void AnnotateIgnoreWritesEnd(const char *file, int line); +void AnnotateEnableRaceDetection(const char *file, int line, int enable); +void AnnotateNoOp(const char *file, int line, + const volatile void *arg); +void AnnotateFlushState(const char *file, int line); + +/* Return non-zero value if running under valgrind. + + If "valgrind.h" is included into dynamic_annotations.c, + the regular valgrind mechanism will be used. + See http://valgrind.org/docs/manual/manual-core-adv.html about + RUNNING_ON_VALGRIND and other valgrind "client requests". + The file "valgrind.h" may be obtained by doing + svn co svn://svn.valgrind.org/valgrind/trunk/include + + If for some reason you can't use "valgrind.h" or want to fake valgrind, + there are two ways to make this function return non-zero: + - Use environment variable: export RUNNING_ON_VALGRIND=1 + - Make your tool intercept the function RunningOnValgrind() and + change its return value. + */ +int RunningOnValgrind(void); + +#ifdef __cplusplus +} +#endif + +#if DYNAMIC_ANNOTATIONS_ENABLED != 0 && defined(__cplusplus) + + /* _Py_ANNOTATE_UNPROTECTED_READ is the preferred way to annotate racey reads. + + Instead of doing + _Py_ANNOTATE_IGNORE_READS_BEGIN(); + ... = x; + _Py_ANNOTATE_IGNORE_READS_END(); + one can use + ... = _Py_ANNOTATE_UNPROTECTED_READ(x); */ + template + inline T _Py_ANNOTATE_UNPROTECTED_READ(const volatile T &x) { + _Py_ANNOTATE_IGNORE_READS_BEGIN(); + T res = x; + _Py_ANNOTATE_IGNORE_READS_END(); + return res; + } + /* Apply _Py_ANNOTATE_BENIGN_RACE_SIZED to a static variable. */ +#define _Py_ANNOTATE_BENIGN_RACE_STATIC(static_var, description) \ + namespace { \ + class static_var ## _annotator { \ + public: \ + static_var ## _annotator() { \ + _Py_ANNOTATE_BENIGN_RACE_SIZED(&static_var, \ + sizeof(static_var), \ + # static_var ": " description); \ + } \ + }; \ + static static_var ## _annotator the ## static_var ## _annotator;\ + } +#else /* DYNAMIC_ANNOTATIONS_ENABLED == 0 */ + +#define _Py_ANNOTATE_UNPROTECTED_READ(x) (x) +#define _Py_ANNOTATE_BENIGN_RACE_STATIC(static_var, description) /* empty */ + +#endif /* DYNAMIC_ANNOTATIONS_ENABLED */ + +#endif /* __DYNAMIC_ANNOTATIONS_H__ */ diff --git a/_Pre_Builds/_Python312_cpp/include/enumobject.h b/_Pre_Builds/_Python312_cpp/include/enumobject.h new file mode 100644 index 0000000..c14dbfc --- /dev/null +++ b/_Pre_Builds/_Python312_cpp/include/enumobject.h @@ -0,0 +1,17 @@ +#ifndef Py_ENUMOBJECT_H +#define Py_ENUMOBJECT_H + +/* Enumerate Object */ + +#ifdef __cplusplus +extern "C" { +#endif + +PyAPI_DATA(PyTypeObject) PyEnum_Type; +PyAPI_DATA(PyTypeObject) PyReversed_Type; + +#ifdef __cplusplus +} +#endif + +#endif /* !Py_ENUMOBJECT_H */ diff --git a/_Pre_Builds/_Python312_cpp/include/errcode.h b/_Pre_Builds/_Python312_cpp/include/errcode.h new file mode 100644 index 0000000..bd9066b --- /dev/null +++ b/_Pre_Builds/_Python312_cpp/include/errcode.h @@ -0,0 +1,38 @@ +#ifndef Py_ERRCODE_H +#define Py_ERRCODE_H +#ifdef __cplusplus +extern "C" { +#endif + +/* Error codes passed around between file input, tokenizer, parser and + interpreter. This is necessary so we can turn them into Python + exceptions at a higher level. Note that some errors have a + slightly different meaning when passed from the tokenizer to the + parser than when passed from the parser to the interpreter; e.g. + the parser only returns E_EOF when it hits EOF immediately, and it + never returns E_OK. */ + +#define E_OK 10 /* No error */ +#define E_EOF 11 /* End Of File */ +#define E_INTR 12 /* Interrupted */ +#define E_TOKEN 13 /* Bad token */ +#define E_SYNTAX 14 /* Syntax error */ +#define E_NOMEM 15 /* Ran out of memory */ +#define E_DONE 16 /* Parsing complete */ +#define E_ERROR 17 /* Execution error */ +#define E_TABSPACE 18 /* Inconsistent mixing of tabs and spaces */ +#define E_OVERFLOW 19 /* Node had too many children */ +#define E_TOODEEP 20 /* Too many indentation levels */ +#define E_DEDENT 21 /* No matching outer block for dedent */ +#define E_DECODE 22 /* Error in decoding into Unicode */ +#define E_EOFS 23 /* EOF in triple-quoted string */ +#define E_EOLS 24 /* EOL in single-quoted string */ +#define E_LINECONT 25 /* Unexpected characters after a line continuation */ +#define E_BADSINGLE 27 /* Ill-formed single statement input */ +#define E_INTERACT_STOP 28 /* Interactive mode stopped tokenization */ +#define E_COLUMNOVERFLOW 29 /* Column offset overflow */ + +#ifdef __cplusplus +} +#endif +#endif /* !Py_ERRCODE_H */ diff --git a/_Pre_Builds/_Python312_cpp/include/exports.h b/_Pre_Builds/_Python312_cpp/include/exports.h new file mode 100644 index 0000000..59373c3 --- /dev/null +++ b/_Pre_Builds/_Python312_cpp/include/exports.h @@ -0,0 +1,36 @@ +#ifndef Py_EXPORTS_H +#define Py_EXPORTS_H + +#if defined(_WIN32) || defined(__CYGWIN__) + #if defined(Py_ENABLE_SHARED) + #define Py_IMPORTED_SYMBOL __declspec(dllimport) + #define Py_EXPORTED_SYMBOL __declspec(dllexport) + #define Py_LOCAL_SYMBOL + #else + #define Py_IMPORTED_SYMBOL + #define Py_EXPORTED_SYMBOL + #define Py_LOCAL_SYMBOL + #endif +#else +/* + * If we only ever used gcc >= 5, we could use __has_attribute(visibility) + * as a cross-platform way to determine if visibility is supported. However, + * we may still need to support gcc >= 4, as some Ubuntu LTS and Centos versions + * have 4 < gcc < 5. + */ + #ifndef __has_attribute + #define __has_attribute(x) 0 // Compatibility with non-clang compilers. + #endif + #if (defined(__GNUC__) && (__GNUC__ >= 4)) ||\ + (defined(__clang__) && __has_attribute(visibility)) + #define Py_IMPORTED_SYMBOL __attribute__ ((visibility ("default"))) + #define Py_EXPORTED_SYMBOL __attribute__ ((visibility ("default"))) + #define Py_LOCAL_SYMBOL __attribute__ ((visibility ("hidden"))) + #else + #define Py_IMPORTED_SYMBOL + #define Py_EXPORTED_SYMBOL + #define Py_LOCAL_SYMBOL + #endif +#endif + +#endif /* Py_EXPORTS_H */ diff --git a/_Pre_Builds/_Python312_cpp/include/fileobject.h b/_Pre_Builds/_Python312_cpp/include/fileobject.h new file mode 100644 index 0000000..2deef54 --- /dev/null +++ b/_Pre_Builds/_Python312_cpp/include/fileobject.h @@ -0,0 +1,49 @@ +/* File object interface (what's left of it -- see io.py) */ + +#ifndef Py_FILEOBJECT_H +#define Py_FILEOBJECT_H +#ifdef __cplusplus +extern "C" { +#endif + +#define PY_STDIOTEXTMODE "b" + +PyAPI_FUNC(PyObject *) PyFile_FromFd(int, const char *, const char *, int, + const char *, const char *, + const char *, int); +PyAPI_FUNC(PyObject *) PyFile_GetLine(PyObject *, int); +PyAPI_FUNC(int) PyFile_WriteObject(PyObject *, PyObject *, int); +PyAPI_FUNC(int) PyFile_WriteString(const char *, PyObject *); +PyAPI_FUNC(int) PyObject_AsFileDescriptor(PyObject *); + +/* The default encoding used by the platform file system APIs + If non-NULL, this is different than the default encoding for strings +*/ +Py_DEPRECATED(3.12) PyAPI_DATA(const char *) Py_FileSystemDefaultEncoding; +#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x03060000 +Py_DEPRECATED(3.12) PyAPI_DATA(const char *) Py_FileSystemDefaultEncodeErrors; +#endif +Py_DEPRECATED(3.12) PyAPI_DATA(int) Py_HasFileSystemDefaultEncoding; + +#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x03070000 +Py_DEPRECATED(3.12) PyAPI_DATA(int) Py_UTF8Mode; +#endif + +/* A routine to check if a file descriptor can be select()-ed. */ +#ifdef _MSC_VER + /* On Windows, any socket fd can be select()-ed, no matter how high */ + #define _PyIsSelectable_fd(FD) (1) +#else + #define _PyIsSelectable_fd(FD) ((unsigned int)(FD) < (unsigned int)FD_SETSIZE) +#endif + +#ifndef Py_LIMITED_API +# define Py_CPYTHON_FILEOBJECT_H +# include "cpython/fileobject.h" +# undef Py_CPYTHON_FILEOBJECT_H +#endif + +#ifdef __cplusplus +} +#endif +#endif /* !Py_FILEOBJECT_H */ diff --git a/_Pre_Builds/_Python312_cpp/include/fileutils.h b/_Pre_Builds/_Python312_cpp/include/fileutils.h new file mode 100644 index 0000000..ba5acc8 --- /dev/null +++ b/_Pre_Builds/_Python312_cpp/include/fileutils.h @@ -0,0 +1,26 @@ +#ifndef Py_FILEUTILS_H +#define Py_FILEUTILS_H +#ifdef __cplusplus +extern "C" { +#endif + +#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x03050000 +PyAPI_FUNC(wchar_t *) Py_DecodeLocale( + const char *arg, + size_t *size); + +PyAPI_FUNC(char*) Py_EncodeLocale( + const wchar_t *text, + size_t *error_pos); +#endif + +#ifndef Py_LIMITED_API +# define Py_CPYTHON_FILEUTILS_H +# include "cpython/fileutils.h" +# undef Py_CPYTHON_FILEUTILS_H +#endif + +#ifdef __cplusplus +} +#endif +#endif /* !Py_FILEUTILS_H */ diff --git a/_Pre_Builds/_Python312_cpp/include/floatobject.h b/_Pre_Builds/_Python312_cpp/include/floatobject.h new file mode 100644 index 0000000..999441a --- /dev/null +++ b/_Pre_Builds/_Python312_cpp/include/floatobject.h @@ -0,0 +1,54 @@ + +/* Float object interface */ + +/* +PyFloatObject represents a (double precision) floating point number. +*/ + +#ifndef Py_FLOATOBJECT_H +#define Py_FLOATOBJECT_H +#ifdef __cplusplus +extern "C" { +#endif + +PyAPI_DATA(PyTypeObject) PyFloat_Type; + +#define PyFloat_Check(op) PyObject_TypeCheck(op, &PyFloat_Type) +#define PyFloat_CheckExact(op) Py_IS_TYPE((op), &PyFloat_Type) + +#define Py_RETURN_NAN return PyFloat_FromDouble(Py_NAN) + +#define Py_RETURN_INF(sign) \ + do { \ + if (copysign(1., sign) == 1.) { \ + return PyFloat_FromDouble(Py_HUGE_VAL); \ + } \ + else { \ + return PyFloat_FromDouble(-Py_HUGE_VAL); \ + } \ + } while(0) + +PyAPI_FUNC(double) PyFloat_GetMax(void); +PyAPI_FUNC(double) PyFloat_GetMin(void); +PyAPI_FUNC(PyObject*) PyFloat_GetInfo(void); + +/* Return Python float from string PyObject. */ +PyAPI_FUNC(PyObject*) PyFloat_FromString(PyObject*); + +/* Return Python float from C double. */ +PyAPI_FUNC(PyObject*) PyFloat_FromDouble(double); + +/* Extract C double from Python float. The macro version trades safety for + speed. */ +PyAPI_FUNC(double) PyFloat_AsDouble(PyObject*); + +#ifndef Py_LIMITED_API +# define Py_CPYTHON_FLOATOBJECT_H +# include "cpython/floatobject.h" +# undef Py_CPYTHON_FLOATOBJECT_H +#endif + +#ifdef __cplusplus +} +#endif +#endif /* !Py_FLOATOBJECT_H */ diff --git a/_Pre_Builds/_Python312_cpp/include/frameobject.h b/_Pre_Builds/_Python312_cpp/include/frameobject.h new file mode 100644 index 0000000..adb628f --- /dev/null +++ b/_Pre_Builds/_Python312_cpp/include/frameobject.h @@ -0,0 +1,20 @@ +/* Frame object interface */ + +#ifndef Py_FRAMEOBJECT_H +#define Py_FRAMEOBJECT_H +#ifdef __cplusplus +extern "C" { +#endif + +#include "pyframe.h" + +#ifndef Py_LIMITED_API +# define Py_CPYTHON_FRAMEOBJECT_H +# include "cpython/frameobject.h" +# undef Py_CPYTHON_FRAMEOBJECT_H +#endif + +#ifdef __cplusplus +} +#endif +#endif /* !Py_FRAMEOBJECT_H */ diff --git a/_Pre_Builds/_Python312_cpp/include/genericaliasobject.h b/_Pre_Builds/_Python312_cpp/include/genericaliasobject.h new file mode 100644 index 0000000..cf00297 --- /dev/null +++ b/_Pre_Builds/_Python312_cpp/include/genericaliasobject.h @@ -0,0 +1,14 @@ +// Implementation of PEP 585: support list[int] etc. +#ifndef Py_GENERICALIASOBJECT_H +#define Py_GENERICALIASOBJECT_H +#ifdef __cplusplus +extern "C" { +#endif + +PyAPI_FUNC(PyObject *) Py_GenericAlias(PyObject *, PyObject *); +PyAPI_DATA(PyTypeObject) Py_GenericAliasType; + +#ifdef __cplusplus +} +#endif +#endif /* !Py_GENERICALIASOBJECT_H */ diff --git a/_Pre_Builds/_Python312_cpp/include/import.h b/_Pre_Builds/_Python312_cpp/include/import.h new file mode 100644 index 0000000..5d5f342 --- /dev/null +++ b/_Pre_Builds/_Python312_cpp/include/import.h @@ -0,0 +1,98 @@ +/* Module definition and import interface */ + +#ifndef Py_IMPORT_H +#define Py_IMPORT_H +#ifdef __cplusplus +extern "C" { +#endif + +PyAPI_FUNC(long) PyImport_GetMagicNumber(void); +PyAPI_FUNC(const char *) PyImport_GetMagicTag(void); +PyAPI_FUNC(PyObject *) PyImport_ExecCodeModule( + const char *name, /* UTF-8 encoded string */ + PyObject *co + ); +PyAPI_FUNC(PyObject *) PyImport_ExecCodeModuleEx( + const char *name, /* UTF-8 encoded string */ + PyObject *co, + const char *pathname /* decoded from the filesystem encoding */ + ); +PyAPI_FUNC(PyObject *) PyImport_ExecCodeModuleWithPathnames( + const char *name, /* UTF-8 encoded string */ + PyObject *co, + const char *pathname, /* decoded from the filesystem encoding */ + const char *cpathname /* decoded from the filesystem encoding */ + ); +#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x03030000 +PyAPI_FUNC(PyObject *) PyImport_ExecCodeModuleObject( + PyObject *name, + PyObject *co, + PyObject *pathname, + PyObject *cpathname + ); +#endif +PyAPI_FUNC(PyObject *) PyImport_GetModuleDict(void); +#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x03070000 +PyAPI_FUNC(PyObject *) PyImport_GetModule(PyObject *name); +#endif +#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x03030000 +PyAPI_FUNC(PyObject *) PyImport_AddModuleObject( + PyObject *name + ); +#endif +PyAPI_FUNC(PyObject *) PyImport_AddModule( + const char *name /* UTF-8 encoded string */ + ); +PyAPI_FUNC(PyObject *) PyImport_ImportModule( + const char *name /* UTF-8 encoded string */ + ); +PyAPI_FUNC(PyObject *) PyImport_ImportModuleNoBlock( + const char *name /* UTF-8 encoded string */ + ); +PyAPI_FUNC(PyObject *) PyImport_ImportModuleLevel( + const char *name, /* UTF-8 encoded string */ + PyObject *globals, + PyObject *locals, + PyObject *fromlist, + int level + ); +#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x03050000 +PyAPI_FUNC(PyObject *) PyImport_ImportModuleLevelObject( + PyObject *name, + PyObject *globals, + PyObject *locals, + PyObject *fromlist, + int level + ); +#endif + +#define PyImport_ImportModuleEx(n, g, l, f) \ + PyImport_ImportModuleLevel((n), (g), (l), (f), 0) + +PyAPI_FUNC(PyObject *) PyImport_GetImporter(PyObject *path); +PyAPI_FUNC(PyObject *) PyImport_Import(PyObject *name); +PyAPI_FUNC(PyObject *) PyImport_ReloadModule(PyObject *m); +#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x03030000 +PyAPI_FUNC(int) PyImport_ImportFrozenModuleObject( + PyObject *name + ); +#endif +PyAPI_FUNC(int) PyImport_ImportFrozenModule( + const char *name /* UTF-8 encoded string */ + ); + +PyAPI_FUNC(int) PyImport_AppendInittab( + const char *name, /* ASCII encoded string */ + PyObject* (*initfunc)(void) + ); + +#ifndef Py_LIMITED_API +# define Py_CPYTHON_IMPORT_H +# include "cpython/import.h" +# undef Py_CPYTHON_IMPORT_H +#endif + +#ifdef __cplusplus +} +#endif +#endif /* !Py_IMPORT_H */ diff --git a/_Pre_Builds/_Python312_cpp/include/internal/pycore_abstract.h b/_Pre_Builds/_Python312_cpp/include/internal/pycore_abstract.h new file mode 100644 index 0000000..b1afb2d --- /dev/null +++ b/_Pre_Builds/_Python312_cpp/include/internal/pycore_abstract.h @@ -0,0 +1,25 @@ +#ifndef Py_INTERNAL_ABSTRACT_H +#define Py_INTERNAL_ABSTRACT_H +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef Py_BUILD_CORE +# error "this header requires Py_BUILD_CORE define" +#endif + +// Fast inlined version of PyIndex_Check() +static inline int +_PyIndex_Check(PyObject *obj) +{ + PyNumberMethods *tp_as_number = Py_TYPE(obj)->tp_as_number; + return (tp_as_number != NULL && tp_as_number->nb_index != NULL); +} + +PyObject *_PyNumber_PowerNoMod(PyObject *lhs, PyObject *rhs); +PyObject *_PyNumber_InPlacePowerNoMod(PyObject *lhs, PyObject *rhs); + +#ifdef __cplusplus +} +#endif +#endif /* !Py_INTERNAL_ABSTRACT_H */ diff --git a/_Pre_Builds/_Python312_cpp/include/internal/pycore_asdl.h b/_Pre_Builds/_Python312_cpp/include/internal/pycore_asdl.h new file mode 100644 index 0000000..afeada8 --- /dev/null +++ b/_Pre_Builds/_Python312_cpp/include/internal/pycore_asdl.h @@ -0,0 +1,112 @@ +#ifndef Py_INTERNAL_ASDL_H +#define Py_INTERNAL_ASDL_H +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef Py_BUILD_CORE +# error "this header requires Py_BUILD_CORE define" +#endif + +#include "pycore_pyarena.h" // _PyArena_Malloc() + +typedef PyObject * identifier; +typedef PyObject * string; +typedef PyObject * object; +typedef PyObject * constant; + +/* It would be nice if the code generated by asdl_c.py was completely + independent of Python, but it is a goal the requires too much work + at this stage. So, for example, I'll represent identifiers as + interned Python strings. +*/ + +#define _ASDL_SEQ_HEAD \ + Py_ssize_t size; \ + void **elements; + +typedef struct { + _ASDL_SEQ_HEAD +} asdl_seq; + +typedef struct { + _ASDL_SEQ_HEAD + void *typed_elements[1]; +} asdl_generic_seq; + +typedef struct { + _ASDL_SEQ_HEAD + PyObject *typed_elements[1]; +} asdl_identifier_seq; + +typedef struct { + _ASDL_SEQ_HEAD + int typed_elements[1]; +} asdl_int_seq; + +asdl_generic_seq *_Py_asdl_generic_seq_new(Py_ssize_t size, PyArena *arena); +asdl_identifier_seq *_Py_asdl_identifier_seq_new(Py_ssize_t size, PyArena *arena); +asdl_int_seq *_Py_asdl_int_seq_new(Py_ssize_t size, PyArena *arena); + + +#define GENERATE_ASDL_SEQ_CONSTRUCTOR(NAME, TYPE) \ +asdl_ ## NAME ## _seq *_Py_asdl_ ## NAME ## _seq_new(Py_ssize_t size, PyArena *arena) \ +{ \ + asdl_ ## NAME ## _seq *seq = NULL; \ + size_t n; \ + /* check size is sane */ \ + if (size < 0 || \ + (size && (((size_t)size - 1) > (SIZE_MAX / sizeof(void *))))) { \ + PyErr_NoMemory(); \ + return NULL; \ + } \ + n = (size ? (sizeof(TYPE *) * (size - 1)) : 0); \ + /* check if size can be added safely */ \ + if (n > SIZE_MAX - sizeof(asdl_ ## NAME ## _seq)) { \ + PyErr_NoMemory(); \ + return NULL; \ + } \ + n += sizeof(asdl_ ## NAME ## _seq); \ + seq = (asdl_ ## NAME ## _seq *)_PyArena_Malloc(arena, n); \ + if (!seq) { \ + PyErr_NoMemory(); \ + return NULL; \ + } \ + memset(seq, 0, n); \ + seq->size = size; \ + seq->elements = (void**)seq->typed_elements; \ + return seq; \ +} + +#define asdl_seq_GET_UNTYPED(S, I) _Py_RVALUE((S)->elements[(I)]) +#define asdl_seq_GET(S, I) _Py_RVALUE((S)->typed_elements[(I)]) +#define asdl_seq_LEN(S) _Py_RVALUE(((S) == NULL ? 0 : (S)->size)) + +#ifdef Py_DEBUG +# define asdl_seq_SET(S, I, V) \ + do { \ + Py_ssize_t _asdl_i = (I); \ + assert((S) != NULL); \ + assert(0 <= _asdl_i && _asdl_i < (S)->size); \ + (S)->typed_elements[_asdl_i] = (V); \ + } while (0) +#else +# define asdl_seq_SET(S, I, V) _Py_RVALUE((S)->typed_elements[(I)] = (V)) +#endif + +#ifdef Py_DEBUG +# define asdl_seq_SET_UNTYPED(S, I, V) \ + do { \ + Py_ssize_t _asdl_i = (I); \ + assert((S) != NULL); \ + assert(0 <= _asdl_i && _asdl_i < (S)->size); \ + (S)->elements[_asdl_i] = (V); \ + } while (0) +#else +# define asdl_seq_SET_UNTYPED(S, I, V) _Py_RVALUE((S)->elements[(I)] = (V)) +#endif + +#ifdef __cplusplus +} +#endif +#endif /* !Py_INTERNAL_ASDL_H */ diff --git a/_Pre_Builds/_Python312_cpp/include/internal/pycore_ast.h b/_Pre_Builds/_Python312_cpp/include/internal/pycore_ast.h new file mode 100644 index 0000000..b568902 --- /dev/null +++ b/_Pre_Builds/_Python312_cpp/include/internal/pycore_ast.h @@ -0,0 +1,922 @@ +// File automatically generated by Parser/asdl_c.py. + +#ifndef Py_INTERNAL_AST_H +#define Py_INTERNAL_AST_H +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef Py_BUILD_CORE +# error "this header requires Py_BUILD_CORE define" +#endif + +#include "pycore_asdl.h" + +typedef struct _mod *mod_ty; + +typedef struct _stmt *stmt_ty; + +typedef struct _expr *expr_ty; + +typedef enum _expr_context { Load=1, Store=2, Del=3 } expr_context_ty; + +typedef enum _boolop { And=1, Or=2 } boolop_ty; + +typedef enum _operator { Add=1, Sub=2, Mult=3, MatMult=4, Div=5, Mod=6, Pow=7, + LShift=8, RShift=9, BitOr=10, BitXor=11, BitAnd=12, + FloorDiv=13 } operator_ty; + +typedef enum _unaryop { Invert=1, Not=2, UAdd=3, USub=4 } unaryop_ty; + +typedef enum _cmpop { Eq=1, NotEq=2, Lt=3, LtE=4, Gt=5, GtE=6, Is=7, IsNot=8, + In=9, NotIn=10 } cmpop_ty; + +typedef struct _comprehension *comprehension_ty; + +typedef struct _excepthandler *excepthandler_ty; + +typedef struct _arguments *arguments_ty; + +typedef struct _arg *arg_ty; + +typedef struct _keyword *keyword_ty; + +typedef struct _alias *alias_ty; + +typedef struct _withitem *withitem_ty; + +typedef struct _match_case *match_case_ty; + +typedef struct _pattern *pattern_ty; + +typedef struct _type_ignore *type_ignore_ty; + +typedef struct _type_param *type_param_ty; + + +typedef struct { + _ASDL_SEQ_HEAD + mod_ty typed_elements[1]; +} asdl_mod_seq; + +asdl_mod_seq *_Py_asdl_mod_seq_new(Py_ssize_t size, PyArena *arena); + +typedef struct { + _ASDL_SEQ_HEAD + stmt_ty typed_elements[1]; +} asdl_stmt_seq; + +asdl_stmt_seq *_Py_asdl_stmt_seq_new(Py_ssize_t size, PyArena *arena); + +typedef struct { + _ASDL_SEQ_HEAD + expr_ty typed_elements[1]; +} asdl_expr_seq; + +asdl_expr_seq *_Py_asdl_expr_seq_new(Py_ssize_t size, PyArena *arena); + +typedef struct { + _ASDL_SEQ_HEAD + comprehension_ty typed_elements[1]; +} asdl_comprehension_seq; + +asdl_comprehension_seq *_Py_asdl_comprehension_seq_new(Py_ssize_t size, PyArena + *arena); + +typedef struct { + _ASDL_SEQ_HEAD + excepthandler_ty typed_elements[1]; +} asdl_excepthandler_seq; + +asdl_excepthandler_seq *_Py_asdl_excepthandler_seq_new(Py_ssize_t size, PyArena + *arena); + +typedef struct { + _ASDL_SEQ_HEAD + arguments_ty typed_elements[1]; +} asdl_arguments_seq; + +asdl_arguments_seq *_Py_asdl_arguments_seq_new(Py_ssize_t size, PyArena *arena); + +typedef struct { + _ASDL_SEQ_HEAD + arg_ty typed_elements[1]; +} asdl_arg_seq; + +asdl_arg_seq *_Py_asdl_arg_seq_new(Py_ssize_t size, PyArena *arena); + +typedef struct { + _ASDL_SEQ_HEAD + keyword_ty typed_elements[1]; +} asdl_keyword_seq; + +asdl_keyword_seq *_Py_asdl_keyword_seq_new(Py_ssize_t size, PyArena *arena); + +typedef struct { + _ASDL_SEQ_HEAD + alias_ty typed_elements[1]; +} asdl_alias_seq; + +asdl_alias_seq *_Py_asdl_alias_seq_new(Py_ssize_t size, PyArena *arena); + +typedef struct { + _ASDL_SEQ_HEAD + withitem_ty typed_elements[1]; +} asdl_withitem_seq; + +asdl_withitem_seq *_Py_asdl_withitem_seq_new(Py_ssize_t size, PyArena *arena); + +typedef struct { + _ASDL_SEQ_HEAD + match_case_ty typed_elements[1]; +} asdl_match_case_seq; + +asdl_match_case_seq *_Py_asdl_match_case_seq_new(Py_ssize_t size, PyArena + *arena); + +typedef struct { + _ASDL_SEQ_HEAD + pattern_ty typed_elements[1]; +} asdl_pattern_seq; + +asdl_pattern_seq *_Py_asdl_pattern_seq_new(Py_ssize_t size, PyArena *arena); + +typedef struct { + _ASDL_SEQ_HEAD + type_ignore_ty typed_elements[1]; +} asdl_type_ignore_seq; + +asdl_type_ignore_seq *_Py_asdl_type_ignore_seq_new(Py_ssize_t size, PyArena + *arena); + +typedef struct { + _ASDL_SEQ_HEAD + type_param_ty typed_elements[1]; +} asdl_type_param_seq; + +asdl_type_param_seq *_Py_asdl_type_param_seq_new(Py_ssize_t size, PyArena + *arena); + + +enum _mod_kind {Module_kind=1, Interactive_kind=2, Expression_kind=3, + FunctionType_kind=4}; +struct _mod { + enum _mod_kind kind; + union { + struct { + asdl_stmt_seq *body; + asdl_type_ignore_seq *type_ignores; + } Module; + + struct { + asdl_stmt_seq *body; + } Interactive; + + struct { + expr_ty body; + } Expression; + + struct { + asdl_expr_seq *argtypes; + expr_ty returns; + } FunctionType; + + } v; +}; + +enum _stmt_kind {FunctionDef_kind=1, AsyncFunctionDef_kind=2, ClassDef_kind=3, + Return_kind=4, Delete_kind=5, Assign_kind=6, + TypeAlias_kind=7, AugAssign_kind=8, AnnAssign_kind=9, + For_kind=10, AsyncFor_kind=11, While_kind=12, If_kind=13, + With_kind=14, AsyncWith_kind=15, Match_kind=16, + Raise_kind=17, Try_kind=18, TryStar_kind=19, Assert_kind=20, + Import_kind=21, ImportFrom_kind=22, Global_kind=23, + Nonlocal_kind=24, Expr_kind=25, Pass_kind=26, Break_kind=27, + Continue_kind=28}; +struct _stmt { + enum _stmt_kind kind; + union { + struct { + identifier name; + arguments_ty args; + asdl_stmt_seq *body; + asdl_expr_seq *decorator_list; + expr_ty returns; + string type_comment; + asdl_type_param_seq *type_params; + } FunctionDef; + + struct { + identifier name; + arguments_ty args; + asdl_stmt_seq *body; + asdl_expr_seq *decorator_list; + expr_ty returns; + string type_comment; + asdl_type_param_seq *type_params; + } AsyncFunctionDef; + + struct { + identifier name; + asdl_expr_seq *bases; + asdl_keyword_seq *keywords; + asdl_stmt_seq *body; + asdl_expr_seq *decorator_list; + asdl_type_param_seq *type_params; + } ClassDef; + + struct { + expr_ty value; + } Return; + + struct { + asdl_expr_seq *targets; + } Delete; + + struct { + asdl_expr_seq *targets; + expr_ty value; + string type_comment; + } Assign; + + struct { + expr_ty name; + asdl_type_param_seq *type_params; + expr_ty value; + } TypeAlias; + + struct { + expr_ty target; + operator_ty op; + expr_ty value; + } AugAssign; + + struct { + expr_ty target; + expr_ty annotation; + expr_ty value; + int simple; + } AnnAssign; + + struct { + expr_ty target; + expr_ty iter; + asdl_stmt_seq *body; + asdl_stmt_seq *orelse; + string type_comment; + } For; + + struct { + expr_ty target; + expr_ty iter; + asdl_stmt_seq *body; + asdl_stmt_seq *orelse; + string type_comment; + } AsyncFor; + + struct { + expr_ty test; + asdl_stmt_seq *body; + asdl_stmt_seq *orelse; + } While; + + struct { + expr_ty test; + asdl_stmt_seq *body; + asdl_stmt_seq *orelse; + } If; + + struct { + asdl_withitem_seq *items; + asdl_stmt_seq *body; + string type_comment; + } With; + + struct { + asdl_withitem_seq *items; + asdl_stmt_seq *body; + string type_comment; + } AsyncWith; + + struct { + expr_ty subject; + asdl_match_case_seq *cases; + } Match; + + struct { + expr_ty exc; + expr_ty cause; + } Raise; + + struct { + asdl_stmt_seq *body; + asdl_excepthandler_seq *handlers; + asdl_stmt_seq *orelse; + asdl_stmt_seq *finalbody; + } Try; + + struct { + asdl_stmt_seq *body; + asdl_excepthandler_seq *handlers; + asdl_stmt_seq *orelse; + asdl_stmt_seq *finalbody; + } TryStar; + + struct { + expr_ty test; + expr_ty msg; + } Assert; + + struct { + asdl_alias_seq *names; + } Import; + + struct { + identifier module; + asdl_alias_seq *names; + int level; + } ImportFrom; + + struct { + asdl_identifier_seq *names; + } Global; + + struct { + asdl_identifier_seq *names; + } Nonlocal; + + struct { + expr_ty value; + } Expr; + + } v; + int lineno; + int col_offset; + int end_lineno; + int end_col_offset; +}; + +enum _expr_kind {BoolOp_kind=1, NamedExpr_kind=2, BinOp_kind=3, UnaryOp_kind=4, + Lambda_kind=5, IfExp_kind=6, Dict_kind=7, Set_kind=8, + ListComp_kind=9, SetComp_kind=10, DictComp_kind=11, + GeneratorExp_kind=12, Await_kind=13, Yield_kind=14, + YieldFrom_kind=15, Compare_kind=16, Call_kind=17, + FormattedValue_kind=18, JoinedStr_kind=19, Constant_kind=20, + Attribute_kind=21, Subscript_kind=22, Starred_kind=23, + Name_kind=24, List_kind=25, Tuple_kind=26, Slice_kind=27}; +struct _expr { + enum _expr_kind kind; + union { + struct { + boolop_ty op; + asdl_expr_seq *values; + } BoolOp; + + struct { + expr_ty target; + expr_ty value; + } NamedExpr; + + struct { + expr_ty left; + operator_ty op; + expr_ty right; + } BinOp; + + struct { + unaryop_ty op; + expr_ty operand; + } UnaryOp; + + struct { + arguments_ty args; + expr_ty body; + } Lambda; + + struct { + expr_ty test; + expr_ty body; + expr_ty orelse; + } IfExp; + + struct { + asdl_expr_seq *keys; + asdl_expr_seq *values; + } Dict; + + struct { + asdl_expr_seq *elts; + } Set; + + struct { + expr_ty elt; + asdl_comprehension_seq *generators; + } ListComp; + + struct { + expr_ty elt; + asdl_comprehension_seq *generators; + } SetComp; + + struct { + expr_ty key; + expr_ty value; + asdl_comprehension_seq *generators; + } DictComp; + + struct { + expr_ty elt; + asdl_comprehension_seq *generators; + } GeneratorExp; + + struct { + expr_ty value; + } Await; + + struct { + expr_ty value; + } Yield; + + struct { + expr_ty value; + } YieldFrom; + + struct { + expr_ty left; + asdl_int_seq *ops; + asdl_expr_seq *comparators; + } Compare; + + struct { + expr_ty func; + asdl_expr_seq *args; + asdl_keyword_seq *keywords; + } Call; + + struct { + expr_ty value; + int conversion; + expr_ty format_spec; + } FormattedValue; + + struct { + asdl_expr_seq *values; + } JoinedStr; + + struct { + constant value; + string kind; + } Constant; + + struct { + expr_ty value; + identifier attr; + expr_context_ty ctx; + } Attribute; + + struct { + expr_ty value; + expr_ty slice; + expr_context_ty ctx; + } Subscript; + + struct { + expr_ty value; + expr_context_ty ctx; + } Starred; + + struct { + identifier id; + expr_context_ty ctx; + } Name; + + struct { + asdl_expr_seq *elts; + expr_context_ty ctx; + } List; + + struct { + asdl_expr_seq *elts; + expr_context_ty ctx; + } Tuple; + + struct { + expr_ty lower; + expr_ty upper; + expr_ty step; + } Slice; + + } v; + int lineno; + int col_offset; + int end_lineno; + int end_col_offset; +}; + +struct _comprehension { + expr_ty target; + expr_ty iter; + asdl_expr_seq *ifs; + int is_async; +}; + +enum _excepthandler_kind {ExceptHandler_kind=1}; +struct _excepthandler { + enum _excepthandler_kind kind; + union { + struct { + expr_ty type; + identifier name; + asdl_stmt_seq *body; + } ExceptHandler; + + } v; + int lineno; + int col_offset; + int end_lineno; + int end_col_offset; +}; + +struct _arguments { + asdl_arg_seq *posonlyargs; + asdl_arg_seq *args; + arg_ty vararg; + asdl_arg_seq *kwonlyargs; + asdl_expr_seq *kw_defaults; + arg_ty kwarg; + asdl_expr_seq *defaults; +}; + +struct _arg { + identifier arg; + expr_ty annotation; + string type_comment; + int lineno; + int col_offset; + int end_lineno; + int end_col_offset; +}; + +struct _keyword { + identifier arg; + expr_ty value; + int lineno; + int col_offset; + int end_lineno; + int end_col_offset; +}; + +struct _alias { + identifier name; + identifier asname; + int lineno; + int col_offset; + int end_lineno; + int end_col_offset; +}; + +struct _withitem { + expr_ty context_expr; + expr_ty optional_vars; +}; + +struct _match_case { + pattern_ty pattern; + expr_ty guard; + asdl_stmt_seq *body; +}; + +enum _pattern_kind {MatchValue_kind=1, MatchSingleton_kind=2, + MatchSequence_kind=3, MatchMapping_kind=4, + MatchClass_kind=5, MatchStar_kind=6, MatchAs_kind=7, + MatchOr_kind=8}; +struct _pattern { + enum _pattern_kind kind; + union { + struct { + expr_ty value; + } MatchValue; + + struct { + constant value; + } MatchSingleton; + + struct { + asdl_pattern_seq *patterns; + } MatchSequence; + + struct { + asdl_expr_seq *keys; + asdl_pattern_seq *patterns; + identifier rest; + } MatchMapping; + + struct { + expr_ty cls; + asdl_pattern_seq *patterns; + asdl_identifier_seq *kwd_attrs; + asdl_pattern_seq *kwd_patterns; + } MatchClass; + + struct { + identifier name; + } MatchStar; + + struct { + pattern_ty pattern; + identifier name; + } MatchAs; + + struct { + asdl_pattern_seq *patterns; + } MatchOr; + + } v; + int lineno; + int col_offset; + int end_lineno; + int end_col_offset; +}; + +enum _type_ignore_kind {TypeIgnore_kind=1}; +struct _type_ignore { + enum _type_ignore_kind kind; + union { + struct { + int lineno; + string tag; + } TypeIgnore; + + } v; +}; + +enum _type_param_kind {TypeVar_kind=1, ParamSpec_kind=2, TypeVarTuple_kind=3}; +struct _type_param { + enum _type_param_kind kind; + union { + struct { + identifier name; + expr_ty bound; + } TypeVar; + + struct { + identifier name; + } ParamSpec; + + struct { + identifier name; + } TypeVarTuple; + + } v; + int lineno; + int col_offset; + int end_lineno; + int end_col_offset; +}; + + +// Note: these macros affect function definitions, not only call sites. +mod_ty _PyAST_Module(asdl_stmt_seq * body, asdl_type_ignore_seq * type_ignores, + PyArena *arena); +mod_ty _PyAST_Interactive(asdl_stmt_seq * body, PyArena *arena); +mod_ty _PyAST_Expression(expr_ty body, PyArena *arena); +mod_ty _PyAST_FunctionType(asdl_expr_seq * argtypes, expr_ty returns, PyArena + *arena); +stmt_ty _PyAST_FunctionDef(identifier name, arguments_ty args, asdl_stmt_seq * + body, asdl_expr_seq * decorator_list, expr_ty + returns, string type_comment, asdl_type_param_seq * + type_params, int lineno, int col_offset, int + end_lineno, int end_col_offset, PyArena *arena); +stmt_ty _PyAST_AsyncFunctionDef(identifier name, arguments_ty args, + asdl_stmt_seq * body, asdl_expr_seq * + decorator_list, expr_ty returns, string + type_comment, asdl_type_param_seq * + type_params, int lineno, int col_offset, int + end_lineno, int end_col_offset, PyArena *arena); +stmt_ty _PyAST_ClassDef(identifier name, asdl_expr_seq * bases, + asdl_keyword_seq * keywords, asdl_stmt_seq * body, + asdl_expr_seq * decorator_list, asdl_type_param_seq * + type_params, int lineno, int col_offset, int + end_lineno, int end_col_offset, PyArena *arena); +stmt_ty _PyAST_Return(expr_ty value, int lineno, int col_offset, int + end_lineno, int end_col_offset, PyArena *arena); +stmt_ty _PyAST_Delete(asdl_expr_seq * targets, int lineno, int col_offset, int + end_lineno, int end_col_offset, PyArena *arena); +stmt_ty _PyAST_Assign(asdl_expr_seq * targets, expr_ty value, string + type_comment, int lineno, int col_offset, int end_lineno, + int end_col_offset, PyArena *arena); +stmt_ty _PyAST_TypeAlias(expr_ty name, asdl_type_param_seq * type_params, + expr_ty value, int lineno, int col_offset, int + end_lineno, int end_col_offset, PyArena *arena); +stmt_ty _PyAST_AugAssign(expr_ty target, operator_ty op, expr_ty value, int + lineno, int col_offset, int end_lineno, int + end_col_offset, PyArena *arena); +stmt_ty _PyAST_AnnAssign(expr_ty target, expr_ty annotation, expr_ty value, int + simple, int lineno, int col_offset, int end_lineno, + int end_col_offset, PyArena *arena); +stmt_ty _PyAST_For(expr_ty target, expr_ty iter, asdl_stmt_seq * body, + asdl_stmt_seq * orelse, string type_comment, int lineno, int + col_offset, int end_lineno, int end_col_offset, PyArena + *arena); +stmt_ty _PyAST_AsyncFor(expr_ty target, expr_ty iter, asdl_stmt_seq * body, + asdl_stmt_seq * orelse, string type_comment, int + lineno, int col_offset, int end_lineno, int + end_col_offset, PyArena *arena); +stmt_ty _PyAST_While(expr_ty test, asdl_stmt_seq * body, asdl_stmt_seq * + orelse, int lineno, int col_offset, int end_lineno, int + end_col_offset, PyArena *arena); +stmt_ty _PyAST_If(expr_ty test, asdl_stmt_seq * body, asdl_stmt_seq * orelse, + int lineno, int col_offset, int end_lineno, int + end_col_offset, PyArena *arena); +stmt_ty _PyAST_With(asdl_withitem_seq * items, asdl_stmt_seq * body, string + type_comment, int lineno, int col_offset, int end_lineno, + int end_col_offset, PyArena *arena); +stmt_ty _PyAST_AsyncWith(asdl_withitem_seq * items, asdl_stmt_seq * body, + string type_comment, int lineno, int col_offset, int + end_lineno, int end_col_offset, PyArena *arena); +stmt_ty _PyAST_Match(expr_ty subject, asdl_match_case_seq * cases, int lineno, + int col_offset, int end_lineno, int end_col_offset, + PyArena *arena); +stmt_ty _PyAST_Raise(expr_ty exc, expr_ty cause, int lineno, int col_offset, + int end_lineno, int end_col_offset, PyArena *arena); +stmt_ty _PyAST_Try(asdl_stmt_seq * body, asdl_excepthandler_seq * handlers, + asdl_stmt_seq * orelse, asdl_stmt_seq * finalbody, int + lineno, int col_offset, int end_lineno, int end_col_offset, + PyArena *arena); +stmt_ty _PyAST_TryStar(asdl_stmt_seq * body, asdl_excepthandler_seq * handlers, + asdl_stmt_seq * orelse, asdl_stmt_seq * finalbody, int + lineno, int col_offset, int end_lineno, int + end_col_offset, PyArena *arena); +stmt_ty _PyAST_Assert(expr_ty test, expr_ty msg, int lineno, int col_offset, + int end_lineno, int end_col_offset, PyArena *arena); +stmt_ty _PyAST_Import(asdl_alias_seq * names, int lineno, int col_offset, int + end_lineno, int end_col_offset, PyArena *arena); +stmt_ty _PyAST_ImportFrom(identifier module, asdl_alias_seq * names, int level, + int lineno, int col_offset, int end_lineno, int + end_col_offset, PyArena *arena); +stmt_ty _PyAST_Global(asdl_identifier_seq * names, int lineno, int col_offset, + int end_lineno, int end_col_offset, PyArena *arena); +stmt_ty _PyAST_Nonlocal(asdl_identifier_seq * names, int lineno, int + col_offset, int end_lineno, int end_col_offset, PyArena + *arena); +stmt_ty _PyAST_Expr(expr_ty value, int lineno, int col_offset, int end_lineno, + int end_col_offset, PyArena *arena); +stmt_ty _PyAST_Pass(int lineno, int col_offset, int end_lineno, int + end_col_offset, PyArena *arena); +stmt_ty _PyAST_Break(int lineno, int col_offset, int end_lineno, int + end_col_offset, PyArena *arena); +stmt_ty _PyAST_Continue(int lineno, int col_offset, int end_lineno, int + end_col_offset, PyArena *arena); +expr_ty _PyAST_BoolOp(boolop_ty op, asdl_expr_seq * values, int lineno, int + col_offset, int end_lineno, int end_col_offset, PyArena + *arena); +expr_ty _PyAST_NamedExpr(expr_ty target, expr_ty value, int lineno, int + col_offset, int end_lineno, int end_col_offset, + PyArena *arena); +expr_ty _PyAST_BinOp(expr_ty left, operator_ty op, expr_ty right, int lineno, + int col_offset, int end_lineno, int end_col_offset, + PyArena *arena); +expr_ty _PyAST_UnaryOp(unaryop_ty op, expr_ty operand, int lineno, int + col_offset, int end_lineno, int end_col_offset, PyArena + *arena); +expr_ty _PyAST_Lambda(arguments_ty args, expr_ty body, int lineno, int + col_offset, int end_lineno, int end_col_offset, PyArena + *arena); +expr_ty _PyAST_IfExp(expr_ty test, expr_ty body, expr_ty orelse, int lineno, + int col_offset, int end_lineno, int end_col_offset, + PyArena *arena); +expr_ty _PyAST_Dict(asdl_expr_seq * keys, asdl_expr_seq * values, int lineno, + int col_offset, int end_lineno, int end_col_offset, PyArena + *arena); +expr_ty _PyAST_Set(asdl_expr_seq * elts, int lineno, int col_offset, int + end_lineno, int end_col_offset, PyArena *arena); +expr_ty _PyAST_ListComp(expr_ty elt, asdl_comprehension_seq * generators, int + lineno, int col_offset, int end_lineno, int + end_col_offset, PyArena *arena); +expr_ty _PyAST_SetComp(expr_ty elt, asdl_comprehension_seq * generators, int + lineno, int col_offset, int end_lineno, int + end_col_offset, PyArena *arena); +expr_ty _PyAST_DictComp(expr_ty key, expr_ty value, asdl_comprehension_seq * + generators, int lineno, int col_offset, int end_lineno, + int end_col_offset, PyArena *arena); +expr_ty _PyAST_GeneratorExp(expr_ty elt, asdl_comprehension_seq * generators, + int lineno, int col_offset, int end_lineno, int + end_col_offset, PyArena *arena); +expr_ty _PyAST_Await(expr_ty value, int lineno, int col_offset, int end_lineno, + int end_col_offset, PyArena *arena); +expr_ty _PyAST_Yield(expr_ty value, int lineno, int col_offset, int end_lineno, + int end_col_offset, PyArena *arena); +expr_ty _PyAST_YieldFrom(expr_ty value, int lineno, int col_offset, int + end_lineno, int end_col_offset, PyArena *arena); +expr_ty _PyAST_Compare(expr_ty left, asdl_int_seq * ops, asdl_expr_seq * + comparators, int lineno, int col_offset, int end_lineno, + int end_col_offset, PyArena *arena); +expr_ty _PyAST_Call(expr_ty func, asdl_expr_seq * args, asdl_keyword_seq * + keywords, int lineno, int col_offset, int end_lineno, int + end_col_offset, PyArena *arena); +expr_ty _PyAST_FormattedValue(expr_ty value, int conversion, expr_ty + format_spec, int lineno, int col_offset, int + end_lineno, int end_col_offset, PyArena *arena); +expr_ty _PyAST_JoinedStr(asdl_expr_seq * values, int lineno, int col_offset, + int end_lineno, int end_col_offset, PyArena *arena); +expr_ty _PyAST_Constant(constant value, string kind, int lineno, int + col_offset, int end_lineno, int end_col_offset, PyArena + *arena); +expr_ty _PyAST_Attribute(expr_ty value, identifier attr, expr_context_ty ctx, + int lineno, int col_offset, int end_lineno, int + end_col_offset, PyArena *arena); +expr_ty _PyAST_Subscript(expr_ty value, expr_ty slice, expr_context_ty ctx, int + lineno, int col_offset, int end_lineno, int + end_col_offset, PyArena *arena); +expr_ty _PyAST_Starred(expr_ty value, expr_context_ty ctx, int lineno, int + col_offset, int end_lineno, int end_col_offset, PyArena + *arena); +expr_ty _PyAST_Name(identifier id, expr_context_ty ctx, int lineno, int + col_offset, int end_lineno, int end_col_offset, PyArena + *arena); +expr_ty _PyAST_List(asdl_expr_seq * elts, expr_context_ty ctx, int lineno, int + col_offset, int end_lineno, int end_col_offset, PyArena + *arena); +expr_ty _PyAST_Tuple(asdl_expr_seq * elts, expr_context_ty ctx, int lineno, int + col_offset, int end_lineno, int end_col_offset, PyArena + *arena); +expr_ty _PyAST_Slice(expr_ty lower, expr_ty upper, expr_ty step, int lineno, + int col_offset, int end_lineno, int end_col_offset, + PyArena *arena); +comprehension_ty _PyAST_comprehension(expr_ty target, expr_ty iter, + asdl_expr_seq * ifs, int is_async, + PyArena *arena); +excepthandler_ty _PyAST_ExceptHandler(expr_ty type, identifier name, + asdl_stmt_seq * body, int lineno, int + col_offset, int end_lineno, int + end_col_offset, PyArena *arena); +arguments_ty _PyAST_arguments(asdl_arg_seq * posonlyargs, asdl_arg_seq * args, + arg_ty vararg, asdl_arg_seq * kwonlyargs, + asdl_expr_seq * kw_defaults, arg_ty kwarg, + asdl_expr_seq * defaults, PyArena *arena); +arg_ty _PyAST_arg(identifier arg, expr_ty annotation, string type_comment, int + lineno, int col_offset, int end_lineno, int end_col_offset, + PyArena *arena); +keyword_ty _PyAST_keyword(identifier arg, expr_ty value, int lineno, int + col_offset, int end_lineno, int end_col_offset, + PyArena *arena); +alias_ty _PyAST_alias(identifier name, identifier asname, int lineno, int + col_offset, int end_lineno, int end_col_offset, PyArena + *arena); +withitem_ty _PyAST_withitem(expr_ty context_expr, expr_ty optional_vars, + PyArena *arena); +match_case_ty _PyAST_match_case(pattern_ty pattern, expr_ty guard, + asdl_stmt_seq * body, PyArena *arena); +pattern_ty _PyAST_MatchValue(expr_ty value, int lineno, int col_offset, int + end_lineno, int end_col_offset, PyArena *arena); +pattern_ty _PyAST_MatchSingleton(constant value, int lineno, int col_offset, + int end_lineno, int end_col_offset, PyArena + *arena); +pattern_ty _PyAST_MatchSequence(asdl_pattern_seq * patterns, int lineno, int + col_offset, int end_lineno, int end_col_offset, + PyArena *arena); +pattern_ty _PyAST_MatchMapping(asdl_expr_seq * keys, asdl_pattern_seq * + patterns, identifier rest, int lineno, int + col_offset, int end_lineno, int end_col_offset, + PyArena *arena); +pattern_ty _PyAST_MatchClass(expr_ty cls, asdl_pattern_seq * patterns, + asdl_identifier_seq * kwd_attrs, asdl_pattern_seq + * kwd_patterns, int lineno, int col_offset, int + end_lineno, int end_col_offset, PyArena *arena); +pattern_ty _PyAST_MatchStar(identifier name, int lineno, int col_offset, int + end_lineno, int end_col_offset, PyArena *arena); +pattern_ty _PyAST_MatchAs(pattern_ty pattern, identifier name, int lineno, int + col_offset, int end_lineno, int end_col_offset, + PyArena *arena); +pattern_ty _PyAST_MatchOr(asdl_pattern_seq * patterns, int lineno, int + col_offset, int end_lineno, int end_col_offset, + PyArena *arena); +type_ignore_ty _PyAST_TypeIgnore(int lineno, string tag, PyArena *arena); +type_param_ty _PyAST_TypeVar(identifier name, expr_ty bound, int lineno, int + col_offset, int end_lineno, int end_col_offset, + PyArena *arena); +type_param_ty _PyAST_ParamSpec(identifier name, int lineno, int col_offset, int + end_lineno, int end_col_offset, PyArena *arena); +type_param_ty _PyAST_TypeVarTuple(identifier name, int lineno, int col_offset, + int end_lineno, int end_col_offset, PyArena + *arena); + + +PyObject* PyAST_mod2obj(mod_ty t); +mod_ty PyAST_obj2mod(PyObject* ast, PyArena* arena, int mode); +int PyAST_Check(PyObject* obj); + +extern int _PyAST_Validate(mod_ty); + +/* _PyAST_ExprAsUnicode is defined in ast_unparse.c */ +extern PyObject* _PyAST_ExprAsUnicode(expr_ty); + +/* Return the borrowed reference to the first literal string in the + sequence of statements or NULL if it doesn't start from a literal string. + Doesn't set exception. */ +extern PyObject* _PyAST_GetDocString(asdl_stmt_seq *); + +#ifdef __cplusplus +} +#endif +#endif /* !Py_INTERNAL_AST_H */ diff --git a/_Pre_Builds/_Python312_cpp/include/internal/pycore_ast_state.h b/_Pre_Builds/_Python312_cpp/include/internal/pycore_ast_state.h new file mode 100644 index 0000000..863c73b --- /dev/null +++ b/_Pre_Builds/_Python312_cpp/include/internal/pycore_ast_state.h @@ -0,0 +1,265 @@ +// File automatically generated by Parser/asdl_c.py. + +#ifndef Py_INTERNAL_AST_STATE_H +#define Py_INTERNAL_AST_STATE_H +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef Py_BUILD_CORE +# error "this header requires Py_BUILD_CORE define" +#endif + +struct ast_state { + int initialized; + int unused_recursion_depth; + int unused_recursion_limit; + PyObject *AST_type; + PyObject *Add_singleton; + PyObject *Add_type; + PyObject *And_singleton; + PyObject *And_type; + PyObject *AnnAssign_type; + PyObject *Assert_type; + PyObject *Assign_type; + PyObject *AsyncFor_type; + PyObject *AsyncFunctionDef_type; + PyObject *AsyncWith_type; + PyObject *Attribute_type; + PyObject *AugAssign_type; + PyObject *Await_type; + PyObject *BinOp_type; + PyObject *BitAnd_singleton; + PyObject *BitAnd_type; + PyObject *BitOr_singleton; + PyObject *BitOr_type; + PyObject *BitXor_singleton; + PyObject *BitXor_type; + PyObject *BoolOp_type; + PyObject *Break_type; + PyObject *Call_type; + PyObject *ClassDef_type; + PyObject *Compare_type; + PyObject *Constant_type; + PyObject *Continue_type; + PyObject *Del_singleton; + PyObject *Del_type; + PyObject *Delete_type; + PyObject *DictComp_type; + PyObject *Dict_type; + PyObject *Div_singleton; + PyObject *Div_type; + PyObject *Eq_singleton; + PyObject *Eq_type; + PyObject *ExceptHandler_type; + PyObject *Expr_type; + PyObject *Expression_type; + PyObject *FloorDiv_singleton; + PyObject *FloorDiv_type; + PyObject *For_type; + PyObject *FormattedValue_type; + PyObject *FunctionDef_type; + PyObject *FunctionType_type; + PyObject *GeneratorExp_type; + PyObject *Global_type; + PyObject *GtE_singleton; + PyObject *GtE_type; + PyObject *Gt_singleton; + PyObject *Gt_type; + PyObject *IfExp_type; + PyObject *If_type; + PyObject *ImportFrom_type; + PyObject *Import_type; + PyObject *In_singleton; + PyObject *In_type; + PyObject *Interactive_type; + PyObject *Invert_singleton; + PyObject *Invert_type; + PyObject *IsNot_singleton; + PyObject *IsNot_type; + PyObject *Is_singleton; + PyObject *Is_type; + PyObject *JoinedStr_type; + PyObject *LShift_singleton; + PyObject *LShift_type; + PyObject *Lambda_type; + PyObject *ListComp_type; + PyObject *List_type; + PyObject *Load_singleton; + PyObject *Load_type; + PyObject *LtE_singleton; + PyObject *LtE_type; + PyObject *Lt_singleton; + PyObject *Lt_type; + PyObject *MatMult_singleton; + PyObject *MatMult_type; + PyObject *MatchAs_type; + PyObject *MatchClass_type; + PyObject *MatchMapping_type; + PyObject *MatchOr_type; + PyObject *MatchSequence_type; + PyObject *MatchSingleton_type; + PyObject *MatchStar_type; + PyObject *MatchValue_type; + PyObject *Match_type; + PyObject *Mod_singleton; + PyObject *Mod_type; + PyObject *Module_type; + PyObject *Mult_singleton; + PyObject *Mult_type; + PyObject *Name_type; + PyObject *NamedExpr_type; + PyObject *Nonlocal_type; + PyObject *NotEq_singleton; + PyObject *NotEq_type; + PyObject *NotIn_singleton; + PyObject *NotIn_type; + PyObject *Not_singleton; + PyObject *Not_type; + PyObject *Or_singleton; + PyObject *Or_type; + PyObject *ParamSpec_type; + PyObject *Pass_type; + PyObject *Pow_singleton; + PyObject *Pow_type; + PyObject *RShift_singleton; + PyObject *RShift_type; + PyObject *Raise_type; + PyObject *Return_type; + PyObject *SetComp_type; + PyObject *Set_type; + PyObject *Slice_type; + PyObject *Starred_type; + PyObject *Store_singleton; + PyObject *Store_type; + PyObject *Sub_singleton; + PyObject *Sub_type; + PyObject *Subscript_type; + PyObject *TryStar_type; + PyObject *Try_type; + PyObject *Tuple_type; + PyObject *TypeAlias_type; + PyObject *TypeIgnore_type; + PyObject *TypeVarTuple_type; + PyObject *TypeVar_type; + PyObject *UAdd_singleton; + PyObject *UAdd_type; + PyObject *USub_singleton; + PyObject *USub_type; + PyObject *UnaryOp_type; + PyObject *While_type; + PyObject *With_type; + PyObject *YieldFrom_type; + PyObject *Yield_type; + PyObject *__dict__; + PyObject *__doc__; + PyObject *__match_args__; + PyObject *__module__; + PyObject *_attributes; + PyObject *_fields; + PyObject *alias_type; + PyObject *annotation; + PyObject *arg; + PyObject *arg_type; + PyObject *args; + PyObject *argtypes; + PyObject *arguments_type; + PyObject *asname; + PyObject *ast; + PyObject *attr; + PyObject *bases; + PyObject *body; + PyObject *boolop_type; + PyObject *bound; + PyObject *cases; + PyObject *cause; + PyObject *cls; + PyObject *cmpop_type; + PyObject *col_offset; + PyObject *comparators; + PyObject *comprehension_type; + PyObject *context_expr; + PyObject *conversion; + PyObject *ctx; + PyObject *decorator_list; + PyObject *defaults; + PyObject *elt; + PyObject *elts; + PyObject *end_col_offset; + PyObject *end_lineno; + PyObject *exc; + PyObject *excepthandler_type; + PyObject *expr_context_type; + PyObject *expr_type; + PyObject *finalbody; + PyObject *format_spec; + PyObject *func; + PyObject *generators; + PyObject *guard; + PyObject *handlers; + PyObject *id; + PyObject *ifs; + PyObject *is_async; + PyObject *items; + PyObject *iter; + PyObject *key; + PyObject *keys; + PyObject *keyword_type; + PyObject *keywords; + PyObject *kind; + PyObject *kw_defaults; + PyObject *kwarg; + PyObject *kwd_attrs; + PyObject *kwd_patterns; + PyObject *kwonlyargs; + PyObject *left; + PyObject *level; + PyObject *lineno; + PyObject *lower; + PyObject *match_case_type; + PyObject *mod_type; + PyObject *module; + PyObject *msg; + PyObject *name; + PyObject *names; + PyObject *op; + PyObject *operand; + PyObject *operator_type; + PyObject *ops; + PyObject *optional_vars; + PyObject *orelse; + PyObject *pattern; + PyObject *pattern_type; + PyObject *patterns; + PyObject *posonlyargs; + PyObject *rest; + PyObject *returns; + PyObject *right; + PyObject *simple; + PyObject *slice; + PyObject *step; + PyObject *stmt_type; + PyObject *subject; + PyObject *tag; + PyObject *target; + PyObject *targets; + PyObject *test; + PyObject *type; + PyObject *type_comment; + PyObject *type_ignore_type; + PyObject *type_ignores; + PyObject *type_param_type; + PyObject *type_params; + PyObject *unaryop_type; + PyObject *upper; + PyObject *value; + PyObject *values; + PyObject *vararg; + PyObject *withitem_type; +}; + +#ifdef __cplusplus +} +#endif +#endif /* !Py_INTERNAL_AST_STATE_H */ + diff --git a/_Pre_Builds/_Python312_cpp/include/internal/pycore_atexit.h b/_Pre_Builds/_Python312_cpp/include/internal/pycore_atexit.h new file mode 100644 index 0000000..63a2cd5 --- /dev/null +++ b/_Pre_Builds/_Python312_cpp/include/internal/pycore_atexit.h @@ -0,0 +1,57 @@ +#ifndef Py_INTERNAL_ATEXIT_H +#define Py_INTERNAL_ATEXIT_H +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef Py_BUILD_CORE +# error "this header requires Py_BUILD_CORE define" +#endif + + +//############### +// runtime atexit + +typedef void (*atexit_callbackfunc)(void); + +struct _atexit_runtime_state { + PyThread_type_lock mutex; +#define NEXITFUNCS 32 + atexit_callbackfunc callbacks[NEXITFUNCS]; + int ncallbacks; +}; + + +//################### +// interpreter atexit + +struct atexit_callback; +typedef struct atexit_callback { + atexit_datacallbackfunc func; + void *data; + struct atexit_callback *next; +} atexit_callback; + +typedef struct { + PyObject *func; + PyObject *args; + PyObject *kwargs; +} atexit_py_callback; + +struct atexit_state { + atexit_callback *ll_callbacks; + atexit_callback *last_ll_callback; + + // XXX The rest of the state could be moved to the atexit module state + // and a low-level callback added for it during module exec. + // For the moment we leave it here. + atexit_py_callback **callbacks; + int ncallbacks; + int callback_len; +}; + + +#ifdef __cplusplus +} +#endif +#endif /* !Py_INTERNAL_ATEXIT_H */ diff --git a/_Pre_Builds/_Python312_cpp/include/internal/pycore_atomic.h b/_Pre_Builds/_Python312_cpp/include/internal/pycore_atomic.h new file mode 100644 index 0000000..425d69f --- /dev/null +++ b/_Pre_Builds/_Python312_cpp/include/internal/pycore_atomic.h @@ -0,0 +1,557 @@ +#ifndef Py_ATOMIC_H +#define Py_ATOMIC_H +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef Py_BUILD_CORE +# error "this header requires Py_BUILD_CORE define" +#endif + +#include "dynamic_annotations.h" /* _Py_ANNOTATE_MEMORY_ORDER */ +#include "pyconfig.h" + +#ifdef HAVE_STD_ATOMIC +# include +#endif + + +#if defined(_MSC_VER) +#include +#if defined(_M_IX86) || defined(_M_X64) +# include +#endif +#endif + +/* This is modeled after the atomics interface from C1x, according to + * the draft at + * http://www.open-std.org/JTC1/SC22/wg14/www/docs/n1425.pdf. + * Operations and types are named the same except with a _Py_ prefix + * and have the same semantics. + * + * Beware, the implementations here are deep magic. + */ + +#if defined(HAVE_STD_ATOMIC) + +typedef enum _Py_memory_order { + _Py_memory_order_relaxed = memory_order_relaxed, + _Py_memory_order_acquire = memory_order_acquire, + _Py_memory_order_release = memory_order_release, + _Py_memory_order_acq_rel = memory_order_acq_rel, + _Py_memory_order_seq_cst = memory_order_seq_cst +} _Py_memory_order; + +typedef struct _Py_atomic_address { + atomic_uintptr_t _value; +} _Py_atomic_address; + +typedef struct _Py_atomic_int { + atomic_int _value; +} _Py_atomic_int; + +#define _Py_atomic_signal_fence(/*memory_order*/ ORDER) \ + atomic_signal_fence(ORDER) + +#define _Py_atomic_thread_fence(/*memory_order*/ ORDER) \ + atomic_thread_fence(ORDER) + +#define _Py_atomic_store_explicit(ATOMIC_VAL, NEW_VAL, ORDER) \ + atomic_store_explicit(&((ATOMIC_VAL)->_value), NEW_VAL, ORDER) + +#define _Py_atomic_load_explicit(ATOMIC_VAL, ORDER) \ + atomic_load_explicit(&((ATOMIC_VAL)->_value), ORDER) + +// Use builtin atomic operations in GCC >= 4.7 and clang +#elif defined(HAVE_BUILTIN_ATOMIC) + +typedef enum _Py_memory_order { + _Py_memory_order_relaxed = __ATOMIC_RELAXED, + _Py_memory_order_acquire = __ATOMIC_ACQUIRE, + _Py_memory_order_release = __ATOMIC_RELEASE, + _Py_memory_order_acq_rel = __ATOMIC_ACQ_REL, + _Py_memory_order_seq_cst = __ATOMIC_SEQ_CST +} _Py_memory_order; + +typedef struct _Py_atomic_address { + uintptr_t _value; +} _Py_atomic_address; + +typedef struct _Py_atomic_int { + int _value; +} _Py_atomic_int; + +#define _Py_atomic_signal_fence(/*memory_order*/ ORDER) \ + __atomic_signal_fence(ORDER) + +#define _Py_atomic_thread_fence(/*memory_order*/ ORDER) \ + __atomic_thread_fence(ORDER) + +#define _Py_atomic_store_explicit(ATOMIC_VAL, NEW_VAL, ORDER) \ + (assert((ORDER) == __ATOMIC_RELAXED \ + || (ORDER) == __ATOMIC_SEQ_CST \ + || (ORDER) == __ATOMIC_RELEASE), \ + __atomic_store_n(&((ATOMIC_VAL)->_value), NEW_VAL, ORDER)) + +#define _Py_atomic_load_explicit(ATOMIC_VAL, ORDER) \ + (assert((ORDER) == __ATOMIC_RELAXED \ + || (ORDER) == __ATOMIC_SEQ_CST \ + || (ORDER) == __ATOMIC_ACQUIRE \ + || (ORDER) == __ATOMIC_CONSUME), \ + __atomic_load_n(&((ATOMIC_VAL)->_value), ORDER)) + +/* Only support GCC (for expression statements) and x86 (for simple + * atomic semantics) and MSVC x86/x64/ARM */ +#elif defined(__GNUC__) && (defined(__i386__) || defined(__amd64)) +typedef enum _Py_memory_order { + _Py_memory_order_relaxed, + _Py_memory_order_acquire, + _Py_memory_order_release, + _Py_memory_order_acq_rel, + _Py_memory_order_seq_cst +} _Py_memory_order; + +typedef struct _Py_atomic_address { + uintptr_t _value; +} _Py_atomic_address; + +typedef struct _Py_atomic_int { + int _value; +} _Py_atomic_int; + + +static __inline__ void +_Py_atomic_signal_fence(_Py_memory_order order) +{ + if (order != _Py_memory_order_relaxed) + __asm__ volatile("":::"memory"); +} + +static __inline__ void +_Py_atomic_thread_fence(_Py_memory_order order) +{ + if (order != _Py_memory_order_relaxed) + __asm__ volatile("mfence":::"memory"); +} + +/* Tell the race checker about this operation's effects. */ +static __inline__ void +_Py_ANNOTATE_MEMORY_ORDER(const volatile void *address, _Py_memory_order order) +{ + (void)address; /* shut up -Wunused-parameter */ + switch(order) { + case _Py_memory_order_release: + case _Py_memory_order_acq_rel: + case _Py_memory_order_seq_cst: + _Py_ANNOTATE_HAPPENS_BEFORE(address); + break; + case _Py_memory_order_relaxed: + case _Py_memory_order_acquire: + break; + } + switch(order) { + case _Py_memory_order_acquire: + case _Py_memory_order_acq_rel: + case _Py_memory_order_seq_cst: + _Py_ANNOTATE_HAPPENS_AFTER(address); + break; + case _Py_memory_order_relaxed: + case _Py_memory_order_release: + break; + } +} + +#define _Py_atomic_store_explicit(ATOMIC_VAL, NEW_VAL, ORDER) \ + __extension__ ({ \ + __typeof__(ATOMIC_VAL) atomic_val = ATOMIC_VAL; \ + __typeof__(atomic_val->_value) new_val = NEW_VAL;\ + volatile __typeof__(new_val) *volatile_data = &atomic_val->_value; \ + _Py_memory_order order = ORDER; \ + _Py_ANNOTATE_MEMORY_ORDER(atomic_val, order); \ + \ + /* Perform the operation. */ \ + _Py_ANNOTATE_IGNORE_WRITES_BEGIN(); \ + switch(order) { \ + case _Py_memory_order_release: \ + _Py_atomic_signal_fence(_Py_memory_order_release); \ + /* fallthrough */ \ + case _Py_memory_order_relaxed: \ + *volatile_data = new_val; \ + break; \ + \ + case _Py_memory_order_acquire: \ + case _Py_memory_order_acq_rel: \ + case _Py_memory_order_seq_cst: \ + __asm__ volatile("xchg %0, %1" \ + : "+r"(new_val) \ + : "m"(atomic_val->_value) \ + : "memory"); \ + break; \ + } \ + _Py_ANNOTATE_IGNORE_WRITES_END(); \ + }) + +#define _Py_atomic_load_explicit(ATOMIC_VAL, ORDER) \ + __extension__ ({ \ + __typeof__(ATOMIC_VAL) atomic_val = ATOMIC_VAL; \ + __typeof__(atomic_val->_value) result; \ + volatile __typeof__(result) *volatile_data = &atomic_val->_value; \ + _Py_memory_order order = ORDER; \ + _Py_ANNOTATE_MEMORY_ORDER(atomic_val, order); \ + \ + /* Perform the operation. */ \ + _Py_ANNOTATE_IGNORE_READS_BEGIN(); \ + switch(order) { \ + case _Py_memory_order_release: \ + case _Py_memory_order_acq_rel: \ + case _Py_memory_order_seq_cst: \ + /* Loads on x86 are not releases by default, so need a */ \ + /* thread fence. */ \ + _Py_atomic_thread_fence(_Py_memory_order_release); \ + break; \ + default: \ + /* No fence */ \ + break; \ + } \ + result = *volatile_data; \ + switch(order) { \ + case _Py_memory_order_acquire: \ + case _Py_memory_order_acq_rel: \ + case _Py_memory_order_seq_cst: \ + /* Loads on x86 are automatically acquire operations so */ \ + /* can get by with just a compiler fence. */ \ + _Py_atomic_signal_fence(_Py_memory_order_acquire); \ + break; \ + default: \ + /* No fence */ \ + break; \ + } \ + _Py_ANNOTATE_IGNORE_READS_END(); \ + result; \ + }) + +#elif defined(_MSC_VER) +/* _Interlocked* functions provide a full memory barrier and are therefore + enough for acq_rel and seq_cst. If the HLE variants aren't available + in hardware they will fall back to a full memory barrier as well. + + This might affect performance but likely only in some very specific and + hard to measure scenario. +*/ +#if defined(_M_IX86) || defined(_M_X64) +typedef enum _Py_memory_order { + _Py_memory_order_relaxed, + _Py_memory_order_acquire, + _Py_memory_order_release, + _Py_memory_order_acq_rel, + _Py_memory_order_seq_cst +} _Py_memory_order; + +typedef struct _Py_atomic_address { + volatile uintptr_t _value; +} _Py_atomic_address; + +typedef struct _Py_atomic_int { + volatile int _value; +} _Py_atomic_int; + + +#if defined(_M_X64) +#define _Py_atomic_store_64bit(ATOMIC_VAL, NEW_VAL, ORDER) \ + switch (ORDER) { \ + case _Py_memory_order_acquire: \ + _InterlockedExchange64_HLEAcquire((__int64 volatile*)&((ATOMIC_VAL)->_value), (__int64)(NEW_VAL)); \ + break; \ + case _Py_memory_order_release: \ + _InterlockedExchange64_HLERelease((__int64 volatile*)&((ATOMIC_VAL)->_value), (__int64)(NEW_VAL)); \ + break; \ + default: \ + _InterlockedExchange64((__int64 volatile*)&((ATOMIC_VAL)->_value), (__int64)(NEW_VAL)); \ + break; \ + } +#else +#define _Py_atomic_store_64bit(ATOMIC_VAL, NEW_VAL, ORDER) ((void)0); +#endif + +#define _Py_atomic_store_32bit(ATOMIC_VAL, NEW_VAL, ORDER) \ + switch (ORDER) { \ + case _Py_memory_order_acquire: \ + _InterlockedExchange_HLEAcquire((volatile long*)&((ATOMIC_VAL)->_value), (int)(NEW_VAL)); \ + break; \ + case _Py_memory_order_release: \ + _InterlockedExchange_HLERelease((volatile long*)&((ATOMIC_VAL)->_value), (int)(NEW_VAL)); \ + break; \ + default: \ + _InterlockedExchange((volatile long*)&((ATOMIC_VAL)->_value), (int)(NEW_VAL)); \ + break; \ + } + +#if defined(_M_X64) +/* This has to be an intptr_t for now. + gil_created() uses -1 as a sentinel value, if this returns + a uintptr_t it will do an unsigned compare and crash +*/ +inline intptr_t _Py_atomic_load_64bit_impl(volatile uintptr_t* value, int order) { + __int64 old; + switch (order) { + case _Py_memory_order_acquire: + { + do { + old = *value; + } while(_InterlockedCompareExchange64_HLEAcquire((volatile __int64*)value, old, old) != old); + break; + } + case _Py_memory_order_release: + { + do { + old = *value; + } while(_InterlockedCompareExchange64_HLERelease((volatile __int64*)value, old, old) != old); + break; + } + case _Py_memory_order_relaxed: + old = *value; + break; + default: + { + do { + old = *value; + } while(_InterlockedCompareExchange64((volatile __int64*)value, old, old) != old); + break; + } + } + return old; +} + +#define _Py_atomic_load_64bit(ATOMIC_VAL, ORDER) \ + _Py_atomic_load_64bit_impl((volatile uintptr_t*)&((ATOMIC_VAL)->_value), (ORDER)) + +#else +#define _Py_atomic_load_64bit(ATOMIC_VAL, ORDER) ((ATOMIC_VAL)->_value) +#endif + +inline int _Py_atomic_load_32bit_impl(volatile int* value, int order) { + long old; + switch (order) { + case _Py_memory_order_acquire: + { + do { + old = *value; + } while(_InterlockedCompareExchange_HLEAcquire((volatile long*)value, old, old) != old); + break; + } + case _Py_memory_order_release: + { + do { + old = *value; + } while(_InterlockedCompareExchange_HLERelease((volatile long*)value, old, old) != old); + break; + } + case _Py_memory_order_relaxed: + old = *value; + break; + default: + { + do { + old = *value; + } while(_InterlockedCompareExchange((volatile long*)value, old, old) != old); + break; + } + } + return old; +} + +#define _Py_atomic_load_32bit(ATOMIC_VAL, ORDER) \ + _Py_atomic_load_32bit_impl((volatile int*)&((ATOMIC_VAL)->_value), (ORDER)) + +#define _Py_atomic_store_explicit(ATOMIC_VAL, NEW_VAL, ORDER) \ + if (sizeof((ATOMIC_VAL)->_value) == 8) { \ + _Py_atomic_store_64bit((ATOMIC_VAL), NEW_VAL, ORDER) } else { \ + _Py_atomic_store_32bit((ATOMIC_VAL), NEW_VAL, ORDER) } + +#define _Py_atomic_load_explicit(ATOMIC_VAL, ORDER) \ + ( \ + sizeof((ATOMIC_VAL)->_value) == 8 ? \ + _Py_atomic_load_64bit((ATOMIC_VAL), ORDER) : \ + _Py_atomic_load_32bit((ATOMIC_VAL), ORDER) \ + ) +#elif defined(_M_ARM) || defined(_M_ARM64) +typedef enum _Py_memory_order { + _Py_memory_order_relaxed, + _Py_memory_order_acquire, + _Py_memory_order_release, + _Py_memory_order_acq_rel, + _Py_memory_order_seq_cst +} _Py_memory_order; + +typedef struct _Py_atomic_address { + volatile uintptr_t _value; +} _Py_atomic_address; + +typedef struct _Py_atomic_int { + volatile int _value; +} _Py_atomic_int; + + +#if defined(_M_ARM64) +#define _Py_atomic_store_64bit(ATOMIC_VAL, NEW_VAL, ORDER) \ + switch (ORDER) { \ + case _Py_memory_order_acquire: \ + _InterlockedExchange64_acq((__int64 volatile*)&((ATOMIC_VAL)->_value), (__int64)NEW_VAL); \ + break; \ + case _Py_memory_order_release: \ + _InterlockedExchange64_rel((__int64 volatile*)&((ATOMIC_VAL)->_value), (__int64)NEW_VAL); \ + break; \ + default: \ + _InterlockedExchange64((__int64 volatile*)&((ATOMIC_VAL)->_value), (__int64)NEW_VAL); \ + break; \ + } +#else +#define _Py_atomic_store_64bit(ATOMIC_VAL, NEW_VAL, ORDER) ((void)0); +#endif + +#define _Py_atomic_store_32bit(ATOMIC_VAL, NEW_VAL, ORDER) \ + switch (ORDER) { \ + case _Py_memory_order_acquire: \ + _InterlockedExchange_acq((volatile long*)&((ATOMIC_VAL)->_value), (int)NEW_VAL); \ + break; \ + case _Py_memory_order_release: \ + _InterlockedExchange_rel((volatile long*)&((ATOMIC_VAL)->_value), (int)NEW_VAL); \ + break; \ + default: \ + _InterlockedExchange((volatile long*)&((ATOMIC_VAL)->_value), (int)NEW_VAL); \ + break; \ + } + +#if defined(_M_ARM64) +/* This has to be an intptr_t for now. + gil_created() uses -1 as a sentinel value, if this returns + a uintptr_t it will do an unsigned compare and crash +*/ +inline intptr_t _Py_atomic_load_64bit_impl(volatile uintptr_t* value, int order) { + uintptr_t old; + switch (order) { + case _Py_memory_order_acquire: + { + do { + old = *value; + } while(_InterlockedCompareExchange64_acq(value, old, old) != old); + break; + } + case _Py_memory_order_release: + { + do { + old = *value; + } while(_InterlockedCompareExchange64_rel(value, old, old) != old); + break; + } + case _Py_memory_order_relaxed: + old = *value; + break; + default: + { + do { + old = *value; + } while(_InterlockedCompareExchange64(value, old, old) != old); + break; + } + } + return old; +} + +#define _Py_atomic_load_64bit(ATOMIC_VAL, ORDER) \ + _Py_atomic_load_64bit_impl((volatile uintptr_t*)&((ATOMIC_VAL)->_value), (ORDER)) + +#else +#define _Py_atomic_load_64bit(ATOMIC_VAL, ORDER) ((ATOMIC_VAL)->_value) +#endif + +inline int _Py_atomic_load_32bit_impl(volatile int* value, int order) { + int old; + switch (order) { + case _Py_memory_order_acquire: + { + do { + old = *value; + } while(_InterlockedCompareExchange_acq(value, old, old) != old); + break; + } + case _Py_memory_order_release: + { + do { + old = *value; + } while(_InterlockedCompareExchange_rel(value, old, old) != old); + break; + } + case _Py_memory_order_relaxed: + old = *value; + break; + default: + { + do { + old = *value; + } while(_InterlockedCompareExchange(value, old, old) != old); + break; + } + } + return old; +} + +#define _Py_atomic_load_32bit(ATOMIC_VAL, ORDER) \ + _Py_atomic_load_32bit_impl((volatile int*)&((ATOMIC_VAL)->_value), (ORDER)) + +#define _Py_atomic_store_explicit(ATOMIC_VAL, NEW_VAL, ORDER) \ + if (sizeof((ATOMIC_VAL)->_value) == 8) { \ + _Py_atomic_store_64bit((ATOMIC_VAL), (NEW_VAL), (ORDER)) } else { \ + _Py_atomic_store_32bit((ATOMIC_VAL), (NEW_VAL), (ORDER)) } + +#define _Py_atomic_load_explicit(ATOMIC_VAL, ORDER) \ + ( \ + sizeof((ATOMIC_VAL)->_value) == 8 ? \ + _Py_atomic_load_64bit((ATOMIC_VAL), (ORDER)) : \ + _Py_atomic_load_32bit((ATOMIC_VAL), (ORDER)) \ + ) +#endif +#else /* !gcc x86 !_msc_ver */ +typedef enum _Py_memory_order { + _Py_memory_order_relaxed, + _Py_memory_order_acquire, + _Py_memory_order_release, + _Py_memory_order_acq_rel, + _Py_memory_order_seq_cst +} _Py_memory_order; + +typedef struct _Py_atomic_address { + uintptr_t _value; +} _Py_atomic_address; + +typedef struct _Py_atomic_int { + int _value; +} _Py_atomic_int; +/* Fall back to other compilers and processors by assuming that simple + volatile accesses are atomic. This is false, so people should port + this. */ +#define _Py_atomic_signal_fence(/*memory_order*/ ORDER) ((void)0) +#define _Py_atomic_thread_fence(/*memory_order*/ ORDER) ((void)0) +#define _Py_atomic_store_explicit(ATOMIC_VAL, NEW_VAL, ORDER) \ + ((ATOMIC_VAL)->_value = NEW_VAL) +#define _Py_atomic_load_explicit(ATOMIC_VAL, ORDER) \ + ((ATOMIC_VAL)->_value) +#endif + +/* Standardized shortcuts. */ +#define _Py_atomic_store(ATOMIC_VAL, NEW_VAL) \ + _Py_atomic_store_explicit((ATOMIC_VAL), (NEW_VAL), _Py_memory_order_seq_cst) +#define _Py_atomic_load(ATOMIC_VAL) \ + _Py_atomic_load_explicit((ATOMIC_VAL), _Py_memory_order_seq_cst) + +/* Python-local extensions */ + +#define _Py_atomic_store_relaxed(ATOMIC_VAL, NEW_VAL) \ + _Py_atomic_store_explicit((ATOMIC_VAL), (NEW_VAL), _Py_memory_order_relaxed) +#define _Py_atomic_load_relaxed(ATOMIC_VAL) \ + _Py_atomic_load_explicit((ATOMIC_VAL), _Py_memory_order_relaxed) + +#ifdef __cplusplus +} +#endif +#endif /* Py_ATOMIC_H */ diff --git a/_Pre_Builds/_Python312_cpp/include/internal/pycore_atomic_funcs.h b/_Pre_Builds/_Python312_cpp/include/internal/pycore_atomic_funcs.h new file mode 100644 index 0000000..a708789 --- /dev/null +++ b/_Pre_Builds/_Python312_cpp/include/internal/pycore_atomic_funcs.h @@ -0,0 +1,94 @@ +/* Atomic functions: similar to pycore_atomic.h, but don't need + to declare variables as atomic. + + Py_ssize_t type: + + * value = _Py_atomic_size_get(&var) + * _Py_atomic_size_set(&var, value) + + Use sequentially-consistent ordering (__ATOMIC_SEQ_CST memory order): + enforce total ordering with all other atomic functions. +*/ +#ifndef Py_ATOMIC_FUNC_H +#define Py_ATOMIC_FUNC_H +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef Py_BUILD_CORE +# error "this header requires Py_BUILD_CORE define" +#endif + +#if defined(_MSC_VER) +# include // _InterlockedExchange() +#endif + + +// Use builtin atomic operations in GCC >= 4.7 and clang +#ifdef HAVE_BUILTIN_ATOMIC + +static inline Py_ssize_t _Py_atomic_size_get(Py_ssize_t *var) +{ + return __atomic_load_n(var, __ATOMIC_SEQ_CST); +} + +static inline void _Py_atomic_size_set(Py_ssize_t *var, Py_ssize_t value) +{ + __atomic_store_n(var, value, __ATOMIC_SEQ_CST); +} + +#elif defined(_MSC_VER) + +static inline Py_ssize_t _Py_atomic_size_get(Py_ssize_t *var) +{ +#if SIZEOF_VOID_P == 8 + Py_BUILD_ASSERT(sizeof(__int64) == sizeof(*var)); + volatile __int64 *volatile_var = (volatile __int64 *)var; + __int64 old; + do { + old = *volatile_var; + } while(_InterlockedCompareExchange64(volatile_var, old, old) != old); +#else + Py_BUILD_ASSERT(sizeof(long) == sizeof(*var)); + volatile long *volatile_var = (volatile long *)var; + long old; + do { + old = *volatile_var; + } while(_InterlockedCompareExchange(volatile_var, old, old) != old); +#endif + return old; +} + +static inline void _Py_atomic_size_set(Py_ssize_t *var, Py_ssize_t value) +{ +#if SIZEOF_VOID_P == 8 + Py_BUILD_ASSERT(sizeof(__int64) == sizeof(*var)); + volatile __int64 *volatile_var = (volatile __int64 *)var; + _InterlockedExchange64(volatile_var, value); +#else + Py_BUILD_ASSERT(sizeof(long) == sizeof(*var)); + volatile long *volatile_var = (volatile long *)var; + _InterlockedExchange(volatile_var, value); +#endif +} + +#else +// Fallback implementation using volatile + +static inline Py_ssize_t _Py_atomic_size_get(Py_ssize_t *var) +{ + volatile Py_ssize_t *volatile_var = (volatile Py_ssize_t *)var; + return *volatile_var; +} + +static inline void _Py_atomic_size_set(Py_ssize_t *var, Py_ssize_t value) +{ + volatile Py_ssize_t *volatile_var = (volatile Py_ssize_t *)var; + *volatile_var = value; +} +#endif + +#ifdef __cplusplus +} +#endif +#endif /* Py_ATOMIC_FUNC_H */ diff --git a/_Pre_Builds/_Python312_cpp/include/internal/pycore_bitutils.h b/_Pre_Builds/_Python312_cpp/include/internal/pycore_bitutils.h new file mode 100644 index 0000000..e6bf61e --- /dev/null +++ b/_Pre_Builds/_Python312_cpp/include/internal/pycore_bitutils.h @@ -0,0 +1,186 @@ +/* Bit and bytes utilities. + + Bytes swap functions, reverse order of bytes: + + - _Py_bswap16(uint16_t) + - _Py_bswap32(uint32_t) + - _Py_bswap64(uint64_t) +*/ + +#ifndef Py_INTERNAL_BITUTILS_H +#define Py_INTERNAL_BITUTILS_H +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef Py_BUILD_CORE +# error "this header requires Py_BUILD_CORE define" +#endif + +#if defined(__GNUC__) \ + && ((__GNUC__ >= 5) || (__GNUC__ == 4) && (__GNUC_MINOR__ >= 8)) + /* __builtin_bswap16() is available since GCC 4.8, + __builtin_bswap32() is available since GCC 4.3, + __builtin_bswap64() is available since GCC 4.3. */ +# define _PY_HAVE_BUILTIN_BSWAP +#endif + +#ifdef _MSC_VER + /* Get _byteswap_ushort(), _byteswap_ulong(), _byteswap_uint64() */ +# include +#endif + +static inline uint16_t +_Py_bswap16(uint16_t word) +{ +#if defined(_PY_HAVE_BUILTIN_BSWAP) || _Py__has_builtin(__builtin_bswap16) + return __builtin_bswap16(word); +#elif defined(_MSC_VER) + Py_BUILD_ASSERT(sizeof(word) == sizeof(unsigned short)); + return _byteswap_ushort(word); +#else + // Portable implementation which doesn't rely on circular bit shift + return ( ((word & UINT16_C(0x00FF)) << 8) + | ((word & UINT16_C(0xFF00)) >> 8)); +#endif +} + +static inline uint32_t +_Py_bswap32(uint32_t word) +{ +#if defined(_PY_HAVE_BUILTIN_BSWAP) || _Py__has_builtin(__builtin_bswap32) + return __builtin_bswap32(word); +#elif defined(_MSC_VER) + Py_BUILD_ASSERT(sizeof(word) == sizeof(unsigned long)); + return _byteswap_ulong(word); +#else + // Portable implementation which doesn't rely on circular bit shift + return ( ((word & UINT32_C(0x000000FF)) << 24) + | ((word & UINT32_C(0x0000FF00)) << 8) + | ((word & UINT32_C(0x00FF0000)) >> 8) + | ((word & UINT32_C(0xFF000000)) >> 24)); +#endif +} + +static inline uint64_t +_Py_bswap64(uint64_t word) +{ +#if defined(_PY_HAVE_BUILTIN_BSWAP) || _Py__has_builtin(__builtin_bswap64) + return __builtin_bswap64(word); +#elif defined(_MSC_VER) + return _byteswap_uint64(word); +#else + // Portable implementation which doesn't rely on circular bit shift + return ( ((word & UINT64_C(0x00000000000000FF)) << 56) + | ((word & UINT64_C(0x000000000000FF00)) << 40) + | ((word & UINT64_C(0x0000000000FF0000)) << 24) + | ((word & UINT64_C(0x00000000FF000000)) << 8) + | ((word & UINT64_C(0x000000FF00000000)) >> 8) + | ((word & UINT64_C(0x0000FF0000000000)) >> 24) + | ((word & UINT64_C(0x00FF000000000000)) >> 40) + | ((word & UINT64_C(0xFF00000000000000)) >> 56)); +#endif +} + + +// Population count: count the number of 1's in 'x' +// (number of bits set to 1), also known as the hamming weight. +// +// Implementation note. CPUID is not used, to test if x86 POPCNT instruction +// can be used, to keep the implementation simple. For example, Visual Studio +// __popcnt() is not used this reason. The clang and GCC builtin function can +// use the x86 POPCNT instruction if the target architecture has SSE4a or +// newer. +static inline int +_Py_popcount32(uint32_t x) +{ +#if (defined(__clang__) || defined(__GNUC__)) + +#if SIZEOF_INT >= 4 + Py_BUILD_ASSERT(sizeof(x) <= sizeof(unsigned int)); + return __builtin_popcount(x); +#else + // The C standard guarantees that unsigned long will always be big enough + // to hold a uint32_t value without losing information. + Py_BUILD_ASSERT(sizeof(x) <= sizeof(unsigned long)); + return __builtin_popcountl(x); +#endif + +#else + // 32-bit SWAR (SIMD Within A Register) popcount + + // Binary: 0 1 0 1 ... + const uint32_t M1 = 0x55555555; + // Binary: 00 11 00 11. .. + const uint32_t M2 = 0x33333333; + // Binary: 0000 1111 0000 1111 ... + const uint32_t M4 = 0x0F0F0F0F; + + // Put count of each 2 bits into those 2 bits + x = x - ((x >> 1) & M1); + // Put count of each 4 bits into those 4 bits + x = (x & M2) + ((x >> 2) & M2); + // Put count of each 8 bits into those 8 bits + x = (x + (x >> 4)) & M4; + // Sum of the 4 byte counts. + // Take care when considering changes to the next line. Portability and + // correctness are delicate here, thanks to C's "integer promotions" (C99 + // §6.3.1.1p2). On machines where the `int` type has width greater than 32 + // bits, `x` will be promoted to an `int`, and following C's "usual + // arithmetic conversions" (C99 §6.3.1.8), the multiplication will be + // performed as a multiplication of two `unsigned int` operands. In this + // case it's critical that we cast back to `uint32_t` in order to keep only + // the least significant 32 bits. On machines where the `int` type has + // width no greater than 32, the multiplication is of two 32-bit unsigned + // integer types, and the (uint32_t) cast is a no-op. In both cases, we + // avoid the risk of undefined behaviour due to overflow of a + // multiplication of signed integer types. + return (uint32_t)(x * 0x01010101U) >> 24; +#endif +} + + +// Return the index of the most significant 1 bit in 'x'. This is the smallest +// integer k such that x < 2**k. Equivalent to floor(log2(x)) + 1 for x != 0. +static inline int +_Py_bit_length(unsigned long x) +{ +#if (defined(__clang__) || defined(__GNUC__)) + if (x != 0) { + // __builtin_clzl() is available since GCC 3.4. + // Undefined behavior for x == 0. + return (int)sizeof(unsigned long) * 8 - __builtin_clzl(x); + } + else { + return 0; + } +#elif defined(_MSC_VER) + // _BitScanReverse() is documented to search 32 bits. + Py_BUILD_ASSERT(sizeof(unsigned long) <= 4); + unsigned long msb; + if (_BitScanReverse(&msb, x)) { + return (int)msb + 1; + } + else { + return 0; + } +#else + const int BIT_LENGTH_TABLE[32] = { + 0, 1, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, + 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5 + }; + int msb = 0; + while (x >= 32) { + msb += 6; + x >>= 6; + } + msb += BIT_LENGTH_TABLE[x]; + return msb; +#endif +} + + +#ifdef __cplusplus +} +#endif +#endif /* !Py_INTERNAL_BITUTILS_H */ diff --git a/_Pre_Builds/_Python312_cpp/include/internal/pycore_blocks_output_buffer.h b/_Pre_Builds/_Python312_cpp/include/internal/pycore_blocks_output_buffer.h new file mode 100644 index 0000000..28cf6fb --- /dev/null +++ b/_Pre_Builds/_Python312_cpp/include/internal/pycore_blocks_output_buffer.h @@ -0,0 +1,317 @@ +/* + _BlocksOutputBuffer is used to maintain an output buffer + that has unpredictable size. Suitable for compression/decompression + API (bz2/lzma/zlib) that has stream->next_out and stream->avail_out: + + stream->next_out: point to the next output position. + stream->avail_out: the number of available bytes left in the buffer. + + It maintains a list of bytes object, so there is no overhead of resizing + the buffer. + + Usage: + + 1, Initialize the struct instance like this: + _BlocksOutputBuffer buffer = {.list = NULL}; + Set .list to NULL for _BlocksOutputBuffer_OnError() + + 2, Initialize the buffer use one of these functions: + _BlocksOutputBuffer_InitAndGrow() + _BlocksOutputBuffer_InitWithSize() + + 3, If (avail_out == 0), grow the buffer: + _BlocksOutputBuffer_Grow() + + 4, Get the current outputted data size: + _BlocksOutputBuffer_GetDataSize() + + 5, Finish the buffer, and return a bytes object: + _BlocksOutputBuffer_Finish() + + 6, Clean up the buffer when an error occurred: + _BlocksOutputBuffer_OnError() +*/ + +#ifndef Py_INTERNAL_BLOCKS_OUTPUT_BUFFER_H +#define Py_INTERNAL_BLOCKS_OUTPUT_BUFFER_H +#ifdef __cplusplus +extern "C" { +#endif + +#include "Python.h" + +typedef struct { + // List of bytes objects + PyObject *list; + // Number of whole allocated size + Py_ssize_t allocated; + // Max length of the buffer, negative number means unlimited length. + Py_ssize_t max_length; +} _BlocksOutputBuffer; + +static const char unable_allocate_msg[] = "Unable to allocate output buffer."; + +/* In 32-bit build, the max block size should <= INT32_MAX. */ +#define OUTPUT_BUFFER_MAX_BLOCK_SIZE (256*1024*1024) + +/* Block size sequence */ +#define KB (1024) +#define MB (1024*1024) +static const Py_ssize_t BUFFER_BLOCK_SIZE[] = + { 32*KB, 64*KB, 256*KB, 1*MB, 4*MB, 8*MB, 16*MB, 16*MB, + 32*MB, 32*MB, 32*MB, 32*MB, 64*MB, 64*MB, 128*MB, 128*MB, + OUTPUT_BUFFER_MAX_BLOCK_SIZE }; +#undef KB +#undef MB + +/* According to the block sizes defined by BUFFER_BLOCK_SIZE, the whole + allocated size growth step is: + 1 32 KB +32 KB + 2 96 KB +64 KB + 3 352 KB +256 KB + 4 1.34 MB +1 MB + 5 5.34 MB +4 MB + 6 13.34 MB +8 MB + 7 29.34 MB +16 MB + 8 45.34 MB +16 MB + 9 77.34 MB +32 MB + 10 109.34 MB +32 MB + 11 141.34 MB +32 MB + 12 173.34 MB +32 MB + 13 237.34 MB +64 MB + 14 301.34 MB +64 MB + 15 429.34 MB +128 MB + 16 557.34 MB +128 MB + 17 813.34 MB +256 MB + 18 1069.34 MB +256 MB + 19 1325.34 MB +256 MB + 20 1581.34 MB +256 MB + 21 1837.34 MB +256 MB + 22 2093.34 MB +256 MB + ... +*/ + +/* Initialize the buffer, and grow the buffer. + + max_length: Max length of the buffer, -1 for unlimited length. + + On success, return allocated size (>=0) + On failure, return -1 +*/ +static inline Py_ssize_t +_BlocksOutputBuffer_InitAndGrow(_BlocksOutputBuffer *buffer, + const Py_ssize_t max_length, + void **next_out) +{ + PyObject *b; + Py_ssize_t block_size; + + // ensure .list was set to NULL + assert(buffer->list == NULL); + + // get block size + if (0 <= max_length && max_length < BUFFER_BLOCK_SIZE[0]) { + block_size = max_length; + } else { + block_size = BUFFER_BLOCK_SIZE[0]; + } + + // the first block + b = PyBytes_FromStringAndSize(NULL, block_size); + if (b == NULL) { + return -1; + } + + // create the list + buffer->list = PyList_New(1); + if (buffer->list == NULL) { + Py_DECREF(b); + return -1; + } + PyList_SET_ITEM(buffer->list, 0, b); + + // set variables + buffer->allocated = block_size; + buffer->max_length = max_length; + + *next_out = PyBytes_AS_STRING(b); + return block_size; +} + +/* Initialize the buffer, with an initial size. + + Check block size limit in the outer wrapper function. For example, some libs + accept UINT32_MAX as the maximum block size, then init_size should <= it. + + On success, return allocated size (>=0) + On failure, return -1 +*/ +static inline Py_ssize_t +_BlocksOutputBuffer_InitWithSize(_BlocksOutputBuffer *buffer, + const Py_ssize_t init_size, + void **next_out) +{ + PyObject *b; + + // ensure .list was set to NULL + assert(buffer->list == NULL); + + // the first block + b = PyBytes_FromStringAndSize(NULL, init_size); + if (b == NULL) { + PyErr_SetString(PyExc_MemoryError, unable_allocate_msg); + return -1; + } + + // create the list + buffer->list = PyList_New(1); + if (buffer->list == NULL) { + Py_DECREF(b); + return -1; + } + PyList_SET_ITEM(buffer->list, 0, b); + + // set variables + buffer->allocated = init_size; + buffer->max_length = -1; + + *next_out = PyBytes_AS_STRING(b); + return init_size; +} + +/* Grow the buffer. The avail_out must be 0, please check it before calling. + + On success, return allocated size (>=0) + On failure, return -1 +*/ +static inline Py_ssize_t +_BlocksOutputBuffer_Grow(_BlocksOutputBuffer *buffer, + void **next_out, + const Py_ssize_t avail_out) +{ + PyObject *b; + const Py_ssize_t list_len = Py_SIZE(buffer->list); + Py_ssize_t block_size; + + // ensure no gaps in the data + if (avail_out != 0) { + PyErr_SetString(PyExc_SystemError, + "avail_out is non-zero in _BlocksOutputBuffer_Grow()."); + return -1; + } + + // get block size + if (list_len < (Py_ssize_t) Py_ARRAY_LENGTH(BUFFER_BLOCK_SIZE)) { + block_size = BUFFER_BLOCK_SIZE[list_len]; + } else { + block_size = BUFFER_BLOCK_SIZE[Py_ARRAY_LENGTH(BUFFER_BLOCK_SIZE) - 1]; + } + + // check max_length + if (buffer->max_length >= 0) { + // if (rest == 0), should not grow the buffer. + Py_ssize_t rest = buffer->max_length - buffer->allocated; + assert(rest > 0); + + // block_size of the last block + if (block_size > rest) { + block_size = rest; + } + } + + // check buffer->allocated overflow + if (block_size > PY_SSIZE_T_MAX - buffer->allocated) { + PyErr_SetString(PyExc_MemoryError, unable_allocate_msg); + return -1; + } + + // create the block + b = PyBytes_FromStringAndSize(NULL, block_size); + if (b == NULL) { + PyErr_SetString(PyExc_MemoryError, unable_allocate_msg); + return -1; + } + if (PyList_Append(buffer->list, b) < 0) { + Py_DECREF(b); + return -1; + } + Py_DECREF(b); + + // set variables + buffer->allocated += block_size; + + *next_out = PyBytes_AS_STRING(b); + return block_size; +} + +/* Return the current outputted data size. */ +static inline Py_ssize_t +_BlocksOutputBuffer_GetDataSize(_BlocksOutputBuffer *buffer, + const Py_ssize_t avail_out) +{ + return buffer->allocated - avail_out; +} + +/* Finish the buffer. + + Return a bytes object on success + Return NULL on failure +*/ +static inline PyObject * +_BlocksOutputBuffer_Finish(_BlocksOutputBuffer *buffer, + const Py_ssize_t avail_out) +{ + PyObject *result, *block; + const Py_ssize_t list_len = Py_SIZE(buffer->list); + + // fast path for single block + if ((list_len == 1 && avail_out == 0) || + (list_len == 2 && Py_SIZE(PyList_GET_ITEM(buffer->list, 1)) == avail_out)) + { + block = PyList_GET_ITEM(buffer->list, 0); + Py_INCREF(block); + + Py_CLEAR(buffer->list); + return block; + } + + // final bytes object + result = PyBytes_FromStringAndSize(NULL, buffer->allocated - avail_out); + if (result == NULL) { + PyErr_SetString(PyExc_MemoryError, unable_allocate_msg); + return NULL; + } + + // memory copy + if (list_len > 0) { + char *posi = PyBytes_AS_STRING(result); + + // blocks except the last one + Py_ssize_t i = 0; + for (; i < list_len-1; i++) { + block = PyList_GET_ITEM(buffer->list, i); + memcpy(posi, PyBytes_AS_STRING(block), Py_SIZE(block)); + posi += Py_SIZE(block); + } + // the last block + block = PyList_GET_ITEM(buffer->list, i); + memcpy(posi, PyBytes_AS_STRING(block), Py_SIZE(block) - avail_out); + } else { + assert(Py_SIZE(result) == 0); + } + + Py_CLEAR(buffer->list); + return result; +} + +/* Clean up the buffer when an error occurred. */ +static inline void +_BlocksOutputBuffer_OnError(_BlocksOutputBuffer *buffer) +{ + Py_CLEAR(buffer->list); +} + +#ifdef __cplusplus +} +#endif +#endif /* Py_INTERNAL_BLOCKS_OUTPUT_BUFFER_H */ \ No newline at end of file diff --git a/_Pre_Builds/_Python312_cpp/include/internal/pycore_bytes_methods.h b/_Pre_Builds/_Python312_cpp/include/internal/pycore_bytes_methods.h new file mode 100644 index 0000000..11e8ab2 --- /dev/null +++ b/_Pre_Builds/_Python312_cpp/include/internal/pycore_bytes_methods.h @@ -0,0 +1,73 @@ +#ifndef Py_LIMITED_API +#ifndef Py_BYTES_CTYPE_H +#define Py_BYTES_CTYPE_H + +#ifndef Py_BUILD_CORE +# error "this header requires Py_BUILD_CORE define" +#endif + +/* + * The internal implementation behind PyBytes (bytes) and PyByteArray (bytearray) + * methods of the given names, they operate on ASCII byte strings. + */ +extern PyObject* _Py_bytes_isspace(const char *cptr, Py_ssize_t len); +extern PyObject* _Py_bytes_isalpha(const char *cptr, Py_ssize_t len); +extern PyObject* _Py_bytes_isalnum(const char *cptr, Py_ssize_t len); +extern PyObject* _Py_bytes_isascii(const char *cptr, Py_ssize_t len); +extern PyObject* _Py_bytes_isdigit(const char *cptr, Py_ssize_t len); +extern PyObject* _Py_bytes_islower(const char *cptr, Py_ssize_t len); +extern PyObject* _Py_bytes_isupper(const char *cptr, Py_ssize_t len); +extern PyObject* _Py_bytes_istitle(const char *cptr, Py_ssize_t len); + +/* These store their len sized answer in the given preallocated *result arg. */ +extern void _Py_bytes_lower(char *result, const char *cptr, Py_ssize_t len); +extern void _Py_bytes_upper(char *result, const char *cptr, Py_ssize_t len); +extern void _Py_bytes_title(char *result, const char *s, Py_ssize_t len); +extern void _Py_bytes_capitalize(char *result, const char *s, Py_ssize_t len); +extern void _Py_bytes_swapcase(char *result, const char *s, Py_ssize_t len); + +extern PyObject *_Py_bytes_find(const char *str, Py_ssize_t len, PyObject *args); +extern PyObject *_Py_bytes_index(const char *str, Py_ssize_t len, PyObject *args); +extern PyObject *_Py_bytes_rfind(const char *str, Py_ssize_t len, PyObject *args); +extern PyObject *_Py_bytes_rindex(const char *str, Py_ssize_t len, PyObject *args); +extern PyObject *_Py_bytes_count(const char *str, Py_ssize_t len, PyObject *args); +extern int _Py_bytes_contains(const char *str, Py_ssize_t len, PyObject *arg); +extern PyObject *_Py_bytes_startswith(const char *str, Py_ssize_t len, PyObject *args); +extern PyObject *_Py_bytes_endswith(const char *str, Py_ssize_t len, PyObject *args); + +/* The maketrans() static method. */ +extern PyObject* _Py_bytes_maketrans(Py_buffer *frm, Py_buffer *to); + +/* Shared __doc__ strings. */ +extern const char _Py_isspace__doc__[]; +extern const char _Py_isalpha__doc__[]; +extern const char _Py_isalnum__doc__[]; +extern const char _Py_isascii__doc__[]; +extern const char _Py_isdigit__doc__[]; +extern const char _Py_islower__doc__[]; +extern const char _Py_isupper__doc__[]; +extern const char _Py_istitle__doc__[]; +extern const char _Py_lower__doc__[]; +extern const char _Py_upper__doc__[]; +extern const char _Py_title__doc__[]; +extern const char _Py_capitalize__doc__[]; +extern const char _Py_swapcase__doc__[]; +extern const char _Py_count__doc__[]; +extern const char _Py_find__doc__[]; +extern const char _Py_index__doc__[]; +extern const char _Py_rfind__doc__[]; +extern const char _Py_rindex__doc__[]; +extern const char _Py_startswith__doc__[]; +extern const char _Py_endswith__doc__[]; +extern const char _Py_maketrans__doc__[]; +extern const char _Py_expandtabs__doc__[]; +extern const char _Py_ljust__doc__[]; +extern const char _Py_rjust__doc__[]; +extern const char _Py_center__doc__[]; +extern const char _Py_zfill__doc__[]; + +/* this is needed because some docs are shared from the .o, not static */ +#define PyDoc_STRVAR_shared(name,str) const char name[] = PyDoc_STR(str) + +#endif /* !Py_BYTES_CTYPE_H */ +#endif /* !Py_LIMITED_API */ diff --git a/_Pre_Builds/_Python312_cpp/include/internal/pycore_bytesobject.h b/_Pre_Builds/_Python312_cpp/include/internal/pycore_bytesobject.h new file mode 100644 index 0000000..d36fa95 --- /dev/null +++ b/_Pre_Builds/_Python312_cpp/include/internal/pycore_bytesobject.h @@ -0,0 +1,47 @@ +#ifndef Py_INTERNAL_BYTESOBJECT_H +#define Py_INTERNAL_BYTESOBJECT_H +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef Py_BUILD_CORE +# error "this header requires Py_BUILD_CORE define" +#endif + + +/* Substring Search. + + Returns the index of the first occurrence of + a substring ("needle") in a larger text ("haystack"). + If the needle is not found, return -1. + If the needle is found, add offset to the index. +*/ + +PyAPI_FUNC(Py_ssize_t) +_PyBytes_Find(const char *haystack, Py_ssize_t len_haystack, + const char *needle, Py_ssize_t len_needle, + Py_ssize_t offset); + +/* Same as above, but search right-to-left */ +PyAPI_FUNC(Py_ssize_t) +_PyBytes_ReverseFind(const char *haystack, Py_ssize_t len_haystack, + const char *needle, Py_ssize_t len_needle, + Py_ssize_t offset); + + +/** Helper function to implement the repeat and inplace repeat methods on a buffer + * + * len_dest is assumed to be an integer multiple of len_src. + * If src equals dest, then assume the operation is inplace. + * + * This method repeately doubles the number of bytes copied to reduce + * the number of invocations of memcpy. + */ +PyAPI_FUNC(void) +_PyBytes_Repeat(char* dest, Py_ssize_t len_dest, + const char* src, Py_ssize_t len_src); + +#ifdef __cplusplus +} +#endif +#endif /* !Py_INTERNAL_BYTESOBJECT_H */ diff --git a/_Pre_Builds/_Python312_cpp/include/internal/pycore_call.h b/_Pre_Builds/_Python312_cpp/include/internal/pycore_call.h new file mode 100644 index 0000000..5d9342b --- /dev/null +++ b/_Pre_Builds/_Python312_cpp/include/internal/pycore_call.h @@ -0,0 +1,133 @@ +#ifndef Py_INTERNAL_CALL_H +#define Py_INTERNAL_CALL_H +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef Py_BUILD_CORE +# error "this header requires Py_BUILD_CORE define" +#endif + +#include "pycore_pystate.h" // _PyThreadState_GET() + +PyAPI_FUNC(PyObject *) _PyObject_Call_Prepend( + PyThreadState *tstate, + PyObject *callable, + PyObject *obj, + PyObject *args, + PyObject *kwargs); + +PyAPI_FUNC(PyObject *) _PyObject_FastCallDictTstate( + PyThreadState *tstate, + PyObject *callable, + PyObject *const *args, + size_t nargsf, + PyObject *kwargs); + +PyAPI_FUNC(PyObject *) _PyObject_Call( + PyThreadState *tstate, + PyObject *callable, + PyObject *args, + PyObject *kwargs); + +extern PyObject * _PyObject_CallMethodFormat( + PyThreadState *tstate, PyObject *callable, const char *format, ...); + + +// Static inline variant of public PyVectorcall_Function(). +static inline vectorcallfunc +_PyVectorcall_FunctionInline(PyObject *callable) +{ + assert(callable != NULL); + + PyTypeObject *tp = Py_TYPE(callable); + if (!PyType_HasFeature(tp, Py_TPFLAGS_HAVE_VECTORCALL)) { + return NULL; + } + assert(PyCallable_Check(callable)); + + Py_ssize_t offset = tp->tp_vectorcall_offset; + assert(offset > 0); + + vectorcallfunc ptr; + memcpy(&ptr, (char *) callable + offset, sizeof(ptr)); + return ptr; +} + + +/* Call the callable object 'callable' with the "vectorcall" calling + convention. + + args is a C array for positional arguments. + + nargsf is the number of positional arguments plus optionally the flag + PY_VECTORCALL_ARGUMENTS_OFFSET which means that the caller is allowed to + modify args[-1]. + + kwnames is a tuple of keyword names. The values of the keyword arguments + are stored in "args" after the positional arguments (note that the number + of keyword arguments does not change nargsf). kwnames can also be NULL if + there are no keyword arguments. + + keywords must only contain strings and all keys must be unique. + + Return the result on success. Raise an exception and return NULL on + error. */ +static inline PyObject * +_PyObject_VectorcallTstate(PyThreadState *tstate, PyObject *callable, + PyObject *const *args, size_t nargsf, + PyObject *kwnames) +{ + vectorcallfunc func; + PyObject *res; + + assert(kwnames == NULL || PyTuple_Check(kwnames)); + assert(args != NULL || PyVectorcall_NARGS(nargsf) == 0); + + func = _PyVectorcall_FunctionInline(callable); + if (func == NULL) { + Py_ssize_t nargs = PyVectorcall_NARGS(nargsf); + return _PyObject_MakeTpCall(tstate, callable, args, nargs, kwnames); + } + res = func(callable, args, nargsf, kwnames); + return _Py_CheckFunctionResult(tstate, callable, res, NULL); +} + + +static inline PyObject * +_PyObject_CallNoArgsTstate(PyThreadState *tstate, PyObject *func) { + return _PyObject_VectorcallTstate(tstate, func, NULL, 0, NULL); +} + + +// Private static inline function variant of public PyObject_CallNoArgs() +static inline PyObject * +_PyObject_CallNoArgs(PyObject *func) { + EVAL_CALL_STAT_INC_IF_FUNCTION(EVAL_CALL_API, func); + PyThreadState *tstate = _PyThreadState_GET(); + return _PyObject_VectorcallTstate(tstate, func, NULL, 0, NULL); +} + + +static inline PyObject * +_PyObject_FastCallTstate(PyThreadState *tstate, PyObject *func, PyObject *const *args, Py_ssize_t nargs) +{ + EVAL_CALL_STAT_INC_IF_FUNCTION(EVAL_CALL_API, func); + return _PyObject_VectorcallTstate(tstate, func, args, (size_t)nargs, NULL); +} + +PyObject *const * +_PyStack_UnpackDict(PyThreadState *tstate, + PyObject *const *args, Py_ssize_t nargs, + PyObject *kwargs, PyObject **p_kwnames); + +void +_PyStack_UnpackDict_Free(PyObject *const *stack, Py_ssize_t nargs, + PyObject *kwnames); + +void _PyStack_UnpackDict_FreeNoDecRef(PyObject *const *stack, PyObject *kwnames); + +#ifdef __cplusplus +} +#endif +#endif /* !Py_INTERNAL_CALL_H */ diff --git a/_Pre_Builds/_Python312_cpp/include/internal/pycore_ceval.h b/_Pre_Builds/_Python312_cpp/include/internal/pycore_ceval.h new file mode 100644 index 0000000..921b1cf --- /dev/null +++ b/_Pre_Builds/_Python312_cpp/include/internal/pycore_ceval.h @@ -0,0 +1,164 @@ +#ifndef Py_INTERNAL_CEVAL_H +#define Py_INTERNAL_CEVAL_H +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef Py_BUILD_CORE +# error "this header requires Py_BUILD_CORE define" +#endif + +/* Forward declarations */ +struct pyruntimestate; +struct _ceval_runtime_state; + +#ifndef Py_DEFAULT_RECURSION_LIMIT +# define Py_DEFAULT_RECURSION_LIMIT 1000 +#endif + +#include "pycore_interp.h" // PyInterpreterState.eval_frame +#include "pycore_pystate.h" // _PyThreadState_GET() + + +extern void _Py_FinishPendingCalls(PyThreadState *tstate); +extern void _PyEval_InitState(PyInterpreterState *, PyThread_type_lock); +extern void _PyEval_FiniState(struct _ceval_state *ceval); +PyAPI_FUNC(void) _PyEval_SignalReceived(PyInterpreterState *interp); +PyAPI_FUNC(int) _PyEval_AddPendingCall( + PyInterpreterState *interp, + int (*func)(void *), + void *arg, + int mainthreadonly); +PyAPI_FUNC(void) _PyEval_SignalAsyncExc(PyInterpreterState *interp); +#ifdef HAVE_FORK +extern PyStatus _PyEval_ReInitThreads(PyThreadState *tstate); +#endif + +// Used by sys.call_tracing() +extern PyObject* _PyEval_CallTracing(PyObject *func, PyObject *args); + +// Used by sys.get_asyncgen_hooks() +extern PyObject* _PyEval_GetAsyncGenFirstiter(void); +extern PyObject* _PyEval_GetAsyncGenFinalizer(void); + +// Used by sys.set_asyncgen_hooks() +extern int _PyEval_SetAsyncGenFirstiter(PyObject *); +extern int _PyEval_SetAsyncGenFinalizer(PyObject *); + +// Used by sys.get_coroutine_origin_tracking_depth() +// and sys.set_coroutine_origin_tracking_depth() +extern int _PyEval_GetCoroutineOriginTrackingDepth(void); +extern int _PyEval_SetCoroutineOriginTrackingDepth(int depth); + +extern void _PyEval_Fini(void); + + +extern PyObject* _PyEval_GetBuiltins(PyThreadState *tstate); +extern PyObject* _PyEval_BuiltinsFromGlobals( + PyThreadState *tstate, + PyObject *globals); + +// Trampoline API + +typedef struct { + // Callback to initialize the trampoline state + void* (*init_state)(void); + // Callback to register every trampoline being created + void (*write_state)(void* state, const void *code_addr, + unsigned int code_size, PyCodeObject* code); + // Callback to free the trampoline state + int (*free_state)(void* state); +} _PyPerf_Callbacks; + +extern int _PyPerfTrampoline_SetCallbacks(_PyPerf_Callbacks *); +extern void _PyPerfTrampoline_GetCallbacks(_PyPerf_Callbacks *); +extern int _PyPerfTrampoline_Init(int activate); +extern int _PyPerfTrampoline_Fini(void); +extern void _PyPerfTrampoline_FreeArenas(void); +extern int _PyIsPerfTrampolineActive(void); +extern PyStatus _PyPerfTrampoline_AfterFork_Child(void); +#ifdef PY_HAVE_PERF_TRAMPOLINE +extern _PyPerf_Callbacks _Py_perfmap_callbacks; +#endif + +static inline PyObject* +_PyEval_EvalFrame(PyThreadState *tstate, struct _PyInterpreterFrame *frame, int throwflag) +{ + EVAL_CALL_STAT_INC(EVAL_CALL_TOTAL); + if (tstate->interp->eval_frame == NULL) { + return _PyEval_EvalFrameDefault(tstate, frame, throwflag); + } + return tstate->interp->eval_frame(tstate, frame, throwflag); +} + +extern PyObject* +_PyEval_Vector(PyThreadState *tstate, + PyFunctionObject *func, PyObject *locals, + PyObject* const* args, size_t argcount, + PyObject *kwnames); + +extern int _PyEval_ThreadsInitialized(void); +extern PyStatus _PyEval_InitGIL(PyThreadState *tstate, int own_gil); +extern void _PyEval_FiniGIL(PyInterpreterState *interp); + +extern void _PyEval_AcquireLock(PyThreadState *tstate); +extern void _PyEval_ReleaseLock(PyInterpreterState *, PyThreadState *); +extern PyThreadState * _PyThreadState_SwapNoGIL(PyThreadState *); + +extern void _PyEval_DeactivateOpCache(void); + + +/* --- _Py_EnterRecursiveCall() ----------------------------------------- */ + +#ifdef USE_STACKCHECK +/* With USE_STACKCHECK macro defined, trigger stack checks in + _Py_CheckRecursiveCall() on every 64th call to _Py_EnterRecursiveCall. */ +static inline int _Py_MakeRecCheck(PyThreadState *tstate) { + return (tstate->c_recursion_remaining-- <= 0 + || (tstate->c_recursion_remaining & 63) == 0); +} +#else +static inline int _Py_MakeRecCheck(PyThreadState *tstate) { + return tstate->c_recursion_remaining-- <= 0; +} +#endif + +PyAPI_FUNC(int) _Py_CheckRecursiveCall( + PyThreadState *tstate, + const char *where); + +int _Py_CheckRecursiveCallPy( + PyThreadState *tstate); + +static inline int _Py_EnterRecursiveCallTstate(PyThreadState *tstate, + const char *where) { + return (_Py_MakeRecCheck(tstate) && _Py_CheckRecursiveCall(tstate, where)); +} + +static inline int _Py_EnterRecursiveCall(const char *where) { + PyThreadState *tstate = _PyThreadState_GET(); + return _Py_EnterRecursiveCallTstate(tstate, where); +} + +static inline void _Py_LeaveRecursiveCallTstate(PyThreadState *tstate) { + tstate->c_recursion_remaining++; +} + +static inline void _Py_LeaveRecursiveCall(void) { + PyThreadState *tstate = _PyThreadState_GET(); + _Py_LeaveRecursiveCallTstate(tstate); +} + +extern struct _PyInterpreterFrame* _PyEval_GetFrame(void); + +extern PyObject* _Py_MakeCoro(PyFunctionObject *func); + +extern int _Py_HandlePending(PyThreadState *tstate); + +extern PyObject * _PyEval_GetFrameLocals(void); + + +#ifdef __cplusplus +} +#endif +#endif /* !Py_INTERNAL_CEVAL_H */ diff --git a/_Pre_Builds/_Python312_cpp/include/internal/pycore_ceval_state.h b/_Pre_Builds/_Python312_cpp/include/internal/pycore_ceval_state.h new file mode 100644 index 0000000..e56e43c --- /dev/null +++ b/_Pre_Builds/_Python312_cpp/include/internal/pycore_ceval_state.h @@ -0,0 +1,103 @@ +#ifndef Py_INTERNAL_CEVAL_STATE_H +#define Py_INTERNAL_CEVAL_STATE_H +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef Py_BUILD_CORE +# error "this header requires Py_BUILD_CORE define" +#endif + + +#include "pycore_atomic.h" /* _Py_atomic_address */ +#include "pycore_gil.h" // struct _gil_runtime_state + + +struct _pending_calls { + int busy; + PyThread_type_lock lock; + /* Request for running pending calls. */ + _Py_atomic_int calls_to_do; + /* Request for looking at the `async_exc` field of the current + thread state. + Guarded by the GIL. */ + int async_exc; +#define NPENDINGCALLS 32 + struct _pending_call { + int (*func)(void *); + void *arg; + } calls[NPENDINGCALLS]; + int first; + int last; +}; + +typedef enum { + PERF_STATUS_FAILED = -1, // Perf trampoline is in an invalid state + PERF_STATUS_NO_INIT = 0, // Perf trampoline is not initialized + PERF_STATUS_OK = 1, // Perf trampoline is ready to be executed +} perf_status_t; + + +#ifdef PY_HAVE_PERF_TRAMPOLINE +struct code_arena_st; + +struct trampoline_api_st { + void* (*init_state)(void); + void (*write_state)(void* state, const void *code_addr, + unsigned int code_size, PyCodeObject* code); + int (*free_state)(void* state); + void *state; +}; +#endif + +struct _ceval_runtime_state { + struct { +#ifdef PY_HAVE_PERF_TRAMPOLINE + perf_status_t status; + Py_ssize_t extra_code_index; + struct code_arena_st *code_arena; + struct trampoline_api_st trampoline_api; + FILE *map_file; +#else + int _not_used; +#endif + } perf; + /* Request for checking signals. It is shared by all interpreters (see + bpo-40513). Any thread of any interpreter can receive a signal, but only + the main thread of the main interpreter can handle signals: see + _Py_ThreadCanHandleSignals(). */ + _Py_atomic_int signals_pending; + /* Pending calls to be made only on the main thread. */ + struct _pending_calls pending_mainthread; +}; + +#ifdef PY_HAVE_PERF_TRAMPOLINE +# define _PyEval_RUNTIME_PERF_INIT \ + { \ + .status = PERF_STATUS_NO_INIT, \ + .extra_code_index = -1, \ + } +#else +# define _PyEval_RUNTIME_PERF_INIT {0} +#endif + + +struct _ceval_state { + /* This single variable consolidates all requests to break out of + the fast path in the eval loop. */ + _Py_atomic_int eval_breaker; + /* Request for dropping the GIL */ + _Py_atomic_int gil_drop_request; + int recursion_limit; + struct _gil_runtime_state *gil; + int own_gil; + /* The GC is ready to be executed */ + _Py_atomic_int gc_scheduled; + struct _pending_calls pending; +}; + + +#ifdef __cplusplus +} +#endif +#endif /* !Py_INTERNAL_CEVAL_STATE_H */ diff --git a/_Pre_Builds/_Python312_cpp/include/internal/pycore_code.h b/_Pre_Builds/_Python312_cpp/include/internal/pycore_code.h new file mode 100644 index 0000000..92e0a8b --- /dev/null +++ b/_Pre_Builds/_Python312_cpp/include/internal/pycore_code.h @@ -0,0 +1,496 @@ +#ifndef Py_INTERNAL_CODE_H +#define Py_INTERNAL_CODE_H +#ifdef __cplusplus +extern "C" { +#endif + +#define CODE_MAX_WATCHERS 8 + +/* PEP 659 + * Specialization and quickening structs and helper functions + */ + + +// Inline caches. If you change the number of cache entries for an instruction, +// you must *also* update the number of cache entries in Lib/opcode.py and bump +// the magic number in Lib/importlib/_bootstrap_external.py! + +#define CACHE_ENTRIES(cache) (sizeof(cache)/sizeof(_Py_CODEUNIT)) + +typedef struct { + uint16_t counter; + uint16_t index; + uint16_t module_keys_version; + uint16_t builtin_keys_version; +} _PyLoadGlobalCache; + +#define INLINE_CACHE_ENTRIES_LOAD_GLOBAL CACHE_ENTRIES(_PyLoadGlobalCache) + +typedef struct { + uint16_t counter; +} _PyBinaryOpCache; + +#define INLINE_CACHE_ENTRIES_BINARY_OP CACHE_ENTRIES(_PyBinaryOpCache) + +typedef struct { + uint16_t counter; +} _PyUnpackSequenceCache; + +#define INLINE_CACHE_ENTRIES_UNPACK_SEQUENCE \ + CACHE_ENTRIES(_PyUnpackSequenceCache) + +typedef struct { + uint16_t counter; +} _PyCompareOpCache; + +#define INLINE_CACHE_ENTRIES_COMPARE_OP CACHE_ENTRIES(_PyCompareOpCache) + +typedef struct { + uint16_t counter; +} _PyBinarySubscrCache; + +#define INLINE_CACHE_ENTRIES_BINARY_SUBSCR CACHE_ENTRIES(_PyBinarySubscrCache) + +typedef struct { + uint16_t counter; +} _PySuperAttrCache; + +#define INLINE_CACHE_ENTRIES_LOAD_SUPER_ATTR CACHE_ENTRIES(_PySuperAttrCache) + +typedef struct { + uint16_t counter; + uint16_t version[2]; + uint16_t index; +} _PyAttrCache; + +typedef struct { + uint16_t counter; + uint16_t type_version[2]; + uint16_t keys_version[2]; + uint16_t descr[4]; +} _PyLoadMethodCache; + + +// MUST be the max(_PyAttrCache, _PyLoadMethodCache) +#define INLINE_CACHE_ENTRIES_LOAD_ATTR CACHE_ENTRIES(_PyLoadMethodCache) + +#define INLINE_CACHE_ENTRIES_STORE_ATTR CACHE_ENTRIES(_PyAttrCache) + +typedef struct { + uint16_t counter; + uint16_t func_version[2]; +} _PyCallCache; + +#define INLINE_CACHE_ENTRIES_CALL CACHE_ENTRIES(_PyCallCache) + +typedef struct { + uint16_t counter; +} _PyStoreSubscrCache; + +#define INLINE_CACHE_ENTRIES_STORE_SUBSCR CACHE_ENTRIES(_PyStoreSubscrCache) + +typedef struct { + uint16_t counter; +} _PyForIterCache; + +#define INLINE_CACHE_ENTRIES_FOR_ITER CACHE_ENTRIES(_PyForIterCache) + +typedef struct { + uint16_t counter; +} _PySendCache; + +#define INLINE_CACHE_ENTRIES_SEND CACHE_ENTRIES(_PySendCache) + +// Borrowed references to common callables: +struct callable_cache { + PyObject *isinstance; + PyObject *len; + PyObject *list_append; + PyObject *object__getattribute__; +}; + +/* "Locals plus" for a code object is the set of locals + cell vars + + * free vars. This relates to variable names as well as offsets into + * the "fast locals" storage array of execution frames. The compiler + * builds the list of names, their offsets, and the corresponding + * kind of local. + * + * Those kinds represent the source of the initial value and the + * variable's scope (as related to closures). A "local" is an + * argument or other variable defined in the current scope. A "free" + * variable is one that is defined in an outer scope and comes from + * the function's closure. A "cell" variable is a local that escapes + * into an inner function as part of a closure, and thus must be + * wrapped in a cell. Any "local" can also be a "cell", but the + * "free" kind is mutually exclusive with both. + */ + +// Note that these all fit within a byte, as do combinations. +// Later, we will use the smaller numbers to differentiate the different +// kinds of locals (e.g. pos-only arg, varkwargs, local-only). +#define CO_FAST_HIDDEN 0x10 +#define CO_FAST_LOCAL 0x20 +#define CO_FAST_CELL 0x40 +#define CO_FAST_FREE 0x80 + +typedef unsigned char _PyLocals_Kind; + +static inline _PyLocals_Kind +_PyLocals_GetKind(PyObject *kinds, int i) +{ + assert(PyBytes_Check(kinds)); + assert(0 <= i && i < PyBytes_GET_SIZE(kinds)); + char *ptr = PyBytes_AS_STRING(kinds); + return (_PyLocals_Kind)(ptr[i]); +} + +static inline void +_PyLocals_SetKind(PyObject *kinds, int i, _PyLocals_Kind kind) +{ + assert(PyBytes_Check(kinds)); + assert(0 <= i && i < PyBytes_GET_SIZE(kinds)); + char *ptr = PyBytes_AS_STRING(kinds); + ptr[i] = (char) kind; +} + + +struct _PyCodeConstructor { + /* metadata */ + PyObject *filename; + PyObject *name; + PyObject *qualname; + int flags; + + /* the code */ + PyObject *code; + int firstlineno; + PyObject *linetable; + + /* used by the code */ + PyObject *consts; + PyObject *names; + + /* mapping frame offsets to information */ + PyObject *localsplusnames; // Tuple of strings + PyObject *localspluskinds; // Bytes object, one byte per variable + + /* args (within varnames) */ + int argcount; + int posonlyargcount; + // XXX Replace argcount with posorkwargcount (argcount - posonlyargcount). + int kwonlyargcount; + + /* needed to create the frame */ + int stacksize; + + /* used by the eval loop */ + PyObject *exceptiontable; +}; + +// Using an "arguments struct" like this is helpful for maintainability +// in a case such as this with many parameters. It does bear a risk: +// if the struct changes and callers are not updated properly then the +// compiler will not catch problems (like a missing argument). This can +// cause hard-to-debug problems. The risk is mitigated by the use of +// check_code() in codeobject.c. However, we may decide to switch +// back to a regular function signature. Regardless, this approach +// wouldn't be appropriate if this weren't a strictly internal API. +// (See the comments in https://github.com/python/cpython/pull/26258.) +PyAPI_FUNC(int) _PyCode_Validate(struct _PyCodeConstructor *); +PyAPI_FUNC(PyCodeObject *) _PyCode_New(struct _PyCodeConstructor *); + + +/* Private API */ + +/* Getters for internal PyCodeObject data. */ +extern PyObject* _PyCode_GetVarnames(PyCodeObject *); +extern PyObject* _PyCode_GetCellvars(PyCodeObject *); +extern PyObject* _PyCode_GetFreevars(PyCodeObject *); +extern PyObject* _PyCode_GetCode(PyCodeObject *); + +/** API for initializing the line number tables. */ +extern int _PyCode_InitAddressRange(PyCodeObject* co, PyCodeAddressRange *bounds); + +/** Out of process API for initializing the location table. */ +extern void _PyLineTable_InitAddressRange( + const char *linetable, + Py_ssize_t length, + int firstlineno, + PyCodeAddressRange *range); + +/** API for traversing the line number table. */ +extern int _PyLineTable_NextAddressRange(PyCodeAddressRange *range); +extern int _PyLineTable_PreviousAddressRange(PyCodeAddressRange *range); + +/* Specialization functions */ + +extern void _Py_Specialize_LoadSuperAttr(PyObject *global_super, PyObject *cls, + _Py_CODEUNIT *instr, int load_method); +extern void _Py_Specialize_LoadAttr(PyObject *owner, _Py_CODEUNIT *instr, + PyObject *name); +extern void _Py_Specialize_StoreAttr(PyObject *owner, _Py_CODEUNIT *instr, + PyObject *name); +extern void _Py_Specialize_LoadGlobal(PyObject *globals, PyObject *builtins, + _Py_CODEUNIT *instr, PyObject *name); +extern void _Py_Specialize_BinarySubscr(PyObject *sub, PyObject *container, + _Py_CODEUNIT *instr); +extern void _Py_Specialize_StoreSubscr(PyObject *container, PyObject *sub, + _Py_CODEUNIT *instr); +extern void _Py_Specialize_Call(PyObject *callable, _Py_CODEUNIT *instr, + int nargs, PyObject *kwnames); +extern void _Py_Specialize_BinaryOp(PyObject *lhs, PyObject *rhs, _Py_CODEUNIT *instr, + int oparg, PyObject **locals); +extern void _Py_Specialize_CompareOp(PyObject *lhs, PyObject *rhs, + _Py_CODEUNIT *instr, int oparg); +extern void _Py_Specialize_UnpackSequence(PyObject *seq, _Py_CODEUNIT *instr, + int oparg); +extern void _Py_Specialize_ForIter(PyObject *iter, _Py_CODEUNIT *instr, int oparg); +extern void _Py_Specialize_Send(PyObject *receiver, _Py_CODEUNIT *instr); + +/* Finalizer function for static codeobjects used in deepfreeze.py */ +extern void _PyStaticCode_Fini(PyCodeObject *co); +/* Function to intern strings of codeobjects and quicken the bytecode */ +extern int _PyStaticCode_Init(PyCodeObject *co); + +#ifdef Py_STATS + + +#define STAT_INC(opname, name) do { if (_py_stats) _py_stats->opcode_stats[opname].specialization.name++; } while (0) +#define STAT_DEC(opname, name) do { if (_py_stats) _py_stats->opcode_stats[opname].specialization.name--; } while (0) +#define OPCODE_EXE_INC(opname) do { if (_py_stats) _py_stats->opcode_stats[opname].execution_count++; } while (0) +#define CALL_STAT_INC(name) do { if (_py_stats) _py_stats->call_stats.name++; } while (0) +#define OBJECT_STAT_INC(name) do { if (_py_stats) _py_stats->object_stats.name++; } while (0) +#define OBJECT_STAT_INC_COND(name, cond) \ + do { if (_py_stats && cond) _py_stats->object_stats.name++; } while (0) +#define EVAL_CALL_STAT_INC(name) do { if (_py_stats) _py_stats->call_stats.eval_calls[name]++; } while (0) +#define EVAL_CALL_STAT_INC_IF_FUNCTION(name, callable) \ + do { if (_py_stats && PyFunction_Check(callable)) _py_stats->call_stats.eval_calls[name]++; } while (0) + +// Used by the _opcode extension which is built as a shared library +PyAPI_FUNC(PyObject*) _Py_GetSpecializationStats(void); + +#else +#define STAT_INC(opname, name) ((void)0) +#define STAT_DEC(opname, name) ((void)0) +#define OPCODE_EXE_INC(opname) ((void)0) +#define CALL_STAT_INC(name) ((void)0) +#define OBJECT_STAT_INC(name) ((void)0) +#define OBJECT_STAT_INC_COND(name, cond) ((void)0) +#define EVAL_CALL_STAT_INC(name) ((void)0) +#define EVAL_CALL_STAT_INC_IF_FUNCTION(name, callable) ((void)0) +#endif // !Py_STATS + +// Utility functions for reading/writing 32/64-bit values in the inline caches. +// Great care should be taken to ensure that these functions remain correct and +// performant! They should compile to just "move" instructions on all supported +// compilers and platforms. + +// We use memcpy to let the C compiler handle unaligned accesses and endianness +// issues for us. It also seems to produce better code than manual copying for +// most compilers (see https://blog.regehr.org/archives/959 for more info). + +static inline void +write_u32(uint16_t *p, uint32_t val) +{ + memcpy(p, &val, sizeof(val)); +} + +static inline void +write_u64(uint16_t *p, uint64_t val) +{ + memcpy(p, &val, sizeof(val)); +} + +static inline void +write_obj(uint16_t *p, PyObject *val) +{ + memcpy(p, &val, sizeof(val)); +} + +static inline uint16_t +read_u16(uint16_t *p) +{ + return *p; +} + +static inline uint32_t +read_u32(uint16_t *p) +{ + uint32_t val; + memcpy(&val, p, sizeof(val)); + return val; +} + +static inline uint64_t +read_u64(uint16_t *p) +{ + uint64_t val; + memcpy(&val, p, sizeof(val)); + return val; +} + +static inline PyObject * +read_obj(uint16_t *p) +{ + PyObject *val; + memcpy(&val, p, sizeof(val)); + return val; +} + +/* See Objects/exception_handling_notes.txt for details. + */ +static inline unsigned char * +parse_varint(unsigned char *p, int *result) { + int val = p[0] & 63; + while (p[0] & 64) { + p++; + val = (val << 6) | (p[0] & 63); + } + *result = val; + return p+1; +} + +static inline int +write_varint(uint8_t *ptr, unsigned int val) +{ + int written = 1; + while (val >= 64) { + *ptr++ = 64 | (val & 63); + val >>= 6; + written++; + } + *ptr = (uint8_t)val; + return written; +} + +static inline int +write_signed_varint(uint8_t *ptr, int val) +{ + unsigned int uval; + if (val < 0) { + // (unsigned int)(-val) has an undefined behavior for INT_MIN + uval = ((0 - (unsigned int)val) << 1) | 1; + } + else { + uval = (unsigned int)val << 1; + } + return write_varint(ptr, uval); +} + +static inline int +write_location_entry_start(uint8_t *ptr, int code, int length) +{ + assert((code & 15) == code); + *ptr = 128 | (uint8_t)(code << 3) | (uint8_t)(length - 1); + return 1; +} + + +/** Counters + * The first 16-bit value in each inline cache is a counter. + * When counting misses, the counter is treated as a simple unsigned value. + * + * When counting executions until the next specialization attempt, + * exponential backoff is used to reduce the number of specialization failures. + * The high 12 bits store the counter, the low 4 bits store the backoff exponent. + * On a specialization failure, the backoff exponent is incremented and the + * counter set to (2**backoff - 1). + * Backoff == 6 -> starting counter == 63, backoff == 10 -> starting counter == 1023. + */ + +/* With a 16-bit counter, we have 12 bits for the counter value, and 4 bits for the backoff */ +#define ADAPTIVE_BACKOFF_BITS 4 + +// A value of 1 means that we attempt to specialize the *second* time each +// instruction is executed. Executing twice is a much better indicator of +// "hotness" than executing once, but additional warmup delays only prevent +// specialization. Most types stabilize by the second execution, too: +#define ADAPTIVE_WARMUP_VALUE 1 +#define ADAPTIVE_WARMUP_BACKOFF 1 + +// A value of 52 means that we attempt to re-specialize after 53 misses (a prime +// number, useful for avoiding artifacts if every nth value is a different type +// or something). Setting the backoff to 0 means that the counter is reset to +// the same state as a warming-up instruction (value == 1, backoff == 1) after +// deoptimization. This isn't strictly necessary, but it is bit easier to reason +// about when thinking about the opcode transitions as a state machine: +#define ADAPTIVE_COOLDOWN_VALUE 52 +#define ADAPTIVE_COOLDOWN_BACKOFF 0 + +#define MAX_BACKOFF_VALUE (16 - ADAPTIVE_BACKOFF_BITS) + + +static inline uint16_t +adaptive_counter_bits(uint16_t value, uint16_t backoff) { + return ((value << ADAPTIVE_BACKOFF_BITS) + | (backoff & ((1 << ADAPTIVE_BACKOFF_BITS) - 1))); +} + +static inline uint16_t +adaptive_counter_warmup(void) { + return adaptive_counter_bits(ADAPTIVE_WARMUP_VALUE, + ADAPTIVE_WARMUP_BACKOFF); +} + +static inline uint16_t +adaptive_counter_cooldown(void) { + return adaptive_counter_bits(ADAPTIVE_COOLDOWN_VALUE, + ADAPTIVE_COOLDOWN_BACKOFF); +} + +static inline uint16_t +adaptive_counter_backoff(uint16_t counter) { + uint16_t backoff = counter & ((1 << ADAPTIVE_BACKOFF_BITS) - 1); + backoff++; + if (backoff > MAX_BACKOFF_VALUE) { + backoff = MAX_BACKOFF_VALUE; + } + uint16_t value = (uint16_t)(1 << backoff) - 1; + return adaptive_counter_bits(value, backoff); +} + + +/* Line array cache for tracing */ + +typedef struct _PyShimCodeDef { + const uint8_t *code; + int codelen; + int stacksize; + const char *cname; +} _PyShimCodeDef; + +extern PyCodeObject * +_Py_MakeShimCode(const _PyShimCodeDef *code); + +extern uint32_t _Py_next_func_version; + + +/* Comparison bit masks. */ + +/* Note this evaluates its arguments twice each */ +#define COMPARISON_BIT(x, y) (1 << (2 * ((x) >= (y)) + ((x) <= (y)))) + +/* + * The following bits are chosen so that the value of + * COMPARSION_BIT(left, right) + * masked by the values below will be non-zero if the + * comparison is true, and zero if it is false */ + +/* This is for values that are unordered, ie. NaN, not types that are unordered, e.g. sets */ +#define COMPARISON_UNORDERED 1 + +#define COMPARISON_LESS_THAN 2 +#define COMPARISON_GREATER_THAN 4 +#define COMPARISON_EQUALS 8 + +#define COMPARISON_NOT_EQUALS (COMPARISON_UNORDERED | COMPARISON_LESS_THAN | COMPARISON_GREATER_THAN) + +extern int _Py_Instrument(PyCodeObject *co, PyInterpreterState *interp); + +extern int _Py_GetBaseOpcode(PyCodeObject *code, int offset); + + +#ifdef __cplusplus +} +#endif +#endif /* !Py_INTERNAL_CODE_H */ diff --git a/_Pre_Builds/_Python312_cpp/include/internal/pycore_compile.h b/_Pre_Builds/_Python312_cpp/include/internal/pycore_compile.h new file mode 100644 index 0000000..80a637e --- /dev/null +++ b/_Pre_Builds/_Python312_cpp/include/internal/pycore_compile.h @@ -0,0 +1,118 @@ +#ifndef Py_INTERNAL_COMPILE_H +#define Py_INTERNAL_COMPILE_H +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef Py_BUILD_CORE +# error "this header requires Py_BUILD_CORE define" +#endif + +struct _arena; // Type defined in pycore_pyarena.h +struct _mod; // Type defined in pycore_ast.h + +// Export the symbol for test_peg_generator (built as a library) +PyAPI_FUNC(PyCodeObject*) _PyAST_Compile( + struct _mod *mod, + PyObject *filename, + PyCompilerFlags *flags, + int optimize, + struct _arena *arena); + +static const _PyCompilerSrcLocation NO_LOCATION = {-1, -1, -1, -1}; + +typedef struct { + int optimize; + int ff_features; + + int recursion_depth; /* current recursion depth */ + int recursion_limit; /* recursion limit */ +} _PyASTOptimizeState; + +extern int _PyAST_Optimize( + struct _mod *, + struct _arena *arena, + _PyASTOptimizeState *state); + +typedef struct { + int h_offset; + int h_startdepth; + int h_preserve_lasti; +} _PyCompile_ExceptHandlerInfo; + +typedef struct { + int i_opcode; + int i_oparg; + _PyCompilerSrcLocation i_loc; + _PyCompile_ExceptHandlerInfo i_except_handler_info; +} _PyCompile_Instruction; + +typedef struct { + _PyCompile_Instruction *s_instrs; + int s_allocated; + int s_used; + + int *s_labelmap; /* label id --> instr offset */ + int s_labelmap_size; + int s_next_free_label; /* next free label id */ +} _PyCompile_InstructionSequence; + +typedef struct { + PyObject *u_name; + PyObject *u_qualname; /* dot-separated qualified name (lazy) */ + + /* The following fields are dicts that map objects to + the index of them in co_XXX. The index is used as + the argument for opcodes that refer to those collections. + */ + PyObject *u_consts; /* all constants */ + PyObject *u_names; /* all names */ + PyObject *u_varnames; /* local variables */ + PyObject *u_cellvars; /* cell variables */ + PyObject *u_freevars; /* free variables */ + PyObject *u_fasthidden; /* dict; keys are names that are fast-locals only + temporarily within an inlined comprehension. When + value is True, treat as fast-local. */ + + Py_ssize_t u_argcount; /* number of arguments for block */ + Py_ssize_t u_posonlyargcount; /* number of positional only arguments for block */ + Py_ssize_t u_kwonlyargcount; /* number of keyword only arguments for block */ + + int u_firstlineno; /* the first lineno of the block */ +} _PyCompile_CodeUnitMetadata; + + +/* Utility for a number of growing arrays used in the compiler */ +int _PyCompile_EnsureArrayLargeEnough( + int idx, + void **array, + int *alloc, + int default_alloc, + size_t item_size); + +int _PyCompile_ConstCacheMergeOne(PyObject *const_cache, PyObject **obj); + +int _PyCompile_InstrSize(int opcode, int oparg); + +/* Access compiler internals for unit testing */ + +PyAPI_FUNC(PyObject*) _PyCompile_CodeGen( + PyObject *ast, + PyObject *filename, + PyCompilerFlags *flags, + int optimize, + int compile_mode); + +PyAPI_FUNC(PyObject*) _PyCompile_OptimizeCfg( + PyObject *instructions, + PyObject *consts, + int nlocals); + +PyAPI_FUNC(PyCodeObject*) +_PyCompile_Assemble(_PyCompile_CodeUnitMetadata *umd, PyObject *filename, + PyObject *instructions); + +#ifdef __cplusplus +} +#endif +#endif /* !Py_INTERNAL_COMPILE_H */ diff --git a/_Pre_Builds/_Python312_cpp/include/internal/pycore_condvar.h b/_Pre_Builds/_Python312_cpp/include/internal/pycore_condvar.h new file mode 100644 index 0000000..981c962 --- /dev/null +++ b/_Pre_Builds/_Python312_cpp/include/internal/pycore_condvar.h @@ -0,0 +1,97 @@ +#ifndef Py_INTERNAL_CONDVAR_H +#define Py_INTERNAL_CONDVAR_H + +#ifndef Py_BUILD_CORE +# error "this header requires Py_BUILD_CORE define" +#endif + +#ifndef _POSIX_THREADS +/* This means pthreads are not implemented in libc headers, hence the macro + not present in unistd.h. But they still can be implemented as an external + library (e.g. gnu pth in pthread emulation) */ +# ifdef HAVE_PTHREAD_H +# include /* _POSIX_THREADS */ +# endif +#endif + +#ifdef _POSIX_THREADS +/* + * POSIX support + */ +#define Py_HAVE_CONDVAR + +#ifdef HAVE_PTHREAD_H +# include +#endif + +#define PyMUTEX_T pthread_mutex_t +#define PyCOND_T pthread_cond_t + +#elif defined(NT_THREADS) +/* + * Windows (XP, 2003 server and later, as well as (hopefully) CE) support + * + * Emulated condition variables ones that work with XP and later, plus + * example native support on VISTA and onwards. + */ +#define Py_HAVE_CONDVAR + +/* include windows if it hasn't been done before */ +#define WIN32_LEAN_AND_MEAN +#include + +/* options */ +/* non-emulated condition variables are provided for those that want + * to target Windows Vista. Modify this macro to enable them. + */ +#ifndef _PY_EMULATED_WIN_CV +#define _PY_EMULATED_WIN_CV 1 /* use emulated condition variables */ +#endif + +/* fall back to emulation if not targeting Vista */ +#if !defined NTDDI_VISTA || NTDDI_VERSION < NTDDI_VISTA +#undef _PY_EMULATED_WIN_CV +#define _PY_EMULATED_WIN_CV 1 +#endif + +#if _PY_EMULATED_WIN_CV + +typedef CRITICAL_SECTION PyMUTEX_T; + +/* The ConditionVariable object. From XP onwards it is easily emulated + with a Semaphore. + Semaphores are available on Windows XP (2003 server) and later. + We use a Semaphore rather than an auto-reset event, because although + an auto-reset event might appear to solve the lost-wakeup bug (race + condition between releasing the outer lock and waiting) because it + maintains state even though a wait hasn't happened, there is still + a lost wakeup problem if more than one thread are interrupted in the + critical place. A semaphore solves that, because its state is + counted, not Boolean. + Because it is ok to signal a condition variable with no one + waiting, we need to keep track of the number of + waiting threads. Otherwise, the semaphore's state could rise + without bound. This also helps reduce the number of "spurious wakeups" + that would otherwise happen. + */ + +typedef struct _PyCOND_T +{ + HANDLE sem; + int waiting; /* to allow PyCOND_SIGNAL to be a no-op */ +} PyCOND_T; + +#else /* !_PY_EMULATED_WIN_CV */ + +/* Use native Win7 primitives if build target is Win7 or higher */ + +/* SRWLOCK is faster and better than CriticalSection */ +typedef SRWLOCK PyMUTEX_T; + +typedef CONDITION_VARIABLE PyCOND_T; + +#endif /* _PY_EMULATED_WIN_CV */ + +#endif /* _POSIX_THREADS, NT_THREADS */ + +#endif /* Py_INTERNAL_CONDVAR_H */ diff --git a/_Pre_Builds/_Python312_cpp/include/internal/pycore_context.h b/_Pre_Builds/_Python312_cpp/include/internal/pycore_context.h new file mode 100644 index 0000000..52dfe3e --- /dev/null +++ b/_Pre_Builds/_Python312_cpp/include/internal/pycore_context.h @@ -0,0 +1,71 @@ +#ifndef Py_INTERNAL_CONTEXT_H +#define Py_INTERNAL_CONTEXT_H + +#ifndef Py_BUILD_CORE +# error "this header requires Py_BUILD_CORE define" +#endif + +#include "pycore_hamt.h" /* PyHamtObject */ + + +extern PyTypeObject _PyContextTokenMissing_Type; + +/* runtime lifecycle */ + +PyStatus _PyContext_Init(PyInterpreterState *); +void _PyContext_Fini(PyInterpreterState *); + + +/* other API */ + +typedef struct { + PyObject_HEAD +} _PyContextTokenMissing; + +#ifndef WITH_FREELISTS +// without freelists +# define PyContext_MAXFREELIST 0 +#endif + +#ifndef PyContext_MAXFREELIST +# define PyContext_MAXFREELIST 255 +#endif + +struct _Py_context_state { +#if PyContext_MAXFREELIST > 0 + // List of free PyContext objects + PyContext *freelist; + int numfree; +#endif +}; + +struct _pycontextobject { + PyObject_HEAD + PyContext *ctx_prev; + PyHamtObject *ctx_vars; + PyObject *ctx_weakreflist; + int ctx_entered; +}; + + +struct _pycontextvarobject { + PyObject_HEAD + PyObject *var_name; + PyObject *var_default; + PyObject *var_cached; + uint64_t var_cached_tsid; + uint64_t var_cached_tsver; + Py_hash_t var_hash; +}; + + +struct _pycontexttokenobject { + PyObject_HEAD + PyContext *tok_ctx; + PyContextVar *tok_var; + PyObject *tok_oldval; + int tok_used; +}; + + +#endif /* !Py_INTERNAL_CONTEXT_H */ diff --git a/_Pre_Builds/_Python312_cpp/include/internal/pycore_descrobject.h b/_Pre_Builds/_Python312_cpp/include/internal/pycore_descrobject.h new file mode 100644 index 0000000..7637856 --- /dev/null +++ b/_Pre_Builds/_Python312_cpp/include/internal/pycore_descrobject.h @@ -0,0 +1,26 @@ +#ifndef Py_INTERNAL_DESCROBJECT_H +#define Py_INTERNAL_DESCROBJECT_H +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef Py_BUILD_CORE +# error "this header requires Py_BUILD_CORE define" +#endif + +typedef struct { + PyObject_HEAD + PyObject *prop_get; + PyObject *prop_set; + PyObject *prop_del; + PyObject *prop_doc; + PyObject *prop_name; + int getter_doc; +} propertyobject; + +typedef propertyobject _PyPropertyObject; + +#ifdef __cplusplus +} +#endif +#endif /* !Py_INTERNAL_DESCROBJECT_H */ diff --git a/_Pre_Builds/_Python312_cpp/include/internal/pycore_dict.h b/_Pre_Builds/_Python312_cpp/include/internal/pycore_dict.h new file mode 100644 index 0000000..6253e08 --- /dev/null +++ b/_Pre_Builds/_Python312_cpp/include/internal/pycore_dict.h @@ -0,0 +1,199 @@ + +#ifndef Py_INTERNAL_DICT_H +#define Py_INTERNAL_DICT_H +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef Py_BUILD_CORE +# error "this header requires Py_BUILD_CORE define" +#endif + +#include "pycore_dict_state.h" +#include "pycore_runtime.h" // _PyRuntime + + +/* runtime lifecycle */ + +extern void _PyDict_Fini(PyInterpreterState *interp); + + +/* other API */ + +typedef struct { + /* Cached hash code of me_key. */ + Py_hash_t me_hash; + PyObject *me_key; + PyObject *me_value; /* This field is only meaningful for combined tables */ +} PyDictKeyEntry; + +typedef struct { + PyObject *me_key; /* The key must be Unicode and have hash. */ + PyObject *me_value; /* This field is only meaningful for combined tables */ +} PyDictUnicodeEntry; + +extern PyDictKeysObject *_PyDict_NewKeysForClass(void); +extern PyObject *_PyDict_FromKeys(PyObject *, PyObject *, PyObject *); + +/* Gets a version number unique to the current state of the keys of dict, if possible. + * Returns the version number, or zero if it was not possible to get a version number. */ +extern uint32_t _PyDictKeys_GetVersionForCurrentState( + PyInterpreterState *interp, PyDictKeysObject *dictkeys); + +extern size_t _PyDict_KeysSize(PyDictKeysObject *keys); + +/* _Py_dict_lookup() returns index of entry which can be used like DK_ENTRIES(dk)[index]. + * -1 when no entry found, -3 when compare raises error. + */ +extern Py_ssize_t _Py_dict_lookup(PyDictObject *mp, PyObject *key, Py_hash_t hash, PyObject **value_addr); + +extern Py_ssize_t _PyDict_LookupIndex(PyDictObject *, PyObject *); +extern Py_ssize_t _PyDictKeys_StringLookup(PyDictKeysObject* dictkeys, PyObject *key); +extern PyObject *_PyDict_LoadGlobal(PyDictObject *, PyDictObject *, PyObject *); + +/* Consumes references to key and value */ +extern int _PyDict_SetItem_Take2(PyDictObject *op, PyObject *key, PyObject *value); +extern int _PyObjectDict_SetItem(PyTypeObject *tp, PyObject **dictptr, PyObject *name, PyObject *value); + +extern PyObject *_PyDict_Pop_KnownHash(PyObject *, PyObject *, Py_hash_t, PyObject *); + +#define DKIX_EMPTY (-1) +#define DKIX_DUMMY (-2) /* Used internally */ +#define DKIX_ERROR (-3) +#define DKIX_KEY_CHANGED (-4) /* Used internally */ + +typedef enum { + DICT_KEYS_GENERAL = 0, + DICT_KEYS_UNICODE = 1, + DICT_KEYS_SPLIT = 2 +} DictKeysKind; + +/* See dictobject.c for actual layout of DictKeysObject */ +struct _dictkeysobject { + Py_ssize_t dk_refcnt; + + /* Size of the hash table (dk_indices). It must be a power of 2. */ + uint8_t dk_log2_size; + + /* Size of the hash table (dk_indices) by bytes. */ + uint8_t dk_log2_index_bytes; + + /* Kind of keys */ + uint8_t dk_kind; + + /* Version number -- Reset to 0 by any modification to keys */ + uint32_t dk_version; + + /* Number of usable entries in dk_entries. */ + Py_ssize_t dk_usable; + + /* Number of used entries in dk_entries. */ + Py_ssize_t dk_nentries; + + /* Actual hash table of dk_size entries. It holds indices in dk_entries, + or DKIX_EMPTY(-1) or DKIX_DUMMY(-2). + + Indices must be: 0 <= indice < USABLE_FRACTION(dk_size). + + The size in bytes of an indice depends on dk_size: + + - 1 byte if dk_size <= 0xff (char*) + - 2 bytes if dk_size <= 0xffff (int16_t*) + - 4 bytes if dk_size <= 0xffffffff (int32_t*) + - 8 bytes otherwise (int64_t*) + + Dynamically sized, SIZEOF_VOID_P is minimum. */ + char dk_indices[]; /* char is required to avoid strict aliasing. */ + + /* "PyDictKeyEntry or PyDictUnicodeEntry dk_entries[USABLE_FRACTION(DK_SIZE(dk))];" array follows: + see the DK_ENTRIES() macro */ +}; + +/* This must be no more than 250, for the prefix size to fit in one byte. */ +#define SHARED_KEYS_MAX_SIZE 30 +#define NEXT_LOG2_SHARED_KEYS_MAX_SIZE 6 + +/* Layout of dict values: + * + * The PyObject *values are preceded by an array of bytes holding + * the insertion order and size. + * [-1] = prefix size. [-2] = used size. size[-2-n...] = insertion order. + */ +struct _dictvalues { + PyObject *values[1]; +}; + +#define DK_LOG_SIZE(dk) _Py_RVALUE((dk)->dk_log2_size) +#if SIZEOF_VOID_P > 4 +#define DK_SIZE(dk) (((int64_t)1)<dk_indices); + size_t index = (size_t)1 << dk->dk_log2_index_bytes; + return (&indices[index]); +} +static inline PyDictKeyEntry* DK_ENTRIES(PyDictKeysObject *dk) { + assert(dk->dk_kind == DICT_KEYS_GENERAL); + return (PyDictKeyEntry*)_DK_ENTRIES(dk); +} +static inline PyDictUnicodeEntry* DK_UNICODE_ENTRIES(PyDictKeysObject *dk) { + assert(dk->dk_kind != DICT_KEYS_GENERAL); + return (PyDictUnicodeEntry*)_DK_ENTRIES(dk); +} + +#define DK_IS_UNICODE(dk) ((dk)->dk_kind != DICT_KEYS_GENERAL) + +#define DICT_VERSION_INCREMENT (1 << DICT_MAX_WATCHERS) +#define DICT_VERSION_MASK (DICT_VERSION_INCREMENT - 1) + +#define DICT_NEXT_VERSION(INTERP) \ + ((INTERP)->dict_state.global_version += DICT_VERSION_INCREMENT) + +void +_PyDict_SendEvent(int watcher_bits, + PyDict_WatchEvent event, + PyDictObject *mp, + PyObject *key, + PyObject *value); + +static inline uint64_t +_PyDict_NotifyEvent(PyInterpreterState *interp, + PyDict_WatchEvent event, + PyDictObject *mp, + PyObject *key, + PyObject *value) +{ + assert(Py_REFCNT((PyObject*)mp) > 0); + int watcher_bits = mp->ma_version_tag & DICT_VERSION_MASK; + if (watcher_bits) { + _PyDict_SendEvent(watcher_bits, event, mp, key, value); + return DICT_NEXT_VERSION(interp) | watcher_bits; + } + return DICT_NEXT_VERSION(interp); +} + +extern PyObject *_PyObject_MakeDictFromInstanceAttributes(PyObject *obj, PyDictValues *values); +extern PyObject *_PyDict_FromItems( + PyObject *const *keys, Py_ssize_t keys_offset, + PyObject *const *values, Py_ssize_t values_offset, + Py_ssize_t length); + +static inline void +_PyDictValues_AddToInsertionOrder(PyDictValues *values, Py_ssize_t ix) +{ + assert(ix < SHARED_KEYS_MAX_SIZE); + uint8_t *size_ptr = ((uint8_t *)values)-2; + int size = *size_ptr; + assert(size+2 < ((uint8_t *)values)[-1]); + size++; + size_ptr[-size] = (uint8_t)ix; + *size_ptr = size; +} + +#ifdef __cplusplus +} +#endif +#endif /* !Py_INTERNAL_DICT_H */ diff --git a/_Pre_Builds/_Python312_cpp/include/internal/pycore_dict_state.h b/_Pre_Builds/_Python312_cpp/include/internal/pycore_dict_state.h new file mode 100644 index 0000000..ece0f10 --- /dev/null +++ b/_Pre_Builds/_Python312_cpp/include/internal/pycore_dict_state.h @@ -0,0 +1,50 @@ +#ifndef Py_INTERNAL_DICT_STATE_H +#define Py_INTERNAL_DICT_STATE_H +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef Py_BUILD_CORE +# error "this header requires Py_BUILD_CORE define" +#endif + + +#ifndef WITH_FREELISTS +// without freelists +# define PyDict_MAXFREELIST 0 +#endif + +#ifndef PyDict_MAXFREELIST +# define PyDict_MAXFREELIST 80 +#endif + +#define DICT_MAX_WATCHERS 8 + +struct _Py_dict_state { + /*Global counter used to set ma_version_tag field of dictionary. + * It is incremented each time that a dictionary is created and each + * time that a dictionary is modified. */ + uint64_t global_version; + uint32_t next_keys_version; + +#if PyDict_MAXFREELIST > 0 + /* Dictionary reuse scheme to save calls to malloc and free */ + PyDictObject *free_list[PyDict_MAXFREELIST]; + PyDictKeysObject *keys_free_list[PyDict_MAXFREELIST]; + int numfree; + int keys_numfree; +#endif + + PyDict_WatchCallback watchers[DICT_MAX_WATCHERS]; +}; + +#define _dict_state_INIT \ + { \ + .next_keys_version = 2, \ + } + + +#ifdef __cplusplus +} +#endif +#endif /* !Py_INTERNAL_DICT_STATE_H */ diff --git a/_Pre_Builds/_Python312_cpp/include/internal/pycore_dtoa.h b/_Pre_Builds/_Python312_cpp/include/internal/pycore_dtoa.h new file mode 100644 index 0000000..4d9681d --- /dev/null +++ b/_Pre_Builds/_Python312_cpp/include/internal/pycore_dtoa.h @@ -0,0 +1,73 @@ +#ifndef Py_INTERNAL_DTOA_H +#define Py_INTERNAL_DTOA_H +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef Py_BUILD_CORE +# error "this header requires Py_BUILD_CORE define" +#endif + +#include "pycore_pymath.h" // _PY_SHORT_FLOAT_REPR + + +#if _PY_SHORT_FLOAT_REPR == 1 + +typedef uint32_t ULong; + +struct +Bigint { + struct Bigint *next; + int k, maxwds, sign, wds; + ULong x[1]; +}; + +#ifdef Py_USING_MEMORY_DEBUGGER + +struct _dtoa_state { + int _not_used; +}; +#define _dtoa_interp_state_INIT(INTERP) \ + {0} + +#else // !Py_USING_MEMORY_DEBUGGER + +/* The size of the Bigint freelist */ +#define Bigint_Kmax 7 + +#ifndef PRIVATE_MEM +#define PRIVATE_MEM 2304 +#endif +#define Bigint_PREALLOC_SIZE \ + ((PRIVATE_MEM+sizeof(double)-1)/sizeof(double)) + +struct _dtoa_state { + /* p5s is a linked list of powers of 5 of the form 5**(2**i), i >= 2 */ + // XXX This should be freed during runtime fini. + struct Bigint *p5s; + struct Bigint *freelist[Bigint_Kmax+1]; + double preallocated[Bigint_PREALLOC_SIZE]; + double *preallocated_next; +}; +#define _dtoa_state_INIT(INTERP) \ + { \ + .preallocated_next = (INTERP)->dtoa.preallocated, \ + } + +#endif // !Py_USING_MEMORY_DEBUGGER + + +/* These functions are used by modules compiled as C extension like math: + they must be exported. */ + +PyAPI_FUNC(double) _Py_dg_strtod(const char *str, char **ptr); +PyAPI_FUNC(char *) _Py_dg_dtoa(double d, int mode, int ndigits, + int *decpt, int *sign, char **rve); +PyAPI_FUNC(void) _Py_dg_freedtoa(char *s); + +#endif // _PY_SHORT_FLOAT_REPR == 1 + +#ifdef __cplusplus +} +#endif +#endif /* !Py_INTERNAL_DTOA_H */ diff --git a/_Pre_Builds/_Python312_cpp/include/internal/pycore_emscripten_signal.h b/_Pre_Builds/_Python312_cpp/include/internal/pycore_emscripten_signal.h new file mode 100644 index 0000000..8b3287d --- /dev/null +++ b/_Pre_Builds/_Python312_cpp/include/internal/pycore_emscripten_signal.h @@ -0,0 +1,25 @@ +#ifndef Py_EMSCRIPTEN_SIGNAL_H +#define Py_EMSCRIPTEN_SIGNAL_H + +#if defined(__EMSCRIPTEN__) + +void +_Py_CheckEmscriptenSignals(void); + +void +_Py_CheckEmscriptenSignalsPeriodically(void); + +#define _Py_CHECK_EMSCRIPTEN_SIGNALS() _Py_CheckEmscriptenSignals() + +#define _Py_CHECK_EMSCRIPTEN_SIGNALS_PERIODICALLY() _Py_CheckEmscriptenSignalsPeriodically() + +extern int Py_EMSCRIPTEN_SIGNAL_HANDLING; + +#else + +#define _Py_CHECK_EMSCRIPTEN_SIGNALS() +#define _Py_CHECK_EMSCRIPTEN_SIGNALS_PERIODICALLY() + +#endif // defined(__EMSCRIPTEN__) + +#endif // ndef Py_EMSCRIPTEN_SIGNAL_H diff --git a/_Pre_Builds/_Python312_cpp/include/internal/pycore_exceptions.h b/_Pre_Builds/_Python312_cpp/include/internal/pycore_exceptions.h new file mode 100644 index 0000000..4a9df70 --- /dev/null +++ b/_Pre_Builds/_Python312_cpp/include/internal/pycore_exceptions.h @@ -0,0 +1,37 @@ +#ifndef Py_INTERNAL_EXCEPTIONS_H +#define Py_INTERNAL_EXCEPTIONS_H +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef Py_BUILD_CORE +# error "this header requires Py_BUILD_CORE define" +#endif + + +/* runtime lifecycle */ + +extern PyStatus _PyExc_InitState(PyInterpreterState *); +extern PyStatus _PyExc_InitGlobalObjects(PyInterpreterState *); +extern int _PyExc_InitTypes(PyInterpreterState *); +extern void _PyExc_Fini(PyInterpreterState *); + + +/* other API */ + +struct _Py_exc_state { + // The dict mapping from errno codes to OSError subclasses + PyObject *errnomap; + PyBaseExceptionObject *memerrors_freelist; + int memerrors_numfree; + // The ExceptionGroup type + PyObject *PyExc_ExceptionGroup; +}; + +extern void _PyExc_ClearExceptionGroupType(PyInterpreterState *); + + +#ifdef __cplusplus +} +#endif +#endif /* !Py_INTERNAL_EXCEPTIONS_H */ diff --git a/_Pre_Builds/_Python312_cpp/include/internal/pycore_faulthandler.h b/_Pre_Builds/_Python312_cpp/include/internal/pycore_faulthandler.h new file mode 100644 index 0000000..e6aec77 --- /dev/null +++ b/_Pre_Builds/_Python312_cpp/include/internal/pycore_faulthandler.h @@ -0,0 +1,99 @@ +#ifndef Py_INTERNAL_FAULTHANDLER_H +#define Py_INTERNAL_FAULTHANDLER_H +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef Py_BUILD_CORE +# error "this header requires Py_BUILD_CORE define" +#endif + +#ifdef HAVE_SIGACTION +# include +#endif + + +#ifndef MS_WINDOWS + /* register() is useless on Windows, because only SIGSEGV, SIGABRT and + SIGILL can be handled by the process, and these signals can only be used + with enable(), not using register() */ +# define FAULTHANDLER_USER +#endif + + +#ifdef HAVE_SIGACTION +/* Using an alternative stack requires sigaltstack() + and sigaction() SA_ONSTACK */ +# ifdef HAVE_SIGALTSTACK +# define FAULTHANDLER_USE_ALT_STACK +# endif +typedef struct sigaction _Py_sighandler_t; +#else +typedef PyOS_sighandler_t _Py_sighandler_t; +#endif // HAVE_SIGACTION + + +#ifdef FAULTHANDLER_USER +struct faulthandler_user_signal { + int enabled; + PyObject *file; + int fd; + int all_threads; + int chain; + _Py_sighandler_t previous; + PyInterpreterState *interp; +}; +#endif /* FAULTHANDLER_USER */ + + +struct _faulthandler_runtime_state { + struct { + int enabled; + PyObject *file; + int fd; + int all_threads; + PyInterpreterState *interp; +#ifdef MS_WINDOWS + void *exc_handler; +#endif + } fatal_error; + + struct { + PyObject *file; + int fd; + PY_TIMEOUT_T timeout_us; /* timeout in microseconds */ + int repeat; + PyInterpreterState *interp; + int exit; + char *header; + size_t header_len; + /* The main thread always holds this lock. It is only released when + faulthandler_thread() is interrupted before this thread exits, or at + Python exit. */ + PyThread_type_lock cancel_event; + /* released by child thread when joined */ + PyThread_type_lock running; + } thread; + +#ifdef FAULTHANDLER_USER + struct faulthandler_user_signal *user_signals; +#endif + +#ifdef FAULTHANDLER_USE_ALT_STACK + stack_t stack; + stack_t old_stack; +#endif +}; + +#define _faulthandler_runtime_state_INIT \ + { \ + .fatal_error = { \ + .fd = -1, \ + }, \ + } + + +#ifdef __cplusplus +} +#endif +#endif /* !Py_INTERNAL_FAULTHANDLER_H */ diff --git a/_Pre_Builds/_Python312_cpp/include/internal/pycore_fileutils.h b/_Pre_Builds/_Python312_cpp/include/internal/pycore_fileutils.h new file mode 100644 index 0000000..7c2b6ec --- /dev/null +++ b/_Pre_Builds/_Python312_cpp/include/internal/pycore_fileutils.h @@ -0,0 +1,292 @@ +#ifndef Py_INTERNAL_FILEUTILS_H +#define Py_INTERNAL_FILEUTILS_H +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef Py_BUILD_CORE +# error "Py_BUILD_CORE must be defined to include this header" +#endif + +#include /* struct lconv */ + + +struct _fileutils_state { + int force_ascii; +}; + +typedef enum { + _Py_ERROR_UNKNOWN=0, + _Py_ERROR_STRICT, + _Py_ERROR_SURROGATEESCAPE, + _Py_ERROR_REPLACE, + _Py_ERROR_IGNORE, + _Py_ERROR_BACKSLASHREPLACE, + _Py_ERROR_SURROGATEPASS, + _Py_ERROR_XMLCHARREFREPLACE, + _Py_ERROR_OTHER +} _Py_error_handler; + +PyAPI_FUNC(_Py_error_handler) _Py_GetErrorHandler(const char *errors); + +PyAPI_FUNC(int) _Py_DecodeLocaleEx( + const char *arg, + wchar_t **wstr, + size_t *wlen, + const char **reason, + int current_locale, + _Py_error_handler errors); + +PyAPI_FUNC(int) _Py_EncodeLocaleEx( + const wchar_t *text, + char **str, + size_t *error_pos, + const char **reason, + int current_locale, + _Py_error_handler errors); + +PyAPI_FUNC(char*) _Py_EncodeLocaleRaw( + const wchar_t *text, + size_t *error_pos); + +PyAPI_FUNC(PyObject *) _Py_device_encoding(int); + +#if defined(MS_WINDOWS) || defined(__APPLE__) + /* On Windows, the count parameter of read() is an int (bpo-9015, bpo-9611). + On macOS 10.13, read() and write() with more than INT_MAX bytes + fail with EINVAL (bpo-24658). */ +# define _PY_READ_MAX INT_MAX +# define _PY_WRITE_MAX INT_MAX +#else + /* write() should truncate the input to PY_SSIZE_T_MAX bytes, + but it's safer to do it ourself to have a portable behaviour */ +# define _PY_READ_MAX PY_SSIZE_T_MAX +# define _PY_WRITE_MAX PY_SSIZE_T_MAX +#endif + +#ifdef MS_WINDOWS +struct _Py_stat_struct { + uint64_t st_dev; + uint64_t st_ino; + unsigned short st_mode; + int st_nlink; + int st_uid; + int st_gid; + unsigned long st_rdev; + __int64 st_size; + time_t st_atime; + int st_atime_nsec; + time_t st_mtime; + int st_mtime_nsec; + time_t st_ctime; + int st_ctime_nsec; + time_t st_birthtime; + int st_birthtime_nsec; + unsigned long st_file_attributes; + unsigned long st_reparse_tag; + uint64_t st_ino_high; +}; +#else +# define _Py_stat_struct stat +#endif + +PyAPI_FUNC(int) _Py_fstat( + int fd, + struct _Py_stat_struct *status); + +PyAPI_FUNC(int) _Py_fstat_noraise( + int fd, + struct _Py_stat_struct *status); + +PyAPI_FUNC(int) _Py_stat( + PyObject *path, + struct stat *status); + +PyAPI_FUNC(int) _Py_open( + const char *pathname, + int flags); + +PyAPI_FUNC(int) _Py_open_noraise( + const char *pathname, + int flags); + +PyAPI_FUNC(FILE *) _Py_wfopen( + const wchar_t *path, + const wchar_t *mode); + +PyAPI_FUNC(Py_ssize_t) _Py_read( + int fd, + void *buf, + size_t count); + +PyAPI_FUNC(Py_ssize_t) _Py_write( + int fd, + const void *buf, + size_t count); + +PyAPI_FUNC(Py_ssize_t) _Py_write_noraise( + int fd, + const void *buf, + size_t count); + +#ifdef HAVE_READLINK +PyAPI_FUNC(int) _Py_wreadlink( + const wchar_t *path, + wchar_t *buf, + /* Number of characters of 'buf' buffer + including the trailing NUL character */ + size_t buflen); +#endif + +#ifdef HAVE_REALPATH +PyAPI_FUNC(wchar_t*) _Py_wrealpath( + const wchar_t *path, + wchar_t *resolved_path, + /* Number of characters of 'resolved_path' buffer + including the trailing NUL character */ + size_t resolved_path_len); +#endif + +PyAPI_FUNC(wchar_t*) _Py_wgetcwd( + wchar_t *buf, + /* Number of characters of 'buf' buffer + including the trailing NUL character */ + size_t buflen); + +PyAPI_FUNC(int) _Py_get_inheritable(int fd); + +PyAPI_FUNC(int) _Py_set_inheritable(int fd, int inheritable, + int *atomic_flag_works); + +PyAPI_FUNC(int) _Py_set_inheritable_async_safe(int fd, int inheritable, + int *atomic_flag_works); + +PyAPI_FUNC(int) _Py_dup(int fd); + +PyAPI_FUNC(int) _Py_get_blocking(int fd); + +PyAPI_FUNC(int) _Py_set_blocking(int fd, int blocking); + +#ifdef MS_WINDOWS +PyAPI_FUNC(void*) _Py_get_osfhandle_noraise(int fd); + +PyAPI_FUNC(void*) _Py_get_osfhandle(int fd); + +PyAPI_FUNC(int) _Py_open_osfhandle_noraise(void *handle, int flags); + +PyAPI_FUNC(int) _Py_open_osfhandle(void *handle, int flags); +#endif /* MS_WINDOWS */ + +// This is used after getting NULL back from Py_DecodeLocale(). +#define DECODE_LOCALE_ERR(NAME, LEN) \ + ((LEN) == (size_t)-2) \ + ? _PyStatus_ERR("cannot decode " NAME) \ + : _PyStatus_NO_MEMORY() + +PyAPI_DATA(int) _Py_HasFileSystemDefaultEncodeErrors; + +PyAPI_FUNC(int) _Py_DecodeUTF8Ex( + const char *arg, + Py_ssize_t arglen, + wchar_t **wstr, + size_t *wlen, + const char **reason, + _Py_error_handler errors); + +PyAPI_FUNC(int) _Py_EncodeUTF8Ex( + const wchar_t *text, + char **str, + size_t *error_pos, + const char **reason, + int raw_malloc, + _Py_error_handler errors); + +PyAPI_FUNC(wchar_t*) _Py_DecodeUTF8_surrogateescape( + const char *arg, + Py_ssize_t arglen, + size_t *wlen); + +extern int +_Py_wstat(const wchar_t *, struct stat *); + +PyAPI_FUNC(int) _Py_GetForceASCII(void); + +/* Reset "force ASCII" mode (if it was initialized). + + This function should be called when Python changes the LC_CTYPE locale, + so the "force ASCII" mode can be detected again on the new locale + encoding. */ +PyAPI_FUNC(void) _Py_ResetForceASCII(void); + + +PyAPI_FUNC(int) _Py_GetLocaleconvNumeric( + struct lconv *lc, + PyObject **decimal_point, + PyObject **thousands_sep); + +PyAPI_FUNC(void) _Py_closerange(int first, int last); + +PyAPI_FUNC(wchar_t*) _Py_GetLocaleEncoding(void); +PyAPI_FUNC(PyObject*) _Py_GetLocaleEncodingObject(void); + +#ifdef HAVE_NON_UNICODE_WCHAR_T_REPRESENTATION +extern int _Py_LocaleUsesNonUnicodeWchar(void); + +extern wchar_t* _Py_DecodeNonUnicodeWchar( + const wchar_t* native, + Py_ssize_t size); + +extern int _Py_EncodeNonUnicodeWchar_InPlace( + wchar_t* unicode, + Py_ssize_t size); +#endif + +extern int _Py_isabs(const wchar_t *path); +extern int _Py_abspath(const wchar_t *path, wchar_t **abspath_p); +#ifdef MS_WINDOWS +extern int _PyOS_getfullpathname(const wchar_t *path, wchar_t **abspath_p); +#endif +extern wchar_t * _Py_join_relfile(const wchar_t *dirname, + const wchar_t *relfile); +extern int _Py_add_relfile(wchar_t *dirname, + const wchar_t *relfile, + size_t bufsize); +extern size_t _Py_find_basename(const wchar_t *filename); +PyAPI_FUNC(wchar_t*) _Py_normpath(wchar_t *path, Py_ssize_t size); +extern wchar_t *_Py_normpath_and_size(wchar_t *path, Py_ssize_t size, Py_ssize_t *length); + +// The Windows Games API family does not provide these functions +// so provide our own implementations. Remove them in case they get added +// to the Games API family +#if defined(MS_WINDOWS_GAMES) && !defined(MS_WINDOWS_DESKTOP) +#include + +extern HRESULT PathCchSkipRoot(const wchar_t *pszPath, const wchar_t **ppszRootEnd); +#endif /* defined(MS_WINDOWS_GAMES) && !defined(MS_WINDOWS_DESKTOP) */ + +// Macros to protect CRT calls against instant termination when passed an +// invalid parameter (bpo-23524). IPH stands for Invalid Parameter Handler. +// Usage: +// +// _Py_BEGIN_SUPPRESS_IPH +// ... +// _Py_END_SUPPRESS_IPH +#if defined _MSC_VER && _MSC_VER >= 1900 + +# include // _set_thread_local_invalid_parameter_handler() + + extern _invalid_parameter_handler _Py_silent_invalid_parameter_handler; +# define _Py_BEGIN_SUPPRESS_IPH \ + { _invalid_parameter_handler _Py_old_handler = \ + _set_thread_local_invalid_parameter_handler(_Py_silent_invalid_parameter_handler); +# define _Py_END_SUPPRESS_IPH \ + _set_thread_local_invalid_parameter_handler(_Py_old_handler); } +#else +# define _Py_BEGIN_SUPPRESS_IPH +# define _Py_END_SUPPRESS_IPH +#endif /* _MSC_VER >= 1900 */ + +#ifdef __cplusplus +} +#endif +#endif /* !Py_INTERNAL_FILEUTILS_H */ diff --git a/_Pre_Builds/_Python312_cpp/include/internal/pycore_fileutils_windows.h b/_Pre_Builds/_Python312_cpp/include/internal/pycore_fileutils_windows.h new file mode 100644 index 0000000..e804d38 --- /dev/null +++ b/_Pre_Builds/_Python312_cpp/include/internal/pycore_fileutils_windows.h @@ -0,0 +1,98 @@ +#ifndef Py_INTERNAL_FILEUTILS_WINDOWS_H +#define Py_INTERNAL_FILEUTILS_WINDOWS_H +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef Py_BUILD_CORE +# error "Py_BUILD_CORE must be defined to include this header" +#endif + +#ifdef MS_WINDOWS + +#if !defined(NTDDI_WIN10_NI) || !(NTDDI_VERSION >= NTDDI_WIN10_NI) +typedef struct _FILE_STAT_BASIC_INFORMATION { + LARGE_INTEGER FileId; + LARGE_INTEGER CreationTime; + LARGE_INTEGER LastAccessTime; + LARGE_INTEGER LastWriteTime; + LARGE_INTEGER ChangeTime; + LARGE_INTEGER AllocationSize; + LARGE_INTEGER EndOfFile; + ULONG FileAttributes; + ULONG ReparseTag; + ULONG NumberOfLinks; + ULONG DeviceType; + ULONG DeviceCharacteristics; + ULONG Reserved; + LARGE_INTEGER VolumeSerialNumber; + FILE_ID_128 FileId128; +} FILE_STAT_BASIC_INFORMATION; + +typedef enum _FILE_INFO_BY_NAME_CLASS { + FileStatByNameInfo, + FileStatLxByNameInfo, + FileCaseSensitiveByNameInfo, + FileStatBasicByNameInfo, + MaximumFileInfoByNameClass +} FILE_INFO_BY_NAME_CLASS; +#endif + +typedef BOOL (WINAPI *PGetFileInformationByName)( + PCWSTR FileName, + FILE_INFO_BY_NAME_CLASS FileInformationClass, + PVOID FileInfoBuffer, + ULONG FileInfoBufferSize +); + +static inline BOOL _Py_GetFileInformationByName( + PCWSTR FileName, + FILE_INFO_BY_NAME_CLASS FileInformationClass, + PVOID FileInfoBuffer, + ULONG FileInfoBufferSize +) { + static PGetFileInformationByName GetFileInformationByName = NULL; + static int GetFileInformationByName_init = -1; + + if (GetFileInformationByName_init < 0) { + HMODULE hMod = LoadLibraryW(L"api-ms-win-core-file-l2-1-4"); + GetFileInformationByName_init = 0; + if (hMod) { + GetFileInformationByName = (PGetFileInformationByName)GetProcAddress( + hMod, "GetFileInformationByName"); + if (GetFileInformationByName) { + GetFileInformationByName_init = 1; + } else { + FreeLibrary(hMod); + } + } + } + + if (GetFileInformationByName_init <= 0) { + SetLastError(ERROR_NOT_SUPPORTED); + return FALSE; + } + return GetFileInformationByName(FileName, FileInformationClass, FileInfoBuffer, FileInfoBufferSize); +} + +static inline BOOL _Py_GetFileInformationByName_ErrorIsTrustworthy(int error) +{ + switch(error) { + case ERROR_FILE_NOT_FOUND: + case ERROR_PATH_NOT_FOUND: + case ERROR_NOT_READY: + case ERROR_BAD_NET_NAME: + case ERROR_BAD_NETPATH: + case ERROR_BAD_PATHNAME: + case ERROR_INVALID_NAME: + case ERROR_FILENAME_EXCED_RANGE: + return TRUE; + case ERROR_NOT_SUPPORTED: + return FALSE; + } + return FALSE; +} + +#endif + +#endif diff --git a/_Pre_Builds/_Python312_cpp/include/internal/pycore_floatobject.h b/_Pre_Builds/_Python312_cpp/include/internal/pycore_floatobject.h new file mode 100644 index 0000000..27c63bc --- /dev/null +++ b/_Pre_Builds/_Python312_cpp/include/internal/pycore_floatobject.h @@ -0,0 +1,71 @@ +#ifndef Py_INTERNAL_FLOATOBJECT_H +#define Py_INTERNAL_FLOATOBJECT_H +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef Py_BUILD_CORE +# error "this header requires Py_BUILD_CORE define" +#endif + + +/* runtime lifecycle */ + +extern void _PyFloat_InitState(PyInterpreterState *); +extern PyStatus _PyFloat_InitTypes(PyInterpreterState *); +extern void _PyFloat_Fini(PyInterpreterState *); +extern void _PyFloat_FiniType(PyInterpreterState *); + + +/* other API */ + +enum _py_float_format_type { + _py_float_format_unknown, + _py_float_format_ieee_big_endian, + _py_float_format_ieee_little_endian, +}; + +struct _Py_float_runtime_state { + enum _py_float_format_type float_format; + enum _py_float_format_type double_format; +}; + + +#ifndef WITH_FREELISTS +// without freelists +# define PyFloat_MAXFREELIST 0 +#endif + +#ifndef PyFloat_MAXFREELIST +# define PyFloat_MAXFREELIST 100 +#endif + +struct _Py_float_state { +#if PyFloat_MAXFREELIST > 0 + /* Special free list + free_list is a singly-linked list of available PyFloatObjects, + linked via abuse of their ob_type members. */ + int numfree; + PyFloatObject *free_list; +#endif +}; + +void _PyFloat_ExactDealloc(PyObject *op); + + +PyAPI_FUNC(void) _PyFloat_DebugMallocStats(FILE* out); + + +/* Format the object based on the format_spec, as defined in PEP 3101 + (Advanced String Formatting). */ +PyAPI_FUNC(int) _PyFloat_FormatAdvancedWriter( + _PyUnicodeWriter *writer, + PyObject *obj, + PyObject *format_spec, + Py_ssize_t start, + Py_ssize_t end); + +#ifdef __cplusplus +} +#endif +#endif /* !Py_INTERNAL_FLOATOBJECT_H */ diff --git a/_Pre_Builds/_Python312_cpp/include/internal/pycore_flowgraph.h b/_Pre_Builds/_Python312_cpp/include/internal/pycore_flowgraph.h new file mode 100644 index 0000000..98d3374 --- /dev/null +++ b/_Pre_Builds/_Python312_cpp/include/internal/pycore_flowgraph.h @@ -0,0 +1,120 @@ +#ifndef Py_INTERNAL_CFG_H +#define Py_INTERNAL_CFG_H +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef Py_BUILD_CORE +# error "this header requires Py_BUILD_CORE define" +#endif + +#include "pycore_opcode_utils.h" +#include "pycore_compile.h" + + +typedef struct { + int i_opcode; + int i_oparg; + _PyCompilerSrcLocation i_loc; + struct _PyCfgBasicblock_ *i_target; /* target block (if jump instruction) */ + struct _PyCfgBasicblock_ *i_except; /* target block when exception is raised */ +} _PyCfgInstruction; + +typedef struct { + int id; +} _PyCfgJumpTargetLabel; + + +typedef struct { + struct _PyCfgBasicblock_ *handlers[CO_MAXBLOCKS+2]; + int depth; +} _PyCfgExceptStack; + +typedef struct _PyCfgBasicblock_ { + /* Each basicblock in a compilation unit is linked via b_list in the + reverse order that the block are allocated. b_list points to the next + block in this list, not to be confused with b_next, which is next by + control flow. */ + struct _PyCfgBasicblock_ *b_list; + /* The label of this block if it is a jump target, -1 otherwise */ + _PyCfgJumpTargetLabel b_label; + /* Exception stack at start of block, used by assembler to create the exception handling table */ + _PyCfgExceptStack *b_exceptstack; + /* pointer to an array of instructions, initially NULL */ + _PyCfgInstruction *b_instr; + /* If b_next is non-NULL, it is a pointer to the next + block reached by normal control flow. */ + struct _PyCfgBasicblock_ *b_next; + /* number of instructions used */ + int b_iused; + /* length of instruction array (b_instr) */ + int b_ialloc; + /* Used by add_checks_for_loads_of_unknown_variables */ + uint64_t b_unsafe_locals_mask; + /* Number of predecessors that a block has. */ + int b_predecessors; + /* depth of stack upon entry of block, computed by stackdepth() */ + int b_startdepth; + /* instruction offset for block, computed by assemble_jump_offsets() */ + int b_offset; + /* Basic block is an exception handler that preserves lasti */ + unsigned b_preserve_lasti : 1; + /* Used by compiler passes to mark whether they have visited a basic block. */ + unsigned b_visited : 1; + /* b_except_handler is used by the cold-detection algorithm to mark exception targets */ + unsigned b_except_handler : 1; + /* b_cold is true if this block is not perf critical (like an exception handler) */ + unsigned b_cold : 1; + /* b_warm is used by the cold-detection algorithm to mark blocks which are definitely not cold */ + unsigned b_warm : 1; +} _PyCfgBasicblock; + +int _PyBasicblock_InsertInstruction(_PyCfgBasicblock *block, int pos, _PyCfgInstruction *instr); + +typedef struct cfg_builder_ { + /* The entryblock, at which control flow begins. All blocks of the + CFG are reachable through the b_next links */ + _PyCfgBasicblock *g_entryblock; + /* Pointer to the most recently allocated block. By following + b_list links, you can reach all allocated blocks. */ + _PyCfgBasicblock *g_block_list; + /* pointer to the block currently being constructed */ + _PyCfgBasicblock *g_curblock; + /* label for the next instruction to be placed */ + _PyCfgJumpTargetLabel g_current_label; +} _PyCfgBuilder; + +int _PyCfgBuilder_UseLabel(_PyCfgBuilder *g, _PyCfgJumpTargetLabel lbl); +int _PyCfgBuilder_Addop(_PyCfgBuilder *g, int opcode, int oparg, _PyCompilerSrcLocation loc); + +int _PyCfgBuilder_Init(_PyCfgBuilder *g); +void _PyCfgBuilder_Fini(_PyCfgBuilder *g); + +_PyCfgInstruction* _PyCfg_BasicblockLastInstr(const _PyCfgBasicblock *b); +int _PyCfg_OptimizeCodeUnit(_PyCfgBuilder *g, PyObject *consts, PyObject *const_cache, + int code_flags, int nlocals, int nparams, int firstlineno); +int _PyCfg_Stackdepth(_PyCfgBasicblock *entryblock, int code_flags); +void _PyCfg_ConvertPseudoOps(_PyCfgBasicblock *entryblock); +int _PyCfg_ResolveJumps(_PyCfgBuilder *g); + + +static inline int +basicblock_nofallthrough(const _PyCfgBasicblock *b) { + _PyCfgInstruction *last = _PyCfg_BasicblockLastInstr(b); + return (last && + (IS_SCOPE_EXIT_OPCODE(last->i_opcode) || + IS_UNCONDITIONAL_JUMP_OPCODE(last->i_opcode))); +} + +#define BB_NO_FALLTHROUGH(B) (basicblock_nofallthrough(B)) +#define BB_HAS_FALLTHROUGH(B) (!basicblock_nofallthrough(B)) + +PyCodeObject * +_PyAssemble_MakeCodeObject(_PyCompile_CodeUnitMetadata *u, PyObject *const_cache, + PyObject *consts, int maxdepth, _PyCompile_InstructionSequence *instrs, + int nlocalsplus, int code_flags, PyObject *filename); + +#ifdef __cplusplus +} +#endif +#endif /* !Py_INTERNAL_CFG_H */ diff --git a/_Pre_Builds/_Python312_cpp/include/internal/pycore_format.h b/_Pre_Builds/_Python312_cpp/include/internal/pycore_format.h new file mode 100644 index 0000000..1b8d575 --- /dev/null +++ b/_Pre_Builds/_Python312_cpp/include/internal/pycore_format.h @@ -0,0 +1,27 @@ +#ifndef Py_INTERNAL_FORMAT_H +#define Py_INTERNAL_FORMAT_H +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef Py_BUILD_CORE +# error "this header requires Py_BUILD_CORE define" +#endif + +/* Format codes + * F_LJUST '-' + * F_SIGN '+' + * F_BLANK ' ' + * F_ALT '#' + * F_ZERO '0' + */ +#define F_LJUST (1<<0) +#define F_SIGN (1<<1) +#define F_BLANK (1<<2) +#define F_ALT (1<<3) +#define F_ZERO (1<<4) + +#ifdef __cplusplus +} +#endif +#endif /* !Py_INTERNAL_FORMAT_H */ diff --git a/_Pre_Builds/_Python312_cpp/include/internal/pycore_frame.h b/_Pre_Builds/_Python312_cpp/include/internal/pycore_frame.h new file mode 100644 index 0000000..bfe4a75 --- /dev/null +++ b/_Pre_Builds/_Python312_cpp/include/internal/pycore_frame.h @@ -0,0 +1,283 @@ +#ifndef Py_INTERNAL_FRAME_H +#define Py_INTERNAL_FRAME_H +#ifdef __cplusplus +extern "C" { +#endif + +#include +#include +#include "pycore_code.h" // STATS + +/* See Objects/frame_layout.md for an explanation of the frame stack + * including explanation of the PyFrameObject and _PyInterpreterFrame + * structs. */ + + +struct _frame { + PyObject_HEAD + PyFrameObject *f_back; /* previous frame, or NULL */ + struct _PyInterpreterFrame *f_frame; /* points to the frame data */ + PyObject *f_trace; /* Trace function */ + int f_lineno; /* Current line number. Only valid if non-zero */ + char f_trace_lines; /* Emit per-line trace events? */ + char f_trace_opcodes; /* Emit per-opcode trace events? */ + char f_fast_as_locals; /* Have the fast locals of this frame been converted to a dict? */ + /* The frame data, if this frame object owns the frame */ + PyObject *_f_frame_data[1]; +}; + +extern PyFrameObject* _PyFrame_New_NoTrack(PyCodeObject *code); + + +/* other API */ + +typedef enum _framestate { + FRAME_CREATED = -2, + FRAME_SUSPENDED = -1, + FRAME_EXECUTING = 0, + FRAME_COMPLETED = 1, + FRAME_CLEARED = 4 +} PyFrameState; + +#define FRAME_STATE_FINISHED(S) ((S) >= FRAME_COMPLETED) + +enum _frameowner { + FRAME_OWNED_BY_THREAD = 0, + FRAME_OWNED_BY_GENERATOR = 1, + FRAME_OWNED_BY_FRAME_OBJECT = 2, + FRAME_OWNED_BY_CSTACK = 3, +}; + +typedef struct _PyInterpreterFrame { + PyCodeObject *f_code; /* Strong reference */ + struct _PyInterpreterFrame *previous; + PyObject *f_funcobj; /* Strong reference. Only valid if not on C stack */ + PyObject *f_globals; /* Borrowed reference. Only valid if not on C stack */ + PyObject *f_builtins; /* Borrowed reference. Only valid if not on C stack */ + PyObject *f_locals; /* Strong reference, may be NULL. Only valid if not on C stack */ + PyFrameObject *frame_obj; /* Strong reference, may be NULL. Only valid if not on C stack */ + // NOTE: This is not necessarily the last instruction started in the given + // frame. Rather, it is the code unit *prior to* the *next* instruction. For + // example, it may be an inline CACHE entry, an instruction we just jumped + // over, or (in the case of a newly-created frame) a totally invalid value: + _Py_CODEUNIT *prev_instr; + int stacktop; /* Offset of TOS from localsplus */ + /* The return_offset determines where a `RETURN` should go in the caller, + * relative to `prev_instr`. + * It is only meaningful to the callee, + * so it needs to be set in any CALL (to a Python function) + * or SEND (to a coroutine or generator). + * If there is no callee, then it is meaningless. */ + uint16_t return_offset; + char owner; + /* Locals and stack */ + PyObject *localsplus[1]; +} _PyInterpreterFrame; + +#define _PyInterpreterFrame_LASTI(IF) \ + ((int)((IF)->prev_instr - _PyCode_CODE((IF)->f_code))) + +static inline PyObject **_PyFrame_Stackbase(_PyInterpreterFrame *f) { + return f->localsplus + f->f_code->co_nlocalsplus; +} + +static inline PyObject *_PyFrame_StackPeek(_PyInterpreterFrame *f) { + assert(f->stacktop > f->f_code->co_nlocalsplus); + assert(f->localsplus[f->stacktop-1] != NULL); + return f->localsplus[f->stacktop-1]; +} + +static inline PyObject *_PyFrame_StackPop(_PyInterpreterFrame *f) { + assert(f->stacktop > f->f_code->co_nlocalsplus); + f->stacktop--; + return f->localsplus[f->stacktop]; +} + +static inline void _PyFrame_StackPush(_PyInterpreterFrame *f, PyObject *value) { + f->localsplus[f->stacktop] = value; + f->stacktop++; +} + +#define FRAME_SPECIALS_SIZE ((int)((sizeof(_PyInterpreterFrame)-1)/sizeof(PyObject *))) + +static inline int +_PyFrame_NumSlotsForCodeObject(PyCodeObject *code) +{ + /* This function needs to remain in sync with the calculation of + * co_framesize in Tools/build/deepfreeze.py */ + assert(code->co_framesize >= FRAME_SPECIALS_SIZE); + return code->co_framesize - FRAME_SPECIALS_SIZE; +} + +void _PyFrame_Copy(_PyInterpreterFrame *src, _PyInterpreterFrame *dest); + +/* Consumes reference to func and locals. + Does not initialize frame->previous, which happens + when frame is linked into the frame stack. + */ +static inline void +_PyFrame_Initialize( + _PyInterpreterFrame *frame, PyFunctionObject *func, + PyObject *locals, PyCodeObject *code, int null_locals_from) +{ + frame->f_funcobj = (PyObject *)func; + frame->f_code = (PyCodeObject *)Py_NewRef(code); + frame->f_builtins = func->func_builtins; + frame->f_globals = func->func_globals; + frame->f_locals = locals; + frame->stacktop = code->co_nlocalsplus; + frame->frame_obj = NULL; + frame->prev_instr = _PyCode_CODE(code) - 1; + frame->return_offset = 0; + frame->owner = FRAME_OWNED_BY_THREAD; + + for (int i = null_locals_from; i < code->co_nlocalsplus; i++) { + frame->localsplus[i] = NULL; + } +} + +/* Gets the pointer to the locals array + * that precedes this frame. + */ +static inline PyObject** +_PyFrame_GetLocalsArray(_PyInterpreterFrame *frame) +{ + return frame->localsplus; +} + +/* Fetches the stack pointer, and sets stacktop to -1. + Having stacktop <= 0 ensures that invalid + values are not visible to the cycle GC. + We choose -1 rather than 0 to assist debugging. */ +static inline PyObject** +_PyFrame_GetStackPointer(_PyInterpreterFrame *frame) +{ + PyObject **sp = frame->localsplus + frame->stacktop; + frame->stacktop = -1; + return sp; +} + +static inline void +_PyFrame_SetStackPointer(_PyInterpreterFrame *frame, PyObject **stack_pointer) +{ + frame->stacktop = (int)(stack_pointer - frame->localsplus); +} + +/* Determine whether a frame is incomplete. + * A frame is incomplete if it is part way through + * creating cell objects or a generator or coroutine. + * + * Frames on the frame stack are incomplete until the + * first RESUME instruction. + * Frames owned by a generator are always complete. + */ +static inline bool +_PyFrame_IsIncomplete(_PyInterpreterFrame *frame) +{ + return frame->owner != FRAME_OWNED_BY_GENERATOR && + frame->prev_instr < _PyCode_CODE(frame->f_code) + frame->f_code->_co_firsttraceable; +} + +static inline _PyInterpreterFrame * +_PyFrame_GetFirstComplete(_PyInterpreterFrame *frame) +{ + while (frame && _PyFrame_IsIncomplete(frame)) { + frame = frame->previous; + } + return frame; +} + +static inline _PyInterpreterFrame * +_PyThreadState_GetFrame(PyThreadState *tstate) +{ + return _PyFrame_GetFirstComplete(tstate->cframe->current_frame); +} + +/* For use by _PyFrame_GetFrameObject + Do not call directly. */ +PyFrameObject * +_PyFrame_MakeAndSetFrameObject(_PyInterpreterFrame *frame); + +/* Gets the PyFrameObject for this frame, lazily + * creating it if necessary. + * Returns a borrowed referennce */ +static inline PyFrameObject * +_PyFrame_GetFrameObject(_PyInterpreterFrame *frame) +{ + + assert(!_PyFrame_IsIncomplete(frame)); + PyFrameObject *res = frame->frame_obj; + if (res != NULL) { + return res; + } + return _PyFrame_MakeAndSetFrameObject(frame); +} + +/* Clears all references in the frame. + * If take is non-zero, then the _PyInterpreterFrame frame + * may be transferred to the frame object it references + * instead of being cleared. Either way + * the caller no longer owns the references + * in the frame. + * take should be set to 1 for heap allocated + * frames like the ones in generators and coroutines. + */ +void +_PyFrame_ClearExceptCode(_PyInterpreterFrame * frame); + +int +_PyFrame_Traverse(_PyInterpreterFrame *frame, visitproc visit, void *arg); + +PyObject * +_PyFrame_GetLocals(_PyInterpreterFrame *frame, int include_hidden); + +int +_PyFrame_FastToLocalsWithError(_PyInterpreterFrame *frame); + +void +_PyFrame_LocalsToFast(_PyInterpreterFrame *frame, int clear); + +static inline bool +_PyThreadState_HasStackSpace(PyThreadState *tstate, int size) +{ + assert( + (tstate->datastack_top == NULL && tstate->datastack_limit == NULL) + || + (tstate->datastack_top != NULL && tstate->datastack_limit != NULL) + ); + return tstate->datastack_top != NULL && + size < tstate->datastack_limit - tstate->datastack_top; +} + +extern _PyInterpreterFrame * +_PyThreadState_PushFrame(PyThreadState *tstate, size_t size); + +void _PyThreadState_PopFrame(PyThreadState *tstate, _PyInterpreterFrame *frame); + +/* Pushes a frame without checking for space. + * Must be guarded by _PyThreadState_HasStackSpace() + * Consumes reference to func. */ +static inline _PyInterpreterFrame * +_PyFrame_PushUnchecked(PyThreadState *tstate, PyFunctionObject *func, int null_locals_from) +{ + CALL_STAT_INC(frames_pushed); + PyCodeObject *code = (PyCodeObject *)func->func_code; + _PyInterpreterFrame *new_frame = (_PyInterpreterFrame *)tstate->datastack_top; + tstate->datastack_top += code->co_framesize; + assert(tstate->datastack_top < tstate->datastack_limit); + _PyFrame_Initialize(new_frame, func, NULL, code, null_locals_from); + return new_frame; +} + +static inline +PyGenObject *_PyFrame_GetGenerator(_PyInterpreterFrame *frame) +{ + assert(frame->owner == FRAME_OWNED_BY_GENERATOR); + size_t offset_in_gen = offsetof(PyGenObject, gi_iframe); + return (PyGenObject *)(((char *)frame) - offset_in_gen); +} + +#ifdef __cplusplus +} +#endif +#endif /* !Py_INTERNAL_FRAME_H */ diff --git a/_Pre_Builds/_Python312_cpp/include/internal/pycore_function.h b/_Pre_Builds/_Python312_cpp/include/internal/pycore_function.h new file mode 100644 index 0000000..ecbb700 --- /dev/null +++ b/_Pre_Builds/_Python312_cpp/include/internal/pycore_function.h @@ -0,0 +1,26 @@ +#ifndef Py_INTERNAL_FUNCTION_H +#define Py_INTERNAL_FUNCTION_H +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef Py_BUILD_CORE +# error "this header requires Py_BUILD_CORE define" +#endif + +#define FUNC_MAX_WATCHERS 8 + +struct _py_func_state { + uint32_t next_version; +}; + +extern PyFunctionObject* _PyFunction_FromConstructor(PyFrameConstructor *constr); + +extern uint32_t _PyFunction_GetVersionForCurrentState(PyFunctionObject *func); +extern PyObject *_Py_set_function_type_params( + PyThreadState* unused, PyObject *func, PyObject *type_params); + +#ifdef __cplusplus +} +#endif +#endif /* !Py_INTERNAL_FUNCTION_H */ diff --git a/_Pre_Builds/_Python312_cpp/include/internal/pycore_gc.h b/_Pre_Builds/_Python312_cpp/include/internal/pycore_gc.h new file mode 100644 index 0000000..b3abe20 --- /dev/null +++ b/_Pre_Builds/_Python312_cpp/include/internal/pycore_gc.h @@ -0,0 +1,211 @@ +#ifndef Py_INTERNAL_GC_H +#define Py_INTERNAL_GC_H +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef Py_BUILD_CORE +# error "this header requires Py_BUILD_CORE define" +#endif + +/* GC information is stored BEFORE the object structure. */ +typedef struct { + // Pointer to next object in the list. + // 0 means the object is not tracked + uintptr_t _gc_next; + + // Pointer to previous object in the list. + // Lowest two bits are used for flags documented later. + uintptr_t _gc_prev; +} PyGC_Head; + +static inline PyGC_Head* _Py_AS_GC(PyObject *op) { + return (_Py_CAST(PyGC_Head*, op) - 1); +} +#define _PyGC_Head_UNUSED PyGC_Head + +/* True if the object is currently tracked by the GC. */ +static inline int _PyObject_GC_IS_TRACKED(PyObject *op) { + PyGC_Head *gc = _Py_AS_GC(op); + return (gc->_gc_next != 0); +} +#define _PyObject_GC_IS_TRACKED(op) _PyObject_GC_IS_TRACKED(_Py_CAST(PyObject*, op)) + +/* True if the object may be tracked by the GC in the future, or already is. + This can be useful to implement some optimizations. */ +static inline int _PyObject_GC_MAY_BE_TRACKED(PyObject *obj) { + if (!PyObject_IS_GC(obj)) { + return 0; + } + if (PyTuple_CheckExact(obj)) { + return _PyObject_GC_IS_TRACKED(obj); + } + return 1; +} + + +/* Bit flags for _gc_prev */ +/* Bit 0 is set when tp_finalize is called */ +#define _PyGC_PREV_MASK_FINALIZED (1) +/* Bit 1 is set when the object is in generation which is GCed currently. */ +#define _PyGC_PREV_MASK_COLLECTING (2) +/* The (N-2) most significant bits contain the real address. */ +#define _PyGC_PREV_SHIFT (2) +#define _PyGC_PREV_MASK (((uintptr_t) -1) << _PyGC_PREV_SHIFT) + +// Lowest bit of _gc_next is used for flags only in GC. +// But it is always 0 for normal code. +static inline PyGC_Head* _PyGCHead_NEXT(PyGC_Head *gc) { + uintptr_t next = gc->_gc_next; + return _Py_CAST(PyGC_Head*, next); +} +static inline void _PyGCHead_SET_NEXT(PyGC_Head *gc, PyGC_Head *next) { + gc->_gc_next = _Py_CAST(uintptr_t, next); +} + +// Lowest two bits of _gc_prev is used for _PyGC_PREV_MASK_* flags. +static inline PyGC_Head* _PyGCHead_PREV(PyGC_Head *gc) { + uintptr_t prev = (gc->_gc_prev & _PyGC_PREV_MASK); + return _Py_CAST(PyGC_Head*, prev); +} +static inline void _PyGCHead_SET_PREV(PyGC_Head *gc, PyGC_Head *prev) { + uintptr_t uprev = _Py_CAST(uintptr_t, prev); + assert((uprev & ~_PyGC_PREV_MASK) == 0); + gc->_gc_prev = ((gc->_gc_prev & ~_PyGC_PREV_MASK) | uprev); +} + +static inline int _PyGCHead_FINALIZED(PyGC_Head *gc) { + return ((gc->_gc_prev & _PyGC_PREV_MASK_FINALIZED) != 0); +} +static inline void _PyGCHead_SET_FINALIZED(PyGC_Head *gc) { + gc->_gc_prev |= _PyGC_PREV_MASK_FINALIZED; +} + +static inline int _PyGC_FINALIZED(PyObject *op) { + PyGC_Head *gc = _Py_AS_GC(op); + return _PyGCHead_FINALIZED(gc); +} +static inline void _PyGC_SET_FINALIZED(PyObject *op) { + PyGC_Head *gc = _Py_AS_GC(op); + _PyGCHead_SET_FINALIZED(gc); +} + + +/* GC runtime state */ + +/* If we change this, we need to change the default value in the + signature of gc.collect. */ +#define NUM_GENERATIONS 3 +/* + NOTE: about untracking of mutable objects. + + Certain types of container cannot participate in a reference cycle, and + so do not need to be tracked by the garbage collector. Untracking these + objects reduces the cost of garbage collections. However, determining + which objects may be untracked is not free, and the costs must be + weighed against the benefits for garbage collection. + + There are two possible strategies for when to untrack a container: + + i) When the container is created. + ii) When the container is examined by the garbage collector. + + Tuples containing only immutable objects (integers, strings etc, and + recursively, tuples of immutable objects) do not need to be tracked. + The interpreter creates a large number of tuples, many of which will + not survive until garbage collection. It is therefore not worthwhile + to untrack eligible tuples at creation time. + + Instead, all tuples except the empty tuple are tracked when created. + During garbage collection it is determined whether any surviving tuples + can be untracked. A tuple can be untracked if all of its contents are + already not tracked. Tuples are examined for untracking in all garbage + collection cycles. It may take more than one cycle to untrack a tuple. + + Dictionaries containing only immutable objects also do not need to be + tracked. Dictionaries are untracked when created. If a tracked item is + inserted into a dictionary (either as a key or value), the dictionary + becomes tracked. During a full garbage collection (all generations), + the collector will untrack any dictionaries whose contents are not + tracked. + + The module provides the python function is_tracked(obj), which returns + the CURRENT tracking status of the object. Subsequent garbage + collections may change the tracking status of the object. + + Untracking of certain containers was introduced in issue #4688, and + the algorithm was refined in response to issue #14775. +*/ + +struct gc_generation { + PyGC_Head head; + int threshold; /* collection threshold */ + int count; /* count of allocations or collections of younger + generations */ +}; + +/* Running stats per generation */ +struct gc_generation_stats { + /* total number of collections */ + Py_ssize_t collections; + /* total number of collected objects */ + Py_ssize_t collected; + /* total number of uncollectable objects (put into gc.garbage) */ + Py_ssize_t uncollectable; +}; + +struct _gc_runtime_state { + /* List of objects that still need to be cleaned up, singly linked + * via their gc headers' gc_prev pointers. */ + PyObject *trash_delete_later; + /* Current call-stack depth of tp_dealloc calls. */ + int trash_delete_nesting; + + /* Is automatic collection enabled? */ + int enabled; + int debug; + /* linked lists of container objects */ + struct gc_generation generations[NUM_GENERATIONS]; + PyGC_Head *generation0; + /* a permanent generation which won't be collected */ + struct gc_generation permanent_generation; + struct gc_generation_stats generation_stats[NUM_GENERATIONS]; + /* true if we are currently running the collector */ + int collecting; + /* list of uncollectable objects */ + PyObject *garbage; + /* a list of callbacks to be invoked when collection is performed */ + PyObject *callbacks; + /* This is the number of objects that survived the last full + collection. It approximates the number of long lived objects + tracked by the GC. + + (by "full collection", we mean a collection of the oldest + generation). */ + Py_ssize_t long_lived_total; + /* This is the number of objects that survived all "non-full" + collections, and are awaiting to undergo a full collection for + the first time. */ + Py_ssize_t long_lived_pending; +}; + + +extern void _PyGC_InitState(struct _gc_runtime_state *); + +extern Py_ssize_t _PyGC_CollectNoFail(PyThreadState *tstate); + + +// Functions to clear types free lists +extern void _PyTuple_ClearFreeList(PyInterpreterState *interp); +extern void _PyFloat_ClearFreeList(PyInterpreterState *interp); +extern void _PyList_ClearFreeList(PyInterpreterState *interp); +extern void _PyDict_ClearFreeList(PyInterpreterState *interp); +extern void _PyAsyncGen_ClearFreeLists(PyInterpreterState *interp); +extern void _PyContext_ClearFreeList(PyInterpreterState *interp); +extern void _Py_ScheduleGC(PyInterpreterState *interp); +extern void _Py_RunGC(PyThreadState *tstate); + +#ifdef __cplusplus +} +#endif +#endif /* !Py_INTERNAL_GC_H */ diff --git a/_Pre_Builds/_Python312_cpp/include/internal/pycore_genobject.h b/_Pre_Builds/_Python312_cpp/include/internal/pycore_genobject.h new file mode 100644 index 0000000..dc60b4c --- /dev/null +++ b/_Pre_Builds/_Python312_cpp/include/internal/pycore_genobject.h @@ -0,0 +1,49 @@ +#ifndef Py_INTERNAL_GENOBJECT_H +#define Py_INTERNAL_GENOBJECT_H +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef Py_BUILD_CORE +# error "this header requires Py_BUILD_CORE define" +#endif + +extern PyObject *_PyGen_yf(PyGenObject *); +extern PyObject *_PyCoro_GetAwaitableIter(PyObject *o); +extern PyObject *_PyAsyncGenValueWrapperNew(PyThreadState *state, PyObject *); + +/* runtime lifecycle */ + +extern void _PyAsyncGen_Fini(PyInterpreterState *); + + +/* other API */ + +#ifndef WITH_FREELISTS +// without freelists +# define _PyAsyncGen_MAXFREELIST 0 +#endif + +#ifndef _PyAsyncGen_MAXFREELIST +# define _PyAsyncGen_MAXFREELIST 80 +#endif + +struct _Py_async_gen_state { +#if _PyAsyncGen_MAXFREELIST > 0 + /* Freelists boost performance 6-10%; they also reduce memory + fragmentation, as _PyAsyncGenWrappedValue and PyAsyncGenASend + are short-living objects that are instantiated for every + __anext__() call. */ + struct _PyAsyncGenWrappedValue* value_freelist[_PyAsyncGen_MAXFREELIST]; + int value_numfree; + + struct PyAsyncGenASend* asend_freelist[_PyAsyncGen_MAXFREELIST]; + int asend_numfree; +#endif +}; + + +#ifdef __cplusplus +} +#endif +#endif /* !Py_INTERNAL_GENOBJECT_H */ diff --git a/_Pre_Builds/_Python312_cpp/include/internal/pycore_getopt.h b/_Pre_Builds/_Python312_cpp/include/internal/pycore_getopt.h new file mode 100644 index 0000000..7f0dd13 --- /dev/null +++ b/_Pre_Builds/_Python312_cpp/include/internal/pycore_getopt.h @@ -0,0 +1,22 @@ +#ifndef Py_INTERNAL_PYGETOPT_H +#define Py_INTERNAL_PYGETOPT_H + +#ifndef Py_BUILD_CORE +# error "this header requires Py_BUILD_CORE define" +#endif + +extern int _PyOS_opterr; +extern Py_ssize_t _PyOS_optind; +extern const wchar_t *_PyOS_optarg; + +extern void _PyOS_ResetGetOpt(void); + +typedef struct { + const wchar_t *name; + int has_arg; + int val; +} _PyOS_LongOption; + +extern int _PyOS_GetOpt(Py_ssize_t argc, wchar_t * const *argv, int *longindex); + +#endif /* !Py_INTERNAL_PYGETOPT_H */ diff --git a/_Pre_Builds/_Python312_cpp/include/internal/pycore_gil.h b/_Pre_Builds/_Python312_cpp/include/internal/pycore_gil.h new file mode 100644 index 0000000..8ebad37 --- /dev/null +++ b/_Pre_Builds/_Python312_cpp/include/internal/pycore_gil.h @@ -0,0 +1,50 @@ +#ifndef Py_INTERNAL_GIL_H +#define Py_INTERNAL_GIL_H +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef Py_BUILD_CORE +# error "this header requires Py_BUILD_CORE define" +#endif + +#include "pycore_atomic.h" /* _Py_atomic_address */ +#include "pycore_condvar.h" /* PyCOND_T */ + +#ifndef Py_HAVE_CONDVAR +# error You need either a POSIX-compatible or a Windows system! +#endif + +/* Enable if you want to force the switching of threads at least + every `interval`. */ +#undef FORCE_SWITCHING +#define FORCE_SWITCHING + +struct _gil_runtime_state { + /* microseconds (the Python API uses seconds, though) */ + unsigned long interval; + /* Last PyThreadState holding / having held the GIL. This helps us + know whether anyone else was scheduled after we dropped the GIL. */ + _Py_atomic_address last_holder; + /* Whether the GIL is already taken (-1 if uninitialized). This is + atomic because it can be read without any lock taken in ceval.c. */ + _Py_atomic_int locked; + /* Number of GIL switches since the beginning. */ + unsigned long switch_number; + /* This condition variable allows one or several threads to wait + until the GIL is released. In addition, the mutex also protects + the above variables. */ + PyCOND_T cond; + PyMUTEX_T mutex; +#ifdef FORCE_SWITCHING + /* This condition variable helps the GIL-releasing thread wait for + a GIL-awaiting thread to be scheduled and take the GIL. */ + PyCOND_T switch_cond; + PyMUTEX_T switch_mutex; +#endif +}; + +#ifdef __cplusplus +} +#endif +#endif /* !Py_INTERNAL_GIL_H */ diff --git a/_Pre_Builds/_Python312_cpp/include/internal/pycore_global_objects.h b/_Pre_Builds/_Python312_cpp/include/internal/pycore_global_objects.h new file mode 100644 index 0000000..442f851 --- /dev/null +++ b/_Pre_Builds/_Python312_cpp/include/internal/pycore_global_objects.h @@ -0,0 +1,105 @@ +#ifndef Py_INTERNAL_GLOBAL_OBJECTS_H +#define Py_INTERNAL_GLOBAL_OBJECTS_H +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef Py_BUILD_CORE +# error "this header requires Py_BUILD_CORE define" +#endif + +#include "pycore_hashtable.h" // _Py_hashtable_t +#include "pycore_gc.h" // PyGC_Head +#include "pycore_global_strings.h" // struct _Py_global_strings +#include "pycore_hamt.h" // PyHamtNode_Bitmap +#include "pycore_context.h" // _PyContextTokenMissing +#include "pycore_typeobject.h" // pytype_slotdef + + +// These would be in pycore_long.h if it weren't for an include cycle. +#define _PY_NSMALLPOSINTS 257 +#define _PY_NSMALLNEGINTS 5 + + +// Only immutable objects should be considered runtime-global. +// All others must be per-interpreter. + +#define _Py_GLOBAL_OBJECT(NAME) \ + _PyRuntime.static_objects.NAME +#define _Py_SINGLETON(NAME) \ + _Py_GLOBAL_OBJECT(singletons.NAME) + +struct _Py_cached_objects { + // XXX We could statically allocate the hashtable. + _Py_hashtable_t *interned_strings; +}; + +struct _Py_static_objects { + struct { + /* Small integers are preallocated in this array so that they + * can be shared. + * The integers that are preallocated are those in the range + * -_PY_NSMALLNEGINTS (inclusive) to _PY_NSMALLPOSINTS (exclusive). + */ + PyLongObject small_ints[_PY_NSMALLNEGINTS + _PY_NSMALLPOSINTS]; + + PyBytesObject bytes_empty; + struct { + PyBytesObject ob; + char eos; + } bytes_characters[256]; + + struct _Py_global_strings strings; + + _PyGC_Head_UNUSED _tuple_empty_gc_not_used; + PyTupleObject tuple_empty; + + _PyGC_Head_UNUSED _hamt_bitmap_node_empty_gc_not_used; + PyHamtNode_Bitmap hamt_bitmap_node_empty; + _PyContextTokenMissing context_token_missing; + } singletons; +}; + +#define _Py_INTERP_CACHED_OBJECT(interp, NAME) \ + (interp)->cached_objects.NAME + +struct _Py_interp_cached_objects { + PyObject *interned_strings; + + /* AST */ + PyObject *str_replace_inf; + + /* object.__reduce__ */ + PyObject *objreduce; + PyObject *type_slots_pname; + pytype_slotdef *type_slots_ptrs[MAX_EQUIV]; + + /* TypeVar and related types */ + PyTypeObject *generic_type; + PyTypeObject *typevar_type; + PyTypeObject *typevartuple_type; + PyTypeObject *paramspec_type; + PyTypeObject *paramspecargs_type; + PyTypeObject *paramspeckwargs_type; +}; + +#define _Py_INTERP_STATIC_OBJECT(interp, NAME) \ + (interp)->static_objects.NAME +#define _Py_INTERP_SINGLETON(interp, NAME) \ + _Py_INTERP_STATIC_OBJECT(interp, singletons.NAME) + +struct _Py_interp_static_objects { + struct { + int _not_used; + // hamt_empty is here instead of global because of its weakreflist. + _PyGC_Head_UNUSED _hamt_empty_gc_not_used; + PyHamtObject hamt_empty; + PyBaseExceptionObject last_resort_memory_error; + } singletons; +}; + + +#ifdef __cplusplus +} +#endif +#endif /* !Py_INTERNAL_GLOBAL_OBJECTS_H */ diff --git a/_Pre_Builds/_Python312_cpp/include/internal/pycore_global_objects_fini_generated.h b/_Pre_Builds/_Python312_cpp/include/internal/pycore_global_objects_fini_generated.h new file mode 100644 index 0000000..439f47a --- /dev/null +++ b/_Pre_Builds/_Python312_cpp/include/internal/pycore_global_objects_fini_generated.h @@ -0,0 +1,1531 @@ +#ifndef Py_INTERNAL_GLOBAL_OBJECTS_FINI_GENERATED_INIT_H +#define Py_INTERNAL_GLOBAL_OBJECTS_FINI_GENERATED_INIT_H +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef Py_BUILD_CORE +# error "this header requires Py_BUILD_CORE define" +#endif + +#ifdef Py_DEBUG +static inline void +_PyStaticObject_CheckRefcnt(PyObject *obj) { + if (Py_REFCNT(obj) < _Py_IMMORTAL_REFCNT) { + fprintf(stderr, "Immortal Object has less refcnt than expected.\n"); + _PyObject_Dump(obj); + } +} +#endif + +/* The following is auto-generated by Tools/build/generate_global_objects.py. */ +#ifdef Py_DEBUG +static inline void +_PyStaticObjects_CheckRefcnt(PyInterpreterState *interp) { + /* generated runtime-global */ + // (see pycore_runtime_init_generated.h) + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + -5]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + -4]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + -3]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + -2]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + -1]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 0]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 1]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 2]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 3]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 4]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 5]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 6]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 7]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 8]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 9]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 10]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 11]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 12]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 13]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 14]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 15]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 16]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 17]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 18]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 19]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 20]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 21]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 22]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 23]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 24]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 25]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 26]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 27]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 28]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 29]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 30]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 31]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 32]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 33]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 34]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 35]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 36]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 37]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 38]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 39]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 40]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 41]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 42]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 43]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 44]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 45]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 46]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 47]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 48]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 49]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 50]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 51]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 52]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 53]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 54]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 55]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 56]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 57]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 58]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 59]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 60]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 61]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 62]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 63]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 64]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 65]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 66]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 67]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 68]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 69]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 70]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 71]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 72]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 73]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 74]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 75]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 76]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 77]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 78]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 79]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 80]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 81]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 82]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 83]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 84]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 85]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 86]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 87]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 88]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 89]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 90]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 91]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 92]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 93]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 94]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 95]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 96]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 97]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 98]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 99]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 100]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 101]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 102]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 103]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 104]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 105]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 106]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 107]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 108]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 109]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 110]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 111]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 112]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 113]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 114]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 115]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 116]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 117]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 118]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 119]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 120]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 121]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 122]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 123]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 124]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 125]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 126]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 127]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 128]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 129]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 130]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 131]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 132]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 133]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 134]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 135]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 136]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 137]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 138]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 139]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 140]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 141]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 142]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 143]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 144]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 145]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 146]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 147]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 148]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 149]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 150]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 151]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 152]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 153]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 154]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 155]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 156]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 157]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 158]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 159]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 160]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 161]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 162]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 163]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 164]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 165]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 166]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 167]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 168]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 169]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 170]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 171]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 172]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 173]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 174]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 175]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 176]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 177]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 178]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 179]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 180]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 181]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 182]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 183]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 184]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 185]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 186]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 187]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 188]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 189]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 190]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 191]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 192]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 193]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 194]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 195]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 196]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 197]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 198]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 199]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 200]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 201]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 202]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 203]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 204]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 205]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 206]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 207]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 208]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 209]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 210]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 211]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 212]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 213]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 214]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 215]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 216]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 217]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 218]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 219]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 220]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 221]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 222]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 223]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 224]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 225]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 226]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 227]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 228]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 229]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 230]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 231]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 232]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 233]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 234]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 235]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 236]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 237]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 238]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 239]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 240]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 241]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 242]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 243]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 244]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 245]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 246]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 247]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 248]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 249]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 250]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 251]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 252]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 253]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 254]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 255]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 256]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[0]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[1]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[2]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[3]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[4]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[5]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[6]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[7]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[8]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[9]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[10]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[11]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[12]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[13]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[14]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[15]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[16]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[17]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[18]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[19]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[20]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[21]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[22]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[23]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[24]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[25]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[26]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[27]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[28]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[29]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[30]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[31]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[32]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[33]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[34]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[35]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[36]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[37]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[38]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[39]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[40]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[41]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[42]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[43]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[44]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[45]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[46]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[47]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[48]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[49]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[50]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[51]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[52]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[53]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[54]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[55]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[56]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[57]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[58]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[59]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[60]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[61]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[62]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[63]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[64]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[65]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[66]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[67]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[68]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[69]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[70]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[71]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[72]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[73]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[74]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[75]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[76]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[77]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[78]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[79]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[80]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[81]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[82]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[83]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[84]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[85]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[86]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[87]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[88]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[89]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[90]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[91]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[92]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[93]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[94]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[95]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[96]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[97]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[98]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[99]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[100]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[101]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[102]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[103]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[104]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[105]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[106]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[107]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[108]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[109]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[110]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[111]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[112]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[113]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[114]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[115]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[116]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[117]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[118]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[119]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[120]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[121]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[122]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[123]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[124]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[125]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[126]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[127]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[128]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[129]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[130]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[131]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[132]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[133]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[134]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[135]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[136]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[137]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[138]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[139]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[140]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[141]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[142]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[143]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[144]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[145]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[146]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[147]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[148]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[149]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[150]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[151]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[152]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[153]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[154]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[155]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[156]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[157]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[158]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[159]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[160]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[161]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[162]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[163]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[164]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[165]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[166]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[167]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[168]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[169]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[170]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[171]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[172]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[173]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[174]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[175]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[176]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[177]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[178]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[179]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[180]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[181]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[182]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[183]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[184]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[185]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[186]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[187]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[188]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[189]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[190]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[191]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[192]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[193]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[194]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[195]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[196]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[197]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[198]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[199]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[200]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[201]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[202]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[203]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[204]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[205]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[206]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[207]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[208]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[209]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[210]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[211]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[212]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[213]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[214]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[215]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[216]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[217]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[218]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[219]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[220]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[221]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[222]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[223]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[224]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[225]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[226]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[227]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[228]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[229]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[230]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[231]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[232]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[233]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[234]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[235]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[236]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[237]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[238]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[239]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[240]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[241]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[242]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[243]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[244]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[245]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[246]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[247]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[248]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[249]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[250]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[251]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[252]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[253]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[254]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[255]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_STR(anon_dictcomp)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_STR(anon_genexpr)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_STR(anon_lambda)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_STR(anon_listcomp)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_STR(anon_module)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_STR(anon_setcomp)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_STR(anon_string)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_STR(anon_unknown)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_STR(close_br)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_STR(dbl_close_br)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_STR(dbl_open_br)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_STR(dbl_percent)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_STR(defaults)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_STR(dot)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_STR(dot_locals)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_STR(empty)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_STR(generic_base)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_STR(json_decoder)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_STR(kwdefaults)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_STR(list_err)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_STR(newline)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_STR(open_br)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_STR(percent)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_STR(shim_name)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_STR(type_params)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_STR(utf_8)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(CANCELLED)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(FINISHED)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(False)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(JSONDecodeError)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(PENDING)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(Py_Repr)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(TextIOWrapper)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(True)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(WarningMessage)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(_)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(_WindowsConsoleIO)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__IOBase_closed)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__abc_tpflags__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__abs__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__abstractmethods__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__add__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__aenter__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__aexit__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__aiter__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__all__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__and__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__anext__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__annotations__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__args__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__asyncio_running_event_loop__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__await__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__bases__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__bool__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__buffer__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__build_class__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__builtins__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__bytes__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__call__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__cantrace__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__class__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__class_getitem__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__classcell__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__classdict__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__classdictcell__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__complex__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__contains__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__copy__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__ctypes_from_outparam__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__del__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__delattr__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__delete__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__delitem__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__dict__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__dictoffset__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__dir__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__divmod__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__doc__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__enter__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__eq__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__exit__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__file__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__float__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__floordiv__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__format__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__fspath__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__ge__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__get__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__getattr__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__getattribute__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__getinitargs__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__getitem__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__getnewargs__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__getnewargs_ex__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__getstate__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__gt__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__hash__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__iadd__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__iand__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__ifloordiv__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__ilshift__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__imatmul__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__imod__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__import__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__imul__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__index__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__init__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__init_subclass__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__instancecheck__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__int__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__invert__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__ior__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__ipow__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__irshift__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__isabstractmethod__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__isub__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__iter__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__itruediv__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__ixor__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__le__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__len__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__length_hint__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__lltrace__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__loader__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__lshift__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__lt__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__main__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__matmul__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__missing__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__mod__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__module__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__mro_entries__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__mul__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__name__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__ne__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__neg__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__new__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__newobj__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__newobj_ex__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__next__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__notes__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__or__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__orig_class__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__origin__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__package__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__parameters__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__path__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__pos__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__pow__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__prepare__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__qualname__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__radd__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__rand__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__rdivmod__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__reduce__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__reduce_ex__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__release_buffer__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__repr__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__reversed__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__rfloordiv__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__rlshift__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__rmatmul__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__rmod__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__rmul__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__ror__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__round__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__rpow__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__rrshift__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__rshift__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__rsub__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__rtruediv__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__rxor__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__set__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__set_name__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__setattr__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__setitem__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__setstate__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__sizeof__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__slotnames__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__slots__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__spec__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__str__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__sub__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__subclasscheck__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__subclasshook__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__truediv__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__trunc__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__type_params__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__typing_is_unpacked_typevartuple__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__typing_prepare_subst__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__typing_subst__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__typing_unpacked_tuple_args__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__warningregistry__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__weaklistoffset__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__weakref__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__xor__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(_abc_impl)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(_abstract_)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(_active)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(_annotation)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(_anonymous_)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(_argtypes_)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(_as_parameter_)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(_asyncio_future_blocking)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(_blksize)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(_bootstrap)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(_check_retval_)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(_dealloc_warn)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(_feature_version)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(_fields_)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(_finalizing)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(_find_and_load)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(_fix_up_module)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(_flags_)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(_get_sourcefile)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(_handle_fromlist)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(_initializing)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(_io)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(_is_text_encoding)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(_length_)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(_limbo)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(_lock_unlock_module)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(_loop)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(_needs_com_addref_)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(_pack_)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(_restype_)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(_showwarnmsg)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(_shutdown)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(_slotnames)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(_strptime_datetime)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(_swappedbytes_)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(_type_)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(_uninitialized_submodules)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(_warn_unawaited_coroutine)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(_xoptions)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(a)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(abs_tol)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(access)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(add)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(add_done_callback)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(after_in_child)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(after_in_parent)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(aggregate_class)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(alias)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(append)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(arg)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(argdefs)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(args)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(arguments)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(argv)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(as_integer_ratio)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(ast)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(attribute)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(authorizer_callback)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(autocommit)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(b)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(backtick)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(base)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(before)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(big)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(binary_form)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(block)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(bound)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(buffer)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(buffer_callback)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(buffer_size)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(buffering)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(buffers)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(bufsize)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(builtins)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(byteorder)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(bytes)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(bytes_per_sep)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(c)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(c_call)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(c_exception)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(c_return)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(cached_statements)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(cadata)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(cafile)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(call)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(call_exception_handler)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(call_soon)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(cancel)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(capath)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(category)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(cb_type)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(certfile)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(check_same_thread)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(clear)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(close)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(closed)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(closefd)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(closure)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(co_argcount)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(co_cellvars)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(co_code)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(co_consts)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(co_exceptiontable)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(co_filename)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(co_firstlineno)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(co_flags)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(co_freevars)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(co_kwonlyargcount)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(co_linetable)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(co_name)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(co_names)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(co_nlocals)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(co_posonlyargcount)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(co_qualname)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(co_stacksize)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(co_varnames)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(code)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(command)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(comment_factory)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(compile_mode)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(consts)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(context)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(contravariant)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(cookie)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(copy)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(copyreg)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(coro)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(count)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(covariant)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(cwd)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(d)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(data)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(database)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(decode)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(decoder)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(default)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(defaultaction)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(delete)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(depth)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(detect_types)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(deterministic)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(device)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(dict)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(dictcomp)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(difference_update)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(digest)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(digest_size)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(digestmod)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(dir_fd)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(discard)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(dispatch_table)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(displayhook)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(dklen)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(doc)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(dont_inherit)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(dst)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(dst_dir_fd)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(duration)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(e)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(eager_start)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(effective_ids)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(element_factory)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(encode)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(encoding)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(end)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(end_lineno)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(end_offset)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(endpos)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(entrypoint)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(env)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(errors)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(event)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(eventmask)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(exc_type)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(exc_value)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(excepthook)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(exception)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(existing_file_name)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(exp)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(extend)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(extra_tokens)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(facility)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(factory)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(false)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(family)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(fanout)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(fd)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(fd2)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(fdel)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(fget)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(file)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(file_actions)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(filename)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(fileno)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(filepath)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(fillvalue)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(filters)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(final)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(find_class)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(fix_imports)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(flags)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(flush)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(follow_symlinks)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(format)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(frequency)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(from_param)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(fromlist)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(fromtimestamp)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(fromutc)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(fset)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(func)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(future)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(generation)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(genexpr)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(get)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(get_debug)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(get_event_loop)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(get_loop)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(get_source)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(getattr)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(getstate)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(gid)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(globals)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(groupindex)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(groups)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(handle)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(hash_name)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(header)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(headers)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(hi)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(hook)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(id)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(ident)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(ignore)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(imag)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(importlib)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(in_fd)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(incoming)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(indexgroup)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(inf)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(infer_variance)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(inheritable)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(initial)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(initial_bytes)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(initial_value)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(initval)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(inner_size)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(input)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(insert_comments)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(insert_pis)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(instructions)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(intern)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(intersection)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(is_running)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(isatty)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(isinstance)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(isoformat)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(isolation_level)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(istext)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(item)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(items)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(iter)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(iterable)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(iterations)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(join)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(jump)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(keepends)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(key)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(keyfile)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(keys)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(kind)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(kw)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(kw1)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(kw2)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(lambda)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(last)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(last_exc)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(last_node)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(last_traceback)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(last_type)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(last_value)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(latin1)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(leaf_size)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(len)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(length)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(level)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(limit)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(line)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(line_buffering)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(lineno)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(listcomp)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(little)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(lo)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(locale)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(locals)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(logoption)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(loop)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(mapping)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(match)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(max_length)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(maxdigits)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(maxevents)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(maxmem)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(maxsplit)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(maxvalue)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(memLevel)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(memlimit)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(message)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(metaclass)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(metadata)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(method)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(mod)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(mode)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(module)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(module_globals)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(modules)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(mro)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(msg)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(mycmp)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(n)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(n_arg)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(n_fields)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(n_sequence_fields)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(n_unnamed_fields)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(name)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(name_from)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(namespace_separator)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(namespaces)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(narg)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(ndigits)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(new_file_name)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(new_limit)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(newline)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(newlines)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(next)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(nlocals)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(node_depth)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(node_offset)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(ns)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(nstype)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(nt)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(null)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(number)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(obj)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(object)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(offset)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(offset_dst)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(offset_src)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(on_type_read)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(onceregistry)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(only_keys)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(oparg)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(opcode)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(open)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(opener)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(operation)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(optimize)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(options)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(order)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(origin)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(out_fd)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(outgoing)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(overlapped)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(owner)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(p)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(pages)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(parent)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(password)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(path)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(pattern)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(peek)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(persistent_id)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(persistent_load)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(person)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(pi_factory)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(pid)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(policy)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(pos)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(pos1)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(pos2)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(posix)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(print_file_and_line)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(priority)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(progress)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(progress_handler)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(progress_routine)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(proto)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(protocol)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(ps1)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(ps2)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(query)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(quotetabs)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(r)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(raw)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(read)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(read1)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(readable)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(readall)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(readinto)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(readinto1)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(readline)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(readonly)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(real)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(reducer_override)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(registry)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(rel_tol)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(release)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(reload)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(repl)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(replace)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(reserved)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(reset)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(resetids)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(return)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(reverse)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(reversed)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(s)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(salt)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(sched_priority)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(scheduler)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(seek)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(seekable)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(selectors)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(self)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(send)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(sep)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(sequence)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(server_hostname)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(server_side)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(session)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(setcomp)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(setpgroup)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(setsid)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(setsigdef)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(setsigmask)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(setstate)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(shape)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(show_cmd)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(signed)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(size)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(sizehint)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(skip_file_prefixes)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(sleep)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(sock)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(sort)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(sound)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(source)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(source_traceback)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(src)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(src_dir_fd)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(stacklevel)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(start)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(statement)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(status)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(stderr)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(stdin)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(stdout)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(step)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(steps)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(store_name)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(strategy)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(strftime)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(strict)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(strict_mode)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(string)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(sub_key)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(symmetric_difference_update)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(tabsize)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(tag)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(target)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(target_is_directory)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(task)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(tb_frame)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(tb_lasti)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(tb_lineno)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(tb_next)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(tell)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(template)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(term)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(text)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(threading)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(throw)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(timeout)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(times)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(timetuple)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(top)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(trace_callback)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(traceback)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(trailers)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(translate)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(true)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(truncate)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(twice)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(txt)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(type)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(type_params)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(tz)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(tzname)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(uid)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(unlink)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(unraisablehook)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(uri)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(usedforsecurity)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(value)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(values)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(version)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(volume)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(warnings)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(warnoptions)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(wbits)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(week)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(weekday)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(which)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(who)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(withdata)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(writable)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(write)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(write_through)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(x)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(year)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(zdict)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).ascii[0]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).ascii[1]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).ascii[2]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).ascii[3]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).ascii[4]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).ascii[5]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).ascii[6]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).ascii[7]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).ascii[8]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).ascii[9]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).ascii[10]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).ascii[11]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).ascii[12]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).ascii[13]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).ascii[14]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).ascii[15]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).ascii[16]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).ascii[17]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).ascii[18]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).ascii[19]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).ascii[20]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).ascii[21]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).ascii[22]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).ascii[23]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).ascii[24]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).ascii[25]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).ascii[26]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).ascii[27]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).ascii[28]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).ascii[29]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).ascii[30]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).ascii[31]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).ascii[32]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).ascii[33]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).ascii[34]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).ascii[35]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).ascii[36]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).ascii[37]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).ascii[38]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).ascii[39]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).ascii[40]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).ascii[41]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).ascii[42]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).ascii[43]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).ascii[44]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).ascii[45]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).ascii[46]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).ascii[47]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).ascii[48]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).ascii[49]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).ascii[50]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).ascii[51]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).ascii[52]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).ascii[53]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).ascii[54]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).ascii[55]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).ascii[56]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).ascii[57]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).ascii[58]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).ascii[59]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).ascii[60]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).ascii[61]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).ascii[62]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).ascii[63]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).ascii[64]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).ascii[65]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).ascii[66]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).ascii[67]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).ascii[68]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).ascii[69]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).ascii[70]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).ascii[71]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).ascii[72]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).ascii[73]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).ascii[74]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).ascii[75]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).ascii[76]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).ascii[77]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).ascii[78]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).ascii[79]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).ascii[80]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).ascii[81]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).ascii[82]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).ascii[83]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).ascii[84]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).ascii[85]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).ascii[86]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).ascii[87]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).ascii[88]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).ascii[89]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).ascii[90]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).ascii[91]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).ascii[92]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).ascii[93]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).ascii[94]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).ascii[95]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).ascii[96]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).ascii[97]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).ascii[98]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).ascii[99]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).ascii[100]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).ascii[101]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).ascii[102]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).ascii[103]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).ascii[104]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).ascii[105]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).ascii[106]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).ascii[107]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).ascii[108]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).ascii[109]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).ascii[110]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).ascii[111]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).ascii[112]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).ascii[113]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).ascii[114]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).ascii[115]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).ascii[116]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).ascii[117]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).ascii[118]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).ascii[119]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).ascii[120]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).ascii[121]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).ascii[122]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).ascii[123]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).ascii[124]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).ascii[125]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).ascii[126]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).ascii[127]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).latin1[128 - 128]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).latin1[129 - 128]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).latin1[130 - 128]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).latin1[131 - 128]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).latin1[132 - 128]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).latin1[133 - 128]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).latin1[134 - 128]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).latin1[135 - 128]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).latin1[136 - 128]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).latin1[137 - 128]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).latin1[138 - 128]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).latin1[139 - 128]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).latin1[140 - 128]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).latin1[141 - 128]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).latin1[142 - 128]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).latin1[143 - 128]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).latin1[144 - 128]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).latin1[145 - 128]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).latin1[146 - 128]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).latin1[147 - 128]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).latin1[148 - 128]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).latin1[149 - 128]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).latin1[150 - 128]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).latin1[151 - 128]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).latin1[152 - 128]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).latin1[153 - 128]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).latin1[154 - 128]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).latin1[155 - 128]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).latin1[156 - 128]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).latin1[157 - 128]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).latin1[158 - 128]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).latin1[159 - 128]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).latin1[160 - 128]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).latin1[161 - 128]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).latin1[162 - 128]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).latin1[163 - 128]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).latin1[164 - 128]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).latin1[165 - 128]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).latin1[166 - 128]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).latin1[167 - 128]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).latin1[168 - 128]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).latin1[169 - 128]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).latin1[170 - 128]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).latin1[171 - 128]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).latin1[172 - 128]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).latin1[173 - 128]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).latin1[174 - 128]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).latin1[175 - 128]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).latin1[176 - 128]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).latin1[177 - 128]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).latin1[178 - 128]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).latin1[179 - 128]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).latin1[180 - 128]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).latin1[181 - 128]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).latin1[182 - 128]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).latin1[183 - 128]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).latin1[184 - 128]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).latin1[185 - 128]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).latin1[186 - 128]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).latin1[187 - 128]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).latin1[188 - 128]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).latin1[189 - 128]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).latin1[190 - 128]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).latin1[191 - 128]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).latin1[192 - 128]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).latin1[193 - 128]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).latin1[194 - 128]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).latin1[195 - 128]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).latin1[196 - 128]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).latin1[197 - 128]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).latin1[198 - 128]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).latin1[199 - 128]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).latin1[200 - 128]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).latin1[201 - 128]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).latin1[202 - 128]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).latin1[203 - 128]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).latin1[204 - 128]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).latin1[205 - 128]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).latin1[206 - 128]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).latin1[207 - 128]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).latin1[208 - 128]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).latin1[209 - 128]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).latin1[210 - 128]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).latin1[211 - 128]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).latin1[212 - 128]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).latin1[213 - 128]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).latin1[214 - 128]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).latin1[215 - 128]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).latin1[216 - 128]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).latin1[217 - 128]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).latin1[218 - 128]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).latin1[219 - 128]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).latin1[220 - 128]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).latin1[221 - 128]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).latin1[222 - 128]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).latin1[223 - 128]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).latin1[224 - 128]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).latin1[225 - 128]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).latin1[226 - 128]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).latin1[227 - 128]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).latin1[228 - 128]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).latin1[229 - 128]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).latin1[230 - 128]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).latin1[231 - 128]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).latin1[232 - 128]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).latin1[233 - 128]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).latin1[234 - 128]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).latin1[235 - 128]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).latin1[236 - 128]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).latin1[237 - 128]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).latin1[238 - 128]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).latin1[239 - 128]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).latin1[240 - 128]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).latin1[241 - 128]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).latin1[242 - 128]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).latin1[243 - 128]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).latin1[244 - 128]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).latin1[245 - 128]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).latin1[246 - 128]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).latin1[247 - 128]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).latin1[248 - 128]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).latin1[249 - 128]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).latin1[250 - 128]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).latin1[251 - 128]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).latin1[252 - 128]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).latin1[253 - 128]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).latin1[254 - 128]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).latin1[255 - 128]); + /* non-generated */ + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_empty)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(tuple_empty)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(hamt_bitmap_node_empty)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_INTERP_SINGLETON(interp, hamt_empty)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(context_token_missing)); +} +#endif // Py_DEBUG +/* End auto-generated code */ + +#ifdef __cplusplus +} +#endif +#endif /* !Py_INTERNAL_GLOBAL_OBJECTS_FINI_GENERATED_INIT_H */ diff --git a/_Pre_Builds/_Python312_cpp/include/internal/pycore_global_strings.h b/_Pre_Builds/_Python312_cpp/include/internal/pycore_global_strings.h new file mode 100644 index 0000000..0c84999 --- /dev/null +++ b/_Pre_Builds/_Python312_cpp/include/internal/pycore_global_strings.h @@ -0,0 +1,787 @@ +#ifndef Py_INTERNAL_GLOBAL_STRINGS_H +#define Py_INTERNAL_GLOBAL_STRINGS_H +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef Py_BUILD_CORE +# error "this header requires Py_BUILD_CORE define" +#endif + +// The data structure & init here are inspired by Tools/build/deepfreeze.py. + +// All field names generated by ASCII_STR() have a common prefix, +// to help avoid collisions with keywords, macros, etc. + +#define STRUCT_FOR_ASCII_STR(LITERAL) \ + struct { \ + PyASCIIObject _ascii; \ + uint8_t _data[sizeof(LITERAL)]; \ + } +#define STRUCT_FOR_STR(NAME, LITERAL) \ + STRUCT_FOR_ASCII_STR(LITERAL) _py_ ## NAME; +#define STRUCT_FOR_ID(NAME) \ + STRUCT_FOR_ASCII_STR(#NAME) _py_ ## NAME; + +// XXX Order by frequency of use? + +/* The following is auto-generated by Tools/build/generate_global_objects.py. */ +struct _Py_global_strings { + struct { + STRUCT_FOR_STR(anon_dictcomp, "") + STRUCT_FOR_STR(anon_genexpr, "") + STRUCT_FOR_STR(anon_lambda, "") + STRUCT_FOR_STR(anon_listcomp, "") + STRUCT_FOR_STR(anon_module, "") + STRUCT_FOR_STR(anon_setcomp, "") + STRUCT_FOR_STR(anon_string, "") + STRUCT_FOR_STR(anon_unknown, "") + STRUCT_FOR_STR(close_br, "}") + STRUCT_FOR_STR(dbl_close_br, "}}") + STRUCT_FOR_STR(dbl_open_br, "{{") + STRUCT_FOR_STR(dbl_percent, "%%") + STRUCT_FOR_STR(defaults, ".defaults") + STRUCT_FOR_STR(dot, ".") + STRUCT_FOR_STR(dot_locals, ".") + STRUCT_FOR_STR(empty, "") + STRUCT_FOR_STR(generic_base, ".generic_base") + STRUCT_FOR_STR(json_decoder, "json.decoder") + STRUCT_FOR_STR(kwdefaults, ".kwdefaults") + STRUCT_FOR_STR(list_err, "list index out of range") + STRUCT_FOR_STR(newline, "\n") + STRUCT_FOR_STR(open_br, "{") + STRUCT_FOR_STR(percent, "%") + STRUCT_FOR_STR(shim_name, "") + STRUCT_FOR_STR(type_params, ".type_params") + STRUCT_FOR_STR(utf_8, "utf-8") + } literals; + + struct { + STRUCT_FOR_ID(CANCELLED) + STRUCT_FOR_ID(FINISHED) + STRUCT_FOR_ID(False) + STRUCT_FOR_ID(JSONDecodeError) + STRUCT_FOR_ID(PENDING) + STRUCT_FOR_ID(Py_Repr) + STRUCT_FOR_ID(TextIOWrapper) + STRUCT_FOR_ID(True) + STRUCT_FOR_ID(WarningMessage) + STRUCT_FOR_ID(_) + STRUCT_FOR_ID(_WindowsConsoleIO) + STRUCT_FOR_ID(__IOBase_closed) + STRUCT_FOR_ID(__abc_tpflags__) + STRUCT_FOR_ID(__abs__) + STRUCT_FOR_ID(__abstractmethods__) + STRUCT_FOR_ID(__add__) + STRUCT_FOR_ID(__aenter__) + STRUCT_FOR_ID(__aexit__) + STRUCT_FOR_ID(__aiter__) + STRUCT_FOR_ID(__all__) + STRUCT_FOR_ID(__and__) + STRUCT_FOR_ID(__anext__) + STRUCT_FOR_ID(__annotations__) + STRUCT_FOR_ID(__args__) + STRUCT_FOR_ID(__asyncio_running_event_loop__) + STRUCT_FOR_ID(__await__) + STRUCT_FOR_ID(__bases__) + STRUCT_FOR_ID(__bool__) + STRUCT_FOR_ID(__buffer__) + STRUCT_FOR_ID(__build_class__) + STRUCT_FOR_ID(__builtins__) + STRUCT_FOR_ID(__bytes__) + STRUCT_FOR_ID(__call__) + STRUCT_FOR_ID(__cantrace__) + STRUCT_FOR_ID(__class__) + STRUCT_FOR_ID(__class_getitem__) + STRUCT_FOR_ID(__classcell__) + STRUCT_FOR_ID(__classdict__) + STRUCT_FOR_ID(__classdictcell__) + STRUCT_FOR_ID(__complex__) + STRUCT_FOR_ID(__contains__) + STRUCT_FOR_ID(__copy__) + STRUCT_FOR_ID(__ctypes_from_outparam__) + STRUCT_FOR_ID(__del__) + STRUCT_FOR_ID(__delattr__) + STRUCT_FOR_ID(__delete__) + STRUCT_FOR_ID(__delitem__) + STRUCT_FOR_ID(__dict__) + STRUCT_FOR_ID(__dictoffset__) + STRUCT_FOR_ID(__dir__) + STRUCT_FOR_ID(__divmod__) + STRUCT_FOR_ID(__doc__) + STRUCT_FOR_ID(__enter__) + STRUCT_FOR_ID(__eq__) + STRUCT_FOR_ID(__exit__) + STRUCT_FOR_ID(__file__) + STRUCT_FOR_ID(__float__) + STRUCT_FOR_ID(__floordiv__) + STRUCT_FOR_ID(__format__) + STRUCT_FOR_ID(__fspath__) + STRUCT_FOR_ID(__ge__) + STRUCT_FOR_ID(__get__) + STRUCT_FOR_ID(__getattr__) + STRUCT_FOR_ID(__getattribute__) + STRUCT_FOR_ID(__getinitargs__) + STRUCT_FOR_ID(__getitem__) + STRUCT_FOR_ID(__getnewargs__) + STRUCT_FOR_ID(__getnewargs_ex__) + STRUCT_FOR_ID(__getstate__) + STRUCT_FOR_ID(__gt__) + STRUCT_FOR_ID(__hash__) + STRUCT_FOR_ID(__iadd__) + STRUCT_FOR_ID(__iand__) + STRUCT_FOR_ID(__ifloordiv__) + STRUCT_FOR_ID(__ilshift__) + STRUCT_FOR_ID(__imatmul__) + STRUCT_FOR_ID(__imod__) + STRUCT_FOR_ID(__import__) + STRUCT_FOR_ID(__imul__) + STRUCT_FOR_ID(__index__) + STRUCT_FOR_ID(__init__) + STRUCT_FOR_ID(__init_subclass__) + STRUCT_FOR_ID(__instancecheck__) + STRUCT_FOR_ID(__int__) + STRUCT_FOR_ID(__invert__) + STRUCT_FOR_ID(__ior__) + STRUCT_FOR_ID(__ipow__) + STRUCT_FOR_ID(__irshift__) + STRUCT_FOR_ID(__isabstractmethod__) + STRUCT_FOR_ID(__isub__) + STRUCT_FOR_ID(__iter__) + STRUCT_FOR_ID(__itruediv__) + STRUCT_FOR_ID(__ixor__) + STRUCT_FOR_ID(__le__) + STRUCT_FOR_ID(__len__) + STRUCT_FOR_ID(__length_hint__) + STRUCT_FOR_ID(__lltrace__) + STRUCT_FOR_ID(__loader__) + STRUCT_FOR_ID(__lshift__) + STRUCT_FOR_ID(__lt__) + STRUCT_FOR_ID(__main__) + STRUCT_FOR_ID(__matmul__) + STRUCT_FOR_ID(__missing__) + STRUCT_FOR_ID(__mod__) + STRUCT_FOR_ID(__module__) + STRUCT_FOR_ID(__mro_entries__) + STRUCT_FOR_ID(__mul__) + STRUCT_FOR_ID(__name__) + STRUCT_FOR_ID(__ne__) + STRUCT_FOR_ID(__neg__) + STRUCT_FOR_ID(__new__) + STRUCT_FOR_ID(__newobj__) + STRUCT_FOR_ID(__newobj_ex__) + STRUCT_FOR_ID(__next__) + STRUCT_FOR_ID(__notes__) + STRUCT_FOR_ID(__or__) + STRUCT_FOR_ID(__orig_class__) + STRUCT_FOR_ID(__origin__) + STRUCT_FOR_ID(__package__) + STRUCT_FOR_ID(__parameters__) + STRUCT_FOR_ID(__path__) + STRUCT_FOR_ID(__pos__) + STRUCT_FOR_ID(__pow__) + STRUCT_FOR_ID(__prepare__) + STRUCT_FOR_ID(__qualname__) + STRUCT_FOR_ID(__radd__) + STRUCT_FOR_ID(__rand__) + STRUCT_FOR_ID(__rdivmod__) + STRUCT_FOR_ID(__reduce__) + STRUCT_FOR_ID(__reduce_ex__) + STRUCT_FOR_ID(__release_buffer__) + STRUCT_FOR_ID(__repr__) + STRUCT_FOR_ID(__reversed__) + STRUCT_FOR_ID(__rfloordiv__) + STRUCT_FOR_ID(__rlshift__) + STRUCT_FOR_ID(__rmatmul__) + STRUCT_FOR_ID(__rmod__) + STRUCT_FOR_ID(__rmul__) + STRUCT_FOR_ID(__ror__) + STRUCT_FOR_ID(__round__) + STRUCT_FOR_ID(__rpow__) + STRUCT_FOR_ID(__rrshift__) + STRUCT_FOR_ID(__rshift__) + STRUCT_FOR_ID(__rsub__) + STRUCT_FOR_ID(__rtruediv__) + STRUCT_FOR_ID(__rxor__) + STRUCT_FOR_ID(__set__) + STRUCT_FOR_ID(__set_name__) + STRUCT_FOR_ID(__setattr__) + STRUCT_FOR_ID(__setitem__) + STRUCT_FOR_ID(__setstate__) + STRUCT_FOR_ID(__sizeof__) + STRUCT_FOR_ID(__slotnames__) + STRUCT_FOR_ID(__slots__) + STRUCT_FOR_ID(__spec__) + STRUCT_FOR_ID(__str__) + STRUCT_FOR_ID(__sub__) + STRUCT_FOR_ID(__subclasscheck__) + STRUCT_FOR_ID(__subclasshook__) + STRUCT_FOR_ID(__truediv__) + STRUCT_FOR_ID(__trunc__) + STRUCT_FOR_ID(__type_params__) + STRUCT_FOR_ID(__typing_is_unpacked_typevartuple__) + STRUCT_FOR_ID(__typing_prepare_subst__) + STRUCT_FOR_ID(__typing_subst__) + STRUCT_FOR_ID(__typing_unpacked_tuple_args__) + STRUCT_FOR_ID(__warningregistry__) + STRUCT_FOR_ID(__weaklistoffset__) + STRUCT_FOR_ID(__weakref__) + STRUCT_FOR_ID(__xor__) + STRUCT_FOR_ID(_abc_impl) + STRUCT_FOR_ID(_abstract_) + STRUCT_FOR_ID(_active) + STRUCT_FOR_ID(_annotation) + STRUCT_FOR_ID(_anonymous_) + STRUCT_FOR_ID(_argtypes_) + STRUCT_FOR_ID(_as_parameter_) + STRUCT_FOR_ID(_asyncio_future_blocking) + STRUCT_FOR_ID(_blksize) + STRUCT_FOR_ID(_bootstrap) + STRUCT_FOR_ID(_check_retval_) + STRUCT_FOR_ID(_dealloc_warn) + STRUCT_FOR_ID(_feature_version) + STRUCT_FOR_ID(_fields_) + STRUCT_FOR_ID(_finalizing) + STRUCT_FOR_ID(_find_and_load) + STRUCT_FOR_ID(_fix_up_module) + STRUCT_FOR_ID(_flags_) + STRUCT_FOR_ID(_get_sourcefile) + STRUCT_FOR_ID(_handle_fromlist) + STRUCT_FOR_ID(_initializing) + STRUCT_FOR_ID(_io) + STRUCT_FOR_ID(_is_text_encoding) + STRUCT_FOR_ID(_length_) + STRUCT_FOR_ID(_limbo) + STRUCT_FOR_ID(_lock_unlock_module) + STRUCT_FOR_ID(_loop) + STRUCT_FOR_ID(_needs_com_addref_) + STRUCT_FOR_ID(_pack_) + STRUCT_FOR_ID(_restype_) + STRUCT_FOR_ID(_showwarnmsg) + STRUCT_FOR_ID(_shutdown) + STRUCT_FOR_ID(_slotnames) + STRUCT_FOR_ID(_strptime_datetime) + STRUCT_FOR_ID(_swappedbytes_) + STRUCT_FOR_ID(_type_) + STRUCT_FOR_ID(_uninitialized_submodules) + STRUCT_FOR_ID(_warn_unawaited_coroutine) + STRUCT_FOR_ID(_xoptions) + STRUCT_FOR_ID(a) + STRUCT_FOR_ID(abs_tol) + STRUCT_FOR_ID(access) + STRUCT_FOR_ID(add) + STRUCT_FOR_ID(add_done_callback) + STRUCT_FOR_ID(after_in_child) + STRUCT_FOR_ID(after_in_parent) + STRUCT_FOR_ID(aggregate_class) + STRUCT_FOR_ID(alias) + STRUCT_FOR_ID(append) + STRUCT_FOR_ID(arg) + STRUCT_FOR_ID(argdefs) + STRUCT_FOR_ID(args) + STRUCT_FOR_ID(arguments) + STRUCT_FOR_ID(argv) + STRUCT_FOR_ID(as_integer_ratio) + STRUCT_FOR_ID(ast) + STRUCT_FOR_ID(attribute) + STRUCT_FOR_ID(authorizer_callback) + STRUCT_FOR_ID(autocommit) + STRUCT_FOR_ID(b) + STRUCT_FOR_ID(backtick) + STRUCT_FOR_ID(base) + STRUCT_FOR_ID(before) + STRUCT_FOR_ID(big) + STRUCT_FOR_ID(binary_form) + STRUCT_FOR_ID(block) + STRUCT_FOR_ID(bound) + STRUCT_FOR_ID(buffer) + STRUCT_FOR_ID(buffer_callback) + STRUCT_FOR_ID(buffer_size) + STRUCT_FOR_ID(buffering) + STRUCT_FOR_ID(buffers) + STRUCT_FOR_ID(bufsize) + STRUCT_FOR_ID(builtins) + STRUCT_FOR_ID(byteorder) + STRUCT_FOR_ID(bytes) + STRUCT_FOR_ID(bytes_per_sep) + STRUCT_FOR_ID(c) + STRUCT_FOR_ID(c_call) + STRUCT_FOR_ID(c_exception) + STRUCT_FOR_ID(c_return) + STRUCT_FOR_ID(cached_statements) + STRUCT_FOR_ID(cadata) + STRUCT_FOR_ID(cafile) + STRUCT_FOR_ID(call) + STRUCT_FOR_ID(call_exception_handler) + STRUCT_FOR_ID(call_soon) + STRUCT_FOR_ID(cancel) + STRUCT_FOR_ID(capath) + STRUCT_FOR_ID(category) + STRUCT_FOR_ID(cb_type) + STRUCT_FOR_ID(certfile) + STRUCT_FOR_ID(check_same_thread) + STRUCT_FOR_ID(clear) + STRUCT_FOR_ID(close) + STRUCT_FOR_ID(closed) + STRUCT_FOR_ID(closefd) + STRUCT_FOR_ID(closure) + STRUCT_FOR_ID(co_argcount) + STRUCT_FOR_ID(co_cellvars) + STRUCT_FOR_ID(co_code) + STRUCT_FOR_ID(co_consts) + STRUCT_FOR_ID(co_exceptiontable) + STRUCT_FOR_ID(co_filename) + STRUCT_FOR_ID(co_firstlineno) + STRUCT_FOR_ID(co_flags) + STRUCT_FOR_ID(co_freevars) + STRUCT_FOR_ID(co_kwonlyargcount) + STRUCT_FOR_ID(co_linetable) + STRUCT_FOR_ID(co_name) + STRUCT_FOR_ID(co_names) + STRUCT_FOR_ID(co_nlocals) + STRUCT_FOR_ID(co_posonlyargcount) + STRUCT_FOR_ID(co_qualname) + STRUCT_FOR_ID(co_stacksize) + STRUCT_FOR_ID(co_varnames) + STRUCT_FOR_ID(code) + STRUCT_FOR_ID(command) + STRUCT_FOR_ID(comment_factory) + STRUCT_FOR_ID(compile_mode) + STRUCT_FOR_ID(consts) + STRUCT_FOR_ID(context) + STRUCT_FOR_ID(contravariant) + STRUCT_FOR_ID(cookie) + STRUCT_FOR_ID(copy) + STRUCT_FOR_ID(copyreg) + STRUCT_FOR_ID(coro) + STRUCT_FOR_ID(count) + STRUCT_FOR_ID(covariant) + STRUCT_FOR_ID(cwd) + STRUCT_FOR_ID(d) + STRUCT_FOR_ID(data) + STRUCT_FOR_ID(database) + STRUCT_FOR_ID(decode) + STRUCT_FOR_ID(decoder) + STRUCT_FOR_ID(default) + STRUCT_FOR_ID(defaultaction) + STRUCT_FOR_ID(delete) + STRUCT_FOR_ID(depth) + STRUCT_FOR_ID(detect_types) + STRUCT_FOR_ID(deterministic) + STRUCT_FOR_ID(device) + STRUCT_FOR_ID(dict) + STRUCT_FOR_ID(dictcomp) + STRUCT_FOR_ID(difference_update) + STRUCT_FOR_ID(digest) + STRUCT_FOR_ID(digest_size) + STRUCT_FOR_ID(digestmod) + STRUCT_FOR_ID(dir_fd) + STRUCT_FOR_ID(discard) + STRUCT_FOR_ID(dispatch_table) + STRUCT_FOR_ID(displayhook) + STRUCT_FOR_ID(dklen) + STRUCT_FOR_ID(doc) + STRUCT_FOR_ID(dont_inherit) + STRUCT_FOR_ID(dst) + STRUCT_FOR_ID(dst_dir_fd) + STRUCT_FOR_ID(duration) + STRUCT_FOR_ID(e) + STRUCT_FOR_ID(eager_start) + STRUCT_FOR_ID(effective_ids) + STRUCT_FOR_ID(element_factory) + STRUCT_FOR_ID(encode) + STRUCT_FOR_ID(encoding) + STRUCT_FOR_ID(end) + STRUCT_FOR_ID(end_lineno) + STRUCT_FOR_ID(end_offset) + STRUCT_FOR_ID(endpos) + STRUCT_FOR_ID(entrypoint) + STRUCT_FOR_ID(env) + STRUCT_FOR_ID(errors) + STRUCT_FOR_ID(event) + STRUCT_FOR_ID(eventmask) + STRUCT_FOR_ID(exc_type) + STRUCT_FOR_ID(exc_value) + STRUCT_FOR_ID(excepthook) + STRUCT_FOR_ID(exception) + STRUCT_FOR_ID(existing_file_name) + STRUCT_FOR_ID(exp) + STRUCT_FOR_ID(extend) + STRUCT_FOR_ID(extra_tokens) + STRUCT_FOR_ID(facility) + STRUCT_FOR_ID(factory) + STRUCT_FOR_ID(false) + STRUCT_FOR_ID(family) + STRUCT_FOR_ID(fanout) + STRUCT_FOR_ID(fd) + STRUCT_FOR_ID(fd2) + STRUCT_FOR_ID(fdel) + STRUCT_FOR_ID(fget) + STRUCT_FOR_ID(file) + STRUCT_FOR_ID(file_actions) + STRUCT_FOR_ID(filename) + STRUCT_FOR_ID(fileno) + STRUCT_FOR_ID(filepath) + STRUCT_FOR_ID(fillvalue) + STRUCT_FOR_ID(filters) + STRUCT_FOR_ID(final) + STRUCT_FOR_ID(find_class) + STRUCT_FOR_ID(fix_imports) + STRUCT_FOR_ID(flags) + STRUCT_FOR_ID(flush) + STRUCT_FOR_ID(follow_symlinks) + STRUCT_FOR_ID(format) + STRUCT_FOR_ID(frequency) + STRUCT_FOR_ID(from_param) + STRUCT_FOR_ID(fromlist) + STRUCT_FOR_ID(fromtimestamp) + STRUCT_FOR_ID(fromutc) + STRUCT_FOR_ID(fset) + STRUCT_FOR_ID(func) + STRUCT_FOR_ID(future) + STRUCT_FOR_ID(generation) + STRUCT_FOR_ID(genexpr) + STRUCT_FOR_ID(get) + STRUCT_FOR_ID(get_debug) + STRUCT_FOR_ID(get_event_loop) + STRUCT_FOR_ID(get_loop) + STRUCT_FOR_ID(get_source) + STRUCT_FOR_ID(getattr) + STRUCT_FOR_ID(getstate) + STRUCT_FOR_ID(gid) + STRUCT_FOR_ID(globals) + STRUCT_FOR_ID(groupindex) + STRUCT_FOR_ID(groups) + STRUCT_FOR_ID(handle) + STRUCT_FOR_ID(hash_name) + STRUCT_FOR_ID(header) + STRUCT_FOR_ID(headers) + STRUCT_FOR_ID(hi) + STRUCT_FOR_ID(hook) + STRUCT_FOR_ID(id) + STRUCT_FOR_ID(ident) + STRUCT_FOR_ID(ignore) + STRUCT_FOR_ID(imag) + STRUCT_FOR_ID(importlib) + STRUCT_FOR_ID(in_fd) + STRUCT_FOR_ID(incoming) + STRUCT_FOR_ID(indexgroup) + STRUCT_FOR_ID(inf) + STRUCT_FOR_ID(infer_variance) + STRUCT_FOR_ID(inheritable) + STRUCT_FOR_ID(initial) + STRUCT_FOR_ID(initial_bytes) + STRUCT_FOR_ID(initial_value) + STRUCT_FOR_ID(initval) + STRUCT_FOR_ID(inner_size) + STRUCT_FOR_ID(input) + STRUCT_FOR_ID(insert_comments) + STRUCT_FOR_ID(insert_pis) + STRUCT_FOR_ID(instructions) + STRUCT_FOR_ID(intern) + STRUCT_FOR_ID(intersection) + STRUCT_FOR_ID(is_running) + STRUCT_FOR_ID(isatty) + STRUCT_FOR_ID(isinstance) + STRUCT_FOR_ID(isoformat) + STRUCT_FOR_ID(isolation_level) + STRUCT_FOR_ID(istext) + STRUCT_FOR_ID(item) + STRUCT_FOR_ID(items) + STRUCT_FOR_ID(iter) + STRUCT_FOR_ID(iterable) + STRUCT_FOR_ID(iterations) + STRUCT_FOR_ID(join) + STRUCT_FOR_ID(jump) + STRUCT_FOR_ID(keepends) + STRUCT_FOR_ID(key) + STRUCT_FOR_ID(keyfile) + STRUCT_FOR_ID(keys) + STRUCT_FOR_ID(kind) + STRUCT_FOR_ID(kw) + STRUCT_FOR_ID(kw1) + STRUCT_FOR_ID(kw2) + STRUCT_FOR_ID(lambda) + STRUCT_FOR_ID(last) + STRUCT_FOR_ID(last_exc) + STRUCT_FOR_ID(last_node) + STRUCT_FOR_ID(last_traceback) + STRUCT_FOR_ID(last_type) + STRUCT_FOR_ID(last_value) + STRUCT_FOR_ID(latin1) + STRUCT_FOR_ID(leaf_size) + STRUCT_FOR_ID(len) + STRUCT_FOR_ID(length) + STRUCT_FOR_ID(level) + STRUCT_FOR_ID(limit) + STRUCT_FOR_ID(line) + STRUCT_FOR_ID(line_buffering) + STRUCT_FOR_ID(lineno) + STRUCT_FOR_ID(listcomp) + STRUCT_FOR_ID(little) + STRUCT_FOR_ID(lo) + STRUCT_FOR_ID(locale) + STRUCT_FOR_ID(locals) + STRUCT_FOR_ID(logoption) + STRUCT_FOR_ID(loop) + STRUCT_FOR_ID(mapping) + STRUCT_FOR_ID(match) + STRUCT_FOR_ID(max_length) + STRUCT_FOR_ID(maxdigits) + STRUCT_FOR_ID(maxevents) + STRUCT_FOR_ID(maxmem) + STRUCT_FOR_ID(maxsplit) + STRUCT_FOR_ID(maxvalue) + STRUCT_FOR_ID(memLevel) + STRUCT_FOR_ID(memlimit) + STRUCT_FOR_ID(message) + STRUCT_FOR_ID(metaclass) + STRUCT_FOR_ID(metadata) + STRUCT_FOR_ID(method) + STRUCT_FOR_ID(mod) + STRUCT_FOR_ID(mode) + STRUCT_FOR_ID(module) + STRUCT_FOR_ID(module_globals) + STRUCT_FOR_ID(modules) + STRUCT_FOR_ID(mro) + STRUCT_FOR_ID(msg) + STRUCT_FOR_ID(mycmp) + STRUCT_FOR_ID(n) + STRUCT_FOR_ID(n_arg) + STRUCT_FOR_ID(n_fields) + STRUCT_FOR_ID(n_sequence_fields) + STRUCT_FOR_ID(n_unnamed_fields) + STRUCT_FOR_ID(name) + STRUCT_FOR_ID(name_from) + STRUCT_FOR_ID(namespace_separator) + STRUCT_FOR_ID(namespaces) + STRUCT_FOR_ID(narg) + STRUCT_FOR_ID(ndigits) + STRUCT_FOR_ID(new_file_name) + STRUCT_FOR_ID(new_limit) + STRUCT_FOR_ID(newline) + STRUCT_FOR_ID(newlines) + STRUCT_FOR_ID(next) + STRUCT_FOR_ID(nlocals) + STRUCT_FOR_ID(node_depth) + STRUCT_FOR_ID(node_offset) + STRUCT_FOR_ID(ns) + STRUCT_FOR_ID(nstype) + STRUCT_FOR_ID(nt) + STRUCT_FOR_ID(null) + STRUCT_FOR_ID(number) + STRUCT_FOR_ID(obj) + STRUCT_FOR_ID(object) + STRUCT_FOR_ID(offset) + STRUCT_FOR_ID(offset_dst) + STRUCT_FOR_ID(offset_src) + STRUCT_FOR_ID(on_type_read) + STRUCT_FOR_ID(onceregistry) + STRUCT_FOR_ID(only_keys) + STRUCT_FOR_ID(oparg) + STRUCT_FOR_ID(opcode) + STRUCT_FOR_ID(open) + STRUCT_FOR_ID(opener) + STRUCT_FOR_ID(operation) + STRUCT_FOR_ID(optimize) + STRUCT_FOR_ID(options) + STRUCT_FOR_ID(order) + STRUCT_FOR_ID(origin) + STRUCT_FOR_ID(out_fd) + STRUCT_FOR_ID(outgoing) + STRUCT_FOR_ID(overlapped) + STRUCT_FOR_ID(owner) + STRUCT_FOR_ID(p) + STRUCT_FOR_ID(pages) + STRUCT_FOR_ID(parent) + STRUCT_FOR_ID(password) + STRUCT_FOR_ID(path) + STRUCT_FOR_ID(pattern) + STRUCT_FOR_ID(peek) + STRUCT_FOR_ID(persistent_id) + STRUCT_FOR_ID(persistent_load) + STRUCT_FOR_ID(person) + STRUCT_FOR_ID(pi_factory) + STRUCT_FOR_ID(pid) + STRUCT_FOR_ID(policy) + STRUCT_FOR_ID(pos) + STRUCT_FOR_ID(pos1) + STRUCT_FOR_ID(pos2) + STRUCT_FOR_ID(posix) + STRUCT_FOR_ID(print_file_and_line) + STRUCT_FOR_ID(priority) + STRUCT_FOR_ID(progress) + STRUCT_FOR_ID(progress_handler) + STRUCT_FOR_ID(progress_routine) + STRUCT_FOR_ID(proto) + STRUCT_FOR_ID(protocol) + STRUCT_FOR_ID(ps1) + STRUCT_FOR_ID(ps2) + STRUCT_FOR_ID(query) + STRUCT_FOR_ID(quotetabs) + STRUCT_FOR_ID(r) + STRUCT_FOR_ID(raw) + STRUCT_FOR_ID(read) + STRUCT_FOR_ID(read1) + STRUCT_FOR_ID(readable) + STRUCT_FOR_ID(readall) + STRUCT_FOR_ID(readinto) + STRUCT_FOR_ID(readinto1) + STRUCT_FOR_ID(readline) + STRUCT_FOR_ID(readonly) + STRUCT_FOR_ID(real) + STRUCT_FOR_ID(reducer_override) + STRUCT_FOR_ID(registry) + STRUCT_FOR_ID(rel_tol) + STRUCT_FOR_ID(release) + STRUCT_FOR_ID(reload) + STRUCT_FOR_ID(repl) + STRUCT_FOR_ID(replace) + STRUCT_FOR_ID(reserved) + STRUCT_FOR_ID(reset) + STRUCT_FOR_ID(resetids) + STRUCT_FOR_ID(return) + STRUCT_FOR_ID(reverse) + STRUCT_FOR_ID(reversed) + STRUCT_FOR_ID(s) + STRUCT_FOR_ID(salt) + STRUCT_FOR_ID(sched_priority) + STRUCT_FOR_ID(scheduler) + STRUCT_FOR_ID(seek) + STRUCT_FOR_ID(seekable) + STRUCT_FOR_ID(selectors) + STRUCT_FOR_ID(self) + STRUCT_FOR_ID(send) + STRUCT_FOR_ID(sep) + STRUCT_FOR_ID(sequence) + STRUCT_FOR_ID(server_hostname) + STRUCT_FOR_ID(server_side) + STRUCT_FOR_ID(session) + STRUCT_FOR_ID(setcomp) + STRUCT_FOR_ID(setpgroup) + STRUCT_FOR_ID(setsid) + STRUCT_FOR_ID(setsigdef) + STRUCT_FOR_ID(setsigmask) + STRUCT_FOR_ID(setstate) + STRUCT_FOR_ID(shape) + STRUCT_FOR_ID(show_cmd) + STRUCT_FOR_ID(signed) + STRUCT_FOR_ID(size) + STRUCT_FOR_ID(sizehint) + STRUCT_FOR_ID(skip_file_prefixes) + STRUCT_FOR_ID(sleep) + STRUCT_FOR_ID(sock) + STRUCT_FOR_ID(sort) + STRUCT_FOR_ID(sound) + STRUCT_FOR_ID(source) + STRUCT_FOR_ID(source_traceback) + STRUCT_FOR_ID(src) + STRUCT_FOR_ID(src_dir_fd) + STRUCT_FOR_ID(stacklevel) + STRUCT_FOR_ID(start) + STRUCT_FOR_ID(statement) + STRUCT_FOR_ID(status) + STRUCT_FOR_ID(stderr) + STRUCT_FOR_ID(stdin) + STRUCT_FOR_ID(stdout) + STRUCT_FOR_ID(step) + STRUCT_FOR_ID(steps) + STRUCT_FOR_ID(store_name) + STRUCT_FOR_ID(strategy) + STRUCT_FOR_ID(strftime) + STRUCT_FOR_ID(strict) + STRUCT_FOR_ID(strict_mode) + STRUCT_FOR_ID(string) + STRUCT_FOR_ID(sub_key) + STRUCT_FOR_ID(symmetric_difference_update) + STRUCT_FOR_ID(tabsize) + STRUCT_FOR_ID(tag) + STRUCT_FOR_ID(target) + STRUCT_FOR_ID(target_is_directory) + STRUCT_FOR_ID(task) + STRUCT_FOR_ID(tb_frame) + STRUCT_FOR_ID(tb_lasti) + STRUCT_FOR_ID(tb_lineno) + STRUCT_FOR_ID(tb_next) + STRUCT_FOR_ID(tell) + STRUCT_FOR_ID(template) + STRUCT_FOR_ID(term) + STRUCT_FOR_ID(text) + STRUCT_FOR_ID(threading) + STRUCT_FOR_ID(throw) + STRUCT_FOR_ID(timeout) + STRUCT_FOR_ID(times) + STRUCT_FOR_ID(timetuple) + STRUCT_FOR_ID(top) + STRUCT_FOR_ID(trace_callback) + STRUCT_FOR_ID(traceback) + STRUCT_FOR_ID(trailers) + STRUCT_FOR_ID(translate) + STRUCT_FOR_ID(true) + STRUCT_FOR_ID(truncate) + STRUCT_FOR_ID(twice) + STRUCT_FOR_ID(txt) + STRUCT_FOR_ID(type) + STRUCT_FOR_ID(type_params) + STRUCT_FOR_ID(tz) + STRUCT_FOR_ID(tzname) + STRUCT_FOR_ID(uid) + STRUCT_FOR_ID(unlink) + STRUCT_FOR_ID(unraisablehook) + STRUCT_FOR_ID(uri) + STRUCT_FOR_ID(usedforsecurity) + STRUCT_FOR_ID(value) + STRUCT_FOR_ID(values) + STRUCT_FOR_ID(version) + STRUCT_FOR_ID(volume) + STRUCT_FOR_ID(warnings) + STRUCT_FOR_ID(warnoptions) + STRUCT_FOR_ID(wbits) + STRUCT_FOR_ID(week) + STRUCT_FOR_ID(weekday) + STRUCT_FOR_ID(which) + STRUCT_FOR_ID(who) + STRUCT_FOR_ID(withdata) + STRUCT_FOR_ID(writable) + STRUCT_FOR_ID(write) + STRUCT_FOR_ID(write_through) + STRUCT_FOR_ID(x) + STRUCT_FOR_ID(year) + STRUCT_FOR_ID(zdict) + } identifiers; + struct { + PyASCIIObject _ascii; + uint8_t _data[2]; + } ascii[128]; + struct { + PyCompactUnicodeObject _latin1; + uint8_t _data[2]; + } latin1[128]; +}; +/* End auto-generated code */ + +#undef ID +#undef STR + + +#define _Py_ID(NAME) \ + (_Py_SINGLETON(strings.identifiers._py_ ## NAME._ascii.ob_base)) +#define _Py_STR(NAME) \ + (_Py_SINGLETON(strings.literals._py_ ## NAME._ascii.ob_base)) + +/* _Py_DECLARE_STR() should precede all uses of _Py_STR() in a function. + + This is true even if the same string has already been declared + elsewhere, even in the same file. Mismatched duplicates are detected + by Tools/scripts/generate-global-objects.py. + + Pairing _Py_DECLARE_STR() with every use of _Py_STR() makes sure the + string keeps working even if the declaration is removed somewhere + else. It also makes it clear what the actual string is at every + place it is being used. */ +#define _Py_DECLARE_STR(name, str) + +#ifdef __cplusplus +} +#endif +#endif /* !Py_INTERNAL_GLOBAL_STRINGS_H */ diff --git a/_Pre_Builds/_Python312_cpp/include/internal/pycore_hamt.h b/_Pre_Builds/_Python312_cpp/include/internal/pycore_hamt.h new file mode 100644 index 0000000..d8742c7 --- /dev/null +++ b/_Pre_Builds/_Python312_cpp/include/internal/pycore_hamt.h @@ -0,0 +1,134 @@ +#ifndef Py_INTERNAL_HAMT_H +#define Py_INTERNAL_HAMT_H + +#ifndef Py_BUILD_CORE +# error "this header requires Py_BUILD_CORE define" +#endif + + +/* +HAMT tree is shaped by hashes of keys. Every group of 5 bits of a hash denotes +the exact position of the key in one level of the tree. Since we're using +32 bit hashes, we can have at most 7 such levels. Although if there are +two distinct keys with equal hashes, they will have to occupy the same +cell in the 7th level of the tree -- so we'd put them in a "collision" node. +Which brings the total possible tree depth to 8. Read more about the actual +layout of the HAMT tree in `hamt.c`. + +This constant is used to define a datastucture for storing iteration state. +*/ +#define _Py_HAMT_MAX_TREE_DEPTH 8 + + +extern PyTypeObject _PyHamt_Type; +extern PyTypeObject _PyHamt_ArrayNode_Type; +extern PyTypeObject _PyHamt_BitmapNode_Type; +extern PyTypeObject _PyHamt_CollisionNode_Type; +extern PyTypeObject _PyHamtKeys_Type; +extern PyTypeObject _PyHamtValues_Type; +extern PyTypeObject _PyHamtItems_Type; + + +/* other API */ + +#define PyHamt_Check(o) Py_IS_TYPE((o), &_PyHamt_Type) + + +/* Abstract tree node. */ +typedef struct { + PyObject_HEAD +} PyHamtNode; + + +/* An HAMT immutable mapping collection. */ +typedef struct { + PyObject_HEAD + PyHamtNode *h_root; + PyObject *h_weakreflist; + Py_ssize_t h_count; +} PyHamtObject; + + +typedef struct { + PyObject_VAR_HEAD + uint32_t b_bitmap; + PyObject *b_array[1]; +} PyHamtNode_Bitmap; + + +/* A struct to hold the state of depth-first traverse of the tree. + + HAMT is an immutable collection. Iterators will hold a strong reference + to it, and every node in the HAMT has strong references to its children. + + So for iterators, we can implement zero allocations and zero reference + inc/dec depth-first iteration. + + - i_nodes: an array of seven pointers to tree nodes + - i_level: the current node in i_nodes + - i_pos: an array of positions within nodes in i_nodes. +*/ +typedef struct { + PyHamtNode *i_nodes[_Py_HAMT_MAX_TREE_DEPTH]; + Py_ssize_t i_pos[_Py_HAMT_MAX_TREE_DEPTH]; + int8_t i_level; +} PyHamtIteratorState; + + +/* Base iterator object. + + Contains the iteration state, a pointer to the HAMT tree, + and a pointer to the 'yield function'. The latter is a simple + function that returns a key/value tuple for the 'Items' iterator, + just a key for the 'Keys' iterator, and a value for the 'Values' + iterator. +*/ +typedef struct { + PyObject_HEAD + PyHamtObject *hi_obj; + PyHamtIteratorState hi_iter; + binaryfunc hi_yield; +} PyHamtIterator; + + +/* Create a new HAMT immutable mapping. */ +PyHamtObject * _PyHamt_New(void); + +/* Return a new collection based on "o", but with an additional + key/val pair. */ +PyHamtObject * _PyHamt_Assoc(PyHamtObject *o, PyObject *key, PyObject *val); + +/* Return a new collection based on "o", but without "key". */ +PyHamtObject * _PyHamt_Without(PyHamtObject *o, PyObject *key); + +/* Find "key" in the "o" collection. + + Return: + - -1: An error occurred. + - 0: "key" wasn't found in "o". + - 1: "key" is in "o"; "*val" is set to its value (a borrowed ref). +*/ +int _PyHamt_Find(PyHamtObject *o, PyObject *key, PyObject **val); + +/* Check if "v" is equal to "w". + + Return: + - 0: v != w + - 1: v == w + - -1: An error occurred. +*/ +int _PyHamt_Eq(PyHamtObject *v, PyHamtObject *w); + +/* Return the size of "o"; equivalent of "len(o)". */ +Py_ssize_t _PyHamt_Len(PyHamtObject *o); + +/* Return a Keys iterator over "o". */ +PyObject * _PyHamt_NewIterKeys(PyHamtObject *o); + +/* Return a Values iterator over "o". */ +PyObject * _PyHamt_NewIterValues(PyHamtObject *o); + +/* Return a Items iterator over "o". */ +PyObject * _PyHamt_NewIterItems(PyHamtObject *o); + +#endif /* !Py_INTERNAL_HAMT_H */ diff --git a/_Pre_Builds/_Python312_cpp/include/internal/pycore_hashtable.h b/_Pre_Builds/_Python312_cpp/include/internal/pycore_hashtable.h new file mode 100644 index 0000000..f57978a --- /dev/null +++ b/_Pre_Builds/_Python312_cpp/include/internal/pycore_hashtable.h @@ -0,0 +1,149 @@ +#ifndef Py_INTERNAL_HASHTABLE_H +#define Py_INTERNAL_HASHTABLE_H +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef Py_BUILD_CORE +# error "this header requires Py_BUILD_CORE define" +#endif + +/* Single linked list */ + +typedef struct _Py_slist_item_s { + struct _Py_slist_item_s *next; +} _Py_slist_item_t; + +typedef struct { + _Py_slist_item_t *head; +} _Py_slist_t; + +#define _Py_SLIST_ITEM_NEXT(ITEM) _Py_RVALUE(((_Py_slist_item_t *)(ITEM))->next) + +#define _Py_SLIST_HEAD(SLIST) _Py_RVALUE(((_Py_slist_t *)(SLIST))->head) + + +/* _Py_hashtable: table entry */ + +typedef struct { + /* used by _Py_hashtable_t.buckets to link entries */ + _Py_slist_item_t _Py_slist_item; + + Py_uhash_t key_hash; + void *key; + void *value; +} _Py_hashtable_entry_t; + + +/* _Py_hashtable: prototypes */ + +/* Forward declaration */ +struct _Py_hashtable_t; +typedef struct _Py_hashtable_t _Py_hashtable_t; + +typedef Py_uhash_t (*_Py_hashtable_hash_func) (const void *key); +typedef int (*_Py_hashtable_compare_func) (const void *key1, const void *key2); +typedef void (*_Py_hashtable_destroy_func) (void *key); +typedef _Py_hashtable_entry_t* (*_Py_hashtable_get_entry_func)(_Py_hashtable_t *ht, + const void *key); + +typedef struct { + // Allocate a memory block + void* (*malloc) (size_t size); + + // Release a memory block + void (*free) (void *ptr); +} _Py_hashtable_allocator_t; + + +/* _Py_hashtable: table */ +struct _Py_hashtable_t { + size_t nentries; // Total number of entries in the table + size_t nbuckets; + _Py_slist_t *buckets; + + _Py_hashtable_get_entry_func get_entry_func; + _Py_hashtable_hash_func hash_func; + _Py_hashtable_compare_func compare_func; + _Py_hashtable_destroy_func key_destroy_func; + _Py_hashtable_destroy_func value_destroy_func; + _Py_hashtable_allocator_t alloc; +}; + +/* Hash a pointer (void*) */ +PyAPI_FUNC(Py_uhash_t) _Py_hashtable_hash_ptr(const void *key); + +/* Comparison using memcmp() */ +PyAPI_FUNC(int) _Py_hashtable_compare_direct( + const void *key1, + const void *key2); + +PyAPI_FUNC(_Py_hashtable_t *) _Py_hashtable_new( + _Py_hashtable_hash_func hash_func, + _Py_hashtable_compare_func compare_func); + +PyAPI_FUNC(_Py_hashtable_t *) _Py_hashtable_new_full( + _Py_hashtable_hash_func hash_func, + _Py_hashtable_compare_func compare_func, + _Py_hashtable_destroy_func key_destroy_func, + _Py_hashtable_destroy_func value_destroy_func, + _Py_hashtable_allocator_t *allocator); + +PyAPI_FUNC(void) _Py_hashtable_destroy(_Py_hashtable_t *ht); + +PyAPI_FUNC(void) _Py_hashtable_clear(_Py_hashtable_t *ht); + +typedef int (*_Py_hashtable_foreach_func) (_Py_hashtable_t *ht, + const void *key, const void *value, + void *user_data); + +/* Call func() on each entry of the hashtable. + Iteration stops if func() result is non-zero, in this case it's the result + of the call. Otherwise, the function returns 0. */ +PyAPI_FUNC(int) _Py_hashtable_foreach( + _Py_hashtable_t *ht, + _Py_hashtable_foreach_func func, + void *user_data); + +PyAPI_FUNC(size_t) _Py_hashtable_size(const _Py_hashtable_t *ht); +PyAPI_FUNC(size_t) _Py_hashtable_len(const _Py_hashtable_t *ht); + +/* Add a new entry to the hash. The key must not be present in the hash table. + Return 0 on success, -1 on memory error. */ +PyAPI_FUNC(int) _Py_hashtable_set( + _Py_hashtable_t *ht, + const void *key, + void *value); + + +/* Get an entry. + Return NULL if the key does not exist. */ +static inline _Py_hashtable_entry_t * +_Py_hashtable_get_entry(_Py_hashtable_t *ht, const void *key) +{ + return ht->get_entry_func(ht, key); +} + + +/* Get value from an entry. + Return NULL if the entry is not found. + + Use _Py_hashtable_get_entry() to distinguish entry value equal to NULL + and entry not found. */ +PyAPI_FUNC(void*) _Py_hashtable_get(_Py_hashtable_t *ht, const void *key); + + +/* Remove a key and its associated value without calling key and value destroy + functions. + + Return the removed value if the key was found. + Return NULL if the key was not found. */ +PyAPI_FUNC(void*) _Py_hashtable_steal( + _Py_hashtable_t *ht, + const void *key); + + +#ifdef __cplusplus +} +#endif +#endif /* !Py_INTERNAL_HASHTABLE_H */ diff --git a/_Pre_Builds/_Python312_cpp/include/internal/pycore_import.h b/_Pre_Builds/_Python312_cpp/include/internal/pycore_import.h new file mode 100644 index 0000000..376957b --- /dev/null +++ b/_Pre_Builds/_Python312_cpp/include/internal/pycore_import.h @@ -0,0 +1,183 @@ +#ifndef Py_LIMITED_API +#ifndef Py_INTERNAL_IMPORT_H +#define Py_INTERNAL_IMPORT_H +#ifdef __cplusplus +extern "C" { +#endif + +#include "pycore_hashtable.h" // _Py_hashtable_t +#include "pycore_time.h" // _PyTime_t + + +struct _import_runtime_state { + /* The builtin modules (defined in config.c). */ + struct _inittab *inittab; + /* The most recent value assigned to a PyModuleDef.m_base.m_index. + This is incremented each time PyModuleDef_Init() is called, + which is just about every time an extension module is imported. + See PyInterpreterState.modules_by_index for more info. */ + Py_ssize_t last_module_index; + struct { + /* A lock to guard the cache. */ + PyThread_type_lock mutex; + /* The actual cache of (filename, name, PyModuleDef) for modules. + Only legacy (single-phase init) extension modules are added + and only if they support multiple initialization (m_size >- 0) + or are imported in the main interpreter. + This is initialized lazily in _PyImport_FixupExtensionObject(). + Modules are added there and looked up in _imp.find_extension(). */ + _Py_hashtable_t *hashtable; + } extensions; + /* Package context -- the full module name for package imports */ + const char * pkgcontext; +}; + +struct _import_state { + /* cached sys.modules dictionary */ + PyObject *modules; + /* This is the list of module objects for all legacy (single-phase init) + extension modules ever loaded in this process (i.e. imported + in this interpreter or in any other). Py_None stands in for + modules that haven't actually been imported in this interpreter. + + A module's index (PyModuleDef.m_base.m_index) is used to look up + the corresponding module object for this interpreter, if any. + (See PyState_FindModule().) When any extension module + is initialized during import, its moduledef gets initialized by + PyModuleDef_Init(), and the first time that happens for each + PyModuleDef, its index gets set to the current value of + a global counter (see _PyRuntimeState.imports.last_module_index). + The entry for that index in this interpreter remains unset until + the module is actually imported here. (Py_None is used as + a placeholder.) Note that multi-phase init modules always get + an index for which there will never be a module set. + + This is initialized lazily in PyState_AddModule(), which is also + where modules get added. */ + PyObject *modules_by_index; + /* importlib module._bootstrap */ + PyObject *importlib; + /* override for config->use_frozen_modules (for tests) + (-1: "off", 1: "on", 0: no override) */ + int override_frozen_modules; + int override_multi_interp_extensions_check; +#ifdef HAVE_DLOPEN + int dlopenflags; +#endif + PyObject *import_func; + /* The global import lock. */ + struct { + PyThread_type_lock mutex; + unsigned long thread; + int level; + } lock; + /* diagnostic info in PyImport_ImportModuleLevelObject() */ + struct { + int import_level; + _PyTime_t accumulated; + int header; + } find_and_load; +}; + +#ifdef HAVE_DLOPEN +# include +# if HAVE_DECL_RTLD_NOW +# define _Py_DLOPEN_FLAGS RTLD_NOW +# else +# define _Py_DLOPEN_FLAGS RTLD_LAZY +# endif +# define DLOPENFLAGS_INIT .dlopenflags = _Py_DLOPEN_FLAGS, +#else +# define _Py_DLOPEN_FLAGS 0 +# define DLOPENFLAGS_INIT +#endif + +#define IMPORTS_INIT \ + { \ + DLOPENFLAGS_INIT \ + .lock = { \ + .mutex = NULL, \ + .thread = PYTHREAD_INVALID_THREAD_ID, \ + .level = 0, \ + }, \ + .find_and_load = { \ + .header = 1, \ + }, \ + } + +extern void _PyImport_ClearCore(PyInterpreterState *interp); + +extern Py_ssize_t _PyImport_GetNextModuleIndex(void); +extern const char * _PyImport_ResolveNameWithPackageContext(const char *name); +extern const char * _PyImport_SwapPackageContext(const char *newcontext); + +extern int _PyImport_GetDLOpenFlags(PyInterpreterState *interp); +extern void _PyImport_SetDLOpenFlags(PyInterpreterState *interp, int new_val); + +extern PyObject * _PyImport_InitModules(PyInterpreterState *interp); +extern PyObject * _PyImport_GetModules(PyInterpreterState *interp); +extern void _PyImport_ClearModules(PyInterpreterState *interp); + +extern void _PyImport_ClearModulesByIndex(PyInterpreterState *interp); + +extern int _PyImport_InitDefaultImportFunc(PyInterpreterState *interp); +extern int _PyImport_IsDefaultImportFunc( + PyInterpreterState *interp, + PyObject *func); + +extern PyObject * _PyImport_GetImportlibLoader( + PyInterpreterState *interp, + const char *loader_name); +extern PyObject * _PyImport_GetImportlibExternalLoader( + PyInterpreterState *interp, + const char *loader_name); +extern PyObject * _PyImport_BlessMyLoader( + PyInterpreterState *interp, + PyObject *module_globals); +extern PyObject * _PyImport_ImportlibModuleRepr( + PyInterpreterState *interp, + PyObject *module); + + +extern PyStatus _PyImport_Init(void); +extern void _PyImport_Fini(void); +extern void _PyImport_Fini2(void); + +extern PyStatus _PyImport_InitCore( + PyThreadState *tstate, + PyObject *sysmod, + int importlib); +extern PyStatus _PyImport_InitExternal(PyThreadState *tstate); +extern void _PyImport_FiniCore(PyInterpreterState *interp); +extern void _PyImport_FiniExternal(PyInterpreterState *interp); + + +#ifdef HAVE_FORK +extern PyStatus _PyImport_ReInitLock(PyInterpreterState *interp); +#endif + + +extern PyObject* _PyImport_GetBuiltinModuleNames(void); + +struct _module_alias { + const char *name; /* ASCII encoded string */ + const char *orig; /* ASCII encoded string */ +}; + +PyAPI_DATA(const struct _frozen *) _PyImport_FrozenBootstrap; +PyAPI_DATA(const struct _frozen *) _PyImport_FrozenStdlib; +PyAPI_DATA(const struct _frozen *) _PyImport_FrozenTest; +extern const struct _module_alias * _PyImport_FrozenAliases; + +PyAPI_FUNC(int) _PyImport_CheckSubinterpIncompatibleExtensionAllowed( + const char *name); + + +// for testing +PyAPI_FUNC(int) _PyImport_ClearExtension(PyObject *name, PyObject *filename); + +#ifdef __cplusplus +} +#endif +#endif /* !Py_INTERNAL_IMPORT_H */ +#endif /* !Py_LIMITED_API */ diff --git a/_Pre_Builds/_Python312_cpp/include/internal/pycore_initconfig.h b/_Pre_Builds/_Python312_cpp/include/internal/pycore_initconfig.h new file mode 100644 index 0000000..4cbd14a --- /dev/null +++ b/_Pre_Builds/_Python312_cpp/include/internal/pycore_initconfig.h @@ -0,0 +1,179 @@ +#ifndef Py_INTERNAL_CORECONFIG_H +#define Py_INTERNAL_CORECONFIG_H +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef Py_BUILD_CORE +# error "this header requires Py_BUILD_CORE define" +#endif + +/* Forward declaration */ +struct pyruntimestate; + +/* --- PyStatus ----------------------------------------------- */ + +/* Almost all errors causing Python initialization to fail */ +#ifdef _MSC_VER + /* Visual Studio 2015 doesn't implement C99 __func__ in C */ +# define _PyStatus_GET_FUNC() __FUNCTION__ +#else +# define _PyStatus_GET_FUNC() __func__ +#endif + +#define _PyStatus_OK() \ + (PyStatus){._type = _PyStatus_TYPE_OK,} + /* other fields are set to 0 */ +#define _PyStatus_ERR(ERR_MSG) \ + (PyStatus){ \ + ._type = _PyStatus_TYPE_ERROR, \ + .func = _PyStatus_GET_FUNC(), \ + .err_msg = (ERR_MSG)} + /* other fields are set to 0 */ +#define _PyStatus_NO_MEMORY() _PyStatus_ERR("memory allocation failed") +#define _PyStatus_EXIT(EXITCODE) \ + (PyStatus){ \ + ._type = _PyStatus_TYPE_EXIT, \ + .exitcode = (EXITCODE)} +#define _PyStatus_IS_ERROR(err) \ + ((err)._type == _PyStatus_TYPE_ERROR) +#define _PyStatus_IS_EXIT(err) \ + ((err)._type == _PyStatus_TYPE_EXIT) +#define _PyStatus_EXCEPTION(err) \ + ((err)._type != _PyStatus_TYPE_OK) +#define _PyStatus_UPDATE_FUNC(err) \ + do { (err).func = _PyStatus_GET_FUNC(); } while (0) + +/* --- PyWideStringList ------------------------------------------------ */ + +#define _PyWideStringList_INIT (PyWideStringList){.length = 0, .items = NULL} + +#ifndef NDEBUG +PyAPI_FUNC(int) _PyWideStringList_CheckConsistency(const PyWideStringList *list); +#endif +PyAPI_FUNC(void) _PyWideStringList_Clear(PyWideStringList *list); +PyAPI_FUNC(int) _PyWideStringList_Copy(PyWideStringList *list, + const PyWideStringList *list2); +PyAPI_FUNC(PyStatus) _PyWideStringList_Extend(PyWideStringList *list, + const PyWideStringList *list2); +PyAPI_FUNC(PyObject*) _PyWideStringList_AsList(const PyWideStringList *list); + + +/* --- _PyArgv ---------------------------------------------------- */ + +typedef struct _PyArgv { + Py_ssize_t argc; + int use_bytes_argv; + char * const *bytes_argv; + wchar_t * const *wchar_argv; +} _PyArgv; + +PyAPI_FUNC(PyStatus) _PyArgv_AsWstrList(const _PyArgv *args, + PyWideStringList *list); + + +/* --- Helper functions ------------------------------------------- */ + +PyAPI_FUNC(int) _Py_str_to_int( + const char *str, + int *result); +PyAPI_FUNC(const wchar_t*) _Py_get_xoption( + const PyWideStringList *xoptions, + const wchar_t *name); +PyAPI_FUNC(const char*) _Py_GetEnv( + int use_environment, + const char *name); +PyAPI_FUNC(void) _Py_get_env_flag( + int use_environment, + int *flag, + const char *name); + +/* Py_GetArgcArgv() helper */ +PyAPI_FUNC(void) _Py_ClearArgcArgv(void); + + +/* --- _PyPreCmdline ------------------------------------------------- */ + +typedef struct { + PyWideStringList argv; + PyWideStringList xoptions; /* "-X value" option */ + int isolated; /* -I option */ + int use_environment; /* -E option */ + int dev_mode; /* -X dev and PYTHONDEVMODE */ + int warn_default_encoding; /* -X warn_default_encoding and PYTHONWARNDEFAULTENCODING */ +} _PyPreCmdline; + +#define _PyPreCmdline_INIT \ + (_PyPreCmdline){ \ + .use_environment = -1, \ + .isolated = -1, \ + .dev_mode = -1} +/* Note: _PyPreCmdline_INIT sets other fields to 0/NULL */ + +extern void _PyPreCmdline_Clear(_PyPreCmdline *cmdline); +extern PyStatus _PyPreCmdline_SetArgv(_PyPreCmdline *cmdline, + const _PyArgv *args); +extern PyStatus _PyPreCmdline_SetConfig( + const _PyPreCmdline *cmdline, + PyConfig *config); +extern PyStatus _PyPreCmdline_Read(_PyPreCmdline *cmdline, + const PyPreConfig *preconfig); + + +/* --- PyPreConfig ----------------------------------------------- */ + +PyAPI_FUNC(void) _PyPreConfig_InitCompatConfig(PyPreConfig *preconfig); +extern void _PyPreConfig_InitFromConfig( + PyPreConfig *preconfig, + const PyConfig *config); +extern PyStatus _PyPreConfig_InitFromPreConfig( + PyPreConfig *preconfig, + const PyPreConfig *config2); +extern PyObject* _PyPreConfig_AsDict(const PyPreConfig *preconfig); +extern void _PyPreConfig_GetConfig(PyPreConfig *preconfig, + const PyConfig *config); +extern PyStatus _PyPreConfig_Read(PyPreConfig *preconfig, + const _PyArgv *args); +extern PyStatus _PyPreConfig_Write(const PyPreConfig *preconfig); + + +/* --- PyConfig ---------------------------------------------- */ + +typedef enum { + /* Py_Initialize() API: backward compatibility with Python 3.6 and 3.7 */ + _PyConfig_INIT_COMPAT = 1, + _PyConfig_INIT_PYTHON = 2, + _PyConfig_INIT_ISOLATED = 3 +} _PyConfigInitEnum; + +PyAPI_FUNC(void) _PyConfig_InitCompatConfig(PyConfig *config); +extern PyStatus _PyConfig_Copy( + PyConfig *config, + const PyConfig *config2); +extern PyStatus _PyConfig_InitPathConfig( + PyConfig *config, + int compute_path_config); +extern PyStatus _PyConfig_InitImportConfig(PyConfig *config); +extern PyStatus _PyConfig_Read(PyConfig *config, int compute_path_config); +extern PyStatus _PyConfig_Write(const PyConfig *config, + struct pyruntimestate *runtime); +extern PyStatus _PyConfig_SetPyArgv( + PyConfig *config, + const _PyArgv *args); + +PyAPI_FUNC(PyObject*) _PyConfig_AsDict(const PyConfig *config); +PyAPI_FUNC(int) _PyConfig_FromDict(PyConfig *config, PyObject *dict); + +extern void _Py_DumpPathConfig(PyThreadState *tstate); + +PyAPI_FUNC(PyObject*) _Py_Get_Getpath_CodeObject(void); + + +/* --- Function used for testing ---------------------------------- */ + +PyAPI_FUNC(PyObject*) _Py_GetConfigsAsDict(void); + +#ifdef __cplusplus +} +#endif +#endif /* !Py_INTERNAL_CORECONFIG_H */ diff --git a/_Pre_Builds/_Python312_cpp/include/internal/pycore_instruments.h b/_Pre_Builds/_Python312_cpp/include/internal/pycore_instruments.h new file mode 100644 index 0000000..87f70d2 --- /dev/null +++ b/_Pre_Builds/_Python312_cpp/include/internal/pycore_instruments.h @@ -0,0 +1,106 @@ + +#ifndef Py_INTERNAL_INSTRUMENT_H +#define Py_INTERNAL_INSTRUMENT_H + + +#include "pycore_bitutils.h" // _Py_popcount32 +#include "pycore_frame.h" + +#include "cpython/code.h" + +#ifdef __cplusplus +extern "C" { +#endif + +#define PY_MONITORING_TOOL_IDS 8 + +/* Local events. + * These require bytecode instrumentation */ + +#define PY_MONITORING_EVENT_PY_START 0 +#define PY_MONITORING_EVENT_PY_RESUME 1 +#define PY_MONITORING_EVENT_PY_RETURN 2 +#define PY_MONITORING_EVENT_PY_YIELD 3 +#define PY_MONITORING_EVENT_CALL 4 +#define PY_MONITORING_EVENT_LINE 5 +#define PY_MONITORING_EVENT_INSTRUCTION 6 +#define PY_MONITORING_EVENT_JUMP 7 +#define PY_MONITORING_EVENT_BRANCH 8 +#define PY_MONITORING_EVENT_STOP_ITERATION 9 + +#define PY_MONITORING_IS_INSTRUMENTED_EVENT(ev) \ + ((ev) < _PY_MONITORING_LOCAL_EVENTS) + +/* Other events, mainly exceptions */ + +#define PY_MONITORING_EVENT_RAISE 10 +#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 15 +#define PY_MONITORING_EVENT_C_RAISE 16 + + +typedef uint32_t _PyMonitoringEventSet; + +/* Tool IDs */ + +/* These are defined in PEP 669 for convenience to avoid clashes */ +#define PY_MONITORING_DEBUGGER_ID 0 +#define PY_MONITORING_COVERAGE_ID 1 +#define PY_MONITORING_PROFILER_ID 2 +#define PY_MONITORING_OPTIMIZER_ID 5 + +/* Internal IDs used to suuport sys.setprofile() and sys.settrace() */ +#define PY_MONITORING_SYS_PROFILE_ID 6 +#define PY_MONITORING_SYS_TRACE_ID 7 + + +PyObject *_PyMonitoring_RegisterCallback(int tool_id, int event_id, PyObject *obj); + +int _PyMonitoring_SetEvents(int tool_id, _PyMonitoringEventSet events); + +extern int +_Py_call_instrumentation(PyThreadState *tstate, int event, + _PyInterpreterFrame *frame, _Py_CODEUNIT *instr); + +extern int +_Py_call_instrumentation_line(PyThreadState *tstate, _PyInterpreterFrame* frame, + _Py_CODEUNIT *instr, _Py_CODEUNIT *prev); + +extern int +_Py_call_instrumentation_instruction( + PyThreadState *tstate, _PyInterpreterFrame* frame, _Py_CODEUNIT *instr); + +_Py_CODEUNIT * +_Py_call_instrumentation_jump( + PyThreadState *tstate, int event, + _PyInterpreterFrame *frame, _Py_CODEUNIT *instr, _Py_CODEUNIT *target); + +extern int +_Py_call_instrumentation_arg(PyThreadState *tstate, int event, + _PyInterpreterFrame *frame, _Py_CODEUNIT *instr, PyObject *arg); + +extern int +_Py_call_instrumentation_2args(PyThreadState *tstate, int event, + _PyInterpreterFrame *frame, _Py_CODEUNIT *instr, PyObject *arg0, PyObject *arg1); + +extern void +_Py_call_instrumentation_exc2(PyThreadState *tstate, int event, + _PyInterpreterFrame *frame, _Py_CODEUNIT *instr, PyObject *arg0, PyObject *arg1); + +extern int +_Py_Instrumentation_GetLine(PyCodeObject *code, int index); + +extern PyObject _PyInstrumentation_MISSING; +extern PyObject _PyInstrumentation_DISABLE; + +#ifdef __cplusplus +} +#endif +#endif /* !Py_INTERNAL_INSTRUMENT_H */ diff --git a/_Pre_Builds/_Python312_cpp/include/internal/pycore_interp.h b/_Pre_Builds/_Python312_cpp/include/internal/pycore_interp.h new file mode 100644 index 0000000..37cc88e --- /dev/null +++ b/_Pre_Builds/_Python312_cpp/include/internal/pycore_interp.h @@ -0,0 +1,275 @@ +#ifndef Py_INTERNAL_INTERP_H +#define Py_INTERNAL_INTERP_H +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef Py_BUILD_CORE +# error "this header requires Py_BUILD_CORE define" +#endif + +#include + +#include "pycore_ast_state.h" // struct ast_state +#include "pycore_atexit.h" // struct atexit_state +#include "pycore_atomic.h" // _Py_atomic_address +#include "pycore_ceval_state.h" // struct _ceval_state +#include "pycore_code.h" // struct callable_cache +#include "pycore_context.h" // struct _Py_context_state +#include "pycore_dict_state.h" // struct _Py_dict_state +#include "pycore_dtoa.h" // struct _dtoa_state +#include "pycore_exceptions.h" // struct _Py_exc_state +#include "pycore_floatobject.h" // struct _Py_float_state +#include "pycore_function.h" // FUNC_MAX_WATCHERS +#include "pycore_genobject.h" // struct _Py_async_gen_state +#include "pycore_gc.h" // struct _gc_runtime_state +#include "pycore_global_objects.h" // struct _Py_interp_static_objects +#include "pycore_import.h" // struct _import_state +#include "pycore_instruments.h" // _PY_MONITORING_EVENTS +#include "pycore_list.h" // struct _Py_list_state +#include "pycore_object_state.h" // struct _py_object_state +#include "pycore_obmalloc.h" // struct obmalloc_state +#include "pycore_tuple.h" // struct _Py_tuple_state +#include "pycore_typeobject.h" // struct type_cache +#include "pycore_unicodeobject.h" // struct _Py_unicode_state +#include "pycore_warnings.h" // struct _warnings_runtime_state + + +struct _Py_long_state { + int max_str_digits; +}; + + +/* cross-interpreter data registry */ + +/* For now we use a global registry of shareable classes. An + alternative would be to add a tp_* slot for a class's + crossinterpdatafunc. It would be simpler and more efficient. */ + +struct _xidregitem; + +struct _xidregitem { + struct _xidregitem *prev; + struct _xidregitem *next; + /* This can be a dangling pointer, but only if weakref is set. */ + PyTypeObject *cls; + /* This is NULL for builtin types. */ + PyObject *weakref; + size_t refcount; + crossinterpdatafunc getdata; +}; + +struct _xidregistry { + PyThread_type_lock mutex; + struct _xidregitem *head; +}; + + +/* interpreter state */ + +/* PyInterpreterState holds the global state for one of the runtime's + interpreters. Typically the initial (main) interpreter is the only one. + + The PyInterpreterState typedef is in Include/pytypedefs.h. + */ +struct _is { + + PyInterpreterState *next; + + int64_t id; + int64_t id_refcount; + int requires_idref; + PyThread_type_lock id_mutex; + + /* Has been initialized to a safe state. + + In order to be effective, this must be set to 0 during or right + after allocation. */ + int _initialized; + int finalizing; + + uint64_t monitoring_version; + uint64_t last_restart_version; + struct pythreads { + uint64_t next_unique_id; + /* The linked list of threads, newest first. */ + PyThreadState *head; + /* Used in Modules/_threadmodule.c. */ + long count; + /* Support for runtime thread stack size tuning. + A value of 0 means using the platform's default stack size + or the size specified by the THREAD_STACK_SIZE macro. */ + /* Used in Python/thread.c. */ + size_t stacksize; + } threads; + + /* Reference to the _PyRuntime global variable. This field exists + to not have to pass runtime in addition to tstate to a function. + Get runtime from tstate: tstate->interp->runtime. */ + struct pyruntimestate *runtime; + + /* Set by Py_EndInterpreter(). + + Use _PyInterpreterState_GetFinalizing() + and _PyInterpreterState_SetFinalizing() + to access it, don't access it directly. */ + _Py_atomic_address _finalizing; + + struct _gc_runtime_state gc; + + /* The following fields are here to avoid allocation during init. + The data is exposed through PyInterpreterState pointer fields. + These fields should not be accessed directly outside of init. + + All other PyInterpreterState pointer fields are populated when + needed and default to NULL. + + For now there are some exceptions to that rule, which require + allocation during init. These will be addressed on a case-by-case + basis. Also see _PyRuntimeState regarding the various mutex fields. + */ + + // Dictionary of the sys module + PyObject *sysdict; + + // Dictionary of the builtins module + PyObject *builtins; + + struct _ceval_state ceval; + + struct _import_state imports; + + /* The per-interpreter GIL, which might not be used. */ + struct _gil_runtime_state _gil; + + /* ---------- IMPORTANT --------------------------- + The fields above this line are declared as early as + possible to facilitate out-of-process observability + tools. */ + + PyObject *codec_search_path; + PyObject *codec_search_cache; + PyObject *codec_error_registry; + int codecs_initialized; + + PyConfig config; + unsigned long feature_flags; + + PyObject *dict; /* Stores per-interpreter state */ + + PyObject *sysdict_copy; + PyObject *builtins_copy; + // Initialized to _PyEval_EvalFrameDefault(). + _PyFrameEvalFunction eval_frame; + + PyFunction_WatchCallback func_watchers[FUNC_MAX_WATCHERS]; + // One bit is set for each non-NULL entry in func_watchers + uint8_t active_func_watchers; + + Py_ssize_t co_extra_user_count; + freefunc co_extra_freefuncs[MAX_CO_EXTRA_USERS]; + +#ifdef HAVE_FORK + PyObject *before_forkers; + PyObject *after_forkers_parent; + PyObject *after_forkers_child; +#endif + + struct _warnings_runtime_state warnings; + struct atexit_state atexit; + + struct _obmalloc_state obmalloc; + + PyObject *audit_hooks; + PyType_WatchCallback type_watchers[TYPE_MAX_WATCHERS]; + PyCode_WatchCallback code_watchers[CODE_MAX_WATCHERS]; + // One bit is set for each non-NULL entry in code_watchers + uint8_t active_code_watchers; + + struct _py_object_state object_state; + struct _Py_unicode_state unicode; + struct _Py_float_state float_state; + struct _Py_long_state long_state; + struct _dtoa_state dtoa; + struct _py_func_state func_state; + /* Using a cache is very effective since typically only a single slice is + created and then deleted again. */ + PySliceObject *slice_cache; + + struct _Py_tuple_state tuple; + struct _Py_list_state list; + struct _Py_dict_state dict_state; + struct _Py_async_gen_state async_gen; + struct _Py_context_state context; + struct _Py_exc_state exc_state; + + struct ast_state ast; + struct types_state types; + struct callable_cache callable_cache; + PyCodeObject *interpreter_trampoline; + + _Py_GlobalMonitors monitors; + bool f_opcode_trace_set; + bool sys_profile_initialized; + bool sys_trace_initialized; + Py_ssize_t sys_profiling_threads; /* Count of threads with c_profilefunc set */ + Py_ssize_t sys_tracing_threads; /* Count of threads with c_tracefunc set */ + PyObject *monitoring_callables[PY_MONITORING_TOOL_IDS][_PY_MONITORING_EVENTS]; + PyObject *monitoring_tool_names[PY_MONITORING_TOOL_IDS]; + + struct _Py_interp_cached_objects cached_objects; + struct _Py_interp_static_objects static_objects; + + // XXX Remove this field once we have a tp_* slot. + struct _xidregistry xidregistry; + /* The thread currently executing in the __main__ module, if any. */ + PyThreadState *threads_main; + /* The ID of the OS thread in which we are finalizing. + We use _Py_atomic_address instead of adding a new _Py_atomic_ulong. */ + _Py_atomic_address _finalizing_id; + + /* the initial PyInterpreterState.threads.head */ + PyThreadState _initial_thread; +}; + + +/* other API */ + +extern void _PyInterpreterState_Clear(PyThreadState *tstate); + + +static inline PyThreadState* +_PyInterpreterState_GetFinalizing(PyInterpreterState *interp) { + return (PyThreadState*)_Py_atomic_load_relaxed(&interp->_finalizing); +} + +static inline unsigned long +_PyInterpreterState_GetFinalizingID(PyInterpreterState *interp) { + return (unsigned long)_Py_atomic_load_relaxed(&interp->_finalizing_id); +} + +static inline void +_PyInterpreterState_SetFinalizing(PyInterpreterState *interp, PyThreadState *tstate) { + _Py_atomic_store_relaxed(&interp->_finalizing, (uintptr_t)tstate); + if (tstate == NULL) { + _Py_atomic_store_relaxed(&interp->_finalizing_id, 0); + } + else { + // XXX Re-enable this assert once gh-109860 is fixed. + //assert(tstate->thread_id == PyThread_get_thread_ident()); + _Py_atomic_store_relaxed(&interp->_finalizing_id, + (uintptr_t)tstate->thread_id); + } +} + + +PyAPI_FUNC(PyInterpreterState*) _PyInterpreterState_LookUpID(int64_t); + +PyAPI_FUNC(int) _PyInterpreterState_IDInitref(PyInterpreterState *); +PyAPI_FUNC(int) _PyInterpreterState_IDIncref(PyInterpreterState *); +PyAPI_FUNC(void) _PyInterpreterState_IDDecref(PyInterpreterState *); + +#ifdef __cplusplus +} +#endif +#endif /* !Py_INTERNAL_INTERP_H */ diff --git a/_Pre_Builds/_Python312_cpp/include/internal/pycore_intrinsics.h b/_Pre_Builds/_Python312_cpp/include/internal/pycore_intrinsics.h new file mode 100644 index 0000000..39f1568 --- /dev/null +++ b/_Pre_Builds/_Python312_cpp/include/internal/pycore_intrinsics.h @@ -0,0 +1,32 @@ +// Auto-generated by Tools/build/generate_opcode_h.py from Lib/opcode.py + +/* Unary Functions: */ +#define INTRINSIC_1_INVALID 0 +#define INTRINSIC_PRINT 1 +#define INTRINSIC_IMPORT_STAR 2 +#define INTRINSIC_STOPITERATION_ERROR 3 +#define INTRINSIC_ASYNC_GEN_WRAP 4 +#define INTRINSIC_UNARY_POSITIVE 5 +#define INTRINSIC_LIST_TO_TUPLE 6 +#define INTRINSIC_TYPEVAR 7 +#define INTRINSIC_PARAMSPEC 8 +#define INTRINSIC_TYPEVARTUPLE 9 +#define INTRINSIC_SUBSCRIPT_GENERIC 10 +#define INTRINSIC_TYPEALIAS 11 + +#define MAX_INTRINSIC_1 11 + + +/* Binary Functions: */ +#define INTRINSIC_2_INVALID 0 +#define INTRINSIC_PREP_RERAISE_STAR 1 +#define INTRINSIC_TYPEVAR_WITH_BOUND 2 +#define INTRINSIC_TYPEVAR_WITH_CONSTRAINTS 3 +#define INTRINSIC_SET_FUNCTION_TYPE_PARAMS 4 + +#define MAX_INTRINSIC_2 4 + +typedef PyObject *(*instrinsic_func1)(PyThreadState* tstate, PyObject *value); +typedef PyObject *(*instrinsic_func2)(PyThreadState* tstate, PyObject *value1, PyObject *value2); +extern const instrinsic_func1 _PyIntrinsics_UnaryFunctions[]; +extern const instrinsic_func2 _PyIntrinsics_BinaryFunctions[]; diff --git a/_Pre_Builds/_Python312_cpp/include/internal/pycore_list.h b/_Pre_Builds/_Python312_cpp/include/internal/pycore_list.h new file mode 100644 index 0000000..2fcbe12 --- /dev/null +++ b/_Pre_Builds/_Python312_cpp/include/internal/pycore_list.h @@ -0,0 +1,83 @@ +#ifndef Py_INTERNAL_LIST_H +#define Py_INTERNAL_LIST_H +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef Py_BUILD_CORE +# error "this header requires Py_BUILD_CORE define" +#endif + +#include "listobject.h" // _PyList_CAST() + + +/* runtime lifecycle */ + +extern void _PyList_Fini(PyInterpreterState *); + + +/* other API */ + +#ifndef WITH_FREELISTS +// without freelists +# define PyList_MAXFREELIST 0 +#endif + +/* Empty list reuse scheme to save calls to malloc and free */ +#ifndef PyList_MAXFREELIST +# define PyList_MAXFREELIST 80 +#endif + +struct _Py_list_state { +#if PyList_MAXFREELIST > 0 + PyListObject *free_list[PyList_MAXFREELIST]; + int numfree; +#endif +}; + +#define _PyList_ITEMS(op) _Py_RVALUE(_PyList_CAST(op)->ob_item) + +extern int +_PyList_AppendTakeRefListResize(PyListObject *self, PyObject *newitem); + +static inline int +_PyList_AppendTakeRef(PyListObject *self, PyObject *newitem) +{ + assert(self != NULL && newitem != NULL); + assert(PyList_Check(self)); + Py_ssize_t len = PyList_GET_SIZE(self); + Py_ssize_t allocated = self->allocated; + assert((size_t)len + 1 < PY_SSIZE_T_MAX); + if (allocated > len) { + PyList_SET_ITEM(self, len, newitem); + Py_SET_SIZE(self, len + 1); + return 0; + } + return _PyList_AppendTakeRefListResize(self, newitem); +} + +// Repeat the bytes of a buffer in place +static inline void +_Py_memory_repeat(char* dest, Py_ssize_t len_dest, Py_ssize_t len_src) +{ + assert(len_src > 0); + Py_ssize_t copied = len_src; + while (copied < len_dest) { + Py_ssize_t bytes_to_copy = Py_MIN(copied, len_dest - copied); + memcpy(dest + copied, dest, bytes_to_copy); + copied += bytes_to_copy; + } +} + +typedef struct { + PyObject_HEAD + Py_ssize_t it_index; + PyListObject *it_seq; /* Set to NULL when iterator is exhausted */ +} _PyListIterObject; + +extern PyObject *_PyList_FromArraySteal(PyObject *const *src, Py_ssize_t n); + +#ifdef __cplusplus +} +#endif +#endif /* !Py_INTERNAL_LIST_H */ diff --git a/_Pre_Builds/_Python312_cpp/include/internal/pycore_long.h b/_Pre_Builds/_Python312_cpp/include/internal/pycore_long.h new file mode 100644 index 0000000..64c00cb --- /dev/null +++ b/_Pre_Builds/_Python312_cpp/include/internal/pycore_long.h @@ -0,0 +1,258 @@ +#ifndef Py_INTERNAL_LONG_H +#define Py_INTERNAL_LONG_H +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef Py_BUILD_CORE +# error "this header requires Py_BUILD_CORE define" +#endif + +#include "pycore_global_objects.h" // _PY_NSMALLNEGINTS +#include "pycore_runtime.h" // _PyRuntime + +/* + * Default int base conversion size limitation: Denial of Service prevention. + * + * Chosen such that this isn't wildly slow on modern hardware and so that + * everyone's existing deployed numpy test suite passes before + * https://github.com/numpy/numpy/issues/22098 is widely available. + * + * $ python -m timeit -s 's = "1"*4300' 'int(s)' + * 2000 loops, best of 5: 125 usec per loop + * $ python -m timeit -s 's = "1"*4300; v = int(s)' 'str(v)' + * 1000 loops, best of 5: 311 usec per loop + * (zen2 cloud VM) + * + * 4300 decimal digits fits a ~14284 bit number. + */ +#define _PY_LONG_DEFAULT_MAX_STR_DIGITS 4300 +/* + * Threshold for max digits check. For performance reasons int() and + * int.__str__() don't checks values that are smaller than this + * threshold. Acts as a guaranteed minimum size limit for bignums that + * applications can expect from CPython. + * + * % python -m timeit -s 's = "1"*640; v = int(s)' 'str(int(s))' + * 20000 loops, best of 5: 12 usec per loop + * + * "640 digits should be enough for anyone." - gps + * fits a ~2126 bit decimal number. + */ +#define _PY_LONG_MAX_STR_DIGITS_THRESHOLD 640 + +#if ((_PY_LONG_DEFAULT_MAX_STR_DIGITS != 0) && \ + (_PY_LONG_DEFAULT_MAX_STR_DIGITS < _PY_LONG_MAX_STR_DIGITS_THRESHOLD)) +# error "_PY_LONG_DEFAULT_MAX_STR_DIGITS smaller than threshold." +#endif + + +/* runtime lifecycle */ + +extern PyStatus _PyLong_InitTypes(PyInterpreterState *); +extern void _PyLong_FiniTypes(PyInterpreterState *interp); + + +/* other API */ + +#define _PyLong_SMALL_INTS _Py_SINGLETON(small_ints) + +// _PyLong_GetZero() and _PyLong_GetOne() must always be available +// _PyLong_FromUnsignedChar must always be available +#if _PY_NSMALLPOSINTS < 257 +# error "_PY_NSMALLPOSINTS must be greater than or equal to 257" +#endif + +// Return a borrowed reference to the zero singleton. +// The function cannot return NULL. +static inline PyObject* _PyLong_GetZero(void) +{ return (PyObject *)&_PyLong_SMALL_INTS[_PY_NSMALLNEGINTS]; } + +// Return a borrowed reference to the one singleton. +// The function cannot return NULL. +static inline PyObject* _PyLong_GetOne(void) +{ return (PyObject *)&_PyLong_SMALL_INTS[_PY_NSMALLNEGINTS+1]; } + +static inline PyObject* _PyLong_FromUnsignedChar(unsigned char i) +{ + return Py_NewRef((PyObject *)&_PyLong_SMALL_INTS[_PY_NSMALLNEGINTS+i]); +} + +PyObject *_PyLong_Add(PyLongObject *left, PyLongObject *right); +PyObject *_PyLong_Multiply(PyLongObject *left, PyLongObject *right); +PyObject *_PyLong_Subtract(PyLongObject *left, PyLongObject *right); + +/* Used by Python/mystrtoul.c, _PyBytes_FromHex(), + _PyBytes_DecodeEscape(), etc. */ +PyAPI_DATA(unsigned char) _PyLong_DigitValue[256]; + +/* Format the object based on the format_spec, as defined in PEP 3101 + (Advanced String Formatting). */ +PyAPI_FUNC(int) _PyLong_FormatAdvancedWriter( + _PyUnicodeWriter *writer, + PyObject *obj, + PyObject *format_spec, + Py_ssize_t start, + Py_ssize_t end); + +PyAPI_FUNC(int) _PyLong_FormatWriter( + _PyUnicodeWriter *writer, + PyObject *obj, + int base, + int alternate); + +PyAPI_FUNC(char*) _PyLong_FormatBytesWriter( + _PyBytesWriter *writer, + char *str, + PyObject *obj, + int base, + int alternate); + +/* Long value tag bits: + * 0-1: Sign bits value = (1-sign), ie. negative=2, positive=0, zero=1. + * 2: Reserved for immortality bit + * 3+ Unsigned digit count + */ +#define SIGN_MASK 3 +#define SIGN_ZERO 1 +#define SIGN_NEGATIVE 2 +#define NON_SIZE_BITS 3 + +/* The functions _PyLong_IsCompact and _PyLong_CompactValue are defined + * in Include/cpython/longobject.h, since they need to be inline. + * + * "Compact" values have at least one bit to spare, + * so that addition and subtraction can be performed on the values + * without risk of overflow. + * + * The inline functions need tag bits. + * For readability, rather than do `#define SIGN_MASK _PyLong_SIGN_MASK` + * we define them to the numbers in both places and then assert that + * they're the same. + */ +static_assert(SIGN_MASK == _PyLong_SIGN_MASK, "SIGN_MASK does not match _PyLong_SIGN_MASK"); +static_assert(NON_SIZE_BITS == _PyLong_NON_SIZE_BITS, "NON_SIZE_BITS does not match _PyLong_NON_SIZE_BITS"); + +/* All *compact" values are guaranteed to fit into + * a Py_ssize_t with at least one bit to spare. + * In other words, for 64 bit machines, compact + * will be signed 63 (or fewer) bit values + */ + +/* Return 1 if the argument is compact int */ +static inline int +_PyLong_IsNonNegativeCompact(const PyLongObject* op) { + assert(PyLong_Check(op)); + return op->long_value.lv_tag <= (1 << NON_SIZE_BITS); +} + + +static inline int +_PyLong_BothAreCompact(const PyLongObject* a, const PyLongObject* b) { + assert(PyLong_Check(a)); + assert(PyLong_Check(b)); + return (a->long_value.lv_tag | b->long_value.lv_tag) < (2 << NON_SIZE_BITS); +} + +static inline bool +_PyLong_IsZero(const PyLongObject *op) +{ + return (op->long_value.lv_tag & SIGN_MASK) == SIGN_ZERO; +} + +static inline bool +_PyLong_IsNegative(const PyLongObject *op) +{ + return (op->long_value.lv_tag & SIGN_MASK) == SIGN_NEGATIVE; +} + +static inline bool +_PyLong_IsPositive(const PyLongObject *op) +{ + return (op->long_value.lv_tag & SIGN_MASK) == 0; +} + +static inline Py_ssize_t +_PyLong_DigitCount(const PyLongObject *op) +{ + assert(PyLong_Check(op)); + return op->long_value.lv_tag >> NON_SIZE_BITS; +} + +/* Equivalent to _PyLong_DigitCount(op) * _PyLong_NonCompactSign(op) */ +static inline Py_ssize_t +_PyLong_SignedDigitCount(const PyLongObject *op) +{ + assert(PyLong_Check(op)); + Py_ssize_t sign = 1 - (op->long_value.lv_tag & SIGN_MASK); + return sign * (Py_ssize_t)(op->long_value.lv_tag >> NON_SIZE_BITS); +} + +static inline int +_PyLong_CompactSign(const PyLongObject *op) +{ + assert(PyLong_Check(op)); + assert(_PyLong_IsCompact(op)); + return 1 - (op->long_value.lv_tag & SIGN_MASK); +} + +static inline int +_PyLong_NonCompactSign(const PyLongObject *op) +{ + assert(PyLong_Check(op)); + assert(!_PyLong_IsCompact(op)); + return 1 - (op->long_value.lv_tag & SIGN_MASK); +} + +/* Do a and b have the same sign? */ +static inline int +_PyLong_SameSign(const PyLongObject *a, const PyLongObject *b) +{ + return (a->long_value.lv_tag & SIGN_MASK) == (b->long_value.lv_tag & SIGN_MASK); +} + +#define TAG_FROM_SIGN_AND_SIZE(sign, size) ((1 - (sign)) | ((size) << NON_SIZE_BITS)) + +static inline void +_PyLong_SetSignAndDigitCount(PyLongObject *op, int sign, Py_ssize_t size) +{ + assert(size >= 0); + assert(-1 <= sign && sign <= 1); + assert(sign != 0 || size == 0); + op->long_value.lv_tag = TAG_FROM_SIGN_AND_SIZE(sign, (size_t)size); +} + +static inline void +_PyLong_SetDigitCount(PyLongObject *op, Py_ssize_t size) +{ + assert(size >= 0); + op->long_value.lv_tag = (((size_t)size) << NON_SIZE_BITS) | (op->long_value.lv_tag & SIGN_MASK); +} + +#define NON_SIZE_MASK ~((1 << NON_SIZE_BITS) - 1) + +static inline void +_PyLong_FlipSign(PyLongObject *op) { + unsigned int flipped_sign = 2 - (op->long_value.lv_tag & SIGN_MASK); + op->long_value.lv_tag &= NON_SIZE_MASK; + op->long_value.lv_tag |= flipped_sign; +} + +#define _PyLong_DIGIT_INIT(val) \ + { \ + .ob_base = _PyObject_HEAD_INIT(&PyLong_Type) \ + .long_value = { \ + .lv_tag = TAG_FROM_SIGN_AND_SIZE( \ + (val) == 0 ? 0 : ((val) < 0 ? -1 : 1), \ + (val) == 0 ? 0 : 1), \ + { ((val) >= 0 ? (val) : -(val)) }, \ + } \ + } + +#define _PyLong_FALSE_TAG TAG_FROM_SIGN_AND_SIZE(0, 0) +#define _PyLong_TRUE_TAG TAG_FROM_SIGN_AND_SIZE(1, 1) + +#ifdef __cplusplus +} +#endif +#endif /* !Py_INTERNAL_LONG_H */ diff --git a/_Pre_Builds/_Python312_cpp/include/internal/pycore_memoryobject.h b/_Pre_Builds/_Python312_cpp/include/internal/pycore_memoryobject.h new file mode 100644 index 0000000..fe19e3f --- /dev/null +++ b/_Pre_Builds/_Python312_cpp/include/internal/pycore_memoryobject.h @@ -0,0 +1,18 @@ +#ifndef Py_INTERNAL_MEMORYOBJECT_H +#define Py_INTERNAL_MEMORYOBJECT_H +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef Py_BUILD_CORE +# error "this header requires Py_BUILD_CORE define" +#endif + +PyObject * +_PyMemoryView_FromBufferProc(PyObject *v, int flags, + getbufferproc bufferproc); + +#ifdef __cplusplus +} +#endif +#endif /* !Py_INTERNAL_MEMORYOBJECT_H */ diff --git a/_Pre_Builds/_Python312_cpp/include/internal/pycore_moduleobject.h b/_Pre_Builds/_Python312_cpp/include/internal/pycore_moduleobject.h new file mode 100644 index 0000000..15a1bcb --- /dev/null +++ b/_Pre_Builds/_Python312_cpp/include/internal/pycore_moduleobject.h @@ -0,0 +1,45 @@ +#ifndef Py_INTERNAL_MODULEOBJECT_H +#define Py_INTERNAL_MODULEOBJECT_H +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef Py_BUILD_CORE +# error "this header requires Py_BUILD_CORE define" +#endif + +typedef struct { + PyObject_HEAD + PyObject *md_dict; + PyModuleDef *md_def; + void *md_state; + PyObject *md_weaklist; + // for logging purposes after md_dict is cleared + PyObject *md_name; +} PyModuleObject; + +static inline PyModuleDef* _PyModule_GetDef(PyObject *mod) { + assert(PyModule_Check(mod)); + return ((PyModuleObject *)mod)->md_def; +} + +static inline void* _PyModule_GetState(PyObject* mod) { + assert(PyModule_Check(mod)); + return ((PyModuleObject *)mod)->md_state; +} + +static inline PyObject* _PyModule_GetDict(PyObject *mod) { + assert(PyModule_Check(mod)); + PyObject *dict = ((PyModuleObject *)mod) -> md_dict; + // _PyModule_GetDict(mod) must not be used after calling module_clear(mod) + assert(dict != NULL); + return dict; +} + +PyObject* _Py_module_getattro_impl(PyModuleObject *m, PyObject *name, int suppress); +PyObject* _Py_module_getattro(PyModuleObject *m, PyObject *name); + +#ifdef __cplusplus +} +#endif +#endif /* !Py_INTERNAL_MODULEOBJECT_H */ diff --git a/_Pre_Builds/_Python312_cpp/include/internal/pycore_namespace.h b/_Pre_Builds/_Python312_cpp/include/internal/pycore_namespace.h new file mode 100644 index 0000000..cb76f04 --- /dev/null +++ b/_Pre_Builds/_Python312_cpp/include/internal/pycore_namespace.h @@ -0,0 +1,20 @@ +// Simple namespace object interface + +#ifndef Py_INTERNAL_NAMESPACE_H +#define Py_INTERNAL_NAMESPACE_H +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef Py_BUILD_CORE +# error "this header requires Py_BUILD_CORE define" +#endif + +PyAPI_DATA(PyTypeObject) _PyNamespace_Type; + +PyAPI_FUNC(PyObject *) _PyNamespace_New(PyObject *kwds); + +#ifdef __cplusplus +} +#endif +#endif // !Py_INTERNAL_NAMESPACE_H diff --git a/_Pre_Builds/_Python312_cpp/include/internal/pycore_object.h b/_Pre_Builds/_Python312_cpp/include/internal/pycore_object.h new file mode 100644 index 0000000..7a2f13a --- /dev/null +++ b/_Pre_Builds/_Python312_cpp/include/internal/pycore_object.h @@ -0,0 +1,443 @@ +#ifndef Py_INTERNAL_OBJECT_H +#define Py_INTERNAL_OBJECT_H +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef Py_BUILD_CORE +# error "this header requires Py_BUILD_CORE define" +#endif + +#include +#include "pycore_gc.h" // _PyObject_GC_IS_TRACKED() +#include "pycore_interp.h" // PyInterpreterState.gc +#include "pycore_pystate.h" // _PyInterpreterState_GET() +#include "pycore_runtime.h" // _PyRuntime + +/* We need to maintain an internal copy of Py{Var}Object_HEAD_INIT to avoid + designated initializer conflicts in C++20. If we use the deinition in + object.h, we will be mixing designated and non-designated initializers in + pycore objects which is forbiddent in C++20. However, if we then use + designated initializers in object.h then Extensions without designated break. + Furthermore, we can't use designated initializers in Extensions since these + are not supported pre-C++20. Thus, keeping an internal copy here is the most + backwards compatible solution */ +#define _PyObject_HEAD_INIT(type) \ + { \ + _PyObject_EXTRA_INIT \ + .ob_refcnt = _Py_IMMORTAL_REFCNT, \ + .ob_type = (type) \ + }, +#define _PyVarObject_HEAD_INIT(type, size) \ + { \ + .ob_base = _PyObject_HEAD_INIT(type) \ + .ob_size = size \ + }, + +PyAPI_FUNC(void) _Py_NO_RETURN _Py_FatalRefcountErrorFunc( + const char *func, + const char *message); + +#define _Py_FatalRefcountError(message) \ + _Py_FatalRefcountErrorFunc(__func__, (message)) + + +#ifdef Py_REF_DEBUG +/* The symbol is only exposed in the API for the sake of extensions + built against the pre-3.12 stable ABI. */ +PyAPI_DATA(Py_ssize_t) _Py_RefTotal; + +extern void _Py_AddRefTotal(PyInterpreterState *, Py_ssize_t); +extern void _Py_IncRefTotal(PyInterpreterState *); +extern void _Py_DecRefTotal(PyInterpreterState *); + +# define _Py_DEC_REFTOTAL(interp) \ + interp->object_state.reftotal-- +#endif + +// Increment reference count by n +static inline void _Py_RefcntAdd(PyObject* op, Py_ssize_t n) +{ + if (_Py_IsImmortal(op)) { + return; + } +#ifdef Py_REF_DEBUG + _Py_AddRefTotal(_PyInterpreterState_GET(), n); +#endif + op->ob_refcnt += n; +} +#define _Py_RefcntAdd(op, n) _Py_RefcntAdd(_PyObject_CAST(op), n) + +static inline void _Py_SetImmortal(PyObject *op) +{ + if (op) { + op->ob_refcnt = _Py_IMMORTAL_REFCNT; + } +} +#define _Py_SetImmortal(op) _Py_SetImmortal(_PyObject_CAST(op)) + +/* _Py_ClearImmortal() should only be used during runtime finalization. */ +static inline void _Py_ClearImmortal(PyObject *op) +{ + if (op) { + assert(op->ob_refcnt == _Py_IMMORTAL_REFCNT); + op->ob_refcnt = 1; + Py_DECREF(op); + } +} +#define _Py_ClearImmortal(op) \ + do { \ + _Py_ClearImmortal(_PyObject_CAST(op)); \ + op = NULL; \ + } while (0) + +static inline void +_Py_DECREF_SPECIALIZED(PyObject *op, const destructor destruct) +{ + if (_Py_IsImmortal(op)) { + return; + } + _Py_DECREF_STAT_INC(); +#ifdef Py_REF_DEBUG + _Py_DEC_REFTOTAL(_PyInterpreterState_GET()); +#endif + if (--op->ob_refcnt != 0) { + assert(op->ob_refcnt > 0); + } + else { +#ifdef Py_TRACE_REFS + _Py_ForgetReference(op); +#endif + destruct(op); + } +} + +static inline void +_Py_DECREF_NO_DEALLOC(PyObject *op) +{ + if (_Py_IsImmortal(op)) { + return; + } + _Py_DECREF_STAT_INC(); +#ifdef Py_REF_DEBUG + _Py_DEC_REFTOTAL(_PyInterpreterState_GET()); +#endif + op->ob_refcnt--; +#ifdef Py_DEBUG + if (op->ob_refcnt <= 0) { + _Py_FatalRefcountError("Expected a positive remaining refcount"); + } +#endif +} + +#ifdef Py_REF_DEBUG +# undef _Py_DEC_REFTOTAL +#endif + + +PyAPI_FUNC(int) _PyType_CheckConsistency(PyTypeObject *type); +PyAPI_FUNC(int) _PyDict_CheckConsistency(PyObject *mp, int check_content); + +/* Update the Python traceback of an object. This function must be called + when a memory block is reused from a free list. + + Internal function called by _Py_NewReference(). */ +extern int _PyTraceMalloc_NewReference(PyObject *op); + +// Fast inlined version of PyType_HasFeature() +static inline int +_PyType_HasFeature(PyTypeObject *type, unsigned long feature) { + return ((type->tp_flags & feature) != 0); +} + +extern void _PyType_InitCache(PyInterpreterState *interp); + +extern void _PyObject_InitState(PyInterpreterState *interp); + +/* Inline functions trading binary compatibility for speed: + _PyObject_Init() is the fast version of PyObject_Init(), and + _PyObject_InitVar() is the fast version of PyObject_InitVar(). + + These inline functions must not be called with op=NULL. */ +static inline void +_PyObject_Init(PyObject *op, PyTypeObject *typeobj) +{ + assert(op != NULL); + Py_SET_TYPE(op, typeobj); + if (_PyType_HasFeature(typeobj, Py_TPFLAGS_HEAPTYPE)) { + Py_INCREF(typeobj); + } + _Py_NewReference(op); +} + +static inline void +_PyObject_InitVar(PyVarObject *op, PyTypeObject *typeobj, Py_ssize_t size) +{ + assert(op != NULL); + assert(typeobj != &PyLong_Type); + _PyObject_Init((PyObject *)op, typeobj); + Py_SET_SIZE(op, size); +} + + +/* Tell the GC to track this object. + * + * The object must not be tracked by the GC. + * + * NB: While the object is tracked by the collector, it must be safe to call the + * ob_traverse method. + * + * Internal note: interp->gc.generation0->_gc_prev doesn't have any bit flags + * because it's not object header. So we don't use _PyGCHead_PREV() and + * _PyGCHead_SET_PREV() for it to avoid unnecessary bitwise operations. + * + * See also the public PyObject_GC_Track() function. + */ +static inline void _PyObject_GC_TRACK( +// The preprocessor removes _PyObject_ASSERT_FROM() calls if NDEBUG is defined +#ifndef NDEBUG + const char *filename, int lineno, +#endif + PyObject *op) +{ + _PyObject_ASSERT_FROM(op, !_PyObject_GC_IS_TRACKED(op), + "object already tracked by the garbage collector", + filename, lineno, __func__); + + PyGC_Head *gc = _Py_AS_GC(op); + _PyObject_ASSERT_FROM(op, + (gc->_gc_prev & _PyGC_PREV_MASK_COLLECTING) == 0, + "object is in generation which is garbage collected", + filename, lineno, __func__); + + PyInterpreterState *interp = _PyInterpreterState_GET(); + PyGC_Head *generation0 = interp->gc.generation0; + PyGC_Head *last = (PyGC_Head*)(generation0->_gc_prev); + _PyGCHead_SET_NEXT(last, gc); + _PyGCHead_SET_PREV(gc, last); + _PyGCHead_SET_NEXT(gc, generation0); + generation0->_gc_prev = (uintptr_t)gc; +} + +/* Tell the GC to stop tracking this object. + * + * Internal note: This may be called while GC. So _PyGC_PREV_MASK_COLLECTING + * must be cleared. But _PyGC_PREV_MASK_FINALIZED bit is kept. + * + * The object must be tracked by the GC. + * + * See also the public PyObject_GC_UnTrack() which accept an object which is + * not tracked. + */ +static inline void _PyObject_GC_UNTRACK( +// The preprocessor removes _PyObject_ASSERT_FROM() calls if NDEBUG is defined +#ifndef NDEBUG + const char *filename, int lineno, +#endif + PyObject *op) +{ + _PyObject_ASSERT_FROM(op, _PyObject_GC_IS_TRACKED(op), + "object not tracked by the garbage collector", + filename, lineno, __func__); + + PyGC_Head *gc = _Py_AS_GC(op); + PyGC_Head *prev = _PyGCHead_PREV(gc); + PyGC_Head *next = _PyGCHead_NEXT(gc); + _PyGCHead_SET_NEXT(prev, next); + _PyGCHead_SET_PREV(next, prev); + gc->_gc_next = 0; + gc->_gc_prev &= _PyGC_PREV_MASK_FINALIZED; +} + +// Macros to accept any type for the parameter, and to automatically pass +// the filename and the filename (if NDEBUG is not defined) where the macro +// is called. +#ifdef NDEBUG +# define _PyObject_GC_TRACK(op) \ + _PyObject_GC_TRACK(_PyObject_CAST(op)) +# define _PyObject_GC_UNTRACK(op) \ + _PyObject_GC_UNTRACK(_PyObject_CAST(op)) +#else +# define _PyObject_GC_TRACK(op) \ + _PyObject_GC_TRACK(__FILE__, __LINE__, _PyObject_CAST(op)) +# define _PyObject_GC_UNTRACK(op) \ + _PyObject_GC_UNTRACK(__FILE__, __LINE__, _PyObject_CAST(op)) +#endif + +#ifdef Py_REF_DEBUG +extern void _PyInterpreterState_FinalizeRefTotal(PyInterpreterState *); +extern void _Py_FinalizeRefTotal(_PyRuntimeState *); +extern void _PyDebug_PrintTotalRefs(void); +#endif + +#ifdef Py_TRACE_REFS +extern void _Py_AddToAllObjects(PyObject *op, int force); +extern void _Py_PrintReferences(PyInterpreterState *, FILE *); +extern void _Py_PrintReferenceAddresses(PyInterpreterState *, FILE *); +#endif + + +/* Return the *address* of the object's weaklist. The address may be + * dereferenced to get the current head of the weaklist. This is useful + * for iterating over the linked list of weakrefs, especially when the + * list is being modified externally (e.g. refs getting removed). + * + * The returned pointer should not be used to change the head of the list + * nor should it be used to add, remove, or swap any refs in the list. + * That is the sole responsibility of the code in weakrefobject.c. + */ +static inline PyObject ** +_PyObject_GET_WEAKREFS_LISTPTR(PyObject *op) +{ + if (PyType_Check(op) && + ((PyTypeObject *)op)->tp_flags & _Py_TPFLAGS_STATIC_BUILTIN) { + PyInterpreterState *interp = _PyInterpreterState_GET(); + static_builtin_state *state = _PyStaticType_GetState( + interp, (PyTypeObject *)op); + return _PyStaticType_GET_WEAKREFS_LISTPTR(state); + } + // Essentially _PyObject_GET_WEAKREFS_LISTPTR_FROM_OFFSET(): + Py_ssize_t offset = Py_TYPE(op)->tp_weaklistoffset; + return (PyObject **)((char *)op + offset); +} + +/* This is a special case of _PyObject_GET_WEAKREFS_LISTPTR(). + * Only the most fundamental lookup path is used. + * Consequently, static types should not be used. + * + * For static builtin types the returned pointer will always point + * to a NULL tp_weaklist. This is fine for any deallocation cases, + * since static types are never deallocated and static builtin types + * are only finalized at the end of runtime finalization. + * + * If the weaklist for static types is actually needed then use + * _PyObject_GET_WEAKREFS_LISTPTR(). + */ +static inline PyWeakReference ** +_PyObject_GET_WEAKREFS_LISTPTR_FROM_OFFSET(PyObject *op) +{ + assert(!PyType_Check(op) || + ((PyTypeObject *)op)->tp_flags & Py_TPFLAGS_HEAPTYPE); + Py_ssize_t offset = Py_TYPE(op)->tp_weaklistoffset; + return (PyWeakReference **)((char *)op + offset); +} + + +// Fast inlined version of PyObject_IS_GC() +static inline int +_PyObject_IS_GC(PyObject *obj) +{ + return (PyType_IS_GC(Py_TYPE(obj)) + && (Py_TYPE(obj)->tp_is_gc == NULL + || Py_TYPE(obj)->tp_is_gc(obj))); +} + +// Fast inlined version of PyType_IS_GC() +#define _PyType_IS_GC(t) _PyType_HasFeature((t), Py_TPFLAGS_HAVE_GC) + +static inline size_t +_PyType_PreHeaderSize(PyTypeObject *tp) +{ + return _PyType_IS_GC(tp) * sizeof(PyGC_Head) + + _PyType_HasFeature(tp, Py_TPFLAGS_PREHEADER) * 2 * sizeof(PyObject *); +} + +void _PyObject_GC_Link(PyObject *op); + +// Usage: assert(_Py_CheckSlotResult(obj, "__getitem__", result != NULL)); +extern int _Py_CheckSlotResult( + PyObject *obj, + const char *slot_name, + int success); + +// Test if a type supports weak references +static inline int _PyType_SUPPORTS_WEAKREFS(PyTypeObject *type) { + return (type->tp_weaklistoffset != 0); +} + +extern PyObject* _PyType_AllocNoTrack(PyTypeObject *type, Py_ssize_t nitems); + +extern int _PyObject_InitializeDict(PyObject *obj); +extern int _PyObject_StoreInstanceAttribute(PyObject *obj, PyDictValues *values, + PyObject *name, PyObject *value); +PyObject * _PyObject_GetInstanceAttribute(PyObject *obj, PyDictValues *values, + PyObject *name); + +typedef union { + PyObject *dict; + /* Use a char* to generate a warning if directly assigning a PyDictValues */ + char *values; +} PyDictOrValues; + +static inline PyDictOrValues * +_PyObject_DictOrValuesPointer(PyObject *obj) +{ + assert(Py_TYPE(obj)->tp_flags & Py_TPFLAGS_MANAGED_DICT); + return ((PyDictOrValues *)obj)-3; +} + +static inline int +_PyDictOrValues_IsValues(PyDictOrValues dorv) +{ + return ((uintptr_t)dorv.values) & 1; +} + +static inline PyDictValues * +_PyDictOrValues_GetValues(PyDictOrValues dorv) +{ + assert(_PyDictOrValues_IsValues(dorv)); + return (PyDictValues *)(dorv.values + 1); +} + +static inline PyObject * +_PyDictOrValues_GetDict(PyDictOrValues dorv) +{ + assert(!_PyDictOrValues_IsValues(dorv)); + return dorv.dict; +} + +static inline void +_PyDictOrValues_SetValues(PyDictOrValues *ptr, PyDictValues *values) +{ + ptr->values = ((char *)values) - 1; +} + +#define MANAGED_WEAKREF_OFFSET (((Py_ssize_t)sizeof(PyObject *))*-4) + +extern PyObject ** _PyObject_ComputedDictPointer(PyObject *); +extern void _PyObject_FreeInstanceAttributes(PyObject *obj); +extern int _PyObject_IsInstanceDictEmpty(PyObject *); + +PyAPI_FUNC(PyObject *) _PyObject_LookupSpecial(PyObject *, PyObject *); + +/* C function call trampolines to mitigate bad function pointer casts. + * + * Typical native ABIs ignore additional arguments or fill in missing + * values with 0/NULL in function pointer cast. Compilers do not show + * warnings when a function pointer is explicitly casted to an + * incompatible type. + * + * Bad fpcasts are an issue in WebAssembly. WASM's indirect_call has strict + * function signature checks. Argument count, types, and return type must + * match. + * + * Third party code unintentionally rely on problematic fpcasts. The call + * trampoline mitigates common occurrences of bad fpcasts on Emscripten. + */ +#if defined(__EMSCRIPTEN__) && defined(PY_CALL_TRAMPOLINE) +#define _PyCFunction_TrampolineCall(meth, self, args) \ + _PyCFunctionWithKeywords_TrampolineCall( \ + (*(PyCFunctionWithKeywords)(void(*)(void))(meth)), (self), (args), NULL) +extern PyObject* _PyCFunctionWithKeywords_TrampolineCall( + PyCFunctionWithKeywords meth, PyObject *, PyObject *, PyObject *); +#else +#define _PyCFunction_TrampolineCall(meth, self, args) \ + (meth)((self), (args)) +#define _PyCFunctionWithKeywords_TrampolineCall(meth, self, args, kw) \ + (meth)((self), (args), (kw)) +#endif // __EMSCRIPTEN__ && PY_CALL_TRAMPOLINE + +#ifdef __cplusplus +} +#endif +#endif /* !Py_INTERNAL_OBJECT_H */ diff --git a/_Pre_Builds/_Python312_cpp/include/internal/pycore_object_state.h b/_Pre_Builds/_Python312_cpp/include/internal/pycore_object_state.h new file mode 100644 index 0000000..65feb5a --- /dev/null +++ b/_Pre_Builds/_Python312_cpp/include/internal/pycore_object_state.h @@ -0,0 +1,36 @@ +#ifndef Py_INTERNAL_OBJECT_STATE_H +#define Py_INTERNAL_OBJECT_STATE_H +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef Py_BUILD_CORE +# error "this header requires Py_BUILD_CORE define" +#endif + +struct _py_object_runtime_state { +#ifdef Py_REF_DEBUG + Py_ssize_t interpreter_leaks; +#endif + int _not_used; +}; + +struct _py_object_state { +#ifdef Py_REF_DEBUG + Py_ssize_t reftotal; +#endif +#ifdef Py_TRACE_REFS + /* Head of circular doubly-linked list of all objects. These are linked + * together via the _ob_prev and _ob_next members of a PyObject, which + * exist only in a Py_TRACE_REFS build. + */ + PyObject refchain; +#endif + int _not_used; +}; + + +#ifdef __cplusplus +} +#endif +#endif /* !Py_INTERNAL_OBJECT_STATE_H */ diff --git a/_Pre_Builds/_Python312_cpp/include/internal/pycore_obmalloc.h b/_Pre_Builds/_Python312_cpp/include/internal/pycore_obmalloc.h new file mode 100644 index 0000000..b1c0065 --- /dev/null +++ b/_Pre_Builds/_Python312_cpp/include/internal/pycore_obmalloc.h @@ -0,0 +1,700 @@ +#ifndef Py_INTERNAL_OBMALLOC_H +#define Py_INTERNAL_OBMALLOC_H +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef Py_BUILD_CORE +# error "this header requires Py_BUILD_CORE define" +#endif + + +typedef unsigned int pymem_uint; /* assuming >= 16 bits */ + +#undef uint +#define uint pymem_uint + + +/* An object allocator for Python. + + Here is an introduction to the layers of the Python memory architecture, + showing where the object allocator is actually used (layer +2), It is + called for every object allocation and deallocation (PyObject_New/Del), + unless the object-specific allocators implement a proprietary allocation + scheme (ex.: ints use a simple free list). This is also the place where + the cyclic garbage collector operates selectively on container objects. + + + Object-specific allocators + _____ ______ ______ ________ + [ int ] [ dict ] [ list ] ... [ string ] Python core | ++3 | <----- Object-specific memory -----> | <-- Non-object memory --> | + _______________________________ | | + [ Python's object allocator ] | | ++2 | ####### Object memory ####### | <------ Internal buffers ------> | + ______________________________________________________________ | + [ Python's raw memory allocator (PyMem_ API) ] | ++1 | <----- Python memory (under PyMem manager's control) ------> | | + __________________________________________________________________ + [ Underlying general-purpose allocator (ex: C library malloc) ] + 0 | <------ Virtual memory allocated for the python process -------> | + + ========================================================================= + _______________________________________________________________________ + [ OS-specific Virtual Memory Manager (VMM) ] +-1 | <--- Kernel dynamic storage allocation & management (page-based) ---> | + __________________________________ __________________________________ + [ ] [ ] +-2 | <-- Physical memory: ROM/RAM --> | | <-- Secondary storage (swap) --> | + +*/ +/*==========================================================================*/ + +/* A fast, special-purpose memory allocator for small blocks, to be used + on top of a general-purpose malloc -- heavily based on previous art. */ + +/* Vladimir Marangozov -- August 2000 */ + +/* + * "Memory management is where the rubber meets the road -- if we do the wrong + * thing at any level, the results will not be good. And if we don't make the + * levels work well together, we are in serious trouble." (1) + * + * (1) Paul R. Wilson, Mark S. Johnstone, Michael Neely, and David Boles, + * "Dynamic Storage Allocation: A Survey and Critical Review", + * in Proc. 1995 Int'l. Workshop on Memory Management, September 1995. + */ + +/* #undef WITH_MEMORY_LIMITS */ /* disable mem limit checks */ + +/*==========================================================================*/ + +/* + * Allocation strategy abstract: + * + * For small requests, the allocator sub-allocates blocks of memory. + * Requests greater than SMALL_REQUEST_THRESHOLD bytes are routed to the + * system's allocator. + * + * Small requests are grouped in size classes spaced 8 bytes apart, due + * to the required valid alignment of the returned address. Requests of + * a particular size are serviced from memory pools of 4K (one VMM page). + * Pools are fragmented on demand and contain free lists of blocks of one + * particular size class. In other words, there is a fixed-size allocator + * for each size class. Free pools are shared by the different allocators + * thus minimizing the space reserved for a particular size class. + * + * This allocation strategy is a variant of what is known as "simple + * segregated storage based on array of free lists". The main drawback of + * simple segregated storage is that we might end up with lot of reserved + * memory for the different free lists, which degenerate in time. To avoid + * this, we partition each free list in pools and we share dynamically the + * reserved space between all free lists. This technique is quite efficient + * for memory intensive programs which allocate mainly small-sized blocks. + * + * For small requests we have the following table: + * + * Request in bytes Size of allocated block Size class idx + * ---------------------------------------------------------------- + * 1-8 8 0 + * 9-16 16 1 + * 17-24 24 2 + * 25-32 32 3 + * 33-40 40 4 + * 41-48 48 5 + * 49-56 56 6 + * 57-64 64 7 + * 65-72 72 8 + * ... ... ... + * 497-504 504 62 + * 505-512 512 63 + * + * 0, SMALL_REQUEST_THRESHOLD + 1 and up: routed to the underlying + * allocator. + */ + +/*==========================================================================*/ + +/* + * -- Main tunable settings section -- + */ + +/* + * Alignment of addresses returned to the user. 8-bytes alignment works + * on most current architectures (with 32-bit or 64-bit address buses). + * The alignment value is also used for grouping small requests in size + * classes spaced ALIGNMENT bytes apart. + * + * You shouldn't change this unless you know what you are doing. + */ + +#if SIZEOF_VOID_P > 4 +#define ALIGNMENT 16 /* must be 2^N */ +#define ALIGNMENT_SHIFT 4 +#else +#define ALIGNMENT 8 /* must be 2^N */ +#define ALIGNMENT_SHIFT 3 +#endif + +/* Return the number of bytes in size class I, as a uint. */ +#define INDEX2SIZE(I) (((pymem_uint)(I) + 1) << ALIGNMENT_SHIFT) + +/* + * Max size threshold below which malloc requests are considered to be + * small enough in order to use preallocated memory pools. You can tune + * this value according to your application behaviour and memory needs. + * + * Note: a size threshold of 512 guarantees that newly created dictionaries + * will be allocated from preallocated memory pools on 64-bit. + * + * The following invariants must hold: + * 1) ALIGNMENT <= SMALL_REQUEST_THRESHOLD <= 512 + * 2) SMALL_REQUEST_THRESHOLD is evenly divisible by ALIGNMENT + * + * Although not required, for better performance and space efficiency, + * it is recommended that SMALL_REQUEST_THRESHOLD is set to a power of 2. + */ +#define SMALL_REQUEST_THRESHOLD 512 +#define NB_SMALL_SIZE_CLASSES (SMALL_REQUEST_THRESHOLD / ALIGNMENT) + +/* + * The system's VMM page size can be obtained on most unices with a + * getpagesize() call or deduced from various header files. To make + * things simpler, we assume that it is 4K, which is OK for most systems. + * It is probably better if this is the native page size, but it doesn't + * have to be. In theory, if SYSTEM_PAGE_SIZE is larger than the native page + * size, then `POOL_ADDR(p)->arenaindex' could rarely cause a segmentation + * violation fault. 4K is apparently OK for all the platforms that python + * currently targets. + */ +#define SYSTEM_PAGE_SIZE (4 * 1024) + +/* + * Maximum amount of memory managed by the allocator for small requests. + */ +#ifdef WITH_MEMORY_LIMITS +#ifndef SMALL_MEMORY_LIMIT +#define SMALL_MEMORY_LIMIT (64 * 1024 * 1024) /* 64 MB -- more? */ +#endif +#endif + +#if !defined(WITH_PYMALLOC_RADIX_TREE) +/* Use radix-tree to track arena memory regions, for address_in_range(). + * Enable by default since it allows larger pool sizes. Can be disabled + * using -DWITH_PYMALLOC_RADIX_TREE=0 */ +#define WITH_PYMALLOC_RADIX_TREE 1 +#endif + +#if SIZEOF_VOID_P > 4 +/* on 64-bit platforms use larger pools and arenas if we can */ +#define USE_LARGE_ARENAS +#if WITH_PYMALLOC_RADIX_TREE +/* large pools only supported if radix-tree is enabled */ +#define USE_LARGE_POOLS +#endif +#endif + +/* + * The allocator sub-allocates blocks of memory (called arenas) aligned + * on a page boundary. This is a reserved virtual address space for the + * current process (obtained through a malloc()/mmap() call). In no way this + * means that the memory arenas will be used entirely. A malloc() is + * usually an address range reservation for bytes, unless all pages within + * this space are referenced subsequently. So malloc'ing big blocks and not + * using them does not mean "wasting memory". It's an addressable range + * wastage... + * + * Arenas are allocated with mmap() on systems supporting anonymous memory + * mappings to reduce heap fragmentation. + */ +#ifdef USE_LARGE_ARENAS +#define ARENA_BITS 20 /* 1 MiB */ +#else +#define ARENA_BITS 18 /* 256 KiB */ +#endif +#define ARENA_SIZE (1 << ARENA_BITS) +#define ARENA_SIZE_MASK (ARENA_SIZE - 1) + +#ifdef WITH_MEMORY_LIMITS +#define MAX_ARENAS (SMALL_MEMORY_LIMIT / ARENA_SIZE) +#endif + +/* + * Size of the pools used for small blocks. Must be a power of 2. + */ +#ifdef USE_LARGE_POOLS +#define POOL_BITS 14 /* 16 KiB */ +#else +#define POOL_BITS 12 /* 4 KiB */ +#endif +#define POOL_SIZE (1 << POOL_BITS) +#define POOL_SIZE_MASK (POOL_SIZE - 1) + +#if !WITH_PYMALLOC_RADIX_TREE +#if POOL_SIZE != SYSTEM_PAGE_SIZE +# error "pool size must be equal to system page size" +#endif +#endif + +#define MAX_POOLS_IN_ARENA (ARENA_SIZE / POOL_SIZE) +#if MAX_POOLS_IN_ARENA * POOL_SIZE != ARENA_SIZE +# error "arena size not an exact multiple of pool size" +#endif + +/* + * -- End of tunable settings section -- + */ + +/*==========================================================================*/ + +/* When you say memory, my mind reasons in terms of (pointers to) blocks */ +typedef uint8_t pymem_block; + +/* Pool for small blocks. */ +struct pool_header { + union { pymem_block *_padding; + uint count; } ref; /* number of allocated blocks */ + pymem_block *freeblock; /* pool's free list head */ + struct pool_header *nextpool; /* next pool of this size class */ + struct pool_header *prevpool; /* previous pool "" */ + uint arenaindex; /* index into arenas of base adr */ + uint szidx; /* block size class index */ + uint nextoffset; /* bytes to virgin block */ + uint maxnextoffset; /* largest valid nextoffset */ +}; + +typedef struct pool_header *poolp; + +/* Record keeping for arenas. */ +struct arena_object { + /* The address of the arena, as returned by malloc. Note that 0 + * will never be returned by a successful malloc, and is used + * here to mark an arena_object that doesn't correspond to an + * allocated arena. + */ + uintptr_t address; + + /* Pool-aligned pointer to the next pool to be carved off. */ + pymem_block* pool_address; + + /* The number of available pools in the arena: free pools + never- + * allocated pools. + */ + uint nfreepools; + + /* The total number of pools in the arena, whether or not available. */ + uint ntotalpools; + + /* Singly-linked list of available pools. */ + struct pool_header* freepools; + + /* Whenever this arena_object is not associated with an allocated + * arena, the nextarena member is used to link all unassociated + * arena_objects in the singly-linked `unused_arena_objects` list. + * The prevarena member is unused in this case. + * + * When this arena_object is associated with an allocated arena + * with at least one available pool, both members are used in the + * doubly-linked `usable_arenas` list, which is maintained in + * increasing order of `nfreepools` values. + * + * Else this arena_object is associated with an allocated arena + * all of whose pools are in use. `nextarena` and `prevarena` + * are both meaningless in this case. + */ + struct arena_object* nextarena; + struct arena_object* prevarena; +}; + +#define POOL_OVERHEAD _Py_SIZE_ROUND_UP(sizeof(struct pool_header), ALIGNMENT) + +#define DUMMY_SIZE_IDX 0xffff /* size class of newly cached pools */ + +/* Round pointer P down to the closest pool-aligned address <= P, as a poolp */ +#define POOL_ADDR(P) ((poolp)_Py_ALIGN_DOWN((P), POOL_SIZE)) + +/* Return total number of blocks in pool of size index I, as a uint. */ +#define NUMBLOCKS(I) ((pymem_uint)(POOL_SIZE - POOL_OVERHEAD) / INDEX2SIZE(I)) + +/*==========================================================================*/ + +/* + * Pool table -- headed, circular, doubly-linked lists of partially used pools. + +This is involved. For an index i, usedpools[i+i] is the header for a list of +all partially used pools holding small blocks with "size class idx" i. So +usedpools[0] corresponds to blocks of size 8, usedpools[2] to blocks of size +16, and so on: index 2*i <-> blocks of size (i+1)<freeblock points to +the start of a singly-linked list of free blocks within the pool. When a +block is freed, it's inserted at the front of its pool's freeblock list. Note +that the available blocks in a pool are *not* linked all together when a pool +is initialized. Instead only "the first two" (lowest addresses) blocks are +set up, returning the first such block, and setting pool->freeblock to a +one-block list holding the second such block. This is consistent with that +pymalloc strives at all levels (arena, pool, and block) never to touch a piece +of memory until it's actually needed. + +So long as a pool is in the used state, we're certain there *is* a block +available for allocating, and pool->freeblock is not NULL. If pool->freeblock +points to the end of the free list before we've carved the entire pool into +blocks, that means we simply haven't yet gotten to one of the higher-address +blocks. The offset from the pool_header to the start of "the next" virgin +block is stored in the pool_header nextoffset member, and the largest value +of nextoffset that makes sense is stored in the maxnextoffset member when a +pool is initialized. All the blocks in a pool have been passed out at least +once when and only when nextoffset > maxnextoffset. + + +Major obscurity: While the usedpools vector is declared to have poolp +entries, it doesn't really. It really contains two pointers per (conceptual) +poolp entry, the nextpool and prevpool members of a pool_header. The +excruciating initialization code below fools C so that + + usedpool[i+i] + +"acts like" a genuine poolp, but only so long as you only reference its +nextpool and prevpool members. The "- 2*sizeof(pymem_block *)" gibberish is +compensating for that a pool_header's nextpool and prevpool members +immediately follow a pool_header's first two members: + + union { pymem_block *_padding; + uint count; } ref; + pymem_block *freeblock; + +each of which consume sizeof(pymem_block *) bytes. So what usedpools[i+i] really +contains is a fudged-up pointer p such that *if* C believes it's a poolp +pointer, then p->nextpool and p->prevpool are both p (meaning that the headed +circular list is empty). + +It's unclear why the usedpools setup is so convoluted. It could be to +minimize the amount of cache required to hold this heavily-referenced table +(which only *needs* the two interpool pointer members of a pool_header). OTOH, +referencing code has to remember to "double the index" and doing so isn't +free, usedpools[0] isn't a strictly legal pointer, and we're crucially relying +on that C doesn't insert any padding anywhere in a pool_header at or before +the prevpool member. +**************************************************************************** */ + +#define OBMALLOC_USED_POOLS_SIZE (2 * ((NB_SMALL_SIZE_CLASSES + 7) / 8) * 8) + +struct _obmalloc_pools { + poolp used[OBMALLOC_USED_POOLS_SIZE]; +}; + + +/*========================================================================== +Arena management. + +`arenas` is a vector of arena_objects. It contains maxarenas entries, some of +which may not be currently used (== they're arena_objects that aren't +currently associated with an allocated arena). Note that arenas proper are +separately malloc'ed. + +Prior to Python 2.5, arenas were never free()'ed. Starting with Python 2.5, +we do try to free() arenas, and use some mild heuristic strategies to increase +the likelihood that arenas eventually can be freed. + +unused_arena_objects + + This is a singly-linked list of the arena_objects that are currently not + being used (no arena is associated with them). Objects are taken off the + head of the list in new_arena(), and are pushed on the head of the list in + PyObject_Free() when the arena is empty. Key invariant: an arena_object + is on this list if and only if its .address member is 0. + +usable_arenas + + This is a doubly-linked list of the arena_objects associated with arenas + that have pools available. These pools are either waiting to be reused, + or have not been used before. The list is sorted to have the most- + allocated arenas first (ascending order based on the nfreepools member). + This means that the next allocation will come from a heavily used arena, + which gives the nearly empty arenas a chance to be returned to the system. + In my unscientific tests this dramatically improved the number of arenas + that could be freed. + +Note that an arena_object associated with an arena all of whose pools are +currently in use isn't on either list. + +Changed in Python 3.8: keeping usable_arenas sorted by number of free pools +used to be done by one-at-a-time linear search when an arena's number of +free pools changed. That could, overall, consume time quadratic in the +number of arenas. That didn't really matter when there were only a few +hundred arenas (typical!), but could be a timing disaster when there were +hundreds of thousands. See bpo-37029. + +Now we have a vector of "search fingers" to eliminate the need to search: +nfp2lasta[nfp] returns the last ("rightmost") arena in usable_arenas +with nfp free pools. This is NULL if and only if there is no arena with +nfp free pools in usable_arenas. +*/ + +/* How many arena_objects do we initially allocate? + * 16 = can allocate 16 arenas = 16 * ARENA_SIZE = 4MB before growing the + * `arenas` vector. + */ +#define INITIAL_ARENA_OBJECTS 16 + +struct _obmalloc_mgmt { + /* Array of objects used to track chunks of memory (arenas). */ + struct arena_object* arenas; + /* Number of slots currently allocated in the `arenas` vector. */ + uint maxarenas; + + /* The head of the singly-linked, NULL-terminated list of available + * arena_objects. + */ + struct arena_object* unused_arena_objects; + + /* The head of the doubly-linked, NULL-terminated at each end, list of + * arena_objects associated with arenas that have pools available. + */ + struct arena_object* usable_arenas; + + /* nfp2lasta[nfp] is the last arena in usable_arenas with nfp free pools */ + struct arena_object* nfp2lasta[MAX_POOLS_IN_ARENA + 1]; + + /* Number of arenas allocated that haven't been free()'d. */ + size_t narenas_currently_allocated; + + /* Total number of times malloc() called to allocate an arena. */ + size_t ntimes_arena_allocated; + /* High water mark (max value ever seen) for narenas_currently_allocated. */ + size_t narenas_highwater; + + Py_ssize_t raw_allocated_blocks; +}; + + +#if WITH_PYMALLOC_RADIX_TREE +/*==========================================================================*/ +/* radix tree for tracking arena usage. If enabled, used to implement + address_in_range(). + + memory address bit allocation for keys + + 64-bit pointers, IGNORE_BITS=0 and 2^20 arena size: + 15 -> MAP_TOP_BITS + 15 -> MAP_MID_BITS + 14 -> MAP_BOT_BITS + 20 -> ideal aligned arena + ---- + 64 + + 64-bit pointers, IGNORE_BITS=16, and 2^20 arena size: + 16 -> IGNORE_BITS + 10 -> MAP_TOP_BITS + 10 -> MAP_MID_BITS + 8 -> MAP_BOT_BITS + 20 -> ideal aligned arena + ---- + 64 + + 32-bit pointers and 2^18 arena size: + 14 -> MAP_BOT_BITS + 18 -> ideal aligned arena + ---- + 32 + +*/ + +#if SIZEOF_VOID_P == 8 + +/* number of bits in a pointer */ +#define POINTER_BITS 64 + +/* High bits of memory addresses that will be ignored when indexing into the + * radix tree. Setting this to zero is the safe default. For most 64-bit + * machines, setting this to 16 would be safe. The kernel would not give + * user-space virtual memory addresses that have significant information in + * those high bits. The main advantage to setting IGNORE_BITS > 0 is that less + * virtual memory will be used for the top and middle radix tree arrays. Those + * arrays are allocated in the BSS segment and so will typically consume real + * memory only if actually accessed. + */ +#define IGNORE_BITS 0 + +/* use the top and mid layers of the radix tree */ +#define USE_INTERIOR_NODES + +#elif SIZEOF_VOID_P == 4 + +#define POINTER_BITS 32 +#define IGNORE_BITS 0 + +#else + + /* Currently this code works for 64-bit or 32-bit pointers only. */ +#error "obmalloc radix tree requires 64-bit or 32-bit pointers." + +#endif /* SIZEOF_VOID_P */ + +/* arena_coverage_t members require this to be true */ +#if ARENA_BITS >= 32 +# error "arena size must be < 2^32" +#endif + +/* the lower bits of the address that are not ignored */ +#define ADDRESS_BITS (POINTER_BITS - IGNORE_BITS) + +#ifdef USE_INTERIOR_NODES +/* number of bits used for MAP_TOP and MAP_MID nodes */ +#define INTERIOR_BITS ((ADDRESS_BITS - ARENA_BITS + 2) / 3) +#else +#define INTERIOR_BITS 0 +#endif + +#define MAP_TOP_BITS INTERIOR_BITS +#define MAP_TOP_LENGTH (1 << MAP_TOP_BITS) +#define MAP_TOP_MASK (MAP_TOP_LENGTH - 1) + +#define MAP_MID_BITS INTERIOR_BITS +#define MAP_MID_LENGTH (1 << MAP_MID_BITS) +#define MAP_MID_MASK (MAP_MID_LENGTH - 1) + +#define MAP_BOT_BITS (ADDRESS_BITS - ARENA_BITS - 2*INTERIOR_BITS) +#define MAP_BOT_LENGTH (1 << MAP_BOT_BITS) +#define MAP_BOT_MASK (MAP_BOT_LENGTH - 1) + +#define MAP_BOT_SHIFT ARENA_BITS +#define MAP_MID_SHIFT (MAP_BOT_BITS + MAP_BOT_SHIFT) +#define MAP_TOP_SHIFT (MAP_MID_BITS + MAP_MID_SHIFT) + +#define AS_UINT(p) ((uintptr_t)(p)) +#define MAP_BOT_INDEX(p) ((AS_UINT(p) >> MAP_BOT_SHIFT) & MAP_BOT_MASK) +#define MAP_MID_INDEX(p) ((AS_UINT(p) >> MAP_MID_SHIFT) & MAP_MID_MASK) +#define MAP_TOP_INDEX(p) ((AS_UINT(p) >> MAP_TOP_SHIFT) & MAP_TOP_MASK) + +#if IGNORE_BITS > 0 +/* Return the ignored part of the pointer address. Those bits should be same + * for all valid pointers if IGNORE_BITS is set correctly. + */ +#define HIGH_BITS(p) (AS_UINT(p) >> ADDRESS_BITS) +#else +#define HIGH_BITS(p) 0 +#endif + + +/* This is the leaf of the radix tree. See arena_map_mark_used() for the + * meaning of these members. */ +typedef struct { + int32_t tail_hi; + int32_t tail_lo; +} arena_coverage_t; + +typedef struct arena_map_bot { + /* The members tail_hi and tail_lo are accessed together. So, it + * better to have them as an array of structs, rather than two + * arrays. + */ + arena_coverage_t arenas[MAP_BOT_LENGTH]; +} arena_map_bot_t; + +#ifdef USE_INTERIOR_NODES +typedef struct arena_map_mid { + struct arena_map_bot *ptrs[MAP_MID_LENGTH]; +} arena_map_mid_t; + +typedef struct arena_map_top { + struct arena_map_mid *ptrs[MAP_TOP_LENGTH]; +} arena_map_top_t; +#endif + +struct _obmalloc_usage { + /* The root of radix tree. Note that by initializing like this, the memory + * should be in the BSS. The OS will only memory map pages as the MAP_MID + * nodes get used (OS pages are demand loaded as needed). + */ +#ifdef USE_INTERIOR_NODES + arena_map_top_t arena_map_root; + /* accounting for number of used interior nodes */ + int arena_map_mid_count; + int arena_map_bot_count; +#else + arena_map_bot_t arena_map_root; +#endif +}; + +#endif /* WITH_PYMALLOC_RADIX_TREE */ + + +struct _obmalloc_global_state { + int dump_debug_stats; + Py_ssize_t interpreter_leaks; +}; + +struct _obmalloc_state { + struct _obmalloc_pools pools; + struct _obmalloc_mgmt mgmt; +#if WITH_PYMALLOC_RADIX_TREE + struct _obmalloc_usage usage; +#endif +}; + + +#undef uint + + +/* Allocate memory directly from the O/S virtual memory system, + * where supported. Otherwise fallback on malloc */ +void *_PyObject_VirtualAlloc(size_t size); +void _PyObject_VirtualFree(void *, size_t size); + + +/* This function returns the number of allocated memory blocks, regardless of size */ +extern Py_ssize_t _Py_GetGlobalAllocatedBlocks(void); +#define _Py_GetAllocatedBlocks() \ + _Py_GetGlobalAllocatedBlocks() +extern Py_ssize_t _PyInterpreterState_GetAllocatedBlocks(PyInterpreterState *); +extern void _PyInterpreterState_FinalizeAllocatedBlocks(PyInterpreterState *); + + +#ifdef WITH_PYMALLOC +// Export the symbol for the 3rd party guppy3 project +PyAPI_FUNC(int) _PyObject_DebugMallocStats(FILE *out); +#endif + + +#ifdef __cplusplus +} +#endif +#endif // !Py_INTERNAL_OBMALLOC_H diff --git a/_Pre_Builds/_Python312_cpp/include/internal/pycore_obmalloc_init.h b/_Pre_Builds/_Python312_cpp/include/internal/pycore_obmalloc_init.h new file mode 100644 index 0000000..8ee72ff --- /dev/null +++ b/_Pre_Builds/_Python312_cpp/include/internal/pycore_obmalloc_init.h @@ -0,0 +1,73 @@ +#ifndef Py_INTERNAL_OBMALLOC_INIT_H +#define Py_INTERNAL_OBMALLOC_INIT_H +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef Py_BUILD_CORE +# error "this header requires Py_BUILD_CORE define" +#endif + + +/****************************************************/ +/* the default object allocator's state initializer */ + +#define PTA(pools, x) \ + ((poolp )((uint8_t *)&(pools.used[2*(x)]) - 2*sizeof(pymem_block *))) +#define PT(p, x) PTA(p, x), PTA(p, x) + +#define PT_8(p, start) \ + PT(p, start), \ + PT(p, start+1), \ + PT(p, start+2), \ + PT(p, start+3), \ + PT(p, start+4), \ + PT(p, start+5), \ + PT(p, start+6), \ + PT(p, start+7) + +#if NB_SMALL_SIZE_CLASSES <= 8 +# define _obmalloc_pools_INIT(p) \ + { PT_8(p, 0) } +#elif NB_SMALL_SIZE_CLASSES <= 16 +# define _obmalloc_pools_INIT(p) \ + { PT_8(p, 0), PT_8(p, 8) } +#elif NB_SMALL_SIZE_CLASSES <= 24 +# define _obmalloc_pools_INIT(p) \ + { PT_8(p, 0), PT_8(p, 8), PT_8(p, 16) } +#elif NB_SMALL_SIZE_CLASSES <= 32 +# define _obmalloc_pools_INIT(p) \ + { PT_8(p, 0), PT_8(p, 8), PT_8(p, 16), PT_8(p, 24) } +#elif NB_SMALL_SIZE_CLASSES <= 40 +# define _obmalloc_pools_INIT(p) \ + { PT_8(p, 0), PT_8(p, 8), PT_8(p, 16), PT_8(p, 24), PT_8(p, 32) } +#elif NB_SMALL_SIZE_CLASSES <= 48 +# define _obmalloc_pools_INIT(p) \ + { PT_8(p, 0), PT_8(p, 8), PT_8(p, 16), PT_8(p, 24), PT_8(p, 32), PT_8(p, 40) } +#elif NB_SMALL_SIZE_CLASSES <= 56 +# define _obmalloc_pools_INIT(p) \ + { PT_8(p, 0), PT_8(p, 8), PT_8(p, 16), PT_8(p, 24), PT_8(p, 32), PT_8(p, 40), PT_8(p, 48) } +#elif NB_SMALL_SIZE_CLASSES <= 64 +# define _obmalloc_pools_INIT(p) \ + { PT_8(p, 0), PT_8(p, 8), PT_8(p, 16), PT_8(p, 24), PT_8(p, 32), PT_8(p, 40), PT_8(p, 48), PT_8(p, 56) } +#else +# error "NB_SMALL_SIZE_CLASSES should be less than 64" +#endif + +#define _obmalloc_global_state_INIT \ + { \ + .dump_debug_stats = -1, \ + } + +#define _obmalloc_state_INIT(obmalloc) \ + { \ + .pools = { \ + .used = _obmalloc_pools_INIT(obmalloc.pools), \ + }, \ + } + + +#ifdef __cplusplus +} +#endif +#endif // !Py_INTERNAL_OBMALLOC_INIT_H diff --git a/_Pre_Builds/_Python312_cpp/include/internal/pycore_opcode.h b/_Pre_Builds/_Python312_cpp/include/internal/pycore_opcode.h new file mode 100644 index 0000000..15d9650 --- /dev/null +++ b/_Pre_Builds/_Python312_cpp/include/internal/pycore_opcode.h @@ -0,0 +1,587 @@ +// Auto-generated by Tools/build/generate_opcode_h.py from Lib/opcode.py + +#ifndef Py_INTERNAL_OPCODE_H +#define Py_INTERNAL_OPCODE_H +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef Py_BUILD_CORE +# error "this header requires Py_BUILD_CORE define" +#endif + +#include "opcode.h" + +extern const uint32_t _PyOpcode_Jump[9]; + +extern const uint8_t _PyOpcode_Caches[256]; + +extern const uint8_t _PyOpcode_Deopt[256]; + +#ifdef NEED_OPCODE_TABLES +const uint32_t _PyOpcode_Jump[9] = { + 0U, + 0U, + 536870912U, + 135020544U, + 4163U, + 0U, + 0U, + 0U, + 48U, +}; + +const uint8_t _PyOpcode_Caches[256] = { + [BINARY_SUBSCR] = 1, + [STORE_SUBSCR] = 1, + [UNPACK_SEQUENCE] = 1, + [FOR_ITER] = 1, + [STORE_ATTR] = 4, + [LOAD_ATTR] = 9, + [COMPARE_OP] = 1, + [LOAD_GLOBAL] = 4, + [BINARY_OP] = 1, + [SEND] = 1, + [LOAD_SUPER_ATTR] = 1, + [CALL] = 3, +}; + +const uint8_t _PyOpcode_Deopt[256] = { + [BEFORE_ASYNC_WITH] = BEFORE_ASYNC_WITH, + [BEFORE_WITH] = BEFORE_WITH, + [BINARY_OP] = BINARY_OP, + [BINARY_OP_ADD_FLOAT] = BINARY_OP, + [BINARY_OP_ADD_INT] = BINARY_OP, + [BINARY_OP_ADD_UNICODE] = BINARY_OP, + [BINARY_OP_INPLACE_ADD_UNICODE] = BINARY_OP, + [BINARY_OP_MULTIPLY_FLOAT] = BINARY_OP, + [BINARY_OP_MULTIPLY_INT] = BINARY_OP, + [BINARY_OP_SUBTRACT_FLOAT] = BINARY_OP, + [BINARY_OP_SUBTRACT_INT] = BINARY_OP, + [BINARY_SLICE] = BINARY_SLICE, + [BINARY_SUBSCR] = BINARY_SUBSCR, + [BINARY_SUBSCR_DICT] = BINARY_SUBSCR, + [BINARY_SUBSCR_GETITEM] = BINARY_SUBSCR, + [BINARY_SUBSCR_LIST_INT] = BINARY_SUBSCR, + [BINARY_SUBSCR_TUPLE_INT] = BINARY_SUBSCR, + [BUILD_CONST_KEY_MAP] = BUILD_CONST_KEY_MAP, + [BUILD_LIST] = BUILD_LIST, + [BUILD_MAP] = BUILD_MAP, + [BUILD_SET] = BUILD_SET, + [BUILD_SLICE] = BUILD_SLICE, + [BUILD_STRING] = BUILD_STRING, + [BUILD_TUPLE] = BUILD_TUPLE, + [CACHE] = CACHE, + [CALL] = CALL, + [CALL_BOUND_METHOD_EXACT_ARGS] = CALL, + [CALL_BUILTIN_CLASS] = CALL, + [CALL_BUILTIN_FAST_WITH_KEYWORDS] = CALL, + [CALL_FUNCTION_EX] = CALL_FUNCTION_EX, + [CALL_INTRINSIC_1] = CALL_INTRINSIC_1, + [CALL_INTRINSIC_2] = CALL_INTRINSIC_2, + [CALL_METHOD_DESCRIPTOR_FAST_WITH_KEYWORDS] = CALL, + [CALL_NO_KW_BUILTIN_FAST] = CALL, + [CALL_NO_KW_BUILTIN_O] = CALL, + [CALL_NO_KW_ISINSTANCE] = CALL, + [CALL_NO_KW_LEN] = CALL, + [CALL_NO_KW_LIST_APPEND] = CALL, + [CALL_NO_KW_METHOD_DESCRIPTOR_FAST] = CALL, + [CALL_NO_KW_METHOD_DESCRIPTOR_NOARGS] = CALL, + [CALL_NO_KW_METHOD_DESCRIPTOR_O] = CALL, + [CALL_NO_KW_STR_1] = CALL, + [CALL_NO_KW_TUPLE_1] = CALL, + [CALL_NO_KW_TYPE_1] = CALL, + [CALL_PY_EXACT_ARGS] = CALL, + [CALL_PY_WITH_DEFAULTS] = CALL, + [CHECK_EG_MATCH] = CHECK_EG_MATCH, + [CHECK_EXC_MATCH] = CHECK_EXC_MATCH, + [CLEANUP_THROW] = CLEANUP_THROW, + [COMPARE_OP] = COMPARE_OP, + [COMPARE_OP_FLOAT] = COMPARE_OP, + [COMPARE_OP_INT] = COMPARE_OP, + [COMPARE_OP_STR] = COMPARE_OP, + [CONTAINS_OP] = CONTAINS_OP, + [COPY] = COPY, + [COPY_FREE_VARS] = COPY_FREE_VARS, + [DELETE_ATTR] = DELETE_ATTR, + [DELETE_DEREF] = DELETE_DEREF, + [DELETE_FAST] = DELETE_FAST, + [DELETE_GLOBAL] = DELETE_GLOBAL, + [DELETE_NAME] = DELETE_NAME, + [DELETE_SUBSCR] = DELETE_SUBSCR, + [DICT_MERGE] = DICT_MERGE, + [DICT_UPDATE] = DICT_UPDATE, + [END_ASYNC_FOR] = END_ASYNC_FOR, + [END_FOR] = END_FOR, + [END_SEND] = END_SEND, + [EXTENDED_ARG] = EXTENDED_ARG, + [FORMAT_VALUE] = FORMAT_VALUE, + [FOR_ITER] = FOR_ITER, + [FOR_ITER_GEN] = FOR_ITER, + [FOR_ITER_LIST] = FOR_ITER, + [FOR_ITER_RANGE] = FOR_ITER, + [FOR_ITER_TUPLE] = FOR_ITER, + [GET_AITER] = GET_AITER, + [GET_ANEXT] = GET_ANEXT, + [GET_AWAITABLE] = GET_AWAITABLE, + [GET_ITER] = GET_ITER, + [GET_LEN] = GET_LEN, + [GET_YIELD_FROM_ITER] = GET_YIELD_FROM_ITER, + [IMPORT_FROM] = IMPORT_FROM, + [IMPORT_NAME] = IMPORT_NAME, + [INSTRUMENTED_CALL] = INSTRUMENTED_CALL, + [INSTRUMENTED_CALL_FUNCTION_EX] = INSTRUMENTED_CALL_FUNCTION_EX, + [INSTRUMENTED_END_FOR] = INSTRUMENTED_END_FOR, + [INSTRUMENTED_END_SEND] = INSTRUMENTED_END_SEND, + [INSTRUMENTED_FOR_ITER] = INSTRUMENTED_FOR_ITER, + [INSTRUMENTED_INSTRUCTION] = INSTRUMENTED_INSTRUCTION, + [INSTRUMENTED_JUMP_BACKWARD] = INSTRUMENTED_JUMP_BACKWARD, + [INSTRUMENTED_JUMP_FORWARD] = INSTRUMENTED_JUMP_FORWARD, + [INSTRUMENTED_LINE] = INSTRUMENTED_LINE, + [INSTRUMENTED_LOAD_SUPER_ATTR] = INSTRUMENTED_LOAD_SUPER_ATTR, + [INSTRUMENTED_POP_JUMP_IF_FALSE] = INSTRUMENTED_POP_JUMP_IF_FALSE, + [INSTRUMENTED_POP_JUMP_IF_NONE] = INSTRUMENTED_POP_JUMP_IF_NONE, + [INSTRUMENTED_POP_JUMP_IF_NOT_NONE] = INSTRUMENTED_POP_JUMP_IF_NOT_NONE, + [INSTRUMENTED_POP_JUMP_IF_TRUE] = INSTRUMENTED_POP_JUMP_IF_TRUE, + [INSTRUMENTED_RESUME] = INSTRUMENTED_RESUME, + [INSTRUMENTED_RETURN_CONST] = INSTRUMENTED_RETURN_CONST, + [INSTRUMENTED_RETURN_VALUE] = INSTRUMENTED_RETURN_VALUE, + [INSTRUMENTED_YIELD_VALUE] = INSTRUMENTED_YIELD_VALUE, + [INTERPRETER_EXIT] = INTERPRETER_EXIT, + [IS_OP] = IS_OP, + [JUMP_BACKWARD] = JUMP_BACKWARD, + [JUMP_BACKWARD_NO_INTERRUPT] = JUMP_BACKWARD_NO_INTERRUPT, + [JUMP_FORWARD] = JUMP_FORWARD, + [KW_NAMES] = KW_NAMES, + [LIST_APPEND] = LIST_APPEND, + [LIST_EXTEND] = LIST_EXTEND, + [LOAD_ASSERTION_ERROR] = LOAD_ASSERTION_ERROR, + [LOAD_ATTR] = LOAD_ATTR, + [LOAD_ATTR_CLASS] = LOAD_ATTR, + [LOAD_ATTR_GETATTRIBUTE_OVERRIDDEN] = LOAD_ATTR, + [LOAD_ATTR_INSTANCE_VALUE] = LOAD_ATTR, + [LOAD_ATTR_METHOD_LAZY_DICT] = LOAD_ATTR, + [LOAD_ATTR_METHOD_NO_DICT] = LOAD_ATTR, + [LOAD_ATTR_METHOD_WITH_VALUES] = LOAD_ATTR, + [LOAD_ATTR_MODULE] = LOAD_ATTR, + [LOAD_ATTR_PROPERTY] = LOAD_ATTR, + [LOAD_ATTR_SLOT] = LOAD_ATTR, + [LOAD_ATTR_WITH_HINT] = LOAD_ATTR, + [LOAD_BUILD_CLASS] = LOAD_BUILD_CLASS, + [LOAD_CLOSURE] = LOAD_CLOSURE, + [LOAD_CONST] = LOAD_CONST, + [LOAD_CONST__LOAD_FAST] = LOAD_CONST, + [LOAD_DEREF] = LOAD_DEREF, + [LOAD_FAST] = LOAD_FAST, + [LOAD_FAST_AND_CLEAR] = LOAD_FAST_AND_CLEAR, + [LOAD_FAST_CHECK] = LOAD_FAST_CHECK, + [LOAD_FAST__LOAD_CONST] = LOAD_FAST, + [LOAD_FAST__LOAD_FAST] = LOAD_FAST, + [LOAD_FROM_DICT_OR_DEREF] = LOAD_FROM_DICT_OR_DEREF, + [LOAD_FROM_DICT_OR_GLOBALS] = LOAD_FROM_DICT_OR_GLOBALS, + [LOAD_GLOBAL] = LOAD_GLOBAL, + [LOAD_GLOBAL_BUILTIN] = LOAD_GLOBAL, + [LOAD_GLOBAL_MODULE] = LOAD_GLOBAL, + [LOAD_LOCALS] = LOAD_LOCALS, + [LOAD_NAME] = LOAD_NAME, + [LOAD_SUPER_ATTR] = LOAD_SUPER_ATTR, + [LOAD_SUPER_ATTR_ATTR] = LOAD_SUPER_ATTR, + [LOAD_SUPER_ATTR_METHOD] = LOAD_SUPER_ATTR, + [MAKE_CELL] = MAKE_CELL, + [MAKE_FUNCTION] = MAKE_FUNCTION, + [MAP_ADD] = MAP_ADD, + [MATCH_CLASS] = MATCH_CLASS, + [MATCH_KEYS] = MATCH_KEYS, + [MATCH_MAPPING] = MATCH_MAPPING, + [MATCH_SEQUENCE] = MATCH_SEQUENCE, + [NOP] = NOP, + [POP_EXCEPT] = POP_EXCEPT, + [POP_JUMP_IF_FALSE] = POP_JUMP_IF_FALSE, + [POP_JUMP_IF_NONE] = POP_JUMP_IF_NONE, + [POP_JUMP_IF_NOT_NONE] = POP_JUMP_IF_NOT_NONE, + [POP_JUMP_IF_TRUE] = POP_JUMP_IF_TRUE, + [POP_TOP] = POP_TOP, + [PUSH_EXC_INFO] = PUSH_EXC_INFO, + [PUSH_NULL] = PUSH_NULL, + [RAISE_VARARGS] = RAISE_VARARGS, + [RERAISE] = RERAISE, + [RESERVED] = RESERVED, + [RESUME] = RESUME, + [RETURN_CONST] = RETURN_CONST, + [RETURN_GENERATOR] = RETURN_GENERATOR, + [RETURN_VALUE] = RETURN_VALUE, + [SEND] = SEND, + [SEND_GEN] = SEND, + [SETUP_ANNOTATIONS] = SETUP_ANNOTATIONS, + [SET_ADD] = SET_ADD, + [SET_UPDATE] = SET_UPDATE, + [STORE_ATTR] = STORE_ATTR, + [STORE_ATTR_INSTANCE_VALUE] = STORE_ATTR, + [STORE_ATTR_SLOT] = STORE_ATTR, + [STORE_ATTR_WITH_HINT] = STORE_ATTR, + [STORE_DEREF] = STORE_DEREF, + [STORE_FAST] = STORE_FAST, + [STORE_FAST__LOAD_FAST] = STORE_FAST, + [STORE_FAST__STORE_FAST] = STORE_FAST, + [STORE_GLOBAL] = STORE_GLOBAL, + [STORE_NAME] = STORE_NAME, + [STORE_SLICE] = STORE_SLICE, + [STORE_SUBSCR] = STORE_SUBSCR, + [STORE_SUBSCR_DICT] = STORE_SUBSCR, + [STORE_SUBSCR_LIST_INT] = STORE_SUBSCR, + [SWAP] = SWAP, + [UNARY_INVERT] = UNARY_INVERT, + [UNARY_NEGATIVE] = UNARY_NEGATIVE, + [UNARY_NOT] = UNARY_NOT, + [UNPACK_EX] = UNPACK_EX, + [UNPACK_SEQUENCE] = UNPACK_SEQUENCE, + [UNPACK_SEQUENCE_LIST] = UNPACK_SEQUENCE, + [UNPACK_SEQUENCE_TUPLE] = UNPACK_SEQUENCE, + [UNPACK_SEQUENCE_TWO_TUPLE] = UNPACK_SEQUENCE, + [WITH_EXCEPT_START] = WITH_EXCEPT_START, + [YIELD_VALUE] = YIELD_VALUE, +}; +#endif // NEED_OPCODE_TABLES + +#ifdef Py_DEBUG +static const char *const _PyOpcode_OpName[267] = { + [CACHE] = "CACHE", + [POP_TOP] = "POP_TOP", + [PUSH_NULL] = "PUSH_NULL", + [INTERPRETER_EXIT] = "INTERPRETER_EXIT", + [END_FOR] = "END_FOR", + [END_SEND] = "END_SEND", + [BINARY_OP_ADD_FLOAT] = "BINARY_OP_ADD_FLOAT", + [BINARY_OP_ADD_INT] = "BINARY_OP_ADD_INT", + [BINARY_OP_ADD_UNICODE] = "BINARY_OP_ADD_UNICODE", + [NOP] = "NOP", + [BINARY_OP_INPLACE_ADD_UNICODE] = "BINARY_OP_INPLACE_ADD_UNICODE", + [UNARY_NEGATIVE] = "UNARY_NEGATIVE", + [UNARY_NOT] = "UNARY_NOT", + [BINARY_OP_MULTIPLY_FLOAT] = "BINARY_OP_MULTIPLY_FLOAT", + [BINARY_OP_MULTIPLY_INT] = "BINARY_OP_MULTIPLY_INT", + [UNARY_INVERT] = "UNARY_INVERT", + [BINARY_OP_SUBTRACT_FLOAT] = "BINARY_OP_SUBTRACT_FLOAT", + [RESERVED] = "RESERVED", + [BINARY_OP_SUBTRACT_INT] = "BINARY_OP_SUBTRACT_INT", + [BINARY_SUBSCR_DICT] = "BINARY_SUBSCR_DICT", + [BINARY_SUBSCR_GETITEM] = "BINARY_SUBSCR_GETITEM", + [BINARY_SUBSCR_LIST_INT] = "BINARY_SUBSCR_LIST_INT", + [BINARY_SUBSCR_TUPLE_INT] = "BINARY_SUBSCR_TUPLE_INT", + [CALL_PY_EXACT_ARGS] = "CALL_PY_EXACT_ARGS", + [CALL_PY_WITH_DEFAULTS] = "CALL_PY_WITH_DEFAULTS", + [BINARY_SUBSCR] = "BINARY_SUBSCR", + [BINARY_SLICE] = "BINARY_SLICE", + [STORE_SLICE] = "STORE_SLICE", + [CALL_BOUND_METHOD_EXACT_ARGS] = "CALL_BOUND_METHOD_EXACT_ARGS", + [CALL_BUILTIN_CLASS] = "CALL_BUILTIN_CLASS", + [GET_LEN] = "GET_LEN", + [MATCH_MAPPING] = "MATCH_MAPPING", + [MATCH_SEQUENCE] = "MATCH_SEQUENCE", + [MATCH_KEYS] = "MATCH_KEYS", + [CALL_BUILTIN_FAST_WITH_KEYWORDS] = "CALL_BUILTIN_FAST_WITH_KEYWORDS", + [PUSH_EXC_INFO] = "PUSH_EXC_INFO", + [CHECK_EXC_MATCH] = "CHECK_EXC_MATCH", + [CHECK_EG_MATCH] = "CHECK_EG_MATCH", + [CALL_METHOD_DESCRIPTOR_FAST_WITH_KEYWORDS] = "CALL_METHOD_DESCRIPTOR_FAST_WITH_KEYWORDS", + [CALL_NO_KW_BUILTIN_FAST] = "CALL_NO_KW_BUILTIN_FAST", + [CALL_NO_KW_BUILTIN_O] = "CALL_NO_KW_BUILTIN_O", + [CALL_NO_KW_ISINSTANCE] = "CALL_NO_KW_ISINSTANCE", + [CALL_NO_KW_LEN] = "CALL_NO_KW_LEN", + [CALL_NO_KW_LIST_APPEND] = "CALL_NO_KW_LIST_APPEND", + [CALL_NO_KW_METHOD_DESCRIPTOR_FAST] = "CALL_NO_KW_METHOD_DESCRIPTOR_FAST", + [CALL_NO_KW_METHOD_DESCRIPTOR_NOARGS] = "CALL_NO_KW_METHOD_DESCRIPTOR_NOARGS", + [CALL_NO_KW_METHOD_DESCRIPTOR_O] = "CALL_NO_KW_METHOD_DESCRIPTOR_O", + [CALL_NO_KW_STR_1] = "CALL_NO_KW_STR_1", + [CALL_NO_KW_TUPLE_1] = "CALL_NO_KW_TUPLE_1", + [WITH_EXCEPT_START] = "WITH_EXCEPT_START", + [GET_AITER] = "GET_AITER", + [GET_ANEXT] = "GET_ANEXT", + [BEFORE_ASYNC_WITH] = "BEFORE_ASYNC_WITH", + [BEFORE_WITH] = "BEFORE_WITH", + [END_ASYNC_FOR] = "END_ASYNC_FOR", + [CLEANUP_THROW] = "CLEANUP_THROW", + [CALL_NO_KW_TYPE_1] = "CALL_NO_KW_TYPE_1", + [COMPARE_OP_FLOAT] = "COMPARE_OP_FLOAT", + [COMPARE_OP_INT] = "COMPARE_OP_INT", + [COMPARE_OP_STR] = "COMPARE_OP_STR", + [STORE_SUBSCR] = "STORE_SUBSCR", + [DELETE_SUBSCR] = "DELETE_SUBSCR", + [FOR_ITER_LIST] = "FOR_ITER_LIST", + [FOR_ITER_TUPLE] = "FOR_ITER_TUPLE", + [FOR_ITER_RANGE] = "FOR_ITER_RANGE", + [FOR_ITER_GEN] = "FOR_ITER_GEN", + [LOAD_SUPER_ATTR_ATTR] = "LOAD_SUPER_ATTR_ATTR", + [LOAD_SUPER_ATTR_METHOD] = "LOAD_SUPER_ATTR_METHOD", + [GET_ITER] = "GET_ITER", + [GET_YIELD_FROM_ITER] = "GET_YIELD_FROM_ITER", + [LOAD_ATTR_CLASS] = "LOAD_ATTR_CLASS", + [LOAD_BUILD_CLASS] = "LOAD_BUILD_CLASS", + [LOAD_ATTR_GETATTRIBUTE_OVERRIDDEN] = "LOAD_ATTR_GETATTRIBUTE_OVERRIDDEN", + [LOAD_ATTR_INSTANCE_VALUE] = "LOAD_ATTR_INSTANCE_VALUE", + [LOAD_ASSERTION_ERROR] = "LOAD_ASSERTION_ERROR", + [RETURN_GENERATOR] = "RETURN_GENERATOR", + [LOAD_ATTR_MODULE] = "LOAD_ATTR_MODULE", + [LOAD_ATTR_PROPERTY] = "LOAD_ATTR_PROPERTY", + [LOAD_ATTR_SLOT] = "LOAD_ATTR_SLOT", + [LOAD_ATTR_WITH_HINT] = "LOAD_ATTR_WITH_HINT", + [LOAD_ATTR_METHOD_LAZY_DICT] = "LOAD_ATTR_METHOD_LAZY_DICT", + [LOAD_ATTR_METHOD_NO_DICT] = "LOAD_ATTR_METHOD_NO_DICT", + [LOAD_ATTR_METHOD_WITH_VALUES] = "LOAD_ATTR_METHOD_WITH_VALUES", + [RETURN_VALUE] = "RETURN_VALUE", + [LOAD_CONST__LOAD_FAST] = "LOAD_CONST__LOAD_FAST", + [SETUP_ANNOTATIONS] = "SETUP_ANNOTATIONS", + [LOAD_FAST__LOAD_CONST] = "LOAD_FAST__LOAD_CONST", + [LOAD_LOCALS] = "LOAD_LOCALS", + [LOAD_FAST__LOAD_FAST] = "LOAD_FAST__LOAD_FAST", + [POP_EXCEPT] = "POP_EXCEPT", + [STORE_NAME] = "STORE_NAME", + [DELETE_NAME] = "DELETE_NAME", + [UNPACK_SEQUENCE] = "UNPACK_SEQUENCE", + [FOR_ITER] = "FOR_ITER", + [UNPACK_EX] = "UNPACK_EX", + [STORE_ATTR] = "STORE_ATTR", + [DELETE_ATTR] = "DELETE_ATTR", + [STORE_GLOBAL] = "STORE_GLOBAL", + [DELETE_GLOBAL] = "DELETE_GLOBAL", + [SWAP] = "SWAP", + [LOAD_CONST] = "LOAD_CONST", + [LOAD_NAME] = "LOAD_NAME", + [BUILD_TUPLE] = "BUILD_TUPLE", + [BUILD_LIST] = "BUILD_LIST", + [BUILD_SET] = "BUILD_SET", + [BUILD_MAP] = "BUILD_MAP", + [LOAD_ATTR] = "LOAD_ATTR", + [COMPARE_OP] = "COMPARE_OP", + [IMPORT_NAME] = "IMPORT_NAME", + [IMPORT_FROM] = "IMPORT_FROM", + [JUMP_FORWARD] = "JUMP_FORWARD", + [LOAD_GLOBAL_BUILTIN] = "LOAD_GLOBAL_BUILTIN", + [LOAD_GLOBAL_MODULE] = "LOAD_GLOBAL_MODULE", + [STORE_ATTR_INSTANCE_VALUE] = "STORE_ATTR_INSTANCE_VALUE", + [POP_JUMP_IF_FALSE] = "POP_JUMP_IF_FALSE", + [POP_JUMP_IF_TRUE] = "POP_JUMP_IF_TRUE", + [LOAD_GLOBAL] = "LOAD_GLOBAL", + [IS_OP] = "IS_OP", + [CONTAINS_OP] = "CONTAINS_OP", + [RERAISE] = "RERAISE", + [COPY] = "COPY", + [RETURN_CONST] = "RETURN_CONST", + [BINARY_OP] = "BINARY_OP", + [SEND] = "SEND", + [LOAD_FAST] = "LOAD_FAST", + [STORE_FAST] = "STORE_FAST", + [DELETE_FAST] = "DELETE_FAST", + [LOAD_FAST_CHECK] = "LOAD_FAST_CHECK", + [POP_JUMP_IF_NOT_NONE] = "POP_JUMP_IF_NOT_NONE", + [POP_JUMP_IF_NONE] = "POP_JUMP_IF_NONE", + [RAISE_VARARGS] = "RAISE_VARARGS", + [GET_AWAITABLE] = "GET_AWAITABLE", + [MAKE_FUNCTION] = "MAKE_FUNCTION", + [BUILD_SLICE] = "BUILD_SLICE", + [JUMP_BACKWARD_NO_INTERRUPT] = "JUMP_BACKWARD_NO_INTERRUPT", + [MAKE_CELL] = "MAKE_CELL", + [LOAD_CLOSURE] = "LOAD_CLOSURE", + [LOAD_DEREF] = "LOAD_DEREF", + [STORE_DEREF] = "STORE_DEREF", + [DELETE_DEREF] = "DELETE_DEREF", + [JUMP_BACKWARD] = "JUMP_BACKWARD", + [LOAD_SUPER_ATTR] = "LOAD_SUPER_ATTR", + [CALL_FUNCTION_EX] = "CALL_FUNCTION_EX", + [LOAD_FAST_AND_CLEAR] = "LOAD_FAST_AND_CLEAR", + [EXTENDED_ARG] = "EXTENDED_ARG", + [LIST_APPEND] = "LIST_APPEND", + [SET_ADD] = "SET_ADD", + [MAP_ADD] = "MAP_ADD", + [STORE_ATTR_SLOT] = "STORE_ATTR_SLOT", + [COPY_FREE_VARS] = "COPY_FREE_VARS", + [YIELD_VALUE] = "YIELD_VALUE", + [RESUME] = "RESUME", + [MATCH_CLASS] = "MATCH_CLASS", + [STORE_ATTR_WITH_HINT] = "STORE_ATTR_WITH_HINT", + [STORE_FAST__LOAD_FAST] = "STORE_FAST__LOAD_FAST", + [FORMAT_VALUE] = "FORMAT_VALUE", + [BUILD_CONST_KEY_MAP] = "BUILD_CONST_KEY_MAP", + [BUILD_STRING] = "BUILD_STRING", + [STORE_FAST__STORE_FAST] = "STORE_FAST__STORE_FAST", + [STORE_SUBSCR_DICT] = "STORE_SUBSCR_DICT", + [STORE_SUBSCR_LIST_INT] = "STORE_SUBSCR_LIST_INT", + [UNPACK_SEQUENCE_LIST] = "UNPACK_SEQUENCE_LIST", + [LIST_EXTEND] = "LIST_EXTEND", + [SET_UPDATE] = "SET_UPDATE", + [DICT_MERGE] = "DICT_MERGE", + [DICT_UPDATE] = "DICT_UPDATE", + [UNPACK_SEQUENCE_TUPLE] = "UNPACK_SEQUENCE_TUPLE", + [UNPACK_SEQUENCE_TWO_TUPLE] = "UNPACK_SEQUENCE_TWO_TUPLE", + [SEND_GEN] = "SEND_GEN", + [169] = "<169>", + [170] = "<170>", + [CALL] = "CALL", + [KW_NAMES] = "KW_NAMES", + [CALL_INTRINSIC_1] = "CALL_INTRINSIC_1", + [CALL_INTRINSIC_2] = "CALL_INTRINSIC_2", + [LOAD_FROM_DICT_OR_GLOBALS] = "LOAD_FROM_DICT_OR_GLOBALS", + [LOAD_FROM_DICT_OR_DEREF] = "LOAD_FROM_DICT_OR_DEREF", + [177] = "<177>", + [178] = "<178>", + [179] = "<179>", + [180] = "<180>", + [181] = "<181>", + [182] = "<182>", + [183] = "<183>", + [184] = "<184>", + [185] = "<185>", + [186] = "<186>", + [187] = "<187>", + [188] = "<188>", + [189] = "<189>", + [190] = "<190>", + [191] = "<191>", + [192] = "<192>", + [193] = "<193>", + [194] = "<194>", + [195] = "<195>", + [196] = "<196>", + [197] = "<197>", + [198] = "<198>", + [199] = "<199>", + [200] = "<200>", + [201] = "<201>", + [202] = "<202>", + [203] = "<203>", + [204] = "<204>", + [205] = "<205>", + [206] = "<206>", + [207] = "<207>", + [208] = "<208>", + [209] = "<209>", + [210] = "<210>", + [211] = "<211>", + [212] = "<212>", + [213] = "<213>", + [214] = "<214>", + [215] = "<215>", + [216] = "<216>", + [217] = "<217>", + [218] = "<218>", + [219] = "<219>", + [220] = "<220>", + [221] = "<221>", + [222] = "<222>", + [223] = "<223>", + [224] = "<224>", + [225] = "<225>", + [226] = "<226>", + [227] = "<227>", + [228] = "<228>", + [229] = "<229>", + [230] = "<230>", + [231] = "<231>", + [232] = "<232>", + [233] = "<233>", + [234] = "<234>", + [235] = "<235>", + [236] = "<236>", + [INSTRUMENTED_LOAD_SUPER_ATTR] = "INSTRUMENTED_LOAD_SUPER_ATTR", + [INSTRUMENTED_POP_JUMP_IF_NONE] = "INSTRUMENTED_POP_JUMP_IF_NONE", + [INSTRUMENTED_POP_JUMP_IF_NOT_NONE] = "INSTRUMENTED_POP_JUMP_IF_NOT_NONE", + [INSTRUMENTED_RESUME] = "INSTRUMENTED_RESUME", + [INSTRUMENTED_CALL] = "INSTRUMENTED_CALL", + [INSTRUMENTED_RETURN_VALUE] = "INSTRUMENTED_RETURN_VALUE", + [INSTRUMENTED_YIELD_VALUE] = "INSTRUMENTED_YIELD_VALUE", + [INSTRUMENTED_CALL_FUNCTION_EX] = "INSTRUMENTED_CALL_FUNCTION_EX", + [INSTRUMENTED_JUMP_FORWARD] = "INSTRUMENTED_JUMP_FORWARD", + [INSTRUMENTED_JUMP_BACKWARD] = "INSTRUMENTED_JUMP_BACKWARD", + [INSTRUMENTED_RETURN_CONST] = "INSTRUMENTED_RETURN_CONST", + [INSTRUMENTED_FOR_ITER] = "INSTRUMENTED_FOR_ITER", + [INSTRUMENTED_POP_JUMP_IF_FALSE] = "INSTRUMENTED_POP_JUMP_IF_FALSE", + [INSTRUMENTED_POP_JUMP_IF_TRUE] = "INSTRUMENTED_POP_JUMP_IF_TRUE", + [INSTRUMENTED_END_FOR] = "INSTRUMENTED_END_FOR", + [INSTRUMENTED_END_SEND] = "INSTRUMENTED_END_SEND", + [INSTRUMENTED_INSTRUCTION] = "INSTRUMENTED_INSTRUCTION", + [INSTRUMENTED_LINE] = "INSTRUMENTED_LINE", + [255] = "<255>", + [SETUP_FINALLY] = "SETUP_FINALLY", + [SETUP_CLEANUP] = "SETUP_CLEANUP", + [SETUP_WITH] = "SETUP_WITH", + [POP_BLOCK] = "POP_BLOCK", + [JUMP] = "JUMP", + [JUMP_NO_INTERRUPT] = "JUMP_NO_INTERRUPT", + [LOAD_METHOD] = "LOAD_METHOD", + [LOAD_SUPER_METHOD] = "LOAD_SUPER_METHOD", + [LOAD_ZERO_SUPER_METHOD] = "LOAD_ZERO_SUPER_METHOD", + [LOAD_ZERO_SUPER_ATTR] = "LOAD_ZERO_SUPER_ATTR", + [STORE_FAST_MAYBE_NULL] = "STORE_FAST_MAYBE_NULL", +}; +#endif + +#define EXTRA_CASES \ + case 169: \ + case 170: \ + case 177: \ + case 178: \ + case 179: \ + case 180: \ + case 181: \ + case 182: \ + case 183: \ + case 184: \ + case 185: \ + case 186: \ + case 187: \ + case 188: \ + case 189: \ + case 190: \ + case 191: \ + case 192: \ + case 193: \ + case 194: \ + case 195: \ + case 196: \ + case 197: \ + case 198: \ + case 199: \ + case 200: \ + case 201: \ + case 202: \ + case 203: \ + case 204: \ + case 205: \ + case 206: \ + case 207: \ + case 208: \ + case 209: \ + case 210: \ + case 211: \ + case 212: \ + case 213: \ + case 214: \ + case 215: \ + case 216: \ + case 217: \ + case 218: \ + case 219: \ + case 220: \ + case 221: \ + case 222: \ + case 223: \ + case 224: \ + case 225: \ + case 226: \ + case 227: \ + case 228: \ + case 229: \ + case 230: \ + case 231: \ + case 232: \ + case 233: \ + case 234: \ + case 235: \ + case 236: \ + case 255: \ + ; + +#ifdef __cplusplus +} +#endif +#endif // !Py_INTERNAL_OPCODE_H diff --git a/_Pre_Builds/_Python312_cpp/include/internal/pycore_opcode_utils.h b/_Pre_Builds/_Python312_cpp/include/internal/pycore_opcode_utils.h new file mode 100644 index 0000000..1d5ff98 --- /dev/null +++ b/_Pre_Builds/_Python312_cpp/include/internal/pycore_opcode_utils.h @@ -0,0 +1,92 @@ +#ifndef Py_INTERNAL_OPCODE_UTILS_H +#define Py_INTERNAL_OPCODE_UTILS_H +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef Py_BUILD_CORE +# error "this header requires Py_BUILD_CORE define" +#endif + +#include "pycore_opcode.h" // _PyOpcode_Jump + + +#define MAX_REAL_OPCODE 254 + +#define IS_WITHIN_OPCODE_RANGE(opcode) \ + (((opcode) >= 0 && (opcode) <= MAX_REAL_OPCODE) || \ + IS_PSEUDO_OPCODE(opcode)) + +#define IS_JUMP_OPCODE(opcode) \ + is_bit_set_in_table(_PyOpcode_Jump, opcode) + +#define IS_BLOCK_PUSH_OPCODE(opcode) \ + ((opcode) == SETUP_FINALLY || \ + (opcode) == SETUP_WITH || \ + (opcode) == SETUP_CLEANUP) + +#define HAS_TARGET(opcode) \ + (IS_JUMP_OPCODE(opcode) || IS_BLOCK_PUSH_OPCODE(opcode)) + +/* opcodes that must be last in the basicblock */ +#define IS_TERMINATOR_OPCODE(opcode) \ + (IS_JUMP_OPCODE(opcode) || IS_SCOPE_EXIT_OPCODE(opcode)) + +/* opcodes which are not emitted in codegen stage, only by the assembler */ +#define IS_ASSEMBLER_OPCODE(opcode) \ + ((opcode) == JUMP_FORWARD || \ + (opcode) == JUMP_BACKWARD || \ + (opcode) == JUMP_BACKWARD_NO_INTERRUPT) + +#define IS_BACKWARDS_JUMP_OPCODE(opcode) \ + ((opcode) == JUMP_BACKWARD || \ + (opcode) == JUMP_BACKWARD_NO_INTERRUPT) + +#define IS_UNCONDITIONAL_JUMP_OPCODE(opcode) \ + ((opcode) == JUMP || \ + (opcode) == JUMP_NO_INTERRUPT || \ + (opcode) == JUMP_FORWARD || \ + (opcode) == JUMP_BACKWARD || \ + (opcode) == JUMP_BACKWARD_NO_INTERRUPT) + +#define IS_SCOPE_EXIT_OPCODE(opcode) \ + ((opcode) == RETURN_VALUE || \ + (opcode) == RETURN_CONST || \ + (opcode) == RAISE_VARARGS || \ + (opcode) == RERAISE) + +#define IS_SUPERINSTRUCTION_OPCODE(opcode) \ + ((opcode) == LOAD_FAST__LOAD_FAST || \ + (opcode) == LOAD_FAST__LOAD_CONST || \ + (opcode) == LOAD_CONST__LOAD_FAST || \ + (opcode) == STORE_FAST__LOAD_FAST || \ + (opcode) == STORE_FAST__STORE_FAST) + + +#define LOG_BITS_PER_INT 5 +#define MASK_LOW_LOG_BITS 31 + +static inline int +is_bit_set_in_table(const uint32_t *table, int bitindex) { + /* Is the relevant bit set in the relevant word? */ + /* 512 bits fit into 9 32-bits words. + * Word is indexed by (bitindex>>ln(size of int in bits)). + * Bit within word is the low bits of bitindex. + */ + if (bitindex >= 0 && bitindex < 512) { + uint32_t word = table[bitindex >> LOG_BITS_PER_INT]; + return (word >> (bitindex & MASK_LOW_LOG_BITS)) & 1; + } + else { + return 0; + } +} + +#undef LOG_BITS_PER_INT +#undef MASK_LOW_LOG_BITS + + +#ifdef __cplusplus +} +#endif +#endif /* !Py_INTERNAL_OPCODE_UTILS_H */ diff --git a/_Pre_Builds/_Python312_cpp/include/internal/pycore_parser.h b/_Pre_Builds/_Python312_cpp/include/internal/pycore_parser.h new file mode 100644 index 0000000..dd51b92 --- /dev/null +++ b/_Pre_Builds/_Python312_cpp/include/internal/pycore_parser.h @@ -0,0 +1,66 @@ +#ifndef Py_INTERNAL_PARSER_H +#define Py_INTERNAL_PARSER_H +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef Py_BUILD_CORE +# error "this header requires Py_BUILD_CORE define" +#endif + + +#include "pycore_ast.h" // struct _expr +#include "pycore_global_strings.h" // _Py_DECLARE_STR() +#include "pycore_pyarena.h" // PyArena + + +#ifdef Py_DEBUG +#define _PYPEGEN_NSTATISTICS 2000 +#endif + +struct _parser_runtime_state { +#ifdef Py_DEBUG + long memo_statistics[_PYPEGEN_NSTATISTICS]; +#else + int _not_used; +#endif + struct _expr dummy_name; +}; + +_Py_DECLARE_STR(empty, "") +#define _parser_runtime_state_INIT \ + { \ + .dummy_name = { \ + .kind = Name_kind, \ + .v.Name.id = &_Py_STR(empty), \ + .v.Name.ctx = Load, \ + .lineno = 1, \ + .col_offset = 0, \ + .end_lineno = 1, \ + .end_col_offset = 0, \ + }, \ + } + +extern struct _mod* _PyParser_ASTFromString( + const char *str, + PyObject* filename, + int mode, + PyCompilerFlags *flags, + PyArena *arena); + +extern struct _mod* _PyParser_ASTFromFile( + FILE *fp, + PyObject *filename_ob, + const char *enc, + int mode, + const char *ps1, + const char *ps2, + PyCompilerFlags *flags, + int *errcode, + PyArena *arena); + + +#ifdef __cplusplus +} +#endif +#endif /* !Py_INTERNAL_PARSER_H */ diff --git a/_Pre_Builds/_Python312_cpp/include/internal/pycore_pathconfig.h b/_Pre_Builds/_Python312_cpp/include/internal/pycore_pathconfig.h new file mode 100644 index 0000000..b8deaa0 --- /dev/null +++ b/_Pre_Builds/_Python312_cpp/include/internal/pycore_pathconfig.h @@ -0,0 +1,24 @@ +#ifndef Py_INTERNAL_PATHCONFIG_H +#define Py_INTERNAL_PATHCONFIG_H +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef Py_BUILD_CORE +# error "this header requires Py_BUILD_CORE define" +#endif + +PyAPI_FUNC(void) _PyPathConfig_ClearGlobal(void); +extern PyStatus _PyPathConfig_ReadGlobal(PyConfig *config); +extern PyStatus _PyPathConfig_UpdateGlobal(const PyConfig *config); +extern const wchar_t * _PyPathConfig_GetGlobalModuleSearchPath(void); + +extern int _PyPathConfig_ComputeSysPath0( + const PyWideStringList *argv, + PyObject **path0); + + +#ifdef __cplusplus +} +#endif +#endif /* !Py_INTERNAL_PATHCONFIG_H */ diff --git a/_Pre_Builds/_Python312_cpp/include/internal/pycore_pyarena.h b/_Pre_Builds/_Python312_cpp/include/internal/pycore_pyarena.h new file mode 100644 index 0000000..d78972a --- /dev/null +++ b/_Pre_Builds/_Python312_cpp/include/internal/pycore_pyarena.h @@ -0,0 +1,64 @@ +/* An arena-like memory interface for the compiler. + */ + +#ifndef Py_INTERNAL_PYARENA_H +#define Py_INTERNAL_PYARENA_H +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef Py_BUILD_CORE +# error "this header requires Py_BUILD_CORE define" +#endif + +typedef struct _arena PyArena; + +/* _PyArena_New() and _PyArena_Free() create a new arena and free it, + respectively. Once an arena has been created, it can be used + to allocate memory via _PyArena_Malloc(). Pointers to PyObject can + also be registered with the arena via _PyArena_AddPyObject(), and the + arena will ensure that the PyObjects stay alive at least until + _PyArena_Free() is called. When an arena is freed, all the memory it + allocated is freed, the arena releases internal references to registered + PyObject*, and none of its pointers are valid. + XXX (tim) What does "none of its pointers are valid" mean? Does it + XXX mean that pointers previously obtained via _PyArena_Malloc() are + XXX no longer valid? (That's clearly true, but not sure that's what + XXX the text is trying to say.) + + _PyArena_New() returns an arena pointer. On error, it + returns a negative number and sets an exception. + XXX (tim): Not true. On error, _PyArena_New() actually returns NULL, + XXX and looks like it may or may not set an exception (e.g., if the + XXX internal PyList_New(0) returns NULL, _PyArena_New() passes that on + XXX and an exception is set; OTOH, if the internal + XXX block_new(DEFAULT_BLOCK_SIZE) returns NULL, that's passed on but + XXX an exception is not set in that case). +*/ +PyAPI_FUNC(PyArena*) _PyArena_New(void); +PyAPI_FUNC(void) _PyArena_Free(PyArena *); + +/* Mostly like malloc(), return the address of a block of memory spanning + * `size` bytes, or return NULL (without setting an exception) if enough + * new memory can't be obtained. Unlike malloc(0), _PyArena_Malloc() with + * size=0 does not guarantee to return a unique pointer (the pointer + * returned may equal one or more other pointers obtained from + * _PyArena_Malloc()). + * Note that pointers obtained via _PyArena_Malloc() must never be passed to + * the system free() or realloc(), or to any of Python's similar memory- + * management functions. _PyArena_Malloc()-obtained pointers remain valid + * until _PyArena_Free(ar) is called, at which point all pointers obtained + * from the arena `ar` become invalid simultaneously. + */ +PyAPI_FUNC(void*) _PyArena_Malloc(PyArena *, size_t size); + +/* This routine isn't a proper arena allocation routine. It takes + * a PyObject* and records it so that it can be DECREFed when the + * arena is freed. + */ +PyAPI_FUNC(int) _PyArena_AddPyObject(PyArena *, PyObject *); + +#ifdef __cplusplus +} +#endif +#endif /* !Py_INTERNAL_PYARENA_H */ diff --git a/_Pre_Builds/_Python312_cpp/include/internal/pycore_pyerrors.h b/_Pre_Builds/_Python312_cpp/include/internal/pycore_pyerrors.h new file mode 100644 index 0000000..4620a26 --- /dev/null +++ b/_Pre_Builds/_Python312_cpp/include/internal/pycore_pyerrors.h @@ -0,0 +1,117 @@ +#ifndef Py_INTERNAL_PYERRORS_H +#define Py_INTERNAL_PYERRORS_H +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef Py_BUILD_CORE +# error "this header requires Py_BUILD_CORE define" +#endif + + +/* runtime lifecycle */ + +extern PyStatus _PyErr_InitTypes(PyInterpreterState *); +extern void _PyErr_FiniTypes(PyInterpreterState *); + + +/* other API */ + +static inline PyObject* _PyErr_Occurred(PyThreadState *tstate) +{ + assert(tstate != NULL); + if (tstate->current_exception == NULL) { + return NULL; + } + return (PyObject *)Py_TYPE(tstate->current_exception); +} + +static inline void _PyErr_ClearExcState(_PyErr_StackItem *exc_state) +{ + Py_CLEAR(exc_state->exc_value); +} + +PyAPI_FUNC(PyObject*) _PyErr_StackItemToExcInfoTuple( + _PyErr_StackItem *err_info); + +PyAPI_FUNC(void) _PyErr_Fetch( + PyThreadState *tstate, + PyObject **type, + PyObject **value, + PyObject **traceback); + +extern PyObject * +_PyErr_GetRaisedException(PyThreadState *tstate); + +PyAPI_FUNC(int) _PyErr_ExceptionMatches( + PyThreadState *tstate, + PyObject *exc); + +void +_PyErr_SetRaisedException(PyThreadState *tstate, PyObject *exc); + +PyAPI_FUNC(void) _PyErr_Restore( + PyThreadState *tstate, + PyObject *type, + PyObject *value, + PyObject *traceback); + +PyAPI_FUNC(void) _PyErr_SetObject( + PyThreadState *tstate, + PyObject *type, + PyObject *value); + +PyAPI_FUNC(void) _PyErr_ChainStackItem( + _PyErr_StackItem *exc_info); + +PyAPI_FUNC(void) _PyErr_Clear(PyThreadState *tstate); + +PyAPI_FUNC(void) _PyErr_SetNone(PyThreadState *tstate, PyObject *exception); + +PyAPI_FUNC(PyObject *) _PyErr_NoMemory(PyThreadState *tstate); + +PyAPI_FUNC(void) _PyErr_SetString( + PyThreadState *tstate, + PyObject *exception, + const char *string); + +PyAPI_FUNC(PyObject *) _PyErr_Format( + PyThreadState *tstate, + PyObject *exception, + const char *format, + ...); + +PyAPI_FUNC(void) _PyErr_NormalizeException( + PyThreadState *tstate, + PyObject **exc, + PyObject **val, + PyObject **tb); + +PyAPI_FUNC(PyObject *) _PyErr_FormatFromCauseTstate( + PyThreadState *tstate, + PyObject *exception, + const char *format, + ...); + +PyAPI_FUNC(PyObject *) _PyExc_CreateExceptionGroup( + const char *msg, + PyObject *excs); + +PyAPI_FUNC(PyObject *) _PyExc_PrepReraiseStar( + PyObject *orig, + PyObject *excs); + +PyAPI_FUNC(int) _PyErr_CheckSignalsTstate(PyThreadState *tstate); + +PyAPI_FUNC(void) _Py_DumpExtensionModules(int fd, PyInterpreterState *interp); + +extern PyObject* _Py_Offer_Suggestions(PyObject* exception); +PyAPI_FUNC(Py_ssize_t) _Py_UTF8_Edit_Cost(PyObject *str_a, PyObject *str_b, + Py_ssize_t max_cost); + +void _PyErr_FormatNote(const char *format, ...); + +#ifdef __cplusplus +} +#endif +#endif /* !Py_INTERNAL_PYERRORS_H */ diff --git a/_Pre_Builds/_Python312_cpp/include/internal/pycore_pyhash.h b/_Pre_Builds/_Python312_cpp/include/internal/pycore_pyhash.h new file mode 100644 index 0000000..34dfa53 --- /dev/null +++ b/_Pre_Builds/_Python312_cpp/include/internal/pycore_pyhash.h @@ -0,0 +1,40 @@ +#ifndef Py_INTERNAL_HASH_H +#define Py_INTERNAL_HASH_H + +#ifndef Py_BUILD_CORE +# error "this header requires Py_BUILD_CORE define" +#endif + + +struct pyhash_runtime_state { + struct { +#ifndef MS_WINDOWS + int fd; + dev_t st_dev; + ino_t st_ino; +#else + // This is a placeholder so the struct isn't empty on Windows. + int _not_used; +#endif + } urandom_cache; +}; + +#ifndef MS_WINDOWS +# define _py_urandom_cache_INIT \ + { \ + .fd = -1, \ + } +#else +# define _py_urandom_cache_INIT {0} +#endif + +#define pyhash_state_INIT \ + { \ + .urandom_cache = _py_urandom_cache_INIT, \ + } + + +uint64_t _Py_KeyedHash(uint64_t, const char *, Py_ssize_t); + + +#endif // Py_INTERNAL_HASH_H diff --git a/_Pre_Builds/_Python312_cpp/include/internal/pycore_pylifecycle.h b/_Pre_Builds/_Python312_cpp/include/internal/pycore_pylifecycle.h new file mode 100644 index 0000000..7cd998a --- /dev/null +++ b/_Pre_Builds/_Python312_cpp/include/internal/pycore_pylifecycle.h @@ -0,0 +1,99 @@ +#ifndef Py_INTERNAL_LIFECYCLE_H +#define Py_INTERNAL_LIFECYCLE_H +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef Py_BUILD_CORE +# error "this header requires Py_BUILD_CORE define" +#endif + +#include "pycore_runtime.h" // _PyRuntimeState + +/* Forward declarations */ +struct _PyArgv; +struct pyruntimestate; + +extern int _Py_SetFileSystemEncoding( + const char *encoding, + const char *errors); +extern void _Py_ClearFileSystemEncoding(void); +extern PyStatus _PyUnicode_InitEncodings(PyThreadState *tstate); +#ifdef MS_WINDOWS +extern int _PyUnicode_EnableLegacyWindowsFSEncoding(void); +#endif + +PyAPI_FUNC(void) _Py_ClearStandardStreamEncoding(void); + +PyAPI_FUNC(int) _Py_IsLocaleCoercionTarget(const char *ctype_loc); + +/* Various one-time initializers */ + +extern void _Py_InitVersion(void); +extern PyStatus _PyFaulthandler_Init(int enable); +extern PyObject * _PyBuiltin_Init(PyInterpreterState *interp); +extern PyStatus _PySys_Create( + PyThreadState *tstate, + PyObject **sysmod_p); +extern PyStatus _PySys_ReadPreinitWarnOptions(PyWideStringList *options); +extern PyStatus _PySys_ReadPreinitXOptions(PyConfig *config); +extern int _PySys_UpdateConfig(PyThreadState *tstate); +extern void _PySys_FiniTypes(PyInterpreterState *interp); +extern int _PyBuiltins_AddExceptions(PyObject * bltinmod); +extern PyStatus _Py_HashRandomization_Init(const PyConfig *); + +extern PyStatus _PyTime_Init(void); +extern PyStatus _PyGC_Init(PyInterpreterState *interp); +extern PyStatus _PyAtExit_Init(PyInterpreterState *interp); +extern int _Py_Deepfreeze_Init(void); + +/* Various internal finalizers */ + +extern int _PySignal_Init(int install_signal_handlers); +extern void _PySignal_Fini(void); + +extern void _PyGC_Fini(PyInterpreterState *interp); +extern void _Py_HashRandomization_Fini(void); +extern void _PyFaulthandler_Fini(void); +extern void _PyHash_Fini(void); +extern void _PyTraceMalloc_Fini(void); +extern void _PyWarnings_Fini(PyInterpreterState *interp); +extern void _PyAST_Fini(PyInterpreterState *interp); +extern void _PyAtExit_Fini(PyInterpreterState *interp); +extern void _PyThread_FiniType(PyInterpreterState *interp); +extern void _Py_Deepfreeze_Fini(void); +extern void _PyArg_Fini(void); +extern void _Py_FinalizeAllocatedBlocks(_PyRuntimeState *); + +extern PyStatus _PyGILState_Init(PyInterpreterState *interp); +extern PyStatus _PyGILState_SetTstate(PyThreadState *tstate); +extern void _PyGILState_Fini(PyInterpreterState *interp); + +PyAPI_FUNC(void) _PyGC_DumpShutdownStats(PyInterpreterState *interp); + +PyAPI_FUNC(PyStatus) _Py_PreInitializeFromPyArgv( + const PyPreConfig *src_config, + const struct _PyArgv *args); +PyAPI_FUNC(PyStatus) _Py_PreInitializeFromConfig( + const PyConfig *config, + const struct _PyArgv *args); + +PyAPI_FUNC(wchar_t *) _Py_GetStdlibDir(void); + +PyAPI_FUNC(int) _Py_HandleSystemExit(int *exitcode_p); + +PyAPI_FUNC(PyObject*) _PyErr_WriteUnraisableDefaultHook(PyObject *unraisable); + +PyAPI_FUNC(void) _PyErr_Print(PyThreadState *tstate); +PyAPI_FUNC(void) _PyErr_Display(PyObject *file, PyObject *exception, + PyObject *value, PyObject *tb); +PyAPI_FUNC(void) _PyErr_DisplayException(PyObject *file, PyObject *exc); + +PyAPI_FUNC(void) _PyThreadState_DeleteCurrent(PyThreadState *tstate); + +extern void _PyAtExit_Call(PyInterpreterState *interp); + +#ifdef __cplusplus +} +#endif +#endif /* !Py_INTERNAL_LIFECYCLE_H */ diff --git a/_Pre_Builds/_Python312_cpp/include/internal/pycore_pymath.h b/_Pre_Builds/_Python312_cpp/include/internal/pycore_pymath.h new file mode 100644 index 0000000..7a4e1c1 --- /dev/null +++ b/_Pre_Builds/_Python312_cpp/include/internal/pycore_pymath.h @@ -0,0 +1,205 @@ +#ifndef Py_INTERNAL_PYMATH_H +#define Py_INTERNAL_PYMATH_H +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef Py_BUILD_CORE +# error "this header requires Py_BUILD_CORE define" +#endif + + +/* _Py_ADJUST_ERANGE1(x) + * _Py_ADJUST_ERANGE2(x, y) + * Set errno to 0 before calling a libm function, and invoke one of these + * macros after, passing the function result(s) (_Py_ADJUST_ERANGE2 is useful + * for functions returning complex results). This makes two kinds of + * adjustments to errno: (A) If it looks like the platform libm set + * errno=ERANGE due to underflow, clear errno. (B) If it looks like the + * platform libm overflowed but didn't set errno, force errno to ERANGE. In + * effect, we're trying to force a useful implementation of C89 errno + * behavior. + * Caution: + * This isn't reliable. C99 no longer requires libm to set errno under + * any exceptional condition, but does require +- HUGE_VAL return + * values on overflow. A 754 box *probably* maps HUGE_VAL to a + * double infinity, and we're cool if that's so, unless the input + * was an infinity and an infinity is the expected result. A C89 + * system sets errno to ERANGE, so we check for that too. We're + * out of luck if a C99 754 box doesn't map HUGE_VAL to +Inf, or + * if the returned result is a NaN, or if a C89 box returns HUGE_VAL + * in non-overflow cases. + */ +static inline void _Py_ADJUST_ERANGE1(double x) +{ + if (errno == 0) { + if (x == Py_HUGE_VAL || x == -Py_HUGE_VAL) { + errno = ERANGE; + } + } + else if (errno == ERANGE && x == 0.0) { + errno = 0; + } +} + +static inline void _Py_ADJUST_ERANGE2(double x, double y) +{ + if (x == Py_HUGE_VAL || x == -Py_HUGE_VAL || + y == Py_HUGE_VAL || y == -Py_HUGE_VAL) + { + if (errno == 0) { + errno = ERANGE; + } + } + else if (errno == ERANGE) { + errno = 0; + } +} + + +//--- HAVE_PY_SET_53BIT_PRECISION macro ------------------------------------ +// +// The functions _Py_dg_strtod() and _Py_dg_dtoa() in Python/dtoa.c (which are +// required to support the short float repr introduced in Python 3.1) require +// that the floating-point unit that's being used for arithmetic operations on +// C doubles is set to use 53-bit precision. It also requires that the FPU +// rounding mode is round-half-to-even, but that's less often an issue. +// +// If your FPU isn't already set to 53-bit precision/round-half-to-even, and +// you want to make use of _Py_dg_strtod() and _Py_dg_dtoa(), then you should: +// +// #define HAVE_PY_SET_53BIT_PRECISION 1 +// +// and also give appropriate definitions for the following three macros: +// +// * _Py_SET_53BIT_PRECISION_HEADER: any variable declarations needed to +// use the two macros below. +// * _Py_SET_53BIT_PRECISION_START: store original FPU settings, and +// set FPU to 53-bit precision/round-half-to-even +// * _Py_SET_53BIT_PRECISION_END: restore original FPU settings +// +// The macros are designed to be used within a single C function: see +// Python/pystrtod.c for an example of their use. + + +// Get and set x87 control word for gcc/x86 +#ifdef HAVE_GCC_ASM_FOR_X87 +#define HAVE_PY_SET_53BIT_PRECISION 1 + +// Functions defined in Python/pymath.c +extern unsigned short _Py_get_387controlword(void); +extern void _Py_set_387controlword(unsigned short); + +#define _Py_SET_53BIT_PRECISION_HEADER \ + unsigned short old_387controlword, new_387controlword +#define _Py_SET_53BIT_PRECISION_START \ + do { \ + old_387controlword = _Py_get_387controlword(); \ + new_387controlword = (old_387controlword & ~0x0f00) | 0x0200; \ + if (new_387controlword != old_387controlword) { \ + _Py_set_387controlword(new_387controlword); \ + } \ + } while (0) +#define _Py_SET_53BIT_PRECISION_END \ + do { \ + if (new_387controlword != old_387controlword) { \ + _Py_set_387controlword(old_387controlword); \ + } \ + } while (0) +#endif + +// Get and set x87 control word for VisualStudio/x86. +// x87 is not supported in 64-bit or ARM. +#if defined(_MSC_VER) && !defined(_WIN64) && !defined(_M_ARM) +#define HAVE_PY_SET_53BIT_PRECISION 1 + +#include // __control87_2() + +#define _Py_SET_53BIT_PRECISION_HEADER \ + unsigned int old_387controlword, new_387controlword, out_387controlword + // We use the __control87_2 function to set only the x87 control word. + // The SSE control word is unaffected. +#define _Py_SET_53BIT_PRECISION_START \ + do { \ + __control87_2(0, 0, &old_387controlword, NULL); \ + new_387controlword = \ + (old_387controlword & ~(_MCW_PC | _MCW_RC)) | (_PC_53 | _RC_NEAR); \ + if (new_387controlword != old_387controlword) { \ + __control87_2(new_387controlword, _MCW_PC | _MCW_RC, \ + &out_387controlword, NULL); \ + } \ + } while (0) +#define _Py_SET_53BIT_PRECISION_END \ + do { \ + if (new_387controlword != old_387controlword) { \ + __control87_2(old_387controlword, _MCW_PC | _MCW_RC, \ + &out_387controlword, NULL); \ + } \ + } while (0) +#endif + + +// MC68881 +#ifdef HAVE_GCC_ASM_FOR_MC68881 +#define HAVE_PY_SET_53BIT_PRECISION 1 +#define _Py_SET_53BIT_PRECISION_HEADER \ + unsigned int old_fpcr, new_fpcr +#define _Py_SET_53BIT_PRECISION_START \ + do { \ + __asm__ ("fmove.l %%fpcr,%0" : "=g" (old_fpcr)); \ + /* Set double precision / round to nearest. */ \ + new_fpcr = (old_fpcr & ~0xf0) | 0x80; \ + if (new_fpcr != old_fpcr) { \ + __asm__ volatile ("fmove.l %0,%%fpcr" : : "g" (new_fpcr));\ + } \ + } while (0) +#define _Py_SET_53BIT_PRECISION_END \ + do { \ + if (new_fpcr != old_fpcr) { \ + __asm__ volatile ("fmove.l %0,%%fpcr" : : "g" (old_fpcr)); \ + } \ + } while (0) +#endif + +// Default definitions are empty +#ifndef _Py_SET_53BIT_PRECISION_HEADER +# define _Py_SET_53BIT_PRECISION_HEADER +# define _Py_SET_53BIT_PRECISION_START +# define _Py_SET_53BIT_PRECISION_END +#endif + + +//--- _PY_SHORT_FLOAT_REPR macro ------------------------------------------- + +// If we can't guarantee 53-bit precision, don't use the code +// in Python/dtoa.c, but fall back to standard code. This +// means that repr of a float will be long (17 significant digits). +// +// Realistically, there are two things that could go wrong: +// +// (1) doubles aren't IEEE 754 doubles, or +// (2) we're on x86 with the rounding precision set to 64-bits +// (extended precision), and we don't know how to change +// the rounding precision. +#if !defined(DOUBLE_IS_LITTLE_ENDIAN_IEEE754) && \ + !defined(DOUBLE_IS_BIG_ENDIAN_IEEE754) && \ + !defined(DOUBLE_IS_ARM_MIXED_ENDIAN_IEEE754) +# define _PY_SHORT_FLOAT_REPR 0 +#endif + +// Double rounding is symptomatic of use of extended precision on x86. +// If we're seeing double rounding, and we don't have any mechanism available +// for changing the FPU rounding precision, then don't use Python/dtoa.c. +#if defined(X87_DOUBLE_ROUNDING) && !defined(HAVE_PY_SET_53BIT_PRECISION) +# define _PY_SHORT_FLOAT_REPR 0 +#endif + +#ifndef _PY_SHORT_FLOAT_REPR +# define _PY_SHORT_FLOAT_REPR 1 +#endif + + +#ifdef __cplusplus +} +#endif +#endif /* !Py_INTERNAL_PYMATH_H */ diff --git a/_Pre_Builds/_Python312_cpp/include/internal/pycore_pymem.h b/_Pre_Builds/_Python312_cpp/include/internal/pycore_pymem.h new file mode 100644 index 0000000..81a707a --- /dev/null +++ b/_Pre_Builds/_Python312_cpp/include/internal/pycore_pymem.h @@ -0,0 +1,98 @@ +#ifndef Py_INTERNAL_PYMEM_H +#define Py_INTERNAL_PYMEM_H +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef Py_BUILD_CORE +# error "this header requires Py_BUILD_CORE define" +#endif + +#include "pymem.h" // PyMemAllocatorName + + +typedef struct { + /* We tag each block with an API ID in order to tag API violations */ + char api_id; + PyMemAllocatorEx alloc; +} debug_alloc_api_t; + +struct _pymem_allocators { + PyThread_type_lock mutex; + struct { + PyMemAllocatorEx raw; + PyMemAllocatorEx mem; + PyMemAllocatorEx obj; + } standard; + struct { + debug_alloc_api_t raw; + debug_alloc_api_t mem; + debug_alloc_api_t obj; + } debug; + PyObjectArenaAllocator obj_arena; +}; + + +/* Set the memory allocator of the specified domain to the default. + Save the old allocator into *old_alloc if it's non-NULL. + Return on success, or return -1 if the domain is unknown. */ +PyAPI_FUNC(int) _PyMem_SetDefaultAllocator( + PyMemAllocatorDomain domain, + PyMemAllocatorEx *old_alloc); + +/* Special bytes broadcast into debug memory blocks at appropriate times. + Strings of these are unlikely to be valid addresses, floats, ints or + 7-bit ASCII. + + - PYMEM_CLEANBYTE: clean (newly allocated) memory + - PYMEM_DEADBYTE dead (newly freed) memory + - PYMEM_FORBIDDENBYTE: untouchable bytes at each end of a block + + Byte patterns 0xCB, 0xDB and 0xFB have been replaced with 0xCD, 0xDD and + 0xFD to use the same values than Windows CRT debug malloc() and free(). + If modified, _PyMem_IsPtrFreed() should be updated as well. */ +#define PYMEM_CLEANBYTE 0xCD +#define PYMEM_DEADBYTE 0xDD +#define PYMEM_FORBIDDENBYTE 0xFD + +/* Heuristic checking if a pointer value is newly allocated + (uninitialized), newly freed or NULL (is equal to zero). + + The pointer is not dereferenced, only the pointer value is checked. + + The heuristic relies on the debug hooks on Python memory allocators which + fills newly allocated memory with CLEANBYTE (0xCD) and newly freed memory + with DEADBYTE (0xDD). Detect also "untouchable bytes" marked + with FORBIDDENBYTE (0xFD). */ +static inline int _PyMem_IsPtrFreed(const void *ptr) +{ + uintptr_t value = (uintptr_t)ptr; +#if SIZEOF_VOID_P == 8 + return (value == 0 + || value == (uintptr_t)0xCDCDCDCDCDCDCDCD + || value == (uintptr_t)0xDDDDDDDDDDDDDDDD + || value == (uintptr_t)0xFDFDFDFDFDFDFDFD); +#elif SIZEOF_VOID_P == 4 + return (value == 0 + || value == (uintptr_t)0xCDCDCDCD + || value == (uintptr_t)0xDDDDDDDD + || value == (uintptr_t)0xFDFDFDFD); +#else +# error "unknown pointer size" +#endif +} + +PyAPI_FUNC(int) _PyMem_GetAllocatorName( + const char *name, + PyMemAllocatorName *allocator); + +/* Configure the Python memory allocators. + Pass PYMEM_ALLOCATOR_DEFAULT to use default allocators. + PYMEM_ALLOCATOR_NOT_SET does nothing. */ +PyAPI_FUNC(int) _PyMem_SetupAllocators(PyMemAllocatorName allocator); + + +#ifdef __cplusplus +} +#endif +#endif /* !Py_INTERNAL_PYMEM_H */ diff --git a/_Pre_Builds/_Python312_cpp/include/internal/pycore_pymem_init.h b/_Pre_Builds/_Python312_cpp/include/internal/pycore_pymem_init.h new file mode 100644 index 0000000..7823273 --- /dev/null +++ b/_Pre_Builds/_Python312_cpp/include/internal/pycore_pymem_init.h @@ -0,0 +1,85 @@ +#ifndef Py_INTERNAL_PYMEM_INIT_H +#define Py_INTERNAL_PYMEM_INIT_H +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef Py_BUILD_CORE +# error "this header requires Py_BUILD_CORE define" +#endif + +#include "pycore_pymem.h" + + +/********************************/ +/* the allocators' initializers */ + +extern void * _PyMem_RawMalloc(void *, size_t); +extern void * _PyMem_RawCalloc(void *, size_t, size_t); +extern void * _PyMem_RawRealloc(void *, void *, size_t); +extern void _PyMem_RawFree(void *, void *); +#define PYRAW_ALLOC {NULL, _PyMem_RawMalloc, _PyMem_RawCalloc, _PyMem_RawRealloc, _PyMem_RawFree} + +#ifdef WITH_PYMALLOC +extern void* _PyObject_Malloc(void *, size_t); +extern void* _PyObject_Calloc(void *, size_t, size_t); +extern void _PyObject_Free(void *, void *); +extern void* _PyObject_Realloc(void *, void *, size_t); +# define PYOBJ_ALLOC {NULL, _PyObject_Malloc, _PyObject_Calloc, _PyObject_Realloc, _PyObject_Free} +#else +# define PYOBJ_ALLOC PYRAW_ALLOC +#endif // WITH_PYMALLOC + +#define PYMEM_ALLOC PYOBJ_ALLOC + +extern void* _PyMem_DebugRawMalloc(void *, size_t); +extern void* _PyMem_DebugRawCalloc(void *, size_t, size_t); +extern void* _PyMem_DebugRawRealloc(void *, void *, size_t); +extern void _PyMem_DebugRawFree(void *, void *); + +extern void* _PyMem_DebugMalloc(void *, size_t); +extern void* _PyMem_DebugCalloc(void *, size_t, size_t); +extern void* _PyMem_DebugRealloc(void *, void *, size_t); +extern void _PyMem_DebugFree(void *, void *); + +#define PYDBGRAW_ALLOC(runtime) \ + {&(runtime).allocators.debug.raw, _PyMem_DebugRawMalloc, _PyMem_DebugRawCalloc, _PyMem_DebugRawRealloc, _PyMem_DebugRawFree} +#define PYDBGMEM_ALLOC(runtime) \ + {&(runtime).allocators.debug.mem, _PyMem_DebugMalloc, _PyMem_DebugCalloc, _PyMem_DebugRealloc, _PyMem_DebugFree} +#define PYDBGOBJ_ALLOC(runtime) \ + {&(runtime).allocators.debug.obj, _PyMem_DebugMalloc, _PyMem_DebugCalloc, _PyMem_DebugRealloc, _PyMem_DebugFree} + +extern void * _PyMem_ArenaAlloc(void *, size_t); +extern void _PyMem_ArenaFree(void *, void *, size_t); + +#ifdef Py_DEBUG +# define _pymem_allocators_standard_INIT(runtime) \ + { \ + PYDBGRAW_ALLOC(runtime), \ + PYDBGMEM_ALLOC(runtime), \ + PYDBGOBJ_ALLOC(runtime), \ + } +#else +# define _pymem_allocators_standard_INIT(runtime) \ + { \ + PYRAW_ALLOC, \ + PYMEM_ALLOC, \ + PYOBJ_ALLOC, \ + } +#endif + +#define _pymem_allocators_debug_INIT \ + { \ + {'r', PYRAW_ALLOC}, \ + {'m', PYMEM_ALLOC}, \ + {'o', PYOBJ_ALLOC}, \ + } + +# define _pymem_allocators_obj_arena_INIT \ + { NULL, _PyMem_ArenaAlloc, _PyMem_ArenaFree } + + +#ifdef __cplusplus +} +#endif +#endif // !Py_INTERNAL_PYMEM_INIT_H diff --git a/_Pre_Builds/_Python312_cpp/include/internal/pycore_pystate.h b/_Pre_Builds/_Python312_cpp/include/internal/pycore_pystate.h new file mode 100644 index 0000000..fba08ae --- /dev/null +++ b/_Pre_Builds/_Python312_cpp/include/internal/pycore_pystate.h @@ -0,0 +1,180 @@ +#ifndef Py_INTERNAL_PYSTATE_H +#define Py_INTERNAL_PYSTATE_H +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef Py_BUILD_CORE +# error "this header requires Py_BUILD_CORE define" +#endif + +#include "pycore_runtime.h" /* PyRuntimeState */ + + +/* Check if the current thread is the main thread. + Use _Py_IsMainInterpreter() to check if it's the main interpreter. */ +static inline int +_Py_IsMainThread(void) +{ + unsigned long thread = PyThread_get_thread_ident(); + return (thread == _PyRuntime.main_thread); +} + + +static inline PyInterpreterState * +_PyInterpreterState_Main(void) +{ + return _PyRuntime.interpreters.main; +} + +static inline int +_Py_IsMainInterpreter(PyInterpreterState *interp) +{ + return (interp == _PyInterpreterState_Main()); +} + +static inline int +_Py_IsMainInterpreterFinalizing(PyInterpreterState *interp) +{ + /* bpo-39877: Access _PyRuntime directly rather than using + tstate->interp->runtime to support calls from Python daemon threads. + After Py_Finalize() has been called, tstate can be a dangling pointer: + point to PyThreadState freed memory. */ + return (_PyRuntimeState_GetFinalizing(&_PyRuntime) != NULL && + interp == &_PyRuntime._main_interpreter); +} + +// Export for _xxsubinterpreters module. +PyAPI_FUNC(int) _PyInterpreterState_SetRunningMain(PyInterpreterState *); +PyAPI_FUNC(void) _PyInterpreterState_SetNotRunningMain(PyInterpreterState *); +PyAPI_FUNC(int) _PyInterpreterState_IsRunningMain(PyInterpreterState *); + + +static inline const PyConfig * +_Py_GetMainConfig(void) +{ + PyInterpreterState *interp = _PyInterpreterState_Main(); + if (interp == NULL) { + return NULL; + } + return _PyInterpreterState_GetConfig(interp); +} + + +/* Only handle signals on the main thread of the main interpreter. */ +static inline int +_Py_ThreadCanHandleSignals(PyInterpreterState *interp) +{ + return (_Py_IsMainThread() && _Py_IsMainInterpreter(interp)); +} + + +/* Variable and static inline functions for in-line access to current thread + and interpreter state */ + +#if defined(HAVE_THREAD_LOCAL) && !defined(Py_BUILD_CORE_MODULE) +extern _Py_thread_local PyThreadState *_Py_tss_tstate; +#endif +PyAPI_DATA(PyThreadState *) _PyThreadState_GetCurrent(void); + +#ifndef NDEBUG +extern int _PyThreadState_CheckConsistency(PyThreadState *tstate); +#endif + +extern int _PyThreadState_MustExit(PyThreadState *tstate); + +/* Get the current Python thread state. + + This function is unsafe: it does not check for error and it can return NULL. + + The caller must hold the GIL. + + See also PyThreadState_Get() and _PyThreadState_UncheckedGet(). */ +static inline PyThreadState* +_PyThreadState_GET(void) +{ +#if defined(HAVE_THREAD_LOCAL) && !defined(Py_BUILD_CORE_MODULE) + return _Py_tss_tstate; +#else + return _PyThreadState_GetCurrent(); +#endif +} + + +static inline void +_Py_EnsureFuncTstateNotNULL(const char *func, PyThreadState *tstate) +{ + if (tstate == NULL) { + _Py_FatalErrorFunc(func, + "the function must be called with the GIL held, " + "after Python initialization and before Python finalization, " + "but the GIL is released (the current Python thread state is NULL)"); + } +} + +// Call Py_FatalError() if tstate is NULL +#define _Py_EnsureTstateNotNULL(tstate) \ + _Py_EnsureFuncTstateNotNULL(__func__, (tstate)) + + +/* Get the current interpreter state. + + The function is unsafe: it does not check for error and it can return NULL. + + The caller must hold the GIL. + + See also _PyInterpreterState_Get() + and _PyGILState_GetInterpreterStateUnsafe(). */ +static inline PyInterpreterState* _PyInterpreterState_GET(void) { + PyThreadState *tstate = _PyThreadState_GET(); +#ifdef Py_DEBUG + _Py_EnsureTstateNotNULL(tstate); +#endif + return tstate->interp; +} + + +// PyThreadState functions + +PyAPI_FUNC(PyThreadState *) _PyThreadState_New(PyInterpreterState *interp); +PyAPI_FUNC(void) _PyThreadState_Bind(PyThreadState *tstate); +// We keep this around exclusively for stable ABI compatibility. +PyAPI_FUNC(void) _PyThreadState_Init( + PyThreadState *tstate); +PyAPI_FUNC(void) _PyThreadState_DeleteExcept(PyThreadState *tstate); + + +/* Other */ + +PyAPI_FUNC(PyThreadState *) _PyThreadState_Swap( + _PyRuntimeState *runtime, + PyThreadState *newts); + +PyAPI_FUNC(PyStatus) _PyInterpreterState_Enable(_PyRuntimeState *runtime); + +#ifdef HAVE_FORK +extern PyStatus _PyInterpreterState_DeleteExceptMain(_PyRuntimeState *runtime); +extern void _PySignal_AfterFork(void); +#endif + +PyAPI_FUNC(int) _PyCrossInterpreterData_ReleaseAndRawFree(_PyCrossInterpreterData *); + + +PyAPI_FUNC(int) _PyState_AddModule( + PyThreadState *tstate, + PyObject* module, + PyModuleDef* def); + + +PyAPI_FUNC(int) _PyOS_InterruptOccurred(PyThreadState *tstate); + +#define HEAD_LOCK(runtime) \ + PyThread_acquire_lock((runtime)->interpreters.mutex, WAIT_LOCK) +#define HEAD_UNLOCK(runtime) \ + PyThread_release_lock((runtime)->interpreters.mutex) + + +#ifdef __cplusplus +} +#endif +#endif /* !Py_INTERNAL_PYSTATE_H */ diff --git a/_Pre_Builds/_Python312_cpp/include/internal/pycore_pythread.h b/_Pre_Builds/_Python312_cpp/include/internal/pycore_pythread.h new file mode 100644 index 0000000..f539214 --- /dev/null +++ b/_Pre_Builds/_Python312_cpp/include/internal/pycore_pythread.h @@ -0,0 +1,81 @@ +#ifndef Py_INTERNAL_PYTHREAD_H +#define Py_INTERNAL_PYTHREAD_H +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef Py_BUILD_CORE +# error "this header requires Py_BUILD_CORE define" +#endif + + +#ifndef _POSIX_THREADS +/* This means pthreads are not implemented in libc headers, hence the macro + not present in unistd.h. But they still can be implemented as an external + library (e.g. gnu pth in pthread emulation) */ +# ifdef HAVE_PTHREAD_H +# include /* _POSIX_THREADS */ +# endif +# ifndef _POSIX_THREADS +/* Check if we're running on HP-UX and _SC_THREADS is defined. If so, then + enough of the Posix threads package is implemented to support python + threads. + + This is valid for HP-UX 11.23 running on an ia64 system. If needed, add + a check of __ia64 to verify that we're running on an ia64 system instead + of a pa-risc system. +*/ +# ifdef __hpux +# ifdef _SC_THREADS +# define _POSIX_THREADS +# endif +# endif +# endif /* _POSIX_THREADS */ +#endif /* _POSIX_THREADS */ + +#if defined(_POSIX_THREADS) || defined(HAVE_PTHREAD_STUBS) +# define _USE_PTHREADS +#endif + +#if defined(_USE_PTHREADS) && defined(HAVE_PTHREAD_CONDATTR_SETCLOCK) && defined(HAVE_CLOCK_GETTIME) && defined(CLOCK_MONOTONIC) +// monotonic is supported statically. It doesn't mean it works on runtime. +# define CONDATTR_MONOTONIC +#endif + + +#if defined(HAVE_PTHREAD_STUBS) +// pthread_key +struct py_stub_tls_entry { + bool in_use; + void *value; +}; +#endif + +struct _pythread_runtime_state { + int initialized; + +#ifdef _USE_PTHREADS + // This matches when thread_pthread.h is used. + struct { + /* NULL when pthread_condattr_setclock(CLOCK_MONOTONIC) is not supported. */ + pthread_condattr_t *ptr; +# ifdef CONDATTR_MONOTONIC + /* The value to which condattr_monotonic is set. */ + pthread_condattr_t val; +# endif + } _condattr_monotonic; + +#endif // USE_PTHREADS + +#if defined(HAVE_PTHREAD_STUBS) + struct { + struct py_stub_tls_entry tls_entries[PTHREAD_KEYS_MAX]; + } stubs; +#endif +}; + + +#ifdef __cplusplus +} +#endif +#endif /* !Py_INTERNAL_PYTHREAD_H */ diff --git a/_Pre_Builds/_Python312_cpp/include/internal/pycore_range.h b/_Pre_Builds/_Python312_cpp/include/internal/pycore_range.h new file mode 100644 index 0000000..bf045ec --- /dev/null +++ b/_Pre_Builds/_Python312_cpp/include/internal/pycore_range.h @@ -0,0 +1,21 @@ +#ifndef Py_INTERNAL_RANGE_H +#define Py_INTERNAL_RANGE_H +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef Py_BUILD_CORE +# error "this header requires Py_BUILD_CORE define" +#endif + +typedef struct { + PyObject_HEAD + long start; + long step; + long len; +} _PyRangeIterObject; + +#ifdef __cplusplus +} +#endif +#endif /* !Py_INTERNAL_RANGE_H */ diff --git a/_Pre_Builds/_Python312_cpp/include/internal/pycore_runtime.h b/_Pre_Builds/_Python312_cpp/include/internal/pycore_runtime.h new file mode 100644 index 0000000..99c4b07 --- /dev/null +++ b/_Pre_Builds/_Python312_cpp/include/internal/pycore_runtime.h @@ -0,0 +1,235 @@ +#ifndef Py_INTERNAL_RUNTIME_H +#define Py_INTERNAL_RUNTIME_H +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef Py_BUILD_CORE +# error "this header requires Py_BUILD_CORE define" +#endif + +#include "pycore_atexit.h" // struct atexit_runtime_state +#include "pycore_atomic.h" /* _Py_atomic_address */ +#include "pycore_ceval_state.h" // struct _ceval_runtime_state +#include "pycore_floatobject.h" // struct _Py_float_runtime_state +#include "pycore_faulthandler.h" // struct _faulthandler_runtime_state +#include "pycore_global_objects.h" // struct _Py_global_objects +#include "pycore_import.h" // struct _import_runtime_state +#include "pycore_interp.h" // PyInterpreterState +#include "pycore_object_state.h" // struct _py_object_runtime_state +#include "pycore_parser.h" // struct _parser_runtime_state +#include "pycore_pymem.h" // struct _pymem_allocators +#include "pycore_pyhash.h" // struct pyhash_runtime_state +#include "pycore_pythread.h" // struct _pythread_runtime_state +#include "pycore_signal.h" // struct _signals_runtime_state +#include "pycore_time.h" // struct _time_runtime_state +#include "pycore_tracemalloc.h" // struct _tracemalloc_runtime_state +#include "pycore_typeobject.h" // struct types_runtime_state +#include "pycore_unicodeobject.h" // struct _Py_unicode_runtime_ids + +struct _getargs_runtime_state { + PyThread_type_lock mutex; + struct _PyArg_Parser *static_parsers; +}; + +/* GIL state */ + +struct _gilstate_runtime_state { + /* bpo-26558: Flag to disable PyGILState_Check(). + If set to non-zero, PyGILState_Check() always return 1. */ + int check_enabled; + /* The single PyInterpreterState used by this process' + GILState implementation + */ + /* TODO: Given interp_main, it may be possible to kill this ref */ + PyInterpreterState *autoInterpreterState; +}; + +/* Runtime audit hook state */ + +typedef struct _Py_AuditHookEntry { + struct _Py_AuditHookEntry *next; + Py_AuditHookFunction hookCFunction; + void *userData; +} _Py_AuditHookEntry; + +/* Full Python runtime state */ + +/* _PyRuntimeState holds the global state for the CPython runtime. + That data is exposed in the internal API as a static variable (_PyRuntime). + */ +typedef struct pyruntimestate { + /* Has been initialized to a safe state. + + In order to be effective, this must be set to 0 during or right + after allocation. */ + int _initialized; + + /* Is running Py_PreInitialize()? */ + int preinitializing; + + /* Is Python preinitialized? Set to 1 by Py_PreInitialize() */ + int preinitialized; + + /* Is Python core initialized? Set to 1 by _Py_InitializeCore() */ + int core_initialized; + + /* Is Python fully initialized? Set to 1 by Py_Initialize() */ + int initialized; + + /* Set by Py_FinalizeEx(). Only reset to NULL if Py_Initialize() + is called again. + + Use _PyRuntimeState_GetFinalizing() and _PyRuntimeState_SetFinalizing() + to access it, don't access it directly. */ + _Py_atomic_address _finalizing; + + struct pyinterpreters { + PyThread_type_lock mutex; + /* The linked list of interpreters, newest first. */ + PyInterpreterState *head; + /* The runtime's initial interpreter, which has a special role + in the operation of the runtime. It is also often the only + interpreter. */ + PyInterpreterState *main; + /* next_id is an auto-numbered sequence of small + integers. It gets initialized in _PyInterpreterState_Enable(), + which is called in Py_Initialize(), and used in + PyInterpreterState_New(). A negative interpreter ID + indicates an error occurred. The main interpreter will + always have an ID of 0. Overflow results in a RuntimeError. + If that becomes a problem later then we can adjust, e.g. by + using a Python int. */ + int64_t next_id; + } interpreters; + + unsigned long main_thread; + + /* ---------- IMPORTANT --------------------------- + The fields above this line are declared as early as + possible to facilitate out-of-process observability + tools. */ + + // XXX Remove this field once we have a tp_* slot. + struct _xidregistry xidregistry; + + struct _pymem_allocators allocators; + struct _obmalloc_global_state obmalloc; + struct pyhash_runtime_state pyhash_state; + struct _time_runtime_state time; + struct _pythread_runtime_state threads; + struct _signals_runtime_state signals; + + /* Used for the thread state bound to the current thread. */ + Py_tss_t autoTSSkey; + + /* Used instead of PyThreadState.trash when there is not current tstate. */ + Py_tss_t trashTSSkey; + + PyWideStringList orig_argv; + + struct _parser_runtime_state parser; + + struct _atexit_runtime_state atexit; + + struct _import_runtime_state imports; + struct _ceval_runtime_state ceval; + struct _gilstate_runtime_state gilstate; + struct _getargs_runtime_state getargs; + struct _fileutils_state fileutils; + struct _faulthandler_runtime_state faulthandler; + struct _tracemalloc_runtime_state tracemalloc; + + PyPreConfig preconfig; + + // Audit values must be preserved when Py_Initialize()/Py_Finalize() + // is called multiple times. + Py_OpenCodeHookFunction open_code_hook; + void *open_code_userdata; + struct { + PyThread_type_lock mutex; + _Py_AuditHookEntry *head; + } audit_hooks; + + struct _py_object_runtime_state object_state; + struct _Py_float_runtime_state float_state; + struct _Py_unicode_runtime_state unicode_state; + struct _types_runtime_state types; + + /* All the objects that are shared by the runtime's interpreters. */ + struct _Py_static_objects static_objects; + struct _Py_cached_objects cached_objects; + + /* The ID of the OS thread in which we are finalizing. + We use _Py_atomic_address instead of adding a new _Py_atomic_ulong. */ + _Py_atomic_address _finalizing_id; + /* The value to use for sys.path[0] in new subinterpreters. + Normally this would be part of the PyConfig struct. However, + we cannot add it there in 3.12 since that's an ABI change. */ + wchar_t *sys_path_0; + + /* The following fields are here to avoid allocation during init. + The data is exposed through _PyRuntimeState pointer fields. + These fields should not be accessed directly outside of init. + + All other _PyRuntimeState pointer fields are populated when + needed and default to NULL. + + For now there are some exceptions to that rule, which require + allocation during init. These will be addressed on a case-by-case + basis. Most notably, we don't pre-allocated the several mutex + (PyThread_type_lock) fields, because on Windows we only ever get + a pointer type. + */ + + /* PyInterpreterState.interpreters.main */ + PyInterpreterState _main_interpreter; +} _PyRuntimeState; + + +/* other API */ + +PyAPI_DATA(_PyRuntimeState) _PyRuntime; + +PyAPI_FUNC(PyStatus) _PyRuntimeState_Init(_PyRuntimeState *runtime); +PyAPI_FUNC(void) _PyRuntimeState_Fini(_PyRuntimeState *runtime); + +#ifdef HAVE_FORK +extern PyStatus _PyRuntimeState_ReInitThreads(_PyRuntimeState *runtime); +#endif + +/* Initialize _PyRuntimeState. + Return NULL on success, or return an error message on failure. */ +PyAPI_FUNC(PyStatus) _PyRuntime_Initialize(void); + +PyAPI_FUNC(void) _PyRuntime_Finalize(void); + + +static inline PyThreadState* +_PyRuntimeState_GetFinalizing(_PyRuntimeState *runtime) { + return (PyThreadState*)_Py_atomic_load_relaxed(&runtime->_finalizing); +} + +static inline unsigned long +_PyRuntimeState_GetFinalizingID(_PyRuntimeState *runtime) { + return (unsigned long)_Py_atomic_load_relaxed(&runtime->_finalizing_id); +} + +static inline void +_PyRuntimeState_SetFinalizing(_PyRuntimeState *runtime, PyThreadState *tstate) { + _Py_atomic_store_relaxed(&runtime->_finalizing, (uintptr_t)tstate); + if (tstate == NULL) { + _Py_atomic_store_relaxed(&runtime->_finalizing_id, 0); + } + else { + // XXX Re-enable this assert once gh-109860 is fixed. + //assert(tstate->thread_id == PyThread_get_thread_ident()); + _Py_atomic_store_relaxed(&runtime->_finalizing_id, + (uintptr_t)tstate->thread_id); + } +} + +#ifdef __cplusplus +} +#endif +#endif /* !Py_INTERNAL_RUNTIME_H */ diff --git a/_Pre_Builds/_Python312_cpp/include/internal/pycore_runtime_init.h b/_Pre_Builds/_Python312_cpp/include/internal/pycore_runtime_init.h new file mode 100644 index 0000000..e5f9e17 --- /dev/null +++ b/_Pre_Builds/_Python312_cpp/include/internal/pycore_runtime_init.h @@ -0,0 +1,195 @@ +#ifndef Py_INTERNAL_RUNTIME_INIT_H +#define Py_INTERNAL_RUNTIME_INIT_H +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef Py_BUILD_CORE +# error "this header requires Py_BUILD_CORE define" +#endif + +#include "pycore_long.h" +#include "pycore_object.h" +#include "pycore_parser.h" +#include "pycore_pymem_init.h" +#include "pycore_obmalloc_init.h" + + +extern PyTypeObject _PyExc_MemoryError; + + +/* The static initializers defined here should only be used + in the runtime init code (in pystate.c and pylifecycle.c). */ + + +#define _PyRuntimeState_INIT(runtime) \ + { \ + .allocators = { \ + .standard = _pymem_allocators_standard_INIT(runtime), \ + .debug = _pymem_allocators_debug_INIT, \ + .obj_arena = _pymem_allocators_obj_arena_INIT, \ + }, \ + .obmalloc = _obmalloc_global_state_INIT, \ + .pyhash_state = pyhash_state_INIT, \ + .signals = _signals_RUNTIME_INIT, \ + .interpreters = { \ + /* This prevents interpreters from getting created \ + until _PyInterpreterState_Enable() is called. */ \ + .next_id = -1, \ + }, \ + /* A TSS key must be initialized with Py_tss_NEEDS_INIT \ + in accordance with the specification. */ \ + .autoTSSkey = Py_tss_NEEDS_INIT, \ + .parser = _parser_runtime_state_INIT, \ + .ceval = { \ + .perf = _PyEval_RUNTIME_PERF_INIT, \ + }, \ + .gilstate = { \ + .check_enabled = 1, \ + }, \ + .fileutils = { \ + .force_ascii = -1, \ + }, \ + .faulthandler = _faulthandler_runtime_state_INIT, \ + .tracemalloc = _tracemalloc_runtime_state_INIT, \ + .float_state = { \ + .float_format = _py_float_format_unknown, \ + .double_format = _py_float_format_unknown, \ + }, \ + .types = { \ + .next_version_tag = 1, \ + }, \ + .static_objects = { \ + .singletons = { \ + .small_ints = _Py_small_ints_INIT, \ + .bytes_empty = _PyBytes_SIMPLE_INIT(0, 0), \ + .bytes_characters = _Py_bytes_characters_INIT, \ + .strings = { \ + .literals = _Py_str_literals_INIT, \ + .identifiers = _Py_str_identifiers_INIT, \ + .ascii = _Py_str_ascii_INIT, \ + .latin1 = _Py_str_latin1_INIT, \ + }, \ + .tuple_empty = { \ + .ob_base = _PyVarObject_HEAD_INIT(&PyTuple_Type, 0) \ + }, \ + .hamt_bitmap_node_empty = { \ + .ob_base = _PyVarObject_HEAD_INIT(&_PyHamt_BitmapNode_Type, 0) \ + }, \ + .context_token_missing = { \ + .ob_base = _PyObject_HEAD_INIT(&_PyContextTokenMissing_Type) \ + }, \ + }, \ + }, \ + ._main_interpreter = _PyInterpreterState_INIT(runtime._main_interpreter), \ + } + +#define _PyInterpreterState_INIT(INTERP) \ + { \ + .id_refcount = -1, \ + .imports = IMPORTS_INIT, \ + .obmalloc = _obmalloc_state_INIT(INTERP.obmalloc), \ + .ceval = { \ + .recursion_limit = Py_DEFAULT_RECURSION_LIMIT, \ + }, \ + .gc = { \ + .enabled = 1, \ + .generations = { \ + /* .head is set in _PyGC_InitState(). */ \ + { .threshold = 700, }, \ + { .threshold = 10, }, \ + { .threshold = 10, }, \ + }, \ + }, \ + .object_state = _py_object_state_INIT(INTERP), \ + .dtoa = _dtoa_state_INIT(&(INTERP)), \ + .dict_state = _dict_state_INIT, \ + .func_state = { \ + .next_version = 1, \ + }, \ + .types = { \ + .next_version_tag = _Py_TYPE_BASE_VERSION_TAG, \ + }, \ + .static_objects = { \ + .singletons = { \ + ._not_used = 1, \ + .hamt_empty = { \ + .ob_base = _PyObject_HEAD_INIT(&_PyHamt_Type) \ + .h_root = (PyHamtNode*)&_Py_SINGLETON(hamt_bitmap_node_empty), \ + }, \ + .last_resort_memory_error = { \ + _PyObject_HEAD_INIT(&_PyExc_MemoryError) \ + .args = (PyObject*)&_Py_SINGLETON(tuple_empty) \ + }, \ + }, \ + }, \ + ._initial_thread = _PyThreadState_INIT, \ + } + +#define _PyThreadState_INIT \ + { \ + .py_recursion_limit = Py_DEFAULT_RECURSION_LIMIT, \ + .context_ver = 1, \ + } + +#ifdef Py_TRACE_REFS +# define _py_object_state_INIT(INTERP) \ + { \ + .refchain = {&INTERP.object_state.refchain, &INTERP.object_state.refchain}, \ + } +#else +# define _py_object_state_INIT(INTERP) \ + { 0 } +#endif + + +// global objects + +#define _PyBytes_SIMPLE_INIT(CH, LEN) \ + { \ + _PyVarObject_HEAD_INIT(&PyBytes_Type, (LEN)) \ + .ob_shash = -1, \ + .ob_sval = { (CH) }, \ + } +#define _PyBytes_CHAR_INIT(CH) \ + { \ + _PyBytes_SIMPLE_INIT((CH), 1) \ + } + +#define _PyUnicode_ASCII_BASE_INIT(LITERAL, ASCII) \ + { \ + .ob_base = _PyObject_HEAD_INIT(&PyUnicode_Type) \ + .length = sizeof(LITERAL) - 1, \ + .hash = -1, \ + .state = { \ + .kind = 1, \ + .compact = 1, \ + .ascii = (ASCII), \ + .statically_allocated = 1, \ + }, \ + } +#define _PyASCIIObject_INIT(LITERAL) \ + { \ + ._ascii = _PyUnicode_ASCII_BASE_INIT((LITERAL), 1), \ + ._data = (LITERAL) \ + } +#define INIT_STR(NAME, LITERAL) \ + ._py_ ## NAME = _PyASCIIObject_INIT(LITERAL) +#define INIT_ID(NAME) \ + ._py_ ## NAME = _PyASCIIObject_INIT(#NAME) +#define _PyUnicode_LATIN1_INIT(LITERAL, UTF8) \ + { \ + ._latin1 = { \ + ._base = _PyUnicode_ASCII_BASE_INIT((LITERAL), 0), \ + .utf8 = (UTF8), \ + .utf8_length = sizeof(UTF8) - 1, \ + }, \ + ._data = (LITERAL), \ + } + +#include "pycore_runtime_init_generated.h" + +#ifdef __cplusplus +} +#endif +#endif /* !Py_INTERNAL_RUNTIME_INIT_H */ diff --git a/_Pre_Builds/_Python312_cpp/include/internal/pycore_runtime_init_generated.h b/_Pre_Builds/_Python312_cpp/include/internal/pycore_runtime_init_generated.h new file mode 100644 index 0000000..07f237b --- /dev/null +++ b/_Pre_Builds/_Python312_cpp/include/internal/pycore_runtime_init_generated.h @@ -0,0 +1,1525 @@ +#ifndef Py_INTERNAL_RUNTIME_INIT_GENERATED_H +#define Py_INTERNAL_RUNTIME_INIT_GENERATED_H +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef Py_BUILD_CORE +# error "this header requires Py_BUILD_CORE define" +#endif + +/* The following is auto-generated by Tools/build/generate_global_objects.py. */ +#define _Py_small_ints_INIT { \ + _PyLong_DIGIT_INIT(-5), \ + _PyLong_DIGIT_INIT(-4), \ + _PyLong_DIGIT_INIT(-3), \ + _PyLong_DIGIT_INIT(-2), \ + _PyLong_DIGIT_INIT(-1), \ + _PyLong_DIGIT_INIT(0), \ + _PyLong_DIGIT_INIT(1), \ + _PyLong_DIGIT_INIT(2), \ + _PyLong_DIGIT_INIT(3), \ + _PyLong_DIGIT_INIT(4), \ + _PyLong_DIGIT_INIT(5), \ + _PyLong_DIGIT_INIT(6), \ + _PyLong_DIGIT_INIT(7), \ + _PyLong_DIGIT_INIT(8), \ + _PyLong_DIGIT_INIT(9), \ + _PyLong_DIGIT_INIT(10), \ + _PyLong_DIGIT_INIT(11), \ + _PyLong_DIGIT_INIT(12), \ + _PyLong_DIGIT_INIT(13), \ + _PyLong_DIGIT_INIT(14), \ + _PyLong_DIGIT_INIT(15), \ + _PyLong_DIGIT_INIT(16), \ + _PyLong_DIGIT_INIT(17), \ + _PyLong_DIGIT_INIT(18), \ + _PyLong_DIGIT_INIT(19), \ + _PyLong_DIGIT_INIT(20), \ + _PyLong_DIGIT_INIT(21), \ + _PyLong_DIGIT_INIT(22), \ + _PyLong_DIGIT_INIT(23), \ + _PyLong_DIGIT_INIT(24), \ + _PyLong_DIGIT_INIT(25), \ + _PyLong_DIGIT_INIT(26), \ + _PyLong_DIGIT_INIT(27), \ + _PyLong_DIGIT_INIT(28), \ + _PyLong_DIGIT_INIT(29), \ + _PyLong_DIGIT_INIT(30), \ + _PyLong_DIGIT_INIT(31), \ + _PyLong_DIGIT_INIT(32), \ + _PyLong_DIGIT_INIT(33), \ + _PyLong_DIGIT_INIT(34), \ + _PyLong_DIGIT_INIT(35), \ + _PyLong_DIGIT_INIT(36), \ + _PyLong_DIGIT_INIT(37), \ + _PyLong_DIGIT_INIT(38), \ + _PyLong_DIGIT_INIT(39), \ + _PyLong_DIGIT_INIT(40), \ + _PyLong_DIGIT_INIT(41), \ + _PyLong_DIGIT_INIT(42), \ + _PyLong_DIGIT_INIT(43), \ + _PyLong_DIGIT_INIT(44), \ + _PyLong_DIGIT_INIT(45), \ + _PyLong_DIGIT_INIT(46), \ + _PyLong_DIGIT_INIT(47), \ + _PyLong_DIGIT_INIT(48), \ + _PyLong_DIGIT_INIT(49), \ + _PyLong_DIGIT_INIT(50), \ + _PyLong_DIGIT_INIT(51), \ + _PyLong_DIGIT_INIT(52), \ + _PyLong_DIGIT_INIT(53), \ + _PyLong_DIGIT_INIT(54), \ + _PyLong_DIGIT_INIT(55), \ + _PyLong_DIGIT_INIT(56), \ + _PyLong_DIGIT_INIT(57), \ + _PyLong_DIGIT_INIT(58), \ + _PyLong_DIGIT_INIT(59), \ + _PyLong_DIGIT_INIT(60), \ + _PyLong_DIGIT_INIT(61), \ + _PyLong_DIGIT_INIT(62), \ + _PyLong_DIGIT_INIT(63), \ + _PyLong_DIGIT_INIT(64), \ + _PyLong_DIGIT_INIT(65), \ + _PyLong_DIGIT_INIT(66), \ + _PyLong_DIGIT_INIT(67), \ + _PyLong_DIGIT_INIT(68), \ + _PyLong_DIGIT_INIT(69), \ + _PyLong_DIGIT_INIT(70), \ + _PyLong_DIGIT_INIT(71), \ + _PyLong_DIGIT_INIT(72), \ + _PyLong_DIGIT_INIT(73), \ + _PyLong_DIGIT_INIT(74), \ + _PyLong_DIGIT_INIT(75), \ + _PyLong_DIGIT_INIT(76), \ + _PyLong_DIGIT_INIT(77), \ + _PyLong_DIGIT_INIT(78), \ + _PyLong_DIGIT_INIT(79), \ + _PyLong_DIGIT_INIT(80), \ + _PyLong_DIGIT_INIT(81), \ + _PyLong_DIGIT_INIT(82), \ + _PyLong_DIGIT_INIT(83), \ + _PyLong_DIGIT_INIT(84), \ + _PyLong_DIGIT_INIT(85), \ + _PyLong_DIGIT_INIT(86), \ + _PyLong_DIGIT_INIT(87), \ + _PyLong_DIGIT_INIT(88), \ + _PyLong_DIGIT_INIT(89), \ + _PyLong_DIGIT_INIT(90), \ + _PyLong_DIGIT_INIT(91), \ + _PyLong_DIGIT_INIT(92), \ + _PyLong_DIGIT_INIT(93), \ + _PyLong_DIGIT_INIT(94), \ + _PyLong_DIGIT_INIT(95), \ + _PyLong_DIGIT_INIT(96), \ + _PyLong_DIGIT_INIT(97), \ + _PyLong_DIGIT_INIT(98), \ + _PyLong_DIGIT_INIT(99), \ + _PyLong_DIGIT_INIT(100), \ + _PyLong_DIGIT_INIT(101), \ + _PyLong_DIGIT_INIT(102), \ + _PyLong_DIGIT_INIT(103), \ + _PyLong_DIGIT_INIT(104), \ + _PyLong_DIGIT_INIT(105), \ + _PyLong_DIGIT_INIT(106), \ + _PyLong_DIGIT_INIT(107), \ + _PyLong_DIGIT_INIT(108), \ + _PyLong_DIGIT_INIT(109), \ + _PyLong_DIGIT_INIT(110), \ + _PyLong_DIGIT_INIT(111), \ + _PyLong_DIGIT_INIT(112), \ + _PyLong_DIGIT_INIT(113), \ + _PyLong_DIGIT_INIT(114), \ + _PyLong_DIGIT_INIT(115), \ + _PyLong_DIGIT_INIT(116), \ + _PyLong_DIGIT_INIT(117), \ + _PyLong_DIGIT_INIT(118), \ + _PyLong_DIGIT_INIT(119), \ + _PyLong_DIGIT_INIT(120), \ + _PyLong_DIGIT_INIT(121), \ + _PyLong_DIGIT_INIT(122), \ + _PyLong_DIGIT_INIT(123), \ + _PyLong_DIGIT_INIT(124), \ + _PyLong_DIGIT_INIT(125), \ + _PyLong_DIGIT_INIT(126), \ + _PyLong_DIGIT_INIT(127), \ + _PyLong_DIGIT_INIT(128), \ + _PyLong_DIGIT_INIT(129), \ + _PyLong_DIGIT_INIT(130), \ + _PyLong_DIGIT_INIT(131), \ + _PyLong_DIGIT_INIT(132), \ + _PyLong_DIGIT_INIT(133), \ + _PyLong_DIGIT_INIT(134), \ + _PyLong_DIGIT_INIT(135), \ + _PyLong_DIGIT_INIT(136), \ + _PyLong_DIGIT_INIT(137), \ + _PyLong_DIGIT_INIT(138), \ + _PyLong_DIGIT_INIT(139), \ + _PyLong_DIGIT_INIT(140), \ + _PyLong_DIGIT_INIT(141), \ + _PyLong_DIGIT_INIT(142), \ + _PyLong_DIGIT_INIT(143), \ + _PyLong_DIGIT_INIT(144), \ + _PyLong_DIGIT_INIT(145), \ + _PyLong_DIGIT_INIT(146), \ + _PyLong_DIGIT_INIT(147), \ + _PyLong_DIGIT_INIT(148), \ + _PyLong_DIGIT_INIT(149), \ + _PyLong_DIGIT_INIT(150), \ + _PyLong_DIGIT_INIT(151), \ + _PyLong_DIGIT_INIT(152), \ + _PyLong_DIGIT_INIT(153), \ + _PyLong_DIGIT_INIT(154), \ + _PyLong_DIGIT_INIT(155), \ + _PyLong_DIGIT_INIT(156), \ + _PyLong_DIGIT_INIT(157), \ + _PyLong_DIGIT_INIT(158), \ + _PyLong_DIGIT_INIT(159), \ + _PyLong_DIGIT_INIT(160), \ + _PyLong_DIGIT_INIT(161), \ + _PyLong_DIGIT_INIT(162), \ + _PyLong_DIGIT_INIT(163), \ + _PyLong_DIGIT_INIT(164), \ + _PyLong_DIGIT_INIT(165), \ + _PyLong_DIGIT_INIT(166), \ + _PyLong_DIGIT_INIT(167), \ + _PyLong_DIGIT_INIT(168), \ + _PyLong_DIGIT_INIT(169), \ + _PyLong_DIGIT_INIT(170), \ + _PyLong_DIGIT_INIT(171), \ + _PyLong_DIGIT_INIT(172), \ + _PyLong_DIGIT_INIT(173), \ + _PyLong_DIGIT_INIT(174), \ + _PyLong_DIGIT_INIT(175), \ + _PyLong_DIGIT_INIT(176), \ + _PyLong_DIGIT_INIT(177), \ + _PyLong_DIGIT_INIT(178), \ + _PyLong_DIGIT_INIT(179), \ + _PyLong_DIGIT_INIT(180), \ + _PyLong_DIGIT_INIT(181), \ + _PyLong_DIGIT_INIT(182), \ + _PyLong_DIGIT_INIT(183), \ + _PyLong_DIGIT_INIT(184), \ + _PyLong_DIGIT_INIT(185), \ + _PyLong_DIGIT_INIT(186), \ + _PyLong_DIGIT_INIT(187), \ + _PyLong_DIGIT_INIT(188), \ + _PyLong_DIGIT_INIT(189), \ + _PyLong_DIGIT_INIT(190), \ + _PyLong_DIGIT_INIT(191), \ + _PyLong_DIGIT_INIT(192), \ + _PyLong_DIGIT_INIT(193), \ + _PyLong_DIGIT_INIT(194), \ + _PyLong_DIGIT_INIT(195), \ + _PyLong_DIGIT_INIT(196), \ + _PyLong_DIGIT_INIT(197), \ + _PyLong_DIGIT_INIT(198), \ + _PyLong_DIGIT_INIT(199), \ + _PyLong_DIGIT_INIT(200), \ + _PyLong_DIGIT_INIT(201), \ + _PyLong_DIGIT_INIT(202), \ + _PyLong_DIGIT_INIT(203), \ + _PyLong_DIGIT_INIT(204), \ + _PyLong_DIGIT_INIT(205), \ + _PyLong_DIGIT_INIT(206), \ + _PyLong_DIGIT_INIT(207), \ + _PyLong_DIGIT_INIT(208), \ + _PyLong_DIGIT_INIT(209), \ + _PyLong_DIGIT_INIT(210), \ + _PyLong_DIGIT_INIT(211), \ + _PyLong_DIGIT_INIT(212), \ + _PyLong_DIGIT_INIT(213), \ + _PyLong_DIGIT_INIT(214), \ + _PyLong_DIGIT_INIT(215), \ + _PyLong_DIGIT_INIT(216), \ + _PyLong_DIGIT_INIT(217), \ + _PyLong_DIGIT_INIT(218), \ + _PyLong_DIGIT_INIT(219), \ + _PyLong_DIGIT_INIT(220), \ + _PyLong_DIGIT_INIT(221), \ + _PyLong_DIGIT_INIT(222), \ + _PyLong_DIGIT_INIT(223), \ + _PyLong_DIGIT_INIT(224), \ + _PyLong_DIGIT_INIT(225), \ + _PyLong_DIGIT_INIT(226), \ + _PyLong_DIGIT_INIT(227), \ + _PyLong_DIGIT_INIT(228), \ + _PyLong_DIGIT_INIT(229), \ + _PyLong_DIGIT_INIT(230), \ + _PyLong_DIGIT_INIT(231), \ + _PyLong_DIGIT_INIT(232), \ + _PyLong_DIGIT_INIT(233), \ + _PyLong_DIGIT_INIT(234), \ + _PyLong_DIGIT_INIT(235), \ + _PyLong_DIGIT_INIT(236), \ + _PyLong_DIGIT_INIT(237), \ + _PyLong_DIGIT_INIT(238), \ + _PyLong_DIGIT_INIT(239), \ + _PyLong_DIGIT_INIT(240), \ + _PyLong_DIGIT_INIT(241), \ + _PyLong_DIGIT_INIT(242), \ + _PyLong_DIGIT_INIT(243), \ + _PyLong_DIGIT_INIT(244), \ + _PyLong_DIGIT_INIT(245), \ + _PyLong_DIGIT_INIT(246), \ + _PyLong_DIGIT_INIT(247), \ + _PyLong_DIGIT_INIT(248), \ + _PyLong_DIGIT_INIT(249), \ + _PyLong_DIGIT_INIT(250), \ + _PyLong_DIGIT_INIT(251), \ + _PyLong_DIGIT_INIT(252), \ + _PyLong_DIGIT_INIT(253), \ + _PyLong_DIGIT_INIT(254), \ + _PyLong_DIGIT_INIT(255), \ + _PyLong_DIGIT_INIT(256), \ +} + +#define _Py_bytes_characters_INIT { \ + _PyBytes_CHAR_INIT(0), \ + _PyBytes_CHAR_INIT(1), \ + _PyBytes_CHAR_INIT(2), \ + _PyBytes_CHAR_INIT(3), \ + _PyBytes_CHAR_INIT(4), \ + _PyBytes_CHAR_INIT(5), \ + _PyBytes_CHAR_INIT(6), \ + _PyBytes_CHAR_INIT(7), \ + _PyBytes_CHAR_INIT(8), \ + _PyBytes_CHAR_INIT(9), \ + _PyBytes_CHAR_INIT(10), \ + _PyBytes_CHAR_INIT(11), \ + _PyBytes_CHAR_INIT(12), \ + _PyBytes_CHAR_INIT(13), \ + _PyBytes_CHAR_INIT(14), \ + _PyBytes_CHAR_INIT(15), \ + _PyBytes_CHAR_INIT(16), \ + _PyBytes_CHAR_INIT(17), \ + _PyBytes_CHAR_INIT(18), \ + _PyBytes_CHAR_INIT(19), \ + _PyBytes_CHAR_INIT(20), \ + _PyBytes_CHAR_INIT(21), \ + _PyBytes_CHAR_INIT(22), \ + _PyBytes_CHAR_INIT(23), \ + _PyBytes_CHAR_INIT(24), \ + _PyBytes_CHAR_INIT(25), \ + _PyBytes_CHAR_INIT(26), \ + _PyBytes_CHAR_INIT(27), \ + _PyBytes_CHAR_INIT(28), \ + _PyBytes_CHAR_INIT(29), \ + _PyBytes_CHAR_INIT(30), \ + _PyBytes_CHAR_INIT(31), \ + _PyBytes_CHAR_INIT(32), \ + _PyBytes_CHAR_INIT(33), \ + _PyBytes_CHAR_INIT(34), \ + _PyBytes_CHAR_INIT(35), \ + _PyBytes_CHAR_INIT(36), \ + _PyBytes_CHAR_INIT(37), \ + _PyBytes_CHAR_INIT(38), \ + _PyBytes_CHAR_INIT(39), \ + _PyBytes_CHAR_INIT(40), \ + _PyBytes_CHAR_INIT(41), \ + _PyBytes_CHAR_INIT(42), \ + _PyBytes_CHAR_INIT(43), \ + _PyBytes_CHAR_INIT(44), \ + _PyBytes_CHAR_INIT(45), \ + _PyBytes_CHAR_INIT(46), \ + _PyBytes_CHAR_INIT(47), \ + _PyBytes_CHAR_INIT(48), \ + _PyBytes_CHAR_INIT(49), \ + _PyBytes_CHAR_INIT(50), \ + _PyBytes_CHAR_INIT(51), \ + _PyBytes_CHAR_INIT(52), \ + _PyBytes_CHAR_INIT(53), \ + _PyBytes_CHAR_INIT(54), \ + _PyBytes_CHAR_INIT(55), \ + _PyBytes_CHAR_INIT(56), \ + _PyBytes_CHAR_INIT(57), \ + _PyBytes_CHAR_INIT(58), \ + _PyBytes_CHAR_INIT(59), \ + _PyBytes_CHAR_INIT(60), \ + _PyBytes_CHAR_INIT(61), \ + _PyBytes_CHAR_INIT(62), \ + _PyBytes_CHAR_INIT(63), \ + _PyBytes_CHAR_INIT(64), \ + _PyBytes_CHAR_INIT(65), \ + _PyBytes_CHAR_INIT(66), \ + _PyBytes_CHAR_INIT(67), \ + _PyBytes_CHAR_INIT(68), \ + _PyBytes_CHAR_INIT(69), \ + _PyBytes_CHAR_INIT(70), \ + _PyBytes_CHAR_INIT(71), \ + _PyBytes_CHAR_INIT(72), \ + _PyBytes_CHAR_INIT(73), \ + _PyBytes_CHAR_INIT(74), \ + _PyBytes_CHAR_INIT(75), \ + _PyBytes_CHAR_INIT(76), \ + _PyBytes_CHAR_INIT(77), \ + _PyBytes_CHAR_INIT(78), \ + _PyBytes_CHAR_INIT(79), \ + _PyBytes_CHAR_INIT(80), \ + _PyBytes_CHAR_INIT(81), \ + _PyBytes_CHAR_INIT(82), \ + _PyBytes_CHAR_INIT(83), \ + _PyBytes_CHAR_INIT(84), \ + _PyBytes_CHAR_INIT(85), \ + _PyBytes_CHAR_INIT(86), \ + _PyBytes_CHAR_INIT(87), \ + _PyBytes_CHAR_INIT(88), \ + _PyBytes_CHAR_INIT(89), \ + _PyBytes_CHAR_INIT(90), \ + _PyBytes_CHAR_INIT(91), \ + _PyBytes_CHAR_INIT(92), \ + _PyBytes_CHAR_INIT(93), \ + _PyBytes_CHAR_INIT(94), \ + _PyBytes_CHAR_INIT(95), \ + _PyBytes_CHAR_INIT(96), \ + _PyBytes_CHAR_INIT(97), \ + _PyBytes_CHAR_INIT(98), \ + _PyBytes_CHAR_INIT(99), \ + _PyBytes_CHAR_INIT(100), \ + _PyBytes_CHAR_INIT(101), \ + _PyBytes_CHAR_INIT(102), \ + _PyBytes_CHAR_INIT(103), \ + _PyBytes_CHAR_INIT(104), \ + _PyBytes_CHAR_INIT(105), \ + _PyBytes_CHAR_INIT(106), \ + _PyBytes_CHAR_INIT(107), \ + _PyBytes_CHAR_INIT(108), \ + _PyBytes_CHAR_INIT(109), \ + _PyBytes_CHAR_INIT(110), \ + _PyBytes_CHAR_INIT(111), \ + _PyBytes_CHAR_INIT(112), \ + _PyBytes_CHAR_INIT(113), \ + _PyBytes_CHAR_INIT(114), \ + _PyBytes_CHAR_INIT(115), \ + _PyBytes_CHAR_INIT(116), \ + _PyBytes_CHAR_INIT(117), \ + _PyBytes_CHAR_INIT(118), \ + _PyBytes_CHAR_INIT(119), \ + _PyBytes_CHAR_INIT(120), \ + _PyBytes_CHAR_INIT(121), \ + _PyBytes_CHAR_INIT(122), \ + _PyBytes_CHAR_INIT(123), \ + _PyBytes_CHAR_INIT(124), \ + _PyBytes_CHAR_INIT(125), \ + _PyBytes_CHAR_INIT(126), \ + _PyBytes_CHAR_INIT(127), \ + _PyBytes_CHAR_INIT(128), \ + _PyBytes_CHAR_INIT(129), \ + _PyBytes_CHAR_INIT(130), \ + _PyBytes_CHAR_INIT(131), \ + _PyBytes_CHAR_INIT(132), \ + _PyBytes_CHAR_INIT(133), \ + _PyBytes_CHAR_INIT(134), \ + _PyBytes_CHAR_INIT(135), \ + _PyBytes_CHAR_INIT(136), \ + _PyBytes_CHAR_INIT(137), \ + _PyBytes_CHAR_INIT(138), \ + _PyBytes_CHAR_INIT(139), \ + _PyBytes_CHAR_INIT(140), \ + _PyBytes_CHAR_INIT(141), \ + _PyBytes_CHAR_INIT(142), \ + _PyBytes_CHAR_INIT(143), \ + _PyBytes_CHAR_INIT(144), \ + _PyBytes_CHAR_INIT(145), \ + _PyBytes_CHAR_INIT(146), \ + _PyBytes_CHAR_INIT(147), \ + _PyBytes_CHAR_INIT(148), \ + _PyBytes_CHAR_INIT(149), \ + _PyBytes_CHAR_INIT(150), \ + _PyBytes_CHAR_INIT(151), \ + _PyBytes_CHAR_INIT(152), \ + _PyBytes_CHAR_INIT(153), \ + _PyBytes_CHAR_INIT(154), \ + _PyBytes_CHAR_INIT(155), \ + _PyBytes_CHAR_INIT(156), \ + _PyBytes_CHAR_INIT(157), \ + _PyBytes_CHAR_INIT(158), \ + _PyBytes_CHAR_INIT(159), \ + _PyBytes_CHAR_INIT(160), \ + _PyBytes_CHAR_INIT(161), \ + _PyBytes_CHAR_INIT(162), \ + _PyBytes_CHAR_INIT(163), \ + _PyBytes_CHAR_INIT(164), \ + _PyBytes_CHAR_INIT(165), \ + _PyBytes_CHAR_INIT(166), \ + _PyBytes_CHAR_INIT(167), \ + _PyBytes_CHAR_INIT(168), \ + _PyBytes_CHAR_INIT(169), \ + _PyBytes_CHAR_INIT(170), \ + _PyBytes_CHAR_INIT(171), \ + _PyBytes_CHAR_INIT(172), \ + _PyBytes_CHAR_INIT(173), \ + _PyBytes_CHAR_INIT(174), \ + _PyBytes_CHAR_INIT(175), \ + _PyBytes_CHAR_INIT(176), \ + _PyBytes_CHAR_INIT(177), \ + _PyBytes_CHAR_INIT(178), \ + _PyBytes_CHAR_INIT(179), \ + _PyBytes_CHAR_INIT(180), \ + _PyBytes_CHAR_INIT(181), \ + _PyBytes_CHAR_INIT(182), \ + _PyBytes_CHAR_INIT(183), \ + _PyBytes_CHAR_INIT(184), \ + _PyBytes_CHAR_INIT(185), \ + _PyBytes_CHAR_INIT(186), \ + _PyBytes_CHAR_INIT(187), \ + _PyBytes_CHAR_INIT(188), \ + _PyBytes_CHAR_INIT(189), \ + _PyBytes_CHAR_INIT(190), \ + _PyBytes_CHAR_INIT(191), \ + _PyBytes_CHAR_INIT(192), \ + _PyBytes_CHAR_INIT(193), \ + _PyBytes_CHAR_INIT(194), \ + _PyBytes_CHAR_INIT(195), \ + _PyBytes_CHAR_INIT(196), \ + _PyBytes_CHAR_INIT(197), \ + _PyBytes_CHAR_INIT(198), \ + _PyBytes_CHAR_INIT(199), \ + _PyBytes_CHAR_INIT(200), \ + _PyBytes_CHAR_INIT(201), \ + _PyBytes_CHAR_INIT(202), \ + _PyBytes_CHAR_INIT(203), \ + _PyBytes_CHAR_INIT(204), \ + _PyBytes_CHAR_INIT(205), \ + _PyBytes_CHAR_INIT(206), \ + _PyBytes_CHAR_INIT(207), \ + _PyBytes_CHAR_INIT(208), \ + _PyBytes_CHAR_INIT(209), \ + _PyBytes_CHAR_INIT(210), \ + _PyBytes_CHAR_INIT(211), \ + _PyBytes_CHAR_INIT(212), \ + _PyBytes_CHAR_INIT(213), \ + _PyBytes_CHAR_INIT(214), \ + _PyBytes_CHAR_INIT(215), \ + _PyBytes_CHAR_INIT(216), \ + _PyBytes_CHAR_INIT(217), \ + _PyBytes_CHAR_INIT(218), \ + _PyBytes_CHAR_INIT(219), \ + _PyBytes_CHAR_INIT(220), \ + _PyBytes_CHAR_INIT(221), \ + _PyBytes_CHAR_INIT(222), \ + _PyBytes_CHAR_INIT(223), \ + _PyBytes_CHAR_INIT(224), \ + _PyBytes_CHAR_INIT(225), \ + _PyBytes_CHAR_INIT(226), \ + _PyBytes_CHAR_INIT(227), \ + _PyBytes_CHAR_INIT(228), \ + _PyBytes_CHAR_INIT(229), \ + _PyBytes_CHAR_INIT(230), \ + _PyBytes_CHAR_INIT(231), \ + _PyBytes_CHAR_INIT(232), \ + _PyBytes_CHAR_INIT(233), \ + _PyBytes_CHAR_INIT(234), \ + _PyBytes_CHAR_INIT(235), \ + _PyBytes_CHAR_INIT(236), \ + _PyBytes_CHAR_INIT(237), \ + _PyBytes_CHAR_INIT(238), \ + _PyBytes_CHAR_INIT(239), \ + _PyBytes_CHAR_INIT(240), \ + _PyBytes_CHAR_INIT(241), \ + _PyBytes_CHAR_INIT(242), \ + _PyBytes_CHAR_INIT(243), \ + _PyBytes_CHAR_INIT(244), \ + _PyBytes_CHAR_INIT(245), \ + _PyBytes_CHAR_INIT(246), \ + _PyBytes_CHAR_INIT(247), \ + _PyBytes_CHAR_INIT(248), \ + _PyBytes_CHAR_INIT(249), \ + _PyBytes_CHAR_INIT(250), \ + _PyBytes_CHAR_INIT(251), \ + _PyBytes_CHAR_INIT(252), \ + _PyBytes_CHAR_INIT(253), \ + _PyBytes_CHAR_INIT(254), \ + _PyBytes_CHAR_INIT(255), \ +} + +#define _Py_str_literals_INIT { \ + INIT_STR(anon_dictcomp, ""), \ + INIT_STR(anon_genexpr, ""), \ + INIT_STR(anon_lambda, ""), \ + INIT_STR(anon_listcomp, ""), \ + INIT_STR(anon_module, ""), \ + INIT_STR(anon_setcomp, ""), \ + INIT_STR(anon_string, ""), \ + INIT_STR(anon_unknown, ""), \ + INIT_STR(close_br, "}"), \ + INIT_STR(dbl_close_br, "}}"), \ + INIT_STR(dbl_open_br, "{{"), \ + INIT_STR(dbl_percent, "%%"), \ + INIT_STR(defaults, ".defaults"), \ + INIT_STR(dot, "."), \ + INIT_STR(dot_locals, "."), \ + INIT_STR(empty, ""), \ + INIT_STR(generic_base, ".generic_base"), \ + INIT_STR(json_decoder, "json.decoder"), \ + INIT_STR(kwdefaults, ".kwdefaults"), \ + INIT_STR(list_err, "list index out of range"), \ + INIT_STR(newline, "\n"), \ + INIT_STR(open_br, "{"), \ + INIT_STR(percent, "%"), \ + INIT_STR(shim_name, ""), \ + INIT_STR(type_params, ".type_params"), \ + INIT_STR(utf_8, "utf-8"), \ +} + +#define _Py_str_identifiers_INIT { \ + INIT_ID(CANCELLED), \ + INIT_ID(FINISHED), \ + INIT_ID(False), \ + INIT_ID(JSONDecodeError), \ + INIT_ID(PENDING), \ + INIT_ID(Py_Repr), \ + INIT_ID(TextIOWrapper), \ + INIT_ID(True), \ + INIT_ID(WarningMessage), \ + INIT_ID(_), \ + INIT_ID(_WindowsConsoleIO), \ + INIT_ID(__IOBase_closed), \ + INIT_ID(__abc_tpflags__), \ + INIT_ID(__abs__), \ + INIT_ID(__abstractmethods__), \ + INIT_ID(__add__), \ + INIT_ID(__aenter__), \ + INIT_ID(__aexit__), \ + INIT_ID(__aiter__), \ + INIT_ID(__all__), \ + INIT_ID(__and__), \ + INIT_ID(__anext__), \ + INIT_ID(__annotations__), \ + INIT_ID(__args__), \ + INIT_ID(__asyncio_running_event_loop__), \ + INIT_ID(__await__), \ + INIT_ID(__bases__), \ + INIT_ID(__bool__), \ + INIT_ID(__buffer__), \ + INIT_ID(__build_class__), \ + INIT_ID(__builtins__), \ + INIT_ID(__bytes__), \ + INIT_ID(__call__), \ + INIT_ID(__cantrace__), \ + INIT_ID(__class__), \ + INIT_ID(__class_getitem__), \ + INIT_ID(__classcell__), \ + INIT_ID(__classdict__), \ + INIT_ID(__classdictcell__), \ + INIT_ID(__complex__), \ + INIT_ID(__contains__), \ + INIT_ID(__copy__), \ + INIT_ID(__ctypes_from_outparam__), \ + INIT_ID(__del__), \ + INIT_ID(__delattr__), \ + INIT_ID(__delete__), \ + INIT_ID(__delitem__), \ + INIT_ID(__dict__), \ + INIT_ID(__dictoffset__), \ + INIT_ID(__dir__), \ + INIT_ID(__divmod__), \ + INIT_ID(__doc__), \ + INIT_ID(__enter__), \ + INIT_ID(__eq__), \ + INIT_ID(__exit__), \ + INIT_ID(__file__), \ + INIT_ID(__float__), \ + INIT_ID(__floordiv__), \ + INIT_ID(__format__), \ + INIT_ID(__fspath__), \ + INIT_ID(__ge__), \ + INIT_ID(__get__), \ + INIT_ID(__getattr__), \ + INIT_ID(__getattribute__), \ + INIT_ID(__getinitargs__), \ + INIT_ID(__getitem__), \ + INIT_ID(__getnewargs__), \ + INIT_ID(__getnewargs_ex__), \ + INIT_ID(__getstate__), \ + INIT_ID(__gt__), \ + INIT_ID(__hash__), \ + INIT_ID(__iadd__), \ + INIT_ID(__iand__), \ + INIT_ID(__ifloordiv__), \ + INIT_ID(__ilshift__), \ + INIT_ID(__imatmul__), \ + INIT_ID(__imod__), \ + INIT_ID(__import__), \ + INIT_ID(__imul__), \ + INIT_ID(__index__), \ + INIT_ID(__init__), \ + INIT_ID(__init_subclass__), \ + INIT_ID(__instancecheck__), \ + INIT_ID(__int__), \ + INIT_ID(__invert__), \ + INIT_ID(__ior__), \ + INIT_ID(__ipow__), \ + INIT_ID(__irshift__), \ + INIT_ID(__isabstractmethod__), \ + INIT_ID(__isub__), \ + INIT_ID(__iter__), \ + INIT_ID(__itruediv__), \ + INIT_ID(__ixor__), \ + INIT_ID(__le__), \ + INIT_ID(__len__), \ + INIT_ID(__length_hint__), \ + INIT_ID(__lltrace__), \ + INIT_ID(__loader__), \ + INIT_ID(__lshift__), \ + INIT_ID(__lt__), \ + INIT_ID(__main__), \ + INIT_ID(__matmul__), \ + INIT_ID(__missing__), \ + INIT_ID(__mod__), \ + INIT_ID(__module__), \ + INIT_ID(__mro_entries__), \ + INIT_ID(__mul__), \ + INIT_ID(__name__), \ + INIT_ID(__ne__), \ + INIT_ID(__neg__), \ + INIT_ID(__new__), \ + INIT_ID(__newobj__), \ + INIT_ID(__newobj_ex__), \ + INIT_ID(__next__), \ + INIT_ID(__notes__), \ + INIT_ID(__or__), \ + INIT_ID(__orig_class__), \ + INIT_ID(__origin__), \ + INIT_ID(__package__), \ + INIT_ID(__parameters__), \ + INIT_ID(__path__), \ + INIT_ID(__pos__), \ + INIT_ID(__pow__), \ + INIT_ID(__prepare__), \ + INIT_ID(__qualname__), \ + INIT_ID(__radd__), \ + INIT_ID(__rand__), \ + INIT_ID(__rdivmod__), \ + INIT_ID(__reduce__), \ + INIT_ID(__reduce_ex__), \ + INIT_ID(__release_buffer__), \ + INIT_ID(__repr__), \ + INIT_ID(__reversed__), \ + INIT_ID(__rfloordiv__), \ + INIT_ID(__rlshift__), \ + INIT_ID(__rmatmul__), \ + INIT_ID(__rmod__), \ + INIT_ID(__rmul__), \ + INIT_ID(__ror__), \ + INIT_ID(__round__), \ + INIT_ID(__rpow__), \ + INIT_ID(__rrshift__), \ + INIT_ID(__rshift__), \ + INIT_ID(__rsub__), \ + INIT_ID(__rtruediv__), \ + INIT_ID(__rxor__), \ + INIT_ID(__set__), \ + INIT_ID(__set_name__), \ + INIT_ID(__setattr__), \ + INIT_ID(__setitem__), \ + INIT_ID(__setstate__), \ + INIT_ID(__sizeof__), \ + INIT_ID(__slotnames__), \ + INIT_ID(__slots__), \ + INIT_ID(__spec__), \ + INIT_ID(__str__), \ + INIT_ID(__sub__), \ + INIT_ID(__subclasscheck__), \ + INIT_ID(__subclasshook__), \ + INIT_ID(__truediv__), \ + INIT_ID(__trunc__), \ + INIT_ID(__type_params__), \ + INIT_ID(__typing_is_unpacked_typevartuple__), \ + INIT_ID(__typing_prepare_subst__), \ + INIT_ID(__typing_subst__), \ + INIT_ID(__typing_unpacked_tuple_args__), \ + INIT_ID(__warningregistry__), \ + INIT_ID(__weaklistoffset__), \ + INIT_ID(__weakref__), \ + INIT_ID(__xor__), \ + INIT_ID(_abc_impl), \ + INIT_ID(_abstract_), \ + INIT_ID(_active), \ + INIT_ID(_annotation), \ + INIT_ID(_anonymous_), \ + INIT_ID(_argtypes_), \ + INIT_ID(_as_parameter_), \ + INIT_ID(_asyncio_future_blocking), \ + INIT_ID(_blksize), \ + INIT_ID(_bootstrap), \ + INIT_ID(_check_retval_), \ + INIT_ID(_dealloc_warn), \ + INIT_ID(_feature_version), \ + INIT_ID(_fields_), \ + INIT_ID(_finalizing), \ + INIT_ID(_find_and_load), \ + INIT_ID(_fix_up_module), \ + INIT_ID(_flags_), \ + INIT_ID(_get_sourcefile), \ + INIT_ID(_handle_fromlist), \ + INIT_ID(_initializing), \ + INIT_ID(_io), \ + INIT_ID(_is_text_encoding), \ + INIT_ID(_length_), \ + INIT_ID(_limbo), \ + INIT_ID(_lock_unlock_module), \ + INIT_ID(_loop), \ + INIT_ID(_needs_com_addref_), \ + INIT_ID(_pack_), \ + INIT_ID(_restype_), \ + INIT_ID(_showwarnmsg), \ + INIT_ID(_shutdown), \ + INIT_ID(_slotnames), \ + INIT_ID(_strptime_datetime), \ + INIT_ID(_swappedbytes_), \ + INIT_ID(_type_), \ + INIT_ID(_uninitialized_submodules), \ + INIT_ID(_warn_unawaited_coroutine), \ + INIT_ID(_xoptions), \ + INIT_ID(a), \ + INIT_ID(abs_tol), \ + INIT_ID(access), \ + INIT_ID(add), \ + INIT_ID(add_done_callback), \ + INIT_ID(after_in_child), \ + INIT_ID(after_in_parent), \ + INIT_ID(aggregate_class), \ + INIT_ID(alias), \ + INIT_ID(append), \ + INIT_ID(arg), \ + INIT_ID(argdefs), \ + INIT_ID(args), \ + INIT_ID(arguments), \ + INIT_ID(argv), \ + INIT_ID(as_integer_ratio), \ + INIT_ID(ast), \ + INIT_ID(attribute), \ + INIT_ID(authorizer_callback), \ + INIT_ID(autocommit), \ + INIT_ID(b), \ + INIT_ID(backtick), \ + INIT_ID(base), \ + INIT_ID(before), \ + INIT_ID(big), \ + INIT_ID(binary_form), \ + INIT_ID(block), \ + INIT_ID(bound), \ + INIT_ID(buffer), \ + INIT_ID(buffer_callback), \ + INIT_ID(buffer_size), \ + INIT_ID(buffering), \ + INIT_ID(buffers), \ + INIT_ID(bufsize), \ + INIT_ID(builtins), \ + INIT_ID(byteorder), \ + INIT_ID(bytes), \ + INIT_ID(bytes_per_sep), \ + INIT_ID(c), \ + INIT_ID(c_call), \ + INIT_ID(c_exception), \ + INIT_ID(c_return), \ + INIT_ID(cached_statements), \ + INIT_ID(cadata), \ + INIT_ID(cafile), \ + INIT_ID(call), \ + INIT_ID(call_exception_handler), \ + INIT_ID(call_soon), \ + INIT_ID(cancel), \ + INIT_ID(capath), \ + INIT_ID(category), \ + INIT_ID(cb_type), \ + INIT_ID(certfile), \ + INIT_ID(check_same_thread), \ + INIT_ID(clear), \ + INIT_ID(close), \ + INIT_ID(closed), \ + INIT_ID(closefd), \ + INIT_ID(closure), \ + INIT_ID(co_argcount), \ + INIT_ID(co_cellvars), \ + INIT_ID(co_code), \ + INIT_ID(co_consts), \ + INIT_ID(co_exceptiontable), \ + INIT_ID(co_filename), \ + INIT_ID(co_firstlineno), \ + INIT_ID(co_flags), \ + INIT_ID(co_freevars), \ + INIT_ID(co_kwonlyargcount), \ + INIT_ID(co_linetable), \ + INIT_ID(co_name), \ + INIT_ID(co_names), \ + INIT_ID(co_nlocals), \ + INIT_ID(co_posonlyargcount), \ + INIT_ID(co_qualname), \ + INIT_ID(co_stacksize), \ + INIT_ID(co_varnames), \ + INIT_ID(code), \ + INIT_ID(command), \ + INIT_ID(comment_factory), \ + INIT_ID(compile_mode), \ + INIT_ID(consts), \ + INIT_ID(context), \ + INIT_ID(contravariant), \ + INIT_ID(cookie), \ + INIT_ID(copy), \ + INIT_ID(copyreg), \ + INIT_ID(coro), \ + INIT_ID(count), \ + INIT_ID(covariant), \ + INIT_ID(cwd), \ + INIT_ID(d), \ + INIT_ID(data), \ + INIT_ID(database), \ + INIT_ID(decode), \ + INIT_ID(decoder), \ + INIT_ID(default), \ + INIT_ID(defaultaction), \ + INIT_ID(delete), \ + INIT_ID(depth), \ + INIT_ID(detect_types), \ + INIT_ID(deterministic), \ + INIT_ID(device), \ + INIT_ID(dict), \ + INIT_ID(dictcomp), \ + INIT_ID(difference_update), \ + INIT_ID(digest), \ + INIT_ID(digest_size), \ + INIT_ID(digestmod), \ + INIT_ID(dir_fd), \ + INIT_ID(discard), \ + INIT_ID(dispatch_table), \ + INIT_ID(displayhook), \ + INIT_ID(dklen), \ + INIT_ID(doc), \ + INIT_ID(dont_inherit), \ + INIT_ID(dst), \ + INIT_ID(dst_dir_fd), \ + INIT_ID(duration), \ + INIT_ID(e), \ + INIT_ID(eager_start), \ + INIT_ID(effective_ids), \ + INIT_ID(element_factory), \ + INIT_ID(encode), \ + INIT_ID(encoding), \ + INIT_ID(end), \ + INIT_ID(end_lineno), \ + INIT_ID(end_offset), \ + INIT_ID(endpos), \ + INIT_ID(entrypoint), \ + INIT_ID(env), \ + INIT_ID(errors), \ + INIT_ID(event), \ + INIT_ID(eventmask), \ + INIT_ID(exc_type), \ + INIT_ID(exc_value), \ + INIT_ID(excepthook), \ + INIT_ID(exception), \ + INIT_ID(existing_file_name), \ + INIT_ID(exp), \ + INIT_ID(extend), \ + INIT_ID(extra_tokens), \ + INIT_ID(facility), \ + INIT_ID(factory), \ + INIT_ID(false), \ + INIT_ID(family), \ + INIT_ID(fanout), \ + INIT_ID(fd), \ + INIT_ID(fd2), \ + INIT_ID(fdel), \ + INIT_ID(fget), \ + INIT_ID(file), \ + INIT_ID(file_actions), \ + INIT_ID(filename), \ + INIT_ID(fileno), \ + INIT_ID(filepath), \ + INIT_ID(fillvalue), \ + INIT_ID(filters), \ + INIT_ID(final), \ + INIT_ID(find_class), \ + INIT_ID(fix_imports), \ + INIT_ID(flags), \ + INIT_ID(flush), \ + INIT_ID(follow_symlinks), \ + INIT_ID(format), \ + INIT_ID(frequency), \ + INIT_ID(from_param), \ + INIT_ID(fromlist), \ + INIT_ID(fromtimestamp), \ + INIT_ID(fromutc), \ + INIT_ID(fset), \ + INIT_ID(func), \ + INIT_ID(future), \ + INIT_ID(generation), \ + INIT_ID(genexpr), \ + INIT_ID(get), \ + INIT_ID(get_debug), \ + INIT_ID(get_event_loop), \ + INIT_ID(get_loop), \ + INIT_ID(get_source), \ + INIT_ID(getattr), \ + INIT_ID(getstate), \ + INIT_ID(gid), \ + INIT_ID(globals), \ + INIT_ID(groupindex), \ + INIT_ID(groups), \ + INIT_ID(handle), \ + INIT_ID(hash_name), \ + INIT_ID(header), \ + INIT_ID(headers), \ + INIT_ID(hi), \ + INIT_ID(hook), \ + INIT_ID(id), \ + INIT_ID(ident), \ + INIT_ID(ignore), \ + INIT_ID(imag), \ + INIT_ID(importlib), \ + INIT_ID(in_fd), \ + INIT_ID(incoming), \ + INIT_ID(indexgroup), \ + INIT_ID(inf), \ + INIT_ID(infer_variance), \ + INIT_ID(inheritable), \ + INIT_ID(initial), \ + INIT_ID(initial_bytes), \ + INIT_ID(initial_value), \ + INIT_ID(initval), \ + INIT_ID(inner_size), \ + INIT_ID(input), \ + INIT_ID(insert_comments), \ + INIT_ID(insert_pis), \ + INIT_ID(instructions), \ + INIT_ID(intern), \ + INIT_ID(intersection), \ + INIT_ID(is_running), \ + INIT_ID(isatty), \ + INIT_ID(isinstance), \ + INIT_ID(isoformat), \ + INIT_ID(isolation_level), \ + INIT_ID(istext), \ + INIT_ID(item), \ + INIT_ID(items), \ + INIT_ID(iter), \ + INIT_ID(iterable), \ + INIT_ID(iterations), \ + INIT_ID(join), \ + INIT_ID(jump), \ + INIT_ID(keepends), \ + INIT_ID(key), \ + INIT_ID(keyfile), \ + INIT_ID(keys), \ + INIT_ID(kind), \ + INIT_ID(kw), \ + INIT_ID(kw1), \ + INIT_ID(kw2), \ + INIT_ID(lambda), \ + INIT_ID(last), \ + INIT_ID(last_exc), \ + INIT_ID(last_node), \ + INIT_ID(last_traceback), \ + INIT_ID(last_type), \ + INIT_ID(last_value), \ + INIT_ID(latin1), \ + INIT_ID(leaf_size), \ + INIT_ID(len), \ + INIT_ID(length), \ + INIT_ID(level), \ + INIT_ID(limit), \ + INIT_ID(line), \ + INIT_ID(line_buffering), \ + INIT_ID(lineno), \ + INIT_ID(listcomp), \ + INIT_ID(little), \ + INIT_ID(lo), \ + INIT_ID(locale), \ + INIT_ID(locals), \ + INIT_ID(logoption), \ + INIT_ID(loop), \ + INIT_ID(mapping), \ + INIT_ID(match), \ + INIT_ID(max_length), \ + INIT_ID(maxdigits), \ + INIT_ID(maxevents), \ + INIT_ID(maxmem), \ + INIT_ID(maxsplit), \ + INIT_ID(maxvalue), \ + INIT_ID(memLevel), \ + INIT_ID(memlimit), \ + INIT_ID(message), \ + INIT_ID(metaclass), \ + INIT_ID(metadata), \ + INIT_ID(method), \ + INIT_ID(mod), \ + INIT_ID(mode), \ + INIT_ID(module), \ + INIT_ID(module_globals), \ + INIT_ID(modules), \ + INIT_ID(mro), \ + INIT_ID(msg), \ + INIT_ID(mycmp), \ + INIT_ID(n), \ + INIT_ID(n_arg), \ + INIT_ID(n_fields), \ + INIT_ID(n_sequence_fields), \ + INIT_ID(n_unnamed_fields), \ + INIT_ID(name), \ + INIT_ID(name_from), \ + INIT_ID(namespace_separator), \ + INIT_ID(namespaces), \ + INIT_ID(narg), \ + INIT_ID(ndigits), \ + INIT_ID(new_file_name), \ + INIT_ID(new_limit), \ + INIT_ID(newline), \ + INIT_ID(newlines), \ + INIT_ID(next), \ + INIT_ID(nlocals), \ + INIT_ID(node_depth), \ + INIT_ID(node_offset), \ + INIT_ID(ns), \ + INIT_ID(nstype), \ + INIT_ID(nt), \ + INIT_ID(null), \ + INIT_ID(number), \ + INIT_ID(obj), \ + INIT_ID(object), \ + INIT_ID(offset), \ + INIT_ID(offset_dst), \ + INIT_ID(offset_src), \ + INIT_ID(on_type_read), \ + INIT_ID(onceregistry), \ + INIT_ID(only_keys), \ + INIT_ID(oparg), \ + INIT_ID(opcode), \ + INIT_ID(open), \ + INIT_ID(opener), \ + INIT_ID(operation), \ + INIT_ID(optimize), \ + INIT_ID(options), \ + INIT_ID(order), \ + INIT_ID(origin), \ + INIT_ID(out_fd), \ + INIT_ID(outgoing), \ + INIT_ID(overlapped), \ + INIT_ID(owner), \ + INIT_ID(p), \ + INIT_ID(pages), \ + INIT_ID(parent), \ + INIT_ID(password), \ + INIT_ID(path), \ + INIT_ID(pattern), \ + INIT_ID(peek), \ + INIT_ID(persistent_id), \ + INIT_ID(persistent_load), \ + INIT_ID(person), \ + INIT_ID(pi_factory), \ + INIT_ID(pid), \ + INIT_ID(policy), \ + INIT_ID(pos), \ + INIT_ID(pos1), \ + INIT_ID(pos2), \ + INIT_ID(posix), \ + INIT_ID(print_file_and_line), \ + INIT_ID(priority), \ + INIT_ID(progress), \ + INIT_ID(progress_handler), \ + INIT_ID(progress_routine), \ + INIT_ID(proto), \ + INIT_ID(protocol), \ + INIT_ID(ps1), \ + INIT_ID(ps2), \ + INIT_ID(query), \ + INIT_ID(quotetabs), \ + INIT_ID(r), \ + INIT_ID(raw), \ + INIT_ID(read), \ + INIT_ID(read1), \ + INIT_ID(readable), \ + INIT_ID(readall), \ + INIT_ID(readinto), \ + INIT_ID(readinto1), \ + INIT_ID(readline), \ + INIT_ID(readonly), \ + INIT_ID(real), \ + INIT_ID(reducer_override), \ + INIT_ID(registry), \ + INIT_ID(rel_tol), \ + INIT_ID(release), \ + INIT_ID(reload), \ + INIT_ID(repl), \ + INIT_ID(replace), \ + INIT_ID(reserved), \ + INIT_ID(reset), \ + INIT_ID(resetids), \ + INIT_ID(return), \ + INIT_ID(reverse), \ + INIT_ID(reversed), \ + INIT_ID(s), \ + INIT_ID(salt), \ + INIT_ID(sched_priority), \ + INIT_ID(scheduler), \ + INIT_ID(seek), \ + INIT_ID(seekable), \ + INIT_ID(selectors), \ + INIT_ID(self), \ + INIT_ID(send), \ + INIT_ID(sep), \ + INIT_ID(sequence), \ + INIT_ID(server_hostname), \ + INIT_ID(server_side), \ + INIT_ID(session), \ + INIT_ID(setcomp), \ + INIT_ID(setpgroup), \ + INIT_ID(setsid), \ + INIT_ID(setsigdef), \ + INIT_ID(setsigmask), \ + INIT_ID(setstate), \ + INIT_ID(shape), \ + INIT_ID(show_cmd), \ + INIT_ID(signed), \ + INIT_ID(size), \ + INIT_ID(sizehint), \ + INIT_ID(skip_file_prefixes), \ + INIT_ID(sleep), \ + INIT_ID(sock), \ + INIT_ID(sort), \ + INIT_ID(sound), \ + INIT_ID(source), \ + INIT_ID(source_traceback), \ + INIT_ID(src), \ + INIT_ID(src_dir_fd), \ + INIT_ID(stacklevel), \ + INIT_ID(start), \ + INIT_ID(statement), \ + INIT_ID(status), \ + INIT_ID(stderr), \ + INIT_ID(stdin), \ + INIT_ID(stdout), \ + INIT_ID(step), \ + INIT_ID(steps), \ + INIT_ID(store_name), \ + INIT_ID(strategy), \ + INIT_ID(strftime), \ + INIT_ID(strict), \ + INIT_ID(strict_mode), \ + INIT_ID(string), \ + INIT_ID(sub_key), \ + INIT_ID(symmetric_difference_update), \ + INIT_ID(tabsize), \ + INIT_ID(tag), \ + INIT_ID(target), \ + INIT_ID(target_is_directory), \ + INIT_ID(task), \ + INIT_ID(tb_frame), \ + INIT_ID(tb_lasti), \ + INIT_ID(tb_lineno), \ + INIT_ID(tb_next), \ + INIT_ID(tell), \ + INIT_ID(template), \ + INIT_ID(term), \ + INIT_ID(text), \ + INIT_ID(threading), \ + INIT_ID(throw), \ + INIT_ID(timeout), \ + INIT_ID(times), \ + INIT_ID(timetuple), \ + INIT_ID(top), \ + INIT_ID(trace_callback), \ + INIT_ID(traceback), \ + INIT_ID(trailers), \ + INIT_ID(translate), \ + INIT_ID(true), \ + INIT_ID(truncate), \ + INIT_ID(twice), \ + INIT_ID(txt), \ + INIT_ID(type), \ + INIT_ID(type_params), \ + INIT_ID(tz), \ + INIT_ID(tzname), \ + INIT_ID(uid), \ + INIT_ID(unlink), \ + INIT_ID(unraisablehook), \ + INIT_ID(uri), \ + INIT_ID(usedforsecurity), \ + INIT_ID(value), \ + INIT_ID(values), \ + INIT_ID(version), \ + INIT_ID(volume), \ + INIT_ID(warnings), \ + INIT_ID(warnoptions), \ + INIT_ID(wbits), \ + INIT_ID(week), \ + INIT_ID(weekday), \ + INIT_ID(which), \ + INIT_ID(who), \ + INIT_ID(withdata), \ + INIT_ID(writable), \ + INIT_ID(write), \ + INIT_ID(write_through), \ + INIT_ID(x), \ + INIT_ID(year), \ + INIT_ID(zdict), \ +} + +#define _Py_str_ascii_INIT { \ + _PyASCIIObject_INIT("\x00"), \ + _PyASCIIObject_INIT("\x01"), \ + _PyASCIIObject_INIT("\x02"), \ + _PyASCIIObject_INIT("\x03"), \ + _PyASCIIObject_INIT("\x04"), \ + _PyASCIIObject_INIT("\x05"), \ + _PyASCIIObject_INIT("\x06"), \ + _PyASCIIObject_INIT("\x07"), \ + _PyASCIIObject_INIT("\x08"), \ + _PyASCIIObject_INIT("\x09"), \ + _PyASCIIObject_INIT("\x0a"), \ + _PyASCIIObject_INIT("\x0b"), \ + _PyASCIIObject_INIT("\x0c"), \ + _PyASCIIObject_INIT("\x0d"), \ + _PyASCIIObject_INIT("\x0e"), \ + _PyASCIIObject_INIT("\x0f"), \ + _PyASCIIObject_INIT("\x10"), \ + _PyASCIIObject_INIT("\x11"), \ + _PyASCIIObject_INIT("\x12"), \ + _PyASCIIObject_INIT("\x13"), \ + _PyASCIIObject_INIT("\x14"), \ + _PyASCIIObject_INIT("\x15"), \ + _PyASCIIObject_INIT("\x16"), \ + _PyASCIIObject_INIT("\x17"), \ + _PyASCIIObject_INIT("\x18"), \ + _PyASCIIObject_INIT("\x19"), \ + _PyASCIIObject_INIT("\x1a"), \ + _PyASCIIObject_INIT("\x1b"), \ + _PyASCIIObject_INIT("\x1c"), \ + _PyASCIIObject_INIT("\x1d"), \ + _PyASCIIObject_INIT("\x1e"), \ + _PyASCIIObject_INIT("\x1f"), \ + _PyASCIIObject_INIT("\x20"), \ + _PyASCIIObject_INIT("\x21"), \ + _PyASCIIObject_INIT("\x22"), \ + _PyASCIIObject_INIT("\x23"), \ + _PyASCIIObject_INIT("\x24"), \ + _PyASCIIObject_INIT("\x25"), \ + _PyASCIIObject_INIT("\x26"), \ + _PyASCIIObject_INIT("\x27"), \ + _PyASCIIObject_INIT("\x28"), \ + _PyASCIIObject_INIT("\x29"), \ + _PyASCIIObject_INIT("\x2a"), \ + _PyASCIIObject_INIT("\x2b"), \ + _PyASCIIObject_INIT("\x2c"), \ + _PyASCIIObject_INIT("\x2d"), \ + _PyASCIIObject_INIT("\x2e"), \ + _PyASCIIObject_INIT("\x2f"), \ + _PyASCIIObject_INIT("\x30"), \ + _PyASCIIObject_INIT("\x31"), \ + _PyASCIIObject_INIT("\x32"), \ + _PyASCIIObject_INIT("\x33"), \ + _PyASCIIObject_INIT("\x34"), \ + _PyASCIIObject_INIT("\x35"), \ + _PyASCIIObject_INIT("\x36"), \ + _PyASCIIObject_INIT("\x37"), \ + _PyASCIIObject_INIT("\x38"), \ + _PyASCIIObject_INIT("\x39"), \ + _PyASCIIObject_INIT("\x3a"), \ + _PyASCIIObject_INIT("\x3b"), \ + _PyASCIIObject_INIT("\x3c"), \ + _PyASCIIObject_INIT("\x3d"), \ + _PyASCIIObject_INIT("\x3e"), \ + _PyASCIIObject_INIT("\x3f"), \ + _PyASCIIObject_INIT("\x40"), \ + _PyASCIIObject_INIT("\x41"), \ + _PyASCIIObject_INIT("\x42"), \ + _PyASCIIObject_INIT("\x43"), \ + _PyASCIIObject_INIT("\x44"), \ + _PyASCIIObject_INIT("\x45"), \ + _PyASCIIObject_INIT("\x46"), \ + _PyASCIIObject_INIT("\x47"), \ + _PyASCIIObject_INIT("\x48"), \ + _PyASCIIObject_INIT("\x49"), \ + _PyASCIIObject_INIT("\x4a"), \ + _PyASCIIObject_INIT("\x4b"), \ + _PyASCIIObject_INIT("\x4c"), \ + _PyASCIIObject_INIT("\x4d"), \ + _PyASCIIObject_INIT("\x4e"), \ + _PyASCIIObject_INIT("\x4f"), \ + _PyASCIIObject_INIT("\x50"), \ + _PyASCIIObject_INIT("\x51"), \ + _PyASCIIObject_INIT("\x52"), \ + _PyASCIIObject_INIT("\x53"), \ + _PyASCIIObject_INIT("\x54"), \ + _PyASCIIObject_INIT("\x55"), \ + _PyASCIIObject_INIT("\x56"), \ + _PyASCIIObject_INIT("\x57"), \ + _PyASCIIObject_INIT("\x58"), \ + _PyASCIIObject_INIT("\x59"), \ + _PyASCIIObject_INIT("\x5a"), \ + _PyASCIIObject_INIT("\x5b"), \ + _PyASCIIObject_INIT("\x5c"), \ + _PyASCIIObject_INIT("\x5d"), \ + _PyASCIIObject_INIT("\x5e"), \ + _PyASCIIObject_INIT("\x5f"), \ + _PyASCIIObject_INIT("\x60"), \ + _PyASCIIObject_INIT("\x61"), \ + _PyASCIIObject_INIT("\x62"), \ + _PyASCIIObject_INIT("\x63"), \ + _PyASCIIObject_INIT("\x64"), \ + _PyASCIIObject_INIT("\x65"), \ + _PyASCIIObject_INIT("\x66"), \ + _PyASCIIObject_INIT("\x67"), \ + _PyASCIIObject_INIT("\x68"), \ + _PyASCIIObject_INIT("\x69"), \ + _PyASCIIObject_INIT("\x6a"), \ + _PyASCIIObject_INIT("\x6b"), \ + _PyASCIIObject_INIT("\x6c"), \ + _PyASCIIObject_INIT("\x6d"), \ + _PyASCIIObject_INIT("\x6e"), \ + _PyASCIIObject_INIT("\x6f"), \ + _PyASCIIObject_INIT("\x70"), \ + _PyASCIIObject_INIT("\x71"), \ + _PyASCIIObject_INIT("\x72"), \ + _PyASCIIObject_INIT("\x73"), \ + _PyASCIIObject_INIT("\x74"), \ + _PyASCIIObject_INIT("\x75"), \ + _PyASCIIObject_INIT("\x76"), \ + _PyASCIIObject_INIT("\x77"), \ + _PyASCIIObject_INIT("\x78"), \ + _PyASCIIObject_INIT("\x79"), \ + _PyASCIIObject_INIT("\x7a"), \ + _PyASCIIObject_INIT("\x7b"), \ + _PyASCIIObject_INIT("\x7c"), \ + _PyASCIIObject_INIT("\x7d"), \ + _PyASCIIObject_INIT("\x7e"), \ + _PyASCIIObject_INIT("\x7f"), \ +} + +#define _Py_str_latin1_INIT { \ + _PyUnicode_LATIN1_INIT("\x80", "\xc2\x80"), \ + _PyUnicode_LATIN1_INIT("\x81", "\xc2\x81"), \ + _PyUnicode_LATIN1_INIT("\x82", "\xc2\x82"), \ + _PyUnicode_LATIN1_INIT("\x83", "\xc2\x83"), \ + _PyUnicode_LATIN1_INIT("\x84", "\xc2\x84"), \ + _PyUnicode_LATIN1_INIT("\x85", "\xc2\x85"), \ + _PyUnicode_LATIN1_INIT("\x86", "\xc2\x86"), \ + _PyUnicode_LATIN1_INIT("\x87", "\xc2\x87"), \ + _PyUnicode_LATIN1_INIT("\x88", "\xc2\x88"), \ + _PyUnicode_LATIN1_INIT("\x89", "\xc2\x89"), \ + _PyUnicode_LATIN1_INIT("\x8a", "\xc2\x8a"), \ + _PyUnicode_LATIN1_INIT("\x8b", "\xc2\x8b"), \ + _PyUnicode_LATIN1_INIT("\x8c", "\xc2\x8c"), \ + _PyUnicode_LATIN1_INIT("\x8d", "\xc2\x8d"), \ + _PyUnicode_LATIN1_INIT("\x8e", "\xc2\x8e"), \ + _PyUnicode_LATIN1_INIT("\x8f", "\xc2\x8f"), \ + _PyUnicode_LATIN1_INIT("\x90", "\xc2\x90"), \ + _PyUnicode_LATIN1_INIT("\x91", "\xc2\x91"), \ + _PyUnicode_LATIN1_INIT("\x92", "\xc2\x92"), \ + _PyUnicode_LATIN1_INIT("\x93", "\xc2\x93"), \ + _PyUnicode_LATIN1_INIT("\x94", "\xc2\x94"), \ + _PyUnicode_LATIN1_INIT("\x95", "\xc2\x95"), \ + _PyUnicode_LATIN1_INIT("\x96", "\xc2\x96"), \ + _PyUnicode_LATIN1_INIT("\x97", "\xc2\x97"), \ + _PyUnicode_LATIN1_INIT("\x98", "\xc2\x98"), \ + _PyUnicode_LATIN1_INIT("\x99", "\xc2\x99"), \ + _PyUnicode_LATIN1_INIT("\x9a", "\xc2\x9a"), \ + _PyUnicode_LATIN1_INIT("\x9b", "\xc2\x9b"), \ + _PyUnicode_LATIN1_INIT("\x9c", "\xc2\x9c"), \ + _PyUnicode_LATIN1_INIT("\x9d", "\xc2\x9d"), \ + _PyUnicode_LATIN1_INIT("\x9e", "\xc2\x9e"), \ + _PyUnicode_LATIN1_INIT("\x9f", "\xc2\x9f"), \ + _PyUnicode_LATIN1_INIT("\xa0", "\xc2\xa0"), \ + _PyUnicode_LATIN1_INIT("\xa1", "\xc2\xa1"), \ + _PyUnicode_LATIN1_INIT("\xa2", "\xc2\xa2"), \ + _PyUnicode_LATIN1_INIT("\xa3", "\xc2\xa3"), \ + _PyUnicode_LATIN1_INIT("\xa4", "\xc2\xa4"), \ + _PyUnicode_LATIN1_INIT("\xa5", "\xc2\xa5"), \ + _PyUnicode_LATIN1_INIT("\xa6", "\xc2\xa6"), \ + _PyUnicode_LATIN1_INIT("\xa7", "\xc2\xa7"), \ + _PyUnicode_LATIN1_INIT("\xa8", "\xc2\xa8"), \ + _PyUnicode_LATIN1_INIT("\xa9", "\xc2\xa9"), \ + _PyUnicode_LATIN1_INIT("\xaa", "\xc2\xaa"), \ + _PyUnicode_LATIN1_INIT("\xab", "\xc2\xab"), \ + _PyUnicode_LATIN1_INIT("\xac", "\xc2\xac"), \ + _PyUnicode_LATIN1_INIT("\xad", "\xc2\xad"), \ + _PyUnicode_LATIN1_INIT("\xae", "\xc2\xae"), \ + _PyUnicode_LATIN1_INIT("\xaf", "\xc2\xaf"), \ + _PyUnicode_LATIN1_INIT("\xb0", "\xc2\xb0"), \ + _PyUnicode_LATIN1_INIT("\xb1", "\xc2\xb1"), \ + _PyUnicode_LATIN1_INIT("\xb2", "\xc2\xb2"), \ + _PyUnicode_LATIN1_INIT("\xb3", "\xc2\xb3"), \ + _PyUnicode_LATIN1_INIT("\xb4", "\xc2\xb4"), \ + _PyUnicode_LATIN1_INIT("\xb5", "\xc2\xb5"), \ + _PyUnicode_LATIN1_INIT("\xb6", "\xc2\xb6"), \ + _PyUnicode_LATIN1_INIT("\xb7", "\xc2\xb7"), \ + _PyUnicode_LATIN1_INIT("\xb8", "\xc2\xb8"), \ + _PyUnicode_LATIN1_INIT("\xb9", "\xc2\xb9"), \ + _PyUnicode_LATIN1_INIT("\xba", "\xc2\xba"), \ + _PyUnicode_LATIN1_INIT("\xbb", "\xc2\xbb"), \ + _PyUnicode_LATIN1_INIT("\xbc", "\xc2\xbc"), \ + _PyUnicode_LATIN1_INIT("\xbd", "\xc2\xbd"), \ + _PyUnicode_LATIN1_INIT("\xbe", "\xc2\xbe"), \ + _PyUnicode_LATIN1_INIT("\xbf", "\xc2\xbf"), \ + _PyUnicode_LATIN1_INIT("\xc0", "\xc3\x80"), \ + _PyUnicode_LATIN1_INIT("\xc1", "\xc3\x81"), \ + _PyUnicode_LATIN1_INIT("\xc2", "\xc3\x82"), \ + _PyUnicode_LATIN1_INIT("\xc3", "\xc3\x83"), \ + _PyUnicode_LATIN1_INIT("\xc4", "\xc3\x84"), \ + _PyUnicode_LATIN1_INIT("\xc5", "\xc3\x85"), \ + _PyUnicode_LATIN1_INIT("\xc6", "\xc3\x86"), \ + _PyUnicode_LATIN1_INIT("\xc7", "\xc3\x87"), \ + _PyUnicode_LATIN1_INIT("\xc8", "\xc3\x88"), \ + _PyUnicode_LATIN1_INIT("\xc9", "\xc3\x89"), \ + _PyUnicode_LATIN1_INIT("\xca", "\xc3\x8a"), \ + _PyUnicode_LATIN1_INIT("\xcb", "\xc3\x8b"), \ + _PyUnicode_LATIN1_INIT("\xcc", "\xc3\x8c"), \ + _PyUnicode_LATIN1_INIT("\xcd", "\xc3\x8d"), \ + _PyUnicode_LATIN1_INIT("\xce", "\xc3\x8e"), \ + _PyUnicode_LATIN1_INIT("\xcf", "\xc3\x8f"), \ + _PyUnicode_LATIN1_INIT("\xd0", "\xc3\x90"), \ + _PyUnicode_LATIN1_INIT("\xd1", "\xc3\x91"), \ + _PyUnicode_LATIN1_INIT("\xd2", "\xc3\x92"), \ + _PyUnicode_LATIN1_INIT("\xd3", "\xc3\x93"), \ + _PyUnicode_LATIN1_INIT("\xd4", "\xc3\x94"), \ + _PyUnicode_LATIN1_INIT("\xd5", "\xc3\x95"), \ + _PyUnicode_LATIN1_INIT("\xd6", "\xc3\x96"), \ + _PyUnicode_LATIN1_INIT("\xd7", "\xc3\x97"), \ + _PyUnicode_LATIN1_INIT("\xd8", "\xc3\x98"), \ + _PyUnicode_LATIN1_INIT("\xd9", "\xc3\x99"), \ + _PyUnicode_LATIN1_INIT("\xda", "\xc3\x9a"), \ + _PyUnicode_LATIN1_INIT("\xdb", "\xc3\x9b"), \ + _PyUnicode_LATIN1_INIT("\xdc", "\xc3\x9c"), \ + _PyUnicode_LATIN1_INIT("\xdd", "\xc3\x9d"), \ + _PyUnicode_LATIN1_INIT("\xde", "\xc3\x9e"), \ + _PyUnicode_LATIN1_INIT("\xdf", "\xc3\x9f"), \ + _PyUnicode_LATIN1_INIT("\xe0", "\xc3\xa0"), \ + _PyUnicode_LATIN1_INIT("\xe1", "\xc3\xa1"), \ + _PyUnicode_LATIN1_INIT("\xe2", "\xc3\xa2"), \ + _PyUnicode_LATIN1_INIT("\xe3", "\xc3\xa3"), \ + _PyUnicode_LATIN1_INIT("\xe4", "\xc3\xa4"), \ + _PyUnicode_LATIN1_INIT("\xe5", "\xc3\xa5"), \ + _PyUnicode_LATIN1_INIT("\xe6", "\xc3\xa6"), \ + _PyUnicode_LATIN1_INIT("\xe7", "\xc3\xa7"), \ + _PyUnicode_LATIN1_INIT("\xe8", "\xc3\xa8"), \ + _PyUnicode_LATIN1_INIT("\xe9", "\xc3\xa9"), \ + _PyUnicode_LATIN1_INIT("\xea", "\xc3\xaa"), \ + _PyUnicode_LATIN1_INIT("\xeb", "\xc3\xab"), \ + _PyUnicode_LATIN1_INIT("\xec", "\xc3\xac"), \ + _PyUnicode_LATIN1_INIT("\xed", "\xc3\xad"), \ + _PyUnicode_LATIN1_INIT("\xee", "\xc3\xae"), \ + _PyUnicode_LATIN1_INIT("\xef", "\xc3\xaf"), \ + _PyUnicode_LATIN1_INIT("\xf0", "\xc3\xb0"), \ + _PyUnicode_LATIN1_INIT("\xf1", "\xc3\xb1"), \ + _PyUnicode_LATIN1_INIT("\xf2", "\xc3\xb2"), \ + _PyUnicode_LATIN1_INIT("\xf3", "\xc3\xb3"), \ + _PyUnicode_LATIN1_INIT("\xf4", "\xc3\xb4"), \ + _PyUnicode_LATIN1_INIT("\xf5", "\xc3\xb5"), \ + _PyUnicode_LATIN1_INIT("\xf6", "\xc3\xb6"), \ + _PyUnicode_LATIN1_INIT("\xf7", "\xc3\xb7"), \ + _PyUnicode_LATIN1_INIT("\xf8", "\xc3\xb8"), \ + _PyUnicode_LATIN1_INIT("\xf9", "\xc3\xb9"), \ + _PyUnicode_LATIN1_INIT("\xfa", "\xc3\xba"), \ + _PyUnicode_LATIN1_INIT("\xfb", "\xc3\xbb"), \ + _PyUnicode_LATIN1_INIT("\xfc", "\xc3\xbc"), \ + _PyUnicode_LATIN1_INIT("\xfd", "\xc3\xbd"), \ + _PyUnicode_LATIN1_INIT("\xfe", "\xc3\xbe"), \ + _PyUnicode_LATIN1_INIT("\xff", "\xc3\xbf"), \ +} +/* End auto-generated code */ + +#ifdef __cplusplus +} +#endif +#endif /* !Py_INTERNAL_RUNTIME_INIT_GENERATED_H */ diff --git a/_Pre_Builds/_Python312_cpp/include/internal/pycore_signal.h b/_Pre_Builds/_Python312_cpp/include/internal/pycore_signal.h new file mode 100644 index 0000000..ca3f69d --- /dev/null +++ b/_Pre_Builds/_Python312_cpp/include/internal/pycore_signal.h @@ -0,0 +1,98 @@ +// Define Py_NSIG constant for signal handling. + +#ifndef Py_INTERNAL_SIGNAL_H +#define Py_INTERNAL_SIGNAL_H +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef Py_BUILD_CORE +# error "this header requires Py_BUILD_CORE define" +#endif + +#include "pycore_atomic.h" // _Py_atomic_address + +#include // NSIG + + +#ifdef _SIG_MAXSIG + // gh-91145: On FreeBSD, defines NSIG as 32: it doesn't include + // realtime signals: [SIGRTMIN,SIGRTMAX]. Use _SIG_MAXSIG instead. For + // example on x86-64 FreeBSD 13, SIGRTMAX is 126 and _SIG_MAXSIG is 128. +# define Py_NSIG _SIG_MAXSIG +#elif defined(NSIG) +# define Py_NSIG NSIG +#elif defined(_NSIG) +# define Py_NSIG _NSIG // BSD/SysV +#elif defined(_SIGMAX) +# define Py_NSIG (_SIGMAX + 1) // QNX +#elif defined(SIGMAX) +# define Py_NSIG (SIGMAX + 1) // djgpp +#else +# define Py_NSIG 64 // Use a reasonable default value +#endif + +#define INVALID_FD (-1) + +struct _signals_runtime_state { + volatile struct { + _Py_atomic_int tripped; + /* func is atomic to ensure that PyErr_SetInterrupt is async-signal-safe + * (even though it would probably be otherwise, anyway). + */ + _Py_atomic_address func; + } handlers[Py_NSIG]; + + volatile struct { +#ifdef MS_WINDOWS + /* This would be "SOCKET fd" if were always included. + It isn't so we must cast to SOCKET where appropriate. */ + volatile int fd; +#elif defined(__VXWORKS__) + int fd; +#else + sig_atomic_t fd; +#endif + + int warn_on_full_buffer; +#ifdef MS_WINDOWS + int use_send; +#endif + } wakeup; + + /* Speed up sigcheck() when none tripped */ + _Py_atomic_int is_tripped; + + /* These objects necessarily belong to the main interpreter. */ + PyObject *default_handler; + PyObject *ignore_handler; + +#ifdef MS_WINDOWS + /* This would be "HANDLE sigint_event" if were always included. + It isn't so we must cast to HANDLE everywhere "sigint_event" is used. */ + void *sigint_event; +#endif + + /* True if the main interpreter thread exited due to an unhandled + * KeyboardInterrupt exception, suggesting the user pressed ^C. */ + int unhandled_keyboard_interrupt; +}; + +#ifdef MS_WINDOWS +# define _signals_WAKEUP_INIT \ + {.fd = INVALID_FD, .warn_on_full_buffer = 1, .use_send = 0} +#else +# define _signals_WAKEUP_INIT \ + {.fd = INVALID_FD, .warn_on_full_buffer = 1} +#endif + +#define _signals_RUNTIME_INIT \ + { \ + .wakeup = _signals_WAKEUP_INIT, \ + } + + +#ifdef __cplusplus +} +#endif +#endif // !Py_INTERNAL_SIGNAL_H diff --git a/_Pre_Builds/_Python312_cpp/include/internal/pycore_sliceobject.h b/_Pre_Builds/_Python312_cpp/include/internal/pycore_sliceobject.h new file mode 100644 index 0000000..98665c3 --- /dev/null +++ b/_Pre_Builds/_Python312_cpp/include/internal/pycore_sliceobject.h @@ -0,0 +1,22 @@ +#ifndef Py_INTERNAL_SLICEOBJECT_H +#define Py_INTERNAL_SLICEOBJECT_H +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef Py_BUILD_CORE +# error "this header requires Py_BUILD_CORE define" +#endif + + +/* runtime lifecycle */ + +extern void _PySlice_Fini(PyInterpreterState *); + +extern PyObject * +_PyBuildSlice_ConsumeRefs(PyObject *start, PyObject *stop); + +#ifdef __cplusplus +} +#endif +#endif /* !Py_INTERNAL_SLICEOBJECT_H */ diff --git a/_Pre_Builds/_Python312_cpp/include/internal/pycore_strhex.h b/_Pre_Builds/_Python312_cpp/include/internal/pycore_strhex.h new file mode 100644 index 0000000..f427b4d --- /dev/null +++ b/_Pre_Builds/_Python312_cpp/include/internal/pycore_strhex.h @@ -0,0 +1,36 @@ +#ifndef Py_INTERNAL_STRHEX_H +#define Py_INTERNAL_STRHEX_H +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef Py_BUILD_CORE +# error "this header requires Py_BUILD_CORE define" +#endif + +// Returns a str() containing the hex representation of argbuf. +PyAPI_FUNC(PyObject*) _Py_strhex(const + char* argbuf, + const Py_ssize_t arglen); + +// Returns a bytes() containing the ASCII hex representation of argbuf. +PyAPI_FUNC(PyObject*) _Py_strhex_bytes( + const char* argbuf, + const Py_ssize_t arglen); + +// These variants include support for a separator between every N bytes: +PyAPI_FUNC(PyObject*) _Py_strhex_with_sep( + const char* argbuf, + const Py_ssize_t arglen, + PyObject* sep, + const int bytes_per_group); +PyAPI_FUNC(PyObject*) _Py_strhex_bytes_with_sep( + const char* argbuf, + const Py_ssize_t arglen, + PyObject* sep, + const int bytes_per_group); + +#ifdef __cplusplus +} +#endif +#endif /* !Py_INTERNAL_STRHEX_H */ diff --git a/_Pre_Builds/_Python312_cpp/include/internal/pycore_structseq.h b/_Pre_Builds/_Python312_cpp/include/internal/pycore_structseq.h new file mode 100644 index 0000000..6f5dfc1 --- /dev/null +++ b/_Pre_Builds/_Python312_cpp/include/internal/pycore_structseq.h @@ -0,0 +1,39 @@ +#ifndef Py_INTERNAL_STRUCTSEQ_H +#define Py_INTERNAL_STRUCTSEQ_H +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef Py_BUILD_CORE +# error "this header requires Py_BUILD_CORE define" +#endif + + +/* other API */ + +PyAPI_FUNC(PyTypeObject *) _PyStructSequence_NewType( + PyStructSequence_Desc *desc, + unsigned long tp_flags); + +extern int _PyStructSequence_InitBuiltinWithFlags( + PyInterpreterState *interp, + PyTypeObject *type, + PyStructSequence_Desc *desc, + unsigned long tp_flags); + +static inline int +_PyStructSequence_InitBuiltin(PyInterpreterState *interp, + PyTypeObject *type, + PyStructSequence_Desc *desc) +{ + return _PyStructSequence_InitBuiltinWithFlags(interp, type, desc, 0); +} + +extern void _PyStructSequence_FiniBuiltin( + PyInterpreterState *interp, + PyTypeObject *type); + +#ifdef __cplusplus +} +#endif +#endif /* !Py_INTERNAL_STRUCTSEQ_H */ diff --git a/_Pre_Builds/_Python312_cpp/include/internal/pycore_symtable.h b/_Pre_Builds/_Python312_cpp/include/internal/pycore_symtable.h new file mode 100644 index 0000000..c8e0578 --- /dev/null +++ b/_Pre_Builds/_Python312_cpp/include/internal/pycore_symtable.h @@ -0,0 +1,158 @@ +#ifndef Py_INTERNAL_SYMTABLE_H +#define Py_INTERNAL_SYMTABLE_H +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef Py_BUILD_CORE +# error "this header requires Py_BUILD_CORE define" +#endif + +struct _mod; // Type defined in pycore_ast.h + +typedef enum _block_type { + FunctionBlock, ClassBlock, ModuleBlock, + // Used for annotations if 'from __future__ import annotations' is active. + // Annotation blocks cannot bind names and are not evaluated. + AnnotationBlock, + // Used for generics and type aliases. These work mostly like functions + // (see PEP 695 for details). The three different blocks function identically; + // they are different enum entries only so that error messages can be more + // precise. + TypeVarBoundBlock, TypeAliasBlock, TypeParamBlock +} _Py_block_ty; + +typedef enum _comprehension_type { + NoComprehension = 0, + ListComprehension = 1, + DictComprehension = 2, + SetComprehension = 3, + GeneratorExpression = 4 } _Py_comprehension_ty; + +struct _symtable_entry; + +struct symtable { + PyObject *st_filename; /* name of file being compiled, + decoded from the filesystem encoding */ + struct _symtable_entry *st_cur; /* current symbol table entry */ + struct _symtable_entry *st_top; /* symbol table entry for module */ + PyObject *st_blocks; /* dict: map AST node addresses + * to symbol table entries */ + PyObject *st_stack; /* list: stack of namespace info */ + PyObject *st_global; /* borrowed ref to st_top->ste_symbols */ + int st_nblocks; /* number of blocks used. kept for + consistency with the corresponding + compiler structure */ + PyObject *st_private; /* name of current class or NULL */ + PyFutureFeatures *st_future; /* module's future features that affect + the symbol table */ + int recursion_depth; /* current recursion depth */ + int recursion_limit; /* recursion limit */ +}; + +typedef struct _symtable_entry { + PyObject_HEAD + PyObject *ste_id; /* int: key in ste_table->st_blocks */ + PyObject *ste_symbols; /* dict: variable names to flags */ + PyObject *ste_name; /* string: name of current block */ + PyObject *ste_varnames; /* list of function parameters */ + PyObject *ste_children; /* list of child blocks */ + PyObject *ste_directives;/* locations of global and nonlocal statements */ + _Py_block_ty ste_type; + int ste_nested; /* true if block is nested */ + unsigned ste_free : 1; /* true if block has free variables */ + unsigned ste_child_free : 1; /* true if a child block has free vars, + including free refs to globals */ + unsigned ste_generator : 1; /* true if namespace is a generator */ + unsigned ste_coroutine : 1; /* true if namespace is a coroutine */ + _Py_comprehension_ty ste_comprehension; /* Kind of comprehension (if any) */ + unsigned ste_varargs : 1; /* true if block has varargs */ + unsigned ste_varkeywords : 1; /* true if block has varkeywords */ + unsigned ste_returns_value : 1; /* true if namespace uses return with + an argument */ + unsigned ste_needs_class_closure : 1; /* for class scopes, true if a + closure over __class__ + should be created */ + unsigned ste_needs_classdict : 1; /* for class scopes, true if a closure + over the class dict should be created */ + unsigned ste_comp_inlined : 1; /* true if this comprehension is inlined */ + unsigned ste_comp_iter_target : 1; /* true if visiting comprehension target */ + unsigned ste_can_see_class_scope : 1; /* true if this block can see names bound in an + enclosing class scope */ + int ste_comp_iter_expr; /* non-zero if visiting a comprehension range expression */ + int ste_lineno; /* first line of block */ + int ste_col_offset; /* offset of first line of block */ + int ste_end_lineno; /* end line of block */ + int ste_end_col_offset; /* end offset of first line of block */ + int ste_opt_lineno; /* lineno of last exec or import * */ + int ste_opt_col_offset; /* offset of last exec or import * */ + struct symtable *ste_table; +} PySTEntryObject; + +extern PyTypeObject PySTEntry_Type; + +#define PySTEntry_Check(op) Py_IS_TYPE((op), &PySTEntry_Type) + +extern long _PyST_GetSymbol(PySTEntryObject *, PyObject *); +extern int _PyST_GetScope(PySTEntryObject *, PyObject *); +extern int _PyST_IsFunctionLike(PySTEntryObject *); + +extern struct symtable* _PySymtable_Build( + struct _mod *mod, + PyObject *filename, + PyFutureFeatures *future); +PyAPI_FUNC(PySTEntryObject *) PySymtable_Lookup(struct symtable *, void *); + +extern void _PySymtable_Free(struct symtable *); + +extern PyObject* _Py_Mangle(PyObject *p, PyObject *name); + +/* Flags for def-use information */ + +#define DEF_GLOBAL 1 /* global stmt */ +#define DEF_LOCAL 2 /* assignment in code block */ +#define DEF_PARAM 2<<1 /* formal parameter */ +#define DEF_NONLOCAL 2<<2 /* nonlocal stmt */ +#define USE 2<<3 /* name is used */ +#define DEF_FREE 2<<4 /* name used but not defined in nested block */ +#define DEF_FREE_CLASS 2<<5 /* free variable from class's method */ +#define DEF_IMPORT 2<<6 /* assignment occurred via import */ +#define DEF_ANNOT 2<<7 /* this name is annotated */ +#define DEF_COMP_ITER 2<<8 /* this name is a comprehension iteration variable */ +#define DEF_TYPE_PARAM 2<<9 /* this name is a type parameter */ +#define DEF_COMP_CELL 2<<10 /* this name is a cell in an inlined comprehension */ + +#define DEF_BOUND (DEF_LOCAL | DEF_PARAM | DEF_IMPORT) + +/* GLOBAL_EXPLICIT and GLOBAL_IMPLICIT are used internally by the symbol + table. GLOBAL is returned from PyST_GetScope() for either of them. + It is stored in ste_symbols at bits 13-16. +*/ +#define SCOPE_OFFSET 12 +#define SCOPE_MASK (DEF_GLOBAL | DEF_LOCAL | DEF_PARAM | DEF_NONLOCAL) + +#define LOCAL 1 +#define GLOBAL_EXPLICIT 2 +#define GLOBAL_IMPLICIT 3 +#define FREE 4 +#define CELL 5 + +#define GENERATOR 1 +#define GENERATOR_EXPRESSION 2 + +// Used by symtablemodule.c +extern struct symtable* _Py_SymtableStringObjectFlags( + const char *str, + PyObject *filename, + int start, + PyCompilerFlags *flags); + +int _PyFuture_FromAST( + struct _mod * mod, + PyObject *filename, + PyFutureFeatures* futures); + +#ifdef __cplusplus +} +#endif +#endif /* !Py_INTERNAL_SYMTABLE_H */ diff --git a/_Pre_Builds/_Python312_cpp/include/internal/pycore_sysmodule.h b/_Pre_Builds/_Python312_cpp/include/internal/pycore_sysmodule.h new file mode 100644 index 0000000..b4b1feb --- /dev/null +++ b/_Pre_Builds/_Python312_cpp/include/internal/pycore_sysmodule.h @@ -0,0 +1,29 @@ +#ifndef Py_INTERNAL_SYSMODULE_H +#define Py_INTERNAL_SYSMODULE_H +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef Py_BUILD_CORE +# error "this header requires Py_BUILD_CORE define" +#endif + +PyAPI_FUNC(int) _PySys_Audit( + PyThreadState *tstate, + const char *event, + const char *argFormat, + ...); + +/* We want minimal exposure of this function, so use extern rather than + PyAPI_FUNC() to not export the symbol. */ +extern void _PySys_ClearAuditHooks(PyThreadState *tstate); + +PyAPI_FUNC(int) _PySys_SetAttr(PyObject *, PyObject *); + +extern int _PySys_ClearAttrString(PyInterpreterState *interp, + const char *name, int verbose); + +#ifdef __cplusplus +} +#endif +#endif /* !Py_INTERNAL_SYSMODULE_H */ diff --git a/_Pre_Builds/_Python312_cpp/include/internal/pycore_time.h b/_Pre_Builds/_Python312_cpp/include/internal/pycore_time.h new file mode 100644 index 0000000..949170c --- /dev/null +++ b/_Pre_Builds/_Python312_cpp/include/internal/pycore_time.h @@ -0,0 +1,25 @@ +#ifndef Py_INTERNAL_TIME_H +#define Py_INTERNAL_TIME_H +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef Py_BUILD_CORE +# error "this header requires Py_BUILD_CORE define" +#endif + + +struct _time_runtime_state { +#ifdef HAVE_TIMES + int ticks_per_second_initialized; + long ticks_per_second; +#else + int _not_used; +#endif +}; + + +#ifdef __cplusplus +} +#endif +#endif /* !Py_INTERNAL_TIME_H */ diff --git a/_Pre_Builds/_Python312_cpp/include/internal/pycore_token.h b/_Pre_Builds/_Python312_cpp/include/internal/pycore_token.h new file mode 100644 index 0000000..c02e637 --- /dev/null +++ b/_Pre_Builds/_Python312_cpp/include/internal/pycore_token.h @@ -0,0 +1,108 @@ +/* Auto-generated by Tools/build/generate_token.py */ + +/* Token types */ +#ifndef Py_INTERNAL_TOKEN_H +#define Py_INTERNAL_TOKEN_H +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef Py_BUILD_CORE +# error "this header requires Py_BUILD_CORE define" +#endif + +#undef TILDE /* Prevent clash of our definition with system macro. Ex AIX, ioctl.h */ + +#define ENDMARKER 0 +#define NAME 1 +#define NUMBER 2 +#define STRING 3 +#define NEWLINE 4 +#define INDENT 5 +#define DEDENT 6 +#define LPAR 7 +#define RPAR 8 +#define LSQB 9 +#define RSQB 10 +#define COLON 11 +#define COMMA 12 +#define SEMI 13 +#define PLUS 14 +#define MINUS 15 +#define STAR 16 +#define SLASH 17 +#define VBAR 18 +#define AMPER 19 +#define LESS 20 +#define GREATER 21 +#define EQUAL 22 +#define DOT 23 +#define PERCENT 24 +#define LBRACE 25 +#define RBRACE 26 +#define EQEQUAL 27 +#define NOTEQUAL 28 +#define LESSEQUAL 29 +#define GREATEREQUAL 30 +#define TILDE 31 +#define CIRCUMFLEX 32 +#define LEFTSHIFT 33 +#define RIGHTSHIFT 34 +#define DOUBLESTAR 35 +#define PLUSEQUAL 36 +#define MINEQUAL 37 +#define STAREQUAL 38 +#define SLASHEQUAL 39 +#define PERCENTEQUAL 40 +#define AMPEREQUAL 41 +#define VBAREQUAL 42 +#define CIRCUMFLEXEQUAL 43 +#define LEFTSHIFTEQUAL 44 +#define RIGHTSHIFTEQUAL 45 +#define DOUBLESTAREQUAL 46 +#define DOUBLESLASH 47 +#define DOUBLESLASHEQUAL 48 +#define AT 49 +#define ATEQUAL 50 +#define RARROW 51 +#define ELLIPSIS 52 +#define COLONEQUAL 53 +#define EXCLAMATION 54 +#define OP 55 +#define AWAIT 56 +#define ASYNC 57 +#define TYPE_IGNORE 58 +#define TYPE_COMMENT 59 +#define SOFT_KEYWORD 60 +#define FSTRING_START 61 +#define FSTRING_MIDDLE 62 +#define FSTRING_END 63 +#define COMMENT 64 +#define NL 65 +#define ERRORTOKEN 66 +#define N_TOKENS 68 +#define NT_OFFSET 256 + +/* Special definitions for cooperation with parser */ + +#define ISTERMINAL(x) ((x) < NT_OFFSET) +#define ISNONTERMINAL(x) ((x) >= NT_OFFSET) +#define ISEOF(x) ((x) == ENDMARKER) +#define ISWHITESPACE(x) ((x) == ENDMARKER || \ + (x) == NEWLINE || \ + (x) == INDENT || \ + (x) == DEDENT) +#define ISSTRINGLIT(x) ((x) == STRING || \ + (x) == FSTRING_MIDDLE) + + +// Symbols exported for test_peg_generator +PyAPI_DATA(const char * const) _PyParser_TokenNames[]; /* Token names */ +PyAPI_FUNC(int) _PyToken_OneChar(int); +PyAPI_FUNC(int) _PyToken_TwoChars(int, int); +PyAPI_FUNC(int) _PyToken_ThreeChars(int, int, int); + +#ifdef __cplusplus +} +#endif +#endif // !Py_INTERNAL_TOKEN_H diff --git a/_Pre_Builds/_Python312_cpp/include/internal/pycore_traceback.h b/_Pre_Builds/_Python312_cpp/include/internal/pycore_traceback.h new file mode 100644 index 0000000..c393b2c --- /dev/null +++ b/_Pre_Builds/_Python312_cpp/include/internal/pycore_traceback.h @@ -0,0 +1,101 @@ +#ifndef Py_INTERNAL_TRACEBACK_H +#define Py_INTERNAL_TRACEBACK_H +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef Py_BUILD_CORE +# error "this header requires Py_BUILD_CORE define" +#endif + +/* Write the Python traceback into the file 'fd'. For example: + + Traceback (most recent call first): + File "xxx", line xxx in + File "xxx", line xxx in + ... + File "xxx", line xxx in + + This function is written for debug purpose only, to dump the traceback in + the worst case: after a segmentation fault, at fatal error, etc. That's why, + it is very limited. Strings are truncated to 100 characters and encoded to + ASCII with backslashreplace. It doesn't write the source code, only the + function name, filename and line number of each frame. Write only the first + 100 frames: if the traceback is truncated, write the line " ...". + + This function is signal safe. */ + +PyAPI_FUNC(void) _Py_DumpTraceback( + int fd, + PyThreadState *tstate); + +/* Write the traceback of all threads into the file 'fd'. current_thread can be + NULL. + + Return NULL on success, or an error message on error. + + This function is written for debug purpose only. It calls + _Py_DumpTraceback() for each thread, and so has the same limitations. It + only write the traceback of the first 100 threads: write "..." if there are + more threads. + + If current_tstate is NULL, the function tries to get the Python thread state + of the current thread. It is not an error if the function is unable to get + the current Python thread state. + + If interp is NULL, the function tries to get the interpreter state from + the current Python thread state, or from + _PyGILState_GetInterpreterStateUnsafe() in last resort. + + It is better to pass NULL to interp and current_tstate, the function tries + different options to retrieve this information. + + This function is signal safe. */ + +PyAPI_FUNC(const char*) _Py_DumpTracebackThreads( + int fd, + PyInterpreterState *interp, + PyThreadState *current_tstate); + +/* Write a Unicode object into the file descriptor fd. Encode the string to + ASCII using the backslashreplace error handler. + + Do nothing if text is not a Unicode object. The function accepts Unicode + string which is not ready (PyUnicode_WCHAR_KIND). + + This function is signal safe. */ +PyAPI_FUNC(void) _Py_DumpASCII(int fd, PyObject *text); + +/* Format an integer as decimal into the file descriptor fd. + + This function is signal safe. */ +PyAPI_FUNC(void) _Py_DumpDecimal( + int fd, + size_t value); + +/* Format an integer as hexadecimal with width digits into fd file descriptor. + The function is signal safe. */ +PyAPI_FUNC(void) _Py_DumpHexadecimal( + int fd, + uintptr_t value, + Py_ssize_t width); + +PyAPI_FUNC(PyObject*) _PyTraceBack_FromFrame( + PyObject *tb_next, + PyFrameObject *frame); + +#define EXCEPTION_TB_HEADER "Traceback (most recent call last):\n" +#define EXCEPTION_GROUP_TB_HEADER "Exception Group Traceback (most recent call last):\n" + +/* Write the traceback tb to file f. Prefix each line with + indent spaces followed by the margin (if it is not NULL). */ +PyAPI_FUNC(int) _PyTraceBack_Print_Indented( + PyObject *tb, int indent, const char* margin, + const char *header_margin, const char *header, PyObject *f); +PyAPI_FUNC(int) _Py_WriteIndentedMargin(int, const char*, PyObject *); +PyAPI_FUNC(int) _Py_WriteIndent(int, PyObject *); + +#ifdef __cplusplus +} +#endif +#endif /* !Py_INTERNAL_TRACEBACK_H */ diff --git a/_Pre_Builds/_Python312_cpp/include/internal/pycore_tracemalloc.h b/_Pre_Builds/_Python312_cpp/include/internal/pycore_tracemalloc.h new file mode 100644 index 0000000..d086adc --- /dev/null +++ b/_Pre_Builds/_Python312_cpp/include/internal/pycore_tracemalloc.h @@ -0,0 +1,123 @@ +#ifndef Py_INTERNAL_TRACEMALLOC_H +#define Py_INTERNAL_TRACEMALLOC_H +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef Py_BUILD_CORE +# error "this header requires Py_BUILD_CORE define" +#endif + +#include "pycore_hashtable.h" // _Py_hashtable_t + + +/* Trace memory blocks allocated by PyMem_RawMalloc() */ +#define TRACE_RAW_MALLOC + + +struct _PyTraceMalloc_Config { + /* Module initialized? + Variable protected by the GIL */ + enum { + TRACEMALLOC_NOT_INITIALIZED, + TRACEMALLOC_INITIALIZED, + TRACEMALLOC_FINALIZED + } initialized; + + /* Is tracemalloc tracing memory allocations? + Variable protected by the GIL */ + int tracing; + + /* limit of the number of frames in a traceback, 1 by default. + Variable protected by the GIL. */ + int max_nframe; +}; + + +/* Pack the frame_t structure to reduce the memory footprint on 64-bit + architectures: 12 bytes instead of 16. */ +#if defined(_MSC_VER) +#pragma pack(push, 4) +#endif + +struct +#ifdef __GNUC__ +__attribute__((packed)) +#endif +tracemalloc_frame { + /* filename cannot be NULL: "" is used if the Python frame + filename is NULL */ + PyObject *filename; + unsigned int lineno; +}; +#ifdef _MSC_VER +#pragma pack(pop) +#endif + +struct tracemalloc_traceback { + Py_uhash_t hash; + /* Number of frames stored */ + uint16_t nframe; + /* Total number of frames the traceback had */ + uint16_t total_nframe; + struct tracemalloc_frame frames[1]; +}; + + +struct _tracemalloc_runtime_state { + struct _PyTraceMalloc_Config config; + + /* Protected by the GIL */ + struct { + PyMemAllocatorEx mem; + PyMemAllocatorEx raw; + PyMemAllocatorEx obj; + } allocators; + +#if defined(TRACE_RAW_MALLOC) + PyThread_type_lock tables_lock; +#endif + /* Size in bytes of currently traced memory. + Protected by TABLES_LOCK(). */ + size_t traced_memory; + /* Peak size in bytes of traced memory. + Protected by TABLES_LOCK(). */ + size_t peak_traced_memory; + /* Hash table used as a set to intern filenames: + PyObject* => PyObject*. + Protected by the GIL */ + _Py_hashtable_t *filenames; + /* Buffer to store a new traceback in traceback_new(). + Protected by the GIL. */ + struct tracemalloc_traceback *traceback; + /* Hash table used as a set to intern tracebacks: + traceback_t* => traceback_t* + Protected by the GIL */ + _Py_hashtable_t *tracebacks; + /* pointer (void*) => trace (trace_t*). + Protected by TABLES_LOCK(). */ + _Py_hashtable_t *traces; + /* domain (unsigned int) => traces (_Py_hashtable_t). + Protected by TABLES_LOCK(). */ + _Py_hashtable_t *domains; + + struct tracemalloc_traceback empty_traceback; + + Py_tss_t reentrant_key; +}; + +#define _tracemalloc_runtime_state_INIT \ + { \ + .config = { \ + .initialized = TRACEMALLOC_NOT_INITIALIZED, \ + .tracing = 0, \ + .max_nframe = 1, \ + }, \ + .reentrant_key = Py_tss_NEEDS_INIT, \ + } + + +#ifdef __cplusplus +} +#endif +#endif // !Py_INTERNAL_TRACEMALLOC_H diff --git a/_Pre_Builds/_Python312_cpp/include/internal/pycore_tuple.h b/_Pre_Builds/_Python312_cpp/include/internal/pycore_tuple.h new file mode 100644 index 0000000..335edad --- /dev/null +++ b/_Pre_Builds/_Python312_cpp/include/internal/pycore_tuple.h @@ -0,0 +1,79 @@ +#ifndef Py_INTERNAL_TUPLE_H +#define Py_INTERNAL_TUPLE_H +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef Py_BUILD_CORE +# error "this header requires Py_BUILD_CORE define" +#endif + +#include "tupleobject.h" /* _PyTuple_CAST() */ + + +/* runtime lifecycle */ + +extern PyStatus _PyTuple_InitGlobalObjects(PyInterpreterState *); +extern void _PyTuple_Fini(PyInterpreterState *); + + +/* other API */ + +// PyTuple_MAXSAVESIZE - largest tuple to save on free list +// PyTuple_MAXFREELIST - maximum number of tuples of each size to save + +#if defined(PyTuple_MAXSAVESIZE) && PyTuple_MAXSAVESIZE <= 0 + // A build indicated that tuple freelists should not be used. +# define PyTuple_NFREELISTS 0 +# undef PyTuple_MAXSAVESIZE +# undef PyTuple_MAXFREELIST + +#elif !defined(WITH_FREELISTS) +# define PyTuple_NFREELISTS 0 +# undef PyTuple_MAXSAVESIZE +# undef PyTuple_MAXFREELIST + +#else + // We are using a freelist for tuples. +# ifndef PyTuple_MAXSAVESIZE +# define PyTuple_MAXSAVESIZE 20 +# endif +# define PyTuple_NFREELISTS PyTuple_MAXSAVESIZE +# ifndef PyTuple_MAXFREELIST +# define PyTuple_MAXFREELIST 2000 +# endif +#endif + +struct _Py_tuple_state { +#if PyTuple_NFREELISTS > 0 + /* There is one freelist for each size from 1 to PyTuple_MAXSAVESIZE. + The empty tuple is handled separately. + + Each tuple stored in the array is the head of the linked list + (and the next available tuple) for that size. The actual tuple + object is used as the linked list node, with its first item + (ob_item[0]) pointing to the next node (i.e. the previous head). + Each linked list is initially NULL. */ + PyTupleObject *free_list[PyTuple_NFREELISTS]; + int numfree[PyTuple_NFREELISTS]; +#else + char _unused; // Empty structs are not allowed. +#endif +}; + +#define _PyTuple_ITEMS(op) _Py_RVALUE(_PyTuple_CAST(op)->ob_item) + +extern PyObject *_PyTuple_FromArray(PyObject *const *, Py_ssize_t); +extern PyObject *_PyTuple_FromArraySteal(PyObject *const *, Py_ssize_t); + + +typedef struct { + PyObject_HEAD + Py_ssize_t it_index; + PyTupleObject *it_seq; /* Set to NULL when iterator is exhausted */ +} _PyTupleIterObject; + +#ifdef __cplusplus +} +#endif +#endif /* !Py_INTERNAL_TUPLE_H */ diff --git a/_Pre_Builds/_Python312_cpp/include/internal/pycore_typeobject.h b/_Pre_Builds/_Python312_cpp/include/internal/pycore_typeobject.h new file mode 100644 index 0000000..63f76fc --- /dev/null +++ b/_Pre_Builds/_Python312_cpp/include/internal/pycore_typeobject.h @@ -0,0 +1,149 @@ +#ifndef Py_INTERNAL_TYPEOBJECT_H +#define Py_INTERNAL_TYPEOBJECT_H +#ifdef __cplusplus +extern "C" { +#endif + +#include "pycore_moduleobject.h" + +#ifndef Py_BUILD_CORE +# error "this header requires Py_BUILD_CORE define" +#endif + + +/* state */ + +#define _Py_TYPE_BASE_VERSION_TAG (2<<16) +#define _Py_MAX_GLOBAL_TYPE_VERSION_TAG (_Py_TYPE_BASE_VERSION_TAG - 1) + +struct _types_runtime_state { + /* Used to set PyTypeObject.tp_version_tag for core static types. */ + // bpo-42745: next_version_tag remains shared by all interpreters + // because of static types. + unsigned int next_version_tag; +}; + + +// Type attribute lookup cache: speed up attribute and method lookups, +// see _PyType_Lookup(). +struct type_cache_entry { + unsigned int version; // initialized from type->tp_version_tag + PyObject *name; // reference to exactly a str or None + PyObject *value; // borrowed reference or NULL +}; + +#define MCACHE_SIZE_EXP 12 + +struct type_cache { + struct type_cache_entry hashtable[1 << MCACHE_SIZE_EXP]; +}; + +/* For now we hard-code this to a value for which we are confident + all the static builtin types will fit (for all builds). */ +#define _Py_MAX_STATIC_BUILTIN_TYPES 200 + +typedef struct { + PyTypeObject *type; + int readying; + int ready; + // XXX tp_dict can probably be statically allocated, + // instead of dynamically and stored on the interpreter. + PyObject *tp_dict; + PyObject *tp_subclasses; + /* We never clean up weakrefs for static builtin types since + they will effectively never get triggered. However, there + are also some diagnostic uses for the list of weakrefs, + so we still keep it. */ + PyObject *tp_weaklist; +} static_builtin_state; + +struct types_state { + /* Used to set PyTypeObject.tp_version_tag. + It starts at _Py_MAX_GLOBAL_TYPE_VERSION_TAG + 1, + where all those lower numbers are used for core static types. */ + unsigned int next_version_tag; + + struct type_cache type_cache; + size_t num_builtins_initialized; + static_builtin_state builtins[_Py_MAX_STATIC_BUILTIN_TYPES]; +}; + + +/* runtime lifecycle */ + +extern PyStatus _PyTypes_InitTypes(PyInterpreterState *); +extern void _PyTypes_FiniTypes(PyInterpreterState *); +extern void _PyTypes_Fini(PyInterpreterState *); + + +/* other API */ + +/* Length of array of slotdef pointers used to store slots with the + same __name__. There should be at most MAX_EQUIV-1 slotdef entries with + the same __name__, for any __name__. Since that's a static property, it is + appropriate to declare fixed-size arrays for this. */ +#define MAX_EQUIV 10 + +typedef struct wrapperbase pytype_slotdef; + + +static inline PyObject ** +_PyStaticType_GET_WEAKREFS_LISTPTR(static_builtin_state *state) +{ + assert(state != NULL); + return &state->tp_weaklist; +} + +/* Like PyType_GetModuleState, but skips verification + * that type is a heap type with an associated module */ +static inline void * +_PyType_GetModuleState(PyTypeObject *type) +{ + assert(PyType_Check(type)); + assert(type->tp_flags & Py_TPFLAGS_HEAPTYPE); + PyHeapTypeObject *et = (PyHeapTypeObject *)type; + assert(et->ht_module); + PyModuleObject *mod = (PyModuleObject *)(et->ht_module); + assert(mod != NULL); + return mod->md_state; +} + + +extern int _PyStaticType_InitBuiltin(PyInterpreterState *, PyTypeObject *type); +extern static_builtin_state * _PyStaticType_GetState(PyInterpreterState *, PyTypeObject *); +extern void _PyStaticType_ClearWeakRefs(PyInterpreterState *, PyTypeObject *type); +extern void _PyStaticType_Dealloc(PyInterpreterState *, PyTypeObject *); + +PyAPI_FUNC(PyObject *) _PyType_GetDict(PyTypeObject *); +extern PyObject * _PyType_GetBases(PyTypeObject *type); +extern PyObject * _PyType_GetMRO(PyTypeObject *type); +extern PyObject* _PyType_GetSubclasses(PyTypeObject *); +extern int _PyType_HasSubclasses(PyTypeObject *); + +// PyType_Ready() must be called if _PyType_IsReady() is false. +// See also the Py_TPFLAGS_READY flag. +static inline int +_PyType_IsReady(PyTypeObject *type) +{ + return _PyType_GetDict(type) != NULL; +} + +PyObject * +_Py_type_getattro_impl(PyTypeObject *type, PyObject *name, int *suppress_missing_attribute); +PyObject * +_Py_type_getattro(PyTypeObject *type, PyObject *name); + +extern PyObject* _Py_BaseObject_RichCompare(PyObject* self, PyObject* other, int op); + +PyObject *_Py_slot_tp_getattro(PyObject *self, PyObject *name); +PyObject *_Py_slot_tp_getattr_hook(PyObject *self, PyObject *name); + +PyAPI_DATA(PyTypeObject) _PyBufferWrapper_Type; + +PyObject * +_PySuper_Lookup(PyTypeObject *su_type, PyObject *su_obj, PyObject *name, int *meth_found); + +#ifdef __cplusplus +} +#endif +#endif /* !Py_INTERNAL_TYPEOBJECT_H */ diff --git a/_Pre_Builds/_Python312_cpp/include/internal/pycore_typevarobject.h b/_Pre_Builds/_Python312_cpp/include/internal/pycore_typevarobject.h new file mode 100644 index 0000000..c9fa97d --- /dev/null +++ b/_Pre_Builds/_Python312_cpp/include/internal/pycore_typevarobject.h @@ -0,0 +1,24 @@ +#ifndef Py_INTERNAL_TYPEVAROBJECT_H +#define Py_INTERNAL_TYPEVAROBJECT_H +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef Py_BUILD_CORE +# error "this header requires Py_BUILD_CORE define" +#endif + +extern PyObject *_Py_make_typevar(PyObject *, PyObject *, PyObject *); +extern PyObject *_Py_make_paramspec(PyThreadState *, PyObject *); +extern PyObject *_Py_make_typevartuple(PyThreadState *, PyObject *); +extern PyObject *_Py_make_typealias(PyThreadState *, PyObject *); +extern PyObject *_Py_subscript_generic(PyThreadState *, PyObject *); +extern int _Py_initialize_generic(PyInterpreterState *); +extern void _Py_clear_generic_types(PyInterpreterState *); + +extern PyTypeObject _PyTypeAlias_Type; + +#ifdef __cplusplus +} +#endif +#endif /* !Py_INTERNAL_TYPEVAROBJECT_H */ diff --git a/_Pre_Builds/_Python312_cpp/include/internal/pycore_ucnhash.h b/_Pre_Builds/_Python312_cpp/include/internal/pycore_ucnhash.h new file mode 100644 index 0000000..187dd68 --- /dev/null +++ b/_Pre_Builds/_Python312_cpp/include/internal/pycore_ucnhash.h @@ -0,0 +1,34 @@ +/* Unicode name database interface */ +#ifndef Py_INTERNAL_UCNHASH_H +#define Py_INTERNAL_UCNHASH_H +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef Py_BUILD_CORE +# error "this header requires Py_BUILD_CORE define" +#endif + +/* revised ucnhash CAPI interface (exported through a "wrapper") */ + +#define PyUnicodeData_CAPSULE_NAME "unicodedata._ucnhash_CAPI" + +typedef struct { + + /* Get name for a given character code. + Returns non-zero if success, zero if not. + Does not set Python exceptions. */ + int (*getname)(Py_UCS4 code, char* buffer, int buflen, + int with_alias_and_seq); + + /* Get character code for a given name. + Same error handling as for getname(). */ + int (*getcode)(const char* name, int namelen, Py_UCS4* code, + int with_named_seq); + +} _PyUnicode_Name_CAPI; + +#ifdef __cplusplus +} +#endif +#endif /* !Py_INTERNAL_UCNHASH_H */ diff --git a/_Pre_Builds/_Python312_cpp/include/internal/pycore_unicodeobject.h b/_Pre_Builds/_Python312_cpp/include/internal/pycore_unicodeobject.h new file mode 100644 index 0000000..1bb0f36 --- /dev/null +++ b/_Pre_Builds/_Python312_cpp/include/internal/pycore_unicodeobject.h @@ -0,0 +1,70 @@ +#ifndef Py_INTERNAL_UNICODEOBJECT_H +#define Py_INTERNAL_UNICODEOBJECT_H +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef Py_BUILD_CORE +# error "this header requires Py_BUILD_CORE define" +#endif + +#include "pycore_fileutils.h" // _Py_error_handler +#include "pycore_ucnhash.h" // _PyUnicode_Name_CAPI + +void _PyUnicode_ExactDealloc(PyObject *op); +Py_ssize_t _PyUnicode_InternedSize(void); + +/* runtime lifecycle */ + +extern void _PyUnicode_InitState(PyInterpreterState *); +extern PyStatus _PyUnicode_InitGlobalObjects(PyInterpreterState *); +extern PyStatus _PyUnicode_InitTypes(PyInterpreterState *); +extern void _PyUnicode_Fini(PyInterpreterState *); +extern void _PyUnicode_FiniTypes(PyInterpreterState *); + +extern PyTypeObject _PyUnicodeASCIIIter_Type; + +/* other API */ + +struct _Py_unicode_runtime_ids { + PyThread_type_lock lock; + // next_index value must be preserved when Py_Initialize()/Py_Finalize() + // is called multiple times: see _PyUnicode_FromId() implementation. + Py_ssize_t next_index; +}; + +struct _Py_unicode_runtime_state { + struct _Py_unicode_runtime_ids ids; +}; + +/* fs_codec.encoding is initialized to NULL. + Later, it is set to a non-NULL string by _PyUnicode_InitEncodings(). */ +struct _Py_unicode_fs_codec { + char *encoding; // Filesystem encoding (encoded to UTF-8) + int utf8; // encoding=="utf-8"? + char *errors; // Filesystem errors (encoded to UTF-8) + _Py_error_handler error_handler; +}; + +struct _Py_unicode_ids { + Py_ssize_t size; + PyObject **array; +}; + +struct _Py_unicode_state { + struct _Py_unicode_fs_codec fs_codec; + + _PyUnicode_Name_CAPI *ucnhash_capi; + + // Unicode identifiers (_Py_Identifier): see _PyUnicode_FromId() + struct _Py_unicode_ids ids; +}; + +extern void _PyUnicode_InternInPlace(PyInterpreterState *interp, PyObject **p); +extern void _PyUnicode_ClearInterned(PyInterpreterState *interp); + + +#ifdef __cplusplus +} +#endif +#endif /* !Py_INTERNAL_UNICODEOBJECT_H */ diff --git a/_Pre_Builds/_Python312_cpp/include/internal/pycore_unicodeobject_generated.h b/_Pre_Builds/_Python312_cpp/include/internal/pycore_unicodeobject_generated.h new file mode 100644 index 0000000..9b47009 --- /dev/null +++ b/_Pre_Builds/_Python312_cpp/include/internal/pycore_unicodeobject_generated.h @@ -0,0 +1,2093 @@ +#ifndef Py_INTERNAL_UNICODEOBJECT_GENERATED_H +#define Py_INTERNAL_UNICODEOBJECT_GENERATED_H +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef Py_BUILD_CORE +# error "this header requires Py_BUILD_CORE define" +#endif + +/* The following is auto-generated by Tools/build/generate_global_objects.py. */ +static inline void +_PyUnicode_InitStaticStrings(PyInterpreterState *interp) { + PyObject *string; + string = &_Py_ID(CANCELLED); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(FINISHED); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(False); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(JSONDecodeError); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(PENDING); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(Py_Repr); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(TextIOWrapper); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(True); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(WarningMessage); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(_); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(_WindowsConsoleIO); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__IOBase_closed); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__abc_tpflags__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__abs__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__abstractmethods__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__add__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__aenter__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__aexit__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__aiter__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__all__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__and__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__anext__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__annotations__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__args__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__asyncio_running_event_loop__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__await__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__bases__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__bool__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__buffer__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__build_class__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__builtins__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__bytes__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__call__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__cantrace__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__class__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__class_getitem__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__classcell__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__classdict__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__classdictcell__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__complex__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__contains__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__copy__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__ctypes_from_outparam__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__del__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__delattr__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__delete__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__delitem__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__dict__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__dictoffset__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__dir__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__divmod__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__doc__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__enter__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__eq__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__exit__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__file__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__float__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__floordiv__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__format__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__fspath__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__ge__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__get__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__getattr__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__getattribute__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__getinitargs__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__getitem__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__getnewargs__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__getnewargs_ex__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__getstate__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__gt__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__hash__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__iadd__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__iand__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__ifloordiv__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__ilshift__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__imatmul__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__imod__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__import__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__imul__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__index__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__init__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__init_subclass__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__instancecheck__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__int__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__invert__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__ior__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__ipow__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__irshift__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__isabstractmethod__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__isub__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__iter__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__itruediv__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__ixor__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__le__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__len__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__length_hint__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__lltrace__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__loader__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__lshift__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__lt__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__main__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__matmul__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__missing__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__mod__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__module__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__mro_entries__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__mul__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__name__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__ne__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__neg__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__new__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__newobj__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__newobj_ex__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__next__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__notes__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__or__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__orig_class__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__origin__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__package__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__parameters__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__path__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__pos__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__pow__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__prepare__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__qualname__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__radd__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__rand__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__rdivmod__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__reduce__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__reduce_ex__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__release_buffer__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__repr__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__reversed__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__rfloordiv__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__rlshift__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__rmatmul__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__rmod__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__rmul__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__ror__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__round__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__rpow__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__rrshift__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__rshift__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__rsub__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__rtruediv__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__rxor__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__set__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__set_name__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__setattr__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__setitem__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__setstate__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__sizeof__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__slotnames__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__slots__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__spec__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__str__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__sub__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__subclasscheck__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__subclasshook__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__truediv__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__trunc__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__type_params__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__typing_is_unpacked_typevartuple__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__typing_prepare_subst__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__typing_subst__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__typing_unpacked_tuple_args__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__warningregistry__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__weaklistoffset__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__weakref__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__xor__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(_abc_impl); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(_abstract_); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(_active); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(_annotation); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(_anonymous_); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(_argtypes_); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(_as_parameter_); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(_asyncio_future_blocking); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(_blksize); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(_bootstrap); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(_check_retval_); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(_dealloc_warn); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(_feature_version); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(_fields_); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(_finalizing); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(_find_and_load); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(_fix_up_module); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(_flags_); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(_get_sourcefile); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(_handle_fromlist); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(_initializing); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(_io); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(_is_text_encoding); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(_length_); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(_limbo); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(_lock_unlock_module); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(_loop); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(_needs_com_addref_); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(_pack_); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(_restype_); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(_showwarnmsg); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(_shutdown); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(_slotnames); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(_strptime_datetime); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(_swappedbytes_); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(_type_); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(_uninitialized_submodules); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(_warn_unawaited_coroutine); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(_xoptions); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(a); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(abs_tol); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(access); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(add); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(add_done_callback); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(after_in_child); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(after_in_parent); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(aggregate_class); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(alias); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(append); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(arg); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(argdefs); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(args); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(arguments); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(argv); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(as_integer_ratio); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(ast); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(attribute); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(authorizer_callback); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(autocommit); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(b); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(backtick); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(base); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(before); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(big); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(binary_form); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(block); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(bound); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(buffer); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(buffer_callback); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(buffer_size); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(buffering); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(buffers); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(bufsize); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(builtins); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(byteorder); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(bytes); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(bytes_per_sep); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(c); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(c_call); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(c_exception); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(c_return); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(cached_statements); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(cadata); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(cafile); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(call); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(call_exception_handler); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(call_soon); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(cancel); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(capath); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(category); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(cb_type); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(certfile); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(check_same_thread); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(clear); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(close); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(closed); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(closefd); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(closure); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(co_argcount); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(co_cellvars); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(co_code); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(co_consts); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(co_exceptiontable); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(co_filename); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(co_firstlineno); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(co_flags); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(co_freevars); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(co_kwonlyargcount); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(co_linetable); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(co_name); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(co_names); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(co_nlocals); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(co_posonlyargcount); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(co_qualname); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(co_stacksize); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(co_varnames); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(code); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(command); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(comment_factory); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(compile_mode); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(consts); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(context); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(contravariant); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(cookie); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(copy); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(copyreg); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(coro); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(count); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(covariant); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(cwd); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(d); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(data); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(database); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(decode); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(decoder); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(default); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(defaultaction); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(delete); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(depth); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(detect_types); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(deterministic); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(device); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(dict); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(dictcomp); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(difference_update); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(digest); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(digest_size); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(digestmod); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(dir_fd); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(discard); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(dispatch_table); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(displayhook); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(dklen); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(doc); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(dont_inherit); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(dst); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(dst_dir_fd); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(duration); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(e); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(eager_start); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(effective_ids); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(element_factory); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(encode); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(encoding); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(end); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(end_lineno); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(end_offset); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(endpos); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(entrypoint); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(env); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(errors); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(event); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(eventmask); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(exc_type); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(exc_value); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(excepthook); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(exception); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(existing_file_name); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(exp); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(extend); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(extra_tokens); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(facility); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(factory); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(false); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(family); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(fanout); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(fd); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(fd2); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(fdel); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(fget); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(file); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(file_actions); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(filename); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(fileno); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(filepath); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(fillvalue); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(filters); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(final); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(find_class); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(fix_imports); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(flags); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(flush); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(follow_symlinks); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(format); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(frequency); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(from_param); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(fromlist); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(fromtimestamp); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(fromutc); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(fset); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(func); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(future); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(generation); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(genexpr); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(get); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(get_debug); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(get_event_loop); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(get_loop); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(get_source); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(getattr); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(getstate); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(gid); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(globals); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(groupindex); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(groups); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(handle); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(hash_name); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(header); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(headers); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(hi); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(hook); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(id); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(ident); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(ignore); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(imag); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(importlib); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(in_fd); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(incoming); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(indexgroup); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(inf); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(infer_variance); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(inheritable); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(initial); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(initial_bytes); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(initial_value); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(initval); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(inner_size); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(input); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(insert_comments); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(insert_pis); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(instructions); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(intern); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(intersection); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(is_running); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(isatty); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(isinstance); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(isoformat); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(isolation_level); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(istext); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(item); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(items); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(iter); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(iterable); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(iterations); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(join); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(jump); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(keepends); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(key); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(keyfile); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(keys); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(kind); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(kw); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(kw1); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(kw2); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(lambda); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(last); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(last_exc); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(last_node); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(last_traceback); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(last_type); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(last_value); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(latin1); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(leaf_size); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(len); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(length); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(level); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(limit); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(line); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(line_buffering); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(lineno); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(listcomp); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(little); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(lo); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(locale); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(locals); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(logoption); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(loop); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(mapping); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(match); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(max_length); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(maxdigits); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(maxevents); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(maxmem); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(maxsplit); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(maxvalue); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(memLevel); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(memlimit); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(message); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(metaclass); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(metadata); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(method); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(mod); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(mode); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(module); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(module_globals); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(modules); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(mro); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(msg); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(mycmp); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(n); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(n_arg); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(n_fields); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(n_sequence_fields); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(n_unnamed_fields); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(name); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(name_from); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(namespace_separator); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(namespaces); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(narg); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(ndigits); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(new_file_name); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(new_limit); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(newline); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(newlines); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(next); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(nlocals); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(node_depth); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(node_offset); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(ns); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(nstype); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(nt); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(null); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(number); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(obj); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(object); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(offset); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(offset_dst); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(offset_src); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(on_type_read); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(onceregistry); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(only_keys); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(oparg); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(opcode); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(open); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(opener); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(operation); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(optimize); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(options); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(order); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(origin); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(out_fd); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(outgoing); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(overlapped); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(owner); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(p); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(pages); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(parent); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(password); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(path); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(pattern); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(peek); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(persistent_id); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(persistent_load); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(person); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(pi_factory); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(pid); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(policy); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(pos); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(pos1); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(pos2); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(posix); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(print_file_and_line); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(priority); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(progress); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(progress_handler); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(progress_routine); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(proto); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(protocol); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(ps1); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(ps2); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(query); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(quotetabs); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(r); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(raw); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(read); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(read1); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(readable); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(readall); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(readinto); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(readinto1); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(readline); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(readonly); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(real); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(reducer_override); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(registry); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(rel_tol); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(release); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(reload); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(repl); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(replace); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(reserved); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(reset); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(resetids); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(return); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(reverse); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(reversed); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(s); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(salt); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(sched_priority); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(scheduler); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(seek); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(seekable); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(selectors); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(self); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(send); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(sep); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(sequence); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(server_hostname); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(server_side); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(session); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(setcomp); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(setpgroup); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(setsid); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(setsigdef); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(setsigmask); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(setstate); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(shape); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(show_cmd); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(signed); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(size); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(sizehint); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(skip_file_prefixes); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(sleep); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(sock); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(sort); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(sound); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(source); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(source_traceback); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(src); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(src_dir_fd); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(stacklevel); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(start); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(statement); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(status); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(stderr); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(stdin); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(stdout); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(step); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(steps); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(store_name); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(strategy); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(strftime); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(strict); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(strict_mode); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(string); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(sub_key); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(symmetric_difference_update); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(tabsize); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(tag); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(target); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(target_is_directory); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(task); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(tb_frame); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(tb_lasti); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(tb_lineno); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(tb_next); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(tell); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(template); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(term); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(text); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(threading); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(throw); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(timeout); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(times); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(timetuple); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(top); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(trace_callback); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(traceback); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(trailers); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(translate); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(true); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(truncate); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(twice); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(txt); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(type); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(type_params); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(tz); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(tzname); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(uid); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(unlink); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(unraisablehook); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(uri); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(usedforsecurity); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(value); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(values); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(version); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(volume); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(warnings); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(warnoptions); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(wbits); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(week); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(weekday); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(which); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(who); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(withdata); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(writable); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(write); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(write_through); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(x); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(year); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(zdict); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); +} +/* End auto-generated code */ +#ifdef __cplusplus +} +#endif +#endif /* !Py_INTERNAL_UNICODEOBJECT_GENERATED_H */ diff --git a/_Pre_Builds/_Python312_cpp/include/internal/pycore_unionobject.h b/_Pre_Builds/_Python312_cpp/include/internal/pycore_unionobject.h new file mode 100644 index 0000000..8726463 --- /dev/null +++ b/_Pre_Builds/_Python312_cpp/include/internal/pycore_unionobject.h @@ -0,0 +1,23 @@ +#ifndef Py_INTERNAL_UNIONOBJECT_H +#define Py_INTERNAL_UNIONOBJECT_H +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef Py_BUILD_CORE +# error "this header requires Py_BUILD_CORE define" +#endif + +extern PyTypeObject _PyUnion_Type; +#define _PyUnion_Check(op) Py_IS_TYPE((op), &_PyUnion_Type) +extern PyObject *_Py_union_type_or(PyObject *, PyObject *); + +#define _PyGenericAlias_Check(op) PyObject_TypeCheck((op), &Py_GenericAliasType) +extern PyObject *_Py_subs_parameters(PyObject *, PyObject *, PyObject *, PyObject *); +extern PyObject *_Py_make_parameters(PyObject *); +extern PyObject *_Py_union_args(PyObject *self); + +#ifdef __cplusplus +} +#endif +#endif /* !Py_INTERNAL_UNIONOBJECT_H */ diff --git a/_Pre_Builds/_Python312_cpp/include/internal/pycore_warnings.h b/_Pre_Builds/_Python312_cpp/include/internal/pycore_warnings.h new file mode 100644 index 0000000..efb4f1c --- /dev/null +++ b/_Pre_Builds/_Python312_cpp/include/internal/pycore_warnings.h @@ -0,0 +1,29 @@ +#ifndef Py_INTERNAL_WARNINGS_H +#define Py_INTERNAL_WARNINGS_H +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef Py_BUILD_CORE +# error "this header requires Py_BUILD_CORE define" +#endif + +struct _warnings_runtime_state { + /* Both 'filters' and 'onceregistry' can be set in warnings.py; + get_warnings_attr() will reset these variables accordingly. */ + PyObject *filters; /* List */ + PyObject *once_registry; /* Dict */ + PyObject *default_action; /* String */ + long filters_version; +}; + +extern int _PyWarnings_InitState(PyInterpreterState *interp); + +PyAPI_FUNC(PyObject*) _PyWarnings_Init(void); + +extern void _PyErr_WarnUnawaitedCoroutine(PyObject *coro); + +#ifdef __cplusplus +} +#endif +#endif /* !Py_INTERNAL_WARNINGS_H */ diff --git a/_Pre_Builds/_Python312_cpp/include/interpreteridobject.h b/_Pre_Builds/_Python312_cpp/include/interpreteridobject.h new file mode 100644 index 0000000..8432632 --- /dev/null +++ b/_Pre_Builds/_Python312_cpp/include/interpreteridobject.h @@ -0,0 +1,17 @@ +#ifndef Py_INTERPRETERIDOBJECT_H +#define Py_INTERPRETERIDOBJECT_H + +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef Py_LIMITED_API +# define Py_CPYTHON_INTERPRETERIDOBJECT_H +# include "cpython/interpreteridobject.h" +# undef Py_CPYTHON_INTERPRETERIDOBJECT_H +#endif + +#ifdef __cplusplus +} +#endif +#endif /* !Py_INTERPRETERIDOBJECT_H */ diff --git a/_Pre_Builds/_Python312_cpp/include/intrcheck.h b/_Pre_Builds/_Python312_cpp/include/intrcheck.h new file mode 100644 index 0000000..b8cc656 --- /dev/null +++ b/_Pre_Builds/_Python312_cpp/include/intrcheck.h @@ -0,0 +1,30 @@ +#ifndef Py_INTRCHECK_H +#define Py_INTRCHECK_H +#ifdef __cplusplus +extern "C" { +#endif + +PyAPI_FUNC(int) PyOS_InterruptOccurred(void); +#ifdef HAVE_FORK +#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x03070000 +PyAPI_FUNC(void) PyOS_BeforeFork(void); +PyAPI_FUNC(void) PyOS_AfterFork_Parent(void); +PyAPI_FUNC(void) PyOS_AfterFork_Child(void); +#endif +#endif +/* Deprecated, please use PyOS_AfterFork_Child() instead */ +Py_DEPRECATED(3.7) PyAPI_FUNC(void) PyOS_AfterFork(void); + +#ifndef Py_LIMITED_API +PyAPI_FUNC(int) _PyOS_IsMainThread(void); + +#ifdef MS_WINDOWS +/* windows.h is not included by Python.h so use void* instead of HANDLE */ +PyAPI_FUNC(void*) _PyOS_SigintEvent(void); +#endif +#endif /* !Py_LIMITED_API */ + +#ifdef __cplusplus +} +#endif +#endif /* !Py_INTRCHECK_H */ diff --git a/_Pre_Builds/_Python312_cpp/include/iterobject.h b/_Pre_Builds/_Python312_cpp/include/iterobject.h new file mode 100644 index 0000000..fff30f7 --- /dev/null +++ b/_Pre_Builds/_Python312_cpp/include/iterobject.h @@ -0,0 +1,27 @@ +#ifndef Py_ITEROBJECT_H +#define Py_ITEROBJECT_H +/* Iterators (the basic kind, over a sequence) */ +#ifdef __cplusplus +extern "C" { +#endif + +PyAPI_DATA(PyTypeObject) PySeqIter_Type; +PyAPI_DATA(PyTypeObject) PyCallIter_Type; +#ifdef Py_BUILD_CORE +extern PyTypeObject _PyAnextAwaitable_Type; +#endif + +#define PySeqIter_Check(op) Py_IS_TYPE((op), &PySeqIter_Type) + +PyAPI_FUNC(PyObject *) PySeqIter_New(PyObject *); + + +#define PyCallIter_Check(op) Py_IS_TYPE((op), &PyCallIter_Type) + +PyAPI_FUNC(PyObject *) PyCallIter_New(PyObject *, PyObject *); + +#ifdef __cplusplus +} +#endif +#endif /* !Py_ITEROBJECT_H */ + diff --git a/_Pre_Builds/_Python312_cpp/include/listobject.h b/_Pre_Builds/_Python312_cpp/include/listobject.h new file mode 100644 index 0000000..6b7041b --- /dev/null +++ b/_Pre_Builds/_Python312_cpp/include/listobject.h @@ -0,0 +1,52 @@ +/* List object interface + + Another generally useful object type is a list of object pointers. + This is a mutable type: the list items can be changed, and items can be + added or removed. Out-of-range indices or non-list objects are ignored. + + WARNING: PyList_SetItem does not increment the new item's reference count, + but does decrement the reference count of the item it replaces, if not nil. + It does *decrement* the reference count if it is *not* inserted in the list. + Similarly, PyList_GetItem does not increment the returned item's reference + count. +*/ + +#ifndef Py_LISTOBJECT_H +#define Py_LISTOBJECT_H +#ifdef __cplusplus +extern "C" { +#endif + +PyAPI_DATA(PyTypeObject) PyList_Type; +PyAPI_DATA(PyTypeObject) PyListIter_Type; +PyAPI_DATA(PyTypeObject) PyListRevIter_Type; + +#define PyList_Check(op) \ + PyType_FastSubclass(Py_TYPE(op), Py_TPFLAGS_LIST_SUBCLASS) +#define PyList_CheckExact(op) Py_IS_TYPE((op), &PyList_Type) + +PyAPI_FUNC(PyObject *) PyList_New(Py_ssize_t size); +PyAPI_FUNC(Py_ssize_t) PyList_Size(PyObject *); + +PyAPI_FUNC(PyObject *) PyList_GetItem(PyObject *, Py_ssize_t); +PyAPI_FUNC(int) PyList_SetItem(PyObject *, Py_ssize_t, PyObject *); +PyAPI_FUNC(int) PyList_Insert(PyObject *, Py_ssize_t, PyObject *); +PyAPI_FUNC(int) PyList_Append(PyObject *, PyObject *); + +PyAPI_FUNC(PyObject *) PyList_GetSlice(PyObject *, Py_ssize_t, Py_ssize_t); +PyAPI_FUNC(int) PyList_SetSlice(PyObject *, Py_ssize_t, Py_ssize_t, PyObject *); + +PyAPI_FUNC(int) PyList_Sort(PyObject *); +PyAPI_FUNC(int) PyList_Reverse(PyObject *); +PyAPI_FUNC(PyObject *) PyList_AsTuple(PyObject *); + +#ifndef Py_LIMITED_API +# define Py_CPYTHON_LISTOBJECT_H +# include "cpython/listobject.h" +# undef Py_CPYTHON_LISTOBJECT_H +#endif + +#ifdef __cplusplus +} +#endif +#endif /* !Py_LISTOBJECT_H */ diff --git a/_Pre_Builds/_Python312_cpp/include/longobject.h b/_Pre_Builds/_Python312_cpp/include/longobject.h new file mode 100644 index 0000000..e090dd0 --- /dev/null +++ b/_Pre_Builds/_Python312_cpp/include/longobject.h @@ -0,0 +1,91 @@ +#ifndef Py_LONGOBJECT_H +#define Py_LONGOBJECT_H +#ifdef __cplusplus +extern "C" { +#endif + + +/* Long (arbitrary precision) integer object interface */ + +// PyLong_Type is declared by object.h + +#define PyLong_Check(op) \ + PyType_FastSubclass(Py_TYPE(op), Py_TPFLAGS_LONG_SUBCLASS) +#define PyLong_CheckExact(op) Py_IS_TYPE((op), &PyLong_Type) + +PyAPI_FUNC(PyObject *) PyLong_FromLong(long); +PyAPI_FUNC(PyObject *) PyLong_FromUnsignedLong(unsigned long); +PyAPI_FUNC(PyObject *) PyLong_FromSize_t(size_t); +PyAPI_FUNC(PyObject *) PyLong_FromSsize_t(Py_ssize_t); +PyAPI_FUNC(PyObject *) PyLong_FromDouble(double); +PyAPI_FUNC(long) PyLong_AsLong(PyObject *); +PyAPI_FUNC(long) PyLong_AsLongAndOverflow(PyObject *, int *); +PyAPI_FUNC(Py_ssize_t) PyLong_AsSsize_t(PyObject *); +PyAPI_FUNC(size_t) PyLong_AsSize_t(PyObject *); +PyAPI_FUNC(unsigned long) PyLong_AsUnsignedLong(PyObject *); +PyAPI_FUNC(unsigned long) PyLong_AsUnsignedLongMask(PyObject *); +PyAPI_FUNC(PyObject *) PyLong_GetInfo(void); + +/* It may be useful in the future. I've added it in the PyInt -> PyLong + cleanup to keep the extra information. [CH] */ +#define PyLong_AS_LONG(op) PyLong_AsLong(op) + +/* Issue #1983: pid_t can be longer than a C long on some systems */ +#if !defined(SIZEOF_PID_T) || SIZEOF_PID_T == SIZEOF_INT +#define _Py_PARSE_PID "i" +#define PyLong_FromPid PyLong_FromLong +#define PyLong_AsPid PyLong_AsLong +#elif SIZEOF_PID_T == SIZEOF_LONG +#define _Py_PARSE_PID "l" +#define PyLong_FromPid PyLong_FromLong +#define PyLong_AsPid PyLong_AsLong +#elif defined(SIZEOF_LONG_LONG) && SIZEOF_PID_T == SIZEOF_LONG_LONG +#define _Py_PARSE_PID "L" +#define PyLong_FromPid PyLong_FromLongLong +#define PyLong_AsPid PyLong_AsLongLong +#else +#error "sizeof(pid_t) is neither sizeof(int), sizeof(long) or sizeof(long long)" +#endif /* SIZEOF_PID_T */ + +#if SIZEOF_VOID_P == SIZEOF_INT +# define _Py_PARSE_INTPTR "i" +# define _Py_PARSE_UINTPTR "I" +#elif SIZEOF_VOID_P == SIZEOF_LONG +# define _Py_PARSE_INTPTR "l" +# define _Py_PARSE_UINTPTR "k" +#elif defined(SIZEOF_LONG_LONG) && SIZEOF_VOID_P == SIZEOF_LONG_LONG +# define _Py_PARSE_INTPTR "L" +# define _Py_PARSE_UINTPTR "K" +#else +# error "void* different in size from int, long and long long" +#endif /* SIZEOF_VOID_P */ + +PyAPI_FUNC(double) PyLong_AsDouble(PyObject *); +PyAPI_FUNC(PyObject *) PyLong_FromVoidPtr(void *); +PyAPI_FUNC(void *) PyLong_AsVoidPtr(PyObject *); + +PyAPI_FUNC(PyObject *) PyLong_FromLongLong(long long); +PyAPI_FUNC(PyObject *) PyLong_FromUnsignedLongLong(unsigned long long); +PyAPI_FUNC(long long) PyLong_AsLongLong(PyObject *); +PyAPI_FUNC(unsigned long long) PyLong_AsUnsignedLongLong(PyObject *); +PyAPI_FUNC(unsigned long long) PyLong_AsUnsignedLongLongMask(PyObject *); +PyAPI_FUNC(long long) PyLong_AsLongLongAndOverflow(PyObject *, int *); + +PyAPI_FUNC(PyObject *) PyLong_FromString(const char *, char **, int); + +/* These aren't really part of the int object, but they're handy. The + functions are in Python/mystrtoul.c. + */ +PyAPI_FUNC(unsigned long) PyOS_strtoul(const char *, char **, int); +PyAPI_FUNC(long) PyOS_strtol(const char *, char **, int); + +#ifndef Py_LIMITED_API +# define Py_CPYTHON_LONGOBJECT_H +# include "cpython/longobject.h" +# undef Py_CPYTHON_LONGOBJECT_H +#endif + +#ifdef __cplusplus +} +#endif +#endif /* !Py_LONGOBJECT_H */ diff --git a/_Pre_Builds/_Python312_cpp/include/marshal.h b/_Pre_Builds/_Python312_cpp/include/marshal.h new file mode 100644 index 0000000..f8b0de8 --- /dev/null +++ b/_Pre_Builds/_Python312_cpp/include/marshal.h @@ -0,0 +1,31 @@ + +/* Interface for marshal.c */ + +#ifndef Py_MARSHAL_H +#define Py_MARSHAL_H +#ifndef Py_LIMITED_API + +#ifdef __cplusplus +extern "C" { +#endif + +PyAPI_FUNC(PyObject *) PyMarshal_ReadObjectFromString(const char *, + Py_ssize_t); +PyAPI_FUNC(PyObject *) PyMarshal_WriteObjectToString(PyObject *, int); + +#define Py_MARSHAL_VERSION 4 + +PyAPI_FUNC(long) PyMarshal_ReadLongFromFile(FILE *); +PyAPI_FUNC(int) PyMarshal_ReadShortFromFile(FILE *); +PyAPI_FUNC(PyObject *) PyMarshal_ReadObjectFromFile(FILE *); +PyAPI_FUNC(PyObject *) PyMarshal_ReadLastObjectFromFile(FILE *); + +PyAPI_FUNC(void) PyMarshal_WriteLongToFile(long, FILE *, int); +PyAPI_FUNC(void) PyMarshal_WriteObjectToFile(PyObject *, FILE *, int); + +#ifdef __cplusplus +} +#endif + +#endif /* Py_LIMITED_API */ +#endif /* !Py_MARSHAL_H */ diff --git a/_Pre_Builds/_Python312_cpp/include/memoryobject.h b/_Pre_Builds/_Python312_cpp/include/memoryobject.h new file mode 100644 index 0000000..2c9146a --- /dev/null +++ b/_Pre_Builds/_Python312_cpp/include/memoryobject.h @@ -0,0 +1,34 @@ +/* Memory view object. In Python this is available as "memoryview". */ + +#ifndef Py_MEMORYOBJECT_H +#define Py_MEMORYOBJECT_H +#ifdef __cplusplus +extern "C" { +#endif + +PyAPI_DATA(PyTypeObject) PyMemoryView_Type; + +#define PyMemoryView_Check(op) Py_IS_TYPE((op), &PyMemoryView_Type) + +PyAPI_FUNC(PyObject *) PyMemoryView_FromObject(PyObject *base); +#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x03030000 +PyAPI_FUNC(PyObject *) PyMemoryView_FromMemory(char *mem, Py_ssize_t size, + int flags); +#endif +#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x030b0000 +PyAPI_FUNC(PyObject *) PyMemoryView_FromBuffer(const Py_buffer *info); +#endif +PyAPI_FUNC(PyObject *) PyMemoryView_GetContiguous(PyObject *base, + int buffertype, + char order); + +#ifndef Py_LIMITED_API +# define Py_CPYTHON_MEMORYOBJECT_H +# include "cpython/memoryobject.h" +# undef Py_CPYTHON_MEMORYOBJECT_H +#endif + +#ifdef __cplusplus +} +#endif +#endif /* !Py_MEMORYOBJECT_H */ diff --git a/_Pre_Builds/_Python312_cpp/include/methodobject.h b/_Pre_Builds/_Python312_cpp/include/methodobject.h new file mode 100644 index 0000000..72af5ad --- /dev/null +++ b/_Pre_Builds/_Python312_cpp/include/methodobject.h @@ -0,0 +1,132 @@ + +/* Method object interface */ + +#ifndef Py_METHODOBJECT_H +#define Py_METHODOBJECT_H +#ifdef __cplusplus +extern "C" { +#endif + +/* This is about the type 'builtin_function_or_method', + not Python methods in user-defined classes. See classobject.h + for the latter. */ + +PyAPI_DATA(PyTypeObject) PyCFunction_Type; + +#define PyCFunction_CheckExact(op) Py_IS_TYPE((op), &PyCFunction_Type) +#define PyCFunction_Check(op) PyObject_TypeCheck((op), &PyCFunction_Type) + +typedef PyObject *(*PyCFunction)(PyObject *, PyObject *); +typedef PyObject *(*_PyCFunctionFast) (PyObject *, PyObject *const *, Py_ssize_t); +typedef PyObject *(*PyCFunctionWithKeywords)(PyObject *, PyObject *, + PyObject *); +typedef PyObject *(*_PyCFunctionFastWithKeywords) (PyObject *, + PyObject *const *, Py_ssize_t, + PyObject *); +typedef PyObject *(*PyCMethod)(PyObject *, PyTypeObject *, PyObject *const *, + size_t, PyObject *); + +// Cast an function to the PyCFunction type to use it with PyMethodDef. +// +// This macro can be used to prevent compiler warnings if the first parameter +// uses a different pointer type than PyObject* (ex: METH_VARARGS and METH_O +// calling conventions). +// +// The macro can also be used for METH_FASTCALL and METH_VARARGS|METH_KEYWORDS +// calling conventions to avoid compiler warnings because the function has more +// than 2 parameters. The macro first casts the function to the +// "void func(void)" type to prevent compiler warnings. +// +// If a function is declared with the METH_NOARGS calling convention, it must +// have 2 parameters. Since the second parameter is unused, Py_UNUSED() can be +// used to prevent a compiler warning. If the function has a single parameter, +// it triggers an undefined behavior when Python calls it with 2 parameters +// (bpo-33012). +#define _PyCFunction_CAST(func) \ + _Py_CAST(PyCFunction, _Py_CAST(void(*)(void), (func))) + +PyAPI_FUNC(PyCFunction) PyCFunction_GetFunction(PyObject *); +PyAPI_FUNC(PyObject *) PyCFunction_GetSelf(PyObject *); +PyAPI_FUNC(int) PyCFunction_GetFlags(PyObject *); + +Py_DEPRECATED(3.9) PyAPI_FUNC(PyObject *) PyCFunction_Call(PyObject *, PyObject *, PyObject *); + +struct PyMethodDef { + const char *ml_name; /* The name of the built-in function/method */ + PyCFunction ml_meth; /* The C function that implements it */ + int ml_flags; /* Combination of METH_xxx flags, which mostly + describe the args expected by the C func */ + const char *ml_doc; /* The __doc__ attribute, or NULL */ +}; + +/* PyCFunction_New is declared as a function for stable ABI (declaration is + * needed for e.g. GCC with -fvisibility=hidden), but redefined as a macro + * that calls PyCFunction_NewEx. */ +PyAPI_FUNC(PyObject *) PyCFunction_New(PyMethodDef *, PyObject *); +#define PyCFunction_New(ML, SELF) PyCFunction_NewEx((ML), (SELF), NULL) + +/* PyCFunction_NewEx is similar: on 3.9+, this calls PyCMethod_New. */ +PyAPI_FUNC(PyObject *) PyCFunction_NewEx(PyMethodDef *, PyObject *, + PyObject *); + +#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x03090000 +#define PyCFunction_NewEx(ML, SELF, MOD) PyCMethod_New((ML), (SELF), (MOD), NULL) +PyAPI_FUNC(PyObject *) PyCMethod_New(PyMethodDef *, PyObject *, + PyObject *, PyTypeObject *); +#endif + + +/* Flag passed to newmethodobject */ +/* #define METH_OLDARGS 0x0000 -- unsupported now */ +#define METH_VARARGS 0x0001 +#define METH_KEYWORDS 0x0002 +/* METH_NOARGS and METH_O must not be combined with the flags above. */ +#define METH_NOARGS 0x0004 +#define METH_O 0x0008 + +/* METH_CLASS and METH_STATIC are a little different; these control + the construction of methods for a class. These cannot be used for + functions in modules. */ +#define METH_CLASS 0x0010 +#define METH_STATIC 0x0020 + +/* METH_COEXIST allows a method to be entered even though a slot has + already filled the entry. When defined, the flag allows a separate + method, "__contains__" for example, to coexist with a defined + slot like sq_contains. */ + +#define METH_COEXIST 0x0040 + +#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x030a0000 +# define METH_FASTCALL 0x0080 +#endif + +/* This bit is preserved for Stackless Python */ +#ifdef STACKLESS +# define METH_STACKLESS 0x0100 +#else +# define METH_STACKLESS 0x0000 +#endif + +/* METH_METHOD means the function stores an + * additional reference to the class that defines it; + * both self and class are passed to it. + * It uses PyCMethodObject instead of PyCFunctionObject. + * May not be combined with METH_NOARGS, METH_O, METH_CLASS or METH_STATIC. + */ + +#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x03090000 +#define METH_METHOD 0x0200 +#endif + + +#ifndef Py_LIMITED_API +# define Py_CPYTHON_METHODOBJECT_H +# include "cpython/methodobject.h" +# undef Py_CPYTHON_METHODOBJECT_H +#endif + +#ifdef __cplusplus +} +#endif +#endif /* !Py_METHODOBJECT_H */ diff --git a/_Pre_Builds/_Python312_cpp/include/modsupport.h b/_Pre_Builds/_Python312_cpp/include/modsupport.h new file mode 100644 index 0000000..1592bd0 --- /dev/null +++ b/_Pre_Builds/_Python312_cpp/include/modsupport.h @@ -0,0 +1,168 @@ + +#ifndef Py_MODSUPPORT_H +#define Py_MODSUPPORT_H +#ifdef __cplusplus +extern "C" { +#endif + +/* Module support interface */ + +#include // va_list + +/* If PY_SSIZE_T_CLEAN is defined, each functions treats #-specifier + to mean Py_ssize_t */ +#ifdef PY_SSIZE_T_CLEAN +#define PyArg_Parse _PyArg_Parse_SizeT +#define PyArg_ParseTuple _PyArg_ParseTuple_SizeT +#define PyArg_ParseTupleAndKeywords _PyArg_ParseTupleAndKeywords_SizeT +#define PyArg_VaParse _PyArg_VaParse_SizeT +#define PyArg_VaParseTupleAndKeywords _PyArg_VaParseTupleAndKeywords_SizeT +#define Py_BuildValue _Py_BuildValue_SizeT +#define Py_VaBuildValue _Py_VaBuildValue_SizeT +#endif + +/* Due to a glitch in 3.2, the _SizeT versions weren't exported from the DLL. */ +#if !defined(PY_SSIZE_T_CLEAN) || !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x03030000 +PyAPI_FUNC(int) PyArg_Parse(PyObject *, const char *, ...); +PyAPI_FUNC(int) PyArg_ParseTuple(PyObject *, const char *, ...); +PyAPI_FUNC(int) PyArg_ParseTupleAndKeywords(PyObject *, PyObject *, + const char *, char **, ...); +PyAPI_FUNC(int) PyArg_VaParse(PyObject *, const char *, va_list); +PyAPI_FUNC(int) PyArg_VaParseTupleAndKeywords(PyObject *, PyObject *, + const char *, char **, va_list); +#endif +PyAPI_FUNC(int) PyArg_ValidateKeywordArguments(PyObject *); +PyAPI_FUNC(int) PyArg_UnpackTuple(PyObject *, const char *, Py_ssize_t, Py_ssize_t, ...); +PyAPI_FUNC(PyObject *) Py_BuildValue(const char *, ...); +PyAPI_FUNC(PyObject *) _Py_BuildValue_SizeT(const char *, ...); + + +PyAPI_FUNC(PyObject *) Py_VaBuildValue(const char *, va_list); + +#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x030a0000 +// Add an attribute with name 'name' and value 'obj' to the module 'mod. +// On success, return 0 on success. +// On error, raise an exception and return -1. +PyAPI_FUNC(int) PyModule_AddObjectRef(PyObject *mod, const char *name, PyObject *value); +#endif /* Py_LIMITED_API */ + +// Similar to PyModule_AddObjectRef() but steal a reference to 'obj' +// (Py_DECREF(obj)) on success (if it returns 0). +PyAPI_FUNC(int) PyModule_AddObject(PyObject *mod, const char *, PyObject *value); + +PyAPI_FUNC(int) PyModule_AddIntConstant(PyObject *, const char *, long); +PyAPI_FUNC(int) PyModule_AddStringConstant(PyObject *, const char *, const char *); + +#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x03090000 +/* New in 3.9 */ +PyAPI_FUNC(int) PyModule_AddType(PyObject *module, PyTypeObject *type); +#endif /* Py_LIMITED_API */ + +#define PyModule_AddIntMacro(m, c) PyModule_AddIntConstant((m), #c, (c)) +#define PyModule_AddStringMacro(m, c) PyModule_AddStringConstant((m), #c, (c)) + +#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x03050000 +/* New in 3.5 */ +PyAPI_FUNC(int) PyModule_SetDocString(PyObject *, const char *); +PyAPI_FUNC(int) PyModule_AddFunctions(PyObject *, PyMethodDef *); +PyAPI_FUNC(int) PyModule_ExecDef(PyObject *module, PyModuleDef *def); +#endif + +#define Py_CLEANUP_SUPPORTED 0x20000 + +#define PYTHON_API_VERSION 1013 +#define PYTHON_API_STRING "1013" +/* The API version is maintained (independently from the Python version) + so we can detect mismatches between the interpreter and dynamically + loaded modules. These are diagnosed by an error message but + the module is still loaded (because the mismatch can only be tested + after loading the module). The error message is intended to + explain the core dump a few seconds later. + + The symbol PYTHON_API_STRING defines the same value as a string + literal. *** PLEASE MAKE SURE THE DEFINITIONS MATCH. *** + + Please add a line or two to the top of this log for each API + version change: + + 22-Feb-2006 MvL 1013 PEP 353 - long indices for sequence lengths + + 19-Aug-2002 GvR 1012 Changes to string object struct for + interning changes, saving 3 bytes. + + 17-Jul-2001 GvR 1011 Descr-branch, just to be on the safe side + + 25-Jan-2001 FLD 1010 Parameters added to PyCode_New() and + PyFrame_New(); Python 2.1a2 + + 14-Mar-2000 GvR 1009 Unicode API added + + 3-Jan-1999 GvR 1007 Decided to change back! (Don't reuse 1008!) + + 3-Dec-1998 GvR 1008 Python 1.5.2b1 + + 18-Jan-1997 GvR 1007 string interning and other speedups + + 11-Oct-1996 GvR renamed Py_Ellipses to Py_Ellipsis :-( + + 30-Jul-1996 GvR Slice and ellipses syntax added + + 23-Jul-1996 GvR For 1.4 -- better safe than sorry this time :-) + + 7-Nov-1995 GvR Keyword arguments (should've been done at 1.3 :-( ) + + 10-Jan-1995 GvR Renamed globals to new naming scheme + + 9-Jan-1995 GvR Initial version (incompatible with older API) +*/ + +/* The PYTHON_ABI_VERSION is introduced in PEP 384. For the lifetime of + Python 3, it will stay at the value of 3; changes to the limited API + must be performed in a strictly backwards-compatible manner. */ +#define PYTHON_ABI_VERSION 3 +#define PYTHON_ABI_STRING "3" + +#ifdef Py_TRACE_REFS + /* When we are tracing reference counts, rename module creation functions so + modules compiled with incompatible settings will generate a + link-time error. */ + #define PyModule_Create2 PyModule_Create2TraceRefs + #define PyModule_FromDefAndSpec2 PyModule_FromDefAndSpec2TraceRefs +#endif + +PyAPI_FUNC(PyObject *) PyModule_Create2(PyModuleDef*, int apiver); + +#ifdef Py_LIMITED_API +#define PyModule_Create(module) \ + PyModule_Create2((module), PYTHON_ABI_VERSION) +#else +#define PyModule_Create(module) \ + PyModule_Create2((module), PYTHON_API_VERSION) +#endif + +#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x03050000 +/* New in 3.5 */ +PyAPI_FUNC(PyObject *) PyModule_FromDefAndSpec2(PyModuleDef *def, + PyObject *spec, + int module_api_version); + +#ifdef Py_LIMITED_API +#define PyModule_FromDefAndSpec(module, spec) \ + PyModule_FromDefAndSpec2((module), (spec), PYTHON_ABI_VERSION) +#else +#define PyModule_FromDefAndSpec(module, spec) \ + PyModule_FromDefAndSpec2((module), (spec), PYTHON_API_VERSION) +#endif /* Py_LIMITED_API */ + +#endif /* New in 3.5 */ + +#ifndef Py_LIMITED_API +# define Py_CPYTHON_MODSUPPORT_H +# include "cpython/modsupport.h" +# undef Py_CPYTHON_MODSUPPORT_H +#endif + +#ifdef __cplusplus +} +#endif +#endif /* !Py_MODSUPPORT_H */ diff --git a/_Pre_Builds/_Python312_cpp/include/moduleobject.h b/_Pre_Builds/_Python312_cpp/include/moduleobject.h new file mode 100644 index 0000000..354d133 --- /dev/null +++ b/_Pre_Builds/_Python312_cpp/include/moduleobject.h @@ -0,0 +1,119 @@ + +/* Module object interface */ + +#ifndef Py_MODULEOBJECT_H +#define Py_MODULEOBJECT_H +#ifdef __cplusplus +extern "C" { +#endif + +PyAPI_DATA(PyTypeObject) PyModule_Type; + +#define PyModule_Check(op) PyObject_TypeCheck((op), &PyModule_Type) +#define PyModule_CheckExact(op) Py_IS_TYPE((op), &PyModule_Type) + +#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x03030000 +PyAPI_FUNC(PyObject *) PyModule_NewObject( + PyObject *name + ); +#endif +PyAPI_FUNC(PyObject *) PyModule_New( + const char *name /* UTF-8 encoded string */ + ); +PyAPI_FUNC(PyObject *) PyModule_GetDict(PyObject *); +#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x03030000 +PyAPI_FUNC(PyObject *) PyModule_GetNameObject(PyObject *); +#endif +PyAPI_FUNC(const char *) PyModule_GetName(PyObject *); +Py_DEPRECATED(3.2) PyAPI_FUNC(const char *) PyModule_GetFilename(PyObject *); +PyAPI_FUNC(PyObject *) PyModule_GetFilenameObject(PyObject *); +#ifndef Py_LIMITED_API +PyAPI_FUNC(void) _PyModule_Clear(PyObject *); +PyAPI_FUNC(void) _PyModule_ClearDict(PyObject *); +PyAPI_FUNC(int) _PyModuleSpec_IsInitializing(PyObject *); +#endif +PyAPI_FUNC(PyModuleDef*) PyModule_GetDef(PyObject*); +PyAPI_FUNC(void*) PyModule_GetState(PyObject*); + +#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x03050000 +/* New in 3.5 */ +PyAPI_FUNC(PyObject *) PyModuleDef_Init(PyModuleDef*); +PyAPI_DATA(PyTypeObject) PyModuleDef_Type; +#endif + +typedef struct PyModuleDef_Base { + PyObject_HEAD + /* The function used to re-initialize the module. + This is only set for legacy (single-phase init) extension modules + and only used for those that support multiple initializations + (m_size >= 0). + It is set by _PyImport_LoadDynamicModuleWithSpec() + and _imp.create_builtin(). */ + PyObject* (*m_init)(void); + /* The module's index into its interpreter's modules_by_index cache. + This is set for all extension modules but only used for legacy ones. + (See PyInterpreterState.modules_by_index for more info.) + It is set by PyModuleDef_Init(). */ + Py_ssize_t m_index; + /* A copy of the module's __dict__ after the first time it was loaded. + This is only set/used for legacy modules that do not support + multiple initializations. + It is set by _PyImport_FixupExtensionObject(). */ + PyObject* m_copy; +} PyModuleDef_Base; + +#define PyModuleDef_HEAD_INIT { \ + PyObject_HEAD_INIT(_Py_NULL) \ + _Py_NULL, /* m_init */ \ + 0, /* m_index */ \ + _Py_NULL, /* m_copy */ \ + } + +#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x03050000 +/* New in 3.5 */ +struct PyModuleDef_Slot { + int slot; + void *value; +}; + +#define Py_mod_create 1 +#define Py_mod_exec 2 +#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x030c0000 +# define Py_mod_multiple_interpreters 3 +#endif + +#ifndef Py_LIMITED_API +#define _Py_mod_LAST_SLOT 3 +#endif + +#endif /* New in 3.5 */ + +/* for Py_mod_multiple_interpreters: */ +#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x030c0000 +# define Py_MOD_MULTIPLE_INTERPRETERS_NOT_SUPPORTED ((void *)0) +# define Py_MOD_MULTIPLE_INTERPRETERS_SUPPORTED ((void *)1) +# define Py_MOD_PER_INTERPRETER_GIL_SUPPORTED ((void *)2) +#endif + +struct PyModuleDef { + PyModuleDef_Base m_base; + const char* m_name; + const char* m_doc; + Py_ssize_t m_size; + PyMethodDef *m_methods; + PyModuleDef_Slot *m_slots; + traverseproc m_traverse; + inquiry m_clear; + freefunc m_free; +}; + + +// Internal C API +#ifdef Py_BUILD_CORE +extern int _PyModule_IsExtension(PyObject *obj); +#endif + +#ifdef __cplusplus +} +#endif +#endif /* !Py_MODULEOBJECT_H */ diff --git a/_Pre_Builds/_Python312_cpp/include/object.h b/_Pre_Builds/_Python312_cpp/include/object.h new file mode 100644 index 0000000..5c30c77 --- /dev/null +++ b/_Pre_Builds/_Python312_cpp/include/object.h @@ -0,0 +1,994 @@ +#ifndef Py_OBJECT_H +#define Py_OBJECT_H +#ifdef __cplusplus +extern "C" { +#endif + + +/* Object and type object interface */ + +/* +Objects are structures allocated on the heap. Special rules apply to +the use of objects to ensure they are properly garbage-collected. +Objects are never allocated statically or on the stack; they must be +accessed through special macros and functions only. (Type objects are +exceptions to the first rule; the standard types are represented by +statically initialized type objects, although work on type/class unification +for Python 2.2 made it possible to have heap-allocated type objects too). + +An object has a 'reference count' that is increased or decreased when a +pointer to the object is copied or deleted; when the reference count +reaches zero there are no references to the object left and it can be +removed from the heap. + +An object has a 'type' that determines what it represents and what kind +of data it contains. An object's type is fixed when it is created. +Types themselves are represented as objects; an object contains a +pointer to the corresponding type object. The type itself has a type +pointer pointing to the object representing the type 'type', which +contains a pointer to itself!. + +Objects do not float around in memory; once allocated an object keeps +the same size and address. Objects that must hold variable-size data +can contain pointers to variable-size parts of the object. Not all +objects of the same type have the same size; but the size cannot change +after allocation. (These restrictions are made so a reference to an +object can be simply a pointer -- moving an object would require +updating all the pointers, and changing an object's size would require +moving it if there was another object right next to it.) + +Objects are always accessed through pointers of the type 'PyObject *'. +The type 'PyObject' is a structure that only contains the reference count +and the type pointer. The actual memory allocated for an object +contains other data that can only be accessed after casting the pointer +to a pointer to a longer structure type. This longer type must start +with the reference count and type fields; the macro PyObject_HEAD should be +used for this (to accommodate for future changes). The implementation +of a particular object type can cast the object pointer to the proper +type and back. + +A standard interface exists for objects that contain an array of items +whose size is determined when the object is allocated. +*/ + +#include "pystats.h" + +/* Py_DEBUG implies Py_REF_DEBUG. */ +#if defined(Py_DEBUG) && !defined(Py_REF_DEBUG) +# define Py_REF_DEBUG +#endif + +#if defined(Py_LIMITED_API) && defined(Py_TRACE_REFS) +# error Py_LIMITED_API is incompatible with Py_TRACE_REFS +#endif + +#ifdef Py_TRACE_REFS +/* Define pointers to support a doubly-linked list of all live heap objects. */ +#define _PyObject_HEAD_EXTRA \ + PyObject *_ob_next; \ + PyObject *_ob_prev; + +#define _PyObject_EXTRA_INIT _Py_NULL, _Py_NULL, + +#else +# define _PyObject_HEAD_EXTRA +# define _PyObject_EXTRA_INIT +#endif + +/* PyObject_HEAD defines the initial segment of every PyObject. */ +#define PyObject_HEAD PyObject ob_base; + +/* +Immortalization: + +The following indicates the immortalization strategy depending on the amount +of available bits in the reference count field. All strategies are backwards +compatible but the specific reference count value or immortalization check +might change depending on the specializations for the underlying system. + +Proper deallocation of immortal instances requires distinguishing between +statically allocated immortal instances vs those promoted by the runtime to be +immortal. The latter should be the only instances that require +cleanup during runtime finalization. +*/ + +#if SIZEOF_VOID_P > 4 +/* +In 64+ bit systems, an object will be marked as immortal by setting all of the +lower 32 bits of the reference count field, which is equal to: 0xFFFFFFFF + +Using the lower 32 bits makes the value backwards compatible by allowing +C-Extensions without the updated checks in Py_INCREF and Py_DECREF to safely +increase and decrease the objects reference count. The object would lose its +immortality, but the execution would still be correct. + +Reference count increases will use saturated arithmetic, taking advantage of +having all the lower 32 bits set, which will avoid the reference count to go +beyond the refcount limit. Immortality checks for reference count decreases will +be done by checking the bit sign flag in the lower 32 bits. +*/ +#define _Py_IMMORTAL_REFCNT UINT_MAX + +#else +/* +In 32 bit systems, an object will be marked as immortal by setting all of the +lower 30 bits of the reference count field, which is equal to: 0x3FFFFFFF + +Using the lower 30 bits makes the value backwards compatible by allowing +C-Extensions without the updated checks in Py_INCREF and Py_DECREF to safely +increase and decrease the objects reference count. The object would lose its +immortality, but the execution would still be correct. + +Reference count increases and decreases will first go through an immortality +check by comparing the reference count field to the immortality reference count. +*/ +#define _Py_IMMORTAL_REFCNT (UINT_MAX >> 2) +#endif + +// Make all internal uses of PyObject_HEAD_INIT immortal while preserving the +// C-API expectation that the refcnt will be set to 1. +#ifdef Py_BUILD_CORE +#define PyObject_HEAD_INIT(type) \ + { \ + _PyObject_EXTRA_INIT \ + { _Py_IMMORTAL_REFCNT }, \ + (type) \ + }, +#else +#define PyObject_HEAD_INIT(type) \ + { \ + _PyObject_EXTRA_INIT \ + { 1 }, \ + (type) \ + }, +#endif /* Py_BUILD_CORE */ + +#define PyVarObject_HEAD_INIT(type, size) \ + { \ + PyObject_HEAD_INIT(type) \ + (size) \ + }, + +/* PyObject_VAR_HEAD defines the initial segment of all variable-size + * container objects. These end with a declaration of an array with 1 + * element, but enough space is malloc'ed so that the array actually + * has room for ob_size elements. Note that ob_size is an element count, + * not necessarily a byte count. + */ +#define PyObject_VAR_HEAD PyVarObject ob_base; +#define Py_INVALID_SIZE (Py_ssize_t)-1 + +/* Nothing is actually declared to be a PyObject, but every pointer to + * a Python object can be cast to a PyObject*. This is inheritance built + * by hand. Similarly every pointer to a variable-size Python object can, + * in addition, be cast to PyVarObject*. + */ +struct _object { + _PyObject_HEAD_EXTRA + +#if (defined(__GNUC__) || defined(__clang__)) \ + && !(defined __STDC_VERSION__ && __STDC_VERSION__ >= 201112L) + // On C99 and older, anonymous union is a GCC and clang extension + __extension__ +#endif +#ifdef _MSC_VER + // Ignore MSC warning C4201: "nonstandard extension used: + // nameless struct/union" + __pragma(warning(push)) + __pragma(warning(disable: 4201)) +#endif + union { + Py_ssize_t ob_refcnt; +#if SIZEOF_VOID_P > 4 + PY_UINT32_T ob_refcnt_split[2]; +#endif + }; +#ifdef _MSC_VER + __pragma(warning(pop)) +#endif + + PyTypeObject *ob_type; +}; + +/* Cast argument to PyObject* type. */ +#define _PyObject_CAST(op) _Py_CAST(PyObject*, (op)) + +typedef struct { + PyObject ob_base; + Py_ssize_t ob_size; /* Number of items in variable part */ +} PyVarObject; + +/* Cast argument to PyVarObject* type. */ +#define _PyVarObject_CAST(op) _Py_CAST(PyVarObject*, (op)) + + +// Test if the 'x' object is the 'y' object, the same as "x is y" in Python. +PyAPI_FUNC(int) Py_Is(PyObject *x, PyObject *y); +#define Py_Is(x, y) ((x) == (y)) + + +static inline Py_ssize_t Py_REFCNT(PyObject *ob) { + return ob->ob_refcnt; +} +#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 < 0x030b0000 +# define Py_REFCNT(ob) Py_REFCNT(_PyObject_CAST(ob)) +#endif + + +// bpo-39573: The Py_SET_TYPE() function must be used to set an object type. +static inline PyTypeObject* Py_TYPE(PyObject *ob) { + return ob->ob_type; +} +#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 < 0x030b0000 +# define Py_TYPE(ob) Py_TYPE(_PyObject_CAST(ob)) +#endif + +PyAPI_DATA(PyTypeObject) PyLong_Type; +PyAPI_DATA(PyTypeObject) PyBool_Type; + +// bpo-39573: The Py_SET_SIZE() function must be used to set an object size. +static inline Py_ssize_t Py_SIZE(PyObject *ob) { + assert(ob->ob_type != &PyLong_Type); + assert(ob->ob_type != &PyBool_Type); + PyVarObject *var_ob = _PyVarObject_CAST(ob); + return var_ob->ob_size; +} +#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 < 0x030b0000 +# define Py_SIZE(ob) Py_SIZE(_PyObject_CAST(ob)) +#endif + +static inline Py_ALWAYS_INLINE int _Py_IsImmortal(PyObject *op) +{ +#if SIZEOF_VOID_P > 4 + return _Py_CAST(PY_INT32_T, op->ob_refcnt) < 0; +#else + return op->ob_refcnt == _Py_IMMORTAL_REFCNT; +#endif +} +#define _Py_IsImmortal(op) _Py_IsImmortal(_PyObject_CAST(op)) + +static inline int Py_IS_TYPE(PyObject *ob, PyTypeObject *type) { + return Py_TYPE(ob) == type; +} +#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 < 0x030b0000 +# define Py_IS_TYPE(ob, type) Py_IS_TYPE(_PyObject_CAST(ob), (type)) +#endif + + +static inline void Py_SET_REFCNT(PyObject *ob, Py_ssize_t refcnt) { + // This immortal check is for code that is unaware of immortal objects. + // The runtime tracks these objects and we should avoid as much + // as possible having extensions inadvertently change the refcnt + // of an immortalized object. + if (_Py_IsImmortal(ob)) { + return; + } + ob->ob_refcnt = refcnt; +} +#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 < 0x030b0000 +# define Py_SET_REFCNT(ob, refcnt) Py_SET_REFCNT(_PyObject_CAST(ob), (refcnt)) +#endif + + +static inline void Py_SET_TYPE(PyObject *ob, PyTypeObject *type) { + ob->ob_type = type; +} +#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 < 0x030b0000 +# define Py_SET_TYPE(ob, type) Py_SET_TYPE(_PyObject_CAST(ob), type) +#endif + +static inline void Py_SET_SIZE(PyVarObject *ob, Py_ssize_t size) { + assert(ob->ob_base.ob_type != &PyLong_Type); + assert(ob->ob_base.ob_type != &PyBool_Type); + ob->ob_size = size; +} +#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 < 0x030b0000 +# define Py_SET_SIZE(ob, size) Py_SET_SIZE(_PyVarObject_CAST(ob), (size)) +#endif + + +/* +Type objects contain a string containing the type name (to help somewhat +in debugging), the allocation parameters (see PyObject_New() and +PyObject_NewVar()), +and methods for accessing objects of the type. Methods are optional, a +nil pointer meaning that particular kind of access is not available for +this type. The Py_DECREF() macro uses the tp_dealloc method without +checking for a nil pointer; it should always be implemented except if +the implementation can guarantee that the reference count will never +reach zero (e.g., for statically allocated type objects). + +NB: the methods for certain type groups are now contained in separate +method blocks. +*/ + +typedef PyObject * (*unaryfunc)(PyObject *); +typedef PyObject * (*binaryfunc)(PyObject *, PyObject *); +typedef PyObject * (*ternaryfunc)(PyObject *, PyObject *, PyObject *); +typedef int (*inquiry)(PyObject *); +typedef Py_ssize_t (*lenfunc)(PyObject *); +typedef PyObject *(*ssizeargfunc)(PyObject *, Py_ssize_t); +typedef PyObject *(*ssizessizeargfunc)(PyObject *, Py_ssize_t, Py_ssize_t); +typedef int(*ssizeobjargproc)(PyObject *, Py_ssize_t, PyObject *); +typedef int(*ssizessizeobjargproc)(PyObject *, Py_ssize_t, Py_ssize_t, PyObject *); +typedef int(*objobjargproc)(PyObject *, PyObject *, PyObject *); + +typedef int (*objobjproc)(PyObject *, PyObject *); +typedef int (*visitproc)(PyObject *, void *); +typedef int (*traverseproc)(PyObject *, visitproc, void *); + + +typedef void (*freefunc)(void *); +typedef void (*destructor)(PyObject *); +typedef PyObject *(*getattrfunc)(PyObject *, char *); +typedef PyObject *(*getattrofunc)(PyObject *, PyObject *); +typedef int (*setattrfunc)(PyObject *, char *, PyObject *); +typedef int (*setattrofunc)(PyObject *, PyObject *, PyObject *); +typedef PyObject *(*reprfunc)(PyObject *); +typedef Py_hash_t (*hashfunc)(PyObject *); +typedef PyObject *(*richcmpfunc) (PyObject *, PyObject *, int); +typedef PyObject *(*getiterfunc) (PyObject *); +typedef PyObject *(*iternextfunc) (PyObject *); +typedef PyObject *(*descrgetfunc) (PyObject *, PyObject *, PyObject *); +typedef int (*descrsetfunc) (PyObject *, PyObject *, PyObject *); +typedef int (*initproc)(PyObject *, PyObject *, PyObject *); +typedef PyObject *(*newfunc)(PyTypeObject *, PyObject *, PyObject *); +typedef PyObject *(*allocfunc)(PyTypeObject *, Py_ssize_t); + +#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x030c0000 // 3.12 +typedef PyObject *(*vectorcallfunc)(PyObject *callable, PyObject *const *args, + size_t nargsf, PyObject *kwnames); +#endif + +typedef struct{ + int slot; /* slot id, see below */ + void *pfunc; /* function pointer */ +} PyType_Slot; + +typedef struct{ + const char* name; + int basicsize; + int itemsize; + unsigned int flags; + PyType_Slot *slots; /* terminated by slot==0. */ +} PyType_Spec; + +PyAPI_FUNC(PyObject*) PyType_FromSpec(PyType_Spec*); +#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x03030000 +PyAPI_FUNC(PyObject*) PyType_FromSpecWithBases(PyType_Spec*, PyObject*); +#endif +#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x03040000 +PyAPI_FUNC(void*) PyType_GetSlot(PyTypeObject*, int); +#endif +#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x03090000 +PyAPI_FUNC(PyObject*) PyType_FromModuleAndSpec(PyObject *, PyType_Spec *, PyObject *); +PyAPI_FUNC(PyObject *) PyType_GetModule(PyTypeObject *); +PyAPI_FUNC(void *) PyType_GetModuleState(PyTypeObject *); +#endif +#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x030B0000 +PyAPI_FUNC(PyObject *) PyType_GetName(PyTypeObject *); +PyAPI_FUNC(PyObject *) PyType_GetQualName(PyTypeObject *); +#endif +#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x030C0000 +PyAPI_FUNC(PyObject *) PyType_FromMetaclass(PyTypeObject*, PyObject*, PyType_Spec*, PyObject*); +PyAPI_FUNC(void *) PyObject_GetTypeData(PyObject *obj, PyTypeObject *cls); +PyAPI_FUNC(Py_ssize_t) PyType_GetTypeDataSize(PyTypeObject *cls); +#endif + +/* Generic type check */ +PyAPI_FUNC(int) PyType_IsSubtype(PyTypeObject *, PyTypeObject *); + +static inline int PyObject_TypeCheck(PyObject *ob, PyTypeObject *type) { + return Py_IS_TYPE(ob, type) || PyType_IsSubtype(Py_TYPE(ob), type); +} +#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 < 0x030b0000 +# define PyObject_TypeCheck(ob, type) PyObject_TypeCheck(_PyObject_CAST(ob), (type)) +#endif + +PyAPI_DATA(PyTypeObject) PyType_Type; /* built-in 'type' */ +PyAPI_DATA(PyTypeObject) PyBaseObject_Type; /* built-in 'object' */ +PyAPI_DATA(PyTypeObject) PySuper_Type; /* built-in 'super' */ + +PyAPI_FUNC(unsigned long) PyType_GetFlags(PyTypeObject*); + +PyAPI_FUNC(int) PyType_Ready(PyTypeObject *); +PyAPI_FUNC(PyObject *) PyType_GenericAlloc(PyTypeObject *, Py_ssize_t); +PyAPI_FUNC(PyObject *) PyType_GenericNew(PyTypeObject *, + PyObject *, PyObject *); +PyAPI_FUNC(unsigned int) PyType_ClearCache(void); +PyAPI_FUNC(void) PyType_Modified(PyTypeObject *); + +/* Generic operations on objects */ +PyAPI_FUNC(PyObject *) PyObject_Repr(PyObject *); +PyAPI_FUNC(PyObject *) PyObject_Str(PyObject *); +PyAPI_FUNC(PyObject *) PyObject_ASCII(PyObject *); +PyAPI_FUNC(PyObject *) PyObject_Bytes(PyObject *); +PyAPI_FUNC(PyObject *) PyObject_RichCompare(PyObject *, PyObject *, int); +PyAPI_FUNC(int) PyObject_RichCompareBool(PyObject *, PyObject *, int); +PyAPI_FUNC(PyObject *) PyObject_GetAttrString(PyObject *, const char *); +PyAPI_FUNC(int) PyObject_SetAttrString(PyObject *, const char *, PyObject *); +PyAPI_FUNC(int) PyObject_HasAttrString(PyObject *, const char *); +PyAPI_FUNC(PyObject *) PyObject_GetAttr(PyObject *, PyObject *); +PyAPI_FUNC(int) PyObject_SetAttr(PyObject *, PyObject *, PyObject *); +PyAPI_FUNC(int) PyObject_HasAttr(PyObject *, PyObject *); +PyAPI_FUNC(PyObject *) PyObject_SelfIter(PyObject *); +PyAPI_FUNC(PyObject *) PyObject_GenericGetAttr(PyObject *, PyObject *); +PyAPI_FUNC(int) PyObject_GenericSetAttr(PyObject *, PyObject *, PyObject *); +#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x03030000 +PyAPI_FUNC(int) PyObject_GenericSetDict(PyObject *, PyObject *, void *); +#endif +PyAPI_FUNC(Py_hash_t) PyObject_Hash(PyObject *); +PyAPI_FUNC(Py_hash_t) PyObject_HashNotImplemented(PyObject *); +PyAPI_FUNC(int) PyObject_IsTrue(PyObject *); +PyAPI_FUNC(int) PyObject_Not(PyObject *); +PyAPI_FUNC(int) PyCallable_Check(PyObject *); +PyAPI_FUNC(void) PyObject_ClearWeakRefs(PyObject *); + +/* PyObject_Dir(obj) acts like Python builtins.dir(obj), returning a + list of strings. PyObject_Dir(NULL) is like builtins.dir(), + returning the names of the current locals. In this case, if there are + no current locals, NULL is returned, and PyErr_Occurred() is false. +*/ +PyAPI_FUNC(PyObject *) PyObject_Dir(PyObject *); + +/* Pickle support. */ +#ifndef Py_LIMITED_API +PyAPI_FUNC(PyObject *) _PyObject_GetState(PyObject *); +#endif + + +/* Helpers for printing recursive container types */ +PyAPI_FUNC(int) Py_ReprEnter(PyObject *); +PyAPI_FUNC(void) Py_ReprLeave(PyObject *); + +/* Flag bits for printing: */ +#define Py_PRINT_RAW 1 /* No string quotes etc. */ + +/* +Type flags (tp_flags) + +These flags are used to change expected features and behavior for a +particular type. + +Arbitration of the flag bit positions will need to be coordinated among +all extension writers who publicly release their extensions (this will +be fewer than you might expect!). + +Most flags were removed as of Python 3.0 to make room for new flags. (Some +flags are not for backwards compatibility but to indicate the presence of an +optional feature; these flags remain of course.) + +Type definitions should use Py_TPFLAGS_DEFAULT for their tp_flags value. + +Code can use PyType_HasFeature(type_ob, flag_value) to test whether the +given type object has a specified feature. +*/ + +#ifndef Py_LIMITED_API + +/* Track types initialized using _PyStaticType_InitBuiltin(). */ +#define _Py_TPFLAGS_STATIC_BUILTIN (1 << 1) + +/* Placement of weakref pointers are managed by the VM, not by the type. + * The VM will automatically set tp_weaklistoffset. + */ +#define Py_TPFLAGS_MANAGED_WEAKREF (1 << 3) + +/* Placement of dict (and values) pointers are managed by the VM, not by the type. + * The VM will automatically set tp_dictoffset. + */ +#define Py_TPFLAGS_MANAGED_DICT (1 << 4) + +#define Py_TPFLAGS_PREHEADER (Py_TPFLAGS_MANAGED_WEAKREF | Py_TPFLAGS_MANAGED_DICT) + +/* Set if instances of the type object are treated as sequences for pattern matching */ +#define Py_TPFLAGS_SEQUENCE (1 << 5) +/* Set if instances of the type object are treated as mappings for pattern matching */ +#define Py_TPFLAGS_MAPPING (1 << 6) +#endif + +/* Disallow creating instances of the type: set tp_new to NULL and don't create + * the "__new__" key in the type dictionary. */ +#define Py_TPFLAGS_DISALLOW_INSTANTIATION (1UL << 7) + +/* Set if the type object is immutable: type attributes cannot be set nor deleted */ +#define Py_TPFLAGS_IMMUTABLETYPE (1UL << 8) + +/* Set if the type object is dynamically allocated */ +#define Py_TPFLAGS_HEAPTYPE (1UL << 9) + +/* Set if the type allows subclassing */ +#define Py_TPFLAGS_BASETYPE (1UL << 10) + +/* Set if the type implements the vectorcall protocol (PEP 590) */ +#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x030C0000 +#define Py_TPFLAGS_HAVE_VECTORCALL (1UL << 11) +#ifndef Py_LIMITED_API +// Backwards compatibility alias for API that was provisional in Python 3.8 +#define _Py_TPFLAGS_HAVE_VECTORCALL Py_TPFLAGS_HAVE_VECTORCALL +#endif +#endif + +/* Set if the type is 'ready' -- fully initialized */ +#define Py_TPFLAGS_READY (1UL << 12) + +/* Set while the type is being 'readied', to prevent recursive ready calls */ +#define Py_TPFLAGS_READYING (1UL << 13) + +/* Objects support garbage collection (see objimpl.h) */ +#define Py_TPFLAGS_HAVE_GC (1UL << 14) + +/* These two bits are preserved for Stackless Python, next after this is 17 */ +#ifdef STACKLESS +#define Py_TPFLAGS_HAVE_STACKLESS_EXTENSION (3UL << 15) +#else +#define Py_TPFLAGS_HAVE_STACKLESS_EXTENSION 0 +#endif + +/* Objects behave like an unbound method */ +#define Py_TPFLAGS_METHOD_DESCRIPTOR (1UL << 17) + +/* Object has up-to-date type attribute cache */ +#define Py_TPFLAGS_VALID_VERSION_TAG (1UL << 19) + +/* Type is abstract and cannot be instantiated */ +#define Py_TPFLAGS_IS_ABSTRACT (1UL << 20) + +// This undocumented flag gives certain built-ins their unique pattern-matching +// behavior, which allows a single positional subpattern to match against the +// subject itself (rather than a mapped attribute on it): +#define _Py_TPFLAGS_MATCH_SELF (1UL << 22) + +/* Items (ob_size*tp_itemsize) are found at the end of an instance's memory */ +#define Py_TPFLAGS_ITEMS_AT_END (1UL << 23) + +/* These flags are used to determine if a type is a subclass. */ +#define Py_TPFLAGS_LONG_SUBCLASS (1UL << 24) +#define Py_TPFLAGS_LIST_SUBCLASS (1UL << 25) +#define Py_TPFLAGS_TUPLE_SUBCLASS (1UL << 26) +#define Py_TPFLAGS_BYTES_SUBCLASS (1UL << 27) +#define Py_TPFLAGS_UNICODE_SUBCLASS (1UL << 28) +#define Py_TPFLAGS_DICT_SUBCLASS (1UL << 29) +#define Py_TPFLAGS_BASE_EXC_SUBCLASS (1UL << 30) +#define Py_TPFLAGS_TYPE_SUBCLASS (1UL << 31) + +#define Py_TPFLAGS_DEFAULT ( \ + Py_TPFLAGS_HAVE_STACKLESS_EXTENSION | \ + 0) + +/* NOTE: Some of the following flags reuse lower bits (removed as part of the + * Python 3.0 transition). */ + +/* The following flags are kept for compatibility; in previous + * versions they indicated presence of newer tp_* fields on the + * type struct. + * Starting with 3.8, binary compatibility of C extensions across + * feature releases of Python is not supported anymore (except when + * using the stable ABI, in which all classes are created dynamically, + * using the interpreter's memory layout.) + * Note that older extensions using the stable ABI set these flags, + * so the bits must not be repurposed. + */ +#define Py_TPFLAGS_HAVE_FINALIZE (1UL << 0) +#define Py_TPFLAGS_HAVE_VERSION_TAG (1UL << 18) + + +/* +The macros Py_INCREF(op) and Py_DECREF(op) are used to increment or decrement +reference counts. Py_DECREF calls the object's deallocator function when +the refcount falls to 0; for +objects that don't contain references to other objects or heap memory +this can be the standard function free(). Both macros can be used +wherever a void expression is allowed. The argument must not be a +NULL pointer. If it may be NULL, use Py_XINCREF/Py_XDECREF instead. +The macro _Py_NewReference(op) initialize reference counts to 1, and +in special builds (Py_REF_DEBUG, Py_TRACE_REFS) performs additional +bookkeeping appropriate to the special build. + +We assume that the reference count field can never overflow; this can +be proven when the size of the field is the same as the pointer size, so +we ignore the possibility. Provided a C int is at least 32 bits (which +is implicitly assumed in many parts of this code), that's enough for +about 2**31 references to an object. + +XXX The following became out of date in Python 2.2, but I'm not sure +XXX what the full truth is now. Certainly, heap-allocated type objects +XXX can and should be deallocated. +Type objects should never be deallocated; the type pointer in an object +is not considered to be a reference to the type object, to save +complications in the deallocation function. (This is actually a +decision that's up to the implementer of each new type so if you want, +you can count such references to the type object.) +*/ + +#if defined(Py_REF_DEBUG) && !defined(Py_LIMITED_API) +PyAPI_FUNC(void) _Py_NegativeRefcount(const char *filename, int lineno, + PyObject *op); +PyAPI_FUNC(void) _Py_INCREF_IncRefTotal(void); +PyAPI_FUNC(void) _Py_DECREF_DecRefTotal(void); +#endif // Py_REF_DEBUG && !Py_LIMITED_API + +PyAPI_FUNC(void) _Py_Dealloc(PyObject *); + +/* +These are provided as conveniences to Python runtime embedders, so that +they can have object code that is not dependent on Python compilation flags. +*/ +PyAPI_FUNC(void) Py_IncRef(PyObject *); +PyAPI_FUNC(void) Py_DecRef(PyObject *); + +// Similar to Py_IncRef() and Py_DecRef() but the argument must be non-NULL. +// Private functions used by Py_INCREF() and Py_DECREF(). +PyAPI_FUNC(void) _Py_IncRef(PyObject *); +PyAPI_FUNC(void) _Py_DecRef(PyObject *); + +static inline Py_ALWAYS_INLINE void Py_INCREF(PyObject *op) +{ +#if defined(Py_LIMITED_API) && (Py_LIMITED_API+0 >= 0x030c0000 || defined(Py_REF_DEBUG)) + // Stable ABI implements Py_INCREF() as a function call on limited C API + // version 3.12 and newer, and on Python built in debug mode. _Py_IncRef() + // was added to Python 3.10.0a7, use Py_IncRef() on older Python versions. + // Py_IncRef() accepts NULL whereas _Py_IncRef() doesn't. +# if Py_LIMITED_API+0 >= 0x030a00A7 + _Py_IncRef(op); +# else + Py_IncRef(op); +# endif +#else + // Non-limited C API and limited C API for Python 3.9 and older access + // directly PyObject.ob_refcnt. +#if SIZEOF_VOID_P > 4 + // Portable saturated add, branching on the carry flag and set low bits + PY_UINT32_T cur_refcnt = op->ob_refcnt_split[PY_BIG_ENDIAN]; + PY_UINT32_T new_refcnt = cur_refcnt + 1; + if (new_refcnt == 0) { + return; + } + op->ob_refcnt_split[PY_BIG_ENDIAN] = new_refcnt; +#else + // Explicitly check immortality against the immortal value + if (_Py_IsImmortal(op)) { + return; + } + op->ob_refcnt++; +#endif + _Py_INCREF_STAT_INC(); +#ifdef Py_REF_DEBUG + _Py_INCREF_IncRefTotal(); +#endif +#endif +} +#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 < 0x030b0000 +# define Py_INCREF(op) Py_INCREF(_PyObject_CAST(op)) +#endif + +#if defined(Py_LIMITED_API) && (Py_LIMITED_API+0 >= 0x030c0000 || defined(Py_REF_DEBUG)) +// Stable ABI implements Py_DECREF() as a function call on limited C API +// version 3.12 and newer, and on Python built in debug mode. _Py_DecRef() was +// added to Python 3.10.0a7, use Py_DecRef() on older Python versions. +// Py_DecRef() accepts NULL whereas _Py_IncRef() doesn't. +static inline void Py_DECREF(PyObject *op) { +# if Py_LIMITED_API+0 >= 0x030a00A7 + _Py_DecRef(op); +# else + Py_DecRef(op); +# endif +} +#define Py_DECREF(op) Py_DECREF(_PyObject_CAST(op)) + +#elif defined(Py_REF_DEBUG) +static inline void Py_DECREF(const char *filename, int lineno, PyObject *op) +{ + if (op->ob_refcnt <= 0) { + _Py_NegativeRefcount(filename, lineno, op); + } + if (_Py_IsImmortal(op)) { + return; + } + _Py_DECREF_STAT_INC(); + _Py_DECREF_DecRefTotal(); + if (--op->ob_refcnt == 0) { + _Py_Dealloc(op); + } +} +#define Py_DECREF(op) Py_DECREF(__FILE__, __LINE__, _PyObject_CAST(op)) + +#else +static inline Py_ALWAYS_INLINE void Py_DECREF(PyObject *op) +{ + // Non-limited C API and limited C API for Python 3.9 and older access + // directly PyObject.ob_refcnt. + if (_Py_IsImmortal(op)) { + return; + } + _Py_DECREF_STAT_INC(); + if (--op->ob_refcnt == 0) { + _Py_Dealloc(op); + } +} +#define Py_DECREF(op) Py_DECREF(_PyObject_CAST(op)) +#endif + + +/* Safely decref `op` and set `op` to NULL, especially useful in tp_clear + * and tp_dealloc implementations. + * + * Note that "the obvious" code can be deadly: + * + * Py_XDECREF(op); + * op = NULL; + * + * Typically, `op` is something like self->containee, and `self` is done + * using its `containee` member. In the code sequence above, suppose + * `containee` is non-NULL with a refcount of 1. Its refcount falls to + * 0 on the first line, which can trigger an arbitrary amount of code, + * possibly including finalizers (like __del__ methods or weakref callbacks) + * coded in Python, which in turn can release the GIL and allow other threads + * to run, etc. Such code may even invoke methods of `self` again, or cause + * cyclic gc to trigger, but-- oops! --self->containee still points to the + * object being torn down, and it may be in an insane state while being torn + * down. This has in fact been a rich historic source of miserable (rare & + * hard-to-diagnose) segfaulting (and other) bugs. + * + * The safe way is: + * + * Py_CLEAR(op); + * + * That arranges to set `op` to NULL _before_ decref'ing, so that any code + * triggered as a side-effect of `op` getting torn down no longer believes + * `op` points to a valid object. + * + * There are cases where it's safe to use the naive code, but they're brittle. + * For example, if `op` points to a Python integer, you know that destroying + * one of those can't cause problems -- but in part that relies on that + * Python integers aren't currently weakly referencable. Best practice is + * to use Py_CLEAR() even if you can't think of a reason for why you need to. + * + * gh-98724: Use a temporary variable to only evaluate the macro argument once, + * to avoid the duplication of side effects if the argument has side effects. + * + * gh-99701: If the PyObject* type is used with casting arguments to PyObject*, + * the code can be miscompiled with strict aliasing because of type punning. + * With strict aliasing, a compiler considers that two pointers of different + * types cannot read or write the same memory which enables optimization + * opportunities. + * + * If available, use _Py_TYPEOF() to use the 'op' type for temporary variables, + * and so avoid type punning. Otherwise, use memcpy() which causes type erasure + * and so prevents the compiler to reuse an old cached 'op' value after + * Py_CLEAR(). + */ +#ifdef _Py_TYPEOF +#define Py_CLEAR(op) \ + do { \ + _Py_TYPEOF(op)* _tmp_op_ptr = &(op); \ + _Py_TYPEOF(op) _tmp_old_op = (*_tmp_op_ptr); \ + if (_tmp_old_op != NULL) { \ + *_tmp_op_ptr = _Py_NULL; \ + Py_DECREF(_tmp_old_op); \ + } \ + } while (0) +#else +#define Py_CLEAR(op) \ + do { \ + PyObject **_tmp_op_ptr = _Py_CAST(PyObject**, &(op)); \ + PyObject *_tmp_old_op = (*_tmp_op_ptr); \ + if (_tmp_old_op != NULL) { \ + PyObject *_null_ptr = _Py_NULL; \ + memcpy(_tmp_op_ptr, &_null_ptr, sizeof(PyObject*)); \ + Py_DECREF(_tmp_old_op); \ + } \ + } while (0) +#endif + + +/* Function to use in case the object pointer can be NULL: */ +static inline void Py_XINCREF(PyObject *op) +{ + if (op != _Py_NULL) { + Py_INCREF(op); + } +} +#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 < 0x030b0000 +# define Py_XINCREF(op) Py_XINCREF(_PyObject_CAST(op)) +#endif + +static inline void Py_XDECREF(PyObject *op) +{ + if (op != _Py_NULL) { + Py_DECREF(op); + } +} +#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 < 0x030b0000 +# define Py_XDECREF(op) Py_XDECREF(_PyObject_CAST(op)) +#endif + +// Create a new strong reference to an object: +// increment the reference count of the object and return the object. +PyAPI_FUNC(PyObject*) Py_NewRef(PyObject *obj); + +// Similar to Py_NewRef(), but the object can be NULL. +PyAPI_FUNC(PyObject*) Py_XNewRef(PyObject *obj); + +static inline PyObject* _Py_NewRef(PyObject *obj) +{ + Py_INCREF(obj); + return obj; +} + +static inline PyObject* _Py_XNewRef(PyObject *obj) +{ + Py_XINCREF(obj); + return obj; +} + +// Py_NewRef() and Py_XNewRef() are exported as functions for the stable ABI. +// Names overridden with macros by static inline functions for best +// performances. +#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 < 0x030b0000 +# define Py_NewRef(obj) _Py_NewRef(_PyObject_CAST(obj)) +# define Py_XNewRef(obj) _Py_XNewRef(_PyObject_CAST(obj)) +#else +# define Py_NewRef(obj) _Py_NewRef(obj) +# define Py_XNewRef(obj) _Py_XNewRef(obj) +#endif + + +/* +_Py_NoneStruct is an object of undefined type which can be used in contexts +where NULL (nil) is not suitable (since NULL often means 'error'). + +Don't forget to apply Py_INCREF() when returning this value!!! +*/ +PyAPI_DATA(PyObject) _Py_NoneStruct; /* Don't use this directly */ +#define Py_None (&_Py_NoneStruct) + +// Test if an object is the None singleton, the same as "x is None" in Python. +PyAPI_FUNC(int) Py_IsNone(PyObject *x); +#define Py_IsNone(x) Py_Is((x), Py_None) + +/* Macro for returning Py_None from a function */ +#define Py_RETURN_NONE return Py_None + +/* +Py_NotImplemented is a singleton used to signal that an operation is +not implemented for a given type combination. +*/ +PyAPI_DATA(PyObject) _Py_NotImplementedStruct; /* Don't use this directly */ +#define Py_NotImplemented (&_Py_NotImplementedStruct) + +/* Macro for returning Py_NotImplemented from a function */ +#define Py_RETURN_NOTIMPLEMENTED return Py_NotImplemented + +/* Rich comparison opcodes */ +#define Py_LT 0 +#define Py_LE 1 +#define Py_EQ 2 +#define Py_NE 3 +#define Py_GT 4 +#define Py_GE 5 + +#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x030A0000 +/* Result of calling PyIter_Send */ +typedef enum { + PYGEN_RETURN = 0, + PYGEN_ERROR = -1, + PYGEN_NEXT = 1, +} PySendResult; +#endif + +/* + * Macro for implementing rich comparisons + * + * Needs to be a macro because any C-comparable type can be used. + */ +#define Py_RETURN_RICHCOMPARE(val1, val2, op) \ + do { \ + switch (op) { \ + case Py_EQ: if ((val1) == (val2)) Py_RETURN_TRUE; Py_RETURN_FALSE; \ + case Py_NE: if ((val1) != (val2)) Py_RETURN_TRUE; Py_RETURN_FALSE; \ + case Py_LT: if ((val1) < (val2)) Py_RETURN_TRUE; Py_RETURN_FALSE; \ + case Py_GT: if ((val1) > (val2)) Py_RETURN_TRUE; Py_RETURN_FALSE; \ + case Py_LE: if ((val1) <= (val2)) Py_RETURN_TRUE; Py_RETURN_FALSE; \ + case Py_GE: if ((val1) >= (val2)) Py_RETURN_TRUE; Py_RETURN_FALSE; \ + default: \ + Py_UNREACHABLE(); \ + } \ + } while (0) + + +/* +More conventions +================ + +Argument Checking +----------------- + +Functions that take objects as arguments normally don't check for nil +arguments, but they do check the type of the argument, and return an +error if the function doesn't apply to the type. + +Failure Modes +------------- + +Functions may fail for a variety of reasons, including running out of +memory. This is communicated to the caller in two ways: an error string +is set (see errors.h), and the function result differs: functions that +normally return a pointer return NULL for failure, functions returning +an integer return -1 (which could be a legal return value too!), and +other functions return 0 for success and -1 for failure. +Callers should always check for errors before using the result. If +an error was set, the caller must either explicitly clear it, or pass +the error on to its caller. + +Reference Counts +---------------- + +It takes a while to get used to the proper usage of reference counts. + +Functions that create an object set the reference count to 1; such new +objects must be stored somewhere or destroyed again with Py_DECREF(). +Some functions that 'store' objects, such as PyTuple_SetItem() and +PyList_SetItem(), +don't increment the reference count of the object, since the most +frequent use is to store a fresh object. Functions that 'retrieve' +objects, such as PyTuple_GetItem() and PyDict_GetItemString(), also +don't increment +the reference count, since most frequently the object is only looked at +quickly. Thus, to retrieve an object and store it again, the caller +must call Py_INCREF() explicitly. + +NOTE: functions that 'consume' a reference count, like +PyList_SetItem(), consume the reference even if the object wasn't +successfully stored, to simplify error handling. + +It seems attractive to make other functions that take an object as +argument consume a reference count; however, this may quickly get +confusing (even the current practice is already confusing). Consider +it carefully, it may save lots of calls to Py_INCREF() and Py_DECREF() at +times. +*/ + +#ifndef Py_LIMITED_API +# define Py_CPYTHON_OBJECT_H +# include "cpython/object.h" +# undef Py_CPYTHON_OBJECT_H +#endif + + +static inline int +PyType_HasFeature(PyTypeObject *type, unsigned long feature) +{ + unsigned long flags; +#ifdef Py_LIMITED_API + // PyTypeObject is opaque in the limited C API + flags = PyType_GetFlags(type); +#else + flags = type->tp_flags; +#endif + return ((flags & feature) != 0); +} + +#define PyType_FastSubclass(type, flag) PyType_HasFeature((type), (flag)) + +static inline int PyType_Check(PyObject *op) { + return PyType_FastSubclass(Py_TYPE(op), Py_TPFLAGS_TYPE_SUBCLASS); +} +#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 < 0x030b0000 +# define PyType_Check(op) PyType_Check(_PyObject_CAST(op)) +#endif + +#define _PyType_CAST(op) \ + (assert(PyType_Check(op)), _Py_CAST(PyTypeObject*, (op))) + +static inline int PyType_CheckExact(PyObject *op) { + return Py_IS_TYPE(op, &PyType_Type); +} +#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 < 0x030b0000 +# define PyType_CheckExact(op) PyType_CheckExact(_PyObject_CAST(op)) +#endif + +#ifdef __cplusplus +} +#endif +#endif // !Py_OBJECT_H diff --git a/_Pre_Builds/_Python312_cpp/include/objimpl.h b/_Pre_Builds/_Python312_cpp/include/objimpl.h new file mode 100644 index 0000000..ef871c5 --- /dev/null +++ b/_Pre_Builds/_Python312_cpp/include/objimpl.h @@ -0,0 +1,234 @@ +/* The PyObject_ memory family: high-level object memory interfaces. + See pymem.h for the low-level PyMem_ family. +*/ + +#ifndef Py_OBJIMPL_H +#define Py_OBJIMPL_H + +#include "pymem.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* BEWARE: + + Each interface exports both functions and macros. Extension modules should + use the functions, to ensure binary compatibility across Python versions. + Because the Python implementation is free to change internal details, and + the macros may (or may not) expose details for speed, if you do use the + macros you must recompile your extensions with each Python release. + + Never mix calls to PyObject_ memory functions with calls to the platform + malloc/realloc/ calloc/free, or with calls to PyMem_. +*/ + +/* +Functions and macros for modules that implement new object types. + + - PyObject_New(type, typeobj) allocates memory for a new object of the given + type, and initializes part of it. 'type' must be the C structure type used + to represent the object, and 'typeobj' the address of the corresponding + type object. Reference count and type pointer are filled in; the rest of + the bytes of the object are *undefined*! The resulting expression type is + 'type *'. The size of the object is determined by the tp_basicsize field + of the type object. + + - PyObject_NewVar(type, typeobj, n) is similar but allocates a variable-size + object with room for n items. In addition to the refcount and type pointer + fields, this also fills in the ob_size field. + + - PyObject_Free(op) releases the memory allocated for an object. It does not + run a destructor -- it only frees the memory. PyObject_Free is identical. + + - PyObject_Init(op, typeobj) and PyObject_InitVar(op, typeobj, n) don't + allocate memory. Instead of a 'type' parameter, they take a pointer to a + new object (allocated by an arbitrary allocator), and initialize its object + header fields. + +Note that objects created with PyObject_{New, NewVar} are allocated using the +specialized Python allocator (implemented in obmalloc.c), if WITH_PYMALLOC is +enabled. In addition, a special debugging allocator is used if Py_DEBUG +macro is also defined. + +In case a specific form of memory management is needed (for example, if you +must use the platform malloc heap(s), or shared memory, or C++ local storage or +operator new), you must first allocate the object with your custom allocator, +then pass its pointer to PyObject_{Init, InitVar} for filling in its Python- +specific fields: reference count, type pointer, possibly others. You should +be aware that Python has no control over these objects because they don't +cooperate with the Python memory manager. Such objects may not be eligible +for automatic garbage collection and you have to make sure that they are +released accordingly whenever their destructor gets called (cf. the specific +form of memory management you're using). + +Unless you have specific memory management requirements, use +PyObject_{New, NewVar, Del}. +*/ + +/* + * Raw object memory interface + * =========================== + */ + +/* Functions to call the same malloc/realloc/free as used by Python's + object allocator. If WITH_PYMALLOC is enabled, these may differ from + the platform malloc/realloc/free. The Python object allocator is + designed for fast, cache-conscious allocation of many "small" objects, + and with low hidden memory overhead. + + PyObject_Malloc(0) returns a unique non-NULL pointer if possible. + + PyObject_Realloc(NULL, n) acts like PyObject_Malloc(n). + PyObject_Realloc(p != NULL, 0) does not return NULL, or free the memory + at p. + + Returned pointers must be checked for NULL explicitly; no action is + performed on failure other than to return NULL (no warning it printed, no + exception is set, etc). + + For allocating objects, use PyObject_{New, NewVar} instead whenever + possible. The PyObject_{Malloc, Realloc, Free} family is exposed + so that you can exploit Python's small-block allocator for non-object + uses. If you must use these routines to allocate object memory, make sure + the object gets initialized via PyObject_{Init, InitVar} after obtaining + the raw memory. +*/ +PyAPI_FUNC(void *) PyObject_Malloc(size_t size); +#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x03050000 +PyAPI_FUNC(void *) PyObject_Calloc(size_t nelem, size_t elsize); +#endif +PyAPI_FUNC(void *) PyObject_Realloc(void *ptr, size_t new_size); +PyAPI_FUNC(void) PyObject_Free(void *ptr); + + +// Deprecated aliases only kept for backward compatibility. +// PyObject_Del and PyObject_DEL are defined with no parameter to be able to +// use them as function pointers (ex: tp_free = PyObject_Del). +#define PyObject_MALLOC PyObject_Malloc +#define PyObject_REALLOC PyObject_Realloc +#define PyObject_FREE PyObject_Free +#define PyObject_Del PyObject_Free +#define PyObject_DEL PyObject_Free + + +/* + * Generic object allocator interface + * ================================== + */ + +/* Functions */ +PyAPI_FUNC(PyObject *) PyObject_Init(PyObject *, PyTypeObject *); +PyAPI_FUNC(PyVarObject *) PyObject_InitVar(PyVarObject *, + PyTypeObject *, Py_ssize_t); + +#define PyObject_INIT(op, typeobj) \ + PyObject_Init(_PyObject_CAST(op), (typeobj)) +#define PyObject_INIT_VAR(op, typeobj, size) \ + PyObject_InitVar(_PyVarObject_CAST(op), (typeobj), (size)) + + +PyAPI_FUNC(PyObject *) _PyObject_New(PyTypeObject *); +PyAPI_FUNC(PyVarObject *) _PyObject_NewVar(PyTypeObject *, Py_ssize_t); + +#define PyObject_New(type, typeobj) ((type *)_PyObject_New(typeobj)) + +// Alias to PyObject_New(). In Python 3.8, PyObject_NEW() called directly +// PyObject_MALLOC() with _PyObject_SIZE(). +#define PyObject_NEW(type, typeobj) PyObject_New(type, (typeobj)) + +#define PyObject_NewVar(type, typeobj, n) \ + ( (type *) _PyObject_NewVar((typeobj), (n)) ) + +// Alias to PyObject_NewVar(). In Python 3.8, PyObject_NEW_VAR() called +// directly PyObject_MALLOC() with _PyObject_VAR_SIZE(). +#define PyObject_NEW_VAR(type, typeobj, n) PyObject_NewVar(type, (typeobj), (n)) + + +/* + * Garbage Collection Support + * ========================== + */ + +/* C equivalent of gc.collect(). */ +PyAPI_FUNC(Py_ssize_t) PyGC_Collect(void); +/* C API for controlling the state of the garbage collector */ +PyAPI_FUNC(int) PyGC_Enable(void); +PyAPI_FUNC(int) PyGC_Disable(void); +PyAPI_FUNC(int) PyGC_IsEnabled(void); + + +#if !defined(Py_LIMITED_API) +/* Visit all live GC-capable objects, similar to gc.get_objects(None). The + * supplied callback is called on every such object with the void* arg set + * to the supplied arg. Returning 0 from the callback ends iteration, returning + * 1 allows iteration to continue. Returning any other value may result in + * undefined behaviour. + * + * If new objects are (de)allocated by the callback it is undefined if they + * will be visited. + + * Garbage collection is disabled during operation. Explicitly running a + * collection in the callback may lead to undefined behaviour e.g. visiting the + * same objects multiple times or not at all. + */ +typedef int (*gcvisitobjects_t)(PyObject*, void*); +PyAPI_FUNC(void) PyUnstable_GC_VisitObjects(gcvisitobjects_t callback, void* arg); +#endif + +/* Test if a type has a GC head */ +#define PyType_IS_GC(t) PyType_HasFeature((t), Py_TPFLAGS_HAVE_GC) + +PyAPI_FUNC(PyVarObject *) _PyObject_GC_Resize(PyVarObject *, Py_ssize_t); +#define PyObject_GC_Resize(type, op, n) \ + ( (type *) _PyObject_GC_Resize(_PyVarObject_CAST(op), (n)) ) + + + +PyAPI_FUNC(PyObject *) _PyObject_GC_New(PyTypeObject *); +PyAPI_FUNC(PyVarObject *) _PyObject_GC_NewVar(PyTypeObject *, Py_ssize_t); + +/* Tell the GC to track this object. + * + * See also private _PyObject_GC_TRACK() macro. */ +PyAPI_FUNC(void) PyObject_GC_Track(void *); + +/* Tell the GC to stop tracking this object. + * + * See also private _PyObject_GC_UNTRACK() macro. */ +PyAPI_FUNC(void) PyObject_GC_UnTrack(void *); + +PyAPI_FUNC(void) PyObject_GC_Del(void *); + +#define PyObject_GC_New(type, typeobj) \ + _Py_CAST(type*, _PyObject_GC_New(typeobj)) +#define PyObject_GC_NewVar(type, typeobj, n) \ + _Py_CAST(type*, _PyObject_GC_NewVar((typeobj), (n))) + +PyAPI_FUNC(int) PyObject_GC_IsTracked(PyObject *); +PyAPI_FUNC(int) PyObject_GC_IsFinalized(PyObject *); + +/* Utility macro to help write tp_traverse functions. + * To use this macro, the tp_traverse function must name its arguments + * "visit" and "arg". This is intended to keep tp_traverse functions + * looking as much alike as possible. + */ +#define Py_VISIT(op) \ + do { \ + if (op) { \ + int vret = visit(_PyObject_CAST(op), arg); \ + if (vret) \ + return vret; \ + } \ + } while (0) + +#ifndef Py_LIMITED_API +# define Py_CPYTHON_OBJIMPL_H +# include "cpython/objimpl.h" +# undef Py_CPYTHON_OBJIMPL_H +#endif + +#ifdef __cplusplus +} +#endif +#endif /* !Py_OBJIMPL_H */ diff --git a/_Pre_Builds/_Python312_cpp/include/opcode.h b/_Pre_Builds/_Python312_cpp/include/opcode.h new file mode 100644 index 0000000..9806511 --- /dev/null +++ b/_Pre_Builds/_Python312_cpp/include/opcode.h @@ -0,0 +1,271 @@ +// Auto-generated by Tools/build/generate_opcode_h.py from Lib/opcode.py + +#ifndef Py_OPCODE_H +#define Py_OPCODE_H +#ifdef __cplusplus +extern "C" { +#endif + + +/* Instruction opcodes for compiled code */ +#define CACHE 0 +#define POP_TOP 1 +#define PUSH_NULL 2 +#define INTERPRETER_EXIT 3 +#define END_FOR 4 +#define END_SEND 5 +#define NOP 9 +#define UNARY_NEGATIVE 11 +#define UNARY_NOT 12 +#define UNARY_INVERT 15 +#define RESERVED 17 +#define BINARY_SUBSCR 25 +#define BINARY_SLICE 26 +#define STORE_SLICE 27 +#define GET_LEN 30 +#define MATCH_MAPPING 31 +#define MATCH_SEQUENCE 32 +#define MATCH_KEYS 33 +#define PUSH_EXC_INFO 35 +#define CHECK_EXC_MATCH 36 +#define CHECK_EG_MATCH 37 +#define WITH_EXCEPT_START 49 +#define GET_AITER 50 +#define GET_ANEXT 51 +#define BEFORE_ASYNC_WITH 52 +#define BEFORE_WITH 53 +#define END_ASYNC_FOR 54 +#define CLEANUP_THROW 55 +#define STORE_SUBSCR 60 +#define DELETE_SUBSCR 61 +#define GET_ITER 68 +#define GET_YIELD_FROM_ITER 69 +#define LOAD_BUILD_CLASS 71 +#define LOAD_ASSERTION_ERROR 74 +#define RETURN_GENERATOR 75 +#define RETURN_VALUE 83 +#define SETUP_ANNOTATIONS 85 +#define LOAD_LOCALS 87 +#define POP_EXCEPT 89 +#define HAVE_ARGUMENT 90 +#define STORE_NAME 90 +#define DELETE_NAME 91 +#define UNPACK_SEQUENCE 92 +#define FOR_ITER 93 +#define UNPACK_EX 94 +#define STORE_ATTR 95 +#define DELETE_ATTR 96 +#define STORE_GLOBAL 97 +#define DELETE_GLOBAL 98 +#define SWAP 99 +#define LOAD_CONST 100 +#define LOAD_NAME 101 +#define BUILD_TUPLE 102 +#define BUILD_LIST 103 +#define BUILD_SET 104 +#define BUILD_MAP 105 +#define LOAD_ATTR 106 +#define COMPARE_OP 107 +#define IMPORT_NAME 108 +#define IMPORT_FROM 109 +#define JUMP_FORWARD 110 +#define POP_JUMP_IF_FALSE 114 +#define POP_JUMP_IF_TRUE 115 +#define LOAD_GLOBAL 116 +#define IS_OP 117 +#define CONTAINS_OP 118 +#define RERAISE 119 +#define COPY 120 +#define RETURN_CONST 121 +#define BINARY_OP 122 +#define SEND 123 +#define LOAD_FAST 124 +#define STORE_FAST 125 +#define DELETE_FAST 126 +#define LOAD_FAST_CHECK 127 +#define POP_JUMP_IF_NOT_NONE 128 +#define POP_JUMP_IF_NONE 129 +#define RAISE_VARARGS 130 +#define GET_AWAITABLE 131 +#define MAKE_FUNCTION 132 +#define BUILD_SLICE 133 +#define JUMP_BACKWARD_NO_INTERRUPT 134 +#define MAKE_CELL 135 +#define LOAD_CLOSURE 136 +#define LOAD_DEREF 137 +#define STORE_DEREF 138 +#define DELETE_DEREF 139 +#define JUMP_BACKWARD 140 +#define LOAD_SUPER_ATTR 141 +#define CALL_FUNCTION_EX 142 +#define LOAD_FAST_AND_CLEAR 143 +#define EXTENDED_ARG 144 +#define LIST_APPEND 145 +#define SET_ADD 146 +#define MAP_ADD 147 +#define COPY_FREE_VARS 149 +#define YIELD_VALUE 150 +#define RESUME 151 +#define MATCH_CLASS 152 +#define FORMAT_VALUE 155 +#define BUILD_CONST_KEY_MAP 156 +#define BUILD_STRING 157 +#define LIST_EXTEND 162 +#define SET_UPDATE 163 +#define DICT_MERGE 164 +#define DICT_UPDATE 165 +#define CALL 171 +#define KW_NAMES 172 +#define CALL_INTRINSIC_1 173 +#define CALL_INTRINSIC_2 174 +#define LOAD_FROM_DICT_OR_GLOBALS 175 +#define LOAD_FROM_DICT_OR_DEREF 176 +#define MIN_INSTRUMENTED_OPCODE 237 +#define INSTRUMENTED_LOAD_SUPER_ATTR 237 +#define INSTRUMENTED_POP_JUMP_IF_NONE 238 +#define INSTRUMENTED_POP_JUMP_IF_NOT_NONE 239 +#define INSTRUMENTED_RESUME 240 +#define INSTRUMENTED_CALL 241 +#define INSTRUMENTED_RETURN_VALUE 242 +#define INSTRUMENTED_YIELD_VALUE 243 +#define INSTRUMENTED_CALL_FUNCTION_EX 244 +#define INSTRUMENTED_JUMP_FORWARD 245 +#define INSTRUMENTED_JUMP_BACKWARD 246 +#define INSTRUMENTED_RETURN_CONST 247 +#define INSTRUMENTED_FOR_ITER 248 +#define INSTRUMENTED_POP_JUMP_IF_FALSE 249 +#define INSTRUMENTED_POP_JUMP_IF_TRUE 250 +#define INSTRUMENTED_END_FOR 251 +#define INSTRUMENTED_END_SEND 252 +#define INSTRUMENTED_INSTRUCTION 253 +#define INSTRUMENTED_LINE 254 +#define MIN_PSEUDO_OPCODE 256 +#define SETUP_FINALLY 256 +#define SETUP_CLEANUP 257 +#define SETUP_WITH 258 +#define POP_BLOCK 259 +#define JUMP 260 +#define JUMP_NO_INTERRUPT 261 +#define LOAD_METHOD 262 +#define LOAD_SUPER_METHOD 263 +#define LOAD_ZERO_SUPER_METHOD 264 +#define LOAD_ZERO_SUPER_ATTR 265 +#define STORE_FAST_MAYBE_NULL 266 +#define MAX_PSEUDO_OPCODE 266 +#define BINARY_OP_ADD_FLOAT 6 +#define BINARY_OP_ADD_INT 7 +#define BINARY_OP_ADD_UNICODE 8 +#define BINARY_OP_INPLACE_ADD_UNICODE 10 +#define BINARY_OP_MULTIPLY_FLOAT 13 +#define BINARY_OP_MULTIPLY_INT 14 +#define BINARY_OP_SUBTRACT_FLOAT 16 +#define BINARY_OP_SUBTRACT_INT 18 +#define BINARY_SUBSCR_DICT 19 +#define BINARY_SUBSCR_GETITEM 20 +#define BINARY_SUBSCR_LIST_INT 21 +#define BINARY_SUBSCR_TUPLE_INT 22 +#define CALL_PY_EXACT_ARGS 23 +#define CALL_PY_WITH_DEFAULTS 24 +#define CALL_BOUND_METHOD_EXACT_ARGS 28 +#define CALL_BUILTIN_CLASS 29 +#define CALL_BUILTIN_FAST_WITH_KEYWORDS 34 +#define CALL_METHOD_DESCRIPTOR_FAST_WITH_KEYWORDS 38 +#define CALL_NO_KW_BUILTIN_FAST 39 +#define CALL_NO_KW_BUILTIN_O 40 +#define CALL_NO_KW_ISINSTANCE 41 +#define CALL_NO_KW_LEN 42 +#define CALL_NO_KW_LIST_APPEND 43 +#define CALL_NO_KW_METHOD_DESCRIPTOR_FAST 44 +#define CALL_NO_KW_METHOD_DESCRIPTOR_NOARGS 45 +#define CALL_NO_KW_METHOD_DESCRIPTOR_O 46 +#define CALL_NO_KW_STR_1 47 +#define CALL_NO_KW_TUPLE_1 48 +#define CALL_NO_KW_TYPE_1 56 +#define COMPARE_OP_FLOAT 57 +#define COMPARE_OP_INT 58 +#define COMPARE_OP_STR 59 +#define FOR_ITER_LIST 62 +#define FOR_ITER_TUPLE 63 +#define FOR_ITER_RANGE 64 +#define FOR_ITER_GEN 65 +#define LOAD_SUPER_ATTR_ATTR 66 +#define LOAD_SUPER_ATTR_METHOD 67 +#define LOAD_ATTR_CLASS 70 +#define LOAD_ATTR_GETATTRIBUTE_OVERRIDDEN 72 +#define LOAD_ATTR_INSTANCE_VALUE 73 +#define LOAD_ATTR_MODULE 76 +#define LOAD_ATTR_PROPERTY 77 +#define LOAD_ATTR_SLOT 78 +#define LOAD_ATTR_WITH_HINT 79 +#define LOAD_ATTR_METHOD_LAZY_DICT 80 +#define LOAD_ATTR_METHOD_NO_DICT 81 +#define LOAD_ATTR_METHOD_WITH_VALUES 82 +#define LOAD_CONST__LOAD_FAST 84 +#define LOAD_FAST__LOAD_CONST 86 +#define LOAD_FAST__LOAD_FAST 88 +#define LOAD_GLOBAL_BUILTIN 111 +#define LOAD_GLOBAL_MODULE 112 +#define STORE_ATTR_INSTANCE_VALUE 113 +#define STORE_ATTR_SLOT 148 +#define STORE_ATTR_WITH_HINT 153 +#define STORE_FAST__LOAD_FAST 154 +#define STORE_FAST__STORE_FAST 158 +#define STORE_SUBSCR_DICT 159 +#define STORE_SUBSCR_LIST_INT 160 +#define UNPACK_SEQUENCE_LIST 161 +#define UNPACK_SEQUENCE_TUPLE 166 +#define UNPACK_SEQUENCE_TWO_TUPLE 167 +#define SEND_GEN 168 + +#define HAS_ARG(op) ((((op) >= HAVE_ARGUMENT) && (!IS_PSEUDO_OPCODE(op)))\ + || ((op) == JUMP) \ + || ((op) == JUMP_NO_INTERRUPT) \ + || ((op) == LOAD_METHOD) \ + || ((op) == LOAD_SUPER_METHOD) \ + || ((op) == LOAD_ZERO_SUPER_METHOD) \ + || ((op) == LOAD_ZERO_SUPER_ATTR) \ + || ((op) == STORE_FAST_MAYBE_NULL) \ + ) + +#define HAS_CONST(op) (false\ + || ((op) == LOAD_CONST) \ + || ((op) == RETURN_CONST) \ + || ((op) == KW_NAMES) \ + ) + +#define NB_ADD 0 +#define NB_AND 1 +#define NB_FLOOR_DIVIDE 2 +#define NB_LSHIFT 3 +#define NB_MATRIX_MULTIPLY 4 +#define NB_MULTIPLY 5 +#define NB_REMAINDER 6 +#define NB_OR 7 +#define NB_POWER 8 +#define NB_RSHIFT 9 +#define NB_SUBTRACT 10 +#define NB_TRUE_DIVIDE 11 +#define NB_XOR 12 +#define NB_INPLACE_ADD 13 +#define NB_INPLACE_AND 14 +#define NB_INPLACE_FLOOR_DIVIDE 15 +#define NB_INPLACE_LSHIFT 16 +#define NB_INPLACE_MATRIX_MULTIPLY 17 +#define NB_INPLACE_MULTIPLY 18 +#define NB_INPLACE_REMAINDER 19 +#define NB_INPLACE_OR 20 +#define NB_INPLACE_POWER 21 +#define NB_INPLACE_RSHIFT 22 +#define NB_INPLACE_SUBTRACT 23 +#define NB_INPLACE_TRUE_DIVIDE 24 +#define NB_INPLACE_XOR 25 + +/* Defined in Lib/opcode.py */ +#define ENABLE_SPECIALIZATION 1 + +#define IS_PSEUDO_OPCODE(op) (((op) >= MIN_PSEUDO_OPCODE) && ((op) <= MAX_PSEUDO_OPCODE)) + +#ifdef __cplusplus +} +#endif +#endif /* !Py_OPCODE_H */ diff --git a/_Pre_Builds/_Python312_cpp/include/osdefs.h b/_Pre_Builds/_Python312_cpp/include/osdefs.h new file mode 100644 index 0000000..3243944 --- /dev/null +++ b/_Pre_Builds/_Python312_cpp/include/osdefs.h @@ -0,0 +1,51 @@ +#ifndef Py_OSDEFS_H +#define Py_OSDEFS_H +#ifdef __cplusplus +extern "C" { +#endif + + +/* Operating system dependencies */ + +#ifdef MS_WINDOWS +#define SEP L'\\' +#define ALTSEP L'/' +#define MAXPATHLEN 256 +#define DELIM L';' +#endif + +#ifdef __VXWORKS__ +#define DELIM L';' +#endif + +/* Filename separator */ +#ifndef SEP +#define SEP L'/' +#endif + +/* Max pathname length */ +#ifdef __hpux +#include +#include +#ifndef PATH_MAX +#define PATH_MAX MAXPATHLEN +#endif +#endif + +#ifndef MAXPATHLEN +#if defined(PATH_MAX) && PATH_MAX > 1024 +#define MAXPATHLEN PATH_MAX +#else +#define MAXPATHLEN 1024 +#endif +#endif + +/* Search path entry delimiter */ +#ifndef DELIM +#define DELIM L':' +#endif + +#ifdef __cplusplus +} +#endif +#endif /* !Py_OSDEFS_H */ diff --git a/_Pre_Builds/_Python312_cpp/include/osmodule.h b/_Pre_Builds/_Python312_cpp/include/osmodule.h new file mode 100644 index 0000000..9095c2f --- /dev/null +++ b/_Pre_Builds/_Python312_cpp/include/osmodule.h @@ -0,0 +1,17 @@ + +/* os module interface */ + +#ifndef Py_OSMODULE_H +#define Py_OSMODULE_H +#ifdef __cplusplus +extern "C" { +#endif + +#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x03060000 +PyAPI_FUNC(PyObject *) PyOS_FSPath(PyObject *path); +#endif + +#ifdef __cplusplus +} +#endif +#endif /* !Py_OSMODULE_H */ diff --git a/_Pre_Builds/_Python312_cpp/include/patchlevel.h b/_Pre_Builds/_Python312_cpp/include/patchlevel.h new file mode 100644 index 0000000..e7316df --- /dev/null +++ b/_Pre_Builds/_Python312_cpp/include/patchlevel.h @@ -0,0 +1,35 @@ + +/* Python version identification scheme. + + When the major or minor version changes, the VERSION variable in + configure.ac must also be changed. + + There is also (independent) API version information in modsupport.h. +*/ + +/* Values for PY_RELEASE_LEVEL */ +#define PY_RELEASE_LEVEL_ALPHA 0xA +#define PY_RELEASE_LEVEL_BETA 0xB +#define PY_RELEASE_LEVEL_GAMMA 0xC /* For release candidates */ +#define PY_RELEASE_LEVEL_FINAL 0xF /* Serial should be 0 here */ + /* Higher for patch releases */ + +/* Version parsed out into numeric values */ +/*--start constants--*/ +#define PY_MAJOR_VERSION 3 +#define PY_MINOR_VERSION 12 +#define PY_MICRO_VERSION 2 +#define PY_RELEASE_LEVEL PY_RELEASE_LEVEL_FINAL +#define PY_RELEASE_SERIAL 0 + +/* Version as a string */ +#define PY_VERSION "3.12.2" +/*--end constants--*/ + +/* Version as a single 4-byte hex number, e.g. 0x010502B2 == 1.5.2b2. + Use this for numeric comparisons, e.g. #if PY_VERSION_HEX >= ... */ +#define PY_VERSION_HEX ((PY_MAJOR_VERSION << 24) | \ + (PY_MINOR_VERSION << 16) | \ + (PY_MICRO_VERSION << 8) | \ + (PY_RELEASE_LEVEL << 4) | \ + (PY_RELEASE_SERIAL << 0)) diff --git a/_Pre_Builds/_Python312_cpp/include/py_curses.h b/_Pre_Builds/_Python312_cpp/include/py_curses.h new file mode 100644 index 0000000..e46b08e --- /dev/null +++ b/_Pre_Builds/_Python312_cpp/include/py_curses.h @@ -0,0 +1,99 @@ + +#ifndef Py_CURSES_H +#define Py_CURSES_H + +#ifdef __APPLE__ +/* +** On Mac OS X 10.2 [n]curses.h and stdlib.h use different guards +** against multiple definition of wchar_t. +*/ +#ifdef _BSD_WCHAR_T_DEFINED_ +#define _WCHAR_T +#endif +#endif /* __APPLE__ */ + +/* On FreeBSD, [n]curses.h and stdlib.h/wchar.h use different guards + against multiple definition of wchar_t and wint_t. */ +#if defined(__FreeBSD__) && defined(_XOPEN_SOURCE_EXTENDED) +# ifndef __wchar_t +# define __wchar_t +# endif +# ifndef __wint_t +# define __wint_t +# endif +#endif + +#if !defined(HAVE_CURSES_IS_PAD) && defined(WINDOW_HAS_FLAGS) +/* The following definition is necessary for ncurses 5.7; without it, + some of [n]curses.h set NCURSES_OPAQUE to 1, and then Python + can't get at the WINDOW flags field. */ +#define NCURSES_OPAQUE 0 +#endif + +#ifdef HAVE_NCURSES_H +#include +#else +#include +#endif + +#ifdef HAVE_NCURSES_H +/* configure was checking , but we will + use , which has some or all these features. */ +#if !defined(WINDOW_HAS_FLAGS) && !(NCURSES_OPAQUE+0) +#define WINDOW_HAS_FLAGS 1 +#endif +#if !defined(HAVE_CURSES_IS_PAD) && NCURSES_VERSION_PATCH+0 >= 20090906 +#define HAVE_CURSES_IS_PAD 1 +#endif +#ifndef MVWDELCH_IS_EXPRESSION +#define MVWDELCH_IS_EXPRESSION 1 +#endif +#endif + +#ifdef __cplusplus +extern "C" { +#endif + +#define PyCurses_API_pointers 4 + +/* Type declarations */ + +typedef struct { + PyObject_HEAD + WINDOW *win; + char *encoding; +} PyCursesWindowObject; + +#define PyCursesWindow_Check(v) Py_IS_TYPE((v), &PyCursesWindow_Type) + +#define PyCurses_CAPSULE_NAME "_curses._C_API" + + +#ifdef CURSES_MODULE +/* This section is used when compiling _cursesmodule.c */ + +#else +/* This section is used in modules that use the _cursesmodule API */ + +static void **PyCurses_API; + +#define PyCursesWindow_Type (*_PyType_CAST(PyCurses_API[0])) +#define PyCursesSetupTermCalled {if (! ((int (*)(void))PyCurses_API[1]) () ) return NULL;} +#define PyCursesInitialised {if (! ((int (*)(void))PyCurses_API[2]) () ) return NULL;} +#define PyCursesInitialisedColor {if (! ((int (*)(void))PyCurses_API[3]) () ) return NULL;} + +#define import_curses() \ + PyCurses_API = (void **)PyCapsule_Import(PyCurses_CAPSULE_NAME, 1); + +#endif + +/* general error messages */ +static const char catchall_ERR[] = "curses function returned ERR"; +static const char catchall_NULL[] = "curses function returned NULL"; + +#ifdef __cplusplus +} +#endif + +#endif /* !defined(Py_CURSES_H) */ + diff --git a/_Pre_Builds/_Python312_cpp/include/pybuffer.h b/_Pre_Builds/_Python312_cpp/include/pybuffer.h new file mode 100644 index 0000000..ca1c605 --- /dev/null +++ b/_Pre_Builds/_Python312_cpp/include/pybuffer.h @@ -0,0 +1,145 @@ +/* Public Py_buffer API */ + +#ifndef Py_BUFFER_H +#define Py_BUFFER_H +#ifdef __cplusplus +extern "C" { +#endif + +#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x030b0000 + +/* === New Buffer API ============================================ + * Limited API and stable ABI since Python 3.11 + * + * Py_buffer struct layout and size is now part of the stable abi3. The + * struct layout and size must not be changed in any way, as it would + * break the ABI. + * + */ + +typedef struct { + void *buf; + PyObject *obj; /* owned reference */ + Py_ssize_t len; + Py_ssize_t itemsize; /* This is Py_ssize_t so it can be + pointed to by strides in simple case.*/ + int readonly; + int ndim; + char *format; + Py_ssize_t *shape; + Py_ssize_t *strides; + Py_ssize_t *suboffsets; + void *internal; +} Py_buffer; + +typedef int (*getbufferproc)(PyObject *, Py_buffer *, int); +typedef void (*releasebufferproc)(PyObject *, Py_buffer *); + +/* Return 1 if the getbuffer function is available, otherwise return 0. */ +PyAPI_FUNC(int) PyObject_CheckBuffer(PyObject *obj); + +/* This is a C-API version of the getbuffer function call. It checks + to make sure object has the required function pointer and issues the + call. + + Returns -1 and raises an error on failure and returns 0 on success. */ +PyAPI_FUNC(int) PyObject_GetBuffer(PyObject *obj, Py_buffer *view, + int flags); + +/* Get the memory area pointed to by the indices for the buffer given. + Note that view->ndim is the assumed size of indices. */ +PyAPI_FUNC(void *) PyBuffer_GetPointer(const Py_buffer *view, const Py_ssize_t *indices); + +/* Return the implied itemsize of the data-format area from a + struct-style description. */ +PyAPI_FUNC(Py_ssize_t) PyBuffer_SizeFromFormat(const char *format); + +/* Implementation in memoryobject.c */ +PyAPI_FUNC(int) PyBuffer_ToContiguous(void *buf, const Py_buffer *view, + Py_ssize_t len, char order); + +PyAPI_FUNC(int) PyBuffer_FromContiguous(const Py_buffer *view, const void *buf, + Py_ssize_t len, char order); + +/* Copy len bytes of data from the contiguous chunk of memory + pointed to by buf into the buffer exported by obj. Return + 0 on success and return -1 and raise a PyBuffer_Error on + error (i.e. the object does not have a buffer interface or + it is not working). + + If fort is 'F', then if the object is multi-dimensional, + then the data will be copied into the array in + Fortran-style (first dimension varies the fastest). If + fort is 'C', then the data will be copied into the array + in C-style (last dimension varies the fastest). If fort + is 'A', then it does not matter and the copy will be made + in whatever way is more efficient. */ +PyAPI_FUNC(int) PyObject_CopyData(PyObject *dest, PyObject *src); + +/* Copy the data from the src buffer to the buffer of destination. */ +PyAPI_FUNC(int) PyBuffer_IsContiguous(const Py_buffer *view, char fort); + +/*Fill the strides array with byte-strides of a contiguous + (Fortran-style if fort is 'F' or C-style otherwise) + array of the given shape with the given number of bytes + per element. */ +PyAPI_FUNC(void) PyBuffer_FillContiguousStrides(int ndims, + Py_ssize_t *shape, + Py_ssize_t *strides, + int itemsize, + char fort); + +/* Fills in a buffer-info structure correctly for an exporter + that can only share a contiguous chunk of memory of + "unsigned bytes" of the given length. + + Returns 0 on success and -1 (with raising an error) on error. */ +PyAPI_FUNC(int) PyBuffer_FillInfo(Py_buffer *view, PyObject *o, void *buf, + Py_ssize_t len, int readonly, + int flags); + +/* Releases a Py_buffer obtained from getbuffer ParseTuple's "s*". */ +PyAPI_FUNC(void) PyBuffer_Release(Py_buffer *view); + +/* Maximum number of dimensions */ +#define PyBUF_MAX_NDIM 64 + +/* Flags for getting buffers. Keep these in sync with inspect.BufferFlags. */ +#define PyBUF_SIMPLE 0 +#define PyBUF_WRITABLE 0x0001 + +#ifndef Py_LIMITED_API +/* we used to include an E, backwards compatible alias */ +#define PyBUF_WRITEABLE PyBUF_WRITABLE +#endif + +#define PyBUF_FORMAT 0x0004 +#define PyBUF_ND 0x0008 +#define PyBUF_STRIDES (0x0010 | PyBUF_ND) +#define PyBUF_C_CONTIGUOUS (0x0020 | PyBUF_STRIDES) +#define PyBUF_F_CONTIGUOUS (0x0040 | PyBUF_STRIDES) +#define PyBUF_ANY_CONTIGUOUS (0x0080 | PyBUF_STRIDES) +#define PyBUF_INDIRECT (0x0100 | PyBUF_STRIDES) + +#define PyBUF_CONTIG (PyBUF_ND | PyBUF_WRITABLE) +#define PyBUF_CONTIG_RO (PyBUF_ND) + +#define PyBUF_STRIDED (PyBUF_STRIDES | PyBUF_WRITABLE) +#define PyBUF_STRIDED_RO (PyBUF_STRIDES) + +#define PyBUF_RECORDS (PyBUF_STRIDES | PyBUF_WRITABLE | PyBUF_FORMAT) +#define PyBUF_RECORDS_RO (PyBUF_STRIDES | PyBUF_FORMAT) + +#define PyBUF_FULL (PyBUF_INDIRECT | PyBUF_WRITABLE | PyBUF_FORMAT) +#define PyBUF_FULL_RO (PyBUF_INDIRECT | PyBUF_FORMAT) + + +#define PyBUF_READ 0x100 +#define PyBUF_WRITE 0x200 + +#endif /* !Py_LIMITED_API || Py_LIMITED_API >= 3.11 */ + +#ifdef __cplusplus +} +#endif +#endif /* Py_BUFFER_H */ diff --git a/_Pre_Builds/_Python312_cpp/include/pycapsule.h b/_Pre_Builds/_Python312_cpp/include/pycapsule.h new file mode 100644 index 0000000..929a9a6 --- /dev/null +++ b/_Pre_Builds/_Python312_cpp/include/pycapsule.h @@ -0,0 +1,59 @@ + +/* Capsule objects let you wrap a C "void *" pointer in a Python + object. They're a way of passing data through the Python interpreter + without creating your own custom type. + + Capsules are used for communication between extension modules. + They provide a way for an extension module to export a C interface + to other extension modules, so that extension modules can use the + Python import mechanism to link to one another. + + For more information, please see "c-api/capsule.html" in the + documentation. +*/ + +#ifndef Py_CAPSULE_H +#define Py_CAPSULE_H +#ifdef __cplusplus +extern "C" { +#endif + +PyAPI_DATA(PyTypeObject) PyCapsule_Type; + +typedef void (*PyCapsule_Destructor)(PyObject *); + +#define PyCapsule_CheckExact(op) Py_IS_TYPE((op), &PyCapsule_Type) + + +PyAPI_FUNC(PyObject *) PyCapsule_New( + void *pointer, + const char *name, + PyCapsule_Destructor destructor); + +PyAPI_FUNC(void *) PyCapsule_GetPointer(PyObject *capsule, const char *name); + +PyAPI_FUNC(PyCapsule_Destructor) PyCapsule_GetDestructor(PyObject *capsule); + +PyAPI_FUNC(const char *) PyCapsule_GetName(PyObject *capsule); + +PyAPI_FUNC(void *) PyCapsule_GetContext(PyObject *capsule); + +PyAPI_FUNC(int) PyCapsule_IsValid(PyObject *capsule, const char *name); + +PyAPI_FUNC(int) PyCapsule_SetPointer(PyObject *capsule, void *pointer); + +PyAPI_FUNC(int) PyCapsule_SetDestructor(PyObject *capsule, PyCapsule_Destructor destructor); + +PyAPI_FUNC(int) PyCapsule_SetName(PyObject *capsule, const char *name); + +PyAPI_FUNC(int) PyCapsule_SetContext(PyObject *capsule, void *context); + +PyAPI_FUNC(void *) PyCapsule_Import( + const char *name, /* UTF-8 encoded string */ + int no_block); + + +#ifdef __cplusplus +} +#endif +#endif /* !Py_CAPSULE_H */ diff --git a/_Pre_Builds/_Python312_cpp/include/pyconfig.h b/_Pre_Builds/_Python312_cpp/include/pyconfig.h new file mode 100644 index 0000000..3415efe --- /dev/null +++ b/_Pre_Builds/_Python312_cpp/include/pyconfig.h @@ -0,0 +1,742 @@ +#ifndef Py_CONFIG_H +#define Py_CONFIG_H + +/* pyconfig.h. NOT Generated automatically by configure. + +This is a manually maintained version used for the Watcom, +Borland and Microsoft Visual C++ compilers. It is a +standard part of the Python distribution. + +WINDOWS DEFINES: +The code specific to Windows should be wrapped around one of +the following #defines + +MS_WIN64 - Code specific to the MS Win64 API +MS_WIN32 - Code specific to the MS Win32 (and Win64) API (obsolete, this covers all supported APIs) +MS_WINDOWS - Code specific to Windows, but all versions. +Py_ENABLE_SHARED - Code if the Python core is built as a DLL. + +Also note that neither "_M_IX86" or "_MSC_VER" should be used for +any purpose other than "Windows Intel x86 specific" and "Microsoft +compiler specific". Therefore, these should be very rare. + + +NOTE: The following symbols are deprecated: +NT, USE_DL_EXPORT, USE_DL_IMPORT, DL_EXPORT, DL_IMPORT +MS_CORE_DLL. + +WIN32 is still required for the locale module. + +*/ + +/* Deprecated USE_DL_EXPORT macro - please use Py_BUILD_CORE */ +#ifdef USE_DL_EXPORT +# define Py_BUILD_CORE +#endif /* USE_DL_EXPORT */ + +/* Visual Studio 2005 introduces deprecation warnings for + "insecure" and POSIX functions. The insecure functions should + be replaced by *_s versions (according to Microsoft); the + POSIX functions by _* versions (which, according to Microsoft, + would be ISO C conforming). Neither renaming is feasible, so + we just silence the warnings. */ + +#ifndef _CRT_SECURE_NO_DEPRECATE +#define _CRT_SECURE_NO_DEPRECATE 1 +#endif +#ifndef _CRT_NONSTDC_NO_DEPRECATE +#define _CRT_NONSTDC_NO_DEPRECATE 1 +#endif + +#define HAVE_IO_H +#define HAVE_SYS_UTIME_H +#define HAVE_TEMPNAM +#define HAVE_TMPFILE +#define HAVE_TMPNAM +#define HAVE_CLOCK +#define HAVE_STRERROR + +#include + +#define HAVE_STRFTIME +#define DONT_HAVE_SIG_ALARM +#define DONT_HAVE_SIG_PAUSE +#define LONG_BIT 32 +#define WORD_BIT 32 + +#define MS_WIN32 /* only support win32 and greater. */ +#define MS_WINDOWS +#define NT_THREADS +#define WITH_THREAD +#ifndef NETSCAPE_PI +#define USE_SOCKET +#endif + +#if defined(Py_BUILD_CORE) || defined(Py_BUILD_CORE_BUILTIN) || defined(Py_BUILD_CORE_MODULE) +#include + +#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) +#define MS_WINDOWS_DESKTOP +#endif +#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) +#define MS_WINDOWS_APP +#endif +#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_SYSTEM) +#define MS_WINDOWS_SYSTEM +#endif +#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_GAMES) +#define MS_WINDOWS_GAMES +#endif + +/* Define to 1 if you support windows console io */ +#if defined(MS_WINDOWS_DESKTOP) || defined(MS_WINDOWS_APP) || defined(MS_WINDOWS_SYSTEM) +#define HAVE_WINDOWS_CONSOLE_IO 1 +#endif +#endif /* Py_BUILD_CORE || Py_BUILD_CORE_BUILTIN || Py_BUILD_CORE_MODULE */ + +/* Compiler specific defines */ + +/* ------------------------------------------------------------------------*/ +/* Microsoft C defines _MSC_VER, as does clang-cl.exe */ +#ifdef _MSC_VER + +/* We want COMPILER to expand to a string containing _MSC_VER's *value*. + * This is horridly tricky, because the stringization operator only works + * on macro arguments, and doesn't evaluate macros passed *as* arguments. + */ +#define _Py_PASTE_VERSION(SUFFIX) \ + ("[MSC v." _Py_STRINGIZE(_MSC_VER) " " SUFFIX "]") +/* e.g., this produces, after compile-time string catenation, + * ("[MSC v.1900 64 bit (Intel)]") + * + * _Py_STRINGIZE(_MSC_VER) expands to + * _Py_STRINGIZE1(_MSC_VER) and this second macro call is scanned + * again for macros and so further expands to + * _Py_STRINGIZE1(1900) which then expands to + * "1900" + */ +#define _Py_STRINGIZE(X) _Py_STRINGIZE1(X) +#define _Py_STRINGIZE1(X) #X + +/* MSVC defines _WINxx to differentiate the windows platform types + + Note that for compatibility reasons _WIN32 is defined on Win32 + *and* on Win64. For the same reasons, in Python, MS_WIN32 is + defined on Win32 *and* Win64. Win32 only code must therefore be + guarded as follows: + #if defined(MS_WIN32) && !defined(MS_WIN64) +*/ +#ifdef _WIN64 +#define MS_WIN64 +#endif + +/* set the COMPILER and support tier + * + * win_amd64 MSVC (x86_64-pc-windows-msvc): 1 + * win32 MSVC (i686-pc-windows-msvc): 1 + * win_arm64 MSVC (aarch64-pc-windows-msvc): 3 + * other archs and ICC: 0 + */ +#ifdef MS_WIN64 +#if defined(_M_X64) || defined(_M_AMD64) +#if defined(__clang__) +#define COMPILER ("[Clang " __clang_version__ "] 64 bit (AMD64) with MSC v." _Py_STRINGIZE(_MSC_VER) " CRT]") +#define PY_SUPPORT_TIER 0 +#elif defined(__INTEL_COMPILER) +#define COMPILER ("[ICC v." _Py_STRINGIZE(__INTEL_COMPILER) " 64 bit (amd64) with MSC v." _Py_STRINGIZE(_MSC_VER) " CRT]") +#define PY_SUPPORT_TIER 0 +#else +#define COMPILER _Py_PASTE_VERSION("64 bit (AMD64)") +#define PY_SUPPORT_TIER 1 +#endif /* __clang__ */ +#define PYD_PLATFORM_TAG "win_amd64" +#elif defined(_M_ARM64) +#define COMPILER _Py_PASTE_VERSION("64 bit (ARM64)") +#define PY_SUPPORT_TIER 3 +#define PYD_PLATFORM_TAG "win_arm64" +#else +#define COMPILER _Py_PASTE_VERSION("64 bit (Unknown)") +#define PY_SUPPORT_TIER 0 +#endif +#endif /* MS_WIN64 */ + +/* set the version macros for the windows headers */ +/* Python 3.9+ requires Windows 8 or greater */ +#define Py_WINVER 0x0602 /* _WIN32_WINNT_WIN8 */ +#define Py_NTDDI NTDDI_WIN8 + +/* We only set these values when building Python - we don't want to force + these values on extensions, as that will affect the prototypes and + structures exposed in the Windows headers. Even when building Python, we + allow a single source file to override this - they may need access to + structures etc so it can optionally use new Windows features if it + determines at runtime they are available. +*/ +#if defined(Py_BUILD_CORE) || defined(Py_BUILD_CORE_BUILTIN) || defined(Py_BUILD_CORE_MODULE) +#ifndef NTDDI_VERSION +#define NTDDI_VERSION Py_NTDDI +#endif +#ifndef WINVER +#define WINVER Py_WINVER +#endif +#ifndef _WIN32_WINNT +#define _WIN32_WINNT Py_WINVER +#endif +#endif + +/* _W64 is not defined for VC6 or eVC4 */ +#ifndef _W64 +#define _W64 +#endif + +/* Define like size_t, omitting the "unsigned" */ +#ifdef MS_WIN64 +typedef __int64 Py_ssize_t; +# define PY_SSIZE_T_MAX LLONG_MAX +#else +typedef _W64 int Py_ssize_t; +# define PY_SSIZE_T_MAX INT_MAX +#endif +#define HAVE_PY_SSIZE_T 1 + +#if defined(MS_WIN32) && !defined(MS_WIN64) +#if defined(_M_IX86) +#if defined(__clang__) +#define COMPILER ("[Clang " __clang_version__ "] 32 bit (Intel) with MSC v." _Py_STRINGIZE(_MSC_VER) " CRT]") +#define PY_SUPPORT_TIER 0 +#elif defined(__INTEL_COMPILER) +#define COMPILER ("[ICC v." _Py_STRINGIZE(__INTEL_COMPILER) " 32 bit (Intel) with MSC v." _Py_STRINGIZE(_MSC_VER) " CRT]") +#define PY_SUPPORT_TIER 0 +#else +#define COMPILER _Py_PASTE_VERSION("32 bit (Intel)") +#define PY_SUPPORT_TIER 1 +#endif /* __clang__ */ +#define PYD_PLATFORM_TAG "win32" +#elif defined(_M_ARM) +#define COMPILER _Py_PASTE_VERSION("32 bit (ARM)") +#define PYD_PLATFORM_TAG "win_arm32" +#define PY_SUPPORT_TIER 0 +#else +#define COMPILER _Py_PASTE_VERSION("32 bit (Unknown)") +#define PY_SUPPORT_TIER 0 +#endif +#endif /* MS_WIN32 && !MS_WIN64 */ + +typedef int pid_t; + +/* define some ANSI types that are not defined in earlier Win headers */ +#if _MSC_VER >= 1200 +/* This file only exists in VC 6.0 or higher */ +#include +#endif + +#endif /* _MSC_VER */ + +/* ------------------------------------------------------------------------*/ +/* mingw and mingw-w64 define __MINGW32__ */ +#ifdef __MINGW32__ + +#ifdef _WIN64 +#define MS_WIN64 +#endif + +#endif /* __MINGW32__*/ + +/* ------------------------------------------------------------------------*/ +/* egcs/gnu-win32 defines __GNUC__ and _WIN32 */ +#if defined(__GNUC__) && defined(_WIN32) +/* XXX These defines are likely incomplete, but should be easy to fix. + They should be complete enough to build extension modules. */ +/* Suggested by Rene Liebscher to avoid a GCC 2.91.* + bug that requires structure imports. More recent versions of the + compiler don't exhibit this bug. +*/ +#if (__GNUC__==2) && (__GNUC_MINOR__<=91) +#warning "Please use an up-to-date version of gcc! (>2.91 recommended)" +#endif + +#define COMPILER "[gcc]" +#define PY_LONG_LONG long long +#define PY_LLONG_MIN LLONG_MIN +#define PY_LLONG_MAX LLONG_MAX +#define PY_ULLONG_MAX ULLONG_MAX +#endif /* GNUC */ + +/* ------------------------------------------------------------------------*/ +/* lcc-win32 defines __LCC__ */ +#if defined(__LCC__) +/* XXX These defines are likely incomplete, but should be easy to fix. + They should be complete enough to build extension modules. */ + +#define COMPILER "[lcc-win32]" +typedef int pid_t; +/* __declspec() is supported here too - do nothing to get the defaults */ + +#endif /* LCC */ + +/* ------------------------------------------------------------------------*/ +/* End of compilers - finish up */ + +#ifndef NO_STDIO_H +# include +#endif + +/* 64 bit ints are usually spelt __int64 unless compiler has overridden */ +#ifndef PY_LONG_LONG +# define PY_LONG_LONG __int64 +# define PY_LLONG_MAX _I64_MAX +# define PY_LLONG_MIN _I64_MIN +# define PY_ULLONG_MAX _UI64_MAX +#endif + +/* For Windows the Python core is in a DLL by default. Test +Py_NO_ENABLE_SHARED to find out. Also support MS_NO_COREDLL for b/w compat */ +#if !defined(MS_NO_COREDLL) && !defined(Py_NO_ENABLE_SHARED) +# define Py_ENABLE_SHARED 1 /* standard symbol for shared library */ +# define MS_COREDLL /* deprecated old symbol */ +#endif /* !MS_NO_COREDLL && ... */ + +/* All windows compilers that use this header support __declspec */ +#define HAVE_DECLSPEC_DLL + +/* For an MSVC DLL, we can nominate the .lib files used by extensions */ +#ifdef MS_COREDLL +# if !defined(Py_BUILD_CORE) && !defined(Py_BUILD_CORE_BUILTIN) + /* not building the core - must be an ext */ +# if defined(_MSC_VER) + /* So MSVC users need not specify the .lib + file in their Makefile (other compilers are + generally taken care of by distutils.) */ +# if defined(_DEBUG) +# pragma comment(lib,"python312_d.lib") +# elif defined(Py_LIMITED_API) +# pragma comment(lib,"python3.lib") +# else +# pragma comment(lib,"python312.lib") +# endif /* _DEBUG */ +# endif /* _MSC_VER */ +# endif /* Py_BUILD_CORE */ +#endif /* MS_COREDLL */ + +#ifdef MS_WIN64 +/* maintain "win32" sys.platform for backward compatibility of Python code, + the Win64 API should be close enough to the Win32 API to make this + preferable */ +# define PLATFORM "win32" +# define SIZEOF_VOID_P 8 +# define SIZEOF_TIME_T 8 +# define SIZEOF_OFF_T 4 +# define SIZEOF_FPOS_T 8 +# define SIZEOF_HKEY 8 +# define SIZEOF_SIZE_T 8 +# define ALIGNOF_SIZE_T 8 +# define ALIGNOF_MAX_ALIGN_T 8 +/* configure.ac defines HAVE_LARGEFILE_SUPPORT iff + sizeof(off_t) > sizeof(long), and sizeof(long long) >= sizeof(off_t). + On Win64 the second condition is not true, but if fpos_t replaces off_t + then this is true. The uses of HAVE_LARGEFILE_SUPPORT imply that Win64 + should define this. */ +# define HAVE_LARGEFILE_SUPPORT +#elif defined(MS_WIN32) +# define PLATFORM "win32" +# define HAVE_LARGEFILE_SUPPORT +# define SIZEOF_VOID_P 4 +# define SIZEOF_OFF_T 4 +# define SIZEOF_FPOS_T 8 +# define SIZEOF_HKEY 4 +# define SIZEOF_SIZE_T 4 +# define ALIGNOF_SIZE_T 4 + /* MS VS2005 changes time_t to a 64-bit type on all platforms */ +# if defined(_MSC_VER) && _MSC_VER >= 1400 +# define SIZEOF_TIME_T 8 +# else +# define SIZEOF_TIME_T 4 +# endif +# define ALIGNOF_MAX_ALIGN_T 8 +#endif + +#ifdef _DEBUG +# define Py_DEBUG +#endif + + +#ifdef MS_WIN32 + +#define SIZEOF_SHORT 2 +#define SIZEOF_INT 4 +#define SIZEOF_LONG 4 +#define ALIGNOF_LONG 4 +#define SIZEOF_LONG_LONG 8 +#define SIZEOF_DOUBLE 8 +#define SIZEOF_FLOAT 4 + +/* VC 7.1 has them and VC 6.0 does not. VC 6.0 has a version number of 1200. + Microsoft eMbedded Visual C++ 4.0 has a version number of 1201 and doesn't + define these. + If some compiler does not provide them, modify the #if appropriately. */ +#if defined(_MSC_VER) +#if _MSC_VER > 1300 +#define HAVE_UINTPTR_T 1 +#define HAVE_INTPTR_T 1 +#else +/* VC6, VS 2002 and eVC4 don't support the C99 LL suffix for 64-bit integer literals */ +#define Py_LL(x) x##I64 +#endif /* _MSC_VER > 1300 */ +#endif /* _MSC_VER */ + +#endif + +/* define signed and unsigned exact-width 32-bit and 64-bit types, used in the + implementation of Python integers. */ +#define PY_UINT32_T uint32_t +#define PY_UINT64_T uint64_t +#define PY_INT32_T int32_t +#define PY_INT64_T int64_t + +/* Fairly standard from here! */ + +/* Define if on AIX 3. + System headers sometimes define this. + We just want to avoid a redefinition error message. */ +#ifndef _ALL_SOURCE +/* #undef _ALL_SOURCE */ +#endif + +/* Define to empty if the keyword does not work. */ +/* #define const */ + +/* Define to 1 if you have the header file. */ +#define HAVE_CONIO_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_DIRECT_H 1 + +/* Define to 1 if you have the declaration of `tzname', and to 0 if you don't. + */ +#define HAVE_DECL_TZNAME 1 + +/* Define if you have dirent.h. */ +/* #define DIRENT 1 */ + +/* Define to the type of elements in the array set by `getgroups'. + Usually this is either `int' or `gid_t'. */ +/* #undef GETGROUPS_T */ + +/* Define to `int' if doesn't define. */ +/* #undef gid_t */ + +/* Define if your struct tm has tm_zone. */ +/* #undef HAVE_TM_ZONE */ + +/* Define if you don't have tm_zone but do have the external array + tzname. */ +#define HAVE_TZNAME + +/* Define to `int' if doesn't define. */ +/* #undef mode_t */ + +/* Define if you don't have dirent.h, but have ndir.h. */ +/* #undef NDIR */ + +/* Define to `long' if doesn't define. */ +/* #undef off_t */ + +/* Define to `int' if doesn't define. */ +/* #undef pid_t */ + +/* Define if the system does not provide POSIX.1 features except + with this defined. */ +/* #undef _POSIX_1_SOURCE */ + +/* Define if you need to in order for stat and other things to work. */ +/* #undef _POSIX_SOURCE */ + +/* Define as the return type of signal handlers (int or void). */ +#define RETSIGTYPE void + +/* Define to `unsigned' if doesn't define. */ +/* #undef size_t */ + +/* Define if you have the ANSI C header files. */ +#define STDC_HEADERS 1 + +/* Define if you don't have dirent.h, but have sys/dir.h. */ +/* #undef SYSDIR */ + +/* Define if you don't have dirent.h, but have sys/ndir.h. */ +/* #undef SYSNDIR */ + +/* Define if you can safely include both and . */ +/* #undef TIME_WITH_SYS_TIME */ + +/* Define if your declares struct tm. */ +/* #define TM_IN_SYS_TIME 1 */ + +/* Define to `int' if doesn't define. */ +/* #undef uid_t */ + +/* Define if the closedir function returns void instead of int. */ +/* #undef VOID_CLOSEDIR */ + +/* Define if getpgrp() must be called as getpgrp(0) + and (consequently) setpgrp() as setpgrp(0, 0). */ +/* #undef GETPGRP_HAVE_ARGS */ + +/* Define this if your time.h defines altzone */ +/* #define HAVE_ALTZONE */ + +/* Define if you have the putenv function. */ +#define HAVE_PUTENV + +/* Define if your compiler supports function prototypes */ +#define HAVE_PROTOTYPES + +/* Define if you can safely include both and + (which you can't on SCO ODT 3.0). */ +/* #undef SYS_SELECT_WITH_SYS_TIME */ + +/* Define if you want build the _decimal module using a coroutine-local rather + than a thread-local context */ +#define WITH_DECIMAL_CONTEXTVAR 1 + +/* Define if you want documentation strings in extension modules */ +#define WITH_DOC_STRINGS 1 + +/* Define if you want to compile in rudimentary thread support */ +/* #undef WITH_THREAD */ + +/* Define if you want to use the GNU readline library */ +/* #define WITH_READLINE 1 */ + +/* Use Python's own small-block memory-allocator. */ +#define WITH_PYMALLOC 1 + +/* Define if you want to compile in object freelists optimization */ +#define WITH_FREELISTS 1 + +/* Define if you have clock. */ +/* #define HAVE_CLOCK */ + +/* Define when any dynamic module loading is enabled */ +#define HAVE_DYNAMIC_LOADING + +/* Define if you have ftime. */ +#define HAVE_FTIME + +/* Define if you have getpeername. */ +#define HAVE_GETPEERNAME + +/* Define if you have getpgrp. */ +/* #undef HAVE_GETPGRP */ + +/* Define if you have getpid. */ +#define HAVE_GETPID + +/* Define if you have gettimeofday. */ +/* #undef HAVE_GETTIMEOFDAY */ + +/* Define if you have getwd. */ +/* #undef HAVE_GETWD */ + +/* Define if you have lstat. */ +/* #undef HAVE_LSTAT */ + +/* Define if you have the mktime function. */ +#define HAVE_MKTIME + +/* Define if you have nice. */ +/* #undef HAVE_NICE */ + +/* Define if you have readlink. */ +/* #undef HAVE_READLINK */ + +/* Define if you have setpgid. */ +/* #undef HAVE_SETPGID */ + +/* Define if you have setpgrp. */ +/* #undef HAVE_SETPGRP */ + +/* Define if you have setsid. */ +/* #undef HAVE_SETSID */ + +/* Define if you have setvbuf. */ +#define HAVE_SETVBUF + +/* Define if you have siginterrupt. */ +/* #undef HAVE_SIGINTERRUPT */ + +/* Define to 1 if you have the `shutdown' function. */ +#define HAVE_SHUTDOWN 1 + +/* Define if you have symlink. */ +/* #undef HAVE_SYMLINK */ + +/* Define if you have tcgetpgrp. */ +/* #undef HAVE_TCGETPGRP */ + +/* Define if you have tcsetpgrp. */ +/* #undef HAVE_TCSETPGRP */ + +/* Define if you have times. */ +/* #undef HAVE_TIMES */ + +/* Define to 1 if you have the `umask' function. */ +#define HAVE_UMASK 1 + +/* Define if you have uname. */ +/* #undef HAVE_UNAME */ + +/* Define if you have waitpid. */ +/* #undef HAVE_WAITPID */ + +/* Define to 1 if you have the `wcsftime' function. */ +#if defined(_MSC_VER) && _MSC_VER >= 1310 +#define HAVE_WCSFTIME 1 +#endif + +/* Define to 1 if you have the `wcscoll' function. */ +#define HAVE_WCSCOLL 1 + +/* Define to 1 if you have the `wcsxfrm' function. */ +#define HAVE_WCSXFRM 1 + +/* Define if the zlib library has inflateCopy */ +#define HAVE_ZLIB_COPY 1 + +/* Define if you have the header file. */ +/* #undef HAVE_DLFCN_H */ + +/* Define to 1 if you have the header file. */ +#define HAVE_ERRNO_H 1 + +/* Define if you have the header file. */ +#define HAVE_FCNTL_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_PROCESS_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SIGNAL_H 1 + +/* Define if you have the header file. */ +#define HAVE_STDDEF_H 1 + +/* Define if you have the header file. */ +/* #undef HAVE_SYS_AUDIOIO_H */ + +/* Define if you have the header file. */ +/* #define HAVE_SYS_PARAM_H 1 */ + +/* Define if you have the header file. */ +/* #define HAVE_SYS_SELECT_H 1 */ + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_STAT_H 1 + +/* Define if you have the header file. */ +/* #define HAVE_SYS_TIME_H 1 */ + +/* Define if you have the header file. */ +/* #define HAVE_SYS_TIMES_H 1 */ + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_TYPES_H 1 + +/* Define if you have the header file. */ +/* #define HAVE_SYS_UN_H 1 */ + +/* Define if you have the header file. */ +/* #define HAVE_SYS_UTIME_H 1 */ + +/* Define if you have the header file. */ +/* #define HAVE_SYS_UTSNAME_H 1 */ + +/* Define if you have the header file. */ +/* #define HAVE_UNISTD_H 1 */ + +/* Define if you have the header file. */ +/* #define HAVE_UTIME_H 1 */ + +/* Define if the compiler provides a wchar.h header file. */ +#define HAVE_WCHAR_H 1 + +/* The size of `wchar_t', as computed by sizeof. */ +#define SIZEOF_WCHAR_T 2 + +/* The size of `_Bool', as computed by sizeof. */ +#define SIZEOF__BOOL 1 + +/* The size of `pid_t', as computed by sizeof. */ +#define SIZEOF_PID_T SIZEOF_INT + +/* Define if you have the dl library (-ldl). */ +/* #undef HAVE_LIBDL */ + +/* Define if you have the mpc library (-lmpc). */ +/* #undef HAVE_LIBMPC */ + +/* Define if you have the nsl library (-lnsl). */ +#define HAVE_LIBNSL 1 + +/* Define if you have the seq library (-lseq). */ +/* #undef HAVE_LIBSEQ */ + +/* Define if you have the socket library (-lsocket). */ +#define HAVE_LIBSOCKET 1 + +/* Define if you have the sun library (-lsun). */ +/* #undef HAVE_LIBSUN */ + +/* Define if you have the termcap library (-ltermcap). */ +/* #undef HAVE_LIBTERMCAP */ + +/* Define if you have the termlib library (-ltermlib). */ +/* #undef HAVE_LIBTERMLIB */ + +/* Define if you have the thread library (-lthread). */ +/* #undef HAVE_LIBTHREAD */ + +/* WinSock does not use a bitmask in select, and uses + socket handles greater than FD_SETSIZE */ +#define Py_SOCKET_FD_CAN_BE_GE_FD_SETSIZE + +/* Define if C doubles are 64-bit IEEE 754 binary format, stored with the + least significant byte first */ +#define DOUBLE_IS_LITTLE_ENDIAN_IEEE754 1 + +/* Define to 1 if you have the `erf' function. */ +#define HAVE_ERF 1 + +/* Define to 1 if you have the `erfc' function. */ +#define HAVE_ERFC 1 + +// netdb.h functions (provided by winsock.h) +#define HAVE_GETHOSTNAME 1 +#define HAVE_GETHOSTBYADDR 1 +#define HAVE_GETHOSTBYNAME 1 +#define HAVE_GETPROTOBYNAME 1 +#define HAVE_GETSERVBYNAME 1 +#define HAVE_GETSERVBYPORT 1 +// sys/socket.h functions (provided by winsock.h) +#define HAVE_INET_PTON 1 +#define HAVE_INET_NTOA 1 +#define HAVE_ACCEPT 1 +#define HAVE_BIND 1 +#define HAVE_CONNECT 1 +#define HAVE_GETSOCKNAME 1 +#define HAVE_LISTEN 1 +#define HAVE_RECVFROM 1 +#define HAVE_SENDTO 1 +#define HAVE_SETSOCKOPT 1 +#define HAVE_SOCKET 1 + +/* Define to 1 if you have the `dup' function. */ +#define HAVE_DUP 1 + +/* framework name */ +#define _PYTHONFRAMEWORK "" + +/* Define if libssl has X509_VERIFY_PARAM_set1_host and related function */ +#define HAVE_X509_VERIFY_PARAM_SET1_HOST 1 + +#endif /* !Py_CONFIG_H */ diff --git a/_Pre_Builds/_Python312_cpp/include/pydtrace.d b/_Pre_Builds/_Python312_cpp/include/pydtrace.d new file mode 100644 index 0000000..5e6a626 --- /dev/null +++ b/_Pre_Builds/_Python312_cpp/include/pydtrace.d @@ -0,0 +1,22 @@ +/* Python DTrace provider */ + +provider python { + probe function__entry(const char *, const char *, int); + probe function__return(const char *, const char *, int); + probe instance__new__start(const char *, const char *); + probe instance__new__done(const char *, const char *); + probe instance__delete__start(const char *, const char *); + probe instance__delete__done(const char *, const char *); + probe line(const char *, const char *, int); + probe gc__start(int); + probe gc__done(long); + probe import__find__load__start(const char *); + probe import__find__load__done(const char *, int); + probe audit(const char *, void *); +}; + +#pragma D attributes Evolving/Evolving/Common provider python provider +#pragma D attributes Evolving/Evolving/Common provider python module +#pragma D attributes Evolving/Evolving/Common provider python function +#pragma D attributes Evolving/Evolving/Common provider python name +#pragma D attributes Evolving/Evolving/Common provider python args diff --git a/_Pre_Builds/_Python312_cpp/include/pydtrace.h b/_Pre_Builds/_Python312_cpp/include/pydtrace.h new file mode 100644 index 0000000..e197d36 --- /dev/null +++ b/_Pre_Builds/_Python312_cpp/include/pydtrace.h @@ -0,0 +1,59 @@ +/* Static DTrace probes interface */ + +#ifndef Py_DTRACE_H +#define Py_DTRACE_H +#ifdef __cplusplus +extern "C" { +#endif + +#ifdef WITH_DTRACE + +#include "pydtrace_probes.h" + +/* pydtrace_probes.h, on systems with DTrace, is auto-generated to include + `PyDTrace_{PROBE}` and `PyDTrace_{PROBE}_ENABLED()` macros for every probe + defined in pydtrace.d. + + Calling these functions must be guarded by a `PyDTrace_{PROBE}_ENABLED()` + check to minimize performance impact when probing is off. For example: + + if (PyDTrace_FUNCTION_ENTRY_ENABLED()) + PyDTrace_FUNCTION_ENTRY(f); +*/ + +#else + +/* Without DTrace, compile to nothing. */ + +static inline void PyDTrace_LINE(const char *arg0, const char *arg1, int arg2) {} +static inline void PyDTrace_FUNCTION_ENTRY(const char *arg0, const char *arg1, int arg2) {} +static inline void PyDTrace_FUNCTION_RETURN(const char *arg0, const char *arg1, int arg2) {} +static inline void PyDTrace_GC_START(int arg0) {} +static inline void PyDTrace_GC_DONE(Py_ssize_t arg0) {} +static inline void PyDTrace_INSTANCE_NEW_START(int arg0) {} +static inline void PyDTrace_INSTANCE_NEW_DONE(int arg0) {} +static inline void PyDTrace_INSTANCE_DELETE_START(int arg0) {} +static inline void PyDTrace_INSTANCE_DELETE_DONE(int arg0) {} +static inline void PyDTrace_IMPORT_FIND_LOAD_START(const char *arg0) {} +static inline void PyDTrace_IMPORT_FIND_LOAD_DONE(const char *arg0, int arg1) {} +static inline void PyDTrace_AUDIT(const char *arg0, void *arg1) {} + +static inline int PyDTrace_LINE_ENABLED(void) { return 0; } +static inline int PyDTrace_FUNCTION_ENTRY_ENABLED(void) { return 0; } +static inline int PyDTrace_FUNCTION_RETURN_ENABLED(void) { return 0; } +static inline int PyDTrace_GC_START_ENABLED(void) { return 0; } +static inline int PyDTrace_GC_DONE_ENABLED(void) { return 0; } +static inline int PyDTrace_INSTANCE_NEW_START_ENABLED(void) { return 0; } +static inline int PyDTrace_INSTANCE_NEW_DONE_ENABLED(void) { return 0; } +static inline int PyDTrace_INSTANCE_DELETE_START_ENABLED(void) { return 0; } +static inline int PyDTrace_INSTANCE_DELETE_DONE_ENABLED(void) { return 0; } +static inline int PyDTrace_IMPORT_FIND_LOAD_START_ENABLED(void) { return 0; } +static inline int PyDTrace_IMPORT_FIND_LOAD_DONE_ENABLED(void) { return 0; } +static inline int PyDTrace_AUDIT_ENABLED(void) { return 0; } + +#endif /* !WITH_DTRACE */ + +#ifdef __cplusplus +} +#endif +#endif /* !Py_DTRACE_H */ diff --git a/_Pre_Builds/_Python312_cpp/include/pyerrors.h b/_Pre_Builds/_Python312_cpp/include/pyerrors.h new file mode 100644 index 0000000..d089fa7 --- /dev/null +++ b/_Pre_Builds/_Python312_cpp/include/pyerrors.h @@ -0,0 +1,337 @@ +#ifndef Py_ERRORS_H +#define Py_ERRORS_H +#ifdef __cplusplus +extern "C" { +#endif + +#include // va_list + +/* Error handling definitions */ + +PyAPI_FUNC(void) PyErr_SetNone(PyObject *); +PyAPI_FUNC(void) PyErr_SetObject(PyObject *, PyObject *); +PyAPI_FUNC(void) PyErr_SetString( + PyObject *exception, + const char *string /* decoded from utf-8 */ + ); +PyAPI_FUNC(PyObject *) PyErr_Occurred(void); +PyAPI_FUNC(void) PyErr_Clear(void); +PyAPI_FUNC(void) PyErr_Fetch(PyObject **, PyObject **, PyObject **); +PyAPI_FUNC(void) PyErr_Restore(PyObject *, PyObject *, PyObject *); +PyAPI_FUNC(PyObject *) PyErr_GetRaisedException(void); +PyAPI_FUNC(void) PyErr_SetRaisedException(PyObject *); +#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x030b0000 +PyAPI_FUNC(PyObject*) PyErr_GetHandledException(void); +PyAPI_FUNC(void) PyErr_SetHandledException(PyObject *); +#endif +#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x03030000 +PyAPI_FUNC(void) PyErr_GetExcInfo(PyObject **, PyObject **, PyObject **); +PyAPI_FUNC(void) PyErr_SetExcInfo(PyObject *, PyObject *, PyObject *); +#endif + +/* Defined in Python/pylifecycle.c + + The Py_FatalError() function is replaced with a macro which logs + automatically the name of the current function, unless the Py_LIMITED_API + macro is defined. */ +PyAPI_FUNC(void) _Py_NO_RETURN Py_FatalError(const char *message); + +/* Error testing and normalization */ +PyAPI_FUNC(int) PyErr_GivenExceptionMatches(PyObject *, PyObject *); +PyAPI_FUNC(int) PyErr_ExceptionMatches(PyObject *); +PyAPI_FUNC(void) PyErr_NormalizeException(PyObject**, PyObject**, PyObject**); + +/* Traceback manipulation (PEP 3134) */ +PyAPI_FUNC(int) PyException_SetTraceback(PyObject *, PyObject *); +PyAPI_FUNC(PyObject *) PyException_GetTraceback(PyObject *); + +/* Cause manipulation (PEP 3134) */ +PyAPI_FUNC(PyObject *) PyException_GetCause(PyObject *); +PyAPI_FUNC(void) PyException_SetCause(PyObject *, PyObject *); + +/* Context manipulation (PEP 3134) */ +PyAPI_FUNC(PyObject *) PyException_GetContext(PyObject *); +PyAPI_FUNC(void) PyException_SetContext(PyObject *, PyObject *); + + +PyAPI_FUNC(PyObject *) PyException_GetArgs(PyObject *); +PyAPI_FUNC(void) PyException_SetArgs(PyObject *, PyObject *); + +/* */ + +#define PyExceptionClass_Check(x) \ + (PyType_Check((x)) && \ + PyType_FastSubclass((PyTypeObject*)(x), Py_TPFLAGS_BASE_EXC_SUBCLASS)) + +#define PyExceptionInstance_Check(x) \ + PyType_FastSubclass(Py_TYPE(x), Py_TPFLAGS_BASE_EXC_SUBCLASS) + +PyAPI_FUNC(const char *) PyExceptionClass_Name(PyObject *); + +#define PyExceptionInstance_Class(x) _PyObject_CAST(Py_TYPE(x)) + +#define _PyBaseExceptionGroup_Check(x) \ + PyObject_TypeCheck((x), (PyTypeObject *)PyExc_BaseExceptionGroup) + +/* Predefined exceptions */ + +PyAPI_DATA(PyObject *) PyExc_BaseException; +PyAPI_DATA(PyObject *) PyExc_Exception; +PyAPI_DATA(PyObject *) PyExc_BaseExceptionGroup; +#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x03050000 +PyAPI_DATA(PyObject *) PyExc_StopAsyncIteration; +#endif +PyAPI_DATA(PyObject *) PyExc_StopIteration; +PyAPI_DATA(PyObject *) PyExc_GeneratorExit; +PyAPI_DATA(PyObject *) PyExc_ArithmeticError; +PyAPI_DATA(PyObject *) PyExc_LookupError; + +PyAPI_DATA(PyObject *) PyExc_AssertionError; +PyAPI_DATA(PyObject *) PyExc_AttributeError; +PyAPI_DATA(PyObject *) PyExc_BufferError; +PyAPI_DATA(PyObject *) PyExc_EOFError; +PyAPI_DATA(PyObject *) PyExc_FloatingPointError; +PyAPI_DATA(PyObject *) PyExc_OSError; +PyAPI_DATA(PyObject *) PyExc_ImportError; +#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x03060000 +PyAPI_DATA(PyObject *) PyExc_ModuleNotFoundError; +#endif +PyAPI_DATA(PyObject *) PyExc_IndexError; +PyAPI_DATA(PyObject *) PyExc_KeyError; +PyAPI_DATA(PyObject *) PyExc_KeyboardInterrupt; +PyAPI_DATA(PyObject *) PyExc_MemoryError; +PyAPI_DATA(PyObject *) PyExc_NameError; +PyAPI_DATA(PyObject *) PyExc_OverflowError; +PyAPI_DATA(PyObject *) PyExc_RuntimeError; +#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x03050000 +PyAPI_DATA(PyObject *) PyExc_RecursionError; +#endif +PyAPI_DATA(PyObject *) PyExc_NotImplementedError; +PyAPI_DATA(PyObject *) PyExc_SyntaxError; +PyAPI_DATA(PyObject *) PyExc_IndentationError; +PyAPI_DATA(PyObject *) PyExc_TabError; +PyAPI_DATA(PyObject *) PyExc_ReferenceError; +PyAPI_DATA(PyObject *) PyExc_SystemError; +PyAPI_DATA(PyObject *) PyExc_SystemExit; +PyAPI_DATA(PyObject *) PyExc_TypeError; +PyAPI_DATA(PyObject *) PyExc_UnboundLocalError; +PyAPI_DATA(PyObject *) PyExc_UnicodeError; +PyAPI_DATA(PyObject *) PyExc_UnicodeEncodeError; +PyAPI_DATA(PyObject *) PyExc_UnicodeDecodeError; +PyAPI_DATA(PyObject *) PyExc_UnicodeTranslateError; +PyAPI_DATA(PyObject *) PyExc_ValueError; +PyAPI_DATA(PyObject *) PyExc_ZeroDivisionError; + +#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x03030000 +PyAPI_DATA(PyObject *) PyExc_BlockingIOError; +PyAPI_DATA(PyObject *) PyExc_BrokenPipeError; +PyAPI_DATA(PyObject *) PyExc_ChildProcessError; +PyAPI_DATA(PyObject *) PyExc_ConnectionError; +PyAPI_DATA(PyObject *) PyExc_ConnectionAbortedError; +PyAPI_DATA(PyObject *) PyExc_ConnectionRefusedError; +PyAPI_DATA(PyObject *) PyExc_ConnectionResetError; +PyAPI_DATA(PyObject *) PyExc_FileExistsError; +PyAPI_DATA(PyObject *) PyExc_FileNotFoundError; +PyAPI_DATA(PyObject *) PyExc_InterruptedError; +PyAPI_DATA(PyObject *) PyExc_IsADirectoryError; +PyAPI_DATA(PyObject *) PyExc_NotADirectoryError; +PyAPI_DATA(PyObject *) PyExc_PermissionError; +PyAPI_DATA(PyObject *) PyExc_ProcessLookupError; +PyAPI_DATA(PyObject *) PyExc_TimeoutError; +#endif + + +/* Compatibility aliases */ +PyAPI_DATA(PyObject *) PyExc_EnvironmentError; +PyAPI_DATA(PyObject *) PyExc_IOError; +#ifdef MS_WINDOWS +PyAPI_DATA(PyObject *) PyExc_WindowsError; +#endif + +/* Predefined warning categories */ +PyAPI_DATA(PyObject *) PyExc_Warning; +PyAPI_DATA(PyObject *) PyExc_UserWarning; +PyAPI_DATA(PyObject *) PyExc_DeprecationWarning; +PyAPI_DATA(PyObject *) PyExc_PendingDeprecationWarning; +PyAPI_DATA(PyObject *) PyExc_SyntaxWarning; +PyAPI_DATA(PyObject *) PyExc_RuntimeWarning; +PyAPI_DATA(PyObject *) PyExc_FutureWarning; +PyAPI_DATA(PyObject *) PyExc_ImportWarning; +PyAPI_DATA(PyObject *) PyExc_UnicodeWarning; +PyAPI_DATA(PyObject *) PyExc_BytesWarning; +PyAPI_DATA(PyObject *) PyExc_EncodingWarning; +PyAPI_DATA(PyObject *) PyExc_ResourceWarning; + + +/* Convenience functions */ + +PyAPI_FUNC(int) PyErr_BadArgument(void); +PyAPI_FUNC(PyObject *) PyErr_NoMemory(void); +PyAPI_FUNC(PyObject *) PyErr_SetFromErrno(PyObject *); +PyAPI_FUNC(PyObject *) PyErr_SetFromErrnoWithFilenameObject( + PyObject *, PyObject *); +#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x03040000 +PyAPI_FUNC(PyObject *) PyErr_SetFromErrnoWithFilenameObjects( + PyObject *, PyObject *, PyObject *); +#endif +PyAPI_FUNC(PyObject *) PyErr_SetFromErrnoWithFilename( + PyObject *exc, + const char *filename /* decoded from the filesystem encoding */ + ); + +PyAPI_FUNC(PyObject *) PyErr_Format( + PyObject *exception, + const char *format, /* ASCII-encoded string */ + ... + ); +#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x03050000 +PyAPI_FUNC(PyObject *) PyErr_FormatV( + PyObject *exception, + const char *format, + va_list vargs); +#endif + +#ifdef MS_WINDOWS +PyAPI_FUNC(PyObject *) PyErr_SetFromWindowsErrWithFilename( + int ierr, + const char *filename /* decoded from the filesystem encoding */ + ); +PyAPI_FUNC(PyObject *) PyErr_SetFromWindowsErr(int); +PyAPI_FUNC(PyObject *) PyErr_SetExcFromWindowsErrWithFilenameObject( + PyObject *,int, PyObject *); +#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x03040000 +PyAPI_FUNC(PyObject *) PyErr_SetExcFromWindowsErrWithFilenameObjects( + PyObject *,int, PyObject *, PyObject *); +#endif +PyAPI_FUNC(PyObject *) PyErr_SetExcFromWindowsErrWithFilename( + PyObject *exc, + int ierr, + const char *filename /* decoded from the filesystem encoding */ + ); +PyAPI_FUNC(PyObject *) PyErr_SetExcFromWindowsErr(PyObject *, int); +#endif /* MS_WINDOWS */ + +#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x03060000 +PyAPI_FUNC(PyObject *) PyErr_SetImportErrorSubclass(PyObject *, PyObject *, + PyObject *, PyObject *); +#endif +#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x03030000 +PyAPI_FUNC(PyObject *) PyErr_SetImportError(PyObject *, PyObject *, + PyObject *); +#endif + +/* Export the old function so that the existing API remains available: */ +PyAPI_FUNC(void) PyErr_BadInternalCall(void); +PyAPI_FUNC(void) _PyErr_BadInternalCall(const char *filename, int lineno); +/* Mask the old API with a call to the new API for code compiled under + Python 2.0: */ +#define PyErr_BadInternalCall() _PyErr_BadInternalCall(__FILE__, __LINE__) + +/* Function to create a new exception */ +PyAPI_FUNC(PyObject *) PyErr_NewException( + const char *name, PyObject *base, PyObject *dict); +PyAPI_FUNC(PyObject *) PyErr_NewExceptionWithDoc( + const char *name, const char *doc, PyObject *base, PyObject *dict); +PyAPI_FUNC(void) PyErr_WriteUnraisable(PyObject *); + + +/* In signalmodule.c */ +PyAPI_FUNC(int) PyErr_CheckSignals(void); +PyAPI_FUNC(void) PyErr_SetInterrupt(void); +#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x030A0000 +PyAPI_FUNC(int) PyErr_SetInterruptEx(int signum); +#endif + +/* Support for adding program text to SyntaxErrors */ +PyAPI_FUNC(void) PyErr_SyntaxLocation( + const char *filename, /* decoded from the filesystem encoding */ + int lineno); +PyAPI_FUNC(void) PyErr_SyntaxLocationEx( + const char *filename, /* decoded from the filesystem encoding */ + int lineno, + int col_offset); +PyAPI_FUNC(PyObject *) PyErr_ProgramText( + const char *filename, /* decoded from the filesystem encoding */ + int lineno); + +/* The following functions are used to create and modify unicode + exceptions from C */ + +/* create a UnicodeDecodeError object */ +PyAPI_FUNC(PyObject *) PyUnicodeDecodeError_Create( + const char *encoding, /* UTF-8 encoded string */ + const char *object, + Py_ssize_t length, + Py_ssize_t start, + Py_ssize_t end, + const char *reason /* UTF-8 encoded string */ + ); + +/* get the encoding attribute */ +PyAPI_FUNC(PyObject *) PyUnicodeEncodeError_GetEncoding(PyObject *); +PyAPI_FUNC(PyObject *) PyUnicodeDecodeError_GetEncoding(PyObject *); + +/* get the object attribute */ +PyAPI_FUNC(PyObject *) PyUnicodeEncodeError_GetObject(PyObject *); +PyAPI_FUNC(PyObject *) PyUnicodeDecodeError_GetObject(PyObject *); +PyAPI_FUNC(PyObject *) PyUnicodeTranslateError_GetObject(PyObject *); + +/* get the value of the start attribute (the int * may not be NULL) + return 0 on success, -1 on failure */ +PyAPI_FUNC(int) PyUnicodeEncodeError_GetStart(PyObject *, Py_ssize_t *); +PyAPI_FUNC(int) PyUnicodeDecodeError_GetStart(PyObject *, Py_ssize_t *); +PyAPI_FUNC(int) PyUnicodeTranslateError_GetStart(PyObject *, Py_ssize_t *); + +/* assign a new value to the start attribute + return 0 on success, -1 on failure */ +PyAPI_FUNC(int) PyUnicodeEncodeError_SetStart(PyObject *, Py_ssize_t); +PyAPI_FUNC(int) PyUnicodeDecodeError_SetStart(PyObject *, Py_ssize_t); +PyAPI_FUNC(int) PyUnicodeTranslateError_SetStart(PyObject *, Py_ssize_t); + +/* get the value of the end attribute (the int *may not be NULL) + return 0 on success, -1 on failure */ +PyAPI_FUNC(int) PyUnicodeEncodeError_GetEnd(PyObject *, Py_ssize_t *); +PyAPI_FUNC(int) PyUnicodeDecodeError_GetEnd(PyObject *, Py_ssize_t *); +PyAPI_FUNC(int) PyUnicodeTranslateError_GetEnd(PyObject *, Py_ssize_t *); + +/* assign a new value to the end attribute + return 0 on success, -1 on failure */ +PyAPI_FUNC(int) PyUnicodeEncodeError_SetEnd(PyObject *, Py_ssize_t); +PyAPI_FUNC(int) PyUnicodeDecodeError_SetEnd(PyObject *, Py_ssize_t); +PyAPI_FUNC(int) PyUnicodeTranslateError_SetEnd(PyObject *, Py_ssize_t); + +/* get the value of the reason attribute */ +PyAPI_FUNC(PyObject *) PyUnicodeEncodeError_GetReason(PyObject *); +PyAPI_FUNC(PyObject *) PyUnicodeDecodeError_GetReason(PyObject *); +PyAPI_FUNC(PyObject *) PyUnicodeTranslateError_GetReason(PyObject *); + +/* assign a new value to the reason attribute + return 0 on success, -1 on failure */ +PyAPI_FUNC(int) PyUnicodeEncodeError_SetReason( + PyObject *exc, + const char *reason /* UTF-8 encoded string */ + ); +PyAPI_FUNC(int) PyUnicodeDecodeError_SetReason( + PyObject *exc, + const char *reason /* UTF-8 encoded string */ + ); +PyAPI_FUNC(int) PyUnicodeTranslateError_SetReason( + PyObject *exc, + const char *reason /* UTF-8 encoded string */ + ); + +PyAPI_FUNC(int) PyOS_snprintf(char *str, size_t size, const char *format, ...) + Py_GCC_ATTRIBUTE((format(printf, 3, 4))); +PyAPI_FUNC(int) PyOS_vsnprintf(char *str, size_t size, const char *format, va_list va) + Py_GCC_ATTRIBUTE((format(printf, 3, 0))); + +#ifndef Py_LIMITED_API +# define Py_CPYTHON_ERRORS_H +# include "cpython/pyerrors.h" +# undef Py_CPYTHON_ERRORS_H +#endif + +#ifdef __cplusplus +} +#endif +#endif /* !Py_ERRORS_H */ diff --git a/_Pre_Builds/_Python312_cpp/include/pyexpat.h b/_Pre_Builds/_Python312_cpp/include/pyexpat.h new file mode 100644 index 0000000..07020b5 --- /dev/null +++ b/_Pre_Builds/_Python312_cpp/include/pyexpat.h @@ -0,0 +1,55 @@ +/* Stuff to export relevant 'expat' entry points from pyexpat to other + * parser modules, such as cElementTree. */ + +/* note: you must import expat.h before importing this module! */ + +#define PyExpat_CAPI_MAGIC "pyexpat.expat_CAPI 1.1" +#define PyExpat_CAPSULE_NAME "pyexpat.expat_CAPI" + +struct PyExpat_CAPI +{ + char* magic; /* set to PyExpat_CAPI_MAGIC */ + int size; /* set to sizeof(struct PyExpat_CAPI) */ + int MAJOR_VERSION; + int MINOR_VERSION; + int MICRO_VERSION; + /* pointers to selected expat functions. add new functions at + the end, if needed */ + const XML_LChar * (*ErrorString)(enum XML_Error code); + enum XML_Error (*GetErrorCode)(XML_Parser parser); + XML_Size (*GetErrorColumnNumber)(XML_Parser parser); + XML_Size (*GetErrorLineNumber)(XML_Parser parser); + enum XML_Status (*Parse)( + XML_Parser parser, const char *s, int len, int isFinal); + XML_Parser (*ParserCreate_MM)( + const XML_Char *encoding, const XML_Memory_Handling_Suite *memsuite, + const XML_Char *namespaceSeparator); + void (*ParserFree)(XML_Parser parser); + void (*SetCharacterDataHandler)( + XML_Parser parser, XML_CharacterDataHandler handler); + void (*SetCommentHandler)( + XML_Parser parser, XML_CommentHandler handler); + void (*SetDefaultHandlerExpand)( + XML_Parser parser, XML_DefaultHandler handler); + void (*SetElementHandler)( + XML_Parser parser, XML_StartElementHandler start, + XML_EndElementHandler end); + void (*SetNamespaceDeclHandler)( + XML_Parser parser, XML_StartNamespaceDeclHandler start, + XML_EndNamespaceDeclHandler end); + void (*SetProcessingInstructionHandler)( + XML_Parser parser, XML_ProcessingInstructionHandler handler); + void (*SetUnknownEncodingHandler)( + XML_Parser parser, XML_UnknownEncodingHandler handler, + void *encodingHandlerData); + void (*SetUserData)(XML_Parser parser, void *userData); + void (*SetStartDoctypeDeclHandler)(XML_Parser parser, + XML_StartDoctypeDeclHandler start); + enum XML_Status (*SetEncoding)(XML_Parser parser, const XML_Char *encoding); + int (*DefaultUnknownEncodingHandler)( + void *encodingHandlerData, const XML_Char *name, XML_Encoding *info); + /* might be none for expat < 2.1.0 */ + int (*SetHashSalt)(XML_Parser parser, unsigned long hash_salt); + /* always add new stuff to the end! */ +}; + diff --git a/_Pre_Builds/_Python312_cpp/include/pyframe.h b/_Pre_Builds/_Python312_cpp/include/pyframe.h new file mode 100644 index 0000000..13d5231 --- /dev/null +++ b/_Pre_Builds/_Python312_cpp/include/pyframe.h @@ -0,0 +1,26 @@ +/* Limited C API of PyFrame API + * + * Include "frameobject.h" to get the PyFrameObject structure. + */ + +#ifndef Py_PYFRAME_H +#define Py_PYFRAME_H +#ifdef __cplusplus +extern "C" { +#endif + +/* Return the line of code the frame is currently executing. */ +PyAPI_FUNC(int) PyFrame_GetLineNumber(PyFrameObject *); + +PyAPI_FUNC(PyCodeObject *) PyFrame_GetCode(PyFrameObject *frame); + +#ifndef Py_LIMITED_API +# define Py_CPYTHON_PYFRAME_H +# include "cpython/pyframe.h" +# undef Py_CPYTHON_PYFRAME_H +#endif + +#ifdef __cplusplus +} +#endif +#endif /* !Py_PYFRAME_H */ diff --git a/_Pre_Builds/_Python312_cpp/include/pyhash.h b/_Pre_Builds/_Python312_cpp/include/pyhash.h new file mode 100644 index 0000000..182d223 --- /dev/null +++ b/_Pre_Builds/_Python312_cpp/include/pyhash.h @@ -0,0 +1,144 @@ +#ifndef Py_HASH_H + +#define Py_HASH_H +#ifdef __cplusplus +extern "C" { +#endif + +/* Helpers for hash functions */ +#ifndef Py_LIMITED_API +PyAPI_FUNC(Py_hash_t) _Py_HashDouble(PyObject *, double); +PyAPI_FUNC(Py_hash_t) _Py_HashPointer(const void*); +// Similar to _Py_HashPointer(), but don't replace -1 with -2 +PyAPI_FUNC(Py_hash_t) _Py_HashPointerRaw(const void*); +PyAPI_FUNC(Py_hash_t) _Py_HashBytes(const void*, Py_ssize_t); +#endif + +/* Prime multiplier used in string and various other hashes. */ +#define _PyHASH_MULTIPLIER 1000003UL /* 0xf4243 */ + +/* Parameters used for the numeric hash implementation. See notes for + _Py_HashDouble in Python/pyhash.c. Numeric hashes are based on + reduction modulo the prime 2**_PyHASH_BITS - 1. */ + +#if SIZEOF_VOID_P >= 8 +# define _PyHASH_BITS 61 +#else +# define _PyHASH_BITS 31 +#endif + +#define _PyHASH_MODULUS (((size_t)1 << _PyHASH_BITS) - 1) +#define _PyHASH_INF 314159 +#define _PyHASH_IMAG _PyHASH_MULTIPLIER + + +/* hash secret + * + * memory layout on 64 bit systems + * cccccccc cccccccc cccccccc uc -- unsigned char[24] + * pppppppp ssssssss ........ fnv -- two Py_hash_t + * k0k0k0k0 k1k1k1k1 ........ siphash -- two uint64_t + * ........ ........ ssssssss djbx33a -- 16 bytes padding + one Py_hash_t + * ........ ........ eeeeeeee pyexpat XML hash salt + * + * memory layout on 32 bit systems + * cccccccc cccccccc cccccccc uc + * ppppssss ........ ........ fnv -- two Py_hash_t + * k0k0k0k0 k1k1k1k1 ........ siphash -- two uint64_t (*) + * ........ ........ ssss.... djbx33a -- 16 bytes padding + one Py_hash_t + * ........ ........ eeee.... pyexpat XML hash salt + * + * (*) The siphash member may not be available on 32 bit platforms without + * an unsigned int64 data type. + */ +#ifndef Py_LIMITED_API +typedef union { + /* ensure 24 bytes */ + unsigned char uc[24]; + /* two Py_hash_t for FNV */ + struct { + Py_hash_t prefix; + Py_hash_t suffix; + } fnv; + /* two uint64 for SipHash24 */ + struct { + uint64_t k0; + uint64_t k1; + } siphash; + /* a different (!) Py_hash_t for small string optimization */ + struct { + unsigned char padding[16]; + Py_hash_t suffix; + } djbx33a; + struct { + unsigned char padding[16]; + Py_hash_t hashsalt; + } expat; +} _Py_HashSecret_t; +PyAPI_DATA(_Py_HashSecret_t) _Py_HashSecret; + +#ifdef Py_DEBUG +PyAPI_DATA(int) _Py_HashSecret_Initialized; +#endif + + +/* hash function definition */ +typedef struct { + Py_hash_t (*const hash)(const void *, Py_ssize_t); + const char *name; + const int hash_bits; + const int seed_bits; +} PyHash_FuncDef; + +PyAPI_FUNC(PyHash_FuncDef*) PyHash_GetFuncDef(void); +#endif + + +/* cutoff for small string DJBX33A optimization in range [1, cutoff). + * + * About 50% of the strings in a typical Python application are smaller than + * 6 to 7 chars. However DJBX33A is vulnerable to hash collision attacks. + * NEVER use DJBX33A for long strings! + * + * A Py_HASH_CUTOFF of 0 disables small string optimization. 32 bit platforms + * should use a smaller cutoff because it is easier to create colliding + * strings. A cutoff of 7 on 64bit platforms and 5 on 32bit platforms should + * provide a decent safety margin. + */ +#ifndef Py_HASH_CUTOFF +# define Py_HASH_CUTOFF 0 +#elif (Py_HASH_CUTOFF > 7 || Py_HASH_CUTOFF < 0) +# error Py_HASH_CUTOFF must in range 0...7. +#endif /* Py_HASH_CUTOFF */ + + +/* hash algorithm selection + * + * The values for Py_HASH_* are hard-coded in the + * configure script. + * + * - FNV and SIPHASH* are available on all platforms and architectures. + * - With EXTERNAL embedders can provide an alternative implementation with:: + * + * PyHash_FuncDef PyHash_Func = {...}; + * + * XXX: Figure out __declspec() for extern PyHash_FuncDef. + */ +#define Py_HASH_EXTERNAL 0 +#define Py_HASH_SIPHASH24 1 +#define Py_HASH_FNV 2 +#define Py_HASH_SIPHASH13 3 + +#ifndef Py_HASH_ALGORITHM +# ifndef HAVE_ALIGNED_REQUIRED +# define Py_HASH_ALGORITHM Py_HASH_SIPHASH13 +# else +# define Py_HASH_ALGORITHM Py_HASH_FNV +# endif /* uint64_t && uint32_t && aligned */ +#endif /* Py_HASH_ALGORITHM */ + +#ifdef __cplusplus +} +#endif + +#endif /* !Py_HASH_H */ diff --git a/_Pre_Builds/_Python312_cpp/include/pylifecycle.h b/_Pre_Builds/_Python312_cpp/include/pylifecycle.h new file mode 100644 index 0000000..e4c3b09 --- /dev/null +++ b/_Pre_Builds/_Python312_cpp/include/pylifecycle.h @@ -0,0 +1,78 @@ + +/* Interfaces to configure, query, create & destroy the Python runtime */ + +#ifndef Py_PYLIFECYCLE_H +#define Py_PYLIFECYCLE_H +#ifdef __cplusplus +extern "C" { +#endif + + +/* Initialization and finalization */ +PyAPI_FUNC(void) Py_Initialize(void); +PyAPI_FUNC(void) Py_InitializeEx(int); +PyAPI_FUNC(void) Py_Finalize(void); +#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x03060000 +PyAPI_FUNC(int) Py_FinalizeEx(void); +#endif +PyAPI_FUNC(int) Py_IsInitialized(void); + +/* Subinterpreter support */ +PyAPI_FUNC(PyThreadState *) Py_NewInterpreter(void); +PyAPI_FUNC(void) Py_EndInterpreter(PyThreadState *); + + +/* Py_PyAtExit is for the atexit module, Py_AtExit is for low-level + * exit functions. + */ +PyAPI_FUNC(int) Py_AtExit(void (*func)(void)); + +PyAPI_FUNC(void) _Py_NO_RETURN Py_Exit(int); + +/* Bootstrap __main__ (defined in Modules/main.c) */ +PyAPI_FUNC(int) Py_Main(int argc, wchar_t **argv); +PyAPI_FUNC(int) Py_BytesMain(int argc, char **argv); + +/* In pathconfig.c */ +Py_DEPRECATED(3.11) PyAPI_FUNC(void) Py_SetProgramName(const wchar_t *); +PyAPI_FUNC(wchar_t *) Py_GetProgramName(void); + +Py_DEPRECATED(3.11) PyAPI_FUNC(void) Py_SetPythonHome(const wchar_t *); +PyAPI_FUNC(wchar_t *) Py_GetPythonHome(void); + +PyAPI_FUNC(wchar_t *) Py_GetProgramFullPath(void); + +PyAPI_FUNC(wchar_t *) Py_GetPrefix(void); +PyAPI_FUNC(wchar_t *) Py_GetExecPrefix(void); +PyAPI_FUNC(wchar_t *) Py_GetPath(void); +Py_DEPRECATED(3.11) PyAPI_FUNC(void) Py_SetPath(const wchar_t *); +#ifdef MS_WINDOWS +int _Py_CheckPython3(void); +#endif + +/* In their own files */ +PyAPI_FUNC(const char *) Py_GetVersion(void); +PyAPI_FUNC(const char *) Py_GetPlatform(void); +PyAPI_FUNC(const char *) Py_GetCopyright(void); +PyAPI_FUNC(const char *) Py_GetCompiler(void); +PyAPI_FUNC(const char *) Py_GetBuildInfo(void); + +/* Signals */ +typedef void (*PyOS_sighandler_t)(int); +PyAPI_FUNC(PyOS_sighandler_t) PyOS_getsig(int); +PyAPI_FUNC(PyOS_sighandler_t) PyOS_setsig(int, PyOS_sighandler_t); + +#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x030B0000 +PyAPI_DATA(const unsigned long) Py_Version; +#endif + +#ifndef Py_LIMITED_API +# define Py_CPYTHON_PYLIFECYCLE_H +# include "cpython/pylifecycle.h" +# undef Py_CPYTHON_PYLIFECYCLE_H +#endif + +#ifdef __cplusplus +} +#endif +#endif /* !Py_PYLIFECYCLE_H */ diff --git a/_Pre_Builds/_Python312_cpp/include/pymacconfig.h b/_Pre_Builds/_Python312_cpp/include/pymacconfig.h new file mode 100644 index 0000000..61f08e3 --- /dev/null +++ b/_Pre_Builds/_Python312_cpp/include/pymacconfig.h @@ -0,0 +1,99 @@ +#ifndef PYMACCONFIG_H +#define PYMACCONFIG_H + /* + * This file moves some of the autoconf magic to compile-time + * when building on MacOSX. This is needed for building 4-way + * universal binaries and for 64-bit universal binaries because + * the values redefined below aren't configure-time constant but + * only compile-time constant in these scenarios. + */ + +#if defined(__APPLE__) + +# undef ALIGNOF_MAX_ALIGN_T +# undef SIZEOF_LONG +# undef SIZEOF_LONG_DOUBLE +# undef SIZEOF_PTHREAD_T +# undef SIZEOF_SIZE_T +# undef SIZEOF_TIME_T +# undef SIZEOF_VOID_P +# undef SIZEOF__BOOL +# undef SIZEOF_UINTPTR_T +# undef SIZEOF_PTHREAD_T +# undef WORDS_BIGENDIAN +# undef DOUBLE_IS_ARM_MIXED_ENDIAN_IEEE754 +# undef DOUBLE_IS_BIG_ENDIAN_IEEE754 +# undef DOUBLE_IS_LITTLE_ENDIAN_IEEE754 +# undef HAVE_GCC_ASM_FOR_X87 +# undef HAVE_GCC_ASM_FOR_X64 + +# undef VA_LIST_IS_ARRAY +# if defined(__LP64__) && defined(__x86_64__) +# define VA_LIST_IS_ARRAY 1 +# endif + +# undef HAVE_LARGEFILE_SUPPORT +# ifndef __LP64__ +# define HAVE_LARGEFILE_SUPPORT 1 +# endif + +# undef SIZEOF_LONG +# ifdef __LP64__ +# define SIZEOF__BOOL 1 +# define SIZEOF__BOOL 1 +# define SIZEOF_LONG 8 +# define SIZEOF_PTHREAD_T 8 +# define SIZEOF_SIZE_T 8 +# define SIZEOF_TIME_T 8 +# define SIZEOF_VOID_P 8 +# define SIZEOF_UINTPTR_T 8 +# define SIZEOF_PTHREAD_T 8 +# else +# ifdef __ppc__ +# define SIZEOF__BOOL 4 +# else +# define SIZEOF__BOOL 1 +# endif +# define SIZEOF_LONG 4 +# define SIZEOF_PTHREAD_T 4 +# define SIZEOF_SIZE_T 4 +# define SIZEOF_TIME_T 4 +# define SIZEOF_VOID_P 4 +# define SIZEOF_UINTPTR_T 4 +# define SIZEOF_PTHREAD_T 4 +# endif + +# if defined(__LP64__) + /* MacOSX 10.4 (the first release to support 64-bit code + * at all) only supports 64-bit in the UNIX layer. + * Therefore suppress the toolbox-glue in 64-bit mode. + */ + + /* In 64-bit mode setpgrp always has no arguments, in 32-bit + * mode that depends on the compilation environment + */ +# undef SETPGRP_HAVE_ARG + +# endif + +#ifdef __BIG_ENDIAN__ +#define WORDS_BIGENDIAN 1 +#define DOUBLE_IS_BIG_ENDIAN_IEEE754 +#else +#define DOUBLE_IS_LITTLE_ENDIAN_IEEE754 +#endif /* __BIG_ENDIAN */ + +#if defined(__i386__) || defined(__x86_64__) +# define HAVE_GCC_ASM_FOR_X87 +# define ALIGNOF_MAX_ALIGN_T 16 +# define HAVE_GCC_ASM_FOR_X64 1 +# define SIZEOF_LONG_DOUBLE 16 +#else +# define ALIGNOF_MAX_ALIGN_T 8 +# define SIZEOF_LONG_DOUBLE 8 +#endif + + +#endif /* defined(_APPLE__) */ + +#endif /* PYMACCONFIG_H */ diff --git a/_Pre_Builds/_Python312_cpp/include/pymacro.h b/_Pre_Builds/_Python312_cpp/include/pymacro.h new file mode 100644 index 0000000..342d2a7 --- /dev/null +++ b/_Pre_Builds/_Python312_cpp/include/pymacro.h @@ -0,0 +1,163 @@ +#ifndef Py_PYMACRO_H +#define Py_PYMACRO_H + +// gh-91782: On FreeBSD 12, if the _POSIX_C_SOURCE and _XOPEN_SOURCE macros are +// defined, disables C11 support and does not define +// the static_assert() macro. +// https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=255290 +// +// macOS <= 10.10 doesn't define static_assert in assert.h at all despite +// having C11 compiler support. +// +// static_assert is defined in glibc from version 2.16. Compiler support for +// the C11 _Static_assert keyword is in gcc >= 4.6. +// +// MSVC makes static_assert a keyword in C11-17, contrary to the standards. +// +// In C++11 and C2x, static_assert is a keyword, redefining is undefined +// behaviour. So only define if building as C (if __STDC_VERSION__ is defined), +// not C++, and only for C11-17. +#if !defined(static_assert) && (defined(__GNUC__) || defined(__clang__)) \ + && defined(__STDC_VERSION__) && __STDC_VERSION__ >= 201112L \ + && __STDC_VERSION__ <= 201710L +# define static_assert _Static_assert +#endif + +/* Minimum value between x and y */ +#define Py_MIN(x, y) (((x) > (y)) ? (y) : (x)) + +/* Maximum value between x and y */ +#define Py_MAX(x, y) (((x) > (y)) ? (x) : (y)) + +/* Absolute value of the number x */ +#define Py_ABS(x) ((x) < 0 ? -(x) : (x)) + +#define _Py_XSTRINGIFY(x) #x + +/* Convert the argument to a string. For example, Py_STRINGIFY(123) is replaced + with "123" by the preprocessor. Defines are also replaced by their value. + For example Py_STRINGIFY(__LINE__) is replaced by the line number, not + by "__LINE__". */ +#define Py_STRINGIFY(x) _Py_XSTRINGIFY(x) + +/* Get the size of a structure member in bytes */ +#define Py_MEMBER_SIZE(type, member) sizeof(((type *)0)->member) + +/* Argument must be a char or an int in [-128, 127] or [0, 255]. */ +#define Py_CHARMASK(c) ((unsigned char)((c) & 0xff)) + +/* Assert a build-time dependency, as an expression. + + Your compile will fail if the condition isn't true, or can't be evaluated + by the compiler. This can be used in an expression: its value is 0. + + Example: + + #define foo_to_char(foo) \ + ((char *)(foo) \ + + Py_BUILD_ASSERT_EXPR(offsetof(struct foo, string) == 0)) + + Written by Rusty Russell, public domain, http://ccodearchive.net/ */ +#define Py_BUILD_ASSERT_EXPR(cond) \ + (sizeof(char [1 - 2*!(cond)]) - 1) + +#define Py_BUILD_ASSERT(cond) do { \ + (void)Py_BUILD_ASSERT_EXPR(cond); \ + } while(0) + +/* Get the number of elements in a visible array + + This does not work on pointers, or arrays declared as [], or function + parameters. With correct compiler support, such usage will cause a build + error (see Py_BUILD_ASSERT_EXPR). + + Written by Rusty Russell, public domain, http://ccodearchive.net/ + + Requires at GCC 3.1+ */ +#if (defined(__GNUC__) && !defined(__STRICT_ANSI__) && \ + (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 1)) || (__GNUC__ >= 4))) +/* Two gcc extensions. + &a[0] degrades to a pointer: a different type from an array */ +#define Py_ARRAY_LENGTH(array) \ + (sizeof(array) / sizeof((array)[0]) \ + + Py_BUILD_ASSERT_EXPR(!__builtin_types_compatible_p(typeof(array), \ + typeof(&(array)[0])))) +#else +#define Py_ARRAY_LENGTH(array) \ + (sizeof(array) / sizeof((array)[0])) +#endif + + +/* Define macros for inline documentation. */ +#define PyDoc_VAR(name) static const char name[] +#define PyDoc_STRVAR(name,str) PyDoc_VAR(name) = PyDoc_STR(str) +#ifdef WITH_DOC_STRINGS +#define PyDoc_STR(str) str +#else +#define PyDoc_STR(str) "" +#endif + +/* Below "a" is a power of 2. */ +/* Round down size "n" to be a multiple of "a". */ +#define _Py_SIZE_ROUND_DOWN(n, a) ((size_t)(n) & ~(size_t)((a) - 1)) +/* Round up size "n" to be a multiple of "a". */ +#define _Py_SIZE_ROUND_UP(n, a) (((size_t)(n) + \ + (size_t)((a) - 1)) & ~(size_t)((a) - 1)) +/* Round pointer "p" down to the closest "a"-aligned address <= "p". */ +#define _Py_ALIGN_DOWN(p, a) ((void *)((uintptr_t)(p) & ~(uintptr_t)((a) - 1))) +/* Round pointer "p" up to the closest "a"-aligned address >= "p". */ +#define _Py_ALIGN_UP(p, a) ((void *)(((uintptr_t)(p) + \ + (uintptr_t)((a) - 1)) & ~(uintptr_t)((a) - 1))) +/* Check if pointer "p" is aligned to "a"-bytes boundary. */ +#define _Py_IS_ALIGNED(p, a) (!((uintptr_t)(p) & (uintptr_t)((a) - 1))) + +/* Use this for unused arguments in a function definition to silence compiler + * warnings. Example: + * + * int func(int a, int Py_UNUSED(b)) { return a; } + */ +#if defined(__GNUC__) || defined(__clang__) +# define Py_UNUSED(name) _unused_ ## name __attribute__((unused)) +#else +# define Py_UNUSED(name) _unused_ ## name +#endif + +#if defined(RANDALL_WAS_HERE) +# define Py_UNREACHABLE() \ + Py_FatalError( \ + "If you're seeing this, the code is in what I thought was\n" \ + "an unreachable state.\n\n" \ + "I could give you advice for what to do, but honestly, why\n" \ + "should you trust me? I clearly screwed this up. I'm writing\n" \ + "a message that should never appear, yet I know it will\n" \ + "probably appear someday.\n\n" \ + "On a deep level, I know I'm not up to this task.\n" \ + "I'm so sorry.\n" \ + "https://xkcd.com/2200") +#elif defined(Py_DEBUG) +# define Py_UNREACHABLE() \ + Py_FatalError( \ + "We've reached an unreachable state. Anything is possible.\n" \ + "The limits were in our heads all along. Follow your dreams.\n" \ + "https://xkcd.com/2200") +#elif defined(__GNUC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 5)) +# define Py_UNREACHABLE() __builtin_unreachable() +#elif defined(__clang__) || defined(__INTEL_COMPILER) +# define Py_UNREACHABLE() __builtin_unreachable() +#elif defined(_MSC_VER) +# define Py_UNREACHABLE() __assume(0) +#else +# define Py_UNREACHABLE() \ + Py_FatalError("Unreachable C code path reached") +#endif + +// Prevent using an expression as a l-value. +// For example, "int x; _Py_RVALUE(x) = 1;" fails with a compiler error. +#define _Py_RVALUE(EXPR) ((void)0, (EXPR)) + +// Return non-zero if the type is signed, return zero if it's unsigned. +// Use "<= 0" rather than "< 0" to prevent the compiler warning: +// "comparison of unsigned expression in '< 0' is always false". +#define _Py_IS_TYPE_SIGNED(type) ((type)(-1) <= 0) + +#endif /* Py_PYMACRO_H */ diff --git a/_Pre_Builds/_Python312_cpp/include/pymath.h b/_Pre_Builds/_Python312_cpp/include/pymath.h new file mode 100644 index 0000000..4c1e3d9 --- /dev/null +++ b/_Pre_Builds/_Python312_cpp/include/pymath.h @@ -0,0 +1,62 @@ +// Symbols and macros to supply platform-independent interfaces to mathematical +// functions and constants. + +#ifndef Py_PYMATH_H +#define Py_PYMATH_H + +/* High precision definition of pi and e (Euler) + * The values are taken from libc6's math.h. + */ +#ifndef Py_MATH_PIl +#define Py_MATH_PIl 3.1415926535897932384626433832795029L +#endif +#ifndef Py_MATH_PI +#define Py_MATH_PI 3.14159265358979323846 +#endif + +#ifndef Py_MATH_El +#define Py_MATH_El 2.7182818284590452353602874713526625L +#endif + +#ifndef Py_MATH_E +#define Py_MATH_E 2.7182818284590452354 +#endif + +/* Tau (2pi) to 40 digits, taken from tauday.com/tau-digits. */ +#ifndef Py_MATH_TAU +#define Py_MATH_TAU 6.2831853071795864769252867665590057683943L +#endif + +// Py_IS_NAN(X) +// Return 1 if float or double arg is a NaN, else 0. +#define Py_IS_NAN(X) isnan(X) + +// Py_IS_INFINITY(X) +// Return 1 if float or double arg is an infinity, else 0. +#define Py_IS_INFINITY(X) isinf(X) + +// Py_IS_FINITE(X) +// Return 1 if float or double arg is neither infinite nor NAN, else 0. +#define Py_IS_FINITE(X) isfinite(X) + +// Py_INFINITY: Value that evaluates to a positive double infinity. +#ifndef Py_INFINITY +# define Py_INFINITY ((double)INFINITY) +#endif + +/* Py_HUGE_VAL should always be the same as Py_INFINITY. But historically + * this was not reliable and Python did not require IEEE floats and C99 + * conformity. Prefer Py_INFINITY for new code. + */ +#ifndef Py_HUGE_VAL +# define Py_HUGE_VAL HUGE_VAL +#endif + +/* Py_NAN: Value that evaluates to a quiet Not-a-Number (NaN). The sign is + * undefined and normally not relevant, but e.g. fixed for float("nan"). + */ +#if !defined(Py_NAN) +# define Py_NAN ((double)NAN) +#endif + +#endif /* Py_PYMATH_H */ diff --git a/_Pre_Builds/_Python312_cpp/include/pymem.h b/_Pre_Builds/_Python312_cpp/include/pymem.h new file mode 100644 index 0000000..e882645 --- /dev/null +++ b/_Pre_Builds/_Python312_cpp/include/pymem.h @@ -0,0 +1,104 @@ +/* The PyMem_ family: low-level memory allocation interfaces. + See objimpl.h for the PyObject_ memory family. +*/ + +#ifndef Py_PYMEM_H +#define Py_PYMEM_H + +#include "pyport.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* BEWARE: + + Each interface exports both functions and macros. Extension modules should + use the functions, to ensure binary compatibility across Python versions. + Because the Python implementation is free to change internal details, and + the macros may (or may not) expose details for speed, if you do use the + macros you must recompile your extensions with each Python release. + + Never mix calls to PyMem_ with calls to the platform malloc/realloc/ + calloc/free. For example, on Windows different DLLs may end up using + different heaps, and if you use PyMem_Malloc you'll get the memory from the + heap used by the Python DLL; it could be a disaster if you free()'ed that + directly in your own extension. Using PyMem_Free instead ensures Python + can return the memory to the proper heap. As another example, in + a debug build (Py_DEBUG macro), Python wraps all calls to all PyMem_ and + PyObject_ memory functions in special debugging wrappers that add additional + debugging info to dynamic memory blocks. The system routines have no idea + what to do with that stuff, and the Python wrappers have no idea what to do + with raw blocks obtained directly by the system routines then. + + The GIL must be held when using these APIs. +*/ + +/* + * Raw memory interface + * ==================== + */ + +/* Functions + + Functions supplying platform-independent semantics for malloc/realloc/ + free. These functions make sure that allocating 0 bytes returns a distinct + non-NULL pointer (whenever possible -- if we're flat out of memory, NULL + may be returned), even if the platform malloc and realloc don't. + Returned pointers must be checked for NULL explicitly. No action is + performed on failure (no exception is set, no warning is printed, etc). +*/ + +PyAPI_FUNC(void *) PyMem_Malloc(size_t size); +PyAPI_FUNC(void *) PyMem_Calloc(size_t nelem, size_t elsize); +PyAPI_FUNC(void *) PyMem_Realloc(void *ptr, size_t new_size); +PyAPI_FUNC(void) PyMem_Free(void *ptr); + +/* + * Type-oriented memory interface + * ============================== + * + * Allocate memory for n objects of the given type. Returns a new pointer + * or NULL if the request was too large or memory allocation failed. Use + * these macros rather than doing the multiplication yourself so that proper + * overflow checking is always done. + */ + +#define PyMem_New(type, n) \ + ( ((size_t)(n) > PY_SSIZE_T_MAX / sizeof(type)) ? NULL : \ + ( (type *) PyMem_Malloc((n) * sizeof(type)) ) ) + +/* + * The value of (p) is always clobbered by this macro regardless of success. + * The caller MUST check if (p) is NULL afterwards and deal with the memory + * error if so. This means the original value of (p) MUST be saved for the + * caller's memory error handler to not lose track of it. + */ +#define PyMem_Resize(p, type, n) \ + ( (p) = ((size_t)(n) > PY_SSIZE_T_MAX / sizeof(type)) ? NULL : \ + (type *) PyMem_Realloc((p), (n) * sizeof(type)) ) + + +// Deprecated aliases only kept for backward compatibility. +// PyMem_Del and PyMem_DEL are defined with no parameter to be able to use +// them as function pointers (ex: dealloc = PyMem_Del). +#define PyMem_MALLOC(n) PyMem_Malloc((n)) +#define PyMem_NEW(type, n) PyMem_New(type, (n)) +#define PyMem_REALLOC(p, n) PyMem_Realloc((p), (n)) +#define PyMem_RESIZE(p, type, n) PyMem_Resize((p), type, (n)) +#define PyMem_FREE(p) PyMem_Free((p)) +#define PyMem_Del(p) PyMem_Free((p)) +#define PyMem_DEL(p) PyMem_Free((p)) + + +#ifndef Py_LIMITED_API +# define Py_CPYTHON_PYMEM_H +# include "cpython/pymem.h" +# undef Py_CPYTHON_PYMEM_H +#endif + +#ifdef __cplusplus +} +#endif + +#endif /* !Py_PYMEM_H */ diff --git a/_Pre_Builds/_Python312_cpp/include/pyport.h b/_Pre_Builds/_Python312_cpp/include/pyport.h new file mode 100644 index 0000000..35eca72 --- /dev/null +++ b/_Pre_Builds/_Python312_cpp/include/pyport.h @@ -0,0 +1,774 @@ +#ifndef Py_PYPORT_H +#define Py_PYPORT_H + +#include "pyconfig.h" /* include for defines */ + +#include + +#include +#ifndef UCHAR_MAX +# error "limits.h must define UCHAR_MAX" +#endif +#if UCHAR_MAX != 255 +# error "Python's source code assumes C's unsigned char is an 8-bit type" +#endif + + +// Macro to use C++ static_cast<> in the Python C API. +#ifdef __cplusplus +# define _Py_STATIC_CAST(type, expr) static_cast(expr) +#else +# define _Py_STATIC_CAST(type, expr) ((type)(expr)) +#endif +// Macro to use the more powerful/dangerous C-style cast even in C++. +#define _Py_CAST(type, expr) ((type)(expr)) + +// Static inline functions should use _Py_NULL rather than using directly NULL +// to prevent C++ compiler warnings. On C++11 and newer, _Py_NULL is defined as +// nullptr. +#if defined(__cplusplus) && __cplusplus >= 201103 +# define _Py_NULL nullptr +#else +# define _Py_NULL NULL +#endif + + +/* Defines to build Python and its standard library: + * + * - Py_BUILD_CORE: Build Python core. Give access to Python internals, but + * should not be used by third-party modules. + * - Py_BUILD_CORE_BUILTIN: Build a Python stdlib module as a built-in module. + * - Py_BUILD_CORE_MODULE: Build a Python stdlib module as a dynamic library. + * + * Py_BUILD_CORE_BUILTIN and Py_BUILD_CORE_MODULE imply Py_BUILD_CORE. + * + * On Windows, Py_BUILD_CORE_MODULE exports "PyInit_xxx" symbol, whereas + * Py_BUILD_CORE_BUILTIN does not. + */ +#if defined(Py_BUILD_CORE_BUILTIN) && !defined(Py_BUILD_CORE) +# define Py_BUILD_CORE +#endif +#if defined(Py_BUILD_CORE_MODULE) && !defined(Py_BUILD_CORE) +# define Py_BUILD_CORE +#endif + + +/************************************************************************** +Symbols and macros to supply platform-independent interfaces to basic +C language & library operations whose spellings vary across platforms. + +Please try to make documentation here as clear as possible: by definition, +the stuff here is trying to illuminate C's darkest corners. + +Config #defines referenced here: + +SIGNED_RIGHT_SHIFT_ZERO_FILLS +Meaning: To be defined iff i>>j does not extend the sign bit when i is a + signed integral type and i < 0. +Used in: Py_ARITHMETIC_RIGHT_SHIFT + +Py_DEBUG +Meaning: Extra checks compiled in for debug mode. +Used in: Py_SAFE_DOWNCAST + +**************************************************************************/ + +/* typedefs for some C9X-defined synonyms for integral types. + * + * The names in Python are exactly the same as the C9X names, except with a + * Py_ prefix. Until C9X is universally implemented, this is the only way + * to ensure that Python gets reliable names that don't conflict with names + * in non-Python code that are playing their own tricks to define the C9X + * names. + * + * NOTE: don't go nuts here! Python has no use for *most* of the C9X + * integral synonyms. Only define the ones we actually need. + */ + +/* long long is required. Ensure HAVE_LONG_LONG is defined for compatibility. */ +#ifndef HAVE_LONG_LONG +#define HAVE_LONG_LONG 1 +#endif +#ifndef PY_LONG_LONG +#define PY_LONG_LONG long long +/* If LLONG_MAX is defined in limits.h, use that. */ +#define PY_LLONG_MIN LLONG_MIN +#define PY_LLONG_MAX LLONG_MAX +#define PY_ULLONG_MAX ULLONG_MAX +#endif + +#define PY_UINT32_T uint32_t +#define PY_UINT64_T uint64_t + +/* Signed variants of the above */ +#define PY_INT32_T int32_t +#define PY_INT64_T int64_t + +/* PYLONG_BITS_IN_DIGIT describes the number of bits per "digit" (limb) in the + * PyLongObject implementation (longintrepr.h). It's currently either 30 or 15, + * defaulting to 30. The 15-bit digit option may be removed in the future. + */ +#ifndef PYLONG_BITS_IN_DIGIT +#define PYLONG_BITS_IN_DIGIT 30 +#endif + +/* uintptr_t is the C9X name for an unsigned integral type such that a + * legitimate void* can be cast to uintptr_t and then back to void* again + * without loss of information. Similarly for intptr_t, wrt a signed + * integral type. + */ +typedef uintptr_t Py_uintptr_t; +typedef intptr_t Py_intptr_t; + +/* Py_ssize_t is a signed integral type such that sizeof(Py_ssize_t) == + * sizeof(size_t). C99 doesn't define such a thing directly (size_t is an + * unsigned integral type). See PEP 353 for details. + * PY_SSIZE_T_MAX is the largest positive value of type Py_ssize_t. + */ +#ifdef HAVE_PY_SSIZE_T + +#elif HAVE_SSIZE_T +typedef ssize_t Py_ssize_t; +# define PY_SSIZE_T_MAX SSIZE_MAX +#elif SIZEOF_VOID_P == SIZEOF_SIZE_T +typedef Py_intptr_t Py_ssize_t; +# define PY_SSIZE_T_MAX INTPTR_MAX +#else +# error "Python needs a typedef for Py_ssize_t in pyport.h." +#endif + +/* Smallest negative value of type Py_ssize_t. */ +#define PY_SSIZE_T_MIN (-PY_SSIZE_T_MAX-1) + +/* Py_hash_t is the same size as a pointer. */ +#define SIZEOF_PY_HASH_T SIZEOF_SIZE_T +typedef Py_ssize_t Py_hash_t; +/* Py_uhash_t is the unsigned equivalent needed to calculate numeric hash. */ +#define SIZEOF_PY_UHASH_T SIZEOF_SIZE_T +typedef size_t Py_uhash_t; + +/* Now PY_SSIZE_T_CLEAN is mandatory. This is just for backward compatibility. */ +typedef Py_ssize_t Py_ssize_clean_t; + +/* Largest possible value of size_t. */ +#define PY_SIZE_MAX SIZE_MAX + +/* Macro kept for backward compatibility: use directly "z" in new code. + * + * PY_FORMAT_SIZE_T is a modifier for use in a printf format to convert an + * argument with the width of a size_t or Py_ssize_t: "z" (C99). + */ +#ifndef PY_FORMAT_SIZE_T +# define PY_FORMAT_SIZE_T "z" +#endif + +/* Py_LOCAL can be used instead of static to get the fastest possible calling + * convention for functions that are local to a given module. + * + * Py_LOCAL_INLINE does the same thing, and also explicitly requests inlining, + * for platforms that support that. + * + * NOTE: You can only use this for functions that are entirely local to a + * module; functions that are exported via method tables, callbacks, etc, + * should keep using static. + */ + +#if defined(_MSC_VER) + /* ignore warnings if the compiler decides not to inline a function */ +# pragma warning(disable: 4710) + /* fastest possible local call under MSVC */ +# define Py_LOCAL(type) static type __fastcall +# define Py_LOCAL_INLINE(type) static __inline type __fastcall +#else +# define Py_LOCAL(type) static type +# define Py_LOCAL_INLINE(type) static inline type +#endif + +#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 < 0x030b0000 +# define Py_MEMCPY memcpy +#endif + +#ifdef HAVE_IEEEFP_H +#include /* needed for 'finite' declaration on some platforms */ +#endif + +#include /* Moved here from the math section, before extern "C" */ + +/******************************************** + * WRAPPER FOR and/or * + ********************************************/ + +#ifdef HAVE_SYS_TIME_H +#include +#endif +#include + +/****************************** + * WRAPPER FOR * + ******************************/ + +/* NB caller must include */ + +#ifdef HAVE_SYS_SELECT_H +#include +#endif /* !HAVE_SYS_SELECT_H */ + +/******************************* + * stat() and fstat() fiddling * + *******************************/ + +#ifdef HAVE_SYS_STAT_H +#include +#elif defined(HAVE_STAT_H) +#include +#endif + +#ifndef S_IFMT +/* VisualAge C/C++ Failed to Define MountType Field in sys/stat.h */ +#define S_IFMT 0170000 +#endif + +#ifndef S_IFLNK +/* Windows doesn't define S_IFLNK but posixmodule.c maps + * IO_REPARSE_TAG_SYMLINK to S_IFLNK */ +# define S_IFLNK 0120000 +#endif + +#ifndef S_ISREG +#define S_ISREG(x) (((x) & S_IFMT) == S_IFREG) +#endif + +#ifndef S_ISDIR +#define S_ISDIR(x) (((x) & S_IFMT) == S_IFDIR) +#endif + +#ifndef S_ISCHR +#define S_ISCHR(x) (((x) & S_IFMT) == S_IFCHR) +#endif + +#ifndef S_ISLNK +#define S_ISLNK(x) (((x) & S_IFMT) == S_IFLNK) +#endif + +#ifdef __cplusplus +/* Move this down here since some C++ #include's don't like to be included + inside an extern "C" */ +extern "C" { +#endif + + +/* Py_ARITHMETIC_RIGHT_SHIFT + * C doesn't define whether a right-shift of a signed integer sign-extends + * or zero-fills. Here a macro to force sign extension: + * Py_ARITHMETIC_RIGHT_SHIFT(TYPE, I, J) + * Return I >> J, forcing sign extension. Arithmetically, return the + * floor of I/2**J. + * Requirements: + * I should have signed integer type. In the terminology of C99, this can + * be either one of the five standard signed integer types (signed char, + * short, int, long, long long) or an extended signed integer type. + * J is an integer >= 0 and strictly less than the number of bits in the + * type of I (because C doesn't define what happens for J outside that + * range either). + * TYPE used to specify the type of I, but is now ignored. It's been left + * in for backwards compatibility with versions <= 2.6 or 3.0. + * Caution: + * I may be evaluated more than once. + */ +#ifdef SIGNED_RIGHT_SHIFT_ZERO_FILLS +#define Py_ARITHMETIC_RIGHT_SHIFT(TYPE, I, J) \ + ((I) < 0 ? -1-((-1-(I)) >> (J)) : (I) >> (J)) +#else +#define Py_ARITHMETIC_RIGHT_SHIFT(TYPE, I, J) ((I) >> (J)) +#endif + +/* Py_FORCE_EXPANSION(X) + * "Simply" returns its argument. However, macro expansions within the + * argument are evaluated. This unfortunate trickery is needed to get + * token-pasting to work as desired in some cases. + */ +#define Py_FORCE_EXPANSION(X) X + +/* Py_SAFE_DOWNCAST(VALUE, WIDE, NARROW) + * Cast VALUE to type NARROW from type WIDE. In Py_DEBUG mode, this + * assert-fails if any information is lost. + * Caution: + * VALUE may be evaluated more than once. + */ +#ifdef Py_DEBUG +# define Py_SAFE_DOWNCAST(VALUE, WIDE, NARROW) \ + (assert(_Py_STATIC_CAST(WIDE, _Py_STATIC_CAST(NARROW, (VALUE))) == (VALUE)), \ + _Py_STATIC_CAST(NARROW, (VALUE))) +#else +# define Py_SAFE_DOWNCAST(VALUE, WIDE, NARROW) _Py_STATIC_CAST(NARROW, (VALUE)) +#endif + + +/* Py_DEPRECATED(version) + * Declare a variable, type, or function deprecated. + * The macro must be placed before the declaration. + * Usage: + * Py_DEPRECATED(3.3) extern int old_var; + * Py_DEPRECATED(3.4) typedef int T1; + * Py_DEPRECATED(3.8) PyAPI_FUNC(int) Py_OldFunction(void); + */ +#if defined(__GNUC__) \ + && ((__GNUC__ >= 4) || (__GNUC__ == 3) && (__GNUC_MINOR__ >= 1)) +#define Py_DEPRECATED(VERSION_UNUSED) __attribute__((__deprecated__)) +#elif defined(_MSC_VER) +#define Py_DEPRECATED(VERSION) __declspec(deprecated( \ + "deprecated in " #VERSION)) +#else +#define Py_DEPRECATED(VERSION_UNUSED) +#endif + +// _Py_DEPRECATED_EXTERNALLY(version) +// Deprecated outside CPython core. +#ifdef Py_BUILD_CORE +#define _Py_DEPRECATED_EXTERNALLY(VERSION_UNUSED) +#else +#define _Py_DEPRECATED_EXTERNALLY(version) Py_DEPRECATED(version) +#endif + + +#if defined(__clang__) +#define _Py_COMP_DIAG_PUSH _Pragma("clang diagnostic push") +#define _Py_COMP_DIAG_IGNORE_DEPR_DECLS \ + _Pragma("clang diagnostic ignored \"-Wdeprecated-declarations\"") +#define _Py_COMP_DIAG_POP _Pragma("clang diagnostic pop") +#elif defined(__GNUC__) \ + && ((__GNUC__ >= 5) || (__GNUC__ == 4) && (__GNUC_MINOR__ >= 6)) +#define _Py_COMP_DIAG_PUSH _Pragma("GCC diagnostic push") +#define _Py_COMP_DIAG_IGNORE_DEPR_DECLS \ + _Pragma("GCC diagnostic ignored \"-Wdeprecated-declarations\"") +#define _Py_COMP_DIAG_POP _Pragma("GCC diagnostic pop") +#elif defined(_MSC_VER) +#define _Py_COMP_DIAG_PUSH __pragma(warning(push)) +#define _Py_COMP_DIAG_IGNORE_DEPR_DECLS __pragma(warning(disable: 4996)) +#define _Py_COMP_DIAG_POP __pragma(warning(pop)) +#else +#define _Py_COMP_DIAG_PUSH +#define _Py_COMP_DIAG_IGNORE_DEPR_DECLS +#define _Py_COMP_DIAG_POP +#endif + +/* _Py_HOT_FUNCTION + * The hot attribute on a function is used to inform the compiler that the + * function is a hot spot of the compiled program. The function is optimized + * more aggressively and on many target it is placed into special subsection of + * the text section so all hot functions appears close together improving + * locality. + * + * Usage: + * int _Py_HOT_FUNCTION x(void) { return 3; } + * + * Issue #28618: This attribute must not be abused, otherwise it can have a + * negative effect on performance. Only the functions were Python spend most of + * its time must use it. Use a profiler when running performance benchmark + * suite to find these functions. + */ +#if defined(__GNUC__) \ + && ((__GNUC__ >= 5) || (__GNUC__ == 4) && (__GNUC_MINOR__ >= 3)) +#define _Py_HOT_FUNCTION __attribute__((hot)) +#else +#define _Py_HOT_FUNCTION +#endif + +// Ask the compiler to always inline a static inline function. The compiler can +// ignore it and decides to not inline the function. +// +// It can be used to inline performance critical static inline functions when +// building Python in debug mode with function inlining disabled. For example, +// MSC disables function inlining when building in debug mode. +// +// Marking blindly a static inline function with Py_ALWAYS_INLINE can result in +// worse performances (due to increased code size for example). The compiler is +// usually smarter than the developer for the cost/benefit analysis. +// +// If Python is built in debug mode (if the Py_DEBUG macro is defined), the +// Py_ALWAYS_INLINE macro does nothing. +// +// It must be specified before the function return type. Usage: +// +// static inline Py_ALWAYS_INLINE int random(void) { return 4; } +#if defined(Py_DEBUG) + // If Python is built in debug mode, usually compiler optimizations are + // disabled. In this case, Py_ALWAYS_INLINE can increase a lot the stack + // memory usage. For example, forcing inlining using gcc -O0 increases the + // stack usage from 6 KB to 15 KB per Python function call. +# define Py_ALWAYS_INLINE +#elif defined(__GNUC__) || defined(__clang__) || defined(__INTEL_COMPILER) +# define Py_ALWAYS_INLINE __attribute__((always_inline)) +#elif defined(_MSC_VER) +# define Py_ALWAYS_INLINE __forceinline +#else +# define Py_ALWAYS_INLINE +#endif + +// Py_NO_INLINE +// Disable inlining on a function. For example, it reduces the C stack +// consumption: useful on LTO+PGO builds which heavily inline code (see +// bpo-33720). +// +// Usage: +// +// Py_NO_INLINE static int random(void) { return 4; } +#if defined(__GNUC__) || defined(__clang__) || defined(__INTEL_COMPILER) +# define Py_NO_INLINE __attribute__ ((noinline)) +#elif defined(_MSC_VER) +# define Py_NO_INLINE __declspec(noinline) +#else +# define Py_NO_INLINE +#endif + +/************************************************************************** +Prototypes that are missing from the standard include files on some systems +(and possibly only some versions of such systems.) + +Please be conservative with adding new ones, document them and enclose them +in platform-specific #ifdefs. +**************************************************************************/ + +#ifdef HAVE__GETPTY +#include /* we need to import mode_t */ +extern char * _getpty(int *, int, mode_t, int); +#endif + +/* On QNX 6, struct termio must be declared by including sys/termio.h + if TCGETA, TCSETA, TCSETAW, or TCSETAF are used. sys/termio.h must + be included before termios.h or it will generate an error. */ +#if defined(HAVE_SYS_TERMIO_H) && !defined(__hpux) +#include +#endif + + +/* On 4.4BSD-descendants, ctype functions serves the whole range of + * wchar_t character set rather than single byte code points only. + * This characteristic can break some operations of string object + * including str.upper() and str.split() on UTF-8 locales. This + * workaround was provided by Tim Robbins of FreeBSD project. + */ + +#if defined(__APPLE__) +# define _PY_PORT_CTYPE_UTF8_ISSUE +#endif + +#ifdef _PY_PORT_CTYPE_UTF8_ISSUE +#ifndef __cplusplus + /* The workaround below is unsafe in C++ because + * the defines these symbols as real functions, + * with a slightly different signature. + * See issue #10910 + */ +#include +#include +#undef isalnum +#define isalnum(c) iswalnum(btowc(c)) +#undef isalpha +#define isalpha(c) iswalpha(btowc(c)) +#undef islower +#define islower(c) iswlower(btowc(c)) +#undef isspace +#define isspace(c) iswspace(btowc(c)) +#undef isupper +#define isupper(c) iswupper(btowc(c)) +#undef tolower +#define tolower(c) towlower(btowc(c)) +#undef toupper +#define toupper(c) towupper(btowc(c)) +#endif +#endif + + +/* Declarations for symbol visibility. + + PyAPI_FUNC(type): Declares a public Python API function and return type + PyAPI_DATA(type): Declares public Python data and its type + PyMODINIT_FUNC: A Python module init function. If these functions are + inside the Python core, they are private to the core. + If in an extension module, it may be declared with + external linkage depending on the platform. + + As a number of platforms support/require "__declspec(dllimport/dllexport)", + we support a HAVE_DECLSPEC_DLL macro to save duplication. +*/ + +/* + All windows ports, except cygwin, are handled in PC/pyconfig.h. + + Cygwin is the only other autoconf platform requiring special + linkage handling and it uses __declspec(). +*/ +#if defined(__CYGWIN__) +# define HAVE_DECLSPEC_DLL +#endif + +#include "exports.h" + +/* only get special linkage if built as shared or platform is Cygwin */ +#if defined(Py_ENABLE_SHARED) || defined(__CYGWIN__) +# if defined(HAVE_DECLSPEC_DLL) +# if defined(Py_BUILD_CORE) && !defined(Py_BUILD_CORE_MODULE) +# define PyAPI_FUNC(RTYPE) Py_EXPORTED_SYMBOL RTYPE +# define PyAPI_DATA(RTYPE) extern Py_EXPORTED_SYMBOL RTYPE + /* module init functions inside the core need no external linkage */ + /* except for Cygwin to handle embedding */ +# if defined(__CYGWIN__) +# define PyMODINIT_FUNC Py_EXPORTED_SYMBOL PyObject* +# else /* __CYGWIN__ */ +# define PyMODINIT_FUNC PyObject* +# endif /* __CYGWIN__ */ +# else /* Py_BUILD_CORE */ + /* Building an extension module, or an embedded situation */ + /* public Python functions and data are imported */ + /* Under Cygwin, auto-import functions to prevent compilation */ + /* failures similar to those described at the bottom of 4.1: */ + /* http://docs.python.org/extending/windows.html#a-cookbook-approach */ +# if !defined(__CYGWIN__) +# define PyAPI_FUNC(RTYPE) Py_IMPORTED_SYMBOL RTYPE +# endif /* !__CYGWIN__ */ +# define PyAPI_DATA(RTYPE) extern Py_IMPORTED_SYMBOL RTYPE + /* module init functions outside the core must be exported */ +# if defined(__cplusplus) +# define PyMODINIT_FUNC extern "C" Py_EXPORTED_SYMBOL PyObject* +# else /* __cplusplus */ +# define PyMODINIT_FUNC Py_EXPORTED_SYMBOL PyObject* +# endif /* __cplusplus */ +# endif /* Py_BUILD_CORE */ +# endif /* HAVE_DECLSPEC_DLL */ +#endif /* Py_ENABLE_SHARED */ + +/* If no external linkage macros defined by now, create defaults */ +#ifndef PyAPI_FUNC +# define PyAPI_FUNC(RTYPE) Py_EXPORTED_SYMBOL RTYPE +#endif +#ifndef PyAPI_DATA +# define PyAPI_DATA(RTYPE) extern Py_EXPORTED_SYMBOL RTYPE +#endif +#ifndef PyMODINIT_FUNC +# if defined(__cplusplus) +# define PyMODINIT_FUNC extern "C" Py_EXPORTED_SYMBOL PyObject* +# else /* __cplusplus */ +# define PyMODINIT_FUNC Py_EXPORTED_SYMBOL PyObject* +# endif /* __cplusplus */ +#endif + +/* limits.h constants that may be missing */ + +#ifndef INT_MAX +#define INT_MAX 2147483647 +#endif + +#ifndef LONG_MAX +#if SIZEOF_LONG == 4 +#define LONG_MAX 0X7FFFFFFFL +#elif SIZEOF_LONG == 8 +#define LONG_MAX 0X7FFFFFFFFFFFFFFFL +#else +#error "could not set LONG_MAX in pyport.h" +#endif +#endif + +#ifndef LONG_MIN +#define LONG_MIN (-LONG_MAX-1) +#endif + +#ifndef LONG_BIT +#define LONG_BIT (8 * SIZEOF_LONG) +#endif + +#if LONG_BIT != 8 * SIZEOF_LONG +/* 04-Oct-2000 LONG_BIT is apparently (mis)defined as 64 on some recent + * 32-bit platforms using gcc. We try to catch that here at compile-time + * rather than waiting for integer multiplication to trigger bogus + * overflows. + */ +#error "LONG_BIT definition appears wrong for platform (bad gcc/glibc config?)." +#endif + +#ifdef __cplusplus +} +#endif + +/* + * Hide GCC attributes from compilers that don't support them. + */ +#if (!defined(__GNUC__) || __GNUC__ < 2 || \ + (__GNUC__ == 2 && __GNUC_MINOR__ < 7) ) +#define Py_GCC_ATTRIBUTE(x) +#else +#define Py_GCC_ATTRIBUTE(x) __attribute__(x) +#endif + +/* + * Specify alignment on compilers that support it. + */ +#if defined(__GNUC__) && __GNUC__ >= 3 +#define Py_ALIGNED(x) __attribute__((aligned(x))) +#else +#define Py_ALIGNED(x) +#endif + +/* Eliminate end-of-loop code not reached warnings from SunPro C + * when using do{...}while(0) macros + */ +#ifdef __SUNPRO_C +#pragma error_messages (off,E_END_OF_LOOP_CODE_NOT_REACHED) +#endif + +#ifndef Py_LL +#define Py_LL(x) x##LL +#endif + +#ifndef Py_ULL +#define Py_ULL(x) Py_LL(x##U) +#endif + +#define Py_VA_COPY va_copy + +/* + * Convenient macros to deal with endianness of the platform. WORDS_BIGENDIAN is + * detected by configure and defined in pyconfig.h. The code in pyconfig.h + * also takes care of Apple's universal builds. + */ + +#ifdef WORDS_BIGENDIAN +# define PY_BIG_ENDIAN 1 +# define PY_LITTLE_ENDIAN 0 +#else +# define PY_BIG_ENDIAN 0 +# define PY_LITTLE_ENDIAN 1 +#endif + +#ifdef __ANDROID__ + /* The Android langinfo.h header is not used. */ +# undef HAVE_LANGINFO_H +# undef CODESET +#endif + +/* Maximum value of the Windows DWORD type */ +#define PY_DWORD_MAX 4294967295U + +/* This macro used to tell whether Python was built with multithreading + * enabled. Now multithreading is always enabled, but keep the macro + * for compatibility. + */ +#ifndef WITH_THREAD +# define WITH_THREAD +#endif + +#ifdef WITH_THREAD +# ifdef Py_BUILD_CORE +# ifdef HAVE_THREAD_LOCAL +# error "HAVE_THREAD_LOCAL is already defined" +# endif +# define HAVE_THREAD_LOCAL 1 +# ifdef thread_local +# define _Py_thread_local thread_local +# elif __STDC_VERSION__ >= 201112L && !defined(__STDC_NO_THREADS__) +# define _Py_thread_local _Thread_local +# elif defined(_MSC_VER) /* AKA NT_THREADS */ +# define _Py_thread_local __declspec(thread) +# elif defined(__GNUC__) /* includes clang */ +# define _Py_thread_local __thread +# else + // fall back to the PyThread_tss_*() API, or ignore. +# undef HAVE_THREAD_LOCAL +# endif +# endif +#endif + +/* Check that ALT_SOABI is consistent with Py_TRACE_REFS: + ./configure --with-trace-refs should must be used to define Py_TRACE_REFS */ +#if defined(ALT_SOABI) && defined(Py_TRACE_REFS) +# error "Py_TRACE_REFS ABI is not compatible with release and debug ABI" +#endif + +#if defined(__ANDROID__) || defined(__VXWORKS__) + // Use UTF-8 as the locale encoding, ignore the LC_CTYPE locale. + // See _Py_GetLocaleEncoding(), PyUnicode_DecodeLocale() + // and PyUnicode_EncodeLocale(). +# define _Py_FORCE_UTF8_LOCALE +#endif + +#if defined(_Py_FORCE_UTF8_LOCALE) || defined(__APPLE__) + // Use UTF-8 as the filesystem encoding. + // See PyUnicode_DecodeFSDefaultAndSize(), PyUnicode_EncodeFSDefault(), + // Py_DecodeLocale() and Py_EncodeLocale(). +# define _Py_FORCE_UTF8_FS_ENCODING +#endif + +/* Mark a function which cannot return. Example: + PyAPI_FUNC(void) _Py_NO_RETURN PyThread_exit_thread(void); + + XLC support is intentionally omitted due to bpo-40244 */ +#ifndef _Py_NO_RETURN +#if defined(__clang__) || \ + (defined(__GNUC__) && \ + ((__GNUC__ >= 3) || \ + (__GNUC__ == 2) && (__GNUC_MINOR__ >= 5))) +# define _Py_NO_RETURN __attribute__((__noreturn__)) +#elif defined(_MSC_VER) +# define _Py_NO_RETURN __declspec(noreturn) +#else +# define _Py_NO_RETURN +#endif +#endif + + +// Preprocessor check for a builtin preprocessor function. Always return 0 +// if __has_builtin() macro is not defined. +// +// __has_builtin() is available on clang and GCC 10. +#ifdef __has_builtin +# define _Py__has_builtin(x) __has_builtin(x) +#else +# define _Py__has_builtin(x) 0 +#endif + +// _Py_TYPEOF(expr) gets the type of an expression. +// +// Example: _Py_TYPEOF(x) x_copy = (x); +// +// The macro is only defined if GCC or clang compiler is used. +#if defined(__GNUC__) || defined(__clang__) +# define _Py_TYPEOF(expr) __typeof__(expr) +#endif + + +/* A convenient way for code to know if sanitizers are enabled. */ +#if defined(__has_feature) +# if __has_feature(memory_sanitizer) +# if !defined(_Py_MEMORY_SANITIZER) +# define _Py_MEMORY_SANITIZER +# endif +# endif +# if __has_feature(address_sanitizer) +# if !defined(_Py_ADDRESS_SANITIZER) +# define _Py_ADDRESS_SANITIZER +# endif +# endif +#elif defined(__GNUC__) +# if defined(__SANITIZE_ADDRESS__) +# define _Py_ADDRESS_SANITIZER +# endif +#endif + + +/* AIX has __bool__ redefined in it's system header file. */ +#if defined(_AIX) && defined(__bool__) +#undef __bool__ +#endif + +// Make sure we have maximum alignment, even if the current compiler +// does not support max_align_t. Note that: +// - Autoconf reports alignment of unknown types to 0. +// - 'long double' has maximum alignment on *most* platforms, +// looks like the best we can do for pre-C11 compilers. +// - The value is tested, see test_alignof_max_align_t +#if !defined(ALIGNOF_MAX_ALIGN_T) || ALIGNOF_MAX_ALIGN_T == 0 +# undef ALIGNOF_MAX_ALIGN_T +# define ALIGNOF_MAX_ALIGN_T _Alignof(long double) +#endif + +#endif /* Py_PYPORT_H */ diff --git a/_Pre_Builds/_Python312_cpp/include/pystate.h b/_Pre_Builds/_Python312_cpp/include/pystate.h new file mode 100644 index 0000000..e6b4de9 --- /dev/null +++ b/_Pre_Builds/_Python312_cpp/include/pystate.h @@ -0,0 +1,132 @@ +/* Thread and interpreter state structures and their interfaces */ + + +#ifndef Py_PYSTATE_H +#define Py_PYSTATE_H +#ifdef __cplusplus +extern "C" { +#endif + +/* This limitation is for performance and simplicity. If needed it can be +removed (with effort). */ +#define MAX_CO_EXTRA_USERS 255 + +PyAPI_FUNC(PyInterpreterState *) PyInterpreterState_New(void); +PyAPI_FUNC(void) PyInterpreterState_Clear(PyInterpreterState *); +PyAPI_FUNC(void) PyInterpreterState_Delete(PyInterpreterState *); + +#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x03090000 +/* New in 3.9 */ +/* Get the current interpreter state. + + Issue a fatal error if there no current Python thread state or no current + interpreter. It cannot return NULL. + + The caller must hold the GIL. */ +PyAPI_FUNC(PyInterpreterState *) PyInterpreterState_Get(void); +#endif + +#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x03080000 +/* New in 3.8 */ +PyAPI_FUNC(PyObject *) PyInterpreterState_GetDict(PyInterpreterState *); +#endif + +#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x03070000 +/* New in 3.7 */ +PyAPI_FUNC(int64_t) PyInterpreterState_GetID(PyInterpreterState *); +#endif +#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x03030000 + +/* State unique per thread */ + +/* New in 3.3 */ +PyAPI_FUNC(int) PyState_AddModule(PyObject*, PyModuleDef*); +PyAPI_FUNC(int) PyState_RemoveModule(PyModuleDef*); +#endif +PyAPI_FUNC(PyObject*) PyState_FindModule(PyModuleDef*); + +PyAPI_FUNC(PyThreadState *) PyThreadState_New(PyInterpreterState *); +PyAPI_FUNC(void) PyThreadState_Clear(PyThreadState *); +PyAPI_FUNC(void) PyThreadState_Delete(PyThreadState *); + +/* Get the current thread state. + + When the current thread state is NULL, this issues a fatal error (so that + the caller needn't check for NULL). + + The caller must hold the GIL. + + See also _PyThreadState_UncheckedGet() and _PyThreadState_GET(). */ +PyAPI_FUNC(PyThreadState *) PyThreadState_Get(void); + +// Alias to PyThreadState_Get() +#define PyThreadState_GET() PyThreadState_Get() + +PyAPI_FUNC(PyThreadState *) PyThreadState_Swap(PyThreadState *); +PyAPI_FUNC(PyObject *) PyThreadState_GetDict(void); +PyAPI_FUNC(int) PyThreadState_SetAsyncExc(unsigned long, PyObject *); + +#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x03090000 +/* New in 3.9 */ +PyAPI_FUNC(PyInterpreterState*) PyThreadState_GetInterpreter(PyThreadState *tstate); +PyAPI_FUNC(PyFrameObject*) PyThreadState_GetFrame(PyThreadState *tstate); +PyAPI_FUNC(uint64_t) PyThreadState_GetID(PyThreadState *tstate); +#endif + +typedef + enum {PyGILState_LOCKED, PyGILState_UNLOCKED} + PyGILState_STATE; + + +/* Ensure that the current thread is ready to call the Python + C API, regardless of the current state of Python, or of its + thread lock. This may be called as many times as desired + by a thread so long as each call is matched with a call to + PyGILState_Release(). In general, other thread-state APIs may + be used between _Ensure() and _Release() calls, so long as the + thread-state is restored to its previous state before the Release(). + For example, normal use of the Py_BEGIN_ALLOW_THREADS/ + Py_END_ALLOW_THREADS macros are acceptable. + + The return value is an opaque "handle" to the thread state when + PyGILState_Ensure() was called, and must be passed to + PyGILState_Release() to ensure Python is left in the same state. Even + though recursive calls are allowed, these handles can *not* be shared - + each unique call to PyGILState_Ensure must save the handle for its + call to PyGILState_Release. + + When the function returns, the current thread will hold the GIL. + + Failure is a fatal error. +*/ +PyAPI_FUNC(PyGILState_STATE) PyGILState_Ensure(void); + +/* Release any resources previously acquired. After this call, Python's + state will be the same as it was prior to the corresponding + PyGILState_Ensure() call (but generally this state will be unknown to + the caller, hence the use of the GILState API.) + + Every call to PyGILState_Ensure must be matched by a call to + PyGILState_Release on the same thread. +*/ +PyAPI_FUNC(void) PyGILState_Release(PyGILState_STATE); + +/* Helper/diagnostic function - get the current thread state for + this thread. May return NULL if no GILState API has been used + on the current thread. Note that the main thread always has such a + thread-state, even if no auto-thread-state call has been made + on the main thread. +*/ +PyAPI_FUNC(PyThreadState *) PyGILState_GetThisThreadState(void); + + +#ifndef Py_LIMITED_API +# define Py_CPYTHON_PYSTATE_H +# include "cpython/pystate.h" +# undef Py_CPYTHON_PYSTATE_H +#endif + +#ifdef __cplusplus +} +#endif +#endif /* !Py_PYSTATE_H */ diff --git a/_Pre_Builds/_Python312_cpp/include/pystats.h b/_Pre_Builds/_Python312_cpp/include/pystats.h new file mode 100644 index 0000000..4b961ba --- /dev/null +++ b/_Pre_Builds/_Python312_cpp/include/pystats.h @@ -0,0 +1,110 @@ + + +#ifndef Py_PYSTATS_H +#define Py_PYSTATS_H +#ifdef __cplusplus +extern "C" { +#endif + +#ifdef Py_STATS + +#define SPECIALIZATION_FAILURE_KINDS 36 + +/* Stats for determining who is calling PyEval_EvalFrame */ +#define EVAL_CALL_TOTAL 0 +#define EVAL_CALL_VECTOR 1 +#define EVAL_CALL_GENERATOR 2 +#define EVAL_CALL_LEGACY 3 +#define EVAL_CALL_FUNCTION_VECTORCALL 4 +#define EVAL_CALL_BUILD_CLASS 5 +#define EVAL_CALL_SLOT 6 +#define EVAL_CALL_FUNCTION_EX 7 +#define EVAL_CALL_API 8 +#define EVAL_CALL_METHOD 9 + +#define EVAL_CALL_KINDS 10 + +typedef struct _specialization_stats { + uint64_t success; + uint64_t failure; + uint64_t hit; + uint64_t deferred; + uint64_t miss; + uint64_t deopt; + uint64_t failure_kinds[SPECIALIZATION_FAILURE_KINDS]; +} SpecializationStats; + +typedef struct _opcode_stats { + SpecializationStats specialization; + uint64_t execution_count; + uint64_t pair_count[256]; +} OpcodeStats; + +typedef struct _call_stats { + uint64_t inlined_py_calls; + uint64_t pyeval_calls; + uint64_t frames_pushed; + uint64_t frame_objects_created; + uint64_t eval_calls[EVAL_CALL_KINDS]; +} CallStats; + +typedef struct _object_stats { + uint64_t increfs; + uint64_t decrefs; + uint64_t interpreter_increfs; + uint64_t interpreter_decrefs; + uint64_t allocations; + uint64_t allocations512; + uint64_t allocations4k; + uint64_t allocations_big; + uint64_t frees; + uint64_t to_freelist; + uint64_t from_freelist; + uint64_t new_values; + uint64_t dict_materialized_on_request; + uint64_t dict_materialized_new_key; + uint64_t dict_materialized_too_big; + uint64_t dict_materialized_str_subclass; + uint64_t type_cache_hits; + uint64_t type_cache_misses; + uint64_t type_cache_dunder_hits; + uint64_t type_cache_dunder_misses; + uint64_t type_cache_collisions; +} ObjectStats; + +typedef struct _stats { + OpcodeStats opcode_stats[256]; + CallStats call_stats; + ObjectStats object_stats; +} PyStats; + + +PyAPI_DATA(PyStats) _py_stats_struct; +PyAPI_DATA(PyStats *) _py_stats; + +extern void _Py_StatsClear(void); +extern void _Py_PrintSpecializationStats(int to_file); + +#ifdef _PY_INTERPRETER + +#define _Py_INCREF_STAT_INC() do { if (_py_stats) _py_stats->object_stats.interpreter_increfs++; } while (0) +#define _Py_DECREF_STAT_INC() do { if (_py_stats) _py_stats->object_stats.interpreter_decrefs++; } while (0) + +#else + +#define _Py_INCREF_STAT_INC() do { if (_py_stats) _py_stats->object_stats.increfs++; } while (0) +#define _Py_DECREF_STAT_INC() do { if (_py_stats) _py_stats->object_stats.decrefs++; } while (0) + +#endif + +#else + +#define _Py_INCREF_STAT_INC() ((void)0) +#define _Py_DECREF_STAT_INC() ((void)0) + +#endif // !Py_STATS + +#ifdef __cplusplus +} +#endif +#endif /* !Py_PYSTATs_H */ diff --git a/_Pre_Builds/_Python312_cpp/include/pystrcmp.h b/_Pre_Builds/_Python312_cpp/include/pystrcmp.h new file mode 100644 index 0000000..edb1239 --- /dev/null +++ b/_Pre_Builds/_Python312_cpp/include/pystrcmp.h @@ -0,0 +1,23 @@ +#ifndef Py_STRCMP_H +#define Py_STRCMP_H + +#ifdef __cplusplus +extern "C" { +#endif + +PyAPI_FUNC(int) PyOS_mystrnicmp(const char *, const char *, Py_ssize_t); +PyAPI_FUNC(int) PyOS_mystricmp(const char *, const char *); + +#ifdef MS_WINDOWS +#define PyOS_strnicmp strnicmp +#define PyOS_stricmp stricmp +#else +#define PyOS_strnicmp PyOS_mystrnicmp +#define PyOS_stricmp PyOS_mystricmp +#endif + +#ifdef __cplusplus +} +#endif + +#endif /* !Py_STRCMP_H */ diff --git a/_Pre_Builds/_Python312_cpp/include/pystrtod.h b/_Pre_Builds/_Python312_cpp/include/pystrtod.h new file mode 100644 index 0000000..fa056d1 --- /dev/null +++ b/_Pre_Builds/_Python312_cpp/include/pystrtod.h @@ -0,0 +1,46 @@ +#ifndef Py_STRTOD_H +#define Py_STRTOD_H + +#ifdef __cplusplus +extern "C" { +#endif + + +PyAPI_FUNC(double) PyOS_string_to_double(const char *str, + char **endptr, + PyObject *overflow_exception); + +/* The caller is responsible for calling PyMem_Free to free the buffer + that's is returned. */ +PyAPI_FUNC(char *) PyOS_double_to_string(double val, + char format_code, + int precision, + int flags, + int *type); + +#ifndef Py_LIMITED_API +PyAPI_FUNC(PyObject *) _Py_string_to_number_with_underscores( + const char *str, Py_ssize_t len, const char *what, PyObject *obj, void *arg, + PyObject *(*innerfunc)(const char *, Py_ssize_t, void *)); + +PyAPI_FUNC(double) _Py_parse_inf_or_nan(const char *p, char **endptr); +#endif + + +/* PyOS_double_to_string's "flags" parameter can be set to 0 or more of: */ +#define Py_DTSF_SIGN 0x01 /* always add the sign */ +#define Py_DTSF_ADD_DOT_0 0x02 /* if the result is an integer add ".0" */ +#define Py_DTSF_ALT 0x04 /* "alternate" formatting. it's format_code + specific */ +#define Py_DTSF_NO_NEG_0 0x08 /* negative zero result is coerced to 0 */ + +/* PyOS_double_to_string's "type", if non-NULL, will be set to one of: */ +#define Py_DTST_FINITE 0 +#define Py_DTST_INFINITE 1 +#define Py_DTST_NAN 2 + +#ifdef __cplusplus +} +#endif + +#endif /* !Py_STRTOD_H */ diff --git a/_Pre_Builds/_Python312_cpp/include/pythonrun.h b/_Pre_Builds/_Python312_cpp/include/pythonrun.h new file mode 100644 index 0000000..154c745 --- /dev/null +++ b/_Pre_Builds/_Python312_cpp/include/pythonrun.h @@ -0,0 +1,49 @@ + +/* Interfaces to parse and execute pieces of python code */ + +#ifndef Py_PYTHONRUN_H +#define Py_PYTHONRUN_H +#ifdef __cplusplus +extern "C" { +#endif + +PyAPI_FUNC(PyObject *) Py_CompileString(const char *, const char *, int); + +PyAPI_FUNC(void) PyErr_Print(void); +PyAPI_FUNC(void) PyErr_PrintEx(int); +PyAPI_FUNC(void) PyErr_Display(PyObject *, PyObject *, PyObject *); + +#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x030C0000 +PyAPI_FUNC(void) PyErr_DisplayException(PyObject *); +#endif + + +/* Stuff with no proper home (yet) */ +PyAPI_DATA(int) (*PyOS_InputHook)(void); + +/* Stack size, in "pointers" (so we get extra safety margins + on 64-bit platforms). On a 32-bit platform, this translates + to an 8k margin. */ +#define PYOS_STACK_MARGIN 2048 + +#if defined(WIN32) && !defined(MS_WIN64) && !defined(_M_ARM) && defined(_MSC_VER) && _MSC_VER >= 1300 +/* Enable stack checking under Microsoft C */ +// When changing the platforms, ensure PyOS_CheckStack() docs are still correct +#define USE_STACKCHECK +#endif + +#ifdef USE_STACKCHECK +/* Check that we aren't overflowing our stack */ +PyAPI_FUNC(int) PyOS_CheckStack(void); +#endif + +#ifndef Py_LIMITED_API +# define Py_CPYTHON_PYTHONRUN_H +# include "cpython/pythonrun.h" +# undef Py_CPYTHON_PYTHONRUN_H +#endif + +#ifdef __cplusplus +} +#endif +#endif /* !Py_PYTHONRUN_H */ diff --git a/_Pre_Builds/_Python312_cpp/include/pythread.h b/_Pre_Builds/_Python312_cpp/include/pythread.h new file mode 100644 index 0000000..6371443 --- /dev/null +++ b/_Pre_Builds/_Python312_cpp/include/pythread.h @@ -0,0 +1,135 @@ +#ifndef Py_PYTHREAD_H +#define Py_PYTHREAD_H + +typedef void *PyThread_type_lock; + +#ifdef __cplusplus +extern "C" { +#endif + +/* Return status codes for Python lock acquisition. Chosen for maximum + * backwards compatibility, ie failure -> 0, success -> 1. */ +typedef enum PyLockStatus { + PY_LOCK_FAILURE = 0, + PY_LOCK_ACQUIRED = 1, + PY_LOCK_INTR +} PyLockStatus; + +PyAPI_FUNC(void) PyThread_init_thread(void); +PyAPI_FUNC(unsigned long) PyThread_start_new_thread(void (*)(void *), void *); +PyAPI_FUNC(void) _Py_NO_RETURN PyThread_exit_thread(void); +PyAPI_FUNC(unsigned long) PyThread_get_thread_ident(void); + +#if (defined(__APPLE__) || defined(__linux__) || defined(_WIN32) \ + || defined(__FreeBSD__) || defined(__OpenBSD__) || defined(__NetBSD__) \ + || defined(__DragonFly__) || defined(_AIX)) +#define PY_HAVE_THREAD_NATIVE_ID +PyAPI_FUNC(unsigned long) PyThread_get_thread_native_id(void); +#endif + +PyAPI_FUNC(PyThread_type_lock) PyThread_allocate_lock(void); +PyAPI_FUNC(void) PyThread_free_lock(PyThread_type_lock); +PyAPI_FUNC(int) PyThread_acquire_lock(PyThread_type_lock, int); +#define WAIT_LOCK 1 +#define NOWAIT_LOCK 0 + +/* PY_TIMEOUT_T is the integral type used to specify timeouts when waiting + on a lock (see PyThread_acquire_lock_timed() below). + PY_TIMEOUT_MAX is the highest usable value (in microseconds) of that + type, and depends on the system threading API. + + NOTE: this isn't the same value as `_thread.TIMEOUT_MAX`. The _thread + module exposes a higher-level API, with timeouts expressed in seconds + and floating-point numbers allowed. +*/ +#define PY_TIMEOUT_T long long + +#if defined(_POSIX_THREADS) + /* PyThread_acquire_lock_timed() uses _PyTime_FromNanoseconds(us * 1000), + convert microseconds to nanoseconds. */ +# define PY_TIMEOUT_MAX (LLONG_MAX / 1000) +#elif defined (NT_THREADS) + // WaitForSingleObject() accepts timeout in milliseconds in the range + // [0; 0xFFFFFFFE] (DWORD type). INFINITE value (0xFFFFFFFF) means no + // timeout. 0xFFFFFFFE milliseconds is around 49.7 days. +# if 0xFFFFFFFELL * 1000 < LLONG_MAX +# define PY_TIMEOUT_MAX (0xFFFFFFFELL * 1000) +# else +# define PY_TIMEOUT_MAX LLONG_MAX +# endif +#else +# define PY_TIMEOUT_MAX LLONG_MAX +#endif + + +/* If microseconds == 0, the call is non-blocking: it returns immediately + even when the lock can't be acquired. + If microseconds > 0, the call waits up to the specified duration. + If microseconds < 0, the call waits until success (or abnormal failure) + + microseconds must be less than PY_TIMEOUT_MAX. Behaviour otherwise is + undefined. + + If intr_flag is true and the acquire is interrupted by a signal, then the + call will return PY_LOCK_INTR. The caller may reattempt to acquire the + lock. +*/ +PyAPI_FUNC(PyLockStatus) PyThread_acquire_lock_timed(PyThread_type_lock, + PY_TIMEOUT_T microseconds, + int intr_flag); + +PyAPI_FUNC(void) PyThread_release_lock(PyThread_type_lock); + +PyAPI_FUNC(size_t) PyThread_get_stacksize(void); +PyAPI_FUNC(int) PyThread_set_stacksize(size_t); + +#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x03030000 +PyAPI_FUNC(PyObject*) PyThread_GetInfo(void); +#endif + + +/* Thread Local Storage (TLS) API + TLS API is DEPRECATED. Use Thread Specific Storage (TSS) API. + + The existing TLS API has used int to represent TLS keys across all + platforms, but it is not POSIX-compliant. Therefore, the new TSS API uses + opaque data type to represent TSS keys to be compatible (see PEP 539). +*/ +Py_DEPRECATED(3.7) PyAPI_FUNC(int) PyThread_create_key(void); +Py_DEPRECATED(3.7) PyAPI_FUNC(void) PyThread_delete_key(int key); +Py_DEPRECATED(3.7) PyAPI_FUNC(int) PyThread_set_key_value(int key, + void *value); +Py_DEPRECATED(3.7) PyAPI_FUNC(void *) PyThread_get_key_value(int key); +Py_DEPRECATED(3.7) PyAPI_FUNC(void) PyThread_delete_key_value(int key); + +/* Cleanup after a fork */ +Py_DEPRECATED(3.7) PyAPI_FUNC(void) PyThread_ReInitTLS(void); + + +#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x03070000 +/* New in 3.7 */ +/* Thread Specific Storage (TSS) API */ + +typedef struct _Py_tss_t Py_tss_t; /* opaque */ + +PyAPI_FUNC(Py_tss_t *) PyThread_tss_alloc(void); +PyAPI_FUNC(void) PyThread_tss_free(Py_tss_t *key); + +/* The parameter key must not be NULL. */ +PyAPI_FUNC(int) PyThread_tss_is_created(Py_tss_t *key); +PyAPI_FUNC(int) PyThread_tss_create(Py_tss_t *key); +PyAPI_FUNC(void) PyThread_tss_delete(Py_tss_t *key); +PyAPI_FUNC(int) PyThread_tss_set(Py_tss_t *key, void *value); +PyAPI_FUNC(void *) PyThread_tss_get(Py_tss_t *key); +#endif /* New in 3.7 */ + +#ifndef Py_LIMITED_API +# define Py_CPYTHON_PYTHREAD_H +# include "cpython/pythread.h" +# undef Py_CPYTHON_PYTHREAD_H +#endif + +#ifdef __cplusplus +} +#endif +#endif /* !Py_PYTHREAD_H */ diff --git a/_Pre_Builds/_Python312_cpp/include/pytypedefs.h b/_Pre_Builds/_Python312_cpp/include/pytypedefs.h new file mode 100644 index 0000000..e78ed56 --- /dev/null +++ b/_Pre_Builds/_Python312_cpp/include/pytypedefs.h @@ -0,0 +1,30 @@ +// Forward declarations of types of the Python C API. +// Declare them at the same place since redefining typedef is a C11 feature. +// Only use a forward declaration if there is an interdependency between two +// header files. + +#ifndef Py_PYTYPEDEFS_H +#define Py_PYTYPEDEFS_H +#ifdef __cplusplus +extern "C" { +#endif + +typedef struct PyModuleDef PyModuleDef; +typedef struct PyModuleDef_Slot PyModuleDef_Slot; +typedef struct PyMethodDef PyMethodDef; +typedef struct PyGetSetDef PyGetSetDef; +typedef struct PyMemberDef PyMemberDef; + +typedef struct _object PyObject; +typedef struct _longobject PyLongObject; +typedef struct _typeobject PyTypeObject; +typedef struct PyCodeObject PyCodeObject; +typedef struct _frame PyFrameObject; + +typedef struct _ts PyThreadState; +typedef struct _is PyInterpreterState; + +#ifdef __cplusplus +} +#endif +#endif // !Py_PYTYPEDEFS_H diff --git a/_Pre_Builds/_Python312_cpp/include/rangeobject.h b/_Pre_Builds/_Python312_cpp/include/rangeobject.h new file mode 100644 index 0000000..d46ce7c --- /dev/null +++ b/_Pre_Builds/_Python312_cpp/include/rangeobject.h @@ -0,0 +1,27 @@ + +/* Range object interface */ + +#ifndef Py_RANGEOBJECT_H +#define Py_RANGEOBJECT_H +#ifdef __cplusplus +extern "C" { +#endif + +/* +A range object represents an integer range. This is an immutable object; +a range cannot change its value after creation. + +Range objects behave like the corresponding tuple objects except that +they are represented by a start, stop, and step datamembers. +*/ + +PyAPI_DATA(PyTypeObject) PyRange_Type; +PyAPI_DATA(PyTypeObject) PyRangeIter_Type; +PyAPI_DATA(PyTypeObject) PyLongRangeIter_Type; + +#define PyRange_Check(op) Py_IS_TYPE((op), &PyRange_Type) + +#ifdef __cplusplus +} +#endif +#endif /* !Py_RANGEOBJECT_H */ diff --git a/_Pre_Builds/_Python312_cpp/include/setobject.h b/_Pre_Builds/_Python312_cpp/include/setobject.h new file mode 100644 index 0000000..62c9e6b --- /dev/null +++ b/_Pre_Builds/_Python312_cpp/include/setobject.h @@ -0,0 +1,49 @@ +/* Set object interface */ + +#ifndef Py_SETOBJECT_H +#define Py_SETOBJECT_H +#ifdef __cplusplus +extern "C" { +#endif + +PyAPI_DATA(PyTypeObject) PySet_Type; +PyAPI_DATA(PyTypeObject) PyFrozenSet_Type; +PyAPI_DATA(PyTypeObject) PySetIter_Type; + +PyAPI_FUNC(PyObject *) PySet_New(PyObject *); +PyAPI_FUNC(PyObject *) PyFrozenSet_New(PyObject *); + +PyAPI_FUNC(int) PySet_Add(PyObject *set, PyObject *key); +PyAPI_FUNC(int) PySet_Clear(PyObject *set); +PyAPI_FUNC(int) PySet_Contains(PyObject *anyset, PyObject *key); +PyAPI_FUNC(int) PySet_Discard(PyObject *set, PyObject *key); +PyAPI_FUNC(PyObject *) PySet_Pop(PyObject *set); +PyAPI_FUNC(Py_ssize_t) PySet_Size(PyObject *anyset); + +#define PyFrozenSet_CheckExact(ob) Py_IS_TYPE((ob), &PyFrozenSet_Type) +#define PyFrozenSet_Check(ob) \ + (Py_IS_TYPE((ob), &PyFrozenSet_Type) || \ + PyType_IsSubtype(Py_TYPE(ob), &PyFrozenSet_Type)) + +#define PyAnySet_CheckExact(ob) \ + (Py_IS_TYPE((ob), &PySet_Type) || Py_IS_TYPE((ob), &PyFrozenSet_Type)) +#define PyAnySet_Check(ob) \ + (Py_IS_TYPE((ob), &PySet_Type) || Py_IS_TYPE((ob), &PyFrozenSet_Type) || \ + PyType_IsSubtype(Py_TYPE(ob), &PySet_Type) || \ + PyType_IsSubtype(Py_TYPE(ob), &PyFrozenSet_Type)) + +#define PySet_CheckExact(op) Py_IS_TYPE(op, &PySet_Type) +#define PySet_Check(ob) \ + (Py_IS_TYPE((ob), &PySet_Type) || \ + PyType_IsSubtype(Py_TYPE(ob), &PySet_Type)) + +#ifndef Py_LIMITED_API +# define Py_CPYTHON_SETOBJECT_H +# include "cpython/setobject.h" +# undef Py_CPYTHON_SETOBJECT_H +#endif + +#ifdef __cplusplus +} +#endif +#endif /* !Py_SETOBJECT_H */ diff --git a/_Pre_Builds/_Python312_cpp/include/sliceobject.h b/_Pre_Builds/_Python312_cpp/include/sliceobject.h new file mode 100644 index 0000000..c13863f --- /dev/null +++ b/_Pre_Builds/_Python312_cpp/include/sliceobject.h @@ -0,0 +1,65 @@ +#ifndef Py_SLICEOBJECT_H +#define Py_SLICEOBJECT_H +#ifdef __cplusplus +extern "C" { +#endif + +/* The unique ellipsis object "..." */ + +PyAPI_DATA(PyObject) _Py_EllipsisObject; /* Don't use this directly */ + +#define Py_Ellipsis (&_Py_EllipsisObject) + +/* Slice object interface */ + +/* + +A slice object containing start, stop, and step data members (the +names are from range). After much talk with Guido, it was decided to +let these be any arbitrary python type. Py_None stands for omitted values. +*/ +#ifndef Py_LIMITED_API +typedef struct { + PyObject_HEAD + PyObject *start, *stop, *step; /* not NULL */ +} PySliceObject; +#endif + +PyAPI_DATA(PyTypeObject) PySlice_Type; +PyAPI_DATA(PyTypeObject) PyEllipsis_Type; + +#define PySlice_Check(op) Py_IS_TYPE((op), &PySlice_Type) + +PyAPI_FUNC(PyObject *) PySlice_New(PyObject* start, PyObject* stop, + PyObject* step); +#ifndef Py_LIMITED_API +PyAPI_FUNC(PyObject *) _PySlice_FromIndices(Py_ssize_t start, Py_ssize_t stop); +PyAPI_FUNC(int) _PySlice_GetLongIndices(PySliceObject *self, PyObject *length, + PyObject **start_ptr, PyObject **stop_ptr, + PyObject **step_ptr); +#endif +PyAPI_FUNC(int) PySlice_GetIndices(PyObject *r, Py_ssize_t length, + Py_ssize_t *start, Py_ssize_t *stop, Py_ssize_t *step); +Py_DEPRECATED(3.7) +PyAPI_FUNC(int) PySlice_GetIndicesEx(PyObject *r, Py_ssize_t length, + Py_ssize_t *start, Py_ssize_t *stop, + Py_ssize_t *step, + Py_ssize_t *slicelength); + +#if !defined(Py_LIMITED_API) || (Py_LIMITED_API+0 >= 0x03050400 && Py_LIMITED_API+0 < 0x03060000) || Py_LIMITED_API+0 >= 0x03060100 +#define PySlice_GetIndicesEx(slice, length, start, stop, step, slicelen) ( \ + PySlice_Unpack((slice), (start), (stop), (step)) < 0 ? \ + ((*(slicelen) = 0), -1) : \ + ((*(slicelen) = PySlice_AdjustIndices((length), (start), (stop), *(step))), \ + 0)) +PyAPI_FUNC(int) PySlice_Unpack(PyObject *slice, + Py_ssize_t *start, Py_ssize_t *stop, Py_ssize_t *step); +PyAPI_FUNC(Py_ssize_t) PySlice_AdjustIndices(Py_ssize_t length, + Py_ssize_t *start, Py_ssize_t *stop, + Py_ssize_t step); +#endif + +#ifdef __cplusplus +} +#endif +#endif /* !Py_SLICEOBJECT_H */ diff --git a/_Pre_Builds/_Python312_cpp/include/structmember.h b/_Pre_Builds/_Python312_cpp/include/structmember.h new file mode 100644 index 0000000..f6e8fd8 --- /dev/null +++ b/_Pre_Builds/_Python312_cpp/include/structmember.h @@ -0,0 +1,56 @@ +#ifndef Py_STRUCTMEMBER_H +#define Py_STRUCTMEMBER_H +#ifdef __cplusplus +extern "C" { +#endif + + +/* Interface to map C struct members to Python object attributes + * + * This header is deprecated: new code should not use stuff from here. + * New definitions are in descrobject.h. + * + * However, there's nothing wrong with old code continuing to use it, + * and there's not much mainenance overhead in maintaining a few aliases. + * So, don't be too eager to convert old code. + * + * It uses names not prefixed with Py_. + * It is also *not* included from Python.h and must be included individually. + */ + +#include /* For offsetof (not always provided by Python.h) */ + +/* Types */ +#define T_SHORT Py_T_SHORT +#define T_INT Py_T_INT +#define T_LONG Py_T_LONG +#define T_FLOAT Py_T_FLOAT +#define T_DOUBLE Py_T_DOUBLE +#define T_STRING Py_T_STRING +#define T_OBJECT _Py_T_OBJECT +#define T_CHAR Py_T_CHAR +#define T_BYTE Py_T_BYTE +#define T_UBYTE Py_T_UBYTE +#define T_USHORT Py_T_USHORT +#define T_UINT Py_T_UINT +#define T_ULONG Py_T_ULONG +#define T_STRING_INPLACE Py_T_STRING_INPLACE +#define T_BOOL Py_T_BOOL +#define T_OBJECT_EX Py_T_OBJECT_EX +#define T_LONGLONG Py_T_LONGLONG +#define T_ULONGLONG Py_T_ULONGLONG +#define T_PYSSIZET Py_T_PYSSIZET +#define T_NONE _Py_T_NONE + +/* Flags */ +#define READONLY Py_READONLY +#define PY_AUDIT_READ Py_AUDIT_READ +#define READ_RESTRICTED Py_AUDIT_READ +#define PY_WRITE_RESTRICTED _Py_WRITE_RESTRICTED +#define RESTRICTED (READ_RESTRICTED | PY_WRITE_RESTRICTED) + + +#ifdef __cplusplus +} +#endif +#endif /* !Py_STRUCTMEMBER_H */ diff --git a/_Pre_Builds/_Python312_cpp/include/structseq.h b/_Pre_Builds/_Python312_cpp/include/structseq.h new file mode 100644 index 0000000..9687115 --- /dev/null +++ b/_Pre_Builds/_Python312_cpp/include/structseq.h @@ -0,0 +1,49 @@ + +/* Named tuple object interface */ + +#ifndef Py_STRUCTSEQ_H +#define Py_STRUCTSEQ_H +#ifdef __cplusplus +extern "C" { +#endif + +typedef struct PyStructSequence_Field { + const char *name; + const char *doc; +} PyStructSequence_Field; + +typedef struct PyStructSequence_Desc { + const char *name; + const char *doc; + PyStructSequence_Field *fields; + int n_in_sequence; +} PyStructSequence_Desc; + +PyAPI_DATA(const char * const) PyStructSequence_UnnamedField; + +#ifndef Py_LIMITED_API +PyAPI_FUNC(void) PyStructSequence_InitType(PyTypeObject *type, + PyStructSequence_Desc *desc); +PyAPI_FUNC(int) PyStructSequence_InitType2(PyTypeObject *type, + PyStructSequence_Desc *desc); +#endif +PyAPI_FUNC(PyTypeObject*) PyStructSequence_NewType(PyStructSequence_Desc *desc); + +PyAPI_FUNC(PyObject *) PyStructSequence_New(PyTypeObject* type); + +#ifndef Py_LIMITED_API +typedef PyTupleObject PyStructSequence; + +/* Macro, *only* to be used to fill in brand new objects */ +#define PyStructSequence_SET_ITEM(op, i, v) PyTuple_SET_ITEM((op), (i), (v)) + +#define PyStructSequence_GET_ITEM(op, i) PyTuple_GET_ITEM((op), (i)) +#endif + +PyAPI_FUNC(void) PyStructSequence_SetItem(PyObject*, Py_ssize_t, PyObject*); +PyAPI_FUNC(PyObject*) PyStructSequence_GetItem(PyObject*, Py_ssize_t); + +#ifdef __cplusplus +} +#endif +#endif /* !Py_STRUCTSEQ_H */ diff --git a/_Pre_Builds/_Python312_cpp/include/sysmodule.h b/_Pre_Builds/_Python312_cpp/include/sysmodule.h new file mode 100644 index 0000000..96f8838 --- /dev/null +++ b/_Pre_Builds/_Python312_cpp/include/sysmodule.h @@ -0,0 +1,54 @@ + +/* System module interface */ + +#ifndef Py_SYSMODULE_H +#define Py_SYSMODULE_H +#ifdef __cplusplus +extern "C" { +#endif + +PyAPI_FUNC(PyObject *) PySys_GetObject(const char *); +PyAPI_FUNC(int) PySys_SetObject(const char *, PyObject *); + +Py_DEPRECATED(3.11) PyAPI_FUNC(void) PySys_SetArgv(int, wchar_t **); +Py_DEPRECATED(3.11) PyAPI_FUNC(void) PySys_SetArgvEx(int, wchar_t **, int); +Py_DEPRECATED(3.11) PyAPI_FUNC(void) PySys_SetPath(const wchar_t *); + +PyAPI_FUNC(void) PySys_WriteStdout(const char *format, ...) + Py_GCC_ATTRIBUTE((format(printf, 1, 2))); +PyAPI_FUNC(void) PySys_WriteStderr(const char *format, ...) + Py_GCC_ATTRIBUTE((format(printf, 1, 2))); +PyAPI_FUNC(void) PySys_FormatStdout(const char *format, ...); +PyAPI_FUNC(void) PySys_FormatStderr(const char *format, ...); + +PyAPI_FUNC(void) PySys_ResetWarnOptions(void); +Py_DEPRECATED(3.11) PyAPI_FUNC(void) PySys_AddWarnOption(const wchar_t *); +Py_DEPRECATED(3.11) PyAPI_FUNC(void) PySys_AddWarnOptionUnicode(PyObject *); +Py_DEPRECATED(3.11) PyAPI_FUNC(int) PySys_HasWarnOptions(void); + +Py_DEPRECATED(3.11) PyAPI_FUNC(void) PySys_AddXOption(const wchar_t *); +PyAPI_FUNC(PyObject *) PySys_GetXOptions(void); + +#if !defined(Py_LIMITED_API) +typedef struct { + FILE* perf_map; + PyThread_type_lock map_lock; +} PerfMapState; + +PyAPI_FUNC(int) PyUnstable_PerfMapState_Init(void); + +PyAPI_FUNC(int) PyUnstable_WritePerfMapEntry(const void *code_addr, unsigned int code_size, const char *entry_name); + +PyAPI_FUNC(void) PyUnstable_PerfMapState_Fini(void); +#endif + +#ifndef Py_LIMITED_API +# define Py_CPYTHON_SYSMODULE_H +# include "cpython/sysmodule.h" +# undef Py_CPYTHON_SYSMODULE_H +#endif + +#ifdef __cplusplus +} +#endif +#endif /* !Py_SYSMODULE_H */ diff --git a/_Pre_Builds/_Python312_cpp/include/traceback.h b/_Pre_Builds/_Python312_cpp/include/traceback.h new file mode 100644 index 0000000..2b40cc9 --- /dev/null +++ b/_Pre_Builds/_Python312_cpp/include/traceback.h @@ -0,0 +1,26 @@ +#ifndef Py_TRACEBACK_H +#define Py_TRACEBACK_H +#ifdef __cplusplus +extern "C" { +#endif + +/* Traceback interface */ + +PyAPI_FUNC(int) PyTraceBack_Here(PyFrameObject *); +PyAPI_FUNC(int) PyTraceBack_Print(PyObject *, PyObject *); + +/* Reveal traceback type so we can typecheck traceback objects */ +PyAPI_DATA(PyTypeObject) PyTraceBack_Type; +#define PyTraceBack_Check(v) Py_IS_TYPE((v), &PyTraceBack_Type) + + +#ifndef Py_LIMITED_API +# define Py_CPYTHON_TRACEBACK_H +# include "cpython/traceback.h" +# undef Py_CPYTHON_TRACEBACK_H +#endif + +#ifdef __cplusplus +} +#endif +#endif /* !Py_TRACEBACK_H */ diff --git a/_Pre_Builds/_Python312_cpp/include/tracemalloc.h b/_Pre_Builds/_Python312_cpp/include/tracemalloc.h new file mode 100644 index 0000000..580027a --- /dev/null +++ b/_Pre_Builds/_Python312_cpp/include/tracemalloc.h @@ -0,0 +1,72 @@ +#ifndef Py_TRACEMALLOC_H +#define Py_TRACEMALLOC_H + +#ifndef Py_LIMITED_API +/* Track an allocated memory block in the tracemalloc module. + Return 0 on success, return -1 on error (failed to allocate memory to store + the trace). + + Return -2 if tracemalloc is disabled. + + If memory block is already tracked, update the existing trace. */ +PyAPI_FUNC(int) PyTraceMalloc_Track( + unsigned int domain, + uintptr_t ptr, + size_t size); + +/* Untrack an allocated memory block in the tracemalloc module. + Do nothing if the block was not tracked. + + Return -2 if tracemalloc is disabled, otherwise return 0. */ +PyAPI_FUNC(int) PyTraceMalloc_Untrack( + unsigned int domain, + uintptr_t ptr); + +/* Get the traceback where a memory block was allocated. + + Return a tuple of (filename: str, lineno: int) tuples. + + Return None if the tracemalloc module is disabled or if the memory block + is not tracked by tracemalloc. + + Raise an exception and return NULL on error. */ +PyAPI_FUNC(PyObject*) _PyTraceMalloc_GetTraceback( + unsigned int domain, + uintptr_t ptr); + +/* Return non-zero if tracemalloc is tracing */ +PyAPI_FUNC(int) _PyTraceMalloc_IsTracing(void); + +/* Clear the tracemalloc traces */ +PyAPI_FUNC(void) _PyTraceMalloc_ClearTraces(void); + +/* Clear the tracemalloc traces */ +PyAPI_FUNC(PyObject *) _PyTraceMalloc_GetTraces(void); + +/* Clear tracemalloc traceback for an object */ +PyAPI_FUNC(PyObject *) _PyTraceMalloc_GetObjectTraceback(PyObject *obj); + +/* Initialize tracemalloc */ +PyAPI_FUNC(int) _PyTraceMalloc_Init(void); + +/* Start tracemalloc */ +PyAPI_FUNC(int) _PyTraceMalloc_Start(int max_nframe); + +/* Stop tracemalloc */ +PyAPI_FUNC(void) _PyTraceMalloc_Stop(void); + +/* Get the tracemalloc traceback limit */ +PyAPI_FUNC(int) _PyTraceMalloc_GetTracebackLimit(void); + +/* Get the memory usage of tracemalloc in bytes */ +PyAPI_FUNC(size_t) _PyTraceMalloc_GetMemory(void); + +/* Get the current size and peak size of traced memory blocks as a 2-tuple */ +PyAPI_FUNC(PyObject *) _PyTraceMalloc_GetTracedMemory(void); + +/* Set the peak size of traced memory blocks to the current size */ +PyAPI_FUNC(void) _PyTraceMalloc_ResetPeak(void); + +#endif + +#endif /* !Py_TRACEMALLOC_H */ diff --git a/_Pre_Builds/_Python312_cpp/include/tupleobject.h b/_Pre_Builds/_Python312_cpp/include/tupleobject.h new file mode 100644 index 0000000..1f9ab54 --- /dev/null +++ b/_Pre_Builds/_Python312_cpp/include/tupleobject.h @@ -0,0 +1,46 @@ +/* Tuple object interface */ + +#ifndef Py_TUPLEOBJECT_H +#define Py_TUPLEOBJECT_H +#ifdef __cplusplus +extern "C" { +#endif + +/* +Another generally useful object type is a tuple of object pointers. +For Python, this is an immutable type. C code can change the tuple items +(but not their number), and even use tuples as general-purpose arrays of +object references, but in general only brand new tuples should be mutated, +not ones that might already have been exposed to Python code. + +*** WARNING *** PyTuple_SetItem does not increment the new item's reference +count, but does decrement the reference count of the item it replaces, +if not nil. It does *decrement* the reference count if it is *not* +inserted in the tuple. Similarly, PyTuple_GetItem does not increment the +returned item's reference count. +*/ + +PyAPI_DATA(PyTypeObject) PyTuple_Type; +PyAPI_DATA(PyTypeObject) PyTupleIter_Type; + +#define PyTuple_Check(op) \ + PyType_FastSubclass(Py_TYPE(op), Py_TPFLAGS_TUPLE_SUBCLASS) +#define PyTuple_CheckExact(op) Py_IS_TYPE((op), &PyTuple_Type) + +PyAPI_FUNC(PyObject *) PyTuple_New(Py_ssize_t size); +PyAPI_FUNC(Py_ssize_t) PyTuple_Size(PyObject *); +PyAPI_FUNC(PyObject *) PyTuple_GetItem(PyObject *, Py_ssize_t); +PyAPI_FUNC(int) PyTuple_SetItem(PyObject *, Py_ssize_t, PyObject *); +PyAPI_FUNC(PyObject *) PyTuple_GetSlice(PyObject *, Py_ssize_t, Py_ssize_t); +PyAPI_FUNC(PyObject *) PyTuple_Pack(Py_ssize_t, ...); + +#ifndef Py_LIMITED_API +# define Py_CPYTHON_TUPLEOBJECT_H +# include "cpython/tupleobject.h" +# undef Py_CPYTHON_TUPLEOBJECT_H +#endif + +#ifdef __cplusplus +} +#endif +#endif /* !Py_TUPLEOBJECT_H */ diff --git a/_Pre_Builds/_Python312_cpp/include/typeslots.h b/_Pre_Builds/_Python312_cpp/include/typeslots.h new file mode 100644 index 0000000..506b055 --- /dev/null +++ b/_Pre_Builds/_Python312_cpp/include/typeslots.h @@ -0,0 +1,88 @@ +/* Do not renumber the file; these numbers are part of the stable ABI. */ +#define Py_bf_getbuffer 1 +#define Py_bf_releasebuffer 2 +#define Py_mp_ass_subscript 3 +#define Py_mp_length 4 +#define Py_mp_subscript 5 +#define Py_nb_absolute 6 +#define Py_nb_add 7 +#define Py_nb_and 8 +#define Py_nb_bool 9 +#define Py_nb_divmod 10 +#define Py_nb_float 11 +#define Py_nb_floor_divide 12 +#define Py_nb_index 13 +#define Py_nb_inplace_add 14 +#define Py_nb_inplace_and 15 +#define Py_nb_inplace_floor_divide 16 +#define Py_nb_inplace_lshift 17 +#define Py_nb_inplace_multiply 18 +#define Py_nb_inplace_or 19 +#define Py_nb_inplace_power 20 +#define Py_nb_inplace_remainder 21 +#define Py_nb_inplace_rshift 22 +#define Py_nb_inplace_subtract 23 +#define Py_nb_inplace_true_divide 24 +#define Py_nb_inplace_xor 25 +#define Py_nb_int 26 +#define Py_nb_invert 27 +#define Py_nb_lshift 28 +#define Py_nb_multiply 29 +#define Py_nb_negative 30 +#define Py_nb_or 31 +#define Py_nb_positive 32 +#define Py_nb_power 33 +#define Py_nb_remainder 34 +#define Py_nb_rshift 35 +#define Py_nb_subtract 36 +#define Py_nb_true_divide 37 +#define Py_nb_xor 38 +#define Py_sq_ass_item 39 +#define Py_sq_concat 40 +#define Py_sq_contains 41 +#define Py_sq_inplace_concat 42 +#define Py_sq_inplace_repeat 43 +#define Py_sq_item 44 +#define Py_sq_length 45 +#define Py_sq_repeat 46 +#define Py_tp_alloc 47 +#define Py_tp_base 48 +#define Py_tp_bases 49 +#define Py_tp_call 50 +#define Py_tp_clear 51 +#define Py_tp_dealloc 52 +#define Py_tp_del 53 +#define Py_tp_descr_get 54 +#define Py_tp_descr_set 55 +#define Py_tp_doc 56 +#define Py_tp_getattr 57 +#define Py_tp_getattro 58 +#define Py_tp_hash 59 +#define Py_tp_init 60 +#define Py_tp_is_gc 61 +#define Py_tp_iter 62 +#define Py_tp_iternext 63 +#define Py_tp_methods 64 +#define Py_tp_new 65 +#define Py_tp_repr 66 +#define Py_tp_richcompare 67 +#define Py_tp_setattr 68 +#define Py_tp_setattro 69 +#define Py_tp_str 70 +#define Py_tp_traverse 71 +#define Py_tp_members 72 +#define Py_tp_getset 73 +#define Py_tp_free 74 +#define Py_nb_matrix_multiply 75 +#define Py_nb_inplace_matrix_multiply 76 +#define Py_am_await 77 +#define Py_am_aiter 78 +#define Py_am_anext 79 +#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x03050000 +/* New in 3.5 */ +#define Py_tp_finalize 80 +#endif +#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x030A0000 +/* New in 3.10 */ +#define Py_am_send 81 +#endif diff --git a/_Pre_Builds/_Python312_cpp/include/unicodeobject.h b/_Pre_Builds/_Python312_cpp/include/unicodeobject.h new file mode 100644 index 0000000..5839c74 --- /dev/null +++ b/_Pre_Builds/_Python312_cpp/include/unicodeobject.h @@ -0,0 +1,1020 @@ +#ifndef Py_UNICODEOBJECT_H +#define Py_UNICODEOBJECT_H + +#include // va_list + +/* + +Unicode implementation based on original code by Fredrik Lundh, +modified by Marc-Andre Lemburg (mal@lemburg.com) according to the +Unicode Integration Proposal. (See +http://www.egenix.com/files/python/unicode-proposal.txt). + +Copyright (c) Corporation for National Research Initiatives. + + + Original header: + -------------------------------------------------------------------- + + * Yet another Unicode string type for Python. This type supports the + * 16-bit Basic Multilingual Plane (BMP) only. + * + * Written by Fredrik Lundh, January 1999. + * + * Copyright (c) 1999 by Secret Labs AB. + * Copyright (c) 1999 by Fredrik Lundh. + * + * fredrik@pythonware.com + * http://www.pythonware.com + * + * -------------------------------------------------------------------- + * This Unicode String Type is + * + * Copyright (c) 1999 by Secret Labs AB + * Copyright (c) 1999 by Fredrik Lundh + * + * By obtaining, using, and/or copying this software and/or its + * associated documentation, you agree that you have read, understood, + * and will comply with the following terms and conditions: + * + * Permission to use, copy, modify, and distribute this software and its + * associated documentation for any purpose and without fee is hereby + * granted, provided that the above copyright notice appears in all + * copies, and that both that copyright notice and this permission notice + * appear in supporting documentation, and that the name of Secret Labs + * AB or the author not be used in advertising or publicity pertaining to + * distribution of the software without specific, written prior + * permission. + * + * SECRET LABS AB AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO + * THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS. IN NO EVENT SHALL SECRET LABS AB OR THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT + * OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + * -------------------------------------------------------------------- */ + +#include + +/* === Internal API ======================================================= */ + +/* --- Internal Unicode Format -------------------------------------------- */ + +/* Python 3.x requires unicode */ +#define Py_USING_UNICODE + +#ifndef SIZEOF_WCHAR_T +#error Must define SIZEOF_WCHAR_T +#endif + +#define Py_UNICODE_SIZE SIZEOF_WCHAR_T + +/* If wchar_t can be used for UCS-4 storage, set Py_UNICODE_WIDE. + Otherwise, Unicode strings are stored as UCS-2 (with limited support + for UTF-16) */ + +#if Py_UNICODE_SIZE >= 4 +#define Py_UNICODE_WIDE +#endif + +/* Set these flags if the platform has "wchar.h" and the + wchar_t type is a 16-bit unsigned type */ +/* #define HAVE_WCHAR_H */ +/* #define HAVE_USABLE_WCHAR_T */ + +/* If the compiler provides a wchar_t type we try to support it + through the interface functions PyUnicode_FromWideChar(), + PyUnicode_AsWideChar() and PyUnicode_AsWideCharString(). */ + +#ifdef HAVE_USABLE_WCHAR_T +# ifndef HAVE_WCHAR_H +# define HAVE_WCHAR_H +# endif +#endif + +#ifdef HAVE_WCHAR_H +# include +#endif + +/* Py_UCS4 and Py_UCS2 are typedefs for the respective + unicode representations. */ +typedef uint32_t Py_UCS4; +typedef uint16_t Py_UCS2; +typedef uint8_t Py_UCS1; + +#ifdef __cplusplus +extern "C" { +#endif + + +PyAPI_DATA(PyTypeObject) PyUnicode_Type; +PyAPI_DATA(PyTypeObject) PyUnicodeIter_Type; + +#define PyUnicode_Check(op) \ + PyType_FastSubclass(Py_TYPE(op), Py_TPFLAGS_UNICODE_SUBCLASS) +#define PyUnicode_CheckExact(op) Py_IS_TYPE((op), &PyUnicode_Type) + +/* --- Constants ---------------------------------------------------------- */ + +/* This Unicode character will be used as replacement character during + decoding if the errors argument is set to "replace". Note: the + Unicode character U+FFFD is the official REPLACEMENT CHARACTER in + Unicode 3.0. */ + +#define Py_UNICODE_REPLACEMENT_CHARACTER ((Py_UCS4) 0xFFFD) + +/* === Public API ========================================================= */ + +/* Similar to PyUnicode_FromUnicode(), but u points to UTF-8 encoded bytes */ +PyAPI_FUNC(PyObject*) PyUnicode_FromStringAndSize( + const char *u, /* UTF-8 encoded string */ + Py_ssize_t size /* size of buffer */ + ); + +/* Similar to PyUnicode_FromUnicode(), but u points to null-terminated + UTF-8 encoded bytes. The size is determined with strlen(). */ +PyAPI_FUNC(PyObject*) PyUnicode_FromString( + const char *u /* UTF-8 encoded string */ + ); + +#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x03030000 +PyAPI_FUNC(PyObject*) PyUnicode_Substring( + PyObject *str, + Py_ssize_t start, + Py_ssize_t end); +#endif + +#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x03030000 +/* Copy the string into a UCS4 buffer including the null character if copy_null + is set. Return NULL and raise an exception on error. Raise a SystemError if + the buffer is smaller than the string. Return buffer on success. + + buflen is the length of the buffer in (Py_UCS4) characters. */ +PyAPI_FUNC(Py_UCS4*) PyUnicode_AsUCS4( + PyObject *unicode, + Py_UCS4* buffer, + Py_ssize_t buflen, + int copy_null); + +/* Copy the string into a UCS4 buffer. A new buffer is allocated using + * PyMem_Malloc; if this fails, NULL is returned with a memory error + exception set. */ +PyAPI_FUNC(Py_UCS4*) PyUnicode_AsUCS4Copy(PyObject *unicode); +#endif + +#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x03030000 +/* Get the length of the Unicode object. */ + +PyAPI_FUNC(Py_ssize_t) PyUnicode_GetLength( + PyObject *unicode +); +#endif + +#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x03030000 +/* Read a character from the string. */ + +PyAPI_FUNC(Py_UCS4) PyUnicode_ReadChar( + PyObject *unicode, + Py_ssize_t index + ); + +/* Write a character to the string. The string must have been created through + PyUnicode_New, must not be shared, and must not have been hashed yet. + + Return 0 on success, -1 on error. */ + +PyAPI_FUNC(int) PyUnicode_WriteChar( + PyObject *unicode, + Py_ssize_t index, + Py_UCS4 character + ); +#endif + +/* Resize a Unicode object. The length is the number of codepoints. + + *unicode is modified to point to the new (resized) object and 0 + returned on success. + + Try to resize the string in place (which is usually faster than allocating + a new string and copy characters), or create a new string. + + Error handling is implemented as follows: an exception is set, -1 + is returned and *unicode left untouched. + + WARNING: The function doesn't check string content, the result may not be a + string in canonical representation. */ + +PyAPI_FUNC(int) PyUnicode_Resize( + PyObject **unicode, /* Pointer to the Unicode object */ + Py_ssize_t length /* New length */ + ); + +/* Decode obj to a Unicode object. + + bytes, bytearray and other bytes-like objects are decoded according to the + given encoding and error handler. The encoding and error handler can be + NULL to have the interface use UTF-8 and "strict". + + All other objects (including Unicode objects) raise an exception. + + The API returns NULL in case of an error. The caller is responsible + for decref'ing the returned objects. + +*/ + +PyAPI_FUNC(PyObject*) PyUnicode_FromEncodedObject( + PyObject *obj, /* Object */ + const char *encoding, /* encoding */ + const char *errors /* error handling */ + ); + +/* Copy an instance of a Unicode subtype to a new true Unicode object if + necessary. If obj is already a true Unicode object (not a subtype), return + the reference with *incremented* refcount. + + The API returns NULL in case of an error. The caller is responsible + for decref'ing the returned objects. + +*/ + +PyAPI_FUNC(PyObject*) PyUnicode_FromObject( + PyObject *obj /* Object */ + ); + +PyAPI_FUNC(PyObject *) PyUnicode_FromFormatV( + const char *format, /* ASCII-encoded string */ + va_list vargs + ); +PyAPI_FUNC(PyObject *) PyUnicode_FromFormat( + const char *format, /* ASCII-encoded string */ + ... + ); + +PyAPI_FUNC(void) PyUnicode_InternInPlace(PyObject **); +PyAPI_FUNC(PyObject *) PyUnicode_InternFromString( + const char *u /* UTF-8 encoded string */ + ); + +/* --- wchar_t support for platforms which support it --------------------- */ + +#ifdef HAVE_WCHAR_H + +/* Create a Unicode Object from the wchar_t buffer w of the given + size. + + The buffer is copied into the new object. */ + +PyAPI_FUNC(PyObject*) PyUnicode_FromWideChar( + const wchar_t *w, /* wchar_t buffer */ + Py_ssize_t size /* size of buffer */ + ); + +/* Copies the Unicode Object contents into the wchar_t buffer w. At + most size wchar_t characters are copied. + + Note that the resulting wchar_t string may or may not be + 0-terminated. It is the responsibility of the caller to make sure + that the wchar_t string is 0-terminated in case this is required by + the application. + + Returns the number of wchar_t characters copied (excluding a + possibly trailing 0-termination character) or -1 in case of an + error. */ + +PyAPI_FUNC(Py_ssize_t) PyUnicode_AsWideChar( + PyObject *unicode, /* Unicode object */ + wchar_t *w, /* wchar_t buffer */ + Py_ssize_t size /* size of buffer */ + ); + +/* Convert the Unicode object to a wide character string. The output string + always ends with a nul character. If size is not NULL, write the number of + wide characters (excluding the null character) into *size. + + Returns a buffer allocated by PyMem_Malloc() (use PyMem_Free() to free it) + on success. On error, returns NULL, *size is undefined and raises a + MemoryError. */ + +PyAPI_FUNC(wchar_t*) PyUnicode_AsWideCharString( + PyObject *unicode, /* Unicode object */ + Py_ssize_t *size /* number of characters of the result */ + ); + +#endif + +/* --- Unicode ordinals --------------------------------------------------- */ + +/* Create a Unicode Object from the given Unicode code point ordinal. + + The ordinal must be in range(0x110000). A ValueError is + raised in case it is not. + +*/ + +PyAPI_FUNC(PyObject*) PyUnicode_FromOrdinal(int ordinal); + +/* === Builtin Codecs ===================================================== + + Many of these APIs take two arguments encoding and errors. These + parameters encoding and errors have the same semantics as the ones + of the builtin str() API. + + Setting encoding to NULL causes the default encoding (UTF-8) to be used. + + Error handling is set by errors which may also be set to NULL + meaning to use the default handling defined for the codec. Default + error handling for all builtin codecs is "strict" (ValueErrors are + raised). + + The codecs all use a similar interface. Only deviation from the + generic ones are documented. + +*/ + +/* --- Manage the default encoding ---------------------------------------- */ + +/* Returns "utf-8". */ +PyAPI_FUNC(const char*) PyUnicode_GetDefaultEncoding(void); + +/* --- Generic Codecs ----------------------------------------------------- */ + +/* Create a Unicode object by decoding the encoded string s of the + given size. */ + +PyAPI_FUNC(PyObject*) PyUnicode_Decode( + const char *s, /* encoded string */ + Py_ssize_t size, /* size of buffer */ + const char *encoding, /* encoding */ + const char *errors /* error handling */ + ); + +/* Decode a Unicode object unicode and return the result as Python + object. + + This API is DEPRECATED. The only supported standard encoding is rot13. + Use PyCodec_Decode() to decode with rot13 and non-standard codecs + that decode from str. */ + +Py_DEPRECATED(3.6) PyAPI_FUNC(PyObject*) PyUnicode_AsDecodedObject( + PyObject *unicode, /* Unicode object */ + const char *encoding, /* encoding */ + const char *errors /* error handling */ + ); + +/* Decode a Unicode object unicode and return the result as Unicode + object. + + This API is DEPRECATED. The only supported standard encoding is rot13. + Use PyCodec_Decode() to decode with rot13 and non-standard codecs + that decode from str to str. */ + +Py_DEPRECATED(3.6) PyAPI_FUNC(PyObject*) PyUnicode_AsDecodedUnicode( + PyObject *unicode, /* Unicode object */ + const char *encoding, /* encoding */ + const char *errors /* error handling */ + ); + +/* Encodes a Unicode object and returns the result as Python + object. + + This API is DEPRECATED. It is superseded by PyUnicode_AsEncodedString() + since all standard encodings (except rot13) encode str to bytes. + Use PyCodec_Encode() for encoding with rot13 and non-standard codecs + that encode form str to non-bytes. */ + +Py_DEPRECATED(3.6) PyAPI_FUNC(PyObject*) PyUnicode_AsEncodedObject( + PyObject *unicode, /* Unicode object */ + const char *encoding, /* encoding */ + const char *errors /* error handling */ + ); + +/* Encodes a Unicode object and returns the result as Python string + object. */ + +PyAPI_FUNC(PyObject*) PyUnicode_AsEncodedString( + PyObject *unicode, /* Unicode object */ + const char *encoding, /* encoding */ + const char *errors /* error handling */ + ); + +/* Encodes a Unicode object and returns the result as Unicode + object. + + This API is DEPRECATED. The only supported standard encodings is rot13. + Use PyCodec_Encode() to encode with rot13 and non-standard codecs + that encode from str to str. */ + +Py_DEPRECATED(3.6) PyAPI_FUNC(PyObject*) PyUnicode_AsEncodedUnicode( + PyObject *unicode, /* Unicode object */ + const char *encoding, /* encoding */ + const char *errors /* error handling */ + ); + +/* Build an encoding map. */ + +PyAPI_FUNC(PyObject*) PyUnicode_BuildEncodingMap( + PyObject* string /* 256 character map */ + ); + +/* --- UTF-7 Codecs ------------------------------------------------------- */ + +PyAPI_FUNC(PyObject*) PyUnicode_DecodeUTF7( + const char *string, /* UTF-7 encoded string */ + Py_ssize_t length, /* size of string */ + const char *errors /* error handling */ + ); + +PyAPI_FUNC(PyObject*) PyUnicode_DecodeUTF7Stateful( + const char *string, /* UTF-7 encoded string */ + Py_ssize_t length, /* size of string */ + const char *errors, /* error handling */ + Py_ssize_t *consumed /* bytes consumed */ + ); + +/* --- UTF-8 Codecs ------------------------------------------------------- */ + +PyAPI_FUNC(PyObject*) PyUnicode_DecodeUTF8( + const char *string, /* UTF-8 encoded string */ + Py_ssize_t length, /* size of string */ + const char *errors /* error handling */ + ); + +PyAPI_FUNC(PyObject*) PyUnicode_DecodeUTF8Stateful( + const char *string, /* UTF-8 encoded string */ + Py_ssize_t length, /* size of string */ + const char *errors, /* error handling */ + Py_ssize_t *consumed /* bytes consumed */ + ); + +PyAPI_FUNC(PyObject*) PyUnicode_AsUTF8String( + PyObject *unicode /* Unicode object */ + ); + +/* Returns a pointer to the default encoding (UTF-8) of the + Unicode object unicode and the size of the encoded representation + in bytes stored in *size. + + In case of an error, no *size is set. + + This function caches the UTF-8 encoded string in the unicodeobject + and subsequent calls will return the same string. The memory is released + when the unicodeobject is deallocated. +*/ + +#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x030A0000 +PyAPI_FUNC(const char *) PyUnicode_AsUTF8AndSize( + PyObject *unicode, + Py_ssize_t *size); +#endif + +/* --- UTF-32 Codecs ------------------------------------------------------ */ + +/* Decodes length bytes from a UTF-32 encoded buffer string and returns + the corresponding Unicode object. + + errors (if non-NULL) defines the error handling. It defaults + to "strict". + + If byteorder is non-NULL, the decoder starts decoding using the + given byte order: + + *byteorder == -1: little endian + *byteorder == 0: native order + *byteorder == 1: big endian + + In native mode, the first four bytes of the stream are checked for a + BOM mark. If found, the BOM mark is analysed, the byte order + adjusted and the BOM skipped. In the other modes, no BOM mark + interpretation is done. After completion, *byteorder is set to the + current byte order at the end of input data. + + If byteorder is NULL, the codec starts in native order mode. + +*/ + +PyAPI_FUNC(PyObject*) PyUnicode_DecodeUTF32( + const char *string, /* UTF-32 encoded string */ + Py_ssize_t length, /* size of string */ + const char *errors, /* error handling */ + int *byteorder /* pointer to byteorder to use + 0=native;-1=LE,1=BE; updated on + exit */ + ); + +PyAPI_FUNC(PyObject*) PyUnicode_DecodeUTF32Stateful( + const char *string, /* UTF-32 encoded string */ + Py_ssize_t length, /* size of string */ + const char *errors, /* error handling */ + int *byteorder, /* pointer to byteorder to use + 0=native;-1=LE,1=BE; updated on + exit */ + Py_ssize_t *consumed /* bytes consumed */ + ); + +/* Returns a Python string using the UTF-32 encoding in native byte + order. The string always starts with a BOM mark. */ + +PyAPI_FUNC(PyObject*) PyUnicode_AsUTF32String( + PyObject *unicode /* Unicode object */ + ); + +/* Returns a Python string object holding the UTF-32 encoded value of + the Unicode data. + + If byteorder is not 0, output is written according to the following + byte order: + + byteorder == -1: little endian + byteorder == 0: native byte order (writes a BOM mark) + byteorder == 1: big endian + + If byteorder is 0, the output string will always start with the + Unicode BOM mark (U+FEFF). In the other two modes, no BOM mark is + prepended. + +*/ + +/* --- UTF-16 Codecs ------------------------------------------------------ */ + +/* Decodes length bytes from a UTF-16 encoded buffer string and returns + the corresponding Unicode object. + + errors (if non-NULL) defines the error handling. It defaults + to "strict". + + If byteorder is non-NULL, the decoder starts decoding using the + given byte order: + + *byteorder == -1: little endian + *byteorder == 0: native order + *byteorder == 1: big endian + + In native mode, the first two bytes of the stream are checked for a + BOM mark. If found, the BOM mark is analysed, the byte order + adjusted and the BOM skipped. In the other modes, no BOM mark + interpretation is done. After completion, *byteorder is set to the + current byte order at the end of input data. + + If byteorder is NULL, the codec starts in native order mode. + +*/ + +PyAPI_FUNC(PyObject*) PyUnicode_DecodeUTF16( + const char *string, /* UTF-16 encoded string */ + Py_ssize_t length, /* size of string */ + const char *errors, /* error handling */ + int *byteorder /* pointer to byteorder to use + 0=native;-1=LE,1=BE; updated on + exit */ + ); + +PyAPI_FUNC(PyObject*) PyUnicode_DecodeUTF16Stateful( + const char *string, /* UTF-16 encoded string */ + Py_ssize_t length, /* size of string */ + const char *errors, /* error handling */ + int *byteorder, /* pointer to byteorder to use + 0=native;-1=LE,1=BE; updated on + exit */ + Py_ssize_t *consumed /* bytes consumed */ + ); + +/* Returns a Python string using the UTF-16 encoding in native byte + order. The string always starts with a BOM mark. */ + +PyAPI_FUNC(PyObject*) PyUnicode_AsUTF16String( + PyObject *unicode /* Unicode object */ + ); + +/* --- Unicode-Escape Codecs ---------------------------------------------- */ + +PyAPI_FUNC(PyObject*) PyUnicode_DecodeUnicodeEscape( + const char *string, /* Unicode-Escape encoded string */ + Py_ssize_t length, /* size of string */ + const char *errors /* error handling */ + ); + +PyAPI_FUNC(PyObject*) PyUnicode_AsUnicodeEscapeString( + PyObject *unicode /* Unicode object */ + ); + +/* --- Raw-Unicode-Escape Codecs ------------------------------------------ */ + +PyAPI_FUNC(PyObject*) PyUnicode_DecodeRawUnicodeEscape( + const char *string, /* Raw-Unicode-Escape encoded string */ + Py_ssize_t length, /* size of string */ + const char *errors /* error handling */ + ); + +PyAPI_FUNC(PyObject*) PyUnicode_AsRawUnicodeEscapeString( + PyObject *unicode /* Unicode object */ + ); + +/* --- Latin-1 Codecs ----------------------------------------------------- + + Note: Latin-1 corresponds to the first 256 Unicode ordinals. */ + +PyAPI_FUNC(PyObject*) PyUnicode_DecodeLatin1( + const char *string, /* Latin-1 encoded string */ + Py_ssize_t length, /* size of string */ + const char *errors /* error handling */ + ); + +PyAPI_FUNC(PyObject*) PyUnicode_AsLatin1String( + PyObject *unicode /* Unicode object */ + ); + +/* --- ASCII Codecs ------------------------------------------------------- + + Only 7-bit ASCII data is expected. All other codes generate errors. + +*/ + +PyAPI_FUNC(PyObject*) PyUnicode_DecodeASCII( + const char *string, /* ASCII encoded string */ + Py_ssize_t length, /* size of string */ + const char *errors /* error handling */ + ); + +PyAPI_FUNC(PyObject*) PyUnicode_AsASCIIString( + PyObject *unicode /* Unicode object */ + ); + +/* --- Character Map Codecs ----------------------------------------------- + + This codec uses mappings to encode and decode characters. + + Decoding mappings must map byte ordinals (integers in the range from 0 to + 255) to Unicode strings, integers (which are then interpreted as Unicode + ordinals) or None. Unmapped data bytes (ones which cause a LookupError) + as well as mapped to None, 0xFFFE or '\ufffe' are treated as "undefined + mapping" and cause an error. + + Encoding mappings must map Unicode ordinal integers to bytes objects, + integers in the range from 0 to 255 or None. Unmapped character + ordinals (ones which cause a LookupError) as well as mapped to + None are treated as "undefined mapping" and cause an error. + +*/ + +PyAPI_FUNC(PyObject*) PyUnicode_DecodeCharmap( + const char *string, /* Encoded string */ + Py_ssize_t length, /* size of string */ + PyObject *mapping, /* decoding mapping */ + const char *errors /* error handling */ + ); + +PyAPI_FUNC(PyObject*) PyUnicode_AsCharmapString( + PyObject *unicode, /* Unicode object */ + PyObject *mapping /* encoding mapping */ + ); + +/* --- MBCS codecs for Windows -------------------------------------------- */ + +#ifdef MS_WINDOWS +PyAPI_FUNC(PyObject*) PyUnicode_DecodeMBCS( + const char *string, /* MBCS encoded string */ + Py_ssize_t length, /* size of string */ + const char *errors /* error handling */ + ); + +PyAPI_FUNC(PyObject*) PyUnicode_DecodeMBCSStateful( + const char *string, /* MBCS encoded string */ + Py_ssize_t length, /* size of string */ + const char *errors, /* error handling */ + Py_ssize_t *consumed /* bytes consumed */ + ); + +#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x03030000 +PyAPI_FUNC(PyObject*) PyUnicode_DecodeCodePageStateful( + int code_page, /* code page number */ + const char *string, /* encoded string */ + Py_ssize_t length, /* size of string */ + const char *errors, /* error handling */ + Py_ssize_t *consumed /* bytes consumed */ + ); +#endif + +PyAPI_FUNC(PyObject*) PyUnicode_AsMBCSString( + PyObject *unicode /* Unicode object */ + ); + +#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x03030000 +PyAPI_FUNC(PyObject*) PyUnicode_EncodeCodePage( + int code_page, /* code page number */ + PyObject *unicode, /* Unicode object */ + const char *errors /* error handling */ + ); +#endif + +#endif /* MS_WINDOWS */ + +/* --- Locale encoding --------------------------------------------------- */ + +#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x03030000 +/* Decode a string from the current locale encoding. The decoder is strict if + *surrogateescape* is equal to zero, otherwise it uses the 'surrogateescape' + error handler (PEP 383) to escape undecodable bytes. If a byte sequence can + be decoded as a surrogate character and *surrogateescape* is not equal to + zero, the byte sequence is escaped using the 'surrogateescape' error handler + instead of being decoded. *str* must end with a null character but cannot + contain embedded null characters. */ + +PyAPI_FUNC(PyObject*) PyUnicode_DecodeLocaleAndSize( + const char *str, + Py_ssize_t len, + const char *errors); + +/* Similar to PyUnicode_DecodeLocaleAndSize(), but compute the string + length using strlen(). */ + +PyAPI_FUNC(PyObject*) PyUnicode_DecodeLocale( + const char *str, + const char *errors); + +/* Encode a Unicode object to the current locale encoding. The encoder is + strict is *surrogateescape* is equal to zero, otherwise the + "surrogateescape" error handler is used. Return a bytes object. The string + cannot contain embedded null characters. */ + +PyAPI_FUNC(PyObject*) PyUnicode_EncodeLocale( + PyObject *unicode, + const char *errors + ); +#endif + +/* --- File system encoding ---------------------------------------------- */ + +/* ParseTuple converter: encode str objects to bytes using + PyUnicode_EncodeFSDefault(); bytes objects are output as-is. */ + +PyAPI_FUNC(int) PyUnicode_FSConverter(PyObject*, void*); + +/* ParseTuple converter: decode bytes objects to unicode using + PyUnicode_DecodeFSDefaultAndSize(); str objects are output as-is. */ + +PyAPI_FUNC(int) PyUnicode_FSDecoder(PyObject*, void*); + +/* Decode a null-terminated string from the Python filesystem encoding + and error handler. + + If the string length is known, use PyUnicode_DecodeFSDefaultAndSize(). */ +PyAPI_FUNC(PyObject*) PyUnicode_DecodeFSDefault( + const char *s /* encoded string */ + ); + +/* Decode a string from the Python filesystem encoding and error handler. */ +PyAPI_FUNC(PyObject*) PyUnicode_DecodeFSDefaultAndSize( + const char *s, /* encoded string */ + Py_ssize_t size /* size */ + ); + +/* Encode a Unicode object to the Python filesystem encoding and error handler. + Return bytes. */ +PyAPI_FUNC(PyObject*) PyUnicode_EncodeFSDefault( + PyObject *unicode + ); + +/* --- Methods & Slots ---------------------------------------------------- + + These are capable of handling Unicode objects and strings on input + (we refer to them as strings in the descriptions) and return + Unicode objects or integers as appropriate. */ + +/* Concat two strings giving a new Unicode string. */ + +PyAPI_FUNC(PyObject*) PyUnicode_Concat( + PyObject *left, /* Left string */ + PyObject *right /* Right string */ + ); + +/* Concat two strings and put the result in *pleft + (sets *pleft to NULL on error) */ + +PyAPI_FUNC(void) PyUnicode_Append( + PyObject **pleft, /* Pointer to left string */ + PyObject *right /* Right string */ + ); + +/* Concat two strings, put the result in *pleft and drop the right object + (sets *pleft to NULL on error) */ + +PyAPI_FUNC(void) PyUnicode_AppendAndDel( + PyObject **pleft, /* Pointer to left string */ + PyObject *right /* Right string */ + ); + +/* Split a string giving a list of Unicode strings. + + If sep is NULL, splitting will be done at all whitespace + substrings. Otherwise, splits occur at the given separator. + + At most maxsplit splits will be done. If negative, no limit is set. + + Separators are not included in the resulting list. + +*/ + +PyAPI_FUNC(PyObject*) PyUnicode_Split( + PyObject *s, /* String to split */ + PyObject *sep, /* String separator */ + Py_ssize_t maxsplit /* Maxsplit count */ + ); + +/* Dito, but split at line breaks. + + CRLF is considered to be one line break. Line breaks are not + included in the resulting list. */ + +PyAPI_FUNC(PyObject*) PyUnicode_Splitlines( + PyObject *s, /* String to split */ + int keepends /* If true, line end markers are included */ + ); + +/* Partition a string using a given separator. */ + +PyAPI_FUNC(PyObject*) PyUnicode_Partition( + PyObject *s, /* String to partition */ + PyObject *sep /* String separator */ + ); + +/* Partition a string using a given separator, searching from the end of the + string. */ + +PyAPI_FUNC(PyObject*) PyUnicode_RPartition( + PyObject *s, /* String to partition */ + PyObject *sep /* String separator */ + ); + +/* Split a string giving a list of Unicode strings. + + If sep is NULL, splitting will be done at all whitespace + substrings. Otherwise, splits occur at the given separator. + + At most maxsplit splits will be done. But unlike PyUnicode_Split + PyUnicode_RSplit splits from the end of the string. If negative, + no limit is set. + + Separators are not included in the resulting list. + +*/ + +PyAPI_FUNC(PyObject*) PyUnicode_RSplit( + PyObject *s, /* String to split */ + PyObject *sep, /* String separator */ + Py_ssize_t maxsplit /* Maxsplit count */ + ); + +/* Translate a string by applying a character mapping table to it and + return the resulting Unicode object. + + The mapping table must map Unicode ordinal integers to Unicode strings, + Unicode ordinal integers or None (causing deletion of the character). + + Mapping tables may be dictionaries or sequences. Unmapped character + ordinals (ones which cause a LookupError) are left untouched and + are copied as-is. + +*/ + +PyAPI_FUNC(PyObject *) PyUnicode_Translate( + PyObject *str, /* String */ + PyObject *table, /* Translate table */ + const char *errors /* error handling */ + ); + +/* Join a sequence of strings using the given separator and return + the resulting Unicode string. */ + +PyAPI_FUNC(PyObject*) PyUnicode_Join( + PyObject *separator, /* Separator string */ + PyObject *seq /* Sequence object */ + ); + +/* Return 1 if substr matches str[start:end] at the given tail end, 0 + otherwise. */ + +PyAPI_FUNC(Py_ssize_t) PyUnicode_Tailmatch( + PyObject *str, /* String */ + PyObject *substr, /* Prefix or Suffix string */ + Py_ssize_t start, /* Start index */ + Py_ssize_t end, /* Stop index */ + int direction /* Tail end: -1 prefix, +1 suffix */ + ); + +/* Return the first position of substr in str[start:end] using the + given search direction or -1 if not found. -2 is returned in case + an error occurred and an exception is set. */ + +PyAPI_FUNC(Py_ssize_t) PyUnicode_Find( + PyObject *str, /* String */ + PyObject *substr, /* Substring to find */ + Py_ssize_t start, /* Start index */ + Py_ssize_t end, /* Stop index */ + int direction /* Find direction: +1 forward, -1 backward */ + ); + +#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x03030000 +/* Like PyUnicode_Find, but search for single character only. */ +PyAPI_FUNC(Py_ssize_t) PyUnicode_FindChar( + PyObject *str, + Py_UCS4 ch, + Py_ssize_t start, + Py_ssize_t end, + int direction + ); +#endif + +/* Count the number of occurrences of substr in str[start:end]. */ + +PyAPI_FUNC(Py_ssize_t) PyUnicode_Count( + PyObject *str, /* String */ + PyObject *substr, /* Substring to count */ + Py_ssize_t start, /* Start index */ + Py_ssize_t end /* Stop index */ + ); + +/* Replace at most maxcount occurrences of substr in str with replstr + and return the resulting Unicode object. */ + +PyAPI_FUNC(PyObject *) PyUnicode_Replace( + PyObject *str, /* String */ + PyObject *substr, /* Substring to find */ + PyObject *replstr, /* Substring to replace */ + Py_ssize_t maxcount /* Max. number of replacements to apply; + -1 = all */ + ); + +/* Compare two strings and return -1, 0, 1 for less than, equal, + greater than resp. + Raise an exception and return -1 on error. */ + +PyAPI_FUNC(int) PyUnicode_Compare( + PyObject *left, /* Left string */ + PyObject *right /* Right string */ + ); + +/* Compare a Unicode object with C string and return -1, 0, 1 for less than, + equal, and greater than, respectively. It is best to pass only + ASCII-encoded strings, but the function interprets the input string as + ISO-8859-1 if it contains non-ASCII characters. + This function does not raise exceptions. */ + +PyAPI_FUNC(int) PyUnicode_CompareWithASCIIString( + PyObject *left, + const char *right /* ASCII-encoded string */ + ); + +/* Rich compare two strings and return one of the following: + + - NULL in case an exception was raised + - Py_True or Py_False for successful comparisons + - Py_NotImplemented in case the type combination is unknown + + Possible values for op: + + Py_GT, Py_GE, Py_EQ, Py_NE, Py_LT, Py_LE + +*/ + +PyAPI_FUNC(PyObject *) PyUnicode_RichCompare( + PyObject *left, /* Left string */ + PyObject *right, /* Right string */ + int op /* Operation: Py_EQ, Py_NE, Py_GT, etc. */ + ); + +/* Apply an argument tuple or dictionary to a format string and return + the resulting Unicode string. */ + +PyAPI_FUNC(PyObject *) PyUnicode_Format( + PyObject *format, /* Format string */ + PyObject *args /* Argument tuple or dictionary */ + ); + +/* Checks whether element is contained in container and return 1/0 + accordingly. + + element has to coerce to a one element Unicode string. -1 is + returned in case of an error. */ + +PyAPI_FUNC(int) PyUnicode_Contains( + PyObject *container, /* Container string */ + PyObject *element /* Element string */ + ); + +/* Checks whether argument is a valid identifier. */ + +PyAPI_FUNC(int) PyUnicode_IsIdentifier(PyObject *s); + +/* === Characters Type APIs =============================================== */ + +#ifndef Py_LIMITED_API +# define Py_CPYTHON_UNICODEOBJECT_H +# include "cpython/unicodeobject.h" +# undef Py_CPYTHON_UNICODEOBJECT_H +#endif + +#ifdef __cplusplus +} +#endif +#endif /* !Py_UNICODEOBJECT_H */ diff --git a/_Pre_Builds/_Python312_cpp/include/warnings.h b/_Pre_Builds/_Python312_cpp/include/warnings.h new file mode 100644 index 0000000..18ac154 --- /dev/null +++ b/_Pre_Builds/_Python312_cpp/include/warnings.h @@ -0,0 +1,45 @@ +#ifndef Py_WARNINGS_H +#define Py_WARNINGS_H +#ifdef __cplusplus +extern "C" { +#endif + +PyAPI_FUNC(int) PyErr_WarnEx( + PyObject *category, + const char *message, /* UTF-8 encoded string */ + Py_ssize_t stack_level); + +PyAPI_FUNC(int) PyErr_WarnFormat( + PyObject *category, + Py_ssize_t stack_level, + const char *format, /* ASCII-encoded string */ + ...); + +#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x03060000 +/* Emit a ResourceWarning warning */ +PyAPI_FUNC(int) PyErr_ResourceWarning( + PyObject *source, + Py_ssize_t stack_level, + const char *format, /* ASCII-encoded string */ + ...); +#endif + +PyAPI_FUNC(int) PyErr_WarnExplicit( + PyObject *category, + const char *message, /* UTF-8 encoded string */ + const char *filename, /* decoded from the filesystem encoding */ + int lineno, + const char *module, /* UTF-8 encoded string */ + PyObject *registry); + +#ifndef Py_LIMITED_API +# define Py_CPYTHON_WARNINGS_H +# include "cpython/warnings.h" +# undef Py_CPYTHON_WARNINGS_H +#endif + +#ifdef __cplusplus +} +#endif +#endif /* !Py_WARNINGS_H */ + diff --git a/_Pre_Builds/_Python312_cpp/include/weakrefobject.h b/_Pre_Builds/_Python312_cpp/include/weakrefobject.h new file mode 100644 index 0000000..8e1fa1b --- /dev/null +++ b/_Pre_Builds/_Python312_cpp/include/weakrefobject.h @@ -0,0 +1,42 @@ +/* Weak references objects for Python. */ + +#ifndef Py_WEAKREFOBJECT_H +#define Py_WEAKREFOBJECT_H +#ifdef __cplusplus +extern "C" { +#endif + +typedef struct _PyWeakReference PyWeakReference; + +PyAPI_DATA(PyTypeObject) _PyWeakref_RefType; +PyAPI_DATA(PyTypeObject) _PyWeakref_ProxyType; +PyAPI_DATA(PyTypeObject) _PyWeakref_CallableProxyType; + +#define PyWeakref_CheckRef(op) PyObject_TypeCheck((op), &_PyWeakref_RefType) +#define PyWeakref_CheckRefExact(op) \ + Py_IS_TYPE((op), &_PyWeakref_RefType) +#define PyWeakref_CheckProxy(op) \ + (Py_IS_TYPE((op), &_PyWeakref_ProxyType) \ + || Py_IS_TYPE((op), &_PyWeakref_CallableProxyType)) + +#define PyWeakref_Check(op) \ + (PyWeakref_CheckRef(op) || PyWeakref_CheckProxy(op)) + + +PyAPI_FUNC(PyObject *) PyWeakref_NewRef(PyObject *ob, + PyObject *callback); +PyAPI_FUNC(PyObject *) PyWeakref_NewProxy(PyObject *ob, + PyObject *callback); +PyAPI_FUNC(PyObject *) PyWeakref_GetObject(PyObject *ref); + + +#ifndef Py_LIMITED_API +# define Py_CPYTHON_WEAKREFOBJECT_H +# include "cpython/weakrefobject.h" +# undef Py_CPYTHON_WEAKREFOBJECT_H +#endif + +#ifdef __cplusplus +} +#endif +#endif /* !Py_WEAKREFOBJECT_H */ diff --git a/_Pre_Builds/_Python312_cpp/libs/_tkinter.lib b/_Pre_Builds/_Python312_cpp/libs/_tkinter.lib new file mode 100644 index 0000000000000000000000000000000000000000..5ae032c4f3afbaeed744f4e7ac106113ac254726 GIT binary patch literal 1750 zcmcIl%}(1u5dQ2?3RZ-o(ksYFNYF!55)uRzLJm-=QGSSmId9UKHWq?JsX1`smQ$aD z3vbX-m*^+%w7Q#Dm&%EOngeV^6^N%%fsZ;_5 z`|D9LC-yUT2BnMand^nGa8H|JSo&%t={}Mvf^ww+cM%{;nCjC$G)zH*PHSX@4gZ2s zh*6e5ja<1T-n?)a-%HU+ZEg0Vr$=dCW44Xc*KA=3{S3cmnP7sV#8iw{3LsJ8XUK|LZDkQK0;3?-IuU@i5EHecHpz*c++9iI_WwIBOWJP zl4(`!6~k%kezyGftz#QUXNwaY_0~|ftScdB3pIs-!P)YEvS6IZE|4uxHXh^Ee%pLp zWe@a15a-c;d#1|L%28aUTxH>5!BSP0QgYV2SB%_QZ}R>f$G3}Q!6ZAFY+xq;U$|18 RHg_?OAlLYC*AK@I#$U+^RcQbK literal 0 HcmV?d00001 diff --git a/_Pre_Builds/_Python312_cpp/libs/python3.lib b/_Pre_Builds/_Python312_cpp/libs/python3.lib new file mode 100644 index 0000000000000000000000000000000000000000..9d7726fc0f9829ed71b4181eedce10d4852de6f3 GIT binary patch literal 186296 zcmeFa4U}9(nLb`sjffEu5fKq%M8t@Q5JHHEm~S#LNyeE;h!HdC%yg0tlkTB=CM1Z6 zh=_=Yh=_=Yh=_oQh=_=Yh=_=Yh=_`aEX%SiV%E*Fez5p|-uis2Zr#pggTJ%?b2jHZ zxzq1wRo%K(b?a8W^_s(~t-&>iPk8gB_}`ljjDNdd2iQNR9(3@ugZ1AlCJ3?pp+YX% zPROPE3;E6=p?-F~!M&4((zp;;;OE;J+&5n+jcafPemTeB&fSC}{OA&ky>JD7yo14= zr-2Xr_ymima0TvKWAQMqz)u!h+>9%5_x={=;|lzAdyDnB5*{=7+9sh0*DklX4Oign z(AR+O*MaMXEnw$5!UG21Kt43C#TB@IZ;R7$1-|)&!417aY21V>@GaOR+_;^^2(E+& z4Zb~JD2?lJ1#X&XaR#o0%?96DC6vZ}xB@rNvbYXc;JX(X+#-b1Sc@y+euM8#7fRz| zT!CA6vKYmc@N0wbcMGL)4X(g#lPu1{m9W|12Pj94J8%VVKfvN5T!A0%Xo2$oA#lfy z8gkjqLgQVNh1573SHiOf$E+8U@a{Vdj(HTnfp;%7SbnXLgn`oxRwyAgMsOuSmQd}t zxE)tum1b1y=87aVoBaKO3wW5>n%ST!H$0iyLqS z)=suKA6MYm9V|}5mGHR1aTA0jj7%{&ZUcT3o-k-F7g7UhX#wrSEv~{97~R7HX&WUx zZ7{Z0NR0<@1%_`jShuf`8W-XUG25U#)}-4-|E3VaCVLpXhf#a*}pA4WaVxENR94CGS-X*+{}^btNXWN|mH zz?su5pmQehQRr!$fGYuYif|U{vBoX90v|iu;;*;@AM7{y_;evPP}Uy@&e`4KbX*BY z1K|_PERcpz0O!uKxB^$;le=0V?Vlvzz7ozu`D#3XEAXiv3#92&!1>6J#wEA{pN4-8 z)U8hwV1sbM5{uh#1wI2kjf-&wE`**2>ez+AXZNwV23O#si56$!3Vd#Y#hJJQ7w=?o z3a-HCmBj{J2~QYYG9;u1>dGa+7f@d`;NuIxrF&YOgDc@#gD;K}`E#TB@6lEvA$0#^x(VO$9h8hoW&NR1nD z1+GRt*EkC2&r)^uE5W5Uo@`56}T7Wp@A~L7x+2K zmGIMs!Ou6~H{lV3`xXkRfik%d_yy8JxPN<#^|%rqGx%k%kQ$KvCGfzx2ERhSHCng= zzeavFuE!Pl4a!Lab^JGk%?1yy6jB4_^dRutn+zV>Pe_eRa0Pz1o5dNp0uRHV2FmJT z!ZQZHM?N)>zuyCo^jqA9EAUU#EiT0scyv#T3vdPgc}I&=aRnYz7AN9Lc*@{kmI|qH zH?F|rb1ZJa75LW!EH1+pcw!F=*nEQUq`{Mr(}3?Mfj^+!HBg3sAUtI7)O;Z|uE7=f zBhsybviu_fJ~z~;j(uEG`g&xsc2;tD*y zlLgZLG~rJM|FuF$jk|CK{(P9l6}SR_LB2JR#=j7rG59OeqVXuMz%!^H8fW4P{5S5e zMgvy@?j_;bg%&sB3jBSt#f7+Hyef9Ez!*^w{$wCA{?ov?NdoF{i_38ZDyLXHg)6Y# zGK;%$1)hg-na1_F0?&WkUO|`fRS74_-EY8A}@QlHWF@DszA6MY{7@rY#zSiI+80TqV%=r=m#(9KYhAi&E z6?o}k7MJ4+?4b;Hg}s5YE3iky;@7wWubg9nGJGYl=iU~O-4l3~uvmjD0eL4(oMmw>uE47&TAYb1;m-z> zphI~5J_h?BjfB^qZ!mc$p)^j$m4GrMykUjKowx$~qTDpD#}#-Z>}g=E{6=6u*wHu% zSHcqpZ#qUOjeBtg_Mc~Q9j?He_p&$-SKt8TS7R7g!u~31>S=DtZ_N6 zz@fWXpbQTsY%+K&%2DGkT!F);TU?4O@HUj2#)-HR9y2(6sZbhs;|jbT<*#uCuE30m z7H8s0c-mkl{Au8x%>-s0YB1?u)B|9z(+pm7xKM<>P){_F{=I9`X9 zWYDuzD2SL%L9Y->V+2>iBL;o2Md+Vo0r`Hyvj&SHtAYEx7+3=P8h7IgEJeCC zkmjYpJ9oA?30J~X2FsQUrGb0A40zXciz{#ij+tnIyc|Q=Z18TBw+3|H4J?NqVF>Bc zKtAyPsA|hBkfs{2>TrvzaRpZIZGmTIHLzxTixY4qJY`TH5{fW*jzRq){04?leuT9> z7PsOG9E*CRfjk@w45J)1&c+p32OSNhcO3z?2#s!wTW|%IUuH0{n@}1kg8^U#^fel| z5*{|d`?k`!4Od|0;TEWaD}lki44V53rEwvyzzFUk;kaH4_&yG3O}0S3TZCr~+V=`Y z7@c8pEv~>AUdzoREvvo1vc(%aU!mSO$H|{7fJ*7 z`~=`b7a5$sqfi|P7pgR_B;A7*hKuE05aSzL@O@QIx)PQsP&gu%H; zuLkmZF7V02Es)kv0_P#U8rR?od}?ot^Kk{v-^JooTnWz_e0D#f2%kRD0_p!WaKRdj zU*igVrr+XrT!9N`SX_%M@Y%}@F4|KljdO4XK8O2ExET5xD1(cE&rh+q0$1P?=xLmV zEARzj(ZZGRsKKSj2u1iD%3WgvuE3@D7<}>v0uLa8P3gAlkBV7J#gD-bO4!9D&HITk5fvc8S+>R^om1zc7?;;f8Jr^3B zxT{ba=imywcY?)fxB@3BixY7rY&Lk`h)^0&;0m0K`=s$OuE6_IHX0A$3Y^kwaVM_8 z2j&@^dVo+GSK$hLa9@kdaRpA>$Kn!Pfe%eGxcU_2gRsfqt1E=kK>2?axMqgI*Ct|q z7x?)w@Ssq?*bBgYy?;BP0U&MnECcSt{58^a{hu&jJA%1c+^_FK?}sM|bw@Ae7Uy7I z5$`ms4#m76-bsc*TXi|+sV6^+`5L@ae1LGCkf-8(?9}zZ zMaa|k2QI-J)2_hjLY_SY+=F*?;A^vh>x8^^9{{>v-w`+o*d*k2%YnOv{03ycag&hO z!_M`W3;E4SLf)VNybpa7Iyb=2xB7wGg}f1Iy%Fzv--gV$|0?87Yk&uY{7yG;BWPy} zc{A*McPCttrth8tz}GGCb<2H1es2bFy^y!=2f+6Ck(cj7=KGt4ylpM;ppZXU2q0gW z=asj^#t(M~kgp#;E#w`m0NDA_EZ}M(@0 zjkMkknY)qRUm$G{?2Gw;hwx61G;g|1$bahx;O}oect1tD{&oZ2w{{U~`~86n@y;?I z?=L4{40f4Nv#t?p_8GvQ0P5`=)Vp_}J}r0zV~Hb$I(iOpGy0hc=sVWnx&hC`R6Hlp z{lG1#KUbsfoIWtnwV-EFZ~wrYxqY*HyL$Q;^$v_|99`3F93%z?7B24YE((bESqa1M zpTBtFQ3G>k_RkapJsSsRjn#*TmQ;twY6E@s6Kef1Q(reSkY_=D_L|z@vAwmyu~xgj zzBao$Jj^t5Oz6z1L998*1U*G_2YYL)BBmjL*VRaPjsV`m+Un{k(g5Yb=2&BtStzm~ zzognBuQ_JV#+j|v13lGNyHGX-29xa{8yPNFh`6cN%*N1BwT;I&TSM*iZg`K{Kt|Bm zT2d`dZ^DY?%Z$3ZK;Er>nP|_(xvkc~tm;r#W3<+4REOibk!AL5T(oj+ZE$peWao`F z21o17Mw;^uB9Z=r8lHop4%)GR*F9o3s?zbH_E>+8oX9Pywn{`bhfDX?+IXUJ(vIV$ za|zHiE|GH$A?vqqv^rWFm^n1GpgA-)%-j|jJsbPiv})BM!{}<%*`rhB#L_)bjGtw$ z;kkI+kdmHSW2oL(%_>5XPL$EP8+;nVZ~PS=SX+uQjecz$t+f|a>kTI0N#M_Jt{bTj z*ZM|VNJx;0$&i~<8*C2Mx|@SlUvw$e{0>c3_>I5jHgftARZE$tW29BXGZK!ckwhKOYN)52!v3DSA*9x6fCh;pYK>Z}J~(r@ zUTp`Nh^nPV(S{5H>$y-M8X0}VyBe#Skx-x-DSP)=mX4^6dZLpV+1RSDUgPR^N;SXd zZm12S(ypqr?7ly-2qdJwBM`|I*ZBYpl^^`CCv;IFLr$ulw4xHA(13GHSOV zLBGN2t&OziQimN%B#R7EbE zuprMzbs+;06;exWad=yffFV*BipGq2y*{V00bJm_K_kjH9<>!k^kAwW$3}N0DqO;N zS=<<@4jyalxr~r^PB)Sm?AM1dR(faDK=2)A$`k`9LO-G@~M%3>x zHBAqaNLBFW^W)@WuGd1_*wd^>51Q3r953C~F82`eyhd+rxK?E?pEd5tUXI@Js9fiv z!>We9(TXQruhriyPfx^y21Z{qTdgXFb^2ED+gD_9dAJzlN%GQ`!DT56W}F^wfR|^? zRL6`1@$^tmOH^YSZov)PZI>3ZY8hO%#DOLoxpuyU7&(>8r8|f_uG7ktXB*>TUC6Nv zH0RXZdwiDVh-R2Pw>?-LiHomoN6?n#PhWkCq~f@VR$pz{P3`44 zoEF_5XHQSfBvS01AS4^w`mJELo#lzFF&b>)MSl3c(zOLz{Wdt(1E*Yh|PQd9N)o32y&_q5lV@f0DIgRdS^VqSGcrL@pbB>dyN2$}T zE%KdaZ*6tG&EJTO6HiX%aw&4ch8Hx-t6H2^r-9C?R$bSN$vXCiX3`U}V)>(6^R!4|blv(bRGP2=MIWSL9{jV0Rk zqPV3q$py7_E7@)LhAlmkq^a+sO`9}G;#LmK#w$W-J{ZaIF+JqyksoM%~i-ovz^UOYlm4soU|&HB^dAd}LwG$VmIqYZk}E3y)( z{sWYo(eQG(!}MXw)4gQoQ&pa4sCszbS6__@^N>(79x<$J^ss3mO)=a#^)|YK@Ej4} z(ISbt8wP75^i?d%j1>(`qvL-ssE!Vy71ArjrItU$Rg-8)P+)*Aey3%SkNiG;^zGnvmAk7Ym8 zF@E8=>Dp4#jRX3+51W@E(8lUg|{cKq20pYjR}Z_~?0h2{o|sa_=1*+#xZv+mN8 z>>yMq!H%*~3d<`Z*z-9*`zVz(!NasG5W%1Ghx5-*6V@V1# zW&89dgDUIOkEitSjTnq?paltq-oGzqS*sB-Er*n8bf~ROBrS>aM~3Tz?0YaJ&PZ8C zkWD@+ILT^^P(R zYYZ|54VhWggq%sou(BAG(b|kr{?e$k&ly2B;~s*MclwQ~M0(eaGtL>zB4qWXseke) zt5#Msg6t8)&6Ux>-HJMTkkre7SZiekE!oP^vH??<5=qXmvi37vu?BNSESsyrRywZ1 z7#z`%Coj)g)_xzBD&&M2-AWp%XnjOf%o#p3-3trd1-x;w!YObP>DkpW_60LCWLT+u z@_i%Lu*^iKzlFKpm6-btwTmY!u(=+3jFOxW zHq+DdRRi$@(ClT z8b3tKfy=lhbT$OA&SI;2bdlxcGZ<^9xs16qZla}S^s*f~k*u>=)aQjBMg0|-O`=I;rCQ_ye z$kz~~5lM8=&fo8%jr5)yiB2i7yu`PmcGuRkbt}f!05@p_%5^&>o4M$e>V?f&!~D%8 zlL{x|(}6~$S&bL!=XszuhVTt6UKqk@B!L%Yvj)_(lks<+5_U!ppJ}ixJ=C1kuH|Pm zQ5DP8h?&=kYjx@ldah zL*htYQ+hUb}Ox;|2KBqZ}cD#(!h*+YPLE*q}_|B$f95KlB;oUvlQ72@mR;sJf zuCawSTE^0>1TQtsHYKJ1?8Os^{ZVmt9MS4yh*3)q%|c#`pPURV)Yj?UsqB+2BN_g@RxR{^#MK1DTfnzVMkMotmKI_B7^(}@ z9ZgGM2@t*fFJjXyaKWfv3O6GoWvN;UUy_&9Ysc&7+AR6!ely&H7F_es(dMVOX}JZh zWSE_3`O!6_BgZr;X0~+X5*Z7?qkgBNw{bU}&#G32$2Bk%gtPW&m3`|D_BfYorJ3?h zLVgkw--8wG8*#HAD^N`(?U1ZQfTyf~BU_yxOlq>1o878mMNU{}WaS*$%h6l;9KS!m zK=uTBI3b52OW#OsuwXZ3dp+F9jCo6qr1(3qO)ZHLnak0HAx#>DT4QblWIZb zE4{B^MN_FEO`6Po5TVpQV{)B%-YOV3bT7$A=T^v!&%=+rXGorRQvYjk7|A$Yq)>C}MkBM$)sqynfA3B@L0u^w8>c zGQF??7Y z84e?$I{Eym)8mumFZ)?tM$U(6kA1%5%ZQ#tk; zW~zfl6{GmxRaW|*o$ArH=6pT1H=GHix=Y#ekT`F|VbXYe&Lm7zy;Ss`V6ACdkjNHG zTCbA2lGNga>ur}+Ku`CQF5XP~40^hkELJaGuX>toY=d84XdXP>+sRhFq|SxPlw>$C zyggfkQo*EN`5KeRdAhgP-<-v_quP6CsX?l=qUCB>rfQiwWx6rU@X&sPWL%r$`JgH@ z`(}4_`J3iMH8IGvY1E(>-`7X@-Z&?o@|h;Rx|F4d@tB5w2`N+IOs}K2C8l{WL@yI< z3$y9gv`E4YoKs`TN*Jc^G(d_zkarM?JSJ;tn3`WrQ=oP5Wt5yiQr!?I#|Rzck3=FFQIT)u7vJz8RZbgha2U8}`dudplIJH&%dCiBS>}H87jaJW zcIewQ`($KgER{gT3Yrsq#|hFV zCJ$avW{$E6O_!FKo6(9s%oMcj8&^!n>p=%!j+^?TmkRz`SFoA-8r9J^3grdo^cg19 zm(r}8RI+qvLcXqABWYa)IsYsN2Dcx5`|uewpF|S5!ZQGig?!O#eC~mTtY>+>RNf(=={%&B7*qg&)>?OpDJ2$tMzCJ9@FS_BAb%2vN}rIODOxj*%;Z?W0xtwwkf;x?p>3E|w(Q0UGFDEWVzs2H>@nQpyGqDV)g$VvuQMg$z|owF_yp z6vJ(d&~~U0&j2}VJDQQuB}8RqN`@!MlpfFR~2w!x3a*~=2hFFVU4NGrs(7_n@Le+U=+cZE%!-Y96yUOXengs?^^ zmeaF&_wX(fyikjHhGMz+{uOP<*8+}c zWU$V5u-Xc5C?w)&MuLAHAg=i~K!5c#Lxbsl8y%g=P@P4v4^;W!Z@5YghoS8D{8^s)ac-tb|5hIap zj=lf#}IBj@Qx5-&!f&BphpZ>Y@zO(jrEX4| zaWc{a*vZD;Rjr4hWBFdQhM3X=qdHi)uhv$Hv%LH&%)e!G9T;AAHM$^VH=m@K8R_6X z9+A6v=WJ6%I)NGKm@Ew7!z)|i!PFvtPP3s;8i0Yc7|5yB4l>@t5!CUqVAj^9BYU|z zKB1SCGiQ1E-Wtt=^mq5A$q5WE+cJ?sv$rMUc?~oq<##4#MmnMJ-PpnAmvjO%=!{ld zqXP}BM=~XtW(F!T-)oMx+XL|&hxHT~k*s-!Qu`!qIgzw^9&*x_6G>Cm&dF+eB#F9` z6C`pZS9i%O)HX^n<3?I2N#;i=%p} zsE^Tx?b{y>jLoas?CRhe_Vg!oSRx87eZ#z5HJ(z=u(-TlbY&OQh0^fmA~w^bwRc5v zO--a|(;R)H4`WN8A`%a5tLIO2;Hy=&O2mn!qx(dOx3czb8A=k0)Y`OEZ_jRai!+D% zVpg0{&9&AHK|j_d!iE<#qE&p(j9tU$e!gR@I-HgBj9{;Cn9a~T1DY6Qh)iE`qIYd4 z8!@d;SDRK@Kr7BvAX_pzCV%$zN>mD51$oq^C&+ir(+$R4x5(J4Fq)Z!DC>={q z<>JL}&ZZGIyi~)st|bl}x1fbtyq@Z6oWX?|j#cbyR_u~u6+~jGoq2s&R$j%r-4g$S zU#eO5V303se2Hi7xS75KHaY;xX-QiIG^QV1ZiGGEL3PYHT6%wv8^yJ-7!=DfbCp#wWGj z9Ulm7)yrfo98&J`ketUuys>&*~Dj9;D-$BR8A9|O38{~{0(TR0}NT6}q+BrUSM*h9$}f)om)hd^|# zWiIPR%}K=G+`y!Gzv0g_nNAj2MTw?o7xc{b zr7|_kWm@en`W8Sh%Ecnbk${02bdJRNT?Gf47-VoN+9-B#uyEb36ayzn(;IiTeeet} zJ3<@13JJiH2uFC?k>8#sgZ`K5!FUtlUnavn!aOJ(#u>5?;PP z$P1O(z$4KvK30hhD^z9!;}N#!ET2{*leK^eVjR@l>26qwGVLwr0R}qd0qia2!OQqm zn8ARlQT%2n&v2Poxt&5;6il!>k?`_$A}>^yf_!-J3V(cm*gzLllGMw0rQVem?3=xggpZD^63vLsqRwu_{?E@QOSl7gk`0-~=n zAxTc81B((6bSQ7wxr$|0SWd{_7i#*M52L6OG5%WNzT3^DQ{H1ASdEr<6X|1aVLHA+ zx%?n)OOoTm>06|^IRlXcedupY@h83J$@sS0N^IyOLkrUFq9omb9Mv2b8CeKt560wh zCYU*~E9Tlm%_1T#R)`Z!6#7Kn&XQZi%5xCqDbLVhm5MBi3RR?M5{UGo@^audq9T*MaA!0lrh?B9$Rbl)JJj-^-0zl9jdsrs*^uV zl&{%q>cd00O<00Wr`oWf3!2+(G_ZjP*`B!)@6$LMse?!-9$FN{Wbdf1*OnG-%)x26 zHFJ1HF8z9hg-qpn>+7v%gAS!E+MT;-UWVv`m`C@Dnx(lLu(cplLd3(Sxp~d8MkaSU za0^nWk610bn>RL!K-9UU>*Wnq?A(H1*PWP}VZy=|Z5evb7M9GT1oZJA88r$En+2o<&X%;<=(SY@tT?)LQH6?RK`Qu@7ol z+4RJpP*7ZDoj;l8tu<3-T zC9zWl?6ok&(xG8244-s! z827}O6KrD;a z2N4r9>0%)VBjaWtZBD^NLyLtqje?#b2o8MbI}!?_H4^s<~Y{ z8k6|K4<9{M-FH!2U7ypy|_$$chQ8 zDne|xM2h{FN-^|KDX#yS5|i&$;zD4%pDQu{J|(UJ=KNBL-R@N4k{>Ct7qG*Rl{gK* zPr&slV9i}hJPa)Si4r#h``@j^`M~x+RboBx7_jMUN-V!tiQ9nvzYabyd>v$f2Y@-> zP~uu(@9UK~9eCoKO7z~K#7)5Y-$HtBRAK~p5SagMC9Vf1-lW7Cz-D08ca*pfn02!f z*8vxNR|#>85^I6`f$85<;$mQ@Ta_3EehqYgANd0&-KNA@z-D0i50tnAIN)|AE&_J^ zA<_@rcn9*fOp3|xlHzROSz!G!Qrz)wDIUdjA+Fahm*TVmDbxxnMu10w{;CwW15;N@ zaXE12AasGokQ9#q$JC^_3)pS76sH1z28Py1aX&D>F2xPN5ZjcoMjy3HtF; zTn6m20X~2yfF&Ej17@6nbO8IlM~Vx8olk@eunAcCUMcPa=A8r?VDkHJw16X*O6gLC=eMyRofSoSKJpncW%fF0t z0&}iFy#gj(iF^a%Dk+A62Z8RdpiF_uSEGIaJA4&o1w08XyGDwKe~NtGBgL)2w4b3~ z0DInxv;*qrsDt2d!1WPe;eAL8aQ-i(*#3UhZQwDW_m`jp=RN@6zmlQ_bpIM{1u*G1 zD05&lu<}8q3ApLE$j?J4Q((8>p$-7zVWbOq259^q{($~RP{zRYe?ol$_Iwm|3)u0W zaUTHnm=q@hPXSB+1@{w}^Em1laKOLfo&$S40a@Tl;D9Hg4{ZMjq!D-snEw>Y9@z7b zNGGrvIA#;d`rmQy{v^dH@C2~*Kcu)9ID9k82$=Yv$S<(d)36Wx30U!8sI$Ofe@2}G z_V^2I0?z=Wf5rU-COw1t0EquaK7mJoh0o$10h9lZIt1(>&?W+Z0){2pCg5(162VfHn)5JVA-`fbCwWL<@Kv=-*L^TY;%BQsOFL zkDbu20nY%dUJPHrj<9v@&Pq&r3EECzGcdG^688Xyy%gyH)E>~?6@1{YKBe3_LpabGn=p%spfmsvbADH-RCC&u? z46K=?#6GWw&3(|;ecp(68Q5t*B~AjK0FHT+688f0 z_D9@pAa2iOFxI0E+*IBY)Z0kCHm@^K{WJ5^c36OZ5m>koWeDuK z2>medCtzt0`aa;Scc4sr(GLTU0N3@Q9`%C`JPV90MxKGCOOR(^@>19ac77-B74Q_W zd>Qf#On(>31DJRW`~aJQ74HTQn7$mghTsEOR)a0z@Ks7&4eY%d_XgO04elTC6fjgr zJsVWwAzTG?de-7O0Hz%aAHbwxCC&!KI@kps0=gSY+yYz%U%L$;4S-mIIt)Av^j9%f z0S;e@G6eR5{r#I58v&1vpgtT2ePD76zJX_fd)rFP7)2cdCXXp`E-+y|(g{2c^dFCO z0aG{NegZph#Qg*|0n1N7-hqogglF`0)Gc5$u=c}953uwMlmjs5BN!6_Q_e)%fqgy- zKfwJTLz$cfU%*qqO8o9U8+iZ@`#A0uu-7^83+(g>+z;RhVClK=3mpDQ*afDXhi4bq z`%}1gz%J)2aVqdEu-|8q-cQ3mu;v0h>p=f!@LT{hE=0b8%OJDoMJN;C@y~&OG134` z`8@6gu;(SHFM#+0>Lly*9Bkx05 z0BcT0Sp&zsAMG5_dkV@1nD+rZ_ot#B0Q-Ir&p)uwX&4U!lW@OIfsakVimxL5z>I59 zufK-2=jRx&0(<=ec?Pz-AN31(09bYp#;d@*pWzw19%=X{^7}35eHZuUhwyy|?)7r? zMFUbCx(fZxAo}8Aj3M#&MI%xixgLFd6a6r*&z_9_;Fh=^C6xRX!Tnk-b$FF0o1Z)D9Ux$7dnDq_x>%jik!#^M!9Pr!b+!Zxt|_aOsp2G-t&F$S>k2gnz2!0oUB?EXXK3wRn>bqDMK zvwkGS)xg9%F$Mvi1xA02{vKF%7y5f(&QCD50w&!J8Q`zL{=dLD_W_I_euXsu7Gso6 z$lJfcAJFqRqzhw*8*tsFg7#p0)Gc8C&Uo&gkGlUFJUg>cS7)Q11Dk<6=b)~<18vy? z)ayRn)1%Rr0ux41-`c3NxK2g=ybN{qmJgtfy9R9$>dv9t3(+kWh=pR2=n=i5PrO6) zi^XDzI9emo6RPjM^n)r}7U3^%aAwD9`6dx65 ziI0i1#mB`t;uGRr@kw!>_>?$bd|F%}J|iv^*ND%Gi^S)|#p3hg67dCbsraI}OngaP zF1{?T5Lb$;#8<@C;;Z6o;#%=_ah>>vxL$ly+#tRsZWP}ZH;M0vo5gpo2 z{6+j#{7pO~{#!gN{w}0cvLd&W&y(BB=gS@B3*-d(Lb;=Sk=#kXSne!eB6pE5mAlH9 z$=&435 z$MP=u6M47%sk}%2Ox`PhF7K1SkoU`9$_M1Hcwhj^%AvbvR|^*wc~`o6kN{XpHWeyHwHKT>z9AFI36Pt@J&r|KT{GgVWo z)M~Xx)zw;ctQuD9R6{k@h&oQS)TkO$>(%k9tv0BQ>IC&3b)tGNy3O~glhymxDe432 zRP{l1n);ABU42-cp+2HMs?Jg$Q)jD>t8>&R)VbTL7KCLcLpHUa8 z&#H^m=hVgO^Xd}yMRl3_lDb@dSzV#7R9C65sB6{N)z#{&>KgSmb)EW#x?X)#-Jrgu z?o~fm_o-i~`_(ViE5)ATRbrxewRnw~B=!=o6?==@VId z4iE>5DdHe8RU9m)i9^J6@fLBYc&j)}yiFV~-Y#Z{nPQfhE#`>1VxBlc%oknaNO6>S zk=RkZP`p^|Bz6`r5xa<&ie1Ia#BSo{Vt4Thv4_}BJWp&do{zV=7l;W06{yfwKd$=4 zzpAvo{x`*2>?hP8R9UP2q~h)NCPgjxQ>v`({-gSLwKeVcpOkCCH>>|tPpkh@e^%Fs zzo@^ezo}=`f2%FG>i?mrU4K^nUHva>+bgo7DwWE1mFHEquROo9L*)gP36&RCcC5Up zvQydI>>dsSXr*}L+( z%089XS0-29P}#Tg#>#$`H&ynpyt#5f<-p36%0ZQ>m4hqODu-02SKd-NwDQ)a9GteNcbpe`hbWxN>x5No8qelYD1oy#3L;Dshjr ztm68lV=8H{^zO>?%KyurX`oWA@ZM=fWy}53%F32|sG-XLKl`Y`3h$+Am0zk=m9n1d z5%o{X^j43m^8V_d)%bd>$JCMHU(}X+t>3AK)$f(-yB<)#Qq+I_TKz^nsD7&+QWHc4 zYuuTpD!};k}jP?*w%KY9lOYd*S>VDDR%r+$yN0Gw2CqkA&opKTx zwW~c-vM~@gdj&gwmrNkpO-}kq4V*C&IY)#;ONfoN2ciVIpAe!T874VxoJ2r7yX2qj zz0NG9Q{?W5W+J`>UHsPZ1818r?KUo{Uw&!D?Q&TEbj_}sg_uYV)ebs_83_tReEQWZ zd9mCfqT66DOfpngM>H$3m|j;~KT(Y0Qe_f>@9V`xnB@<}M1Y5I+G8q z)YMUp=J5?pG|!<)4`1Ho(nxvEXQsEd8f!gtgJIMi!7OcY2J*_N=C$fNETFq+-RlVmoDh09a>m#RrE;57i`dv*Bl)T-54^|u65PbGuwu)i{6lt zv|&azOA=6hW{1_mkoIJ=ZiZ9Lij|l$x&{Z)K?@l&D|AhL)XRrma2fkED?@QG+#S=pq(}v%f1oS!e=n%DR#UI28TyBAoodHT zaYU9KeZsnx#e>3AV}Hh}u`QUky?BIrL1)ygF2*mU5)asr>lOpW>`JW;+eVM%^r<|3 zIQ6`VuSS~;jfn5_$V}KvO}|j) zFkpLMOPF763=Lytr(f-AtU$E4TBl{YDFa7|H9Rp+2FluVY-%`(ZYz$0beyJHC*^-4 z2-7h7?bLz~+HVr(BEV7d_20V1H@}*zTh(>_rU55Px|-2g02M1!>0Xiy?mRqFtqBX; zIO> zQBu?B(OWly73Ij3?qY2*F(Nx4#WCHf4I!6)J+ZG4uuNNSf=HU@d<}=1ZwItHy%d!e zdFoBrw%SBQ?~)cwCO@!Uc@XQijT-Tz2UPbg=sNJM(Hc{H0T8E{ywjaw?+4l!{YSl}lXkyNJ}5Oragi*&iY5dZG#C^y38B7p-4iRg#0!7#|&FtuNLl7BAD>RmP%F$8J` z{IDgE5;ZupO_~wG?*&ylYa;waR0RA)YfjM}ktba{{clRDIsH*fxmClatH(KKvzx=i z*nR*e9m3|HEc}?;uumEO?rNJ~R0v0Obz}DI&(9wcV_dW>O6? zgM9bXgw?gWI1Pv zSY&tH1U2FpMTwFXC;tP?t2_AHCu4B~M@=h>v}n|{dJ1<%67)Nz#W^CWBu|>;-qpNmo+FoDlH~N%Rgz|^F%+sEC%a?IGTsIK zbK-v6I^{bEN5=+W3{#k*Ar$1OCQ&2i^z6H#`|0BjIfAWx1v|FZIk6>lq=B*9YOldi zhGqp!D-jje0!+#hoAsCd&0riGYH5I`UwQDdgFY8w-H}-Q>CfMzAM|4HrLd=j`n*ND zHwKq}Bia5pHq|YuBfdQ)#7t`%lbjAU{4COaLuUlE9r&U#Lw)sFb4+L1Z#tG!JV^=#N869`l& zAkf4l;!QJ2}l=Zg*~So zcRUC>8uxB#oou9Msaut@L(?4_aXRZG!&I+rvMpl~&7s7k(lO2`xJ1Yq=1q$=`lRusYCxnkBLpKZ9v_xBoSrh(c!RoZ<&`#*-`IaI8!e6@OCd! zEQt;WuX`YPb-KzR@v-!bDszVyU!FJdR3eS>M;V+(pH4?pK( znYJgkzvwMdzaWI)TRx22`-e8YUDKd0=x^!x>>%q8&bIxLvtj7y4D?ycsXTQOrvLKt zWye)BRemltC#N+Iotqt_2kRiP0)+(i&HBt}ZwZ66II)(H-Wrf;w%XdJU-9Ppz_UXT zD@niTXlAd9sEY0kW=3Pvg-$Vla6DzhD`q89>F{Csf@V%<*?ag7N%nb#`h>kn;uMS?9 zUP)1a{x_-tooLD^;TCxzkP2zFH_pqrw`|DLcv@R5IkuCWkF>0h&dUo?J3=X1Hqpwntw=UQd=Gv1S-cUNwb+5GSPZolHpvq9ZG<+XB&6 z?L?ZDJYo+aT{O{dk8XtNlxDYpQ?d=K!+DNI#&jS!M=*CfqY*)Yc0O;>h+zggK2*_= zkpuM7>ur+kFLN7^MEo`nbKuh)p8aL#X7Syc+5pOuqwq5e%^h+RQfxkxIzKZPRV0=l zsf9yd^c1`?i_F{pD51J9010_Z=Um0sO=aLFsDRvIRk5r-jLMPdP1;UD7;U_3Q!hft z+lLFlUAb@IMyF@7?IolEW?OA zs&AG(t}w^R95q-+Nx5_Myh;lhLMW>wLG65kh@43fNLxIG&pX`0k$RC_{(!tlq|;e< z5cKgT^igG;;J!TT=2}-QGaKrEyN2EnY@H2uC36&ja75tE- zKfB73%g>>*0yHg0(*d?Uw`hh&=i=rSX;61RYK2F_!o&l zr&Vd|{E=tO(D;um<4WePxU(ZNoJNbKUbQ0n%t=-@A|mO1rdX4?@9_Qr8ORWLr@1E#nJ)^D1{94-g55$ufK zcieBkbTlTosj--9t6V{yK6H=sh^ExDKX!#WLDPxGK06yp zg{ejbC-l7~glzw;wjLV^ryi$|m|g%0PO1gUW5N1$~&?So0V z<4riJNV7F(Qo=<+|#P9s?%g2 z5$rUI{u76;xGCjw?MbREmr}RS~?xe3}m^&G1>HA8i>4!E?KQNAU#X^6^#X^**SoEmZhNtz# zvZNYU&85~a!rS9^oBeP4g&9qwTf#a(Em^-Ph-Bz7sbtezRwxirVQIC$X%y|+e)u*m zzJ9FTH@Bd}m}aKEz{2+s)eft^#GEH{AN2R16>Px z7WMWI%$eIaySJ;Se^Kwih^{sVA<*f<#ogUS0UrUC@0WBDqJ6CiQc*oBA+zcgN$`D? z+=bgsnW3fCHL`~`IKQ*f8R~d=0gVRq;sGz+Y!1gEP3@jXtZK>Z$MkB+uFRAUH*9rK z!lmXD2bj@^!Gsg-(@c17$!tQVM>&kDQiIXXO|R*;YU=M+G=mh>91HK0wnHmux&4$y z2BpJ}DttuKy{RkJxg|ugmkucjTv)L(b8RbcGJ4K_y zaYR&inl*^!O?RK1m}>mzZc$-FX>6^eG^5R>MUCS%easC1s zmD%h@&9mH|)GSx;Of7PB18whha0Dv4^rCcB2ly6NFN!AGf1xc9V|9qqN_V^9G6)y8 zx@K5x!)u1C2Rj*h+7cvNU{ejZ5jLeqWo9?wV!S|&5N+&A#lh;3TyV3=1-&e}aWRIS zm1bLI%*BwnbbqZ+s1`C0R7gD|hPIR5k_YY3IuSMF?Nl_{eH%N>?7=M+$QzIMO63zP{_>eK--wR93YL}|H7$PsZmh+2 z@y3j@y}UuHxT81aMf-YFCT5z$?%tFc)jLxa@u2XHzfQw5(Vn52`*QYlv!pmj*IR+T z9h4BQH%XdN`p8Rd5V7LnhT~vto@eNn&LWGJY!|6vFEUS%p~i)Q1li#J`7~K(Hd&Te zk}^%sq|JP#3nhpY&``omm-6I-iapX11$`|gGfOl*Ud+N>EXrGA2YK4$6F*CIdj`l< zcp^24ia&N~_Eblyj(1i^EZ$yggL-dCB!X&K%!4K7@(^|9+GgR757_?2$!|Q?$Z4&fzZ+o^kr#Hc9KetPWX6RkroZ|L&XJ~$xUgXzP-3Du}X?A-@l=z@; zN`#rQ3@2<84fO_w^<)Xx2Dz{|H{qu{Wg~WWM>vabP)2eI;P#D5cn_!Wdst~ah@d0Gq~+>3FXtAwO5kX&ZQf3J0-7U z&8J3+?M+Xz&scuRX(~c5$MGRo=Jx10Bw{305FYg`UScO-UY(vw7)sh!eUqbY>+!9M zSV^+%zIL7}L$bTuQ-=Ls5|MGDUXAT^_q_GkK*jgF=NM+LDx{Zm=snKOw-q^dS!-mB zG)zfSjX=+5;$%fKZufg^(NTG^P#TDCR=5?6XmTo#rj}+o^)C5H1B{FvqPiXP1#vK< zmz#9=e5#;l@7Xg?>8H6sQ??1iPSQXp95bXHSVr!K*rqVYVms`kWLe*QCfoCIKG^@A z!kC_(hjHfr_EQ+MhbhwcB7B>qMuR?4@|!%j(dlSL7fB&fp?(sdlKz*R!k9UilXVSI z!VNuF3eWw?j9WT|5&Z$;t?)a67O}(8jJcP7408s|Uecm9^YsB+DM}8+q{geL1^NFw zg|TeB`G2P{W@^m;ox;eU;qp@${W~QKU&A!b>lwWx;!T*123!M7920RStCUXAdT*qM zHI0Kc9oD9(i-Bs1LvYF*5-XVz4i3RAI;1W`FU3L78%s-vm`JR-KR1L?D;`z8_SY{lB#}|8+%U&C@{Ji_v1HIzV znv4dz+3+}9b5x&Pw4WrMRDW2^pAs%b{>iZPo`g~c&E=&`lZ-soR4})SA-)wxk4xkW z#mIHCVR$A+P?9CC%p(PL5OeW@5)o9v5H-m2SnQxcLtA1N-=CW@$baz1WXbzC4D zrihzBQ>#~7__S(4NoPY=%C!#37V3k6A&{_qM2=NQHMB+ zoW|vVcs?bE_Ub@Ag$~A2qopB?hOhlTLX!7tA{dcWnHteMs8Y5NGbu6XVvrlhYB#7rWE-BLD z+c6dlz*W67|^ak04{ZEOiL{lnSxYq7VP%W$>Mp<{jCW4ZJX;Vj&b1m$4xT zIElUpCwd45l^M2}Pr5XsqbO0#1dAQTs60}Xjr>r;HLv#EBG*kiTqB%`DU~rESGXE| zdCuia4=1p^UC&d7WO#CHMw4mq=4ORiCGtE>yyMNGt)o@>gn4e7rG!B%b&E=-nsu<6 zOQwrum6&r8tr9Xl@F)kg!6vR%!p5BkH%%H*`H0I5bf}ups|<|`Ga8PSFA3;IbI!pe zkxO;-NG5g0dsk}*q`VCpuKSo+N#>){wULy3v@9p<=m@WnlCa@2CHeSS3ByFuN{BX= zRzlTpXsKZkeO#?X-bSWC?M;;&r6q%~Pp%@?qqK?>=P@@hvj^33>b}n5X$t%%vi>A}m6wBGi z_DU>d3%<0(ZM3h%Mp+r#$X|(cd6Dz7UKGUwb0$Ew5y2Rxt1&V*I=|TrU!Wl7Kb#i6 z^Mi@#9JJ_hw27bt(G(4Mt4%a8W_dkz@vs-_o?*}EKmrUak>~?3?;q4X?yW1r3W;5rd|b{ zT8oy{S}WPlvl$*p(fl71NxtD0I2}}Nz_O%N!Uy174%iUQxnd#AQd3DFvy@G1fM}l< zh74gC;>^0BW{Fa|ILwM$vKeNi38ye;iJ9c%yR{OHI4zCl<=EoyK;_}j66?^R{Y40P zRtsHK(A1nXMbL2p(Nb$Z{F#m%R?3YAGR|8ZA}y~=BL_YR^13!$T0zUiTg#L4w*Z5p z{Idc^G&2x)dQ!9a`L$)Ps zTH>F(Yp7qjnrq4VTLWgUUPSMuHWM(A<{=vITCuRZG?fmVq&3B2w-Ll5O&05xOg3q9 zJS$-5!iHihf|^k&nH_DmzBpQxa3B3F9#aRhiQVSz0;k6dZ5fBc6BHEEM%BxM5l_*1 zj*dZBFqA&cUL1@PLx@UOFk=VpcwMB}bY*N*UJ5RkVe>JnPeSqp1vk_M}-Se3s_k_?5y z6DQAWr_u7t80@2sF0A+&&{pCnK$C1pJ#RD#tQXT+c)ger1=$O%D574W{*FfMs00hF zIOQ?h+~2UK9c|XwAil8K0FsLvG}SOPuU;Ew_iPM}PjVAXC_Y*oV*O{qS*AD2cq8&VubdK82Y>*3-^e_RiRhGFme z$cLrziUc#DX3_(y-f_)s+KiETYiX9n8?&IL@h~ii^nTW)Y_dAP0Z3ngAqqCOe|B-!g%)H z=9Wb>%&3@qmR29q(UA=^8YsP-IE!+aQ9{;&QXKKnOM7y>cS5hMp)*C}##{IJdgK@N z6q>9b7ycR6Q{zE}AxFjP$DX=!=SDFp>NRcd}I^;g@<#Zav(Qobm9%lR@#MRjJ!kG z%&F@ZK29%q(ImdJp~Ck;O``vN zifvbKcck;sj?Q>S0y*^2khUZi#w2+|N#C0nLM|xeV`pEu6$t#;K?YqBg@5cUv1L~< zlXYeG`RXONRGG?3s32BIQ6iBqp+qR3>_ljb$fjAOnff>c4EOO(hltsR216-KNQog-q z>0^XxZBtLm4Oo6MX=CjL{c;CUL%9C6iLQ_Zv?cvR%9D1; zmbIssYvUR0?3+J{1v94Eqxc+Dp-R~070IZVR01BgGc7wZiEUx*ONe_obOg_WIL?;P z!4wOOc=x+Ef;BU?MbG!cddQ!AEaS?C6}HfGUI&XV)@LD^v<5K#EX^$%R@s9>3xHg6 zShzzN%whRY6azGM4v}Pz*!c!0+qmlw?K~=IYSIY!*q|lshCYdKHEeD5_2J3^)#6Ty>ll zpCrcM3+Qan(#*O)9?sPHT~<$4rP9{}7QE7XbFogHA`532Wb`Tq9R|~j#nDea8BG*V zbQ}rQOJ&W^+HYk8IzpI`qKn$fsVsIYCr8uZ zP&AnSi;;>dbl{1_Et%6d7p3%bj&k!3kOdcx?t zy@@jGMTlf#&3Y2vOye6*1QvHT63pB*h?m_ojP#~svWjJ&hbs+*Qn<4|WUanwi2I1= zpmX5byr7SWT1WIqZYIarLMU7A!HT9$Dr11<(u)KwEhhmppR6CY|r_I=o1Z_uqn zMWSu+-oR=$C{%cC0IPGbXKuK*4r9C8P=QT(ZzA$Hb4j1qMruQg+}k@Pj@q7rE`J7X zIla%u2R6}x`{yrSc+|k0nf)`x1k2ceXn6R|lko3N2h#t=e+O97)VCaD|5`C&=(LLX zJN~^;3bBJQ|MnlMtsGmucc1+!X5x=C-4A=6A$Fd%KZW$I?mfk^cEuk*0e)`@6!EUv8YvYgu7yWgesm#cln{at+v&e{#{bXLe=#p&#vnq%Bdu4~rTjb67c?L$ zC~-=-EYA=^CwGmb=*$^ER%R;6KuLI+g9C-=ljuMDkE{#v7W<1XO7!CYfnpfwEysy| z?rO@EgI%4Wnxb?~`Ib%`B~gf6O&KyQ|39lK2RS0ulrOp;_DVJ7A5sIxb6;PDM3lze zW|d@I&)1ac(+bbmZ{fh)putW=6F7{OAWy`&a_O6q z#P3A--Ol^vLFc!{Tc=v`Jnzkgvfma@)28I_-oD7!_Nga*|DLN7o#wjmq(t8c&(CL` zOTzB+OmFr0q0`;m0Uawsz+(x39q{VmA9u(89#`F&Iz3;;dm^VV&^e_Q%wh8~v%l5# zw9`{R!Q{-JJg_Z(I^De&nmmQ03g{C|ef3y#Ovm;g!eknE{hZ#t9aGJ-T2p+}YOGm=5>wCEOcLt<&7S{mj6fvcI>vOn2cvqq8!Ym#x2xB`xY} za2H={o_%+)MOZn(9d3QOcJR2X$)od#@9}s?r1{Kk^XT6U<5A74k;j)M9_qm2)T7g$2 z{`6O`f0(yD;^)Jxmi&i#d!_fr4vzVUdE3*MWH@+c8=t}s?dhvB-kyuPIrWhIllV$J zi4&R6=j5sH(5}6@;0w9K!uxG3(GDIbF^}dGyglk?n`+F#9iH{qFpnkO;nw#R9mX_! zW&JIQij-w`o7=M2CjOp_R=ZPq?w$C1PI|(Uw~Br6JiIRJ?>Tu2OZvlC!0SHDD}4fr zZr@hdm#G~*y`Fh`4*G=-o+gKu`XAgUyg}zFoI6FIEw-%$5AM*W?3;MQi-cLN&K|R^ z@6S8EE4?w}(Vf!8owC2j_ndcVSN1FV)MtM&AH0ai<*(D*{F@Sg^xbP)e07?q*uUrt zpOv@8Tc^?3oAq-LYG+|mWb2>rk}(9$gdSk>Wpy z3x}m1{~tUHZ%cjtL!X7iQ*Y1Bv(Vv<^6j>*HZ5AAsov`6uG7e9hVhj>ypmTM_V>7+ zhfZ_!GfjzN*;MI~n9SYQ*Vj&c?kwipyw7giv(afpHoM?!+xmx2`I^IgnH8r0xO~km z_}aF7b!yS(F<;RcrrT6Q4le15UXQ-v2=1|gJ@d3csXA;bOPtZIe-bZsxZ7 z?eLAIi}{TYa^*$L{vOx!e{hF4qa&F|eo_qc!7K0h{FRJ-X-48G=8w7x%nz_bXSc;` zr?-}F=GC29%d@rh?b^W|?&5-sH*;dnw&bsq$Ayu{=c+_IwFQfqN6cb{(|marxBi*z zFb?i1c+~Mxw)JW3;PD-?M}(u(cX3<4T6dUl?PVU>k;dCprqfDl>V9|{`%{Y@aQ|;;>crksxx=F^|iKx&n1yhY~BusMQ@YO zPUDZG%{UTkK!sn6kv%6|X7$@A1`| z4)3SSVs9pBJNLl<-ezy_O17;C(n zdt*nDbBFBjapkVl*OujxKP>-yE}n%B{l!4!PoGTi9C+;XR>7F)iiNrL{X&P{Zz%Pdt)8rW z$M-aJm>sI69!o0dR{QMGcCPY1%{d*#Lfu+#oxTRH_BGT*i{e#s>szu;&%zq!$%U0* zIpL1Sb>BLz)~s`1BOAGG{`dI&beQQ{8~k7u13d!V{MMIWr?-b=3%;I=rKK0;X+iFXvCtxIaqHZp7#GbnGJpm>C z0Igd%F8EncYayftGydGx|5oCO*47~K>XdEsIJIPK@^a*@9XzHVJ+``E>vXS1xu4`? z2P@9;-K!3*)&JMqS;j|l9DO*p!yLzP90%-x6EpklIH=P}ce15B`J}sZ9N3IjBWZoB zo%MoFa+sN!nVFfHnVFfH->RA2na2OCa`*a+fAW`mwtA|ntE;Q4`W1(Q|Iym>n#GD? z&uA47C`5iotE`;*_vTj76NT{mpY?Koj<7R(Vh_H@->Br-)264Eff51Ir4^|NIn?!1 z|K8l%c`})Ni+`_t?S?OPBdj0zPWLWYt-d2HRdi!hGNF_8ee%^CJS?YI@O{p=tE;B| zy*ZjkD$W4iSEUtgX_BT@?j)8Eds8ck zZnYm!a;V8VrGLYsM3nD&ph+s{H>(0&hTYP$FLU1RK_#<<(Re261Uten_u!H_nG#A9 zPO6b8ih4-JDcWHv|G0b=k&ZmnAca-cqSO1sN)m{XQM17aP351LTO-n+$11GODwRB4nnqezB;n&q zYB`22NJ13DKE7lXoyb*?^7p266Zy3#=$ydXR}>vRQ6c3msOHUbE~#ATPWMSAjb2z~ z{Z2jQffeS%IVlmXgV~H-VZP3qX_ExDnD*i?8!3n>+%<<)S__QPC|=4`WBBZ zA4kL&dWhvDLuFAfLj>m`vln@hM&>C-oqk(SmWU-qcP1}(@{DjtOhoa(OH|@c>KmuI zNM&I+7sGk1g>z{yRY?wqBxRw<`(-LC>d6h=7`|MkI?~5t34s;9qGD}Ox$HXk`0h1m z&WQrK47LC=G_Uj!gSFGcT0Wg5P*2dedv8VKj?%@pFhbt@D&C-<*=TpZ_glOuJ0I9< zKcEu3oJ5R51bg2HE8<+T=E6z!6P>F+RM7_7qBiDNNU8(aoR0xFJAR}hcDpoho{kSTQ0`{{@uL;7M-Ac@`n_T{hPsfK!IOe0?PDd8 zyL`H@U&L$b$^7!2;m6&)?VYUO4wMq;&L=8rlfrDeK$zNPe@d~OfcVLZ*va;%t=UG~ z@hQbb-~&EY5%X@N5#$5W%%>|Fbv4ZAh@00ka?9}4G;xoM&y>9Jl}2-sO5*EjmoG{J zdt9Kr+Gi_f)@r47b^v1wS%=00*kHM|KzlytAlpc(_8?h5?;z61gFfHsTZ=50)svm) z_sw5$lDl*#7J&;q(HBeZHtNrn7U?0^^`cl>bo>0Jk~*<#GKPdei@sd3S~RSV?9(Nl zREtn$)K?VZTBDP-xOOgrl<1uE)rz@ZPuo_KPb?o;(XW*(z9Xf1SKVF&AB660zOE5z zM#*H>Z#hg-EG4jvZ&b`?Mp@I=a^7Mj!goZk@V{A6`@McA%1uAweXHc<^S}~{)AIpl z%1WvM$)=)7bd&Jyk{2cR0Fl6VD$;73wk!L?DKc(KF0_u{HE5&uG2g3rEuO=er}b?S z^ySTVa}+bA7fCwthi1(j+J+6#YFGAU_l zqr_hj`OzP%tc5J;6ypu8>q@D7C~NeSk{PY52(bE}mb9X7&t6cmY@XXnt~mW!MavfZ z%{1Q5g!cNMmsHO8MUW8eg1@L(Sr3_nTu;He{!*nX^T@(wMSIh)O6sn;a1z=reqE8) z(#}#dI}px8-93I&@&*G}|DRxAY$G6A{H?<7tTwt`X97t~1Umb>idYyzm&weUe+G#ZnWz3h_Mr+P6K2-|Ef{lK(S4Nefe({FRw(gO+!or(*50_xjv$p z2c-Ll!sEHl;nJa-v45Jh_23#5kACtbg@2W_`DDQsOl}JxpZf2LMW&wh9fvkC4@FY{ zsdyVvGSlE}@!yiQr?tT8i~LH{UQn@KdcGasGyG3sHYoX(4u(aHHm7)ngLqyV-J;a? zv~p_EEzuTL{4LQ=agap~mlD0eI@sjRcam0@CYL)lVevNwJJca2*X7*gD+|2a6)PfL z0J?Be`H*+JQc267ZAZ`=6!TxXq{Wa6>E~4{Qu)5cxVDjhHQ;ZqTJkPRJK46zS|d{A z4dTPA9mG>a%lp&32VBi6N|9;{I!Rq!C)TK_h+eDfg&SfXu)b^9yzzwYhtwqLWw@L6 zRJZb*=W9BMQTm62edAg-le}9!T}XnfGeOjLZG%cL!bbWnuVeE@{4KBRAddQ5Ue9Jm z`j*JA9-346ekh+}IvLo<-=nJ>pI*Nrk?~JAjK>Lbp9c4T*Liclx4DT|DPMtR^ zr0P)ep5vA9+I0|-9i_9_J?`wUE~NU?YO#I*T|9a~%q~q^w1bbdJLt`eZ`K*IB78Sb zB*yQIZjnp2eY`fFHJfxb7#8y(UA*OxL`{6G2RL#I^XLcn{kqkVG|{p^VyytX^f5!u zRJS1M0fAU1bmMsIf;BZgN7v$MZKBnsLJI9;NhL#XU~Z$+$e`y}8r`BKIR61bWVEXt ztCQo*#Rk#Oak;gTfMnK1pYL#cL-HM;%U3)eu8l1&&g6Hj+H%VE#-pR0Ejz)g7-NGmQsFQYx~}Q~XrN zhZU1O5ia*zIMq+)7jm;nZ>2>MfS#(5>odqzoTmN)4h!=-C}ZoF6M!9XRA!+#8cb{{p8WE$WGQFcEIOo7 z_!z+>ZSiR9$;3Seb0hc%^xFEiHa&v8sMpfDKH_w`7CNnbi${M?qIJF<iZxL&cTg^@7E9yC0a=qQ1-BjvQPd_0{R*(L2gf`};(vGSj<&t`$2YwH-)yoX` z`{=uld%08F0;L5jyvX4%gCe}powRTplsTMy@)|OCA@|>l3 zYQnCH6z-M4mzu3Or0{7c^kx}l*Dt78l+hWjR_xYT5wrs2H0Ko7C}$?jD;#=Y6sCJX zo;{@xw4I++$I(f8Z^6l0%e#}-a_V;Oa=+w>=lI@gU$KHjbYB8Wr9-jtg(_>BkU`%I z#ZY%KNn@?WU4uG*4Juwsl=Z&Iqz21~PE~hx(W1$T_LsY<H|;?I`NT% zsi>lHL8b1^8jG_%{rXj|MV@RLcYv!`G*796bVZRhF6y*ky+O5psm%)Kft6g+c@caK zI_WGMv?$&NNVj6}sMAiUr}0GU+_|Ko)1rAdRH1#bpBb(<;GT59&W&R6D2{JdJU-pE zmI6DNqa4F(86$?rqG(E8E9cB4Z5t!@mdJl)`PvbuP1^5B1WA1*dVSs2Sc8MOqclv) zM0?LA8goa|rAOw0F{me}#+lNNgXR!0>KE*4Og_cxSE}OG1gG*6lK72|{L%O-9(FW-N$ESt!_ifL%h!^VKt>8?;~~aXr5al)Q=ZQpXz};-SU+df?^Td#Vm7xrHpVlFWkkEfy-U($ zC)Lx7at@H_J|$-+hD4tDi1W_(ElH#;*5XOO5{fhLSM01Q7lFpA;zB#@{fCkfkIP+m z83p=M*%0diDvO+0C<}Sa2M$@(A!ctQJ&?b1*qS#T)HYbDe2DoV7t=AIEGF~8E~ews zUd;6DeSG`*5R*xIGfod>8q58xuW#>Sdq+96hYoFH_)V<>N3oRPoba##t+$dbMzciE zs&Y2#;l--v)k@par5cwRYN{$;OSI!YqL8knSxYIVp<0VaDzb5{=&;egt}NoO=keHl zqJ5M>q_MT6qTOB+Iwu!s%%csa!wjRY>SLTd>WHbSjd)c(I?9&+Sc6!EEY5`$ONzAh zaRxVBTM_N?Ds8-zQknYc+LA_h(xY#OCf5E3a zXfY&2@x?O?X88LM^or=2DlNEb0i7wHWsst*Be*Ghw#wtzC|Nzm+19h$^ZD#KN;G4q zB&FU3>Bw_)*@~k1+So!jYf}Gv&0R}rNJpNh(H8ZhF|oZN((^TvQJy9yA#HqtM(WPR zxJg0z_ZOzYqNX0Jnf}Sdx&gACFIHKT{4iEiL-{xJ)K~Gm$d?$btiv5k zjG<0)q9;#wG!b8_5~o_TP3mt!2M0|=>1v|e%a^%$h8akC==SU74jz3(=fX<4XkUGW zgFD?_X)Fb556ZW`(!rcb=tgsWrcVQ=+Re~A5091btHD>f*m0=fB=~9vbysLr0oZY0 zv=^P2UhiPi)Y=|(+zGT9 z6y?9cL7ngP(^31~H#)c%8jY}|dW3f8H|acj8l$;*@t%V6&u`XQRP(2QK(SmPB7KX> z3a)2BQoU6p*~TE13T3$8rm}zw7c)U6%-c1l%XP=3y+ft#OqZ$A>snxZ@A2E*-{GAq z&DbDfO7$+4Gn;iA;Zk|_Tz)(8Zk=XsLt>jor-}EdEcXT^<{@i)uf~gDZ9wzir?Q+| zj#NjGWbapL^BIp?(_FEXg`({bXe{@(Cgq{i?FUt!xt>j}PUfU2{dT5@nE#C#+(r zfcNslFGT+1 zlNyU!3mdSQn*XUGs~chcKos}slGAEa0d7yfn2}0^Zb&~U@o*xdNkl(v9k7SfF` zYOL<~O45l@$pTLIU($(usg;*NG}<(ANfR`t4SZRra$#N!IX$|``Gl|N#Jn8OffRpD zq@`a~nOk`Z2`_1f2ll@ea6zJv9o$L=aX4c-=mh_S!YeaPrKT>Jb z+a~;FJ~|Km*ga{+UrzGG8C)0iQ1evg38N{3y zwx(bo`n5sZ(~7|JL}^^B`Wuaxwo*E&Q<2*M+L5r~;p&b984Q7nU39aZ~3|{yS zk7$3jX}Yq=zaOaN`I|xGN@^=y5)+Ype^-h0#MLr)F%9YGKOD3e`iUZoe;UlNOgyR@ z`j<(fk;cjZ-Y_5I*`c_;^4}`gdYB^JBapWI$0Y4dLahPp^#9dpUFuRs4@3exqM^*e z|8ySR>D8M_S3eqwR}(~{S2&m_eig^)+EkYdNWydkuntmLjt9{(aV zxQd6kH8USXlAGW;ri3- zx_J>Y@hD?_y@Ppn?rbM(Q|;hJ_)8PC8yuRmqV{_9*f;NT*RN={SaO~8d^yhf9afNv z_Nj|DOsbVg|8J0M$y|B~d*bj}SD@zY@LZ}P$uc$h3Ie})!=Y6Dl!8@9TO=_JW!H}| zXj!Wsn59L2XYv5i(fIBTZi4cpxrcOYkn>#yTy|?EyI7+{EHV=HRAFe1~NssU1H!?RjN%?Cldev_l zy4)53^%hR*?zBzs?MHXUx}`}CesO?&=dE1G7&K~=uPvllXTVwK);i1a*~B#9 zH*cfU=+a=cwtlR|i(u=(Zysmxf=?e{$2(qUjd-@f34^$ZKbT_}h1jE<>DlcLCqH)L zKr$-G3w$YxYIjd6DfT!Wsm`N1v6Cwf^;WWiAo?7=5EtOOo00 zK)iN96HY5BvzcDi*D2r0J`aH^UtX+`PfT#tG;=+}TzdE0GX z*4K}yVjjxY?WevVuVB7>e>UkxN3Ti5Q(1GH$M0GXim&DyEJ-Um= zMA`f4lF3zqo#i#n@T5CG(v%sKWQ2qL4pe=i9w5T6iU}Cqm+?iG42OWQRgCO-S*#ME4XIx|qgzVCgqR@9^&8Y{#mE0iT9!GP*%fzNi z?2t#GCRVocie&_Pw5k&6V0?M#Zp&m|4!WCZ%wE#z)mk)F$Ki^^s|!3)Tc!58-I_go zN$wTEj&g~~D|WFk3jw^2$t!lTFdm4QyC#pldk_u9l0B0~zFmXKzn$j}n_toPO0&@aLxVwRaS81iPrA{mA=QgsRLf)frU);s<=p! zjwkh%upI`SjUH6dc$N{p{z&Wxm12!Ycf1cai1`4u!2l)AsKr#Il@HOWJgrHCNwpG5 z_)wd*uhCoKez2kUOCS<@SVi4lbif!3pR)<{^x+mS*nfc?;1MdVH`z><^`(@4KeV?! zQe(~J3aTlKSTj*Z?NJU|en+Aq#qxP-Sh)V^(Hb$r6e@83c#Ounpr16ud8p>|u^Ml# z8T#57We6Xqu{hr1J`fQq89{x+<16M=mpfV$RZ|qPZX&Pwgo;LH&{%2&=3CJY`^1XH zZPo%OnxL5LNyT2yJFFEXOYID0uAiJsG$?u5mU7|CM5mK=YQ;oE?X!uwo~Y;~vhSz( zxO5va(W0NxXz2};#X5teek!Dgog~qWoTmY0Z*sX<^>ZP8 zbXNU5z#X+!KOeA1t!FO)>YQGq;!&e*K-@hb}MFufK zq)ZyxC10vaO3A`jw@H`GMOczM65W*LJC!HDd@^a)%P`wv&f=&D&|i+}4iyvAf%kp| zrrSy;UwN=&z7o(KW-Vufb$=CRk9gf*jp-5A9c2<;qta_*?RIK}MdFo4=h4?XXp~r^ z(nsy6A!mBNF5elwPG@%WK@N_#Mp9csb!4wMm^{v5HEEBS`UZnq9OxD!crDbq{*7*G zly?+pjo)N&i-0qVw4N*<*9X1XO^xwoJvkMAtMV2%HO?A)@^Ji??5zfOn(9efr#Xa` zTdZd%;)>e08Pu7r<8v{XTRf7ULd>@t%-zX>!Rk)XW9fDpgOB|1I}HAw@wqbteWGW# zZ#)=oU{E)`_G+?=zXjvpKJ^h~)*^`+kGHkBaMfhYi$T;D0~hA;wr`w6}gx<8JLY znv28q=uBvZIC^{YA&u*5}vB}SG)r|qE_`_m5kUviMmvqhNP zsB+`W4*DLByfvis+aj&{ijU}AYAG4X`c*gijMGOZ>(_k5II@BW`0H-+*_xJQdQ|UwMd8P7F5(dZNVPZ~GUAZQC>gbLpX@6^yBlMa^S-{_!yzneG$g%!jqfK#h zkrqGrh@rdaEyN!j+^N;otkW}0RQ@f&-NYYV)K=bjUjWwfC!N`y;y3ABGOY&% zVmVP%@Mn#AUe?eX`iWU6;`xilnx(?hMtBE7uwVXF#S)@8Yw(=^`Nh>ihw#*^k{A4D2g!D@CR^T1&~hx|Z|A8Oz8T4ONY1MUmet0Cr}*TBbw}G{>1v|xomVTQD|q44%RJEvPcpcAF4;wmw*90` zzJkEou8~VrqbAO?R7*-eIoR6Jtchz5XuS#Qnx&~l%&&B<#V&hTa%ndqCRg zrQI1C2%?E3{!YlQu2Yb>xTDdGQ{U#XE1uhO-GW9*NYi}9-^r6t=4yxQl@v-{J5sta zS%(&^A~hF*g(BnY4_S-(x!BQkQz{wC${jYO(Gh%iTJLwdjkPq~iakE#F#2vc7!XHk z!-p4)NqPX?%wLmerX^iJbmx1++|$-3*{n9Y)Coq-5EU<3^wt1kyGHq`BM{vTk;P>6 zYWYTk73Sn-XuTuaGmq3cBkbdSaJ+W+f}%Lam0g(se{~9aXXhTU%&$3&?e}!fJ1H8p|tzF^DHW%5x)bUa}_E z)A}q0`;B$Yg~`7dh!$^A(yW&9at=6m-m>D*GruLeSqqfOlmFyiOt-375mpcFpvNer zY?*q2PxhNlYayjtk0OLyn?$RLiIj$7$JCt*Vub(m`OeW2)o(7leI@niE9dfuc zd+~(=D>snNoi?QH%v!ooF*W=2A!WW3+O-?x^v@_L(`mAnUOwlfGYg`X7?7?VibKyD zGWMrR0w+w*(ayD{;87wm*4Y;6-`OQCI1d3LjdKbLO-$}g@J06MVw&4lq+AaJNx&bS zTaf56z7@!b{SnfK+f|%S9y^URlDU0FyBs2!JCwAjk&MSj9YMRu9gFyaioVaG{%C<7 z*RvmT=Iu^}WP6iXIZ~jBcP?adg=S(+L_6?UA=8EAnoMUQ=AgI7TZvPf-Jm0QjcN$G zX+Ex-N~g|GHx6W-#cqx3Zsx-*8@+29ckvxi@h$^yk+vC32Ts1mo+#%u($9&Cw>KHx zDtok+Pcf6$FNh&Cs&n365GmPN+nN-aW6I1~iCpS97p;^1R-Mam zqDbrc!rUWa$|6&%;FWAK1{a-$&(pZu$E`~|@%p0Z?0g4pukrL*Y^R=ko1 zh8$&XcShp{_v`iO3+K~znj~`><=@R?7e^6oS3%34knr7Tl%BodyUi9nb)X@i@3c)s ztS6pRK6lxQ|5$Mmn zPNaBbv=Z(qzGtlp=VJI#v|H^R5XV>2`hNd$TKpZ+jn%#Zb6W&WMUmu%CC5s&iRD2R zn|CR+q&CrPHrm}r*HH>2=AjzHiw3+rMMZ_$G;%)3!=N?1>tGEX=}NIosFv|=1J2HL zIiH?IrdH3)wh3Y)y0NO3^?2>_$NvW#C=vkx literal 0 HcmV?d00001 diff --git a/_Pre_Builds/_Python312_cpp/libs/python312.lib b/_Pre_Builds/_Python312_cpp/libs/python312.lib new file mode 100644 index 0000000000000000000000000000000000000000..29f83c940deb0fb688ebafa0e02d827a046033a3 GIT binary patch literal 377824 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 literal 0 HcmV?d00001 diff --git a/_Pre_Builds/_Wheels_win_py310_cu121/diff_gaussian_rasterization-0.0.0-cp310-cp310-win_amd64.whl b/_Pre_Builds/_Wheels_win_py310_cu121/diff_gaussian_rasterization-0.0.0-cp310-cp310-win_amd64.whl new file mode 100644 index 0000000000000000000000000000000000000000..d34224fb7d774dc29fcdaf7b574d1594e50862f7 GIT binary patch literal 488113 zcmV(+l)`HyoyMMfXESZ^Sp6xtmf6jBpdwZo|76icpf0`x; zs|5a^Tln+;QcQx-rO%o!!oNFgyKt3B-ge<_MU$qd7Ehac&$RLPr`|Pw%9N?T)H^4n zPV-MmoirsiXXvoh`={PL;fmzsj%j)u<$?AuRDV8cyYW}Q+YJ|u$O-CZ`e$~_cm;x-=c;(_|5!)zt`^BqJ~;(t7vw)FM2 zouuDCvz`CmNB6f*x~mBLH|Ca~D+qT#ViOi^JwCyBc1*Y^wNp};zX(4A#8!3TaQYao z?Q~gc!hi8PNf6rUb&OxZel7ANLX@C>-VNj zpLQ2q6O51P?=5ZXy$O@2!ixxVggwFJZ>`=NB>eyUKc;M`*&6eodl(BGO=ZenC}5#v z?+q3~99hLe!)z?riG`R=?3$!G{*q*Ynl&u2G4+nP>RVaJ+7s%qpos;lZA|O?lgT2) zmMgc|;GJ!6z&qtTnV7pFp?+|5nr$SFA!KbBh~1oo#*}^7oaXpDw06A4=CQ3H1lIUB5f8|6=RcJpczB+ID72D zXtft__4?DangG8)u4@y1yH8OgC$4J+zYRh>1ag8&*i!H&TTR?}O_I`-gI(N~ma65a zFlC5MR+tURO&V~E&EG}oG{EM!y<_6T>tCf0lPQDfMR|Y(#W@3#{N{H|P;5*9M)l;I zRsmKDDWMJgkEPc>*Co>HFMpVIdQI2q^^MhMrdMb$1=}lRiuJ`e0GBg2BHZ&4@i`oC zf^qzsgNuF}wqnxq?JV$68WRD&FAP8kCLll#ye8)1zqo3A6%p!%f8bDVO9KM3J~V)X zKJcqJ;~J*O@UjNzRn6xAiehhCZ>C6qwj27fjA{deXSCNGy%9y#-K)%kXm1bg9DT-E zLa}Rh3O1C_GPkOWR$*65(@GHvfsKWcS;I_AlpQ!Qr&@UmDHs+IZ{4C@5HEqDs?GG+ zk#sdDY`1!9W0Wjn;14hlS(j#UP89++tDFQFz)V?a2rR|4-wDSuX@EFX4_t|M93-v= zJW}e!u6Zf(i;~#>^`~wB9Nzw}MZA4z%xF8dRe0l)e^`Wg`fz%bdT3sAT=1(I$wR8E z0%oR(UCpd6oAcqiY-IRCrKD92D!pD1{KuKn2uxD_;2M(>$nCht63{s zvC$~Lg{;9vM3Z7yK=4*P9?IwcJ!ZU7e!GG5Ti4YFzrClXHNQ>%Yn$}`^{)ggaZxLJ z&#a0cA+?tew6Jh_gcg{L96(M>hi+u(I#*h=O@AHWvsqF$NGA@l>LX@x#fGXwNukd6 zq|G^(R(ndToVgVytX#g+zgq^n$dv&10Eqt>%z+5#$`D<@e&38}ntw-4BFT#@a?)%u zPf)(TngAb~FhC>|V4A}T&Z(Y@s~B>8c$ERJtPP08Q2)ZG&j9}fc&@#sO?W# zVQcxrQRx^Ht4&O+uK{`8vn58VtU^6Bc0P*rlHULcSLzSp{(*%1AAXI$AMo3m?>GN? z=K6{E|4O)Dop9fra9^ExpU{6Wp?rMoy#ZgK=;tbMiSEj`03;oRnPumdAd+L@kWwtk z2|bKYa-hTqziJl^7j;O5=EymLG`5A{4lus_gbw5A`jI>s!&MvOwVMS?f`EsI17aV> z*0*bp^GVS_c5`lgOBTHnTsHp_v%XL}iv?!cfYX@>8+{V8G&fU5*;x60-?c3GP?~c+ z;)qgrOsvkf1zJr0UQ98g24;sRvpWYglfQ%hBp=w`LnwBzjljmN)5}9(m&!@a@y01b z0y=dG`1-qNkbsf-YL3@AQs4V*E2NHxSMX%)e6fEP^rhK#roC7BHSmq;_=Y6kU^$e$ z4dy8;o)%J{)m`tIg>uc;6SRdE7V0L!-zPSr(;+SDi1)Dj>=u2fzO*bpSj~}glByXx z_!f1~zc_$n%WE(ZeJ zyGnDEg3Vcp#W=Ry%+0x=E`ylNBB`l4CSfsC@b$ZxMGg%tc*-I`N1dIKhoL7CZG*RU zz6|SR0UrHKu>I$gyrV2um%9u*ughI-p-JuHB6(m>lOV3>q4)FzA^GrpUUp$mWSYDA z&CkCJv4c2M?`qR;0+-~PBbmm5ll<)`Y`aztEluNKxx+3g(^Dj6cB)sIoh~U~jH%fg zqaPImCC_^~A`=RkxNaZmUNpbl69|)#^?ojmD^Lor*aB5H9>;FF)mNenK*i_1mvp@u zC5clGS>MG6A;&KIL3LvQ=pU7`Qtw%nXCfZnvJ8uo2fU0r`YXq=r{G8%Vl&8(LX;o> zc$=#`m0aB^j?pI+$%YI?OO3~Oe7cX6Ia?g2w=TEGl}FkuOo?y5F!eO;r~gU&&Oa&7 zYF+O1fU<_~piD(Yi4-?_+nrz$M8{VYxtEo$l6Gf)LU}>LePO~qOSmsixG#ynUxupZ z)~%(pQedPzd?FTzD{r;yz%mv{22@C4!P}5t!O|Qye8fo42t+rpa*QcI5=*oH!jWtF zLS2;{nv(f#@DdiB1e89>&SiND{H4QR7Cd61;UJ{vAA@S{im63Vp;&YD|AAV00zHnJ z<4fQvm7={J*BAy&ftKEGgc4t0xTq(RY{!BN_|;%2UC>D8`4ucU#TM>@)tnQVxSPKb ze7lMN9O6GJ@s%fz(H#v`bF9JPNXmA#=S2e0cq5bxfZytp-!-jv!8s;g6Mb&*lgfY6 z`Hz$TWbq$#r+JmZb}2XoNcLtM{Msa?orGi44VMC$NHp{WgLe^0fQ39uyw3j5=*ravD7<8EKTnmIA!v8jEE(eN*7kX*>{7ajIgte9c;(1%)HYu zUsBL?LB=m-)U%L>8{ij8O1;|aO|t+)r9s04xJ)Ycj2$<2%pJh%um2(51dqr!w2@h8 zRtmE9R5Y|uwrP&C??5(G`8uz*(z33F+pS8TJP;-_&)-$659Z0M+fmWWSVR_@xFWl# zvaHJAOYB4T7}!5U06|8<3wn`HMKM#@jd(2Cfn5AL$DzLPU84U5$EMy&`nht9I@|WG zS%4neaZ+TVg@g*Ehu-uZsyOxP%kYc!0pV}+4EK!ij06dVK3(9N-CxidZCP3|t@a_L zh2Ya^gl3%Umf$_EsSIz~Oem>9QF;grxsg>riStlxhr0s0EW}IT;6WR;Z_?~#Rbts> ztds>((w8Rz80=nn2`~!C5U&8IENR~0^=UW?JE7iVX&gPDCXvBHPt)@c5Oq<<3HKxM z^jKQH31QHIq*vnyNqR9F#*Dc(0EsCbaRv;X0UT$QL3X?VyuD5iK4^nK`|+A2pCjAq zEIC*LeU<<=^16uFH!`Ix4QUN6@ExeH2yyl~+U97Z$J^%*A#$kKzK&w{S!U8lpgNH3 zSZExe@6t468MS3;jocr)MRTkV$02b`7?C(T28pu`BtC#edR@TdJVMs~AR}LWo@8Y5 zQk0P*uo@DeKx-&Kd+@>vD!li5bmN6yL_Ww|Klz+Agsq?$05>rCyWkq)lklO++u?LdKyZsI%BWUWPFjgr zUPUiFmbRGQ2eURm9}omvL2V{ST=5vSjW}3>q=CcmXgl>TOlZi?s^I+tVL=NYw-JLF6O$ONc7J=|3emFXpo>Up=CkSpo0mhbfSh#6H5j+v&I&sd-~Npc+* z%bP%<;;<}BL&=0dYT?5`ej+IcS%{Zp9%rs<-xW;hiFisF3lc*_3_w| zC$#W;A{vr{<(tK_XMoyEKjgSAmQ^Gn(%PEMQG6#^d`bl&;5sOl{T1gQsL7fr_9>(N z0hqvapwEA&RndexQKLtx;`Dmv+AfxF7j&HC5I_YE1{3@G2l^ZE_M#11ek#l=nA!ZA z&VfrbN5fI%^o^v~8{8`MC~~VNcqXoRnwH&QB$}hgQBoa}-*^ob5cJgnQ$n|Kmv#I> zDo`7!vUMMlD%(UqI(z!yFi<`bBjX;4d)E>%KK~37<0oO#W*?*R(>TLPna6X*6}3@h zXi)ogLu9A{)|Oo_x$4C7-Q=Qsj8;eu9)KRa<=^_;NIAt)#wMLzNy?@;cI8#>Z^6 z>n09U=ksG1(xAgurFC?R0@_F$_lX5JzvG~dHdI=<@3LM6;W1nCI|!Aqnm|=P>*Z=+#|hR z?cN2J3_y}D_&SrqqB$0RMOJD9sxF1N8bvT{H|j5*uM+HcKK|jTc!%Ch6Ht$te-t+& zK@)lGX&v+5U4{K9gJY&Q*qB~-eR}y^7ef!5 zvIkX?&Cn}Nw*co_pgDYB@wvkNqE)*2uZkp0lN%T56;0s%Zyw7<A0pA2FwjX&O?cq}<_@l<8TL@&%YpV_NTL*>O#cO|2he?4~Rr zIXAbPwF^m+7`Kq)c8Q8HL6y4O zEP3%l?6pP5f8OiQPhqcfzt8~+QsSwDNaq0#Y+XSFOq#uvyUOVK{EY~%-f&R&prUiLwFkA|!FUg9-|lnJgL?OwJgECWBM<82 zhyKKa`kNU|3N9+u@8CvO2HRO+ZiXf@usf- z%H#HSVG+k0=JBds^qjfrs_%qyXqvpR4#G&T52TqHcI}fx*&Fx=CP&1QI z6T^f6NxFv!Ne&W{G#`#d&5I8ZYG$ZUMeEj4T@$an?=h2?oUMa2lBZ~PaOeuI5TkcA{Y!}}h~`+l1W|8;+|IbN>kYE z?ypg+@9ft%cHH6$V`nF}e?TtW#{{ez8{hx4`xCH=_n!y-KeRsauYI2C7cQ zVT5jmHrMXM0ikKZw|}@(E^dE#KI&>UG56?&scDUmT#l<)@d$zizVmRi^Z5eo`m3e9bZBK-2~&eeB&&qXsxmhkI`{ z$C6LE@qNYO1mpXXx8jWNo8BUsdBCFN zn5z5zRzD%2JZe(S84H8$+ZRjLQyqnr*Md zd-3UNUmqUuz;~TuD%kZG$~OD##w%;kT-C5{oejZX{xI77AjlhaLH_R3TqQ(=0eJ(m z<~}ZK#*K}^FgNX}+@`yi1@2y6`A7u0TBvr5%uQA>?DEL{`ln+*De*NW5$(bt;v*ZL=s3d7g#mr&f=og(?<=<~Rt@4Rm^7H%V# z1h+jx3m1AE7w*MFj#R;v#HfOHkiCYei z*Ii@eu^bO8DUv(tGiac6o=p(TKBkUNeqt7C^K8h`0PTPJ1YKdDiDmNz?g|t8xP^%k zf0(%9K4|_`LTB#Z@(pC6+4aoT;J-x2%o5!P7V}O|@_#jO|5w!^IuDdM_1ldQdy4i|ADw0E%3US3prHA_v z$JzC{r-L0dSscgc)=W*pI&R!L0mgI^cvh9~A})s`@~$;ss{$$|zUFSl*M1kvzen%% z3IL&0*B*f@)#cgrUkb%Tpktl>`!T8j<|RIkq|v_$)S!u#vbe4aup%-Y7V1{v5m!{D z^$}OpD@o!j_0w4d3?Oen!@WvU@}TQHyRTagDo#qh=Ge9ys4$RcOA4Q-$0fjffMq}g z>Z~-3$$-93)qwuPLmPf`U-#KV0i072lG^}uhnC?|F*WF@%{WMEx)Yhv)kr+RPOZ;8nh;d+!lT4cx6_ZeitI;V zffE(ZcJtvnX+FO$000;M1e{W|1C5H8L+aN{T7^shckwp|XUAEO!j3b>-!wNS#NRYc`P2BD7aGZWykg3qSdVLe5n|$R z#E)a+Z(jNZUmRYb7yi1-91X{ru=ni4aipe*0XetPFd!#4o>e$bYxv#`@a2pw3S(|% zW$s5_M|-RTlKfXun1l%r8nh!d+mnKxD#dzl&>{p);!5iTxR@C9SSm)fYaT>fb=JWT z#x2Y}4f?_)wYf0)4GCubjraelS#N2eg;_M&SeW3LWsybcZp1CAz75;0kxWXi5Y-T%75?f`ik3gV`dDYC-=<6E6EEDJn+6FMm zlHjTTdt{C%(ew4)lKUPdiH=>4tHJ$(;L@}b+_?I&S`adK(hfqC`c*aYkK-k{OsK+< z?iR8RT%dbjL01E4&xKoc66ZDNRalUByDtFqk2nf9L!vJ46zb3O1@1}Y_hUJ&Zw4lw1AMsxR;kNFbT>5P>N*`zq~~Gq*4M* z1$mlti|KkzEbB+H7yEtfvT{agzH^ytm#>q!(sIkhpk)-Q(^?Ina(Ij99Sty(@6esw zfG#6I>7mf0$dnxtk419ro8D0hLA79>Equd_>zR^gmv|(Ht7%5EZsxyml}QMvvW$Jc z9-wmPfVdS`0uwY5xdg%{|Mx676qJXNfL>GW*a`gFP+JRL$%5@z@Md^0LRa;1uXE&C z#zGB1RaRU8i+~MHwejX_V<~gTBOK2wOhSZ0fnjKl6poM$>dO`bJ-2c*9=UM0`PzNIAGyjY5k1tp3Qz~!~;BN^O4O;xcfwRtl|GSsVU0NG0q!QLiV9&TEJ0KN zlMlfAj{5R(G$osijpRo4$>V5K>JE$1563wy<~&UF_D}lpR;tz?Fd!rOh5&yH4C>^U z{kpCVm|ZYTCpU)VR!rnpfC_f0PHkW)dyi?3?=};q-E)eXJ*JjDk*Hxu;tiP+WO}69 zElgQhK!IuroToQ(9fVg5=MfitPG)Vr`sBlA0S(9iwG#~F^B-y{q)-Um*!^^ken<7r zH8FeNe{95oD(D+gJA8nSiw}6nk3E3ySAOzAMwDhup(0kU;o%2gnmg(}%`?2G?a@n( z-qV?e_mrNX_tb}0BQ_IKc;xPNq+(&fW)%%$NQ&l|xY0Nb;>5!l-vH%ljvs2x!kNw| z43b01Z=KT5Cm?rKGXr$cz`-UBYawYD*kGfx32Pp1`)q=GKh&qA30ydCQLmqW+M@~d zAI3wA~7@Q*}^?LtS&o?s4fy8 z-gZ3o{G*k$=qeB3&>U;)^mu(@kY>@|o&th1kFx=IPIh{#uQ&XgLV^xY)#bs%>{J%~ zD+|uFg*)NP`56A3or0(C@V1ZzW~U0iz6NK4F+&BQV#_hj4eJQ41ofvpe7bm|xSJl- z>Q=0N5Yef&97R|*0_4-xH@_pV;dC$zrn}*fvEX|=^ubHu05-SHpH7ajVfo|-3&a+4 zKiD?i4+fJ_s5IyY;i7QqwhuI++Q2f7y#R)?v{HiTJe%OVjw$nOh`CpJ2x~ntXnR2f zZF3NBJ$iVwj<}V^2<)*VppF4M=5NHl^`Ph0{;BBtam|YddHhH#XRhTd_uk$5%JER{ zOpOhg3$ve1D>plZ;x=*R2J0(#0}IamU$0zU;>z6+j;`E~M``6|!^+Kum75JK_W_Sf z(E&gHqZq)qivoTw-)osmfWPcN;}$ijFi|if2l2Q>3oD)sKg$RjH^ z)Ba>&4mposorBKf6&v;a$;YkaSzb4l3eTO3gvABQRY73?c>aEOi7Vdxn5fjI>svQ7C{c)4}~ju|=|ng#k& z=1w)~q#yu>hn}m{6&#GPIDd0w+p_H)C@xQQ05D}A&3P!Fb0N)nLycMRta_GDcpJJ} z(9}zQ?*S}4zlL`1p5%SvJnD_Julxu~BL5A|$_FN+>|?H9eZxSXj-inTgGOcojSQiJ ztANw_)95V!9wP3%NKyA#J{Y!unw~{$LNB(*u}LaulOu~O=Ht}c*dL4>LdH+MI#9HlgW0y)NBBaa2RCjAAgHF)CCYaY z(<$-ifj#MMoYxCf!-V#!W7i3SaVW8Q{64gYL!P)Zg01lVB%5E&=?~>23ysS+K-RWo z0sKdI^Yiwdzbpi2Z9kN zwlPBBZoVdJ4f?#kg#ke#HTaj&z2jyGfXfX}v2moVsF?o0hs7>f%;Ed%Ho$;-!LH=8( z$KozKMGAU5lvU@lI=78{U?BMF+;)DsO>@ky(E-Fy0MO~c7@^SSc=8j*bFf4o5A9kR zgXtMJn1yFEm>Z&l;j(UHeu9K*BR(OO2V7BTg{P2ZcnVl`i-oxwr?t}@cW;0etG}=? z^VkB63Al>5@F{o-3Jme5J@iDb;ryvRp61BI(;T>v?SW6}6cx{yKG~pC6s!Im+P||Bu;)#TV$R+^S(>Ek?-5DDaxvm_{%n42hHdAK@(-Ir;uLD&K zbev{8z@-}V4CEFb(`P&xBQYZu2F%@)h_Jv<3r^2Zfer105mKZL3}JwsNWfkrIiPaut{9<_y9q8v3CZ82O>FzuiwM#(UFr~0KFARu6p0Ol4AENZW|sw z0ZyYPeaGVvw_K`oxccuSuV{5%U}Tq3aVQCw`g+`owV{ ztNVtv6i1YaIn&x!CJ4jcY&0+o`5$5QC99~FWNMSnI~1Q@$3Q>XpaiC@3ymL0#W+HH zMh)6-X8wab+CL`pzPMG0#ebl?^Vb?KmUHdG=W^8*-&Ee%WpyljH%L5`U zUm0n+Z=~g3@hx}$FkWLP{(@)TT_5>G&9P_=#ytA1#AYbUD1qT%)Wl3P2vcnX+tJ+o ztrmYANpFv{%H(@i>wK;QwgSEHUfs%G!2CemtD365{T`(VT7HD@0;H-rv(NZ`AO3zx zk3cG#Gofj4#D6;x4oz=elLyUWh6!Mt?@=Lyw zCfw|z8%K^&_zK?BnW4AUXQ^zshez zaLgZ((TZyE+DKC`OxK%wa}S@v=;_h9HhrScwNGsA{?XdwjM`K5+7n}HFEMH#{ynDl z&mTr=Uue{J>a~kwYL7N*zw$d#GU0n%eA(o*z0t_afnyA8@55bBJQ^oBd;vvkIQ0Z) z!Q1Vg^@!+l@WGUd^E@9?$V2dM%x#u?Fh>bf^dSq5`5rgCnH-#RqGHTJf_0DaS%_)Ux^9epmovC>|$5%_bgZdHb_Z| zyCQ3%IJJ7BIK9b6jz0$f;?9jSd}ZvpsTa>8?rH4X826NNFM5=&pg}my1kCN~u#W_x z`7$$7pS2G`+;JHd0S%sbPq)8vpQZ6HHpaibb9DSyoM!wLDgU$KzxYoa{-{YY!_S$< zhyV0u7=A$#?q43)!$Ey%1^UTF)TL3fe-HBrv}iF4klgw73m^xJX#zPF&i~mA4!ngk zc(y2J1`j{LXRs6Wz2?U#&g5=>+TKmrn5(hX22RPY!{UM)I{=Fc{4UPyD+ectfO|c> z%0>yzVy~ud^_hji6~4Z}TKzqmmkOA?;%6zaU6frv%y7zJ!x|Z%OJQ97kaFe&JSk}W z4@CG-Nk1v@%^@k6*AjL~fm7XAb;rlzpkq?#W)qu#lIACZUDl7es>MhCZWDy?DwIJT z)xS6#c5Nrxy`tFlW>8E|)aGgcrc>gKYoyQ!6ReMR7V9(c zO4BBJ>T*`hI4U2NkC$hkmxq?!CJ(QL&lX@4J3m8@Y z0I{B%Q}8h8G(3)t2ca&IgL7e&b$|fPQz^5Vdd+mRP@63Z&6xDUv&zBIIJY zIKPFe!;T~9*S*iJUV0BHPqFQ2Q>Yz5N&W+_f(+V8J~0K`VbD(UcW_z3y41QwA$&c| zG`8wSUe%;nH(*r{4&g(p>cJtrhgCgYDmwQivt+&mysvTdO8>jGcwj@`X^En_1-v<+sBHeEA#NgcZxKrttu_*#3#+a*VF82hNPox@R9CSYWH2BpN6V>sesV9y+bNURH7&u;#xvkz5_Vhh}~i=Wy#| zD5z%}6eKR_1@cZ^br-I@4o}xd(|ZFTO^JYnDcI75a3{~d(y_m8U*Y(@AD8c+b^VF` z(fE5w+q?>sU7q+NKELIqdrNDao{FBzzVe;^eejm2)^vHeU**}oFNbnJ##ERn0+#$l z!02oM<3#|*N&?1<0F1YBaIbCTz*rdzj2HhD7+qkY)i>^p0fvEGW&;Lx{BPu^UDSQ!4JB-S*q&LXU$yhB<$9{WK@Q%(2RP-LNfuCJ%%VNHimry( z6>BYA1+!CuXX3Mo!R$2PnJeM4BKt2OANpb3PZp@&Y6#4rLA91l#G2GIu!lv}vFzcR z*6iVQ0`}8aQNTVkP7f(#D5XGw3gw&77>lnw4=UHi>3^@%4sU}xVw~>B_x3^Kt=~8v zsh7_q^&+QZ^ss&P*;l}_P^(|Ye?Opq%U{v${^!y&UJ!X$Mhq+G8w1NT~?j$QGX?tNy!x?25k z>|s#jrBLS^q>S%aXhf1^-YqMe)GhEdd@=6>rUf?eHOpk&*MixBjtC4Tcn-#XHR*>d zvqbw4I|d%I*xbvMM8Qnc%$mr=xz$k(81AZc-C~Cn8kaIr66e-qyYtr*PGIOFBE_|Y z6r?BrDOS|Jj95`R#>^Wij=?G!59j}B1Lf4fjnIInHZRK*ws7|~WjHQD6tRrq_I;@k zds=V05r!6Vz(xJviq$?eviil8b_G)~ha4v-a(9hWeepXw^;EB}_=BH`LS5jWIur`y zCc(~P5>+qZBpw`%iY?eJd@XX)3TZJYDGoXEfg5xtcTYRbvGz5y9>*8^^fmpdGw$h= zujy_~8Kwgu`QeV%?)r$o?iPx1!x>x-BTb1_$=e8On>i6x@+xewE<0UEBJvc~W@G-z zA@;bDw5O2_vBf?7@gMlG6WIxcL5nVdubFFw0#5v_6jaz`gy2MjS{a-}ftW1leE~qf$y|4-ouA z@c1g~t)QZUs)+0)+h*J|Wta`O-Xgc1G{*~nM`dAviDL>Za_8I4k<8v()Goj2$3h(& z?=pOjk8adGDC5Jx6W!d+9wZm_Nf<~fa*-_Mh@Lz-E`IQA!UfR79kTwi7nuo0Zv&n; zzF?f2KfcLCj_{c81L__FD(O5VN0T z!%Z6daHbr^*qqEN&=zU;BA9!OJVv>|1%{`?Zwm&A!f&eP==>`37kCd#D3xriVFxufn!S-fK z3oa^{-y88sx#kC)f9@qxv;3FpJDYWUUz20^r@xVleeK5vy8r7gikQO7Dqi+dq-@b$ zZGV3xHIk41a(+lTF&}-q=Lr@K?$-I}DaB?q%YEd0Za%dM^F4xDjDkeQ9e7P7R=z*L z2Pi}a`175u{r}brU*by?;RDr)>lxWU1L&NL_{8X#3)398yksOjdV84xdcUYSJj=NH zTK=ZM(<(Z7xEzm8>GhJXxZnCWyf}uHx&a;VN#daHj#FUE?FG`#CSGiIlCRGDWh- zZ|(`{PIt4C68DI;jV<(@_ekyK$c$1Uk=oPtkDi4a5GwUHm`mKMngI)4Kl< z=n*{rZUOq*XUF&0djI_17Yrtgh zQEHfhxEMU26Y4CZ7hx0p)PKz5TzDM*Cj3?Si}2y_!SI3b{_x)Lp71AhAm%YjIH|tA zh@Yu9J(I9E8OJ}|)cIFWQ|GCCht!Q-eEu|7{_>3nJD%nfCY4pz8-H~XZ`?h6So~(m zVVE2G_j5D9#Ql=7Rzdfhab7USia`EsiCIvN1#|BKd2|ru5$$e)UI%ci)Eu_wb-xyx zs8g}J75GxP2T03Qod0GysSI!Tk+9WEa9U)bOIAx47>#QkfIG=N1YEm7oK{{HQ$Yr z(g*wQ&*s-qHtFD)*W}=Yw^!4rX&krWD3Y(mTp~gITvI0&1Tr@_Z!-&6-QROH9>P+; zy@fpK7@N{w4h~!~+A6HJqs!&vTMRG2)XbfpRrVzA#??j>H&D;FV&(``vhJfnHvxZs z4x<7^7MxEhCD9+z%_7hvB`8pWSaAvNhl=IDoAu|rB1IoA=Cx7x49>UF21^w}EBPWA zlje{Y8(Ujbsp&(M6)o9%2SzJjc1_^O^|}+|9na8|E5b&K> z4to=Bg_%@?;Gr!}p{MP5s$Gco7P4#b!ILJ=Y;FDL5Mv$F+CJ|&a zpVdKTg7=#DnhcQLc!v(MN1o*%TPVbVY~12DKz7q&17ycc1{vX%detR@PG~KBvsoAg zj6z8vZ)Zos>Mn~Zhc56;be$>4GsDnzC6?XvEH}^RZ^U`WWX>G}%8vIn^&C3l=J;td z?S{Xmss$9;23IY|sAR8EvRyCvM*WPJtmh@)sQ-?XY~&?>H%gZ9lH@l>S_HM<0rYEN zQ!nt><{C{;k8~Q~C3hPoqx1%PjerKe{**WHjXIjYHqhv&zy8|N+u^nKpJK+EP;wpK zyvyq(?;8#`fB)1NK`-9G@AY~=KaAuJWWw61bM*$s;>`nk1J7XtcYn&|8->k$zbGy~ zJq1nL)Yy1zke|)!1EmxWF~?2E=5jNS=LG*M2WQ&g&+ZA`>{JV6RMX&pH=cyBVRVTc zyh;vY0-^`(tS-;lo;)9US;)gNn@Z`8c-Yz#8ev!8dy86spHLk0_T~hym4h>&>I`f> zRsD5HOzVU3IkY|_75>s$-C(`x!My2q*ff4N!lP{WD76gJHV0blV&GvYU5#C+Zw%p7 zfE$m>;B+1jZ05;sLftlzE_tR+)~iw7`cA?z%}rsU1$^9t0c_BitHtN!=e1d|4`z~q zC;p$qy*0=0kJCpgtJ|~cW;5z{woH(-H9xU8VD43I%$>Vb{t$R?ggFuqjv$zP*is#21N%2r_lQ!IVar@e+J0I<|6mZSmJ(YIQKdBdQ_kXx-n znVT)bR7L0>~TqQ6Gi(!)x$+wYLE8FWSuo zfq+H(p(rr$=UYHo^)FtXk3g&(tSbm~h_YTSc@Th_`7H}h1=c^6sp^j?aw;l#UUB}V zp1Pd0{AArBUx1En3`*#C3k4-WxnjK-t}*kRxWd{SE-P}|62KL4A(BY-7mYw2nal8 z_&0MKSzYcSo}?*Pjq}R{?i0$?A*1bB~=ym2yb%`gg$Br>QB2E3~C7PmXpYYPOn`(3S zMY_E&uG_0ycY8Vly7Lhvpxz$cjEiny1ewiAHo`@HYs~i1R23QxN$u zM+=N2Y^MC*S69o5eqLvYzFuZL_J~S=?E1ym1r(>SpMoPO4Uc1vW_4&FQkTN2)%ODk}%2>M%_7Agc}o>YZTK-_bcXJw{#( zp>6CISL|V{`d)ld*_TUy+`=*&*{b(UybmV6-RQ>e-N3_jF%NfRu4#A%SDv`b4bjW$ z=w+3D$uf7~kF4-{N(w7x7k|X64_hQND?lWXlzjRM*?EX6t`a+@nW{zyBPc|0>;EB~ zlv#!9TQR$x!H$?)(iXPk`tgbl>N#Hukq_X!(Y%YWaXlds2Ix_5=?5yz)QO=9`^32A!5>A6}i(~O^%olCq8zE96(!I36 zEJ)fWrWrVE%tm&p;=`{1AN7`h>2paLAPc{0k$}+V|3QR*J_~H>=Y=L)utE$A?K7Wt zP(H!0{_Jw`m>bH~pr2YZ0&WuIZK|>LM4x+8gUzU3F*j;Pl%O_M{knizu9Y4=q ztJ5K>IwiEWp{Mx+N>Tjzem&5lgd!R=#{=camGnC0RsLknF}Iv=4Q7Y0=8+(=3hsQ& z?}aDm02vn1P8;r1MrK5tOv%1n;Kn_+lA8hj=Z_sEcf|dxj2MvddGY%VfureadpdM! zr%&CvcKF+8R?#UW4CzEl$0JC94oUoBD4FF!AMb66oL@*h+KXY^>cXF~&0`-}9Uz&1 z!;e1(s=<12{N_eC?C`mm&D+Mbsok0IhToS9qMulYH$!1xz#5kPuS_*~AqV zQ=O7rC%iZ&0Ynx*#mfPoOv_$O4Yxaz2*CTUgoOxWtZ*u zJ0!&dgJ-GUkfmM%7DaEOiKcCkbgR|XIK30ShK+{d4azOHL2~W#uj0MYSNL4Jd?P4( z9O%oGI!^4`UhIm=8MjBtG3h(36tzz4nCsb3D6&o+eY(DBJ`f4z-GHEaN9ueacKHx%Lo^oih2a zQFe!JHmeirHBG5s!xdjM+jRu>x&isAGacfJJZI+q&PkwW*wcPXJ5iD63{Nb*$N5L* zey=jZ=2g0QT_5>+MdF1qcN3TmfU4$#R4DR)OQ|_SHJARLt_s%v&@^ zUrZYn%%fPFi&)6ggb_idL!Bl>!@~HC7l4p_L%DJm@d9auvBNw(n|7a*7vum0Kd(aw z9``tt{GG_S*7}Z|7k4%<0>9Yvv3Nr6EfO^jTd7&_+iOjxxa~>iI{%6Jyg-O6$Ste# z1E67zL&<)O%1~}iQKx3pQMa*B>m)YUgJi3?sH&oUe5)8(q_9HdkQpGR8Ha?jMQdb> zF^%+0N1OFD$E9;myIHz5_WWTqk&<;~zeoy8o-B&;SAt9fmDbTehl8_7J@%r&Jv+=! zhX;-5={qTU`c7Ie#9JQg+nz^H-$|?MD9h&2(}z455Ot>zzKEiyu~ZHvPs}!=r|(3D z)P5Cpq#OH;hx}q_7f;K@MEg(*kt|?(PHgz)A(HI{{z1(EUwla-SoOd6j&&6D9e1G<3y7!+; z889$%xIrICxEl;`D@_94+y+niC-G_$54J~>dPE1^Iv(Tp**pZOm#kR3JOns4z-{w) zp+Ke>?qt1Vwh^`=E2WijwxgsSYOQagb7$zqu`!j_l-ancUV&uc(RT3Nf3d7D*%ZvC z-tr4dD|n;8=5^KhEtxyRX3BA}C3CYkqh12l%?sRdu()EjGY1SRPwD4LmAPd*eI4-o zKUHc{n3A=j7P8#r>n8y~GzthOq^h6ZPExwnhqq_$lw6zrb$}+#Z_+f9kVlN%Eb+ws z$muA%6R{v??D1$6F(3XDt0aeJ8K0m8&XWZw=-73m1yCf9T$&v;$87{IL`=>A=quXD z1!5Qg5USDIsk9EQ)PxEmv?bj6jN=a=YTVT#4a$$C6)bZhMg^_c_s zje*v__t}qoDJ}{SauDe3fQ8c#IcMm zpvc?Aa-Q(L7aNc%mUp9TkffoIpq~s8AH zfd}b$-D<_lc)ga==z&;s)uABn#0D_Czbl=44ppH?Wqvu(BB^q&I{#-(8B&148$dj) zhTs~uipUIf=HP-c$>cx-c9Fdj7Ou5c5 z*n#O4{fBNJG{2|N_vbsQ>_@Jq0u#CwmKLxhzYz0D@he>jZ+u4p00)hOgo- zjIE#+DXQe!=<9?h*6}s6NUf*ojM6HpreiBQ?57%JNo zLuH#{sBBXVmEkq8JG_!Eu3~0j6rF2<%lU?aAzy1_14aRb>HCMSdi+{P2YiO9P`cuS zuBiFBZnyhkmClh}RsQc0{O918c$jNeitl_PQviSes@C{Z1IA!iam6imDRVay-~NPU z0w_G^L@&>cUUrLKI--}|qnADOOZ<^9-sd&%ze%xtcGCd)Gn>B`@CbjWn}eM{yEzE= z;T|&BIQ+6R7PV)J>879sD6y-gJ<3HCsv&m%Gl++1s!J|4gWlep$uo}_{@h4t4INNz zQeVYAs2IO(l)vIvA#wjAa!h4X@0cwNk1Z2VuCd@8^sv7Jzx6SKWnv}DldS8L{3j^q z@|5M+!f@!(TNP2Sdrr&4j}Y+a8&6LZAkcOd3ypclv#KXP74yct10pB&I?&Y2dy&Xz zU27KH6|;M?5cH|=%3=DfEo$98Ic*#pKrtNefZE+tUHB&7T^qR>o&9*k?hrqJ->9Fz zKg5D1c2?&mMcZAGMdRc?f5rRG*~zjgQ&5(rUxI{|Jc{xF4R2(DIjV>N!V_({2T{*^ znDY)v&L5{!{Ja|JtMTmmN}|3#Og9UwIJo&HgOZNTeaMsF@zXY~;_X}SuTels;cnzh z_0pP%TUPl*`XJ)Ptv+Hy2~w@vb2Bwbc@EP^i!18+vlO8J4WO5NB4zH9#J6_>k$c6r zH^`aQ@CshRYj6W^rs5s1#~-98K5!;J$dZ&Ge(jsLScN~jaFxtK%3n?LwMLh(Me*{r zNSCj5C|||gCI*IttW1X~&jx-!J01Q~;SUt4Y@q95c6|m!pxNg{FVBr$c8gv*qLl{W%QxNj}^pHsE%fzYmPrZB*l=!i90H7%i+K2a(MnP(y2ntFkIKOAgLChte zs-Kb)<)F*(WxoG_nVi}95tTzIXfj#G2^RPox;~|cJ}5(>zgocBlPr|S1$RGk)X-r< z%U>d=LM9s?I9(W_k>B^e_ zLIPs#w^7i}$rAz6v)qExlS=xQqjoz2>~DDG`R|=y`u6wgCpQfD2CStdWOqi)F)2XBU=QjA5x4-A`euEVzJJ zY+YU|#_7~8h>1=e*@DQuAdAQC&f<6J{4Pwf6M0Tnw*WoJ`Y|@mVZM)trtT&&n%uiT zhNh04%+JaYf$-SW{gd_BRPj=|y8NW6>36{(1HS^;KS0u9p?4vv^tZD=-nY-FuM@ zku4iFO;6Ocs=x8_BO(1vVe)%C6vuiQ)M|XU^?`<1eA>(EP|yhz>pV7-NgdxnI}c2$ z;GyU{CK(|t{_8YH#(j~y%b4*K%sRD)rhg---HZxCgQ?VDFgRhZh8)fPB2MpNNdC zpK~>L(l0yj=%j>g=ZA5OmJ2){FSgEg#e;Qv8`_r$LLql zc#c^%O61!ULo~YK{wu8f%Dc>wt>Eu40TKU}&(!%gIhVj5e?v&0ac(9>fjLptm$P^IKWzkNd=h#>#@-4ThwI zc|?-ub+iavzpB?93-03UK_AA<;-79}YS&HJA0~bXwv&{bNn{Ms9Jd=Ub0xs#ODpi5 zgEI@%5+L(2S8BK)HKix3X6mMm*p`ofV>FB2u+qJxj0LtcHj@RScam2QRse79rHSzO{(dN1*GzTwDFzLZM7>9vM zq2_3u$XRpQ9X$lS2XyrYvP^TkfE`n>KCw{HGaiM!PW7rPJzg-kUJl;h1b@0kQ?FYz z@Te$a(bSUV#bQIYoPQd!^(z{Xqk5yBc)uGg7e+1RI&lDC9L+g|dk|h&@kQe~Oo~nm z+oA|CI@H7fqlhOv9)2h`s;mCbqPixl8+*~9nlPk`52{{hotU7@Jw#}P4dp+Ajvy%) zfZ(XRjBnO#NGBI`Up$|#KYE)#Iwx~;*seML26B6==6Ducwiov5e z2sm_!yQ0{cJ+2$a44B;B~PK7WdH(f>3&Lwpc#c0y<>rJkzCa@##8u1!$*Y z*(fOV93MQ&?SH@{t{gm8cB%e*00gT5CRMHT_v8X|9J8EEWH5@CgEbt<-;;DcpTXFE zdj6i&*!(?T_KxQ733->RWiOzJz8Pp`a4HXBwqlq@U_Oa%u;>n1Wu>zX9ncT3x;n~8 zO#T$D&Qp5*0Q3*X57N~#^GX)7h;5A#BZ+VyeT!NRYJaVzkI=k3NsnMbo1JnnE?18& z1@y*KMBegm{Sy!>cHdZ8$u+t`-!{Al@UTqlD}~$^>WlZ|U9MOkOScGvf)>-@ipeHR z^QnKHQSQg7)?IqS(ixJB*L7o~4!7snYnqfQEqFf;QWwH+1Y0;$p`NT?Cq z*jU4xgK=-%ieGI(?qb)uODbl%=bMue4kL%Wc1+k(7fs(H!5v1`%3@xFtV~$NT|Y4I zjaalDr*Y+wkmWB?yy5d+ep9IP#a^Wr0H-Qxn0dx>!Jt}8ssQW+x8w99nTR*5mY@|v(-iC|ei zgdfF3>9_*TPG$HiSmi4GkXgnC9cz=O{e^`FCE-jZp3ug-TwG~=z=~0)maddutvTDO zqphA{ZJ0HZVNGp#4$$@@E3%V0V)^%I29;_4ajofi`VdJuz^cEnvcN+W+T#4C;%;G&`}pKOP>{HZ=qC!@T>7=I!Y!Tne?~5M| zM^Rc$Vit73F`z+N|9LU)^->^klfY5CUhO#cny7Fdg#E#mVgP0iZsc!r%U^->>>jKM% z9oyB85AoDm|DkGdIktI2Hx&D0;#C9v^VZR%2b$xNalCIK(ziR8ivXo9s zYNzZdxSrKMo(|crF1U*?LEN&cf4T(!!jS$C&fzB{ovP=qC@`a-?=+T|7poWYa$22c z1>Fdk${^&pq$dX01x6TQ^7WaULE&$Lze74-ASZrj!GD57re6I=B_Ddd+8d4L(C~;d zIJ_R_*F^I>Je|*qt9Dabt9EVA3O`qqQJoVAd9*s>(84)Y}!>zY{kjN=+=Wg|ub+p1REfy`&h3wHh`KL#dN z^^x{0<0IMCES7KS1WYDy{YF77uj<4J5T;ngnYQNm`v|V@y1Bla6{qhG)*KT?P-cR$ z{AVQp$>%>3{}}{7Tlr}nLo@z}W|DQNomuFc**mY`ni=nln%-rPqNGuyj#>fYE@UuEsax3vNxRnMBF7b7il@kra?Uq*%!zYt?FWU1*M?g2;KP zB4Xlc9Z7(=aUt*=(VhZ6w$Au`0EWGYx%e+a-|%26Hy7i_WRS1S!vkueYpT!3)7QIs z`zWsq>5C=55i`jnjvxp9QC47@NTNelenQumnS6WXvDMktvuF|n(c0D#RYN!Z%h z5=>xl+-*-4%bV!*(;X=!rnbV7+S13hK#_R-6sF722OyKSa1QC z5`Z2YHNL*G8DQamC^i-rdHV>zxK{~X>vg>Uq-j2s* zefAc_=bsozsLOpYz^W@i@Gj;$cs6XX@X0{4v8>#}_hT#6 z8>V39=X1Dz_GBLtaTRJhJ?+k)E;OE=15c5uzGtc!o#v#ps6U}fHgMZ1_z}zQ1)?sm zntL5E?8PvxWz4l>`uU*mBGX~kw7)>-Twg>Yv~l8P-?gm}w@hv>5jRGGN< zh)l6r1C{y{d-d}ck$k&{BlcHL$YRe;s`6Y~Us~<-RCG{20`qH+k)k&%N2!|FI=`>y z#G%s}a5>5bwBOzfRZd^t5 z`U|3Z{fSU(ouW z<$_kGRfRexM5Yzs=^XVxFs-&GantI8j^-E@;HtA#0iMRpGoN?RQQfO_iFhF5{0};w zL2H#bN-NpfAyt^e;%2cciSZ-QR$g zmNwbn_Ux1O=U$8@l1=(I;;IBvuFCPmRq>`?l^Y*|&YkX`W|VmuYJe!7UrhH8MDhGV zLw@ATcm@9`!jH;PReM9;%lG2e#w-8(+j$^@rp)8iROpKT{`Kb~yslokuBY0+ey88R z`@4ws6rN(oAq+w?-)tP9E>gh?=eTEr>L4nMQzc~rx_G1va)CCZXxQ81agE_izqq5-^<5i0 zqg&%c)!zi4I0x%D-WzG_H$JHR8rA^=g%5hcd#v3!ec?uwAp+i zOE`gXWU2ety_6AnnR&{e|BE$={xIV$(<~GWQisclFE?L*RK$5P%_32)i(RdathTo+ zReSVN);Ch|`{NUNVKl+m`^=oXW&WMB?YuCBX6ap018F3B*#1xM;olF)9{$mZy*23D zD)Hno`$;tMF&@Z3q7~-V9g*k-EK6FH$>EfPQ&|i%p?&L+A4$ERacv;oq&~QG| z`#3lT!gcNx-+V;p@VA+{s&P{e%pkk-8F@t&;U28)f2y{S{)5U-Q!Do3^OO>B09fc`< zWT^<}hffZ*QI(e~KapyztmvzNv7QK}{t?!)S=m>PmW)$X-g2gm8(1qEG^Y6U$lvk= zT>CWC3Q96qMD2s!9jpxAfF7Jl$|??Oj!({TA6?A9&0lVW^~%hNN|li9>7EMZM_paCg_9f_uyz*(H${G(K-sybAP0*uG}!*f_% z+JO8-(F2dLg<|8Ni+5t;dN@HqN zwW@Zgiq-&!T&xOJn>Y#gr<|%)w$c5cC=1`je)&JC$kvQNu2vApVTRpbt32>5n*mkv z+?d8(oL7xgYrMtr25RXoO&Q9*1QUYBXUxGI4oq}~?pEoosmv-BJCGJzZk179Y_F%a zgC)B(#T;H`vGO9WcogBzsUEDo%?~c-fF6ZxIbMk3{V2X}kVEF9fgoan?%%J34{#r2 zL}XoC(7eB*Jpv~}(CpsLCki16&%yb~hAG5?9ia~JeSUB`i(@M<9%Yn%o+AbVj&CJ( zad=pcOT>It{aNd2JCy}banFnMyiOrUOkDoK9As*7o+IbhGmm03(LT|jYbT*cac70r28n3c)SWccZ?t00&h`lN0h-pekh0JtzAE4wTyFxwr zbDJ77vxqEOz(H&ZwgDDA4WF2^@K`*102__M@JBsy7MJ6e<%^;z(9=&-IhZc&mjbUk z9YQ%h4R>^jOU#^?=Ki09JzCf3Mb7NVtuW6LfJPcWO}1qM%Bm5Q`An3dC;Nvu$UmvE zFS4-sxHy`7Rt{ELm|3y6qf+&ayoI9hl&hExfAl4(yYtqcK>v=QHT>V#Z(2+1H!Zn- zv*h|sbIS7}Mv%FLcKOmgk=!s^yY9WQ0j%(B5P$kR!EyahsJ}5*O23siO3p>Q;~8H zpPC%(le>_m>*9Rv=S<+v(4sQy9q)W2;_X9?EEK1%jU z2^=n&SP}|Cwpk#~1YFz+^p;G5W~x8KQJ{;l&oUg{mN+^$U&=CT`M7_y=bj-6U_z;A%KiKbU{_mA= z9=K_`LMl@;EAq-Eu`?k{$kwOn?z%BXX%*Hwwo~Eg zDpla^l~vc>fX?uWdH&C^?|+li7wupk`2rGm`1;3hq9^~EG~1dOAw^_F7YCOQ@!}AN?zeMB~_=D>!0vmj+$Jb|!+ z`S%yWPcIdt^mJb`9HWQJv z{og26A98$b>UF_89K8Dk;`p%LFBGjb6{Tt|ECa56!Cs(;28x~ECRvePPBD8dX1(}{ z|Dd;9mbYKt6u68>N9CB~en{JSJhpfKpsebUJMT@|d0%qpMf<$-(Xl?vn1d%TgIaT`Jk5c$$D|D&Fqs(k1Ezyi-wrRr+goee4W z%WlsEVyH$ELL8Lu70U9XTy8@Q2`v0;nH?A8YvOVdkN6h^#R%6=7E2b9>t`S0rTtns z#Fq^^83B_$=p+QpPXpaa_&lUv3evkdk13Wk-Y<>q`{)}&+H`=$fca?Ps+j-$gShaC z{capC6m5<3SVXjp4~aSSxs>>Q?+kDYV9gkzd!FWhKh%@`PgCOel@DYG0m70*XHON)bGcKEW=+iEY|uC3Ln+%P#Zov0B2da= zK44n?I_MLS>Nmw?O`eukzhPozS@V@om&3y0vFQWwjAl=^u3Pg}=hEo# zV(P1>?28}%r92^$vq`)O@^f-lVi;=5FvR1uL7??c$^M2&76_v-JK4W@YHs@%FW?V@ z2{P3|u1^q_2@bhlLN!|=2-PR(!EEKo9`nJu*u#c8$0hMBbM{;@)hDtN6m0|Ae1^&c z_rK++7Vv79gf9E}QyRj0lm}jPupz7m5QFPPm+|{jAtZl9vwrOs*0ATp8di;V7|*{O zkkxSa%q-PtVyjrS;8;BCO{Vptqdd|o)_>e3Bl7oh3!B8O<1T3#%htjLc$S4{;TjJN zWIsFRV&uhr8)8Z9LmltKMzf-itgSAOh&vf z>%>{<5LhkpIc9fqc#`ljG&<3UnbOG7mK$kb8ll69e~N7m@)TJYMaD%iGU%!8XuexZ z^VnG}nR#)sU_?)++g$?cpw*Wy(FUW0WXPb!66c(zjj?E>ChkfuW4*vGJVmjLe8zCL z*yJ!9oi${oY{*$-rIdx3PNJcH!I*ojPwvrjxi_ojXSIMD!k;|}FHp_=(`|fnmWh{$ zWSO}CP3DzHT{7iOL9JF_1E3afE5B$)jUJua zTK9jggqJzRT|k2+RhFidy-xtvHT_mKI%x4oXSK1>A8XL9fY!?p8@+`5o)pBiV za&OZ>JkyCM8~&4K>_K>CRT;WVb?=$7WWGPQvbbo29zAdTmu|t}1P3 zRd%I2?Wz2d#?(nK*kn)sQ8~U)Th+gZ{;@X2UsVhCK)k$1_ivd#M2)T$%PM;R2}_!X zCA~ZXP!1QBx1k9ZBU($gr=Re=#fuLs0*FAALzUW5rT(a>8XvH_h+|KcBqPZ9 zLKm^yty-86k(9GHZW}Hha5*Tay-L*tMG&0RFlwgfXi->W$Vwhi$anS=vYye3z*j<_ zxK`pX8T1rvMhb4CrP3u8uiI4nnnVt3|8ZquFC`u1s$ol+siIxM+0;w4&zR|7-?|7U z4`i5(ArwpQz?LtRNTvuC8aWbSc&kF)%s5{)j%(2}PHi3hLIBAt2^{v(!k_KeB4tP8 zL#bnt(wgASQ8hXyk`bM0&Pvl7XS}t+#NJb@GZG=M7CZ~ zjBKrB*Q#+8S2JjQ%iMR!m8d$j&XW)JjShtAwbihhEXv|S=Ch?bl-7v=);qf0nSB~p z4tHeW!vQVh!;=|l{BRMBG+z7^Xf^4#t)O!)+&7Q&0nw>!x-6sMtIL>!qHC#Iwd}dl zIQS>1aK%MWG7L6Tnp(5VPnOU`{HhI(%32n5YF29vQpR?dN&5bZHhjZF=OhT1#qkul z@>&^;4MmL1?7CwqPoAMCB`cjJi$ZyYXq_o;DI{AWk^a+J;>v);eoT_s{ESu{&v+=y zFBQxn3KmqW^|fq>q?B%A%`Go*EkFS4%%hjw2(agGP^#v51t4D{iM_`d^BxYhExG(K zk1GC~Q-G^WPYwibQEFBAM7h+Dje-V`1QLlk?Z|( zJGw^?wG&6#)__lw9Lfp--J-&hz!t+KjaY5U_T6NDg|%->8Bk?=5cxGU1?O~=rJh#y zd6x)lV`-Ye0~pj!z{&8YTmj|mo3%oI26AYQuT)qThej=p4n4-=INtM5=mdv9`7pf6 z2Pm1~PAZGV8jC~dwX&C848Sb1g6(db5UZAlb$W|0PNq281>6R+xfD3t)&{}x_MDe% zi)fX_olfCwQuPG2j#fRHSNr9@Qu@G4n%dPL`*K%eM4DCR$msTB?(DXUli*zo-{~Ou z&gB#PO88y|^Y#cw%w2I3_#Q0~@O>bvO0FKSOgITjtVE+N}${5LnXMWH@sT%sA@tE+9wfPfbR_RvQH zuovsm$pqLxCBR;q$B?}#0of0#(a|kH_GtuI;;&iR$MO=8{lbp`+4m!l{l`g}H`E0Q zu)d->Sl`V22q%LH)Op(5FunE3VEXEd;mssh11l9&Mr=+%0$7#6sZR5uZsHSl@-BiI`rx|>s|m)Ci`plc%63X8`C{QO076YO=z zn20Njj(2jD_2YJw^_mu=tiRfu)(@*N?E@FE15RRFK8af|k|$h5RS}1K%|&+l-rW4; z9c*kZwFFMa8vVl!E_?Y-dl4r0Y55|QUnDQW3#|q8f?$<4@M(D!o|ac(0`JNL`Qj@4 zrL|ZHeu{+Yfbto)Ad~%0(l@&QV`bs|*6FuF3;(3dEMZzt@PVo@*x}o-vC-uix@d(w zYiko5A*7(9yzyCwFpiLd9tJbdY`nT&z9#~(vE&QCe;1= zXAT}2_4LX-^%4;#PCeKnI`z+(;?$SZsTbb9`4D3Ylk~R}hrVu7DlNGpF`5}aQ`tPd zE`wg0LG)5x>X~1k%Lb-f%sG2A&ivjBX@>C}n*svmqdHS4q39)p4!a#m#zvA8CnG>O zqHz{b<@pyPf;~|UM1n|ui76jA4%%XOA3C41x z9WF=~!K}i_`lL55lQ&ceNdyZDX_@6azrA0kzxAc$h&*tCThN}9<+dmfvWiB~pK3b& z*g5;P$Ui=HV=7Pfb|;F&a)-_r z%iRq#FHX#y-^rbCS@9Mg5FOr|{b2=!VFA@trfwupz;914p*wxGeN+yYOmrefj4<#^ zjSuD%=?Lh0@dJ-{xwA4G5rBlp{8U2twoY( zwnTuSt<8OGYhK zZ`}^_!rRznd2ycCLysO4)o07J{m4{d;XH6*kEVT(*`f zn7=#Mvdp#T$N?=!`5U6{Q?f3XEup#y;(yIYH2(ACWd3uAe)#OkY(u>V#Jji1ce(6Z zd#Fe8YqF>jkTtmMa=XTU_SY6QddeDH<`exd&O3uDw;(=CbOKWsfEJwOQ17Ue@5UCqEX;Hx)mg6BQQA3S4#{RWPri{>=OA z?jTz>$Mj6vbj`xZIzG)Wx4uTa%w;7QZQ?&f<1nuFs{X5ep|doDqb$OoHd^jgBUgKC z8}GfldA>Fo|28Bdd(*x7bq+@lzlT%Mg->w&|H}#CWGN3cuzoO=HcD6M#>MpK^b3Md;S6DqGE;<+&=Y#6_!gNA$3%_MDf0)l6%ekuiL*x%P*)lJ%8qdvfL=4x3@zoK}C5|hA zr{FSCLpBN}T9u>(yOqf&T8?j(h@WO?YMOTS$)0S~Uy@cB5rw%$mL27} zP*~#sbV^J7U&0c9-%bem@6DyZeEKW2!!V(hoHL1*)f27!QMBSk?mqgU zc&UZ{s?XyM$}w-M5J~F8vvT-Y4iQG_nVJq zgOz>D*@8^}n&ri#Jo6h1=O1gMJoo{Q><9BK3&|xe{2ECn=4B23zyn-PUpow=uWEgk z`hiEtC8Aj`qsd6tP%6PYo#i`M@$Y#ZhVr|x70DVQ-qq#1Ykm+(XNS)tg2vJw$mGFqmx&Qp&DsUipWC^WY(Vv`LE3`8Qu z`J8iG2qpO|1oJYGWBpywu6>zna`X9&TZBxF^jf_k6ds$u%8sX>yCYaa_rAL{Go|#^(8Yd@{s*HymH; z;9e2A7oijV9}4S}1;;qB{bWQ;{00#d*Vq;(s)68#s4tvSRK%K&b}3O~A7`BsGvop@ z-1nBNc^pL!p*V?9!&9A`IdHL$oX9!pE!tte-oRFP>+aUj zlzf_PWZ1{CXB77FTnu;1W-(khN6ljb0LaJ6{-Ki`X^F(moj6ePP_G@5*Jvv;Eg_>A z?2MY_%dFT8&fCtH$-yKQku#IiWnQ~kP*wK$J0XPVi=)s$yEVnK+Vzc>Y<4+XSg#mn zD@Q`Z$m8H*GXG^ak!kw7P3isTidAhP-!o21(N_%Wun74ef9TZQV&^|4^zOH5gfq%9 zIuc7;f&L@66WMn=Q5&}>qhbG?2lgRcB>qAtPnM@=p5Z0xM-{E?+kI(g=6~6bT&%|@ z8(Y|q+{AvY+t|W>yg5?rM`2<=p4gbVA1V3%lKG4d6;w)A+%lO~9V6#ItMEvwCp*ILNC z^eycU=RK4e2))}tC*0h@jU*QiqS?!;szW_weu>-n_JU0%KS6||qTR@gW)iaJxVJ1i z-)jDF3rOq|FUZ50s&QSR+IuGg!mIA5Rpai!>3G->e-KR$hzpg(ON?6=J9VKvl-OTZGDhq;Hg-8}W2PaNUBM<)5 zqc}vV4-4<#r2L`ADhIrw4r*0Qn(Qm7qTCMfL zEqkx+bv-2Mb$#%ZqrDKLJ+xjd{0IUyBWO)VW!hbs^2JV-MUiWu=qzIvN{Qe~qe) zXaIlMLyIEk+qHRWX|Y3D!2Uu|kXHMUhV}En{JB0yC@WAm+y}R@Z5mNX%eq(=3Y-|T zsu4)k3Wmcg*rWOn&giACmU3l#kM2&q;aN`IfE{s~jfs|%I53QviYcAPP?HQ<8w9t`23K9%$?;*Czlo;p6iQu#P*eQgO^PQjH{>7HdU@f z0xB80uV}Mby3WO+++Sh?Wn>?%DAtTmh=jY5`IB<Y1%({)4Bv-y%clv~QJ8!IxN^JML*}W51Pse_L+!_+Sp2u-`m; z8^l^ac1wdty79gi8ReBx&#PDmphd^#YXr`Mh(SWV1*4;iHDvcQc56{8jts-&{Xvj^ z2tO4Ww#!^`wnGXBO0I7qKddcZvh(dC&*=dj(gtLTot+28;gMaT?);hNvZNO@aFVLH z56|d<7WLdOJdwitdkUNb%09q2K*^^E?6Q<=KGO&1+70;`bv z9#dztYLy39GN@^Tp8Lq2d(x+7Y&c!#T59Jax5t7Vv-6;J!|?gDrE^mbeL+oX3*~aO z)H-c7kF^9aZ30g~$=Ag!Ce!$*AVpxg*T#%KL|0O*i z*|o`(MF*%~0;~=?9+n=xr>7SCCabLIQ$5m4kNm<*f4+dRnJtuH={h>vpA8c=nWCmI z!N5M6e~a?q+n}2cR158E$29FLQIvo3&{&|q>Hq*m-b)g z`3kARl$Q>1%7`Yhn@swM+<0E@BiNN3(G`+cB;I4x1T&Yh%BUPGdw3fboLkvX&|a^Z zCOALAL0yl*B}KfMSx<>T@`9v5e!Nb|H^@2H37H?OC{bfy5TZUVFrNsK)LF>8+HedT zpNNkH@=}Y;^=2k9t({S(f&AlRK`kDgk*jkQ0t67;l3Ba42Jwgsjv?{6$VK$>od|$9 zym`B+>)Uv4_Y8VmYCUq94?4yXK{@duQ2pv>VgNDf!N7?m%ef(hy^ zUhdkBkK6!V?MN{SMEwa7I(4piYqj3R79e!+a=~8H^l%7$YW+|zAE3xk;N0so@@rm) z1067qX@*JbceplV`3~2%xO!N#?oP30$o|STFb5bR5b~=QtEC$bEJWMjfMK*+M4?Wl zQsiTrsvBOd;Lrjq^z-mH&QQm&1N|la`XRVDt|hE}7=3yhJm~r)vJ~nlhBC zY@czS7NOrpTP@PIU_0JsaSV2YIL2B=vT5*EH3G$QbLdDD9qMMp+gK5tCkl}+wgb8yQou9HT_mfw;44pw0`pZj%c@(lej7i9!6w?<5p$s zqUy$ljEn;`7HtBJOTERZMF(PdLT9b}>nkp>8X`{C>Jo14e!0 zP;O)xt#YAS(4>Z~-063y_hWQJDu}!D3_%*^K@9R0HLCW3b@hW6BIv?-(7crqI*E^Z zU64a3lrU6-uU_bI%s0ock~Eo4G?_*;nFg9H*UHZN5xOwy62iU0*I6!Vyk%av3i{E5 z?1AtusI^OKT*SV08LUP}ItvaE`874*{u;_?J<^Y-6d|Nd2PdDdkq7A`hY@HZPzjiT zk8&ZdjbFq?bU*=yFw=r9ntMxW!3J4dBxEcvrSm#$nlnVR92F9yFn`UQ;IIkdQPZ53 zH+>yx@n{+2Su%s?Nzx&jGmkb|r{7q+d%jRjms=M<7JM@R%*Ow)NM0Sj@tqjdR)1%f+|2eyE7L@3PS`QkfST zSI;tP^3EUVA`;XHsPeuMa|9`mPZx@>z%(E|f>N-nY|ss-UQiS7ceut=c|IWKZYQKR`z#42;u^^TM6RgIxnl>KKy|xi`Ky6^y;=p@TzBkEV1$WfS=STA~62x z2c{`5=2}EB)sL9QB*lnXf~2TVhyrhFA-`G*&HZybcB@gJLUWg9(%gva$YNQqB)(@6 z@jW6*e4iy#aiJ2+(k$PSW;yRN=(BNP_fpBTpmC@r3N89n8in@4_ot-L{`h@5g?7P% zzXyeO>!~QTQQz}wzW=+^P-wSzJ1K>>e<)C7SMg(5H@q}%vTo2Z4&Ni{b{5Z84NW2C zjtgygf|NVOD9sO$V^ffFXMJyza?bBFNx57i1c-#Yw~!@zfg4hEvh!zq9dL_)^-9Ti zE=LA>*^GT9kXd7w3x08^PxDt#@2wS7YyOx{*C{z8&Aly1ye;^=ZJl5_cy=1Uk;30; zM8Fdj;BTn7KzKb4^MSO3btE<9UepD?ea@uGO{ubSBQBoS&yg&Y4C|EU{{4+tQ}>&B zU|4e=T;rflj&ymlJ)Wy`FeZ3n_2tE=IVI213p`7|7ipdAhsm(r!-T)J+hL0|uKC{O zNWWjlrJ2#q+})Y>HI(!Jz2Hjp0RhS|-y%0;z@6ydF+Qc!DCUjm$_wz=Iz7FlmA(Eu z31G#1i>eu>(wYZ+j5-22nepPyfA>vU=9BSLf+o-rc@{;%i0iG_pd7c;4^^MfGo`Wol+S-xrH7Tz-GXW#Rq%)rfjD zUc81)=b4iwKz}^dfWEUdpr4_`kL2ZVUBY-i%lzO4NWX{E1l+J}h*bF4$?4u4^Zi%R z57I2!E6Val!C0G59wJ0-HXKZ#>&-|ssHSm^M_J8&=M8mTr?b0lFY1;j! z^`)k&s$osij`+)O7z6_ssJE1RR6}peri85-g8-?BW2PHB6rYpOJ!GVVRAZ!9$VrKW zthjV!v-?|yr^BDp@Xw`RpA!F^{dETZX|?#Y_-E5sjDK!0PJ@5qollB?CJ#)( zKee4tj(@Hk$j_!G3Lfp8f{<=IeC7x#_(K9AJ@A!{kfwcg<_PH&^5s(pa%TDRlm9%4 ze0lxX68B|2@Fqjq9#Zx17Kzd$ zZeig9+ov8@_F_i9k|<1xOc+Wl2O(-c6J&$G2QCx_fBEK&|1=v;3cTQrd-D|#QoM-O zIxSMn^s292(EI$VPnUhWi4Y{wwL9qC=LD3M)oM|#s=QdQ7c~eSf{z}HZ#la1;#R$A zL!uxzvmigMK#Q5hR9KiS#5bW=@KOPO1&d%4QLU`3vHRu9)uI;qrf*bM&;1w0L?iVm zEJ7T<+_W0`X*JZ?fnrgskOve)xmMJmViZLi5l$K3Vx~)VH>k0XTdjU|_LWbn?i%{3 z6>ZRZk18Yx;nCc%6>{nWu4dzln#v9uTND9rvGK)FFMn%?XRVM^9r=vTVKWQO8byr$ zNUG3He2gN%w9&leA7Wci1`Y*3a9zS);27Hr{3+F5fN{&+h@BtubG~2}M@dH&roVkm ze|MIT+9t_qHBw-Q-LFrGT|>6m_0&dCY%uVfzr$eQGBt7+&FHQSg8|SD(aali2J+Nn znz1V#T7LLQ8nkpYN@(eA5n48y8S>O!51v+@`h>~Q^3n%S1}%3ASoS*dQc3toaGBje z$CZm`&+xNx6Kp7GW!JNJ+PKN$`TZRvloSv5u*0T=k!6R{VdSaguNNImz{p9a4I_2) zOy#d9g^#Bevon00`?r(8$7dT;;bTHurPGBpHo%oN2t|?}y{4yz)a2XMf^Ayt0O8%^ zF5SNa`l~KWRR8vnM~htT4I=MFcz@3sXQ4P?G$gcGy@vk8Iv?{huOq4N%NZ|{5flcL ze3)zy|1d?S9=|q^P{kqGy6t4={C3bp2)lu5hQkmn6GQTzSqoYQ<{XF(r}z{$T%prB zVRiwGIs^qlEq3pRSVvoMX){%>2a(D{Ja2&10)$1h|01>l2!GNOE#lcmf^)^H|6M4= zHz`$*(7UB{WavJZL#Abw8tVf)_m>$B0U}PQS{^H}FW$8CD`WkUZGm>NK<}EeDyvi} z`=PA&!9csZh%2tE(UBf13>b9*rL0=0#C3xn=>;(Y=JmEld~Z3g{VuHhg-?}Me+jZV5TF((KR^&e^-aiFS$BG9iE+n<$; z6s5bXXP++>*yl7?od=DLdO-uhQK7pIM%zEYA+vBJbvQID`EDE#v{j=O?7%UC{ccJq zD)+Y87f9vydCisE(5)9V5IGmWAferE{{Vhx(?py?sZEuNb`Wd{LJ<#?O+C{^+N~Ar zQDZ;45XD||@6!Dn5WBxdsao$4k^fk&Urehon+|&|MsT*)?6l|w+c3XcF~2Sk1n7Xk zBBc<-2F+9R92u)#Y$EMmL6 zZ=X7q-CdW@1VAEW7e3$&wZ%VK;p6T~=aOdpkkGFX5RrKHHUgUmb!NA9|N5D|fOe(h z)BtdqSf_kqXzDyyIvQd9mBE{y5ZotgJ|zn}^D5PN2N!Ak0Zv|I&b)|D!o|#HHV8lM z5l$)c9*_`uuYoAJqxx!+d5!fkr#~%y#D0sNNtJVFgS_kj?soLkEZ0WzzQeF6C5BWZ ztVIkdgxuvcP<}+WiTMOUy%H8{FTi5$c3f#DqA$d1W`+@r&4?*Wkc!b&~G5 zkuEj#zO&Dlq1n&j!@aX5oGPQT6HX25XwBG8XkDi^n;Xq-YT0Nm%~Ud+FqLFAP;kLv zVD&nQ)$5v#U>C4@oftv)Fq>0q#s`8NB@_=Fo)2uEEAvyT#>Sw34@kj1N>vsFQww&4 z2uW{@XRYb!VD}d-I`k)9DTTdZh!A>1ylr4L9%Jv$;E}SQ##XSEd%vLq&V(;WVwjjt#2q{GoM2i@RTrRMt)b;pgg_N^fjEYMvmAdY8j>daxOr2lJL=zP(SHkLPNVyK37&=+iwC7 z$;u8PpYjIxB_hhwkR88~ORbGg8@>^)9uV@EHbZdN1c#{W9 zW{(&x&=u2_hVLuFPUj|PMHt!GX=NYY?Lzp-t-FPUmqW`PK$&KE@=$f8q4!Eh zq=Mv}$`HY}THKr>-zsE@)<&s@AkwYKf_)k5BL<38;h|ObVgWGoQ<|w#s5darz zkXb45kZq}bNrG}H89Od{Y*gbw&^TJO0|tE}tjiMBsx9tPP=xnQsXCFL(`LAXMlp>n8136Vpmb{WCI=FVjQ7zWQAdY$|2H#cX~qc= z66jc(P6PC*P-~2PR0tU_PY($s!U6e@W<~@`C^YVj$E@uAyIpo*tPYP#t5xFew8#|% zw1eyr@{R_#D#G)gXE*?I501n0p7{faQo_Vj3HS}I^IXdG)?}TC#A(SLyYc#3^Z#~% zGJN;F1pXEJ?mO~waUWqt&*E}oDI1Y^TE^b9YD(PnDc&w_JdXTyQZ5O3#i;gNZM=izpIJX}_2KNX4allPppwHIAotK@*I8znTgEx8OK2(}8MR^ww z*@835Oz&1J`+*NwL>8X`^$@+@Lyb)G>N1k3$h-00BQ8f;3^_-A3B)P%(Vjibq8)Cy z7ZNslZ1EjmPG76=Y_Fqo=0U5(3opU%fIB&`R2#aD2d!c4<83+L zJyyS1k6fj)Jas4=taLWkCv22kN#g=~^I|R@=0$N2wnNxt`9v94Z7a(NV#|f1<1^3e z0IhEfZOT?q7#ZVM~=sH>TJt_@q4EC4D?$4udJQ z)v>NHRsA{lS;{2(8(0^kuEpLf+J~Fcdk+b{pUnyjFTUcWDv*y3#{dv1C8Kxb?WWW7 zG*e~=2#}RkRg08LYP5__a@jwWRewT4^}4bz9P?l8jBN~+E31B-68pxhtlX(agImob zL{6(lkdTP8WWHrpb|8LoCP8gwRoTqAQmU+~rGj}hJ}Q_uB~tbwYE4nfYU%q&)UZ>8 z=`33X;ap|CW;}?XMOwjwh@_=%r$byekJvXGoGOT6wr~cIaoju_!7B3)KAir_`k?U! zziPa}uNpVLsrjwY#FTvA#>1Ta!ElxpZJ?16Q#tM*R(UbR=baQEO_wkOsuqJ}G9R*m~ssge8sp%#3o#(wnBTQ4g4W&a?0k6xsf>CJD< zMH>h)0FqpGw28Q)ARPJ-8PB(q`4lIC97b`d`+w{pzQ79k)q*1gzz=fv+a^0WSzSxn zZ}Z>gc95;feE(s>qVw$$xy2= zD;6Zzx~Cm>xF>eVH;;TugOvP-^nBVQwvdIcS9@8sYGuE-okRQZ_r2Sg`WYZa=~VI& zmsIw#-(*;mE2ZPhw!35)i;Ml1^$HAH_saL4q4$)P(p9R2AfS-iGy>`q=g}6#oN&aQ zx76c!1CF^?_S@86iZ^a92~g*tAv)WgoeR`v~;2Xgd8vkyHY3RPp5m0gN*|E|zD`S9&W>^Cl^ zC!&?=)ECae3kAEBl|E%<`<#O9m91$iw3}ZOzu+TU6wq;=w{Z^Lk0MKEm*vr6QQ*?T zAgOmH%_^89TmrX%rX4WbTiIRp*Ta*zEUC;Am;uTxJZr@W!wDUc1!RS1Ub~9zy{RR= zH&3lPx(W<_(PCJnjK~o-4kL2qC)1D8XMU^Mak1^24CqBb)XMhLI&9|1CtM)(8MJ#Y zC>mb1)tl;STdAoRRl_D=P~+3B)?`QzqU$#ZLJws7s{Xb(4v}G z>%9#uyXJ-g5P@xfH<*IE0Nnk%I6{c?hq>TjAfLy@`yb5FQQqxtAcj zzqYbHHpTYm77+`E@-Eb37u+0=s-0$OKJm;eKCla;>|HpsC;kkstF|Wg;QAKqiCJGcSv9imnj@WQStPKBbM6s2kG7ohhSoEyP=#83W1!4vd%*1{}c<)7fQUj<4T>w08L- zsf3oxHfvF{WlI}>^Y|Kfd$G3#{Sv~Z)(BW(9Do#i;TAL#`zXt1I{GHUkgnj}Z7`pT zNWtPVCK4wQ>H7(BF2jz-I|+7VE^p*6Vzu|G#@Q+|D~#~!1vTa~OYwjh|2sKQNIzC# zpMkZ<6*&AaErbpNJW@|cqhgzJY|I&OtW_!WH z6b!(o#w@q_`DMc5#%R!ST@4ds|LhS^=pEVY`yFZJ+$>1Q;tq~x@dMKAx$WHG%sK7S z;jrEqG*q7^f^r27hx(=s3yGs*2gePezUmqqRDw%R;;*5~N)I7H;uK#zu39n8zhU~9 zy0H}+AfZfs%ls2h1`GnSkPt6Ww&+*h#sNr(vikRV8vgfa1Im1r9qAV6&p@!VrGZvW zi{8m2FGPga;#Wajn9nX`MFs2J`Lvf1TQE77{_+){8$T7_C_3*d72V=Xv67@3#PJ7x z-vt!kjlhziA!oJzPE{_B0dB_B?PmBRr`j%tA|fy*RBOhK)W;42yQ1DsV%licw>PSA zW1*@IDBVs~cPRM{-zk$eDwl0i{#Xry*i8#XCAH?Yzjrx`Hhib}Iy^};Q!a~5@A{o` zLyW#ubV%jM(N^DT)g614L)H6ZA_l`%NiGnl+pw#GHZCmc`)hD2V?D)VWP zu0i78f)U!#>0a85oaC@|qkT;G2OX8I^hp0$oH*`{@@sp2KxxcdnMJfyjNZL6P&dL$ zbZEVZlm<3fm7#Q*|FwgRChUj(8|m<78pT4RICNW@M)4#DH7D_h5K@Od?3sCyY6J*~ ztcMq+?ysIPOf$BbE81aKt`Jf_*bL~bJ|RNACo}z9tnBSuF@QR5IG;xn{>EAPkqBze zZl6th!3iy9d5CqGF+ufz9qO@!Uw+HVp2IJ%_u)Owm_g*i*Oi}W1y)9f$=+^hxwrTT z)i@%^yB}1}tu8w_H>Crv`nhJnhx7y0e?;nJ9a~dYP>am)N+s_d#0?uEmgJNO50lfb zXD)<6lQrXz4h`q=nKL=OGke_KfyhW%no%9UtxS2NpXP4RjBnI}Z&dezfblMITu!|p zW?ubUhWG$6{?vF!!bt|?!qX4)aUP^vwc@2(gt9c=HM=HWt=w+M>phvPj7EH$Q5*j- zQ$Bo0y3=k#zstHcu*tf=URk)qk!pneqcZa>H8Rm>no$mpUF2wd+#zhB`K*K+h;gl- zaZz()|2_{?te69KfI5hektihcijSEhe%%j26W z$M@gI_Zom9J~9tvT}2L$FjA3>?{&|-)c9VR!&|n_bxM5Q5`Ew?$M92dM=KbZ4OI-TfeClgSp?7VWvho-pDS_4SQK$02MXYK>-dG|5 zR6Y7jg8Xj-u$Ak^-8pJ_Bi)dl;1AipiZC-G!XKP@(MVVW5Ch@g#)-nB!)#lLpCxQ1 z-gdNLD=~bYxLC6@wbjy2;=*|eZM7bm;v+1nMkdjD*{UHU!bsKVf%Jbl55XyLyt8!C zz{~1NFLS19p+-rvdN&P9oSqH>A(_|Q=W@hztn7zsgmlK-PDE_72}B;LgLXufiF5&% zI5-0XCt_{Q`7zwXe^sYiQIw1w&nD*KFY{^1(pNiZe54iBVX^%+$^)FG6-H%Rv~O1| z`UKims2V0?ops|jVSFhU{H>G)H+jJ?YH`7n#wkZyTJU%7la%~oM{^Sax#%z7msoT} znHn7(cqLBRG(;k>SO0`E<661;e_n)Ri44V>vDI9>2zxQk8L0DIc4qsq@m|`8^Q~-G zOzwl0)}Vh88^c_d*byv{uzizOa2#d=`in`|*P36xi9PB1W{Uj)A@&`_3>R#N1R`A1 zT8$lWYj7SJu?@=HAp{#;(+40HTR3)9jkez&^f%1Rg5Oe}8X1^J;HXI>EE(-0Y%h$B zh(!0D`ke0Gs2T(Ff<*D;q{x>XTEwY^iFP8Aimufk?{~iOLNRUwkwL{p60&UOdl)b zi?rpaj*aKtli@OlKj+)@L>wyL_WY`~u#>x;E-LB3aO3zO)eyNF7nj<2l53nQfS; zJs`(3{*26gnKAz3ED;Be$ty#rmM zjf5rsUE2!M>?_tn3Nh`iOzG4qAos2>yUI}iz3#u3vsvz!=h(6UM=cfgiG1tZgZnv_A6Eusy$SFoUNEj%0FG^1ZI zTAJr1s5>&+zS!LQ01OCk_ciur_0DG9e{ANp)S8oPiIz3l^4-*OK(l;pF_kOO24GTO+kk@ zs?lI`I{Y5c;ZLn`+39pP&k&IXB1IS!2a3%YG!#N_+>go373EjhYXudv`ByxmeV-sr z5Xyy>lpVB*d17KKZhR}02~QKx0qz=~Z}yz!n|xl>WN<-namwor zuW>}fT6O1sA`E6gyc7K`#5>=t#Jpj}fapn@ahF$ZSBn>L28py;Z^eY6;m%J$faC|G zcjbWOh;}*G^uK3WTI8l;!rSyYg6{h~FFT;7#>46S;#NE^Z`-XJ2$T!UD^!N^crWV+{(axcF;NGBSyi;Q=DjTcRX#y})@NHXyEBK&U)U^XIRm@>8Wo4FiybKG@o@8gYRGNA?pLudJ-8-tQ`nw)d5}Hk4f)3(T)B zEM4TJmlo`(e47@gHUr|yV zc9$J2hp-x`lgPb3aO#nY9P@{Jn2Q?hkO!nTg+NRdEj|BlAguRZPK!^|+#ZvFr*3>~ zn`F*{)8#FyM>FQMv28Dp&dAaV1mkXSroUXx(A%8U_VUh`Pi=d7-^=N?mxEsZuWTAhmVnYLJlE@hSiO~S6y@-Outtkqs7Izq3p$l8=!!8pj_W!>_@^3gnSEbx zvX*F(Rv7VFsx*(o%Ga0p#Me4K3M*ve`eMzvy#x;Ki6EU%y+ALUvtub_Kf8ViqHTOC zu}@d1QCKyzSKha93E19*R8}z7-+oj}EHQils?GtK6`kw^52O`rRJR|4ljimV?3Po* zYTQFC(ecoM`H9GBRT*}aZlSVp4;Qx|g5{iL!;s4oD&E(mig)epiCs!j@Ak2>Z+}q& zm@ejHw+q3&&`42p@%BY~MZ1tPj*j-PC{tDb{v#D#l$9f_t428Iw42vP4S$2O>0c57h6iJu#iQke zIv15qKS=BY&5PLEic1;a)634QhC1h*J+FuA|2EWKS=Clq)oMzl;}j$sp_jrn^x`|y z-wXP;%(yZb4K&d-N}TAg+q^vVN4p&A7*JMul~t{$M3gCk2s{s5TG(_2{fDM+qZccS zsEN?MvV)GYVx$#yhCak^*vxUKHLk`R=-_GLSQEWgd5M_R))2j?P(M!Uq0N*?Yh~5w zCN=!EE74lxg&-DIxu_03Z;OVgs@w)M?u-?11h*hGnH&2ZpO)iyHoj zI*i@tlgw8?re6;OV7`MR(5ngb%{R<3*6|i%^L{%L)rj7$Qe6n`J=ev2iJyMF!2!fp z^`!QcRkc%K5jG`edIMJtcPi2M*vfD#{M8D!ASg^Y<}$yna5-qqJsRWK`|Upljh))| zHckPM2^t$UV~6hFd0&xzo}!-4MLUKmEA`>- zVa59JEaizB)vD3l+i02EkDoFu(tb2N;`}@3ybXdfJ8-zxS*cL7`lKd)8jOyzwCL5; z@$sO4`+XPCnw91S%8EF2j#!@Q5w@K-LLBSE}N6BCOLrpd;K5w+B$xwizaD!szGua{^q zIX@>3IRQ_)Bc)dboO8aK5;+HFUtG}>%7Tq2ghDbs;J8#sHjft^VBL*zH9_=)TJP<` zK@8Sr_pldSPk6x6A*&xQVpV36T!JYQad$7CLP(w>Jm(3aSK6+ zOU8{S9Cw{?3krA{#dTr@G8}7zL}A2ExZ!W8B^@1&LyY4(@r{IxZzJcICTQW7dJ&*H zAnVD%fhjoe)0T1GTLR~u;014n@?MlEZ^NxEp*$isXDv^tYoEO}Vc4W`*u_n1#1ogu zj0GKfw12!AO8eJc0^<={vr*a~xhMsrUDJqTHi!M_BqewQ6dJd(6e*vM+l^2%6}*Zx zon?QQ6glI!ap|N4dqcw`gHVGvMF>#TkhCIFl@~WM=1@7T3V(N{e0QgO_oRH!O8MR@ z<$G)S9m%-oGn_-xFo)VZrn;-ygw?nKHooKN2%N9^-$yK#_dyIzgI~ue)o33Bi3S@? z1+jK6PO-s^^a#|^@zVrdJ1ZUM!`JW=m3rfBe!B6a9=$V1T|G|xm!;Zd-&n6 zEct@nvTZK&Dyu#=-z@SN2``I|#H{)r-<`4Tl4?{6+oi*z-n+0}+QPO=b*Hmk zf`>ZWE;jEVqKThIS}^ zi69dbVIfkV-kO&i@4#U{Xf0{|is-gi(n@fx4J~{XmuO04`r)yI5Q2DPFFr9YtYqL}}Pa=@ZSo zVcSz4_2$C=H&bSpRC}>g@S_^^D$HLGzSjFR(1|u0+DKr%FUloVvLd_O)hMc z@T5IvOKH1?Lj{sM2_pQNIrK*hIWvFFB8M;oZ_Q1fP#1iqEGUrXJW0ExSxLJjE4w?5 zWl6fcyO^ijSaYKtPcea7hl)`AIY^q;Rjqf5ELgErS8-0~il|0n8|LJd94?udORQ#b zNH=e4hq1h;M%5CtV!LITqq)FTjh7mvsK8$r`VI6!1L!Ds;#9=ZYQTqER}dxPhTPF# zSNTDFqg=Ew6;>REe>Jip7r!U1R`=HH>pT>5)yVlY`dZoJ1SV8 z%wYeU6ZXpYe_73g$XYg9nk)-GUfSQma5*K`u80dMMOTZQFyt0X+u2-u0b-FOwr(x* zigO!9o6W2ngvs%K#;EJi8C;jn7KY!~Wnn3NBK*SFtsC%+G?3y(#5cFPfEH;cm;8omm#Wqm(736ypv3pob3{12@%5J zyy3(GQe*$TVy zS&#|3Ew}|TsE3P4nOBbl=_&^a<^~CBj-bCWJ}rX$b>rZKLKv`&t~nu#NHCxNa;Xme zjmf7vaJ?y}vSKQugIZQXpC$C0PHq_;*AXgxC-S+hoW2tUT{eL}={Srh4AW8fA3)~r zcg(Aiu7k>g(GinjSR3HqJs=UfRW*LYIVd<;=!6A!ve11kB@6v8^MnoqC>u8s8uY=V zqU~=5IwBgZUYL@=4&J?0jf^JRt^Hv39aY&yCoh-va5Dj%O8hc`e2fp;7@PhD@v9YV5cF?|>E8tLn~?bkEgMeI zc}|-M{$3ocgBo&;wc=t)1~dy8f^Z^c{X}`N1i_p_1t$ZB{B>d)1q^Z*;xS?3PY|FP z?fb&5AaqBh(!P)1D!c&FJpfK^c)@mvFI?wxjEuJbM2+-h!Z<-HN5**J-7J_h*1po= zwaMn2;D_|eGHlRS&trpHKc19lGh@;=CCrMyVdizz)?2B}LO)x^J_s=E=?Mw#MyFKm z1_zI^vbANBU1-CR4W>_UiOkRWwdTWr&Wx~=8V`*~rn?I{#!kQ+?0rasRj_efcSGwx ziH`rS%I@q=RFg<_z%yk$aMPsPAk3ZbKm?VkK0qBcXw1rKLGfs8(ZUvMusbGf&E2=y zw&rXhalJQQ$7D}y_A+h>T0=zoU}zwgfJS ziGHi4#Ga#LzfDgc|yWeb|S>FU&m*5U|ZGSR6!I{ zQ@joHe$U(T&SreyBa-jiKK>+p-~2x(_`c`Ir#Q5{OYPmR7Q7QWYs!)UOXr+wRCB4} z1J25CH1>B1N`IG^f5BWHM?u=jLa#f-s+9;RBIO8^8rQXh{nc|gowq%fa!5+X$~ad7 zd>q&4s;vIi6!D*WYuMDws!iF_LTKKn=2djX@t{*31&27%+ zVX?jfta;14a$GVj7B%@eEqySWS4SAr{Qexse`gX)&=c7W&)1A55W>Hdk!;>M2NJFN ze33x(gGw_#N;3{4oLP=!w_o8Jb@_IRQ4<;k)&FDYd?fyYFK=DG(i2DLN=SIC><0Zm zR>sjOVWkSTeK?c!rSK0;?1+Zwz5iwA(h=xRw3f9{~qHTaJ@v{h?XFuafZzIYNrSCTJY7r8P%AdO`Bm zDz>nuYja_ZM`&yk!kXL+VNGMp!kQg|iC{~PW_R{K^3I+&_9S<9^P`D7d+eIToee0y zGKU85Y&z1kP<@fDj3Yb<$xSn)b?io|qKF245@~&YV}`({-!37rnat*BcSyt|0;mYg zGl{5!T66Y4u-1<(<+V=4V@xykqPIRqB(TJ?G9;{ZiclGZ7j7eHa*-B0;Sra$BQI~J z#wRK;d|S=`eMJX4#d_p#Oh?B%sgV`@jR}D%s0Q59j0n(iF>9`t7xPNKn6v0&enA&= z1Yb-^1Uz{)2dluvw18>|Ywd$6fad;C#MOu_%Ui_Sv7fYp6Cy!c!T}rV(zBW0xonxV z!s7^X*4Fr^_KQKH_cX)Oj2;?MeZ7z3{&wI`9ikP>SQ&O9uDc=BKHj z_a0AmltGxY=EjvRak=brd({}+y1`oPQ%}(SMKChOJCfs^4fjFuS1yyMCKP{c=w)S> zF2yx_^7qh2&3ZN^o|A1)VGA2Xq)H?z;kX_IMRIt8XFV<_NXtt=D(-}jd%cZtOKhJW ziEk|zH`ms_F+Z~jmXWwE-;7BREZJ!Ui`C9{5nlR;yf+=q7;4*3h;p&Nn%jQYJU*a} z@7tn(dj0a|fsA{~Waww71TwC7^JWU)+j>{Zj|_TD0X;T06&R$`VqM0Zk`{aY_i41) z=cALfn2TqV+20VG{)?W1{u_O2`Y*lD=_!3ayd-l4As=VjkLkVx2?#I*-~d42EN3b? zL^KzNP0)?m1Q7-#p#fAFT8xf?&1otNKTHrrCqNLLkOWbKAc$UXSs4B=TmKt834p!* zcL@OdSTKbsdWX=`Yg)m3;lYl|PI}aX>|u_g9p-V zm;fz+Zq)=yEUjl^X^U!;m?e6GSei8H#zu9gWtqMI0;oFZw;2lxe+!$IPWQF|rYfjo zSBnACW~>CULz9adj1KII&|0=zi<;tPVTS-cotFhP5Y4Dt0p zeIORECDb07>w}xc=;*-K9RD*&JhAyRVuXT7V8K+SdEs?1xE|*`BL|DyM$(R)Yh^$4 zTY#wec)O){(bD_lUDC5cuKpeAt50CyPY(mA)kc%}EX8Z7TQX$qFCIMu2Tz%`N&p7c zn(WK;|K$4_W5H!h@i~+6v7;jqLZr)JkHgCTdz9|n4mCQ;x1d^8O1Fb&5=;o%n?Kvf zIdB3T=s&$treQM1q^9~$iZI+Kdwiz$^hLHk{r2Okd&lW5>i?s%Mg3hF7WFe*wy3X< zCIn-N^*LPQ47FvcuQ^qTC(WNSafsBFCUhEfFh)`f4{K3_y$C*EP{!aV+ zLE~+5{@|d~+mS!OJ7b$h*yImZjj+leP}+}QE3@u4o;RTLJt7IuFIj_IvYucv$v>RY z2tpVhwMuno@{cKvVB6iOqax|mUnzQ$G?TOII;kk?V}M_s8N+7Cu_(UrX41GIj-YW+qkM88`qM8C}y zqTjD7M86-yukwDJ3h!}nMxT2AYn6I@3LbNXj~j3n{0%-$%1j*T!v+R@lgIQksEK#g z!8?p0qj=V1egEk7_=s4K8M|XWF8V)dJ(g!`>+uku&3Zic+xXVw=cmTG9y4#ZUyp&= z@_M}O)b_5&;Hft2@%U5QT#sXBx3L}@*m}&8)?*%HT-u?qAj?NIvNhGjB&R8oKIINt zV=61Fk@Sh8+``H&k@O3(Ts{Ksm;+&Bn|-cm0^YhSl0Hn7-Qc}P(vJ}33|403>MhD1 zR`xLY7iBLidn4(;!j)`z75V#on5x^jw38gBr465ngqFCtuTcYO3g3?+=}(9GwP*#A z^oQtYek6S!{R~FZ=g`jpTmSUaA4$J~e)^cbO+T|D=>=h2?$bkjxle=TeiJVDk9wGw zyIz==s*&Y64)$w|1De#bCN->i9jk_awd`LFYv!nB&0ICm ztd2FQXOHUvu$~nfpsImAX;Xq3+ywh|MN?)JMTy*GM zE8;j`2$>@3_`C>MrcWk2oh*E}0wOBSQwr(Psgv=u)&pjX)(6ivv`(2#-=9JM9WI1?FHr7) zz!n@j`Xn!OW(IzculxdL*jxaA@fOEC_yTHqF5BErWu2VEcBV7Ex#bsRv48N_lUsfo z`!|yPK9|*<>SNE?zteo|x1arG|1Mza@zenO&Hh~wV88KJ5qJ+U$O`%FFJs#Z!}~ji z@3Aptamy!MY8NDOf<+t=KSvx4cVkd5>K91~tF0_0U`3!0=ga_!vlT`5ElrXm@tnqO;&5gQsU?mz}}>jfTQm zz2Ql3_JsW#-8(yUR-f$9>3y=x&tU&X_kk83XyIWk*uT-9T*KF2LQ{B(DxdEpD@^iM zx~w>oK6w`MtBBb_{1>xiF5$nJA#*xbPUF9r=`w7Vkd~wPFPC6;zgf}o z5hkzID56em9IC>?mYG=!oXNuJ@ex{h!*qLGtoHf%pzf)!!;u+feUgz;|ttZX)YWG+M z;2Vta*{Am=oeDeW)*012a_NQ(W*gMusm$OV2f7kYg@Fd;xBkL6E=w$Z15{@1_ja~z zP3B}wc9V_CHYeNmWZN~_wryKeJ^87g>fihOzO~M|&%Ut__u1=U@9P2_&|ouP|BNj* z;GV8Ps`w?e)IUoFNH%lKd{Tcu{>!pxP8xngU@O}>Ke;GcwRf+L;M;g1Msm)Z_d-~A z`fy8sc_V_|A-XmE=s(XQN8-potdS=wz_>li$&Y4zd?PQpJDO5TX9Z@XKa>KfJTw&b zz{l+^jisptbmU<_tc=U9|0c)nwS2d0-mJ;j8|@24^~j>pJ%WD@nrQVDrNps+;Mh4i zf1!agTqQYFvnB$=3CZBzVsrevv5hzW#jgvE zQUIi_mV% z=Qg@TVv*jhkmB=@^O{3e0Qx8~4B*}~VYTsKltzl(eR%LF- zQ7Yl;os9n=vnAqo&vx~M!`)3o-@_K>Epc)yul}PUBOQPo;($Q*Jh%$8UWDMoQ9w52 zRs(1b^*nZ&e;h~LRa2YEDeQ8zccR^dbe}xjtla-m04`Lvi#73d5?Yo9fDO$u^28Nh zwGH=*PPyBolIQn^&VcktCd~q#VJLTDqU-;Oe3*h7{R=Zaz3TA=dT*eHkusa7&3gPY zMSR=n%RLr><~Z)~LvD92gkazXf^APbrGBcMbW-jrtII>;3*FCl$JJ-YFWr%8=59k+ z-;$Zc#Vi^1B;|hpD3oP99P2mdN3If7mXbb@i`Kl6SdfJuQm3D|vq1aF@i=2rHg&8pa2FyipjV8vFi7faxqW*~rg>quZV1rnDd`;elQG3kSi(^uC) z$IkKsCs&*DUBTMBai?Wsjw`rXe$S4jti|Hojse+DpxTbY;YZBI)9R)M-iDX)D z6bEjoO_8749975DC_~CUJ!VoNk3Q}>el`J5&+{%s0bY_FPL>UljhrBHQxC?ZPm>2I}{*EVe#^u${@A? zvm64zo=hRP3jS5Tzx}_KQ{}PcWTo7tcn)j%`A=kwGm0?xz5Y5BX z#yzoe=qeoFr2X8O~0P%SGc)CE6Lw8jyB`Z)1{Wc6-r z|LZ9mQtMlo@q*{tg&9gxbm)e^;Xkw+?#SX#$5_? z#wI*h8bK8i=Ix}Io$^+=T{E^ProJtHUAp|!Kj2aS-Q7SRyoKS>qvu)55_spg7)Cpb zaIWG46yr*_r-f2=@bmUY@@8Vbcc=vG3p4@BNi4$cZM;HY1L4ajh_v2W~D#b zVF=Uz#VYr1vFo_ZEG6$`u=3T$;|zx_y}B(OH(1R_1q|m;UTVA|eSyf-y*p1Xn=g;1 z;~#rbPeB%QB~~&oz(MoOzj3E75gbk)U4kE^&K*u;<0Iq_-2~AuYHD>O?6_sv(!nS( zvpXbsYP}x=m$B{}#uvEy#}<%^UZ)A-!yFd!nzq&wp?5Lf47C-W4L)`Ij%Y-eD(90|4Z89GSsLlU6gq%8$0f=nN z6nNoUGm9TR>~ONt`Wz8Mr?lGBC(P8C3!ULp5b5|;kwPKp_x6K)=&?k}r9&ZTp~@3b zp@p!6lmN=)WTHH#%ri>^!h*CO^vp62{hT; zmWgX>!nB4=jjStwja5S4bA{e*fXRP-w5wz#kxAQ6SPH8S;T)2&cW@-G|3vmnR$zpe ziTq6I@PPBMtknM_a=@zjcayH3`RtDtuH(;Y7v=t0%52sJx&b$>hbUtl9D%~KVdF5` z2ISz_0eHHkugI*S0k0?AF~s1(`ViN|>P8b7wQ?zvvC~itW9rO=*Vi0lm?n+g%i&wE zYJfTKk%Igb;D@QStoeW2<9eVl2M`9WmFM^@sTl8{u?k`Oprfb*nH{{7rUG~h@$mXTJeOj@>3BQaGx zmVyP|F|?RUxdbm&yu?@wLuZZfJRk${ig7i4%J?se8Yo2Zd}085!2^E^?=V1~oy50( zI|lhpTSs!qFAP?3phAd^RK!kLljD&An6tRpmAt-yicOC?L-W2S|3eT}HZ+zEv8M9& z%wVcO-WVk}8MQxEJN%BK60*K3xW4M%L=$(YmN`aG5393-$IVsd-$ldPGIo6xLrvA7 zjFlr^J^%P3!+g0SvFY1MRo+dRmL~Ml@tX)rBtExeL3v(pYruEdYsHI8nw6H{2#0_p z3W7;FBFNURmuM8Zc>4u4s$QMwYn4PBQBTkeIZOOlyv`0fw`PLQjxWMk zn}62B_>CLbog2iReBa!fY22E*-CR>$U3siT-OHsnn(}H^JouM2Z2F$Xn3_j4D{_iC zugxYk1X^TiERj(kKq_pj1klBtqHhH&v@NVo&K&PXcese{Fd51DRtfnjFy}F`=6N44 z$>({F7(Jg#xev0HH7Fi!RW&HIm)1p)f;Ss7e0$$oK+8p#d?K*Aa00z&M|@<`e1>lH z7XhM(#AsxYLZr4&5F+^UWdmQ`+~BMHxORh+sWJ@f=AOOTPzuB=0UG7!wda@|Ak`6bA>vWok1zh z)rlS=5L_^EZy!9EbYx#~51`pk8q&+F0IVhIAq*G#87wr9(o=^1fvJ$(oK5|U1q-m5 zWViQ*x1YBMP;>^ma{$wl=7}fcH@^4bni{*=?!IHWQghHN@?rV>bzE?<1Rc`RckPns z-7bl1;Nu4i`CmviS^Jr)&%6*{evXb4ug^RunoTY+v9~gbXX$8EJj^8V3#%I%M%Uv^HNL&+ z%nYfs+zX#>yEsh%FBRN4To><;G8sxy#GKR^(*X&2n%6&bYW_t{2yM+FvCj+3O!aiD zQdKU7%m#f-GXd%e^K{xvF69-o!fNBfYVp>9NP9obZ6E3mGx(12-*(^Un@J+iF(@fJ zoa=wv7=4pm5B3+C(7-ffI?$$^RtD21M8}gvI$r6O2NdXSo zK*M|TsTA!=R@b&95!00!c{~O*JrdR&-5;~U1kKU}sZymdIr3IH@-#VeiPD68G2zl+ zgVJEdQb?6@p@|?tK2I`&v8L)y-M0*7lwI0`UI9QN z2e6xh-mi_*i00m?^+e}n@C!39NgT4CQ57uxj+e;bFkLKqi<%U2D7Z&Q%p3uo!OkX}}?{1=DvVmvpas+6? z7}$Ny9d70~%=K|t1e_g#LjSzg8uouGk$%b?Q|CDkBvDFSY7^*Zj&fGEp)|&n;BCg{ zH;$&A=+cln6;~!uS=SMqUxruybDw`|rq}lKRtbwLi%zgq-6xLcj-}b>G3Fz$#jCPf zW44E9Pd_;vZMkP{`D1N4aBaDNZTY3X3ei{-cchj%N>7idvxCyjRr}vX)Y@`NeN|O; zRlk}s=Y>xMR9tv)=`s82TE*0wz|zKWNtv5Stk;{yuhMAO=)cDyGq;Dk(f?JA<^^G(e4a~#f5zj4yE10{Q;(qe%2r?_~Uj_an%_4!bY%ZZ>#v!~@621Ar%?ekGZ`d&^< zmTVm3>a|`c1?jq4Dalggu3nSoq@nJ${;gDwbp$~on)NQ9egsdsDn$1p8m*g2PusTN zXxpG(f0yf4k3{fT-+hCEmt?+p)H&-+xrmN(KA#(1InwJr5l(LDJpSTLx#r8o(O5r7 zQHUzn2w@nV(TC$mtzv?w+=(S3lqZlzCAemQl%Q(*h2ZH_#yZl4^8ZRCk~ofxNfhWa zbC^;~r{6s~_mI<&$L(Jn2aq=?3{aL(_>`)Nr^1!nR6y0y6S6VnQ@ zlExUIgcn5`U>~npJUmTN!@0djppQOt#7~j+&i%g1=|AjqqbM>Sg3?d(HPG&m-Yo@xHZALdT0TY<90eE+w` z1M)(Mj#-avwB-J{jblbEJ8Rf;iEe>^s9ihni7z-^s+nTC=x5@Ias|K>&O7uz$XKt) zpPhkA3}p5cuY8-fc6)vk)^ytwb|Q?BNRQt5H$q{sO3+0Ojy(9vERHls0j67NPSiB!AQ~or1Hxu>I0ja06{*vgo^hE?o>wp+_1~HSHhc zxz>52PN2Cq##!Dsd_T~>f&dCMQ$tJ!T)sA;cnx>fDb7UL!?uQ@S z%1*&(?J^4t7+Q8HRme`2#Y{)OF!V+zo6M)lhi{|0uao@r>GNk*k&Gxr73i7LO2Sbh zW+#<=QTnBOoybXjv6Of^qm&^vGY{8jJfUdd9G?f}#E$pCQBBIT*{Bx2wg!d0a*tAt zBq3>IsAOcB7(P`DNF%D~f{i~z<*Zb!m2xsjw*w)6G3e!GkoL04Bm2#i6pVqxm`suV z5~>Qurjay%hQK;5WRUV({=)c-8@mM5@M_zl{AHm*EI~+oqAXA|@>jt5i7kir!jzr* zU-j32)h9=K0A<(@Z3W}Dq>|7Y>RX_XF9tR1MUoP|ky$zBO8?|&OhmOn7yb)6xf}l;S(?6O(AJO{Kc}G{y&jnVi5p7@TtwzKS_;N ze4&ms#$INzqU#uTsUf|N@=QtZ89D8Q0^^ZF6wGcZ96!Jkh{16ri!6{2YyTSGt{S1Qz$tXe~sWYX%+Rv%`(Mz&HB@>S#FL8MfRt*YSEzMDUx1 zfU&Ex&x+m|4niB)9Nj|FvB7-vd?K7351!41GLTpOixmieDz}^4y%tGNkDi7>(NFZR z8OaJuo8RD@c8g1cEq8($uL9MhffQSV4>!TNBi8h_iT+f+@w=s<_V?9PBJsvb@rLZ* zlu5_owmWxz*4oqK5X6cVmv2 zvf9oHGkRVSnT2C1^*9W;*Q5g~Yb8bbDA z^HgvCd3T)T3yX#U(be2rqI0d8h+9TF_XaI7u~n#NEXj*sNG{|e7YqCn@n#-tR>JJ{ zi)&IiYEs~sdsQt~yci0MS*gp7970ALxAwTTq!;v{E+g~Ek&UBLsgSzE8i3$0q}!Ti?yfoApoA(6cTv_1GNw9>=XTKUtL z`Z@Ou#)PM3eSL~Ev6AY#AD5!9A5YLV#`|`>}pGja&dXVB1dgH z^2kKQqBz%sC1brVNcAsEweO+G7kkXhb24tTY;KDPos%R^jUMU?v+yrPFG8UHSOKFP zxx{rg-fMIc;xnXXDt~tv)gz4)N>mBbO)Ak3MsQs!)BS|1d5BLMQx@)tEM`aPhN)R* zvfpv>_{ig zDjkT(o5t57lpItxBiy1W7|DJwsNaz zMu{2;HAeWlGt4Dd18^{c>FM+eH)A{&$PAzK9ZCt$?>7H?b$;rp>ZA`d(p-U;**DxU zGI+6s5b%w1NU8kqhJ(q3oJN*lBP_gFq5Hirx_AKX9k1|~yofm}-pgrR-aS=#Q&C^$ zpJy{YF6cq?p?PS^5mCFRTBmP%@LN!j$-#1ey(oSF<1VUA>CgOF+CPxS${;z>&^(~5 zL!)s)=AFptS$*n47ijy|+z7$2`MuYoIwSwA2kF6K(+iPx=GX%%zV$PK$n50C;b;MN-@YVU>54E5U!q+S-j7Y!9Wqm>}gmp6?4#5SF4QI-&BuV7RG zWBz*Z=v^}x-|I~o(HA|&VUwDl*Tke0So}kFj*kwM5K#S3aJplr%^OD?lfr#hF2fE* z&X$m)6u^|8dz1q|&-m&WVSRw5VLI`mPM|%{un`g#SRC4JrVj3W>Op;+>JXHhCCZD9 z8ooKa7?_NfQmS|7S|!O3PvfU_b7>m1zX|p--@NTQR`lD*Z6p4&v&852+}k;YbM#J} zm{)9}3w&GP{99%&c&DU58OudRqDfnBzs2Rst$dkiS{K4WZlN6?#btg%F`e2BMi$zw z0aTuk8cu&1BmJuKx~v(x55}E_NfLKr_FejsGV6Fz0yla5GJFUBU1KFYRv10HB2Z;F zew-4gUBPgeg0UrnV!}*4h%zmuK{rYcviGq_d{2CwQ8t0HQOj-28XloL1fo)er63N0 zHpliy9~c&of6Vj_6c+g0thHZFsI4E6dE$hRIqMRs;e~a_C69n7V*I36QPOCNH!gaO zNFO9buON^yMU*hDDc$5lo0a8NWGfkW%rsk)3eKE0SHSn77jBw6RnluZMe4>jLCwX# zuP4tnAEWmhZQ^90vEBBdv2WF*4Z@Au3b*kGL3VeWctJka4E}W@)+)?$aG&n54Tkt2 zA0LgVofozCKAiPqn)b@6&EqW1xi2N*EA8AypJ?QWa``eh)p~5Bv`wP`IRPwjJi2_x zfIgGNb$((3J-C)=js>!>*p+WaoQe>%@E8ouuh@32Dg!VRlp+q6671>>7;>G(6`G7I zpms-pS$rv&P$yV>j?d#6rDrzuZztL%+Y%8E0O7Z!610ha)b-b+`#78m++fhs98uy) ze(=(Uc-5P3Ijq9}r+`RMHD-M1g)yx4d_ImwrZN{ZPv9=oLG z1Q|nYVI2yN(jf@eNP{yUsbf~yP+{umgAE*E>P}%P>#Q+%Irvo=?13W%LvmbULko0M z&%NZ{XWrGl;z$AZ+i14#~>WQkgT&E6fK=N-qNdfLECv6lU&7;`9 z6?e$@G-y2R0%St7pXLF*<3}Y=w&OIZ{iupyy^`dMo~_Sm0UVA0E)`jYF6w%U-a4b^ z=aKEY0-?eML_Prz|0q4r9Y2QG^Y*(&6dg8tSnf+7dXPYVekqS{Y;LEV9;LkJg_=!} zpI^6KpuhdwCTUi@-c_7l4tnQ?i5{_n^*eUm)vIaq75Qmk-6o0i^+(4v`DxJVkMo3k zbXz{_*+stng!=)FmHX~8=U*7JI7oU$ZogvP+N|x+*TymZd->^HE2tHjH113XRj7~`IkzAnCY&T+4J(YX?ip*&m&@djY{hPREq47IusP;8< ze7fXAAz@87(6^NM)$&QCRT@0jOUW6e$48OMbd zCR&7GgI4TN_(@v{qX#xZWe*Q+n#ch|o-x0V@fU#|w0-Ti! zi*J~{+V+#;&kQYcTXzk}n6o}q)<$|P?8>Ja9P$iqsijonswn9?Sf)#BZb6(3Rkocq z>+AMa<-btUUoW*C1uvk6?^YZ)@2mM06aUV)NBYQe;;CkeN4gp=f2Km8-cdX zcx#S?h4rSUIXoX5%ZaY=YQ!fl}u;E{T%XyCj3~VaP@N2xCA)3xt&t z0o{Al;;X3uFbyQ2cdg5eZEupvUb2CNNkW5ur`LvbTw5mM1Di3d8M;*?|u{@|en^`Hb2TMUBbIRg)# zUoQZO)$uBbJ9N`T5VE%em|%eXMM+U5>|3xAW+3voV?Dznl)%)dxK2K$xXgNRC>X0P z^2;1sTzR@qnaOap8Z$opejT!qku`6s;!Lp0t#+1Hp~iHk!D|Vuqz2e_^&vru=6&%I z;!BFwSbm+b$vP-g6el+Rc_8yk{&AtGCA0EEnNYs@cwS*aZ86SF1vq4slV5>Ra9V_N znEBI({9hmq(YyiNX1m9AkpHJY?kur4(!>$(atoU$aIl3fGbhVS`Q|%(*;umF;5(ErwwTY=wUqI&i^esdL0v#cVPINqz>DeV@_8DEhi_(5x)$p zAA(SyS$8h-c8eKBg6XV#^ss&I>J_Qv{dOzT{VLjDd$@PyF}5V8mWL=s`N;1Lxa#xY z+zDI-eOb^wj3}r|lZLjaXRfg|%{az?d-db%r2KdqZ%pBT=I2S}f1VKc6!Z(M;jil) z)yUm#8)+>LkISsU zbZ<9&e%;=3@G#rXb?`8=rGP<08ligbmqVsd7r^7Xt;jm$;!wG@eY*vTD&_}GZ+FS+%l9q!$DLB!8=0NrsEZJwPhP=lqISeZh+z|Vc02fXYxb?+D9^pM zrqsG;P(zh-%c!UVM(uY}>BT(ioemu%lf}v*02Cqh62I?YQzOvNre*c3wlwH2O=H-ZhY?4x%OAc`bp|wMA8rjfkyP)?eeKdY`p}CUlv8dZxg&E=%{vbp z#oT6B%;j(11q(aC+Y&OJOO<=8W7P-sDh8ixS8VadqW;$5C%4D4=OlogUpcLQ2$E%& z?JzW~2TlJixrF(bePFYl&lNBiUoQY!Z5Y)7+v1CqzxM}yOR0|Va$&QoaTx3_=-JlxVpUCM%r}g`z#@OG2jH&_LCXB_9>ax3elGeD8Vd+L(joD=@JR))b0U5hX4|b!Oywf1>GBB-PsgJXp+GgbnwZH+mIzw4l-a zwUaioyt00naj&j>Sg&`Zq3c|;nepg%v>S9i*tpNx+Yf_UEEGpY#j^-e;e`x7D?)h7y2)x?ZmBDK~dn~mT;>1)k4 zsJ(F^m*pvxF#wb=8{X5pV+2bN)9$*mvjQYy070AWXm4RJRinO>Z&Nh6he~(Lp+7ue zKkojCSJN>ms8Lf@yhjluIRrT&h1aukkRq%@jvfUUpZZ(8gB#?J@V@*=V)mz4!Wo1P zlJ*p_>U<3L<5T>OtUlZ5{;mO zzOs>Q@Jvc?FdF_baE=YD^n|8e*F_79C9F$0V=GyMM6@$(rG|z4W1-Qg_R`y86^HD6 zk#zT3={r@C;56-qTs!2V2f~^hTXTl#fgGE*MMhi&q+z)u@!?O78$`>1!}~q*Ezqyr zwhqt7IlgGSUB7NBVlU2;YrNgW%HELS^J9nwn)P|Q-VSS)5XrSt`L;Uo2! zvA-N-zaIAF&rI++L*AcDlXJU&7P;>$EdG!wbU(f>eOAfNXL}Le1}>HR!Qvc`!VJ{C zsH1&!+u1IqSrMih*@7~NUy@5vlExKzCBDJZL&0h|qhLY63ZrK91QYLm5U#vifxhBo z%gFaDwzFb(YnhZo%81RqLhjNWGq_0b&*rULnxAbyfB2nmeR$hmZ+(2W&TsYF$A^%g zIL>P%vl>^DHm|EW+;^L{QE2MUA=BM=eb-Zq!~fmu^~_>QvAzat*Z+kpw`ce0s`dHg zjD~QqISEuhA;@T0W;3fYozR&0vuq-5gf6ylv(7RS)64gY+lb!e9($7#>lDXAHi%Z5sAj{3aa)Xd~;MrE&i9rs8^UP0m~8$aZY7mDs?! zy8vuSHzz_!kg5gYyz-$(ASZmZqco2meCeKXZhCR2Ci3X=%AUNM~Lr+l(OO|Fq{C8)dsacoA zFIJ3Vq2gkuDFsT>iQ&Aom6ETJI2gf6cwPVlDj+a3T<|DQ0G#9k!fxFlvhX==ZRaDb zsjip#>dN5-*6CT3>d{@;`|StK#|Ku~&Tin<)y?Je=CZ-_)06wQ!b4gc;nDDV&qwxG zd+l@eYcx8kaBn1p(HkPmNX9`w$8xt=#%Th!q_ELgE9q zlSIVHf%N)F`}R8#f%p&~RPZ}ew}Y%(h)-3R%^%**KyH6Zpek=yqbGqp3v7=893P;v zgECW7X^*%_B0E78xW(Ju)qfG<5&kdUG@me^<_89rkn^)I-{$?j89yG^?GJXP!Fzom`&nX#d&~SdZ|gb( z^6CSD?y^Ln$z6#LXe1 z>;J6>6h5QlANu)rSlui5OCEIDqd)ff>anu>$3PzBt%?mYApOzs5Ax^P^_nc;~YR_wLh||B}U_%JUNwz}^#Y@qTQ_dgH$f|KY!D^|p)Z?f8C0@u}j+ z_0@*(^2wb0*yU4~Ne;quH8X=FXAclB}t>U2f5j)#1hu zE?c%6e~6v-FFkIbO+CeZfbmgv9v>ucz$=tu9@5izYpN z_`DmAfzMw-LR8ImKv|PMDV2?|JUqycWuCpXkpO?PZaWWPP$RL=MqvHEXO%(D)v;pn zX6@}MsnZ+{jz0;H;VO`w83m{X@+>?3YW|~t3$W0V`)JE%1s<+(elRxa_&d{9G_4iM zU3{_rICl?1WF*5LCO1iZ?8}KLyH+S>Fvc;y=mn~yC7b;$ekr9rGckbGLk0Ja=er<8 zVlyJp$@oJA!RZPU5+s1+f}ok$y)L=N4>d1macFek&YD9v(b;p%5(ZSixv%c`o3^rw z9x)}EAQhOcd4TW4Yn8&qkI`zr7gq7A*{-g_D3MO%agtv4(3 zI%;-+RJT%sE`}7XG~bxu0}-%K0`9JUo0}()BS5n)ukY@ca*Y5KScw~qwMNRhtJUE? zjpKx5_7u^9H^Wy-**!MII<0sKc7AO1gfj0iq9SP@n74cU)Oah`>OsJ*x-4u&JC)2#>wvZtOpgFjBP(LknAeEYU& zkR6}kJ2Uq4`gZB#LO;sYTfVaSN+t*f49o^*OF7Wz23?v73p8uy4&TXjO5nT0>3`MG zHQFGozvOOMie+4S*4#?3(Gs2O+Ul~&uo-UE!}&_itgSb5rJko$GfIDL~~0{ohj@V;{hzUT$0It45R6A)Ds2$hTt z7=2#JV5tdU2xMy|>c^0RuQ1w7DJy0JV=p&m;a}mgyORQeb1JXh^pHEE2fYUFE~EuS zbt-s+jk_;8Po3!&y<#^noaL@39FWA08hK8>{*LY*C(CErA*%Fo$Zi*7y$Ig1vS(w_!N4pt@dnx^Z%t?1lc z7AOw?W3w(aZ>1_p26C3w+xe;cSx?t7+DVQI;Bpo%suCm>jC|Gf9Ax7* zvvcon+wdHRA;weNzpz92e184+*`BXR?5aC>W=;00`^V~#*^R47&!3K$-^tzF&vwSs zy}K=q&m=yZrZ?Dd=?uGZlRJolU)y|zhl1RVGrEZt*fzbXa6n&Ebht`+(zj6v-|)V7 zc~bG7?e1v2>bA1oRYIL&UH5KwNb2f(EiLKR{45>c$zlSt_jg(S*B!U(VAN}A)BEUW z*uA^b&GNLlnisR-z)f?F{4_6vY_}<;x7*wlZ{9^?zWS=Q^e+y(adQ!r2~^kw(fiG2 z8ra)OcIQU4SYSTE_=WD;XBn96)*r2UBOAK~N)?$uXEr7Sn;&XgUetFDr|Tf>BsKX- zIEx^&Q$h6XJ;jMl5Aq+(*o(e0+BRn}30;mC=`=>kiXG+P@;jqVxiE^Hg`9_3ZIYv_ zl>0xz4!tuE-y{ZCEi`O>e2Z_@yDAR7Kj4R+?|wwEXb+}g#Kk(qhRm|WIxvr>O^mwd zhB>_Hdi&^KLwAvTgX27QZ`WVqK1b^bJ(aILDrOUP3cCOP_xge>^SJQdC5A3Jbu3m4JpL71ZE7l8rc;PNY`IToJE0@W!n$Cts~6_z`Op2StRd3F z3H2gs1nlm-k)t8)exPq0pB?$7wf(n4eNMy_he6d%dBT0R2XL3z#N^zi>4eFa z*(ri~^fNNwZ<5CzrWCRK@-^=vjW#@WatsNdAzvKQI9r)C(~mbM^O(afl+#R7Hm~_DG_&__X{Nz>^MW{ zxJj%x)kwd);d?@4*a~9e(aRuJ&-MRXVnp7iBGMBIye0{}9=sll;HB+| zNnmF`MUZ5B9W;4-G=i8kBbuaf4WXj_yERYTMG$8mnH2z@$fpk369mbE)&~o>=K@5F zo5!_-{)A@9@#%@`ok3V(;nN2#$G306;Kr?{#M3QJE_bCJinA!LDzgxFj8hzi+g!i6 zj_lb{JG%8BkHOT1yN@`?Yvc%CrvlR8=q*5K^%pF^8j6X1_97wdLMdG&W$$?yY84Yn9)14qrib|l8?L(ZZ z2Gj29n`pzLkeY?m$81aWu8CSy zTCU4v<}?bg@rJK)FrC_of>0R*D71wEzXU#An*u7anyf2hG-8+CV7wc=#+B;RmYkj7 zn8}^AnnQ;6U!k@*Q4D6>W2vL5^dw|E0#bEDx0AvUI9=fkTwFD5Y9nz(a+VwDDL^SF zRPvgIVjQ?$z}fk(aF{9*o$~+6KTs-D8Y%Xbw)Hy8>ZR(_tkcT@4TkEZPZaB7lInQ{ z9}^n=A^bD1bA*A8#`qhmC+4%u&Om~DjruhtgZPz{_H|b%R92Y;&8B<|Am98y6E;`8 zq;t!7K8|1p6;w7~UmV;=j{tJhnb>tnBgjyoLzD24k>egUIKRH`1$ zQ#YN*4I;l^2+5(%+wxFU07+ii>XS{y-Xdh&gC35uw&W3nH^}&Zz zo>JM(?czql+~c-_Qhx@0EU;Ljy-5iu$DL@MEx@{6BAh0&3CKt(hdqyP|O{11t4;CjDknbd zeHJC;RXmQJ$1vxLd$vV47RM&xGR!cV*BL^Zm?|J2LP-4(eNR1@KbsPcAQ!_rX?ECM;=nvGaBc06ed*CN4-?=g&G2glDTUPeNCqLc8r@yq)i4)EH z-_N`E;$h?Z)j4Bah2JUL#^DIffWJ>2b5tR{d>b-#lqs<4)@+Y+rpsbK{*SD$42!F0 z0xe#oXtCn1WpVf7?(QxvR-A<`?(R|?3WefU+>5)ryDqxe-hID&|J~;~o6SV#Ofr*9 zl9Oa!U2wd^%3Om6e5*PBc<~7w!w+Gd`k(AZ_4G|GEM+i=e?2&&7VotG^Vj@=;p6x? zFYD%O5yu=l#p={mtb_DT0?(HUDb9w$!&;Bj{LJ~*)efbbw9qBllh8d=F(ngni~-uP zDrF-DR>ICZS$Aj$Xj~N9(f9Ho9sj!g@?eR{3%PuypicF= z{BnM^*(EZx*9E%DuK`g+ZGyTWl*!P5w(g``wd}X&gkYt&=Vkbow;u18hlk(0*PG8{ zu*~DybE73#7rfBdff$j)uK2Mf#n*@Z2d0I$=NFU|%)8A|+w2#wMTB0cU-twk@9xJi z2)Y$O1;ug?fd+V0!xF@wHl{yaszMEG!JC94)R4=r32w+`;By3F^@i>9qig|9?f}c)VO-=Y8|by6AHDtrU5CzDH1c^SkMgghE%3 zx=f$0F2I`=50`e(*W1?z4e0B>PgEmR)T^`5Z!?kT?Rf|S0|QjJksYBOEappxU6)kQ z4v*i%pgfWIg{3&3v^T$W1z1hwzVmi834gv^ztGyb-s~!$%JxWrnn)TqY8~4^}|=6 ziMGw@^}S-%w&>fHw6+!3jrC0!NI^FxLO(U&y75}%M9<*=`ZJ_N+^kmYlKjHPZ6*)5 z`xVJ$?B)V?mEiY{*Fh3xm8avv^z_TMZ-?s-m#v2rZDI#2ij!>*9Y0m+PTHR*y%-HB zB~8QHF592S{!9HR6fxjhqAchbeLyU<)?!-B{<5otDH% zO73*6f|Y2@DmnShCBxfw>fG~iU8EV-q(Sd9E_-3XO>b0>{9@cDW=WL);kwXqyPwx< z`*Z5e3XHTBDOj(GP3`)~ZzX&g@Y3bE==0EtO6I@uN_Pl*hrb;0{~eQfc6_e7xfmT4 z0K%$^Z)8{SQZ#t$;iuQ8^5Obr`{169--zAo7)!nIrHQtUTRkXC`JHZxy^|+Ou2*$d zRl~OZuFpeuu}$5t4iZ?Y3)xoqFW)pHHSbU=06cio%)^*bQsAj%&C#vD!G6nvgc1E{W55gA{PbICotb~KPdz=TaqGP*A~ zffrjdk2m`?Jgj?BrmQtU{-SZJp0-6g0O}Yyj1Q9PCN-MD zfq+MwFOG(QKAZ)cr!b@KzZi8OU_)DZ2$+wJ@9z%rYy_c~Qay}Zk@3B#>TCseP_|7v zz?4_Jb|PI@bD$FlF-ZqpRvnI}Pdce~0>>w#rsYA$HU-dML^u0iY%Z#RKGz3iWI2FK zX^}Gz2-v08;wPZ%EKdOl0S80N^$tg|q6f`>0-$^J)~206)q~Mf0IvY}kZ|^sU)vI= z>6>fqa3Tfcy9<_!DLERD!AB@bOtpTCwvY!vAlq;e&GG(%`Btq%1BzwcvbF$ z(Ke-(P@oU$XZx{q=;L@C=0tjUr+sz(W)H;e5OF}z^lf-^cO-rD&I{%j-NbPI2@nh4 zde|TJ((HUms#kLIRHXWo$HJg@Fd9vtv3915)a{CQFV)$8qyam|=KR1 zR21r-%u;2d)K0`V!Dbo&;fD>5+J6vp{|6inz!=<~!F<0z`p^pedm8{T4m}@E2Ru&g z6^FBZe1cM2cCNuTL+p))CdWa*-6&)*dB1q=;5H4I)`L}gz}RNWBY1xtrgI=*WkMA2P!F0mTv(X4W%w}q#f zgK0J|#&>hB*8M5YJrvZ>R(;G?AOK!GQegtfVx{*h(YO>DnYG5p&Xg%;S^bo`KVjtU z3S*P)9Yr0RjPx%93y%!&Zx)S&+s=)>c@mFaV6K1W3emw#1lmkmnZ=U=rGGzR>lHaX z8nHRz&y*ohIVFt5E1V9#n@;R485J%z`9W7^s8=r@H1(O0suIBzevye7)#zx{F8s^o z6(o5Hbg@ej&1#lrPJI&D{4YP3QBC$G750IJc4VjDeRQY`E#sMgtOFiqd;EJLT-fLr zo?!$*+5PFf{ssL5i9Y;6y&4-?Au-akUnakmI#^w?KjcelzXt{4zv1?pnuTt@t@fEG zx^BhEXPXXIQI=zir&8kcCCU8ekwcml-+x-HV}Ngn*E9Sw+dC-$a)Zwa0BY8hht=EP z2=teBR0p$_-a?j~h0L(7@2{6@Ke9C_r?RC(7!RABJ4F)O)qFzWV$ zRP-m769P5BT~o)_ugL;~bJ>nL{ks|3CbS9@gR;7w-x@f?ZY;=r8ANN67zE;5o#hWX zB}cW)KYR3hOCuXEf>&CxhE6vo#l$~{NM?}gXBn6w0r1sCyp>K060P137K@^Ba-V;o z!n*wKqen#RL*&hyiF5b~@u;jGsoMaPUHRQtRNQWJi!mxXs&Ei3slq;HCu;6Um$q>? zugKC=%;xWnl2>OJ(&x>spX*Qs@!`wd&sR^{Wc5foTkI}`?$s-bUOme`*B3#MHZQ_< zZ=&bP_C@73vscEX6-}Asm9~j?^f;n#D@gyFpd9S2H=vtb8T`8l>iV+=%jr0|mTG+U zT7do2#C`<{L@NKal~q-WVXSRy^G2y{%K|Q$&TR0q)c7h5pR5UertVj4&0l6czJii=UpSbzEhq%4O1KuIINyg4%#vWdl{3S|E9+(*dXA<$V8=8fcQp(IZ zMm-Y;qC)r>YUL(|{cE@*wp*o^(nW^K3rqz>-GRt=7rg_x;HXe|U%-AA5G+FDW&ayppm zt?V&cj#31`mlupvE|4m*zR&Nj$3V4~^elb!v1s!8ud{HW4>SzOQA-fXK&+)_|AVpo zwO~h^F3J|=^aizM9!2IVtcHUpUcs;*`NKC1VwXUSrv8HsWEbfB4uwsgW2NB4@yrll z9S?ZLZf|q%NV|rOUqeJL9Q6pG5+~4yako$EPf?dqph+(E(+8XQWI(`ITRi0Yy>T`d zH>Gog%*D`jg<04g_ZQa`QYCedXZbo@II5v=;c51Juah_5cj=PjPDcM`@C4S*N*)W+ zPYm}14suJ0+{{)OolDWocWBnD^TVAi9h(KCm^sS|wQ;gdh=S(Ku=}d0#>`<*?)v~V zkN4|v>T4fy#$Ar0C4Mfl61a<+PDQJfAiaWqMHV4oW;(g}@`!!T>D`4b7&}H4<}O`l zNBFu#(e;0}c%Q7(OC=;cGor~=l1&2gunI;5B{zu)<{rgyX&H3%Pu#*QumTOaxa?Dl_B zs6ik66LBsU{MtQhEnnoo{anB{5|B~9WF;oN#V~R^LSL)rU@o@D#=DFa3V)_37C4@C z9&X;}1BW5wapi)Gr-B;bEwOQs9kVK2yzm3^r(wLJ4#{=IXYgC6Z2HeH7o1dte`QFI zODtoD@_3f81I)iXdJTt_)znf=k(PO$%+@wgabhGla!@-I)+pWQ$W5k~l_@rn+$NjKG(*I6GTt}y^q#Mr2 zSuAcNWmqIh_G=jo^l)DEf-*AI1QiP0}(A?vPj~Z2jfp$*-LX1|B0YiWGNi}Dox6$kK ze_G~+s!2ePLw{ zzYHV#j1ueU{NdPa6wdexL5xQq6J|&l>Gd{2%>QLOzma~_d}*2+l2rs1zYfP&WjT)! zYrhkZdHgbhNB>-4N}zs_TS;_{@|auO6QCAPUE`{+a~(bq{BgYk1Y6piT4{XjtMDNs z0zC@)nZERVl|EB?F^94yA^sJd8c&`ceSL3x@Ep}&-tI>S-)BdQ<-m-z?Q2Ne_|-IJ47 z=^;vowhg1GH8U@w*ye0C{6CNmB}%am99YJ7lviP{vX;K1Hq*vXS^V#iKPIASebYym zEHrNcKe_>?A&*zg?;A)hEt$mtObHi4P-hX<$*kB(KYhw1k zmG%-U6a)K635y9(1|_$5vA&Bth8`w+ISu@1hjMlm?fLh-bf|Cm-PI>PGz;s1-)jFU zY*5@T4f!?NPM$veU0(ui{N^5hjtijeOcsIRAGb_;Xhsx|JDg;_9KL~(lhwPD^540T%F6Ow+ zc25Ll2P81~XqxXHOb9O@*sdnRFZL#Ghf(x_L^sX1059as2E)BX%q0QADd9J=Q(Dz6 zyd+H$dv_?@#UaK)iy8?8S!t#nLX7lhr+lL-n$<-6` zhn&- zXZ^{?eH|1n8{2;wz zPCaooVJmtD6(POs^%}A$WxNRbUTsFHR4ehJ=6kY_;wTWfxh&`|8RAN@txkP z_U%#ewFutjqoAF?@fwe>|M~FSW?VCLovPZ_D_YZJx^55>dK~Z}m)`C}NVRgJsb}%8 zg2UQCARktp(AG5QnXB8I5iQ|o>3!xGs{McXo#tphU-q$dzRTeh9^sb!cyDJpTpil` zMNr@1wvHSf>-fcPW|X{kd@t0?8(FH7k^7Xju8QJ5Tz=z*mu4*-;0*!my>soABlL5d`?l^%JPEJe? zIk37#N<6N-r~)nIs!uQY#L=32A+fG^2scIsa`oOM8BuFnRT_^`^cUJU75$SUYa``) zf%9$1*Ua@!$lgHCWO)5*R(uuo#q&uuPa|g}zSKPQ|yc}#~p}fyzAY;riB2M+SRhb_3iV_i(xT@&}H+u#!&u7H}QaQ zc`V;vH85ml=Z9-E&d3Ax8cn#A(n2KhK>SQhGr1)4Y^bTpi6 zPZBE5In4775%`;zw%vX)vz*qy4MroLkzk0Use_Od$V}I?0rJQlyd(CMBDs#6BOQRn+6;AvV1Laic(W5MUix?r!1CsapbQ?u z<$>(OQM{=brlb=yqGK!~IJEfziS$s3WRFs1_`MlqmpE=m=N#bS?12&-)X$H2b5-DA zsUf~4%MVS*#|d$z)4LenO5Sv=KfX|fM9w&;-wH`Tou>snqy*T?bv?^Fr5uXK+CvB>x2 zum-z>LEFQ$KuVOy%4>$~YiD(($3=N8@ODp>-XrApBYL6ZYsKjG8w0j%c*sBgPS~Cr zIV4=te2=tZ%2wY-j&m>A9k?%tD3Y3->t9X@5J>pMP`|D3>gbK7QAG&bT21R_@ z=xOWH>p`4JRS{+C;_$-m+c2LUdxx@0Be3)p51}PTFIV?24r6vZb7xDvAB+y+>xz%zw$o78R_Ew&ySl1dis8xLbj6^R&U(bk0BYcZ3tT8IHlpJ4k;`M1e z5EwFX;3RzKuP4>kj!w^<%N;7AtNfks{5id+SnNbK493&|qN z=IrwG!r9M&D^9xPM>MbZa$SC5kJ#`IGK5RpCC0d-mqa;erv4bc?pbZKmIeNB!QoAe z_uiuL&K*p_^R`h>V-2B!7%eP$+M%tzUgSQ6%lYe^+ZEoBTguSjN4))TC*O>ue6jD+ z&dr{O68vx>aCz2@#HYg4R3FuXhtG?G7o||DGch-KkACB4>5ICCyl>&^VVE7-|pwU|3t;&h;sA{hVa3BQDmSj*)G5jnI}Fvo1j z$PID0M%RDa08T8Z@9_O&BIgTE3GApr-0(Wlrt=NT*SGly?}*6wquiZt3_nxRKD9 zd9Spjihbyn^Dl#|n{HT`z)LW{alu*4U2ep>NoT$|)Ed>8HB5B4g49>u9SZH$BGqYm z*9Z2AOl((SyW}~)g3kQW#kHg#9*q$PP$c%B5=D$Ye7I>8)&K&~S{Ya9%ZeE%rFC$4 zJ$0um)f)Oek`+eDOEXhD%E!h`GD@vB9i)Ey z&dJ%8-IsE*N7b8MG0lJuM?wm=q{mIA7mD;pF{mW!o4{%J?H zR(!q+Z>lzU4(7?2|QY`h}?`ry#kp8}~}bn7mCB&YmC%U-r@z&l|Hk^KRBRB=a_XUcA;P+KeO; zZETHT;`8My)|eIz=H#^^6{F|vMTE~J+uhFu|G1@bIL#|LlbcKqLgDXu{YkMr0-)l?b&t2BsspN|Q)K(HUl+|4<`85ftStmqq_$wQ5>Z2NX7 zJpdHV^+POfPYYm9^e_#sUj5Krfdhywm~1S%cQ$J>2w|zwSey!-6}_r$-%Gx$eDA{I zkqLM|tu0FT)n0_7$VsB;Du5SH-mbHXzjw2?aDHQWs*-@gzcP*UQ-Yd}miw3#=TQzJ z+`NwT`HSKTm$Qy zt~{*==ICl+#s+@zE4-`t0@y4gq}CC>`WMBQK0R9--38wECxO&AHhNQ?#M-=ShKD2; zVfXp~hWaM&I___0VIUB2N098m#|19lQ`{HqW1>ERoVBY}^hp}2bTffcU^c==ZA zTYl)B#UYXF6@(@ZgT-_l$mn43eG9H6g@2S~yr8u(KTdxZ>q1*%^O3w2a6Ze9Kn@kh)ecqEKvQ!!J|YkORxZd-OiH2Fmm`uYa$0AAbDu? zE3N#yZ`0x=+u1?fPuX;GWMwBBEm%L}Ku?;pS;?u?yQl;EOhXaNVzC1a@%&%3?fH*?ZcovHk!6dz)zrjb5m)=(51LXeuPOFR_ zt1>4|v4O(WQ`aYiVk(wD8aBy#zyt0PyghCKjF_69l^LmeAS@A;ok`kjS!5R+bS=(f zY}Ymw0uE5W9z2er%oVOSPF{kEd$xDXr_VTxNaYBxQeSCtbTw9!sryhDc4{5v``gd( z@~}f56)tZCy%BFd({D1+-kV9}>57490R9X+^q9>{Qxp`{eZBC^xsmDnz>hX~0N3}A z9D(Vjas2_D3F-8>U0$TLitADuyoo8FwK_a;e+&F*KE}1rxVh2<$>r10PRU@GElO!C z!G|{NFUZ7ZOPF%7i61gJ7FAs=SbROkr z6A>R^PG;@crTyJm3}p8?3^}e1IyEHnGGrsUW=RK;90m!7N!2nAz$l?SNu=5;5LP8Oi2k8wF>Ij{mr7@ zyR^4`JUgRVRGhKZw(hre%+{%aA7EWwsDdX+SZx=~YfFjbvI?jpTLI)ZrfUfZjmj{9 z$X{t!{1Xsk&r)&b1EVa!C$^%)p&ePwmOR>FzKfc!_~#!D))h)M@XKN-P5cqn6YsrO z<+PY1(Zp+EgG@%PChS!1V(>nma4$h&o%D)UblJO)ez>Uyp$c^B!&1x@kqSKOUt-l)XkOv`{PCL;3xz&sUfv zqcszuK(7wRc#$pll|_p)60NyT6cmGuS(v1%btZ+B?~R{2P^KnN!)%x^vMyB;QkH_9 zssVfHi`Pfg_yco~q=jz-sh`TI=Zdi*W~AkIg?bVnb@4h4l7w-%5R(b0EF=wQ=*7>- zshbjUos0WZLv(SS=q*l*iHUKza5%aLIHW40aCPMy!);T!s4G3wn4g!lHC;Yz^Moj7 zU(e&3NPClQ8zQPq^bZFL?f#o$U*KKs84m?gy%R-E%dMorEu>``{`b+E?4y1$gb=#lUX)LR+CEFkU*OBW2xo|qZ zNZ#NW(-wG2k>MHy*;R$4Q46X|rc(IOPILa4^=r^a`<+x-?gGzeQHH{K)I{>vd5d&aCU3f z`P9f;TEIwrLPU1+somSMTr2kZJZX6&>j9oe+QT5F8~Ze^i5sPSCpx<`U;owE%uqX$ z!H%xFuuNx~kKu{|*%6m+YE+X(oL1CZqN`O)mOuZ=Zx=0j(mynDyicwTq5Qu!T($nV zz&!9p1}~IZgatwT@CFv|T^m%Qi$)es#Kq#6BWaj$m6Qfhk|SxNv1Avkk_CQK!$ONb z2atZIi(}Rz{iDNgpg^h(CkyYYB~4n8>|B%huWWj!tg2CPD!zz$M=lD{3Bz?#Z-;R_ zyeNBNgmfNTmZx96k>Wr18@53CP_@K=VOunK&obB4+_Xc{p51H7tAT^(XUSCs&)D=vEcI|W0J(#?%4+8da$Gu%lB|~{fRK% zEhq7viFyGNB#0hU59R#$$C)jy!7YTUS=HP7PuWSB~m^nEZG2MRjaq`r0XQHI9;2&d& z;rOxVeVhW2|D@c779!jiQMC2WG;WG=ynqT0L)RfOtto0jPSc4k#&wz=Oi>C{mEngyyAr8*Ae-<;7Ri-N z^p;PUVN&IuDMv;B$KIF*$4&xS$r>1YXb@a!r6tqvFo%aNuD6Fg^2QR?-RN;-69Y(z zBa8Tv5h7`ldtpJML9z3}{AfkULAg7X74qqbjxJUhIoaljf9znbBZ4U8v#e4mQ{4;eQp#Ah+vv?3iPU^z{!2eY!Y`z8 zETuJZqB%;<%uEp}AgA77;y*6ZTm3x8M)zMxWErb8^Jv6~zP|&77ygSst*cZCVmU2# zYW>rk4mN&jyp-=YaZK7xW?QJ~LpdGJ|3dHv{2dJcm*>xa^ip?(9o&OB)CDS3&v}9= zpXDN=ZlhL1tdEtoCJr=jPP&ZghBk1hX*xiM6NAo-y~{ZcCa(rj);dFoikDRhW5FM{ zznbt=i^f{$f8>NuT#hKrRKl4!(J_?r>n~-}Qb|JZ{t^0Djrn|e&EZ&zPP2fzgL3a; z&`Src>p~~_zG7UrEJE~RkWOm9(y1|v<)}ciWa8gCe@{GXngRG|shi3eVe&*yLXPLm_Q#}IwhWhHdj>KO zDuHvAC;oHTd9mL2gs4~y?Qt#$+evwxNiM^x_OwP|%|RSC2$OP%Gu0YwX?dHVmk&2r z=239?+wxM{T3SU3L*cEIo0g5nr(yNX%fqq;#W;mC(vbY@IxRO%>TQSN(9Fm`2Ipm! zYC_DqusHDr9E;us+4sPDUMU7ppY05jsiU^WM|Yi|UCy5I5AOUZAq7sp#$L>qF}nL# z&(@*weV5PpqL^I(+J>-aC~Zo$m+u$JQ|vz}YMqkDRH)yiZdFi4BJDCmf|zaYGeeMR z98#y)r5NPx_zR2Z=6=}agvd~@XiCOLc&1J9ORXxFp-z{s(lJmLipiBBO#|q-KTJQ+ zapO%hqmIko3ZOR9w3ny)l&iwB2uwT`V>`Tlf}Q>5D#g}7NhY~qgmS-_%AA#q%#OEEOgrcKFCjhAC= z#=1;Xb23_|FIY?Ze0_DHB{4ClOk$0VC*12TgJ6eLqbbOll6y1m&yncWv0MKlSnOccNPUQkJ5adC!nQAtx0tZ zYf>gnC`~GN^W~H}Q&~7cCqmm}&4yQdudCb>KLJ_?q-4Qe7x%$J1)M z{3qOLL)r!$^|p{)DQXx6rcbRh3)cb0eNpRiUVNyMZu&+9@6|DF( zAJ~+6hFV)Yk$i^g%SDv-aB}k-QDHO8_P7niWO_gjzIar#sqaz90_S(o=*8vcTRhG5 zbw8+X^_dOP6C4f9A5q2E8(yo+?V?Wi-NRvF5FkP?vCC-pzX9ciruK zDIzWU`;{a`L)f*}bAROS6jgBPm%iq8IcW3MN=Bse^)5o8GXc5tEz(e9A7lTQx@4kM z^JN@`qJMfd->Rlebl1sUf1cshvLSN7XP_#8>HU%S&diE4WJo8ykJtCwMoZ|4saFsIr5 zkIeJWMxCNp6@!ZDfZfG6=wg7W<1@>7^WRR6D0?ggAvqsOjkX%~O5qHa!fm2%5+oW)wT59xUJeruJit^QJZRqR-IWbD!%^C-F7W4RbjjQRBp zMl$20ERD9YlHL>vZNcherBuDFQCJO?EC$T+zZv79mBt@I0WJyG(BF8mIf!hd+^$R7 zZg>dX2*ByDk0h_}s>NvmK&_s`}uHKgWfDfS@M*-62KZNO_ zmk#1@L=&{9f&BVdMAjnMOs8;X=OuHi=^D;?v=8_Afo1~o>tvp-n#b%~U-{N$KPSZD zgLAqsTMc!v$Nw>C|9YK_RW>P+2M3-qeTK74J*XgA6w zuU`A1TxIBl^j;N8wXqs4{H_nf1n7$v5b!?JZbgMX4g6oUynF_FAGg-5+>C-24#h|~ znzqQGY(`JKaX$-zpN(elI%*x#-{pb8Ff@DH%8+D)_&8Cb7K4L9YTln})V%^kwoI@y zWCNvsTKlqbnCnH%Vs2V~@$JXRt_{h#W@6Fv2k)HiunNtR z53ZC<7@qU9qMz*tK{y~RcXa0}l4wPLvdGRt8DP6}u&7pdvfH!;F`mKUUKQ>{6F1G% z$-pgcSEjh2vtFm2ZTj5xm>=0VXEwBJF;;x2YG3OsRaxtdW~}~N1sQ=Q*ihZ@jlPH7 z!f%?EFl*?f>P5d^rj=L{g5KoG7M=Uj>PJx;zrHf30@Wqzh$!G9P7%bal=4g>Oh(hMv|AkmGPrkjF(kE-$b9%a zT7e-%xrio4VpHA)v0NKiTutz!!Z@q=*NxIfeB@t{d`{i@Hv?K+yR0=$yAZDUO!E@< zLH^}YzlD-o#q4HiM{R!D+dh=NaunHfwL+UD%3=AzK1l1wk1!mg!&b+Z#lvHL<&g*n zg2}b%wRJA2tbPdn_4=QN-4JR}ns$k=Senf}?Pm4d(flGlHy;&G9HwTi=Ro+cL`}T8 z-Y+ooAdJt?1cY2V$Xq8?o+kbe)bxA2A0$5ApyZXhX&Q>D&S@-bBlb)-+<0k0O1kzH zy50wDFG3Z(3qdXS>RdBrUed0~Rsx8Pj(^7H><;=~kD=SyGsMF}Sbre@KCp}RikLhO z>zVj3e>EYd`#nCNoqpL^W3#WTt1&5er+J9XXjj`c;Z zz`l)&<_ZzK!{4Gk>40O|xqMZ=D-o8z2pcm-TyK0}w6=9q6IR2!P#RSWTd#`crCVa&42&;=308;zLyVV;f;fhf@B+h;9(v%p5!Y9;ytQuh1K)r6Z+hxk+djnA<2Ig0^iV1 z4Jv>5Ha^nnLrHFuSl-U-dQ~Y9GbZbDK*Oyp4t*1C8}{S%-)lp~$~5Jlt}El+hH#e+ zD0>_5gH${^8EVb9iwUMK20ou376}AQRdU544tfRd{=d>8KKK~TxPET`Xm`NFy%VtXxl?Rv zr}~~1mD}j9{QzU<`(7tkIcBKcfu>e5w&33ryQ9!I>W9tC4XAPs$on5bZ#mG~HK-nt znKHja(p=tT&BcWBZn$ZWy$3p8+`1r62iX^U=Bf2ff5pxbv5F39nuwa!Y(8$+7^uf`%5hF26oQj&Vgh>A501y4#2T zE#K}4At+RcGVk0E%za;KGgwpdM`c4Dv%}w}dLvD_uW5u(?7U11pWnn-UOn9UyX;d< z^fi&9&ZxRgeCGjoXPc^E@adeJofo@SBKd2o35L>o_x`{Gz`RZWFHj*G0izI zBF=iyU1V?lj7pF*&DsWj_mh&m=x4--;oJm+d+`mVbHV`0A+Syj`bzOv=v#LB)Jzbg z10iIJ&E-oWx51NTfwZJoFXck^v82I16N{ zYW(>)d3v{{ZT&y=E!W7+-BcW}=M;0UF?o)@S{FHN zP|fG)<~gMjbW^w5WHo#*1)CTMbc$k<%g(Uiye5c~m4l}l_MR^3&#_Vc#5i#VI79@L z6ObwKoX^@vD(30SskQuW&V3w^>>a;7`YI%BWG}o@w?z(%WD`JhR5A~Xhc)|DA44Q^ z%ZJVkzeAp{nI&=?>~lh^M=JFA;1E%zf5`BtEa0UCLovK@DR51mXc2gB z7mx27TizhUHw_-~aDu$hoD%DpnK5dcc<*czY@o`p+A6|l?nASxw^{G+r8e7%O_JV@ zQI!W1Rrd_yD~A3vqI{u>%pI9o6UF}mqWB00X3sd9pldcy-ifL*A1x{1(nYHSE7G$R?W_Iq<+*~*p&@H z8DRZ}w5rtHR93w|JvyXWq)Z=cX;iDCkcJ^Lf1-z=P|J_!@#WLvhsWulz={Pk;~Qf( zgRk)`CwJ~)w-RuLeKQSn74A;4)xNJgF;+~`vJ<5yt0g~!eM{22G(yW7PYX*oe;X@? z5HvVu$Cyr68Qef856XX8{e~RaXm)#=8a4Z?_G&C)0n1hW#XXj^>ydBm%#2Ohf6iGR z?KB0R{BSOHMervD)?ggcu|i-ISx|Iuo+$jM7^W4GWGjVgv-;lQl#j1H_Ql*Z10?Z7 zfL;4=At%{%<()i^o(Dv6Yo2-4;tY4G{k2=h=gGaBt%}Heq_j3&wG9GnLEmp{AL?ec zm+b{oottw2xf=i>-SS^43A4G5mep^kkuzRc;@>=rV56BHu7IktQO|yGhb@8q4$OwqW<}in`tP?L$3(e}G#|WZL)@rawap2yJO=f>52py#6 zTVJG$pw)RnArsN~!>zJU7xeK?eypq#3qwuUZC%S`cpjR#$hZ|M!up4v?KgitxlzWO zJ##YtDGuE&nen2pyz}n$H|75Uvp`J0O-`@>4`=Ko$<;!lsFPz1 zpcuFeU#|6){M#`PeaLZVJ&z=PU{*sVt|fWZlDvSd_|rZfS^9cS+SRs^B1<1L@Rj=S zOFIx_M%N#f+JsSDLzRLW(<6P3k}Q?dKK?ts$K>^BAjd~5o_f~ zOs242MS&?dP&gUt`LNoJZK9p%tHsN{@%6LF=aGmPO=?0nZl-ylE_Cr}N|_1Gk5-|Z zCbJlDvRIvOAYW=k+abZbg4+sCdqIog3*iX)g)ojypuZzzcMUTX$HmillR-oEQh?vIP-F!P%WOygXPbz92Z38+9c2oS9KF!wo^Tan<7)uY3)MAH%_2G~7kQT`b(i;#>j}&QTIB7|)e;a_)kIF7?@w|z3T7gwU zixUZ&lBG49E3`Pjkf(r=vJK8>2nlFekHXLGY48g}u}w+E0l>@$0JA)NE!=TZ!=C-^ zQ-cF3KAx8=lYhJC<;|ng)ZpE3&Nemp&)9RC8Z>jbJo}rc1lD7|uZCr=k4?~;5_r4! zX6$>r-;CE%ye`A*O1$2U*Gjy0z7DPtcm0lWkAv%aENv=YC*d^>uT$`v zj@RjU&BSXqUUTuf8L#mCtl~^ zwFIy8@wx!7H?u4MW>UPW10HeQ)oOMJb~j=ZFb6jTnFm)pJH}KsnnRxpF}Dj4T!*9i zE1XJQ!-+kVwxK;g9$D<$jtzsCh#$7cQ-hxf!^eTqRSj*#hZ$0-<7Xnn>*Ke@KCD+Q zt_ocxzY;=PZ-l{97bLn!e4Zn1#K+l9!}qH6;yqzt11m&vtVoB?LJOcTIwQjI6!Rqa z&q?k^_h)8zy_kT-bag8GMd!LO*}W4C)_2YBU0(ee97_3ltE{o7!?0WcQvoNw_b_DC z*M`D)$ny2JL#CKs4KcUnM=ICvV}as`^h0h-duRlmMmb~q1volD?QtQMf z*q-X0P?_hB;_Dn~%Tm6;ZW|8C44P7aqtc<(u*H~rpKC_h&$_uY#o4?>kxTZwSjP)_ zo`s5oLy=V|{x9jA`<^O3XPSVhkJ-rhf!LtKAC+S`r1p zm9eFL07Q!qccmuxdNcH;>pGgt-V8Ul+8g>(d~36(Lus<7!)|kV$B3lCd!6C#F&&Zz zZ!2!+9ueGXTk_zlVrBrm8QJg^tFI*=a4D6|j}UHxyLPM{wq`H@n`QWRE~91p#K~=8 zM#6Y*zj(i^jrlhHvNl*-j1NhUx3DL|vVG3L#UHpjh@&oG$UEZj3#du4hF5p=S4oOu7l|vG`#K&&wQ|@S)lLrj!`l%PZhMJyCmU)rnefHLa0g z&&RprS@YVRaUn3-z1MkhJhQaMcHt!q_Q*O=U@Iyr`A^Y+ww zcqu5oHOLF?0zO2R=ircmM|A>gDciP%<(=5(^}2N1&D-7%tADgDM6dr2t6P$TdmrO@ zX=^45{g@GgPc!2drq8eYx)Vn>uH^t>MsTHscD7?bI;pA7d!!D^JKcAmi=+tqJ>- zCuAtY>&Lg3>ACkoLwiRo=Nk56xG!V(u&wQPoSeDr7q7FmI2x);{2{){yT|O_kz8&z zB$u0*Wnu|SnKU_m5}4%U+((k!wPyFxou+D5##2e5&z>~5`q^Aw5)6g&z5@!>4x}$J z_c~)PUjS2<_mkW^&2IhY%(U=+(C{f9G6-gR{Pc|JQ@5kem!~n!p3ic!vy4g%$PiQR*RxJ^bey}9sdv_u%3F8)5V<_7?F3p z7W-D>rB(4KY7<&jB`g^k=w#ae{c*t8Cu{@|H{nN=zVXv}e_ir{b70va zoih?HoytzJs#W@|IP+((w;@Oz{4=fwz-LMB8dUmB@e1SE9Cg(;MEQ9pI8Hf1a0?=c z7sf}j`v_C|pD`kASX_(?AG1z+y~}FhO9sLjFa zUMtRk!Q|1?UavS1cP7-|ItKg6Tn5DHZE;BGDJJpgtg-4R@$jo49ClgV6_mz^!lcX; z?PbdFnNwb`X|dNeTnxm05NmOP4xZKc3l`JK27#S8i%W99XLh$rc85Hl#ColFuQzBR zBZV?*2#Bd7`8q+qifCVM1LcQJqbj8F8(NRiwCrbhP&`Y&r0SLso*2eqW5#xGb$L)E z3&3}fC>cZ9&_{Kw(5@J9D&tJt%xYe|mk}=Oe!DIJb^3R#tT7*$mc1|PPC*UTqFmkE z8y@8a7!C!fpmv7+hIJcQ<3&Bk1SZ5ORy}O^2_2~4$jIK(CZ?($PBQb1@Rps_%}q4B zgX{+d`7l!41+t-|SN||G%-pqL$b%Q~c~oXQ-JddXi5pl=DM9zBgA!Xysmi=MSARw{ z8Vwc*>j}#ZmmFs;O5BZlCFsQ0Tq9f{#qsKUvuu}mok3;ZRxXoFHd>XVvnQNC%Tv1A zdeU@E`o@NiQe3aTeza7EhSo9rA(SZzRuizo+XUTTWplB%Oy<@}u(gh`4#F&<4+DXv zU2LF)#vwNVG^kdP4wUr=qz{X!ig`P9eS&*iV$A*o_XqI{8w;J*g7}3;ZH3mP1ou1c z#+bL`JtK9A?Q25U$1glG+FIx;4~$4`zn9SobpH%Gh)u>ixTc!RLf&Z5F&npWxHr_i zE9fzX2yALIw5qjEa7GTzWaEvq>rgv@&OwzwH?e9o%#AR=tP^y6pWe`iw>df{Fd2Du zFj(jk%7dO~w+(IBv&Y%Z7HB&O9`i4Q8yEC|VzYuIxIs{XQZYiee%;p5F0uVKmUa$H zvMVUOfm2T?57D#R(5>Hf3@y8ZKM>f1S71Zk^2>idgkhID=CSK#4hJKzt1)joU@*6@ zf!U@3S9*2ZK4`mZvODM<7Q3uEcvsL?b_0{*@}Mp3F8=s-gEOwI+OR9=A%+HFz*=^< zMG#umBwSgWFu2ym*W5?c4XJa5l!cVCP*eHka}McHBSu2sbK-Keu#D~4nOUXBR1FMr zLIGD*Z7=Ko&>2`rh3#OX+4EF{3Et8#{2sOtckg@oUpNbVZy=uuxZioVC(hc%9bV{? zX3x0B_$_!U;W#`iVqBwFzjq+0nlb;W~Q{~k^JCL{YA?C8&h&UGN;rshx zq-1wB3_-?Z)=E7d+&-`z7RfT2aASyh+pEt*(o6UOI$-LTFM({JAowtT3%X5f~1EHIMSwVATHi=Gb#2LL;|3#c2?KAXQ9O~Z?Hv4b} zd(5rGZPw$#G>%#Ko-;aJaUREc4Z0j~chDRFBx;;9@KCe zn(a3B1hU-~^hy(Nz`KIpqC4rJV;D(ZgOs}hLGP-byF)(y4hSa)8l;Ch_D~S%Axk*q zD<*938QEEGO2PHgY#`p})xUv9PQ3vBml!XdG|Eg9rlZyj;4NaH)FSXjaw>e|D7A*2 z+|>bXfmIS~rUtKmI!or=Rpt#?@Ej;Jv}BmA`-2W`NL&dDt0~0S2jFaGu2U!Q2W1cg zh=flxyT6B_ib?I{w=DRT==ERqxfeD`9=zSPy*py=%t0mXByu(_| zCzyT+dK6GLUQWX~C@AAFHidcr3noBUYp=ddf1eo#vsx#zL4UgpVczl`ejODYA%4qm z0_3>cFpe}wi%FzG-jdX`Oy) z3tC9)?f(1#^b_IrFkbC=or2e7yzaznK3 z0iK@lvTfn@mSNz;mvDQ1<`4y6xNQqhwtuKkk(6+-kLxd|Y&62*{b&7YDwak#yz;Cc z8rx!eu+-~MN4A(AEWG-6n}vIp8GvxANtOq^5v^ZYB+CO=`my#jl;mkfc@ZIoX9C`l za8-Sp_o=HW z92r}w;E+-MVhIOV_e8Fl53y3$a+x#!^O4^| zSspOguHO_b;~2gnS}rfjCs5%BG*|sG1&2Kt>kle890Q@|AKum1?@(|%Z&*)UL-LQq z{Dz(O=}#*a9Lu*@l^?eM;mzuY^|wIkZ@>8TH$$|lzqxt+<_`AdFJg#K`RY3=`BnJw zkNxe~Fu8qMusl&Ry)9V(O8K!P>`-vz_h1h>J(ed{N-xzf@Wd*VP1khz@)K$|O`JXa zv|sHSrun=O!SpE;`5U`Kp_7^YI4v#o!dB*8Bl$-ryGDjfFcb}vlyLK|#K3Uxt>WOCIUSTI4F-zSYPY$3Ts||j*x$rRbJ@>b%%P*+#CIR~C?6ap>mFpC zqa3sDgydO@^0DEeVL@NAJ`j4L;12nQ-ISZdLSG8`N`$j7%^i1|Ite}uMoycmZoeLC zpS@*yqCU(W)T}+2<^F0uV|IJcoE#eA*I#|xPXM)_(?0E|uAfi)iNyN9(zm@HRPY+C z{~>byBAzfy?q8@M4#vrN74HutVn{z%N&2}e4)rnNk@b~6cwBvEztbw*QeQU{!?FD> zR_Irf{*Na5l@k3-POnm;Z}Gw7>IF`}QlekV>C<==J%H#LIld@bjWhb}*#!eM#xn{} zt6$d_>F4{=%OpHnjdOah_t&78DbcfVdaHT*J29?Yzgto5xIMUL>d`}9Y6dJm_U}!- z<@ze&>DOzfA7>YBa$+7I^@USOZ&Ih1^;<8wePH`dEs}8@ua2#i(<8p=#wIlmJ1y3) z!|i`0JgmOL2WR!k`hYavqz>}UFG0ak-^D68w&#fE{m01rPe_^7$okK?Oi>u**LhU* z18;2d(VxfW%lK;4e*=B>-==}S{ima+$w!~Y_VTl*wwk#7)5LmFEq{__mFCr(N{jlT}E^3bhyxJnh`YIs-L{D2E`f5=D_@Q zdA0c2_0S665uf+?55#dkn#^Bc`{g&5=htyRwnLG|7V#0N1s#v7Ucg&4gM$l=AW(N{~Yq4%JctxALXBh{A=Vt-!K0IMuq=7 z&w>Aan18Ay|4iins0RO&eDnXTufqR1|_?_v+urqqX$r!{`Px;}U~e%bL6mZM^!aePKCGv%LK22ffgTh%Ms8u2d7df{0z9 zO-w4U${seLJsj4e4eTF3QoMSpzfjZz7#k1j1Q;Lg@tvQ=I%OOusu52A@dytJb9-<{ ziAe`!dxFNF*awmEHw;YbExX0<6&&SOI*(Vj9(EcJkyx!PRjR)6 z;(J2&{h$--JN(=0CvOWj)Nux}zRuVFLiv8=_P3Wz_3IctC4DeYA1OXw=W9Qp{j>OD z-}zo_v2XoFC^*hPJ1RI<>B+0esX!y|MZc9V|d49zWr;H5?+D+gmT4xME^%W-}&7JyBrRuW7HoElf$v$ zFK*}Szi}$@;T+KVTm^@dIqDZH`N5$d^{H1V_9J|$uy~Ce4ySI`JJ*Dt>vOBMek`iB(%5_V*#f}4?l z1xNcjRl#AkYJGw#J^Xa&+nBv33UqXtS{QO^TUY=uxO=@}a{{4X3 z-xyqP4?C^G!|R1GoWI~Hr>IYOe4~V$cznXc>uW;6zd-HZ2>O0kVj8;D)lJ&y)1-al zd-UnBwA15(IuYx7`#V>R{@uYhy?FcG&|}Re@uyds;B9X{rDa&DH3Tuda$6m zeiXvg`jFNC1&CKjxT!zl*j_hv*7ElS@cF6XG%J}|%Ce(KwPb=@9~w_L}o?@m~+g5=2pAoD|K4~F~jdJZ&B|m;}u^6 z>cMZZj_*_17ks{2A)ff z)~cnFsWB||v^UwkgnydH#$V`!Glx^TUpk0~%k%Plw8mFnsrkPCl!JcZfe-rmJ0A2I z|5)2Cj!?hf$hG;_PpX2We?7r3JkVeNLsJAL`AV8pRq7xZqr`QZL2wMaxFpTnOq9Ou zof&?{FLZ)<@uxm9)!{=vVc|c1(o#6cyID5s@O-a++LcmwQw4b7_;9aYcZF6MKdh>| zX1Yd9_x9ylVf@T1JTJ9b7@Xhj)!(6+j&Jz!qGq~E%

    5bo>Oan>5q$JuR{{!}zD| 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

    k#=@Tt0j`|5WbiHO4fG_s{2XV#k75 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 s{~;8A()=j~|E8%8b%7 literal 0 HcmV?d00001 diff --git a/_Pre_Builds/_Wheels_win_py310_cu121/kiui-0.2.4-py3-none-any.whl b/_Pre_Builds/_Wheels_win_py310_cu121/kiui-0.2.4-py3-none-any.whl new file mode 100644 index 0000000000000000000000000000000000000000..3b49a0a00f4c736ba6cc38d64784d6192b72c7f6 GIT binary patch literal 1191234 zcmY(qV~{RB@TUEYZQHhO+qP}nwr$(Cb;ib-Gq&y7-@b3{*8WqKq&lBc)v3;PC*6uN zAfTuK000uO;;g0lJg2Et3IqV?f&c)B|E=0sxmht77+Bd`xf&SIJ9_CU583Y!BKGM# z2*f6XD0Wr$sU^M0sMCzr8)ZO;z;G%dAOGV4x!i!l06&?{;Xv47olqq_>35-f`nXnm zuarpnsK3R(1lvhDE{DkshN_Xw2ANcAI3AFp5 zRmxT*8{jsxlx1>WXO-n!poq`aPsNez5_^w{y3BMl z3hP2!-VV|4E9=4vHnSk&m2K71>n4W81i<(BkTiDN%_GQ|^`?5q2bk7!rA ziLohZ8XU!IeEvGpld}zL@d#s?8@*q*;xl@`f35ncURg!elUB9{l->Qc4%~A8r$#Jj zVBg!O8ofnWi`TKvW4oV`OZ?;O`43e1;3-j<}Z-q|L~}N zOSRb#3;=M+3;_H${r?^{F|zy5nSI)q2|1F;zxY(YA{0sNj3H6iQpK~mzS6D~di+<{ z`NfOJA!b^9<$Nc>KtTSC0pDuRA^rgN{6F;5Aj^MOpTE@HgnDONiiywdbJj!CNoNiE zH8D2RQ)@UIMwlzqWK$ZcEw$@gjAe|Q_H@*TB-8tSiB5kbJ)AO+t$Ryt+GUM^(;y&3=lgXYE6NVUeW0AHQi+VV`$VDOn=-n#?`*r2_0@x(#2~Bw`ncTtrI+IXg8O1 z`FtdI=_g}ZZ9u1LBMAZ{jwqt0KlhGde$^5EzdxQan$1?pVMj_ZZam}A;VaYuq z%3QTgH$~Lhho7Vb%3_?|9-Oigri>N)`ojxzloT-UE%&Bq^rQ zem0e+K}3Rr1epQ>A&M3JMdL9yr4wvyrgpE9Hq91B2Q!taA?8p1%wEP>tfml%((`6f zjUB}n>}Bc|H>0#6x)C!hKj<>aLk#hJ)k@c_^xqKtFaz5R!gNkP5((kEF9haZAP$bz zZA1$|&4|ueJiB#{a5ppD^Wq(jRKZvG~FV!X=VDj`6NyG2y z+ehrc2tDy~*>pi@wE+80(qHhBb+VQ;XxupWK^`40c|9_58VHULdV-1(<_tk*oSIwH zhHdPq_UQ~Kt0kqCSv;bj;eF$?e?Vq^g2hipqsvIIRScv*M_ej+|4J^s$vm%LEl@lv zes_g4zG}4gLorQ9*ZX_A=p6RN24+5CX0${(46Sm+scAV8Xvh?~C6L)Ffaxzxc=pt= z55mM9;3+~5D$Ydmp~gCasx-2H^2uy^*_NowO4}ah914X~V{neHhO^ox8lVz{0=ung z6kmejbC4S*`GZ1DZTIa|+%XL=7x$@z;Be5j%Lh#Id; z$p0ZDYnABbtfQ?=okkpCUy+Ob=vDH9*fO>UsXUCPf}+E0rZD#~wh*||F}(&|Fh$HE z-Qw*fBpF1Og$@|(4ftM@hn^3Ah97-=7-;x#aNRzai`XIuh@-dk4!nO#-6#dd%_9OzpH0 zra8mYJ$Kqqu@Qqc?5D!J88uaBx%Fe%?0Kg%k#{~w zL#K&NOUevk`{t37nCl2eH`idzla6+&g*v)+-8TS6X&gg6$&G+wTZEUk3jaBx+4A9{ znZ~6#>3hK3-`IneF@cSa;tM4@9$>Poh(&L4;tbzr+mRbTbW#Ynza?bGRlbtx<19xx z<~ElSZD!k?xGLm}ULXZ=sFTo)#q<(k+?ek^+ME>WGjMq z3wG4PCHmvTAu&Z{K!Fy^w_tl7RZk*%MMOvphzs7}G^O8P*`8+O22V=2t#jO2u`tDt zR7d*8{kHD29vK15Ow;)pnvUEB7DXVu+!4hyE>|rU00$L~k*s-Rpe0&^$h=p)T9rTi z74+HyK1Nw8W(PhJZ@p$tIY+cF3EZ*pYz~^%+Y)`7m&3tYaPCN-<<#D>zOJrlRw_~j zwNFtWM%31cwxituO|;eO@}fMLJk$gN1A2r90Dr85`;S?T#w)u0(I>cE7mxCRh0&CE z0k|o!aCO`bbqQLIbgo|-uGPGG_r)o%2t-9&6NTtd+UPcG=+-l&YJ1L z7)P+xo=s+xe8KD5COM^x_AJAzkX7Lp6*0v5pXruZ0(kp!hoQ{vz7jymbuY9uVbIz^ zxp5&iq3LArATW;sj(FIfKV@o7kDK=IF;J#mu_~NNw0+5Bmw~}Xo1FHSpZ z1MlJLf!NA~mwMgICOsrfd(Ypb@rTdPuEcxNU6ln)aM!EET2F|WsXVj~1QYPzr<5>U z1qzgKA~TF15ZWAH@Ha1iy>LN&uX4m+rqbXw(Idz>KYx)_CcKog@fS6f2DtL1{uWa*O7G zj3tGH9fes%TMfvavBZh^;Hn($3Ja;g?C2x1_}2VCR$DZ8vH+G+oc@&l(}IOSPN;&V zpvUO*-qtmnPoUe1?xUkv94ztF13u=vBR0w4lirxwK&oHi(ST~fKC*T)gcXNG7nFS{#^R&fgm3!PJ<*>$E z=#Wu?!@emX26p5es6>gE7jYI8Uv2pztE`Dbc!R+O>^&G>;4}tDfy`mZwfZ@lXJ~P3q>?itr!#?X$Z}*Y_rF#c6B!R9Y3M z?Urx@j(i1yE~)Q6w%f4_(hIbyU}M67YKf-hu*p$fvF zguYO7P^K({XD$p+_bw%*RmVpX^j`7NgT6}FlC;aYwbi5}nG!g!8sufV+_)_*MTf5naL zakZZt?Ng(H3M)@7N3r&vjSX`iT;~Bb6$&h!Zd^5xQ1g*?srVr4#W!N|mg%F{uxyg| zz6p?D`Ie*%Fv^PX!3$`ks#|&XulxLNcxa0^0T%Ep_~kE~=%4?}gVvvatAo}L*~Jw& zu0fgc^VYA~qUQbt3#a;tYGAzM=C&w?;hz|k@l9SNUU=36*G~}fun8y(TAxy&VSN6s z&uR1&$~261^<{E8k%=c7qz_TJ+5aW@pE6!!`Qap zW`E)n{0UMaAhv7Ib+yC5oEf37L#nlmxH3WrPh3K_b19cfE6v3g|M5FbOr@1+=Rs8g zr0{y=<0!m!t8O9RpbuGOVDJi-Qfb*UFx=gKe>Vgq@ih1J65ffiSZlJ9s|1WXbo}Fn zHUlIKguojUt-vbTUlXsd&?B9%(Jwu)Q9s*YR8`TgU@sc2lNEX^DPRBDz10z&uk*_d z6+vICY}U;f3l{c-KX=~4do>Stc2G;h}OVlhX*Q}kf zJvmi4%uH8xjAPE-`hG%&e7MBcg~}dUj0(*{Lf6rGiL~2rKHT*@|M^-a;3}z~SOdqQ zVFEk=!U@$FTDd7e-#6E3tjN=kfl$-xa@OSun%sD|^L*wq2J5{RtFJfU_5Cn=eQjBlAFd8(mCs@l zE_AOr8?gYD**eljO+6H@OT4(C+5*7p>;JibIjPX-&~LLKMG0`u9-=AID8IplpgGO1 z-y~rG1RN4M%0c>r{ANLtn@p(mOjiNIgHPG(%jh%pTApLA4x=jCLT$bC$fj7c*MAb4 z`!M+_khmFvFDH$CGfgq4$A}=$M4q@?-_o#gQRYj|zau;dS`g=pU&31=6lL7o%;uGr zFdm2_vs@inX3wk4>@mG6N%^51+SIvkR+b!8rOhtCY;t%A zZMuy|RkM@oswLsk035~!mI7b{F)zj`+^=0;Ppq|(biI^+;3XNp=W_yzy_2&MAgSr1 zGUAPLSElQB!LQ@&OQ_+xz6WrCeCa^OA)wrOjku?pAFt*sbD<;Mn!u3F3oiyQ&=_RY zORs(J*X_?I5S=aa62BKf4^GO1aklGo0|(jB+qLM->Rkm7*?`-}pyBZXeE0wy?X8I{ zJPf<5g0Doeei~SamMUbT!dsz%R!&FzN;r!x6{jH!)hQ(C-oX>vdYtUTLlXEar@ZBs z3=Gy|tmX;NX)>sc3i~pjAw7!v-?=-W; z(nUP$ambolk%HGLfo=kqNT~_OAeX*lK$gRU+leYS65_xzWbsytFjJ2OfjF;OKANfu_tdb~mo*dnQ2`1jo^MmK*zFojvA7IM;27bc- zu`!(eCyIJvG>Id+$Ne_ZV&_ApTc>dh& zA`W$`fo5vT^Sr8O{wxO?PO`e1vc~P0UJ8!jAj}k(fZdjhNqDk=FY!yQZ~H+va+ZlX z!TJ@?`|6SFVGXCk@0Fpu}=6?M!+R}KhGR(C_9sFeYpFw)L zt7en~5&(E+`hQ;MES#-O4IJHE|BKYu+FB0V;)wnTiNB4G1hU+$WoZi-K+uYraLR>~ zA~=Hx!Gy~P(%P93(<9L+M*|+_2+m$-jkFX_I0BLfH&?m;{y0y}l(;3IkSZ*_Up&*; z^L9C1(MNmcKa#$P99SIvz0_zhpj#p(_UPTS|7kqAPp)Lc;KXVKn|ervunl)@u|00c zBICbaywm{wIby|1fy$ds5=%~22%R7`d!?P#B*c(Cv#iEYgV77nb><&3hMO1kvZ!$LIpV2KAj|j@bD$8e*pV#2`MA zFg@t57pX6Yzn2^&LATh$dI;A|dY?`(L05kYMyh=SvfpaVEz8Vb}6w|?&%`IZJb*R{-!lS>`NST&W)WIT}}yhqdLfMiF1<@ zvcrMP>K#Z&kHic=Tl6fq4P;CI@haK_UDisjw&WxQyfrrE3jYp5_C$c0T!X(`ZriJi z5~@#sG1i@*WGA(L$g3c9M79J#kMpy{Y}rq*{h6mT62dZ@RS=qBdHaa@0DmH!n0FK~oWjJ}OdPIvAH;l|)T3bg<& zu~%j0V^ME5V$TWtiq~T1XYMEA9&2{DZq0!ALG3^uia3ff5f_e|HZ+7E`=g+hKA*mK zjzyaf2YlHlQtzae3@*MTiNriKe*4A9qAal_O^Q%n>3eY686_)vR?&l$(3s9bUf)(D zlPF0PnAHDCb4231B{!(5l-Em<0cvV+xZVm+RP@(Tu~?E>oiLg9s@xSX9Q6+ZtLsfcb zoNY=?^*7~FrksF^l?L_fhaX9fAy?$Zbooc})Fjb&6%WFLECv)jC%5e#Snk9p@^(2oruD)$?LY%M6Mq- zoTVN}w+P4wE%rh;!Wlfl!s$Iw-Dlv<9gyAoUYK2DXP>w)-uva|P>=2CA(o@$FmMjJ z$xd1S{P^dvbgZ#nDGTOEgH2-KvN_ylt>@&zSh`dsWMz+E>ATeF@i_>k3_35YRKKxl zS}1J|WIGAWTrsvbbf;4?jQ4s10c{IgSU?BWp5ta`2}4 zk}bqH&coa>6X_dwPzqiPb=VG@ObKu}xctAM663TgzwJBdoZ-Nbu4d+8LYQ&EhBdmJUoUGR}oxsKJ%KseYa21ufC`E7@1ms zEglN0+D={je?9qa@#Ycu3J5#}Gh9JZ=2Tqeraz)O+>XXbz7FN@>&%4$20|zB{^}sZ zH|{%~KC2@b7r?1{o_pe)?Q$+qj0fGsf%qBY{%?ciz)^GJXfk~&Jzr`;m;Fqa-IBHj zn?4T@GbM+OBK$*)&|9GE?+*zyu-GFVQaQH#Zu^VHhz=dfYm~w zLafB59R*`{bGhvXyMH4p=H%+U)zTf&D|^zLg>jqo0NC!}{*HYP>k) zRW{ZmvAJX8f}z@tVPKxq_8Duj-eJog*SKd9>&k&s*mD|QKOcYH71w{Hy##!U=>i8& z^7f6q6#q%z(L#Am22Rrp##QvkoRBBK1xnQPB6aMhgp-8JOlf)k>>24jMdazr(Yc;G zZ}01o8TMkmtoG08vXe=nR-lBU%%eIQe$qB6lp5;Pu})c#^X=v)*3hR-$IqAit*0XX zSLWTM0rSB;5IE3oL6}l4MzsoX@o1Y`G9cYARX!Q4tIO*Ydcf4b6@GIzt|sqIr~A(z zndUPV<5getgcU|cVJTst2-7ib-5oqn?J`b6k%XO)Rirr@{7&10)d%sXSXwIvM+^|& zaM`J+6A}gjY@bA(I*r}RwaaN0x<2M}reaWs6Rrf98oGn>WK6uM*adpZIj{aX@xEQ; zUCn5nN@S&Z2m-sC4H1Pyg&i65g3u8ndVHO?Koz91a8i|ZY{$E7q9e8DbdO3QqD%;j zh|xkJrer0(Nyj~Q7PVD(m>><49xbLw+vpipb)&)-;%H66zcj@)`t^5yv@=-*mZG3v z`4ECsDosYU0MDq70Z<1raGQb&eLFlbArAlNhZQ#{%?q;jvXG zu5$YrZ(uc$=W3Vy(S4C9GX#%iAfNam;sTL4P6=jOT=x+0(Eha@Ot}rc$)l?ztaCM_fPf?Ek&|o;s+M z<M-`-xE#!4r-$@QF;&ET4k569l)XpzFouk`}4Ip4GsKH$oPJx z;AZ|0GUliN0J#72VPxxQ<>>PN5r$pDHaqeUKH+cBnSWyI>U8>7b50>WVrv&+rz^uC zco%TE5F@f3N*Y;MF}u9~HyqW)YVw-9pBTJG0Hc}9E+_6BFUdJH(osaJD61eTv|{>B zX9MU!!(ceW$#G!+;ca}FimmtwU-*%4~C}NSNl-5Xm&8kfGUcJkq zS%yXzR|kRNZ#uXna`@w#q$0oxh_5dNWk6Y;eHt-d;Gjhmr19s#^f_^MrW?!ropa4}5ATkK1?D zRW372_>7SbNVgQ1Z3>dJ*YS`+Ju8|6v!Ly7=z46nGd|N+8UE!z+uYF?8JU;#_@kxB zRCcx`@!YI4^@YNFz)J7*;5Pz7D#jTLLTXj7NsDFP7Z3X?Km~M`Tax z?Fd3F>=7_~iNd8IMoc4(wuTt-j5FOB|Ab?n;K4o;g>S=$Z?u!<6B2+8ldn_-HC~czI<%Vw(#tf zj36+K=eGgFx9qrw`W0CbPp{XR0uJ>f!C|-aF(&n0z-V0z<_pXHOK%HjR3h!=JgThE zLI*qs*)#-$BK_HAr8jViL!ha=phSWk*`YA(miFwF@`12G9z0RRf=NJn@z<7UA|$P= zB^9B?72UqNKihO`mHK-6 zW5{3M-VOB;4{DPm8Z2%J^I%z=RSJW?uL{saI&5I9o6{ z8Qps}HnY5iVO5BbvOqr;&sfoRS!&crgZ}Kf%?SGhUA8xyNbE>Wh8vcQ>bJ=p5EG0kO)PY? zE9Q^OC;g${cGi`R$0SR;FzNZsqUFda`{&Wyz5OWB!+;%-TI{aM&9bN|sjndqI`Z7;IueC}I1lms zx1%|9CxvR;}S6H4F96%5*vf5a9@t~@1Vwj4Yr5bvQ)niw-#26e1D7~WXV$^B>GHwt(r`cky+a+@ex;lEBT^bwz=GxxG40ZMT z%#NCt7aJ|Ee?XcnGg&V*!hIZt&hYQ;s??Ey$4rJl2iH_BS>U#!{d` z&)VW)Suzlac`+Re&ukCc9jk-BknQdis^N%|>ydI&ZQ6Ls84|1;AX8kUCdi{xFK8xi zx=g!5u*SNm{WPTQsAIWynxJc~{}5E|lO0ZvZxJtEA5e``9U!V%Kq=pv|4pXzWo4LW+iHYIOMEE;?K>jCO7`V>Kjo||TY|#J! z?EiraJ2Mx{|JY)c&&Fk2Jo%qW+Am`fKV&PFWNGe-xJIw`W>Q~$n^{4v?M?Jd2%$5f zksL5DAoRb>_+LZMY0!|NU~qGC4`CA|FyH@f-jCGo|1C6{cm=nv+72T!bwfYD!T zIJ=Yv6%c1^kxsaLV4ib*fAK})DmMrTxUL8PQaEkF8V>IT=UUszQOdPpvY&D|e zx6m42eVb1FFsd&|S#*h3?e{^7?YJ-(sGBqd+?nOqCfO1Z~|eOwzIk!T&b zaC-VEg0?5z4vPFD-sa@|%h~EDD$saZ3NR7AZ0U^T^{Z~|aAb&NS1vDI<$;;Lqv z2TGS|;r{VdzJnc1z-4&U>J&7>t}YHBlK^M@SN=HN6_~{KYF^2qVdMluyU)dGb~s}T zcWB?fXT_3dHD) zNW!0A#BQ?W14`ID26i9ewKH(9)XMC5X&%FRx;6T88It>Ev`VFUQOT++0`-nQo>Hmn z38bMhs_dvVBwA|gENDPhQt|7j+koa%s#JAGC((u_0NBh_N^{HE0iqFh5Vy*aTf(DK zeWHqiSyc3gAOX+OiugMxZO#8UiN6Ag$iT{TnJGwbcUc>ndQ=r2rH_}&^h?Ue;yJV= z>46BjW!J6$XOqn$r2=Ak>hJgIc_^Gj`;geZLlb`aVx`*drnjnx`ed*MUxQI|hT%0bSKo-#qzbEe1zuPJt*fYFE@!3(?k&tv`1Ri?>KybRs=Lr2B zc}=78CVXW(pJU_($M0T`oo|#XS++wW=m$RV#_PYV}l5X|BK|(#JDHcAmSW?AfD!! zp+u8>p&odaNjxLY{p;-)(5^jVkPUP9@vJQ98@Z;B5yOpEBaDqAB$j;&5F`n^4Nbe? z$dZ;%!;GB_6kO4*dcmp;elyRjcOi^Ph4)3Tk}wMs?P(OJug#{0p*!=ySc1N$7D=q+ zAZn5T0?cxaW&XyP`uOA2zpVp_zZsCqjFsriaWC%Ro_S?tOG4J2Bk~ZyfW0lDu;>4< zFN!xY6Qk=}g$;6`j*_3T6f@h@$)+}b4#dGknTsgj3;mZ(>Ml<>#YjK(bA-OisUKvz zNHI-^=8a%g;f1SYQ?zxcj8`mlxs(&+`v{o0#Qb%&)hXImSG8M4C>gfYndOm#X)GU3 zEP@j$`+9Pz3rqX{H2UMMAn;0i5F}<;j8#3J#dcBTdb{U>@RbZ5qlVoe!v_uxecwA} z%4sNZC-C+cQ5pC@lSAR=vH)j`P1Q+JICbTf2V=ye6PvUdgC9&GdKV=0f5k$f?)p>|u zTt+=cl&?zP%%qU{Fa}D(Ybc8pJnly?CaeR@+f)Kuu)ooMs2{S*MYB-5kxCFxXQPHj zAn2D5@pDj8j|)HZ!ooA8Uit{@hwJ6L@+tt8frWahzi>&*)DCJff;x5IndqYF?NZ&{p-{-Z?#K1&S6L@(WLx z_kyo{O&Y(L>$^3QiGzykN(2y(naQ0KWiJaA#ZO$UM7DD@v_d{Louv9jy+o1tyqiF`OUQy9MfQL5y`gR7t=Wdp)JI+(W% zU$fmIL@gtET-HDNu$e{cOqA_nCJAD-xXsR^(vWbpXqO3>B6Px{~e>Wir+Dz5|mVJ=80?88s`ON--uK%CN2(CN9x|u99a;r)$TMh zc82w%*W{VcZWyOB*s@M#trm@j1rm;f6231b!u0E+y@D<}`X#cV<@3iskwhp}1oCL< z9BW`rU^?0=0@praoKxhpRRyNgA6$ZiK|{H=2R4dO#mI>3ja2DHEOfz7j8%#ac3KxX zbyc{w#`S=9@v&-z=}yXE=#vTicWNiuMrS29E9mJO|7O>5XUXf?_iM=$E>PfDrUON~dB{D4x_DDKJdfD@wbMWf#_ zZ~<3J2V_*@;qGl*Vdmt8O~JhaUV(6eFi6Om_BXwQTp;tG=$=#!Ao)@60xjUa>!5%T zx&i|VS?Pq0Ur>9G+l@&m!G8rOxTE8?qLb{axj``lpEK(2#QFfvuu*i{Fr?4GP|cV+ z5@56`dRt7!WxjYrf$q&XC{fntR)2cAmDrBL`Ts%j=qtNfqx!wvo)8o3n|6lEYb0Qk zlIuvW_%P#37m6-q@x}~J-XK~n$vO|(I$XzC+8A8Lzuk8eZEeB*6a72#Y3Oih9s~_9 zt4+8IYK$|aN&B;^>*!MNL!A3jK&y5!7-ExIzu;YtK}Svj;%eu-Gm*u^$)9KEV0STC%SZ%=J~ zZBRpR`vBd|E!Lo#-ZI7nw%;|@V&ypA=D+T+(^!Z4oW4)}_L*yb1~v@$bXC<=8Otyl zZhMtOumzL(m(N^p+@H?h+NjO4SA~a$Eam`iYqN5oUDQ(FI0<<3&VMrw?uF8;)*UO= z^e?4V?Dzz68Iy;~UMU&;aiseJW-Q*GG`0LW64Ybr>6AZ_xjBya5Yrdd^);RCwUuD^ z69pyjmT}&s62<3VBvy{&Q0Zvn;&cMt;--nG{87_m5ll9PjHi9L1o3%7%F=-eKY>4s z*AIZnzTJ?FC~C1;QzE7QoS;xXp*_Z#VIK$QqhC(Li}_Xtb0#bBt(Ue?T&|2xR-_i^ zqX`++6#Y7a`}fNZ42y~Z(1HAcx9#)ynid0gHt>B5vwL8w#7xj+jN9Gb9?1NGZcM#i z?|!I|PN&91yynFO0rv~}<*p@>-6lE!Lj*>pRaMtYH5(5EJDq*b4m{NpxYls()`wL( zp~8kLLpxYo_?P)>U7X%5UzM`a+QkpIp~1x}S6ZdLx?Hn$CihHwkj&p3LcFY|u{FZ7 z-SD~A%#EjS_?1rfAK|86NDG2Ks2#r(t?UrupGmfkkMZ(j>xM^H!B4hv2$2d25$CJw zI`SpBK=~!T?LVz%Rn8;9rCUqpw9@uE!L<$Weu;C>Xr&>|Vx?FVTwCL*#7;LKX*Xe7?c^hQ06P}5Lg5Km!A!q6nA3i+^(mtV1$Wt?qg_-R6P`Ct1$G_Bq; z&APoT`vZPlt;4ULGC=_sYs9vn8llXVgw=)i;$!_7<-XgW?#&@wM>l{9K>&$upbZ#S-N=`Rlkn~-VKq8P0ri2$gSCuP=ez({ zPz0gGoF0Sw;-w%;KJ#S3uM-R_L?K8}y1l}9MZlrfP=8?#oVx0vfYJO-{(km*U{!ct zAVZ$t_eH#n0Q`}$m|7D7hA$MZLlm$j%V1_&il5q$zYJs~id?G;p^=+9iivI1k^_aN zr8d+?*_&+%L_>6+Xy(tBc-CTxHUETIh(aEQrE7kF3q>?!QL3>RhrQPeO;d<@G=sQO z1SAcusKRqKJ0=Jd1m@|b<9_yT$nAei_eFYj>E1%XfMF*uxF0_d(qqwma>AJCwon_Acz4#v zPA#;;ZA|$1_z?v(scOYkK*2G@gdCQvWTR~()6HbsKHk@EEEfsXOBrr+yGw?0v@Ljt zQUBEUdhya>2Qg5`yJdadUEWkWxl2?FzYl^6JCqKQH7Q%wC_dV%!69bMIkv^aZ3ca> zoF(>P8K7Oo@;jcgfEvc*FS%{|#AT*Q9y1WhIXS7XvOY_@*M|Dcxl1{~B7xXNEG z{P!$REm-v9<#bn7@j1zeE8F}0*VQ2CViu38)$$9)md-PG?hVfa!`DTDvt#6xNShrq z1}pF5X%sdIx8mD+S85Opd9Eatd(WdjsZ-W)t_6g^KWRC_4 zdgSs_TK*0vt%LL+9OHm-STC0#H0BLl*v|h@YEJ=%2%iC=1Ha;iCz zKYS*pY8K*Sg-e@6wD8>z1hzN=byxsM1Ty%MP$&(JxYYlKoMzw^O%324@H>vuRhMaj zU|~Z^c@~HWi9LlXTCO8_!?Y9=(EJk1$)X{DVMjv5g7VN`eqz`@Z;|lMN)coLg;FH&O?MrQyV*j8(hACU20O;&@J(S6mIq zuT$TuusQR+Tm$=1^Mbx7ezROjK@57%efVaRN9?%t<6&@I}bX4vy=O3VW= z5lJrd(2RGm+?+}i+cnEp!`%VhaTcxGafuL!AE!18AspMw#XteMP*!(c@y<@jX7Tzt zdAZ~nkDqUxASlh!V%S-Tb$@?rxymACIQJ$+EWzi7*4N-2(8X3dmP_}ZX~M@kQv?4L z9S?DByn32jYY@wIC;R$~_>&@HqQ^M8P~+3AMs-C5dRMZ4+q$}by5>hN( zV|L+7)*>J;Tq>fx)5Y~AU>Eh>k*{?mr)h361M2)4f=$ED5zj!%0-M9*p@u*a0`?3m zJ|{ah0{L7Xinwq{SqgTPG&W=|$W*J~R4R_hl9Yz;62&eO;EpT3DJjqH6z&^P#wF6| zecgx9-)x3v?MG@MM-iDE`v)h8bM!!-_4^RHsem9w(W!CgbxSE}_Ew=2Z2n!%rS>U5 zTM%)IV=5g5rcZI@^ZC#q1EOhT-RG~8#*Is{Y(@e+;#;p~TgNu!G#`VHQp6j0J3rMxt&NoG9p>jK&DGke_zF$lFy;+km@vA8pAguOx)cE`^|O8TZ@-shQpoqk(-z z6w|Um_F=YtMFgg1V9kt9t>&z`l+t9t}ISxF{_%vPR_xv<}*P z-SV;x9?~xj5){Vi=pFeMF=;&?7e)3F*a}))PIkM&BJ|eC)05h=)Km?7O2A0WDIM{b z3c0IHz>w@A-#6L}$&+h%08Wf&pOuMNpeL*O0=;RfDXscNHXPaBthayzA@*c&WfLh) z4vHkCJq@|EFcH#bJiKGmv{DiKS15vfuv8~56r)>k`EZs&Y! zztbncsX>KuKxP!95AKWz=cN+5rzJx7BO^6zurz-N_zI=?P4vv)J1e(CNh6BApe61E2 z@@f+wiiE=BeJQm}j$9vU-r-@1Re*I`qC++C>0MwleS8A;pm9$HR2+UZ#I!Zmp;pUQ z&Fe*#SeGRSXBz8ku)0UM3s0xj98d8%MP7M}R-^OyxSCwWM^OoN@9x0o-N(ao&*Q!0 z0_Yh}zSITw*EI*0XJ0&VzR*mLCN*>cN@4`?eK-Zj*fr*uP>ce>QN)t;8HD=swe+iL zTWm6^kGFjsaBzRjU;v;nWwI~&->-NC#~8o_ALFHSo^pI^m%Fwo>^C?Roa6bDy}fl1 zhGPpcu!Y0IVSbJwWH}~g`4>9>_v7Js6YPh4s)i%z674a*;QMR2=|7%fyJ=F(ok+v z5ZC1X2&8$kH{*Ynr+v4e#%co}1VkaZhrO>qA~YD}6?`N2@(-lSaS$-wPVApeq=V$N zddu4N4R`pEFukZcM-!TTD>Y+t=&RD)ziMmm$!ksY9zU3-j z>R*L^XV}+Ox0khi0p{^7pNUKMGNbDO_Qpwy2B9Cm>HS_CRut3q;U!^ihb3v9N?#Fe)IT#MXCPNkv zI2z{X2YrjEZM`sh{l0&$&p!o){HKRkAwVt;uD-D@{Cxd4J#R?U;&r$o{o>~NMnLgM zjAZ1)%O%R-jdXdI7SD```}`!z!gK1Z?W24+?X9q}HVM;oxIRSwPG7W_$Y@>dsr-m_ zr;>0SnP)694bmEUOn1NFbKDcWvT*r33+f>_nTjJgo3?k;jmi7V;2<4!pdvWwM(gor z(0!AfNRF2`7y_xPkSUl&k4f+3_Vpcl^5APy)mSZ%xk~4R-v6Fgvg9T@81)93;~dUn zb2#Sf#zboxI)znN@s|xiyJsj%v|6lLzVo%yQ7zzBEbc^dbLH4k=0t3DcNN*aS?gCF z4(_l+tVVg13~c=`uHLanw>I3OEE`YRwr$(CZQHhO*Df2oT)S-Bwr%!%I_cz`&iZ!$ zfR&ldImQ*ZbJZE$lTxNIjO~JNk#oAb&A^*=M8JocbzJO6(z@c3 zc@k>7c!|5xEssIq;W`?=frrx>FaH~*%PePa(RQV!(N;rVAipZBu`{j<k^xB zvjSR=M+>E|Qv(%rWhjN(Z6vp~Q9KRrIK9`=DTsx|;ST9Lc=C5{nLFN{L+IoPS{<&_ z7@o+9&ms_0tsAQDkaX%M3Tm|&{v;`A!kaH?NDg5n`S2oBwbT!XrrX|NWoY>gFP-gN zLj0)d*`Ylc8e6W8b0v9c&Iv6m)b-N-2$I$q`<#ix?6n4FDFwcB63kgUGQ3+UBW=FE zv_W3V49%fr--gP-EGZd^8nvr7&m%|AMyJvZw~Gb^#i$9*s0rSvZP^dru9aeABj3`- zhq#$>(f8&_5Ty1=F!hhBEBQAqB-{Sh2NTCP$^?!5g`EO%1Mm4lN|u2m#Y z>_=$82E7*A+pb6<+V3VD+bvjHGs%Yo$&y(sJmT8-vop?|*G)~uBR?x_-k9i>V!Ao~ zT0IW+7F$!B|5+ZzPx+fk_rW7)34zzBLqus^}-Slod}+9oMWGuP7tF zSLZ2HxwkC7*0~xErWk$x$ZUQl<<;K`I?nKe48$K`mcNMq|$oQT%m$g&Be>fs}bEz z%HC`8u#+fVbb(E#T08aco&l!vI>vO5sk6=;+5?A~(fageaQ#6tRkn&)UI`vb@+w;N z+wpbI(_*#3_!b?+EVt9Fu(Oww+|Iw>H*1JuGacsQ)>u?krphr_W+x^7|((&i}!>Jme-iJI#C+6w~a+JJG@PQwr;%|E2Fpr>D5-n8Acf571~H zC)arO`$NUS-7)#YviloSi|cr`NV%lnClf1t=*YPAH>V!sq?@}b&51ML%~_-XqJ!(b z+{1@cy#B*#TaevCx?c&I4ynhqSHvIcuoZXg>2-KVE04O$TZwc40aY#} ztNZF zbH~D8?M*wNCKqUCvxB`;Tjp2VvSFDg@2{$h32N=43o$28TwIuAD~`n23-bJDkiU07 zf~RzkZL0?gI0J~Uam1mbu0pkn(68U=kVjN8f_H9zr&X$}IkG}YM;%qA^_+6{5r7w{w=|n+AwkV&?-xWCRMIm@+TkH?jk8Zj{sTxg-u9_QkGc-U zgqk|nfA>Zou_GAQ+|L<;5=lrj)&C+>8nG$rK#ij-`uT$~hmhi8Kdm{@pLKYr3Z4RE zo&=(~dkl~OIQ7rS!g|^gJ<6OdMASCSHdu%8V}s=6(d;z3rOmWfVeDQ-cpomdwm2Rn zbAX7Jm=YgP5k6qm^Pr9r1#oY0yEKB$A!x#}z)s9+0i3?6`gP~4ObFzC=&>s3@5Wz4 zH$^ry{kML|9BFBd^f&o^?4m(9M@a^BKc6?xpU3Us(_^JfNrzU*n%tBd3+k3;-viJ+J7lNdWD`~~vF+ZBlF%FyLq@1*&pgJ!Z2Qz0zdIywlIp?Rp(jH4uxH$#EJ-p+r(gJs3G3eBdY zSsOgEIBmZJly+D9m+b=Pp0eq$r66h7mYzC7&s?M|W*V-^^gWh++$g(CUL)ZS_l0Nu z?a#=!YwUe^WRFC|7z|=rkIUKI%3)_26hA%97RL>-`?q~9vFBM6!8!EM*S>?CDyq=d z{|2i^H{PAC&0TtXJ~)j_eQq^{fDZo{H$Nj;yUHaBTC56U>0`RG5V1pnytONt>)xVx z7Xr&%Du&S455@_D^T8eN7! z;`N9@3e^*ZGN(&EGHryQwopJy zciGhM2P+94ZQ*r5Gr&{s-f9g81I1?j(nw_Kk{))Ksb{^;krGVx*1mw#gEmG>6kSTR z3@M8?gGqmZQoV!q^UF&xLKH~~;oLGlbcC+b(jA9(3e+{+u-^+TIo+}E8C@VC+$fu2 z&=jinwdl=z;gL|*b-hn)atg2axs z7l$7vF#~DQ>AVCZUA0xeDTIobNn`97dKo@zm(AjgS*Ra0D3QDO_dhh3;wJ1pXvgZ? zZ+$VHdRG7-Mx```bFPOAB}8GqoG~_!4B)dmAbnvWVgYzNFuaHx|hr#Dk#}ZF)SX{jchv8y<6a8%}EGZ&PT` zp7e%2XWgGazqnaew*-Y&EsUS%pY&?wtypaE>}!M9tV<_%pr-&*!t{?Neg6dbMzTFw z#t3uq=GxXNL(dWwlTKdFwXX;&<3wo{nYJH?OvQc6tNLEiY+Ytj`oOUYPC}62q zyL63X6B{~L*E1e1aXwTEnHU@nDNMehthe07az}Z;nQHgS{A*&Y|+rwodA5LWEaSYdnxbE8ct$*ku=L`jx^Hkg6+;GW`N-$nkrn zV0rX~C(AdA^QVX~Kle9b<;;bPL-KBCN1e`>O2)^-OmDsaF313bTUH!8sUt?Kapw_N zA=)!%A<}!)CEdgQ7kavbCmLZYqN+dc&h)u}a|succ26b1IG>hI629=$(e7fUI}ap? z2hg6=Ss4(-Z9X~1M;1~}#s6+l0w;S5q*#vW__ zpFIgnVVxyzi}n_l08!%i?c3ymW?@M=<|+@0`gXk|Gj&`jHBtt7eYP&`G0#;!a4-A5 zhko}4sz*(iq(xLB`$YL%<(oh#2|#x*eLKdJbcswzz$JQjii4M*cm2Q1DovehQ- zI9zQ_s)X+IA=af}74AW;75mQNvg#h!GvboT$N;$o-^p(DX|;M`cuS=QULl{Ihg_xe zj?Q~{fHwVjY=dfJ&)#BP8CwI%BNuc*KP&mDK+i3;Ng6vg8-CBRv`>S^daoPD*}JHj zvX{@T^(u?dY`P!MRgm7aSK5x3Pp^+X>*u!f9&Hi&~d}RQ^})C~?pj5BWgERFXj@3FGsFGqIbtRGJ5(QImTsWMS*V`P#xriM@|daZ?^-05B3KiTF@04g@a^2(^y zMWjBH#r8T*UV$MqVLPe?r=8jV@B$G3;lV!7$WxvA3^^qepB7ttA8}JOd(;@;!M4c& zgy8}xKgu;zA#yiKS#e&baT);-!^&L(!_TDo1G;z?&E@h;?HtIN{J8j!Q2_$1O6lvbzL_OVC8D_XaFPPx4mkvW(L_ zrkpzqq+dYz7V@Lc`bHa1uQ4qn(Q ze%xWiz#1Sb$<)mlC6cqCt4OlH?&hCi(%DQE#rg0An0?7xU00pkR**CQc0GRFp2iL^ zlHv8Nr&++Q0lbR&M)AkO=BzFBjnuwWFp;N)PbHAvND7XQ2DRpdbK9wVZt<&tdJjIZ zLUocUV1H?I4^Wvuh`>M$yYwoBB?iW?%|k`!MzL%5ui)oLPbulwJcfS}m*UZF*<4UZ zh`bQLhX{pOt%cP8>rlss#Zg9t$G~i=ogx=l{R8v=!UP*`G_oW@PR8Sf&f*2a`U-d+ zT|twKH$e8j5zfG@++HmpVdFh%IZ-np3|AsT94tYK=aRIq4@;1TMJxaGbwex^Aiv_r z412wK!Iztg5MX9e3>n6YvBoEoGj|OikgpB+VpGACCUZsoZMxw2sa|0{-o$k`MMzMX z#DPIlmx?I<_ecbgpbAz-3lslGLM5M&#&I={+pD9wHsEwoqXdA(Wu@p<9|1Rp%A-J9ZSuHC(4#~_48YGProiegjBpZ=h`HJd+ ztx>AASXE|OAJXo-g=;Td{S_>8oOl8d6eS0KUp@UfaKb*9E@eJT^1vU@Zj-fbQm+GV z3BjS*RPX`GR;|Rml`w5xUEBQzT@hOgj4tP{FyY=JrY^}ha~0~b(ik`D6%4H7_ps!~ zW(F8|zx_X6ZCI!gt8M$sIhS`|>|gg69~aZ(G=Hbljna!nmFVO{7ep!Lv{Y~ZQcKIy zQnp}$!#+lwR%X9T}22}B|~O&AUiA!gd3>&i(*?+?Qu-NKRD z7DQ0gTNlWYqxiVc5k+AY#Ua(gQ%PZ^jm1gwuJRP-HeeQ_sQ@ypsPpesZ!x_}te|s@ zP1Ms2F6t9ar=L(vxbn5q*Q~kZ;!ZP1667LRG9kJEszjYZCkW1(CV))%c1cNP>7)OO z%KLan(K@jv1GWW`K?iX|QqF7}#nTajV|A{e?dap$n_s?*zn@({9*u~2es?+9Xqc=v zQ?Xk->DsvG9R)L6B=Z!o)13dO3EGBj-vtBl8rNHbwo0bP?F|O&3Zn zLQqSxs5=VdSlU3n!Ub}T-gC@hqaaUqj?Y$NHPr=i6nD8OwfMoRN6;K_KftBcQEE*| z#4N6b?XDf!4Q$9<_p;;hWjQXBOCGMakCjbpkJ$MUCNK}YMxWYLCE~O#<#_+8*UHVz zA1a%iP!ewCwq4J*yM!_)%C^S#(#^SgV|Wy$;d?ML zl$&&O?i|sA%9UOtzl=0%I<;3#Kp;djsHbw>F>(*W2CGiv&kFm{r%dpvAX5uR5gkV( zUyc32Y}UAt{Llrdf+NG~j>G!lAOK$;|CN9fEF9nwD3i5vAijExkbBMI?!DjIyH=A0 zj>QxkWpi&MbeBH?K>s)EG-v8|8AAgBJ&^pbtmEMLKcKFbox@=}(*J#>ekBE5W|V)(CtvtDf9G=FZrL^Ji<#zrCVKghSA&6Z3vS@op%bb z5Xh2Dt@H;DynOx1pZu~;V%$DSt4XVa&v5L3xlW zyRUqnnQmauuwX56g;M-?O%tVb_mN~3(Cc$enA6&uPjQ;Tl%cfJsFo zd{oid1SK+t$V*279GMk(oRgeprI1$Y#8fd(bO@h!96hFLy69&Jis)|z_$qd@7;xwH zUgvvkMm$M|zBQC2YzXN6{uOF~Efr$;egj8xRt9zu5aU21`LwKZtjo2F8 zAz`)K!u*fjdqza+Qq;uE-A+xwD;zKy-VKjIWg;z=*_g(f>dr!C-Fslu<+l+EePbL9 zoI@2*PMyw_b2E`sZV~e9Mywv>ph{pX@VaG14H-?JH4yqT8D{7jVyCSrxn`EO4)dKV zeD2Zjz8PFRs^H=xmkfbQzkM!^hEBSm=n}#7zb(cku$){5@`ifpT1*`sT2an=)8As* zTc$0}Qa)&6O7{mRoA+%FJuZ+^FB{IgEj?m!$w@ADzH3j+#6~m-;8nqRNmRaXeIiLU z!W}#Gw!G+>$0% zHp{oLstHLeLAouMwCHqjLUk@MNwq(=xclOJI@V>1LwJ+I;;xu+9gGe(slUAXGM;AU z$D7`Z5PY}t<{9LUN!y-^?aD%WskPc6`S`({ex-|otj~YQ9*B1@3Rb4I0Tq5yqUN&m zw}j>j&MZ7#f~j;LMg2V%Ki5`65|vj@+v<4ULx7EfG{IoGy8j-91lc(p{7kT;FxK%{ zY8Rh}c7D$?HAz=i<+bg3Z`?K62tYjs zs%_pxPp;H84%OC~RxVhZqQu0LtGJ1Wv2jsYf?pn35q8YmA7)Wtxi|Fsyeg6X*Re4&fLLG%f zzq3sln?9>?)hVNiQs};G>fPZjEV8<7{46#(%Gm!xP_Nf%(}sFAZK`SwL-eRcr(uSGq@Jv*WybZt^NCJ^|bUx}h6Yrd9CPWDhxs z3@#x^qOkHjp*QJloN52A(=U-Ukwt<9hv6(ALzCZRLevsE+@Tb^*(-Y_ynMQ>(dRaF zSGIz;e_XXoJXu#X-h6X(uT~(KM%DH-5p^}$cmP-)C0@W_%kNbKE~wMHkRB7;E${is z@Sb}5-ZO($mRFD);7M-=&Wuw69QMqjKbzQMsm1{K(I@;8vi>XAY=0?=lpft2-pV5? zSTU(=xF*qU8q*T;t)spl@Z7q^_2qv9a#=+SisCc23 zdekDWGu@v{NPf7^4+Q%BVF5(6itavN$0lj%X1Rx!*`3ciQ&jL_tz>Il6St6|TeI@W z%8<=~k-#|>^U#Pzus|oO{>jX2!63(ik$mii8MTJ%Jq0woD4Zv8m0^G-(j}ZnZ+R5B za=vvLGy#uI2Vzp`6TA5L&mU`do5`VvP|q__cbWT=x#28-X1c-shaM(*htBfDH9lgO z&e505_!!pdKOhw6@a)3QBK1vX)Bz&re&hC^`k#Rc`lgE>x(N!SQPR>4kPs5#bcVr6 ztINfE&M0AKGw-FB3}WX`Q;n!_^F~nl;1tJ-;k{PxTz<#fA{Fx$m*sPeq5oP`mYd)- zKNW6dOILpe@^@7JT(}DByu^-SmwNJ!F>i?1s`duLBUiVDJ9YBeLnXhPPn{FQ<8=+` z^}kKytd4%@TjUyR5%ue=;v{};R>_qoW&XvEO;#7+|2g~_9WB2*-&VN2srAY!-9We* zq2Eeuz<{~)e!k?XtBx^KFvj=}o93K3e4AawW%>+^wizb~bxM(9;$EIJ$PpDgT0UV6p% zlv|-$uM&~1`)*fG@6(6Fg+I47x`j=dxLbMi>dmG(fp=8>snE2Kcvo$tNv4Z+#&QG> ztL{I;Hm{CBbjvT{*LhEjg(}|V4WZ^DA;3ifUw}osMjIuo9(Ylj^WX6xzH*N5Q71!= zOP_%=@Qm6ht7vU^Yll^pDhs$yyYBljaM2BoqpEA{SLDok$!A}-(e@&Vs^Gy|ETdX8 zMAKQlTOTta-PEKtSJe1Fv-lsspy*!5;eAclhAt+LMbiha;?oKO>o|(dw-xlV3b(?% zh+eKnPimv7o10k)g9sB15OZeX6)U1{1(vL&*w2wGPn{Y{x;B;Go-u__Fum9EOO_eEjvrkbM2bF%1UFo5*5%6b0n(5_Z5 z8zbgkuaOM@`*Gr%!>Z?cp=?PF|;zi>cmLf5g4`Q*e zh27QMJ)EnkWwg}zwn?Ed!;MU?^{)A`et=i^O>DA_5cW-UU zwdMF~oJ^kA&8%)tR_Sw9{l-{F@R&-q1n32?@H$|BRrOGMC_Jhuo!b7vs=s)5d);*X zm#=@b>Y_ZEVR~@rZp{(%@X$2V)>Uaqqgm5sqK?CNRJuwX(-*kZyox`*9vq z;P=uzo2PPmN$@+?KbsVwcNFsn<@8eG(pra?+i7O2^72Ff>^-SK+zK_qKXnKNGNYLj zp_mrBnK3eiG;U~^QyO#?{yqglDm7OjSK`w6Cp$G>YQp6Z^{+0&oyjgd$P@Bv3aR5i zT9@y+;cvk?XB3VXUjf->&e-{Z7^yn?`Z|y1Yqu5y`e<#G_@*()aatJR*+*T2M!AJ4ieWRS^*nwp>A^mi5KgHrAkgyYKeX^f_o%rRz(W*a*cNXGBGmkv zkbmH(%`bAja1944354FX#O;TsL=dmug!UpdyA&VJyotv5<)MhWGDSriv)E4~vK*;Y zDin|@i-Ig@*;6TpjUn}E(P$(WN#TlYdocd!tWDf^Zc#!ELcs~r_|<^0Qbm&SB?Lbo z61v_~!I$8B30+X+=a6GUOlCpQ^{-wE+jvp363e4--1`yHAmt z-43#EjUl3l(T_J+>(cHf^to-#*__ZoJO8WDPZZ!%V~HPJ0u?n?$_#YiGCCulVum%0 z!`xwsEp4aKu0}Y-tP05|1l}?4MuCk0 zEU4@h0U>O#gCXfxB>glOi#>IkqY;h2Otg7tjp@xkeQY+E(eVI$#18- zvaG%eBs75{EXjn@MM;@taPk#QK$Oq}m>{xEj6v9xK#F>+N7!V7BM1`o*XGowdlpUlO z45wH8n!`lLIga*!r~az7|cPOh?GRq_xt6vUA|G@a6J3 zJ8Hs00|ti+vp^z2e_Z8Tv{%9`qf(VMelWmrL<3KFmeEY0RwrZWG?8jPJ*+o03&NqK z2}de2htZ$Ajx38o`##79s^SvE2&o#~B3NjPxf4`*kHKoSlWDF*O5cVAu3}TTUmMeh^P$1c> zaNFcqT9F5g*wPOWW{4RSfX75uV?AmTlbZ-sDUfm%?uy&U1Hvunq>xMzWQ%&f-x0)< zEYp5UP#{SZX~Se=&Sq#-GnkeeZd;JN81_vxn=onw7!O;OESMLxQk|Yc;ViPfjPY7z z49^tIGu!3}$>V4#XkD{D69J7pkD7ivH898(lsc(|eJdOXShk;%`G_HKR?r4cY$_FE zC;mqJkn76?Sp=U^tk6DjqzJ9^JMbM0L;@<=vXLO@2oG&y&TE$JP^jRX9O( z2RrwNtB{G4%8kkBLg5WcC}FPm<8Ub^lHY0Vkv|113SoV`Hw-~FfQulaNxk6-dJrOm z`nD8v=)$gr6dnRGDU}rhzW{T(oOkXcgNQK(6$FzaVFQN+`a$mD|@`DzH0Vy*3eX;~4DOh!zKatYUm{s*g=s|D;Mx8ZFtAe7X;Zpt010*AJ7Z8IYJmH`Qy6HRsWN#?kQc{yQ z+5yr+xJ6YZlDW{7@UAd>)0+nWWEdc^zu|kx`OGRoyhxNGf|l+1`Rt@Xxce8wx!R71 zkt9&EfwFf^mbsF}j>>Zfneq4|71g**Ax>qmjG$*03l^Vu90{Xtc||Ie&hcD zHOE<4SEy)8q#Xz#*;!18h~V2uZ}?d_;9%$$%*aw=K^j4jNpx>%0x|1EpwUEHlVb$p z|IVw3P=`t8&#)<3DSemtg1kHnEcT|8e&R{2uJh)S|qSN#30I8?EIFf z0KsXoTmlhMD0I_A0@Z`}$vmqMlaL!~!p^AKOW>2f+ zpqzshK!IZzMmI%JxSBDXiymU)X_9O~5QEPlex16cNJ26wbLT$9!XhJAI!w9H=rO^u zDw|_M^7&s-Mp0|X4O&v5bZuoDLVi8hk?KkXj5@n9>Z_=aiD2Rh(O9M zsq+R)6Qbo>lpxsU0qL;Va->tE{9+X5-%u;E%-~X+Ofw<08(i!ltp3UEi0uac5i;70 zU@9?I!@k5hrRLD$$bpwcYlzslW>&7yt(s$G2u(Xl)6BRum?FWzmQ1NcdaqAn-)JnT z!}=vx2)rY5ZbHoHEMUm2nHoYxP155qFaqnuiZ5Knnb?AcAXPrD&~0cJL(87X9ncPn z{t}HNl0Jd(NACmLcgVl$+CerF_TiHJi-wfgjKUD8Qw@IV=7ldwTY><2$RN%@ctKPz zD45zYIdWp9;MqM5HfM{&#oF$e?WOwE=7v zx>94d9)fp3y3OGS}ZYYh%l27K4%_aMYPM(;Od7+SYnciZcrx< z4tjutAdaD<615iG+217PMs*-IDeUNmJH=EbkcwWkmaHh3o=6)Y#-bJOKHw&Jur+)+ zlKE1;8#=}yWPUa#+#u+!##F-Bv`qu%}%X1*s=vp7ExCBwGrd8 zKB$xCK8a!Y2Sjy&$VS>gZ#uDHslIzb_SWE5M14TBU@4z=Phd`>7R#kXLzbu-aA4gY zmU(a}`$=l>8py_&LOXDvY@AX+qLgz3qx!JsOmM0i7Ob;~Ywldsz zM1#;YtUI-o@?aha^H8=>Nb`h{J9ZuE3LzCs3KHN`%*Z3S)F%kWWuF=rS0rfC z&Kk*eFx32qy)cW+jxw7jPV9uC5Bex+%0xK4c|vhdr(d8OXc9jQYuQb46A{^5hJPAy zTyljJ2yUp4Hof10C>Ey&xR|C;YNYd%Xia{21&su6s9vhdP{-PooE=9Do02a3oZNK! zAtOUmDd!y<*@}?2jYQS@I0Rg?F!Dd62lZH(o>5Z+Hy8y}o+&?TpxuVkgrg*;CCVVv zSlE>BN?qpoxt2*O3c9}&9#Mw_xIH287bU3WkbdXG5Z>CD$xLh-I8mu+ja6AutdOJAcSF0lTtMD_VMklep;82eE=U=nkQ9z>dQcIeHo}5Z#-5oUM%0VyddEmKpD#nvSt&5a?5$EP8a4}OyEg!yvPkqpEMN;xh z^dm^n7P^?^GSjG-S`<3Qm)}NDR&NSyL-0nh0z%m=9bgO|mH%esJ&@cMuQVp`7u`P{ zVLp7TLHZ8DUXoFgtXp{aJV_+~dQ3OYpr)3H>cxv?L=&X5cmF&^%<0@$EA4XIHqC)u zjBm4!eR6ZXE?X_f_#bet&$%S)TD$`3R>q|m7enhzW%G{gW9Q7RxWxlPz!@Dr&lBi1 zn|g^8e5Aduj8`q}^tIlu-7QQ7ll}WO9WXY;bZ8rQq{Y@$c8*`PzDv0Tz?Z|Mzi9)f z(J2ICVP`y+M|e5TX^76QEPQO^Qcv5;=Z^%nG~D}E7RQ2ndfsK$JQ2qba+e*XAKpgm z+O}P^3N52LKf>rt_gHrP&jzSy|Nz?PfG1qu1?Iaa~8rRH* zjN0DRL=J<`c(e}p+3{a7_TeJhIyYQ|nVNs59a9d)c82;joTg_mec_kKtZodmv>sLnW@(cnI7bNo|@E1`0Lm!{9_77Rm6LF z(@ZZ6)KMh(?H-Nlwg`U7k_jv*X(W9jAwh2*7n zf$(|IbsJ1UeV3XeMequymPj!L4k5nA$QXi>B}?3T`qEd}#pkJy;UPk`(5I``?xJZ9 z>rQew?o?B7&-`n?G^Z~m04@Y3bXwY|mnLke3UK3ZUUzetMtsxEjpLdMDSD0UVl zAbj;jJTuR_3wX{pFmoZI+_CH}%gY(5tvk=5EW{~IS_gNXuJhL{ug`hKyNb`)=t>-*~By4F8PgL{Uy;Ch2Y zG28R$OnN;A524+U`}buimmZLS^y2~(TtnUiIP`Lawm7xTHV(8oBJG_`aivED#L6?= zU5PQ9azjP$r?aHTbq0a&qteA_6lWt=8hqZl>n)U1NuQuUT8+ z1UyIle(wfMmpr5#R9z#nZ(Y(esA9al<@6G~M6#OvBpGcr;%jj#J<2b{7TP;SA|8*5 zn3Q43NBoP_-o6UUGcGo2Y8 zR}i!N%5wakO|$pSTu)}8uxwF_-|P22f%Sbd%wTjg7a8!z@GDX=KBP1eVUUM2110~v z>|l^h<;Rldo{JIUG*)W3%5?U9Y@mQ!8t+`#`~9zHKlbZKa0x@nU<7D(=(Y`tZ~h^!^9*?}UmX;8;sJcG zwvHx~lS!FqMKk_7)}f#mh%)*ai?_eJ^PaQ$#|nCO)x$!*kKSNA(K7>)2x+C+NI{3n zcB*U@7I58o->CWf6ngnjp4@umtPWQN>e!E@eT26jTlZo!A>@`}8ZRaD*>hnh@&z-|EY{^Cs+ud_>lX;o-Ni;1SIr)?gjp1%%x`A>|lb;5og`**3} z<(V zaxc42d@h0vgw8*0YKJLph82MmuaThqkqNms?x2&0zy@pAL6aXxrSf2RYov1*fu4l) zpXL1Mu)|ImPR%hMd}(k)SQ#L9Yd%@fq3Eg+JFtfGInYJz^7WDC$>AKPJ8cO&Rl}$& zJQnkdCUonqemqvvcwTCr4K_dhIA)ZgZyQMG`OeXDTeP~jr#vIARE-7&?`IW9_D5}`sg^>IWcQAJ~|`nGT0wZddM zdvUED|3VXswALAis;ebfgUq{G-Q2y7IiTTec5+bbnr{trZ|mW5c5Wm|S?+sGwc=tSy}R3lkoxd=8F`DTvlyxPr*LO!VMVf)to z!9T~!b3cLK&E&us9=#95{KALCk#fvY$1uQm1A8|^Y0p7c&6@juI6Rk9@rJLA$j8T| zJ>&C1X_9eJ5w_zJ@Z+$)KPvO7crEGtd#7=O|Em9dIfj82P)6gjkb1@rIrJ zeTi7Sb*fpy-(4yUz&xbq0L8mhyv^g@S#sGCNe!U&fz#;BVp{RiySBC2wzDAFVD1=q zlhl5krjOD23W)ga<-R5}v!r|p8QL`8ORoO!blGg)^|rf4P3}Bzeaz(dLXgd--XXJN z`&Jsq@y*R_tQ8c((8l8xGHH}i`8#?UBv40KX+D@TdVsxcQ&P3b_=;CA@nQy%GA`4| zD`7{vDowpuUat~}&bBT2OmoyDxb9%K4@I*zzrjsd2*5~IBhb?SAUAAb==s>Ir)Rt^ zk2$$yjf(V|Y4~pl-^&4bXt+{YL5?BwS)&ya)Pc9LFQR;8@@&Az5@)9|f;Y`oogJd0 z-|l^AsR>cRxKbR^t@rgm`A-IjYmN68HXp-W#6lvIQ-hdU0jK<^1dowp9{rzUj7GhT zn1L*lXXm?JQ~VjRo-l(DZS-n6t&9fga;=K^^d}9cL~Ocfu84N37>=3YJVlpwNTq(4 zDj6sJSfarkkp7b!x#R!(sOyD3N@;v&lT*;|XU&`0F{o9`yOgq^+1vCd`FtN_SuJPq zNL0NjdttKSN_H$Rt~?Y~h>$i+T2h-Yz*@L1RfPM52RL*TsFg1ZvP`4KYfks8max7ob9gejGi}z`v%xe(5T~zH z8=t3P5vhlz^ak`aFXMG@=A!gn^w}j70Hk;3# zefi-=`e;@)*0_U~V{_maRYO9UPMsl5zD8e(Xo!ssoD;t)vXcQ5JLV7x7%|cNUr@NV zrxtyNLiMwp6HT~{no)7bh0X3aDGnRRwQu8FF+j1ya%n41IB!~Mi>g4TVPw=VZ>lX8 zUwniewVVJerZ~DWn_b&JiRT}F-uA)fcI&j<)czCndcp4p28EsK5*Id)Q`NLR;PL=F zb8z?HrNLPBB7^s8LFMJF_v-t{pvvQP1j)P)F%C&A-*E)DL8^~=&hm6#dmrN9mEET{ z>cNxKu984|xAu(3R5<$cQy6ETs=pfVHiI)|e_i`EYLE|~jgn`M-W3CbnEld-hx3ZG zQa+#Urjs6O%({QGVYlB!!&sk*HZ!V$8pklm(a=vF$wZ4hf5ENBr`hAn*iA{&?d*h_ zzuJ_hF<3tddB@`P$Hmx6YRjR$jQ%-?o*L~wUA5P#XD(-u8RGhPK~)MLw>DmGE6TO` zaWKu^%MB4iZ#EWJxIEQIxoKkS7_ME}N~cZ{lHG^XZedzdk8Pc5zxtA#4|k#ZPgP0P z)SSB`3J3e2d?D!0fk@5OJa~6*u9M=mn~RGX+`r9};!T4l=iHA>OQW5qeFRB`Pu&A? z@{EPnDoD@#_@<0s>r2ZS=8JMl4jjX{G%C1fL5-Qw4FoRf{*AeAh#Lti*ESLwMz}@I zb5GW4x*Gr5Ei7GAf|}UK1<JB^U!5hhRAZ323;9XAxK+`uya8Xh~E!{={w(}Pa8!2#9wz+ zrWL^Iu1%A}6^%Qo+#pZY*XfcpZS49kcYZz~9=Hqw}u;4+J#eSf; z{do|fvr30e+XfC{&ci|Qh>=>qIlf(_Lf>fhoc=0i)bc?+hwMWW;MfLT+PKljS?xw# zk&hqY+iIkLvT@cUy%%)#%2~$~B0~ZQg8an}b~h^h8B*y+_7W`#?DUS9_j?3vJnmNd zUNANwz=X;pm(AjiAqx^VDK!5To#&Ud+7x%`tuMoW8ClZq#o&PVwanScM_sIsH+?5KsY4>*Rx}5?oG9F>&aJKmdz^f z_bPI#zs9rL7DvHo=UY{?di0ZA@jxu`^`gFl(x+wn=#u>53?T~IPUE@tW^x2x?^&=r zy@g{khtErs?D0QVlG!SXh-MkPWwIb0F`bJrc1gfM5tf#hk7Fxq}01^hvM%`bb7us@DrVSx3#jny*sq7 z@=&0iHS}=r)DIxnrqN(cy_H(ZpM$+-!?3rU%t~pA)Nw-EJCydCLTB_%$a!k@@U@Rj z-$kex70z)!p-K>mFqtPI7x`;Zt%| z%lEIxP7FGU_AAnC-c=m1&XTv?WU2GOmIMLvIA$yJ+A%7%{KlhExoB^fJHsqhUNQY| z%QbZjcV&A!ntlDHR&x4Yt1Ni;y=O00{OFE8SK4=!33nCGJ(qg2R-VJZ0hVjogKpJs zKMvk=QSI*jDyTierB*Ks;<#$NQorMdBup3o*1pSkZW!IvW-l=cMOJK0EL}Hd1~m-V zgIFguY#Cz=vA31-J?F9OrZX;O`0dM!hf8Gc`tCl$8~LPP)=IiL#jCfWeOZ=` zSka|CcO06&_BvSweDW$|(@Qn~U1|UKPFvPMwlI9~hTr`dNE{;AH_@l|&N74Q& zJD6(oRFdrQsiH%yYZNTs|MfT-@Yu!7rK`_vGz0N%siu1{`R(i59|XFDilT4Lwy9I* z^j6;+JYE3Ph{JVQ@ojfTQ6Wm1?0v|p)aH2j3Ue~>nz;egI?{uvw|*Hr*5ZG6e^*i2 z&B^Tiez$#Tu7tPI=~ILAt8dr1a1L+#_km<|HSdQ-tZQ)}A{Zi{-oYZ-jCZ*jnI! zAnUoG$?m56s_R{=)n~{L<4#9flQ$Eq!HS8Gj_LtG44sSKpD?7{=9MlyrDZLO^Z!26 zlQ8gfb@e(lWk>5=hEggAVo$PsTX5%hOtcdK)!*Y9$iyoboB~Rc@9sx7uNf@uii3BOT|uQut+_B|JfD)#g&wjny)NrO_L@PpWUha4{sN$t`+? z8qT6YA0=5?BHTv}VvN952?0Ny7MV}0^o&(0yKvtbi{AnS&(XXip)oGkb&7D6;WOOj zZ@JYkjE;mcD-G9ReD8a=;yhgPc0~Xac5DNuTL$PwDP~_aFsa^ulhh$LE^j8-PP9D} zkmah>$uBpIfi<_hK<&^coY09_H`**`;OSU8ZNlC!$GB(5-eMg=TJu$0V{wZ9sI+fH zIS~;pp_?dv8=vp_Ty-D^$tjpRc7JXgvL5RdnU?d-G_i)Bx2hg)93VrfT}3{O!{0Yk zTgXcc9t_=TMf!4QHSN!S!EQXmHux}qVmWd<3=Xp| z(zC0HAKtuo>DH9z%$tAx{(ngxD+)(38(;tcp?{To|Bn>p;9}rx;%IAO_n-7~idw&8 z76U@J8QE_=GcO8`eY`#W)Y}UE-BW4-9ws$o46N85i%r?@4k`pme0`P-oX|#_o!f5X z*!#J5Bv_`BaoA_)XD6>;Xdw!D-9yqRcVDl(0_onhdJ=A{%TE?~{X*xIeUYZJNX z`W*;HyVoU}<6`^!af6AEzS$3oL4le&?mhN-oPVa6OKQ$ehNpdZg%+nJ=~T|as`aZ!HZsma?CJeWiMD@#<=P8pKg1kLYPXhH-`RZ zDRVDxZI~1|@OAX=Ajr&_g2QI=7??P+%yM_LzqHOgqR8A@j;vaS!_w34HP++d3Az!h zA*ISJ?E^L@Rt}5U>q;rt<#y~oySa4Ybpv12mfFVQMTpCYIlLD<Vbo_zi4a$D_QStdjPV9wyw8B5I zj7oFhVXRwC>N81e%fU-$|F(V4f_`6TBco~*f)L_7WMFE&gkNZ*DhcR_06n?7?+iip$G>I z2$3jj$*H>(vJy$RsOM7iw5#$5{>&e#YM8y{Zg+}vy9#iQv=jfOxgNjl^|pE;VRTJ zlVfOgZ)}I5*N?Kc{-`{?E}z$fhiJI1AKy5`gBX%!rns2m+Si?)LCUmY~X?96l~cO@V~ab&=!??-KUd(Jw=sA zEU<~_Sp+22XvQ3K7f60+%z1oK$eL*qAcy6KR7oHXXleudC^Z@%By|7OdPebkLr75X zq5fda@{gDOkRQHdKYz(S^5`be)J6X+(jdtrzR-bVw*IpM?K!A&R^3mRp|Ad`$H$vO z*i`lb1Ey^zCv^VZINFTN&Vx2KTGf~40bTisKI+;J$WEZ3J7+TZ2Z?Y$+Ke8;gj^i! z3;#%OQ`v`baBqCY+jr{PV~K1l5m$Y;rN`R~8Q*fm4fX(vo=SN?!KBWCjuTn#(RX^c zPC07sNN@N38&iHrRAnvNCMkNu<}f_wxUJ8N-S?Ss{{=EM864UMRM1ahrZMDRzg4RW z(_k7RbS{x~mkjHEG_WiJAg0VvZxSuq-x^L~Pu~q|9wwAZGVMkK=;M3fj=zEBb?XhwGs6UQ(RdrzoNJIhR{YSHmA(?UR(ii4YDa>lDT`tE{r z4>)q?csxt92`Pz5uO$meRD!T8^#E@V2Mqngh6oR(X(0cwFiQQK#xsNC18i-kuldZY zlloSN3{u5mAh_2-!DC$bMYb)LFMtI)j7D?oiZ5g5)3*yp^=6d6IGBxbV|^_#AwcS7GfXf{%|-o$_S`@=LN#%2cINz2}>KeI#(Q1<(mYo^(z+$0KBHjx8Hm8Du_FH3M`#Ae7?^DmW;zbnGY&v>U1w~ zd9Azou3m270*@p5uOF;AMi}DzbEn##)K!n8X0-a01wuddUS&w(sNY~|0AeEw|B;MH zJs&h}e~l3dDnJ)1fG*lKdM0>=iU^IOq^K52*&SG9rF##1hE+WD09F&Oo0T>rg}thc z$BGyw*B?bVpXc!U)D16%$Ddbj3~C(A#?a_;CILh7tlQC+4i`Ae1|aR7W7V4gV(5B)<6RLNga8nPk0l?S$u~;%Kw!Dud%`OM92a1d! z9p~@3+M{8IZyVL04wEZpCo!*Cs7Jfe=$uDdQ=I4z$vPbw zv}l>bY*u5yL!RR!&IW=pg$d}V4*~GG2Y>0_#dyIx+rwa*A5(cqm0kI=FciyY1WC=M zX%M3c_rYXHXj<>oG&$hJL4$c^d}qUsOd|TsjG<@3_{MJ{WJ(z)+r!S(T?wrap@rcY zRr+Q7trq=bT%rr(hXqPSSF52J;(G<6?l6p&gD|SL z2mvLCB1h2x-&=);l>fO*lqwi~;2^cYl=~f4U+Bq;#tr-Sul#g9|k#-YyBAYG8QRH2r7#_C_Gnws10D*cZhtAEz(00{3tx0x(*wJgqdQ~SWh&Yi>#mQ`=v+cM2qx)0 znXDnzk*2&qrMHu(obbwRGV0g+tBr>(1UrpCz7vMh6Sba0(};CQ(Fo8J*3_Ie2`w^L zb$h0VCgOp5m8po-QFS+PWttV3IlNgg(47@Kb-ASQG4OZkdY>zu+@WvXOvzfgkb8U(B zo_u$JLGjb2NTBKp3e6UI0{a_yg`9xqJOkNYR-n|5@dM`{R$1C@N7@ecmWm;2ci}DG421t>Yp@54NZY$jE106=sA;C)O%?KeB21r6hy?6&j?e8dFkf+{Y9bR7Np%yVisC^~XD&{mb9yQ#o%@jUXeu51O; zsZ-*0BySSXdaUeTevBDQI(hr7A_AD+#!$uygN|A%9-)O2u!JmVVYfJH=aeP^)<%*6 zowELu&Hi5~UDBBg((^OTO3G&)v_rPbH^h7%pxY@BJO@(@oWb*t?c4~%@?tM!y9KmB zGiJ&GkDI?Amf7@60GB-IJf27I!xkKqmU#>zkK$cFm|%0%a>}kT74q3Nybo8@j6MJa z0T7~Rt`6xZikHZfydh2F9$%O=abzu=u#N#$wnc3iPLLy8(oBta+aWWKKn{5;VzwgJ z{lltXIThtVyn`yM9J3PvwG?RpefonGEc1LXx@_1Up5ij`=rq{&IFia!EBzB`soDrZ zz7UYas*{2C!cDBm9@HZG#wY{2iXdydgns6?=X3So1n@E0uK!l61YG-1s-3(ACn`UWenI{V9LlY5LBdkE&(qdQW|BqxqI1j7W6p5;80k6v)Mbn4t7K-hxqyt5 zoXO>!I4O=fCa)sb`%-xPbkAh+b^HH(4MA`cIjG6X^&*>ps<~ObCCo>{*XBij(45Fx zk91?J4?N%UO&CEnoK;8qkXn&9LAlW!e$pg2$$l2tApKe|FoOv<#|_62EYnj5M5aIW z=G8tp<=U1@7Z>ID>3_cZV&(8x=Fk1%%UghmR-okWfIDQ4I|c@YV%zH;AUf1F2d4JF(`1cwNU#}rlqIpgjB%HRZtd>5t1G}QFVja@ z-s@B|=Hm!U{+(7i5v(Gzqsy(3&hjmcdayC+L9a3<^GB^}@M=7sucKwLA8Bm!6@;mr z!k~-gAg5d)CE}w5LYC-RwZS+vZ!|NPXf#_TAHAC1By~K!kOqdR*3AN zXIhaWR=XYLYiS$5)voU*y$$y8=owyeJ%7uWyE=y(_DG_Dwd2n#WEd&xHO8;ND`^(c zSKN6wLrkFQ@9H&B=Us^^pfLJq$$Vozp_UR{6Ze~4x14$v#~d%_JZ#_^T|BK^R%Kh+ zS$F%RtRL5P(4X~gWp=0Io?QNfU=ttnRg^--kejJi>})-4mDPvOIV9~%l&DAz-~nYr z<`q1-B>i6j8J%r*T_2a-9oVO74tB?CD@Vrb{+vZ<$CVq6*xGFUr)L;}80P7YzBx;O z3@7701sfcVITg@f{JU-%W3bz`%ElE?PvAt8;bKBEqoz`}@LJRX_(JZOSF7Yx#uLJw zrv-i4tJG^?16EdA$)nr5FL6|(>h}OlaWF0?h+lAQ!_GJ#z!x`iLv%6=jkyKqB}9ZR zgaGjRY^qu$HvFg}{kQo0`~DD2__(9ty!);o&3-243YSEB3qv}27w9^h5`}C}GkP{QI zz2nYQy5pqE_44-AOmEmQdABD=8T7i*MWm7r2JPpBoTpCP8e%y8Sy6F9yR%6Zg!i1^ z@Z^zdDr*b|n}lMec^83Gjugj35qnp|2|!0?cEQ>4>tEeO;n@pvFB+HND6p#h7k!%B z8!se+GlKSXP?{1ya3^{TymKSh`#DG;TKC#(mX3Stxs8P*$c@$%4~QB0pf|TnIHs&^34Vl;J8; zRl3ngh`7rMfoW^UQ+nmyhM)gv?dXrt${p-k%tyz-W&ZI248-x`KS>-wED;k_8a5BD z|D;pRzcv%}AzrM!fXjVh$|XR+VDQR9i{$hv?lD#1a=mRSnAD@eKKwBl-eiMSZrHZX z!DP8&3)!iBYzRJIcMwZfC>xsotJ)q|eh*r|l$ zfo43HUV@Ni+R}4Z1ac7H>ATl*(ks>MNXQVuoM3b~qSk;DFs=Dvjq3%FqB}K|utgMh z$u+s;&UgbXsNFvtH}dv2TEWQxZW0WJrDHC-l*(6o46b(M0F^1|8S|HS$Y8ty;Uiha zFu2JCOsXP`FRainEGZmM$p;UT(#?&E57BC_Mz}{S{^1drV_}9}w74Tf=RpY}Vlr;HRBoTGd+^)YSC!ba!0l;ETHp z*B&ZFp)(j&3p-}yBkvsA3~1+v7j4^me?|JxjZq{ORc82sn-|6?nXRX1!SwjIt!O!~ z!aU3GQ8luux(|j#1QIBueuq=TMeOIDRz`S$Cu;B6nT;^e4&oHG-9M|4Wp1QBZ-s8- zp6NLB4X~&%ThHI)r=vtt``RH{mQtoL$RyF|93&B;0VrA`#)&OP<|&wFBu->6jX6*t zI|B+R`wb+3kCdWJ@b~{~aObWQqYe5eR8Rb4Yoh$O7N+NF@qc&+-KvUFn;ZzfdTYM~ z3t=f*b?jLs^)wh#@U>4Bqt6?B$wVkxaw0a95{|BmdVb7_I9je!>wJGe#22Q#nI9#w zB-wHnQYoA~2z^%ZTCl(y5z7QO*|!tyg*R><4p_Y6#m?N5HKw(cDYr5Hv@M610nS~` zcP&&BlD2h~w=)jJ=R0N!m9Qrzd=lexQL9+t(a}RRql4^Aj9%}^@7?tu$D>x(H2Nhc znD<@Qja=9Tp@MiIWabO=hjfDzX-PXe_V(x%J@y})O`UI-z4n_?QVpbAmzYFjDXLK_ z;$no2CFY01mS92vqVzPqBM9ShIO+0ra7NA_=_eSF_e+3Hq8F=nk>n0R+$dTqTI@gw zd}XbQO&!ISZ@nT0?Ste5*tr!ev@9@hUdN7y-Xe5dGc7|2pW8_7xuq2sH;>945u63| zeg=1uWUbcCl0o~W+IZail&S2d;w6jG75Zn3MCGuknzvq(jzk4IkdFLO@R0JA;IQUQ zW5z`rYDhp@D-0Q{v$s!?@!0EDS=GdNHxfE5NU(v@`#JJp(4nPu+0&8{Z{==Pk@wYC zYLq}OEoU=9oJcZOA zLSB8Ou&*%GBVJicTDA_7o`X?BZ<5Z}Q;3Kc{Bdqp9nn4JsO-FDejw*;$ z!E^v5$Hr=6gGid70}5@=cCu>s3W^#tb7Im$=Ctpc=k&1^`a%xCtyTN@4}}YqlmWC) z6S~hM*DaYb%BWuDn0hRF`E^AOz@JMdnn5mK#Wb!IzCc+WiIIpBX`Lc(=x|CYS>z2n ztIzCJQhek7gcwvRmrg;~uQ2SAid@sUC1P30 zoo2ql3OY|5jGL3Xh)Fj2eAn7L9h^)to75T_`pXso&@G#Hy*Ic$?^Ac3?dti!G_ft0 zzSp4mKlftD+~bGND10B5^ZgCM({`5P*?tT(b>9?pfOyu*9%43sXb&>T-uvDT{3jg{ zQIH+1&?+Q}J-Dmik_)&S5&;BE7sAI)H@2brnWPBK+)i1b8}w_e-Rs>#hr_4s8wH2m zw!MINn}m7)+=K8c-ZL$JD6!ueC@N0MnhS8JUHhwCTL@J=W_H~SL2$m=^QSms2q2JtT}M##m)f-JAw(ZQJ&uf|8aN+0wkU% zoUS-={P98PAaQ2 zWY}cLRIpdc-HuW#%_}R+J4Vi^CpW+yS!$Vsm_?0B>8eV7ec8lFFXYBqN75UoRBCK8 zWmX*&$(vL+lU+pjv(L3xSmNT|AUV{0$Xly)O zbU`L$F&1LI4h@5vurm7Q%A8eL5O@4rFkvHnESA;tpxPH#d@f^Em04h!Z6tgy!aM?N z+4k6E@db1LYW`!!*qJ>-kA%VuxqIZ{uw3y#Pe)f75~N7&{Vm)uBVgHN3tq#1ZG6mqEzml7Gl!6N3IDJHbE8jDgM|G{TZhKd|$fb>p`uf z+D)qlZ4D7_2*dcppnl9gnP2qSIMkY>63Vd3sOGDr++`6Q`eIL?Is$DqylKJ-$M&%W z#>*itf1k7v6Cr3ntfjVtDXM^pKPBq}ct`Ylw5q@I)@Z;zQm?d}}8-XRFiW^F6-M& zm!(iWt%XTXm+s9?@4J>)$Q4*wil4`b`Zh5P>^u=Ko8XGWsu)nO5UQN-BelxZi4spp z|60im67^lU!uyvG*}zrVr;f-{t=ppAb^BsI!d#!EQIYNDApDjhI5i6I?Pk$WMUJ97 z>6JpXKB2k>%daL~Jyw7xe86%c-K5z!MGkatafyx3GNHWd@%kCBt~d_!suVBdof0Xo z-N(#PFX@_SlpgjdL>&YSbZtLPabCZ^bds&%zC^j zbv77{lS@{}t(_;)*mRpM|Ne7Epe);sQ0u@^ksjat)P_vP7^aL3N{?DlJN zQ4ROn>p>QNAY$9&>jULp45MDp0HvM-JC%*iwDH~{BiH>6hc(^+Wj1-Y$dzmNseJzP z@Ohuestt!RKK`axB01*lu3i1`_8ZtLVFJYu_4F@$oG#1-M~3;UIvwvW$GhA0`ED7# zJT|^c%LdNS^LOaysNVhkostlqFivz)>w?~l!b;h*d6dU`|2^au$4uST(E$JeRsQFY z`wxF>n`bj|vo-OyVuC;afQ#CZW}et0dqT0MbtU$2NF_E0i~JHiC3QF`*5cHDzp~t~c`C(S^OD&P}o9`=jckbs}sa`+#%HN{%u|F2Fm(OKE>KJpN@({su(0tkF@}3r**fyG3J)YvSpU( zu-swD?EN^lyP-qcjoW)d`Z#KVo^JOFMxE`ut# zRXmwSb8SEW&?iTEEN8y?9JKfQ;^f_F8@;dlx7^e)zMdcH-mEd%%6;X-8{97n)9ipd zFTTjVc@pY_9GZNsNpiHWyW96+6MIkr;Pz02Oi@lYJc9pj*lQ9&T`Sgj2^}0@1LUFkT%igm#?~B&B+-5-+8_Yp{0U5g2PQ470+rk1EjQNh2$!V zgvWb@tszBBp{VgMM+!PRKAggX)~A0tYW7|4M<|IQMI^suqLgJqYCZ^2hQ1fX3rzhf zm`_#ifx$fJx$(U7eWfqT3v55Kw?dF*RQ5!c+$>G-P#g!UF4%HaP>S2L6`D@d&~YKifp>=K`1^Xta5m=$ckbgY*~QZ7BzIQm+V^1!|DSJ9=0y zXnA*zC;yMujR~Q?qHnoU6-k-pXmRtt7En%yoA}| zfesxe1h#4U0ATDbA|Zy87FXij?f8S~6RU9I51-T>*%eudz)(1F{6cqdT>=p^6w-n= zX!kjq7%L;oe0^M%gum%cWX{d?fC@M$`ccI%WYQ+!=-=9znnv&d-l7 z*%Re&emnBWWS-m|6A(R(og6o3n`wubzlBztqWA(%MMX4SS>@4cgqTkVgX(8I3P^3* z>$Cn;5G^R|;()m7K7DH-rc_dQZ5!-QZ>&)rcNYxMuDW_rDo82Tryx@xw7(1bO70Gk zu|Rmc{$*oqvT(H~E%ZuRkmi>;Uq0|ZAYBmd!dJj=0wcnQE&!RfqAqya!N=%ABGiRX zs-CbvSNmp51QSjfwKnr!nsb(K&ygH#3}6SkLEh{u+5N>6$FsrZ$y$_VJY zvS_3M9+$($q7#)iI)>BCa|sWF zbt#jk>r*$sHmeHGDNbGp+jkZ#%FD zKe?wOG14_;W3mI$wQuS6m(8 zS^Gytjtd#RTl3y%!B4Zv7o4;skBM0P<+MGm)z>kw8OjnEk^l|B4z~G5&mlRKfT+w2 zA9fi8rB@BHyeY};Hx$ZsirD2G&EBm_!0}#>cb|qK0_*5coE$ij4-)3k0CMb6i}!B= zbl^`b1rxVDBZDBLRmJ^xEM|90uGJWPX=7fwm2riS)82H+Zd*U6!9raPg_WfWKN!## z!Pv<;-%mNSpBx!o+9|R!q!0tbP<}(20`Mb=sJo{9*S~^%ze|#`m8z5pzzprB+QEDm zPc2Mr+dHCiQa}asIfC`8+uit!vj{JB@d9D{hVIGaD3o#ii(*!+rX=5o#Wjpcc|s`1 zY_Mt@i9+h9dPXpoya-@m28wY_e}SCEDws(0I7Rgnj#XfC3Q9k(u65meCz_|AvPI`X z4^uhPo)!w!VTWBQ;Cf69C2k2>h6H&*tqNGO%FNIZrIGXrP?50m8H_bx>)FM)RArj* zGznJ{bz~z&$ATLTX`y@QNXijpPr!T(^a?cVatz9Y-kc(+L0q=*!1Kq_i!T6X9_Rl$ zXIa2o5aikjpyY{%2X((mqU9%nOTGgx^nuy0OU!d6G(AwvfK;NY3#O^EBCFheHkJ?h z_!r&0N6j0zikJy}l;*~mDIcQ_68;Ex_q`SGJXVPtsz^MIaBJ8O+aT7xbLxhS68`pp zv*?NoQg|QT+YI?WAccSaO(Y#G4|ZomnO+6|Y_ZEMhg>useEiF~d^Io53P*AN=za9e zi}*WU#2yMYG`#!D2qvz51enP}rn%=iqCvlF2!Aodp{ChV{zL>c_1eMP6U~rW<$!?Wy36`)_kXoX?n1OxLwI*^K5v`{F};6=-v;+hau{g)tOo z2@X9l*?@;2?5s#wpmxqND3;t@kAT+HZB=8dAsTjSO1F0Ku0srVi`@k{nR)ZPk9*))M>0J9J`b(`W&7Ah;x4Sk5V z3Aa8TSXgvS!!VHJEoAwLLYLk@uVx2!i(9ekIx*5oKA=t|tKeDfn{xaOJs>PHKRA25O8p z7k6>7Uf;-^;cPr5;R^{8X0QU}1+0Yu0kG&2>C5fgPMPWuAHOVHK)Z96B{QO6_OE{B zO_gNPBTaLB^AHjsj~L)y-Qa`sm58Hr9r6~B^wLEM>z{7MI_g^2uPr#KkHW0j$RaGmgdK!@~A+B^qW{2#B{0@4$ zw4XU1{-xPb>1C9%PB|lMPI%VRb9k%B%>1NwSL2#n1?+OxBBa_*|92|)4J`>%$g8-_ z-d+kb6(Okv)CU5o;3^VnD@-cpAh%4PaA+D_>^*$|IIO)nYk;CjQt))r+61a4x_Sp_ z8TL`n0!&{_44c$k8z2E2Tk}TuQ(Z5ZuUZ8su3QFu6cTG!nes6QA*7o{rD@5V<*m7g z_dqh*!cb0fK);af3T8UF^6>^Q_Uv%swpKZ+8<{jcbG!1VBN%Ft-PF$LT2^4$s%8)K z68p0vRm)0VbZQ2I+$vpd8E?;*P4fOU~sh!REM?k|E-p z%q5IR<1I`>+z*#dGZnx@l^x}1$ME+Z8%O{`bf(D1#7Z6zhugHZ+{b{j(p{j3JS#EU zGAJF7B8ZtZX}$<4XNWxc_28`UGj0;}EGyQrX6frr;266lj-1@U*c@vl4l{<1 z3S-FriaVpnUkm7Ql{9YWtHq{fi*1UTPj-!!6Rx(%XC0=zD75LBm9#gR93-r9NbMDx z#kjVf5^*q+ZFXq)K;XN0fZg%4#?7iX%0uLWPZlM*2gC+Bb)c#6G>s`VlMGamXJa*Y z&kAFoI8z<%`hXVH1_F3Ixc$+9+VNCz0yNP*m^bj{=lv=5g5^>`PS{K(4*Fe*t&G;W z1;$yb7-((1h`35$0soYz9AJB zkniiYB;wx35~9;Z7*(k=e6@wxTLh)=oCjhm(pV-1TcL|gLp}9Z~i7T@K&vjhM40TxROVaOf)1`^cOiw zKh+ndybrBRx=EzLCdNd|(8onaR;gB-23v}mNO6EG%d?=^8gOsOjHikbATz+Kgt?ns z4ndSIiAsJ3Z=S)e!iNvRooG17WtC_5COj*&S!=tetdu{vZI%DY4lgGX(ZyJvVtG)K zc4XG^6@yc0k*a8uvbbtdr#--Awt9px+{fa`{1|C#*6q`IeM)UGoWE7ywNY*fBcd{1 zno?Ks{2N8U&%ZD`7X#H04*mEXspxo=6Cu_VH@DK}91x9QD}(jx3p}Sd}VgREfe^KK1=)9 z%be_FDAOE*cKbTcKN)zQD%=omo@PY`!KvMsBQ|G&z7tWazZo_?Mu>MTo$0_yx59Ok zOcW=gG;Zne=w5OmdlmV)slhSjZM~>n zm*+eJ>&ymOLvr)}F*C&MwPdG9EmSaB+(;H!EsidRI#L!_glKWYI=eCrR^YoR%AmU0 z{u%|JKR2r3bIGD*J0&Eg#OyDNH903c4zws=@%^+4g_~oXG6B$k!a9=lE z?6YLyJ#EWHK1*bk+{ba0x(^DuU%KHkAC$TdijHRyR~0-&85!7JD@-2_B|<$aJ3_%O z;IvHR_G~?{zn&XvTd(B~OnqJN$%TBEo|Za#8msdBHFvkZ)zn{!u^oKSwhO@QiX|vj zR-zY}&#$-GGXSADJx z1XP?WtV|3$EGGHg;2USlwXqk2CZZ{vjrk$1&L+cd-BEWaEQl36Bbm~ZO@Zt@*V6MQ zxtD6s7h?N(E`~=x}v*3X7eEs%pZxXGycddA?X58Y5QAr-r|MhMzmK_N48v z*Uk4Ydc}9z5L-p}`K38hzoGCYDd_=ej51d4*N22!eVTabfcp!;ceRlN8>W42%=f|_ zqN%Iulr&L@3R8)^%K~2%${O)`=(8*FzG;epy4vQgmQuGRn!O4vk`y%5cR3upitHUj zzp|>5G(F+xS2C$mR2_d*&|$b$JL3@4QdotX1h?_%?Uk| zg$&Y+_#I`61fO%T&SARDhUe)1xPw*vK4hnvAY5x91)tE#<+CMJpamYgloa~z;cPe} zP%slltKfaHtUAi!8`Yc%vO*%46}&BBbQ2(U&`xSv4Yu?gFON4(UKv=;m$&D3wIEQsom*v*@zoxi0C)Xt094w(>xyD_Io$0_7-} zk{L8y#s06r%tFpK0cM#q?=#~qDB_FN+!N3j?)xC>5eTbWSaRR8V8+#JV8Pq66Uj#n z{D4hWPkjZ*{BGe2!FQoZ*R5U`>z)e%Wqw;8+5cX6K|<8+CQXRvTQT}0iU69pprW16Twoe2SKA8XND=XR0`Np1tc`jJ0TfMEBj6$I zsRcf$X|A}Qqb)E)X_@Ck@(^KJ{Vl?zpiGM?^LR6CNmEjR%4B! zlE8ZwyJ@G4xO&a3Nt*%r)UtSzRTnshmB99ihL+hO#}6B52iPBF4!P_w0mxGHs~)#m;eS??5GS=cp=#~kkve_e=Y3Qcu=y%;j9JIIo|{UFOB9vAdDzxS#XS);scs^#A!>gllbw&Ayw(abx>h`Z9pt?E~O&|9uY)XPU)twp2hE9)| zpOD^KPqkrWBS&EGfV0s)TO2X(b7x*_wUO228hSW@3}i|gVq6zTnzpuU@rZ5WR$qR7 zSlJSw`%B0GLS~7_-K&=?Z6~{Vb2R z?FOeYu`zI%0ksH^qbFU!T9<~Bqp!yvb^pLFEr%}lFkTdIL>e2pe&ou-2)}0x$zy@1#K^_{CW8<_Sw&_cHkG`p3br;IZw2aaMlGCI07S&DB05C#5rQ{B8z_+ z7e|$}6uvS4TYpbQ293`6nFyKr`TgH5DHl%%fStvU2G1751UtZp6zbmp?XZiJ*m5YRFE|H$!hbphBo z|9ry|?ndlJ+asUgSKtM&<^;90c_JN5tG*%oxLuGr#c$mXO5MRfW)tePD%wi9^*rgN zJ(m)XxaX%E>V$_4bf8~OnVNEgDn?)IeU;FL$<1W4d@2@m0Iyg_AK za5oOzg+*>;{YP-E+BYrAG?R=aa3}G6!}Nj+2N9{-9wGfRUUH+ASp^;iZI5=~)DQEA zP3N9j$qc0&DdE?pRJ|$${MQxQKl#IL!bc-&7W2~(wvfFr&-}drGtUgu#L@sFbc


    S%Us$>9K{ESFDZc~o4D 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⩔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

    x{UDJ79?FsJOFKg}2Z5h-a>-@cPJBQRk@& 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Φ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 z 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

    {f%GM{o#FS4T`Kge$OD) zv@k~x#6(eJZ?vN%_EaOVK(qpFKh zw822_;7}39I#%B@6Sy>wdC|GCOUPW7yQ|V9xECNqh|GB5M9E|@Q43x|Wow-4b6AmP zEo_6#1DFHC(>6QjW*cXkW0+@8B@!Sw<2JNzF~v+%)V44`5VK#k+M7hsK(bNR{pn zOXpHe>Bh{Z>?gDxsFaVlA&uVTfzuYt%Fbf{j8(`h1MMr=$$vvGl{>65r7-f|po)*( zCRB3MhK=E;rK)mh5VZ@CrF7ee_)lO>ta5{%PKUS2IU<0293=^zYs%C35@DR3oOS!W^ zpr3E=?%#X(?8Ud=|M0`>@4lft;OS#xIZ~>YqpN&b49bJeO7UbK1=sHF2(F_uZL?-| zmHmY%JY6|qJ$LwkR>b#W9PGABc7p9Ph%1^l4hs28A@Csf&^>aGOJU@Ca_*^n_OGQ5 zc=FVm3lvmf`U`a++%-kULy89;KgMVufcO4`yOB)U?ftJF|4^+e@dbEN_?LF?-b1Ja z^0fHfV>XHr;y!=*;su(I9|8(*8@gh@8Iaq8)%Y<~YPBkA3UL0o(6m;v8m`o^UW?s; zZnm5z1vlL|6-?H1#94?Ia+iB|ROwGlC*UF1pK)mpkfzVgo>k?W9NkuSi;y6NNlOo=^xW zNg7j`{j2oI)GgQ0zrdOvw^*_e;LxN<4L4UNmBXPqp4wqigpJUDK&Ad}0Q*lRZm{mw zg7u%MO~IUzOnl%0agFkkU3Dxg)Xm?lrTz~3<52cUQZfDV1aZ6{_$~5R(go<`$4EcM z42{qU8a+2jrf21>(Sj%8Fm(dKqiUAv>NE#H2NpfnzjjK{#9%7MQ_9+k?3jMncif{y z4{$vm?m}AWt?O3-X=7hjU1q?nN4A&GfN}-<1LB8xwzJ#fSz?31P{pwAS?>@t%6A2E zKrXAwdg%D4=9b*bQIu!eaB{p*&|ofi5NDob+{B0hhK&G}$-^n@zKV*_S#9cHf6#r9 z%1@~Px;)Hry`Rwb)2FO?{~wULEKJH9w?;{o5c#{&Y0EDswG`&c2~)yUCFQ1o1ukAD z_wA>tNX$Vs2M-TAX~d=CU`QC}hKKttYe|X$e_{&?Z_^?p$HN#06%(9Bu}o>e^@qJ5 zGJ8O-;6eJJ$cfPMJs{!Zup9ZrFb{VWXkmxc(5_T=szy7>yHuhAwFM$r*HT5-vEQKJ zk!A*2FkB@-+u!GU{}aGxCnW}=O6lvm`jwQg^b}pg4{n+Swv9e8Y<{fEuqNdJ)!V;m zp&~2WQz`DWJLozENOtR%Fc@2tNDQM6;CNeG%Wb7efrUlVm%lmvMoGj@hexpH5qUoBtB!}b%MnNLs1qTTOLvtY^<82 zWTGT%_V|JZI+lOJ)J~T@MCLXTwS@Sy(Wy*S1z@V@adWM>!f~#j83_jl6e-r*7lNbq z?=K{MT}lpZhMgiDy_`e0 z+u^+26EX?|7x}Yk3TDtU%yygNe~AxHk7~ZaamNhp?$fM)oU+QFMQth5egOj2#=~ha z{E5m~sQ4U7pbtU^^n{+dr0J-`^l=+1C1gz)R`XpjaGcTs#cI*4MGcPY_(<`sJoHIG zg9TkoW>U!k!~Td`jzh6ujXxpDKx1Dsi}>`+fTu;IN2`e5F4z6{{5NUuitD8AKVPO5 z_A2(<4#G5`Nnxcmw7(Z8BsE?awL=i5@F$%et#WU6Fw~pf)HDIZyEh!IKOi3tYG5Fh z$N(afMcevYxju@U;{-14Qg6$nYL2tWRjH24T-N2^riC)kOe2|PR12;kxL~vqimqI( z{5)XzcHHi{9e3w%NOV#GX_0D7BJ!X_#aoz(7Uh08xhcgefZ$szWU0{&?Vj#zOT21 zPj;xm*tOg;^FwVal^|HD5DW}gs%2F7U)tTNXYRueiE;m$Vw(qXIw-b;LF8Kc2=TGy z?6Pfo8a}I(Y~WGwu;#wn5boW(=kES=-%4@WF81(|NmvmxP>iA4raZ*2J8t#=SXr@Z zUHp!J!}nQ4_UO?Qs%#lJ3kfheV~=$2`8SM#xAODm;lg8n-pssJx~(opjf`^WFD(Zv z7yR4)7%hOX`^{KD{ES)5b*`C|$ftYUrGCb0-({53>B*qe)tN{aND)z=DbQ8C?!g3)w4ecMH;{$R!L3wwpVJe_pvMjNwN}4DOs!S2!?c zRV0O9`bBUQ%24FuvdeN-`EDx;*S3yzDHq7+;`O?jcM!(SH?Gj^*$D71BN=YRExV<1 zdS63-Ci*pwio7N&V+QWs+Sp(=G35yUN+H2<>CY*O8=aV6USsMr8u`?wG&yFT8taTrkhAiuf8$7) zI4Z3|%5(-Y77SKOaOpu5^2qT{U~Pe6O_5FbhI+^DPRcfW4)qp$Z}=%mYX}~Uv{RUPKPeg)`LDR6$tu#zItcP@u%8GI4P{LKqHQPVMnB0H zi~{5mPx?0>nW2XvU&99D-^kw~Ukl1qLY7|t7JE6G9>VTKf`)1Y#XUwQ>LKkt2pX2m zf}~NmH4m|U2n-OwP|)hyPPTXG(BnV6UhR|Qk3HZXsOs;Nj@orpwYT0T=yg{MXCVf4#BZY7osFkGQ^ry*;X7;td%asPVTB<3vW{fj`-$sJ~*I8KOjP zx*H|eFI=m;jt~h(GT~#Z^*F>ox{QtplCe~kX>~F&4+rawahB9&EGYaG@~XvEWc2Lq z@A-XZgRB=j(59#4)KvvJ%7K|u*EDMJQ<*Sb7e#6gQ8IB%b!`MvJVxMNJdg6IA+XR$ zs3KJxb)ov#)s#6C)KIF+n(G~^Z$un^+eN`&8bvJ** z%4!P3k>kPGk*=Od0}d7Sa750=^{5l(TIqB!^jB0O;aUt06kFwRGG)k}wKeqhnZe7S zEg6kRv#vj|jwDlIvXZKNJOQ6d^^#!qg>dXZF}8fLXx+z5B$lcnF+hfwIWYcl__5`` z@KP#9(pPhIZTS)N2}wF)0k+!P;RlcT48O_FL`wm4l4$ zRM04R%Z3eZ$B4~RK#Uu!rszj*!77DDqiLx^;MGliFf)ry9$hDd1;8-=C;kXDniFR6 zH}gl)pbN{d&CgQmWoIxCC&R%~2yH5PQgq9bOZM2cV)Ks3&zonX5P6Zpq3zI`41 z_TBHkWk&*BPz;;0z$pL+k0`dn%>!F^!tK%>xW>;)3@ouMfuh`Jpsvw&yP~R7m4L~w z!#^C`uGm=LqA>Ev9V%6K_ZiW}#87wt+=K988K_qGxL)<9baHtR>mHYbjeY1Il=>Iu z?uO{4uxNdS&E5yCxiO0eHEc(-Un%hBY^kd99N)T^;f$PeCR^$8O=2ItG>c&T0i#-JtdIBlSB+30oW&jhX&xiY?9l)Z>

    sRi2@FPXzYK*l|1-n@xUc3HfNz-F!R;fbWSOyX%TkqbA(s}ez?YbSZDElGU(3u2 zTu?rNTR4p)9BIPYD9VN143J}0D>h>pPQFscaQ#}*716g?NT>rtSl9h-HQo8|cR|y3GoRWm! z|0{`MZg!nGVEc71X#2TF&sYNS9m)|qY!U0C4F`CrXp8LyQ`?VG6uM2X!NPON16B`I z-Q^#DiFO1ydagk-$@G0n9X+zpq_?Oa3Rq?tr**R$`vA#Wm;N}TKp5NsW0N!U%ZzkJ z3(IWO6i_JS-ROy&H3-H>qNGBO*^`y(o%OrnnWTPG+eg&NOQ%xUQBIb@^&n5*zoXx9 z_}8cJ>2247T;y>&6%vF~#;bkgq3v!Z!VbI34 z{?qOAmkKY+bv3XiOVtd}WM+bF8BSC|?!U{6pB<4g9a{~u2CVkLv~wsexOU@K3rkDi zP$|*OQthtca4BnNg5kqMgDC1TDFJq25hI&@@PUzgp*VNYJ_gg= zV!+LOTA(KX65N%8{>o#W@71wVmCgn+BUD06~ zd;O?VRD@PHqyb!3upHuW?r(F~SI&hv7&^oik9QH7&+|zXoM~Aa4u>kh#6w+jv@a@@ z#lfYU<09Ad9#6HD5&?8)1dHQF_{L$ZIz_Iymr-?i49OBeqvLM>7qtAfV2P*jr=LmS z{gDP)M-1~&_Sj=*xxV}(RM&G#fH)c^^>s$Tmb&v^S%5LE@e5H)3lFA!145}~3LQFT zvRwOuk!SIM|7;MHH&A1?Cj`hROA<}~D0neh%8dZN**~*!hG-i3mos@q4HXppp_LWP zRJPKvnA>XL;97x8U_RE}TK%fQH>zd)c3sZ;D>P@+BC?YaYhWdhvse_q_0{Eh#cqt| zM`MKsoi;6#2_uz>GTb0;@+VQ87D`j}OvDHIs>vD>dklel#Y@fw+7xd`f-3KszegDG`zy0C$H?LkYz4ara zK6t10cXzGvi(27`>V%Ru*!cyRvLYSJPl;t;E1K3biEEj&dc!VvfT>R_A3H_@A5s1GHh?l_OjD_z5Hm{ z0fE_-e&D97c#F>=nXV?v@>*EDxO7}Cd@K~_)$KerAIUvCRgV2(R*vEEVsa8lTsSdb)?W@b^9lmlM+-5Vl@m91%F<8A*MNqYZbUb+k zgS8yZkI+&S44xFFsT5%(@F;cGe@2b%uI)FtLu@i>ZEHg|RMR|jxad5?rr6O24eqro zxGSz)xf;9Cc->vAzkdA&oYw6MatB-0gTqE87$*PaT-yh&kv_Lw31S^)I^@sjcyc#t z?PkL52`^c@>Tqw~46c8MTw_FK5XKEM;FB$PZ$cma)6vIr%)Ym9BeZE|&dJ{S0a}%w{Z= zjXAf)0%z9B`THdnuNKLekmfZL)g_JQGYNoT2r*G{dZ4>2)?H=gqaGL?LIImeY{2Ha zAXAbKGY7IzwpxuE z&SLqzEBwXyo4oJw$tft~*SEkEu~kUpIMrt%9kF2HG&z^8$z@q?1{ufb*}Qa>!jowe z(M#QZ9%&BfNu~}1pME7)iFkq?s`gBKSR4$Ok4Q3HWi_fS1qep#O;w?2kja1{2xH^n z*ujEzchMp1a{o`BSrY~IJ3tmP%tMEQKl=J;j^vrShb43PlrdXTNh`M;Mv&#Ac{8Rl zLjz{S>{4zPPHAxLL5ki?@oT%kfsc1FDnMn;gBDfj-^xckxBLIBLN5_FL5D5$lqUPb z9l>hQSIS|;5kgW38f*dtb$?lcir-TjZ0VsLAY6yA%s)~$t8d+AYvAqML38bGrOos( z2BdPJUtY@iL4Mu?*4q$te@5~ny6a>a7Hrp>ZDU^!UR>Dsm$qi%n9jVEwhp$S4;JMJ zR)HOLbXoQj*ppR)DK}!o6oDe zCZEkB)eB3q%enQRgJ*(Dfoj54`HEKQ*(SkhG0PCbF3htq;V3OQ6s$0s74B}2r={mz zU&ZzW?zciWSU6g3t$A=+ei5CcRVmsIM_WNKzosi`+LnKxCjWow}%k`f8r`|Ack62uNPdO`1v z#@g6-Z~;ki6Sa|)b ze~16=-+s*o@WV&U;sR9t_#<<-%GC_7ekc|O1Fi2V{|Nw@eKGF?Z{`lpqkRh%>l*p{_&9U*+klGOuxTQ_z^5;uM4$8yjLLat+}g>~bSH31J+G~JD+K21WVH=5$nD{Z79FB$oTe2-oIP5(1lh}yNWfB~l z_E9qr(HR8u=m+DiyKkVczaKX+4q14_WPPZ^SWv2RsDdGy`$`_l`mXAfojib?djJN$ zXp5j`+pWXUsQN-q36F5@H4~QMr)Iorf+J8VGbU^>;*ynD3fOC0! z!K5}*?T&Jjt<%{1LdLgnT)nQF){fVSLMOUU2VJ@1aZx-P0AlY}l-96oxFJ0*9 z?Cj|52-=^yaOu+J?%wXpJru+{P@}M0h>FrwEQJKfJjFakEfrFdGlmVtQ4w|7el>|> z6l0Hg8!fhNaiM`|@Es`7L zUpy+eT=jopbD5w$2MOaTZ_*i$`)H&-xWUCn)FTGZW&{s#us_oG9NJxIKH>7lBgC9n zU1|pgGi1q}l$jaRBfME%(p%OEkf$A%Xvz7QU3AM)5akcjL`k8o1*!VRI!bk8EG6wk z4P1aNa$QTTx0>V>JIx`@u?g=KOkw?mW&jf$Ntkk-Y;g_Sn-0_AKhk@8PsJl&<(ouP zbu2wxtya&6i#(_Aq{Yb~{ROETRH$V~r63&jTQr-I^2`n%ME87vw30qjn;j4d;wS0u zpJN|T2?w50K7-7>df&G;Gp*9HFSNQ-{96ki^{#DR3oXL8yCKxZNro9vmEu4DX@S9d)*-YAIyIspKa{b^@n&qZ$Du zt5&(^U@uT4d#ZA)v8kgZie=P0(7DLTsG0o6l-$uu+S)waIg1-m47qYoq}b#ML-S@f zNi68FWtr&kM6~I847=R-AITj@Fp78<3_H{I1f(^YeOVP-=mcZlGZKxxIzmL7;q%6Z zG-qCtnT`4B2n}i!Tke4S{xI1mUr_AMnA;6neiAR*`aMXZJG*ikcD*8&K*tjd9M26_2>+ zamM-_VB7~FvDEVJ5t!@M%xwCPH%Ju*7?<4=`3JYfx&T(Va}S){k3Rn7^Dn;o0H zB}|LfFATXHUi=6eHFLX8BB99L2KIgLA?Wl716AnF%1S_eRv@{n^@>fsZnh8HxUpl5 zdsjVPd$;{g+g)?d+^;3u*L+&_S@3z)L;J`)uB8>1`Ks-g_N!-=rU2IL=bwKruh|C= z!o1oCAGd#U{WZEYSV5st#g6}UV>S!rCpI- zu7%5&JNy1#Y6_AX6lIH*glFp7l`E>2U=*h4bar*U%d?ji$f|UbS;&<+_j%0fzpgW| z)_*RV@MF^CBS#h2tP@|Xap$-LDv~U-3}@CVWIeu}pa5P3Pp*K542G|{(n5wf z<`bKgp4Cxiw`NwVmZR>?tn3L14%{GHfkXU}D+k2h<$fZq;re#_jVf1b?cVn0wI3oz zw~mGsZq?K>h))X@unQ8>u z2%Gdva{aQi%@wK3czOm7KaO)ge1Jnfp;>a+;8f4x%KS2L0%I}_N zw1>e2?q?6D^RQmRbP#50MTWIebjRufB}0-g6TO>YQQ&F>hhjV0BS8?@Zy0NXNVL7Z z0}{Wk%ZfoI|Fw6(eX&?*1Z$M2#R2`%f^U()PyooDgK=D(wX~^4b~`x|v6xTFMMF4& zNTU|7WUI1cYki zd!%^u4jyqcvJWKNzTSRXd!herlYi-egwhr~`_?mX!9q@Da@-#R@8sQpjVRv;<)D#R zj-ZXiAx4CbhU&uba5R^>Coz?a&KqwYh~9ly>2VEc?`HKP_WA+tK3_gd;4$XN00hp zcP95+M89GY#09_)d7l8IXS4q0VJj`BSYiC&q#Gd%!;CE+B}R6rHeXU&@Z?m0bix_h z>f+3_Gk>Ajqd5U>z&sK)V9T^1PdYYpsNT7DRk1uAzj>>HStboM_z<2sGy4pU(a4er zlf^_`9ph87tQ?Xr zZ5Z1tL3A)(Cxh-_<|qlEAPf~iX_(w_z`KnvUnTwZ5@akh+NWXp=qziOf4%j6z{h#q1s0ptmEERmv zta`aYu7(zc`C}ocR~(&m##cG6`mQeI-SdQT!9>}P)zYxRu~F!_p{ z#3U}kVLUUlLkr@&I8K=+;+?IfovGQbb~m!Q8f@*>EzK()CR`N3M>fqy>w2*EC+iy< zjFgkq3}t>a(gVl$OqMm^}x4VOG8+S^VajLlT>-KK0sLHhWb*8qD(4 zsN-cf7Abwtp_j&h-uN3Ps>R3Tv3@fNa`7qq~*2X1(Ld$T#USiv%uY)qeTQ zU(z7<3-SlRh6Shf!AJM*-HqHn7RrL;<9kO#<~#T9n|t+atRaw~PGw z`zg%8KKdxQAN^?8gOAOFf4Yx6;wu~8?^1?vlS=Vs!Kvu(YYdJBxTgifNBF24*S8!l zU80FAD`@PcLcXZXRO&lSvUXIx4h)QrmCEw#n!tHwbr zmSL-V#Ng$*LNZG&sk3JG2uD5gAZII;szdi#g3UU}7?3qq2dFzS9*ms;#_`GFWVbR%GEBocf?I&gc^TBkp zxZo?a3G29WMEnp@S7_A0j?7;HPP=uxQ(8RS}Iys)wjEvx`7ouu}cjwZICtT?Tfj zWtN!jdbhhDojr7WN2s1pr%|5gLlHDlXoy=w>nh&;%yHt)#MjvY2t|pJgv}8I8bBgu z%`%D8>&nK&PS^>U@L$A1iG5|C^O(!4=Mca@GO?4a6HV4hU}iFr?1fx|sLil}Z}fb+ z2}Y9JiKA=>_%KIVW1=@(F*CK(LNWFJy9vh5sT}8LC>BX%c9#b`n8*+A#0|&TVB`i5 z42>|g7J}(wn3pidbXbiNbwT#H4|N~d9*sl-YuZ{{TiaUCpT}=)HV7QF?d-UKhB){l zUHg$z+shCkWm>xL4@hl~kBKK!4+Ft`Dk4QJgvNVG)4p3i~^a;FTspq}1f_rAASU2e!G?+}H%DwHA zafnYjqqW9Sp+;Ghh3a;sl0ni{@RL%E&FxqnYqJSEdDxFw!zt?oZK3w@O7$_-;uclQ zqiy^`xz!_ImR`4 z26NZRo7WVYi(=G}ogOLg^=F0;%bPHhdnB))@&?`Qv%7uX3C`nS^}vd*9>rP^&KmbU z*_o(&`#$SO09kUbw9^>!?A>3yYBMLdX!p|0*x48H%9Js5@suN0_r2WRZhO0`vppJ( zn#lJ9w=tvboxbSo#-8lyRW&xqQ9joyS`J|@9J|t-y1~WImya*zlqBwc@Z~P}jNCBR zO9eSo*G!?B1`EfE;NJ@dt7)Zv{a`Rq2M8M*vV;2+GKO+cwYw>w7-ME}!5fullorY3 zKz`7)o91li58M}ztGy9U1qwbcg=N$bKD$OL^5dZ@HCl%9);+*Rn(3k*bJ$hly())h zcjf)}QHm6?U&h==H0Vs9Amf*Mv=@a_XXv@iK)M+pqBkX%1v)0z(P)3$TyMGNJwADR zN4IL(sI{9vpzo5`8?E~oI6u(^RrBg~Pd~Wsa2zfkm?2lb^IMUUq{qb>@;z*Zg&OOQy?y9I8bgq-`rs499z1&VIQZfO^0b)J@PH~b2l`|Lfsbju6WpyO&(_|3 z=3bZ^hCUlJ&@^P0SCzTidM$E&|F%c4K7H-(oygr6d{!!ZuReqAvriE_{MqN9gKhBe z(WA)2gO7HSaewuzUn4yMdAj@9!=>fHC$us%A4Tu~U-#&Yiu6_VZ;5BYsGaaWa}sp2 zUq8R-PM|AW^qy9hFydox(n*vNMGShLn3R^9r=rnMDskL)0D zBj726<;>XMGR<$o^X_>Jg9Noi2CNL{HfUs^vlWqHZqX?k2g?da9aavtZf2ntk73F! zyb7!sn7z9KHp~M37$+sR#S&(mqk9qw+)r+9s$Z=!2L80E6!+ED=(1he>*);2BY|IH zm3uoX7cuRvjZLp>L#Mw6J>AIlL$drJEBCfk%G=k?jolPek~RK&Xu0)DBye}_9=759 zRg7+9gXB|Sk{-&6TdAy2pG9Lvj}!Ppa{}8L($3O6;fKx8e@0(cmZh3vp-W4f86I>X zBKUanR5IqxnrIr1|H(+IL3D&-Lqul%w(k#m!=~6XDOO}+#(^zB_=gP|Bf}KA!%al+YZ{up=(1q5Iv!HL!6 z62~d9@~K%*Qq&wQu$da%JQv;d+E^?ULvPSF2V!^AgUlzNP5ppI6oR}9ntQ57{O`Rl z%Zgotq-#FwJ-iZ#kM%=aNfGRG--U0P0fqXN$FkA>G6)8eHR1}~;U+C=Y zh(-b--t*@^ICt)Y_dodHgZJP6;Cx$~3BDGIw0EFo)ad}V`@B8GnsM=XVKrbfjegx^ z()=^-%~UEKWUAe7CcO(C%>5qbWz$Ix{)b0Q{Lm9`IpwdRb7Ye>uvjpuX6mqq)x0%5 zw)c;FdM=0T1mMsFnTL7F>LGwjkzVYenR>+|oDHzo=*lmq?J}7+7GpX@kKk@xiZ-8a z28zaIe2?TJ)6IS;#$e{O7uJBE)4~xIkYSEd4vqY9d?z-sp9P)_^Wt$h=(msVm4Gkn z=OMWu{{tai?_3qejBx6p(o7Yo^n!H!nV6{e7n+%9@WCN&9auQKj=A3=rKaMTceTsI zWPe9UKeOY6M2WkMCK7z2;Z~jeZbJN!oH$2P26CPZUUiCmZ<3Z1j9;IGv8?R}reJ&zpR+qq|WnC^H$V$XT1Fbh6A|7UY_nsxt;^D@lVwh(c>MUouy zbC)?@TaaU;)bbuJ%+7Vr9?`tFGVOg&s2gPum!c>OZ&RIx;XBD zd<`e9NjGPRPt~q$FE+~c(0$uMF;b{6QCBe*l#&wxV<~ zd_!j<7&_)o5x8skn1@tGc7>3EANF3lS>Kb@R3ke2Y+6*Uv?nRM&xcM&j7<^vofMuE z#HHsT40m~kspN7y5r&45vHBe`NfZCXm2V0SdC%+Z%sv+~Z;K)8ct`pxnX%hAo#U+& z!DQpKN4hhp$7W&O(dO!w+6vau;hRtBwCqUHV?Wre+K6seyPG+>v7d>JA^8z)HnVn= zvYP8R>4FEtkacN!Oy&5j0s^sIy#m7%z0JxY$aCO#>TV^6Gk~nXD5?{o)6DL{N>@~g zh-yC!`5F_G6^2ezW6zK>0!s?n2@8Bj6wO$3)82S`ds`k%axEiamSBOQT%ZI*9`5@5 zGxO;oMQ?q?%v<$!;TciyqjuZxJh!7j^SF82KUWM(#dO_Xt)e^Z{u?_k3%6wp)_H$# zXgNkq``N?D=Pih9_zc(@hF$jY*O=7kKDU+ z`_{HQEmmQP$<$2pb8>${$7jedNe*SBatq9VJ})5UUfuDcW>bI$9$JUEP#7FN@K>Bt z#CZCR?wHYFk9mVmv1LI%1q$5|yjz!1pfm*z*+tf>+#0Fpy4iH7^~lDW$I?&i9+9)S zT)nii8mu&s8B61h-84Qx66NHCEe8|3umiqV#xNZaf}{)R>WHQp1;OP+;}8XvxIdZs z8mf60jx6G<&SQRtsnLWtl#8tXc$p6e@6_$X`5R5X=a$rxP*9>g!H7&bx^QrHci0PSm(5!Sl zrm#Do7Zo7`QeX|`WSJ%&IP?WDnSY{>CE<#)b!AO0<`)Ty$~=ATmzd(HFc(O-8T0 zFrm1i1&l9XT>*2nJg&T44HY3ap<>-k?3twSlsXW%_JXO9Sr3? z;ySPs9E>0KeOoFcc(!A)+k{Q-f&o>N??bX6sLBV0$-SBmz)XS2AKd|olBykf*v|N9Ong5 zfJ6mZMHp-%&kfEM7dmh^8q?Jyv+k#RJ9FmD*|Q&*t44xMq1^lGy>JZVSv%HRGKlsnm4dP6 zC(a-6YOWJPG5LSYxtfJua1&Frj2;^=d%|Pd^ML7+AI6p@HS85>I4_;hC~X$fsl>3% zFdT$U*mzBXEpD!FK!4CXTHTY}=;|4Y$cjN>7m|^7O-#BPe?}cBWi>CzFW*Nyd$Y4v zCR9icHcv-$%;45)1bo>9}yQtA{0IGUb-qo>a;^czB<*=7PppJSGBoW}`z zHmrCH88MNR-^1$x1}`ts=~hK`+NYXJtw@s&mW%FRqazK8(F~QQwp265q{ICh!f_Fo ze391b9{SgPS_KQHoEESbZ{~IaWrLC(+oK2_KfRhTll!NUB^VbSy=%P@{d6T{q%$iDMV_ohDrWjWOnQN!yT52-yGHi;suGzQ z5CSJGYHFarx+@0+`ATnxmR%p3+x7AaxMe@A1<&9k^PpDtvY(vz*js}UzM_3A8z=V` z+zM{j+@a8`+4p3LTn+OJw&?qM)n40o^_m=@^yT25&~`8K(Xj`NmXagwCm=Q;1oz?R z56z?chmWWMGmoN=8@}+=0`sd{AlEM=Uo<{`{1`E5pMC=1%AkyU=I+z7uf6@@4F=w$ z8#^I3Y?d>?bFKy}(gc1+hYa%$uU@+W>L#>%Oe9986C?WAmKbFPIZT3DKiy+McJG6P zGe-AFe{3RnB#*XOMf4}OR$UpPS3|wk)v7hK-r!sLTNt~q1Kirp1MKZfPesfKE`Or} zc$gt+7fyIcteMp^3wL@$jhCb2)$YJE#RF6@Ou@v<54^U_<}+f{f@^^@7cF~Hrqq?S zv-NnKi!idSo~=xo$!8n{rlwWqg)GaN6;&=zj8D2v@e@wES2j44z_LfYh?j*afLCWbZJQf?U-I`-yM%#XWu%h!*g zHSWcPkaaIRd4fJ>DWh(zJ1y#EQtA%ASAECLr{ad^UseS;I`Zt{K-{A# zvmG|EXNX`ioQiX(#und3=_soak9e6^n~eZKm%FCWDFU@v;KJ%Kw!b2@aVlY=VbC7r6xL*t8jA z*sK9_fSg<4T6H~g7*4ZKG>q%l!Qf5|HzO9e=y|}|vu949e($t>??w09d#6vIarpKe z$q8-v*#_e61@wLxc`#&#zsYX9jNkAYd(Boplp+_r%SJ92$yd26_XjyTT=EjbN7B+E zLEa&~FtupFoF<+nW5V{=l5A~zkMQPqSHHsw-M#%oM6&?S`~3oS-x@0@xPMiJWX$mk`hLlq9OJ;^Bd$9 zMkpxQGh?n27K?|V1J8aW|@iAiK|1ObC=Xa_<7{6*hWV)0t-F{KuJbpYlDq<1sQ5I8fSB5do6)C*w*Wi!6 z+{zzGa-E4@(g`$9r>U8XDh%D14yH~l_;bt8+L&sc^h` zpxlrq;CuPGA&VPj{cqy+3H{NIzLs(o0cDx2h%?@x%u7po*0@6<=C{`#&=$AAF*98YH%LnR!@~e;zff_C$|t7fUQFwF4VPUxse^>x(cZQ-jvV6J7Jor zw+3={bEW<&9q-qJwKfNFcWrK%&FBW?L9K{q0?ssR&w+=qE??8@4rSiBjw~n)n-^uB zTxp-J=VSqvAqN*I6;pyqm|r!G%;qUO{eSD0n$~WblNkrc6S^m+X1swZ7zd(IQZTfo zd@w4s=rJp#s;snIQkLJir5P^zwzsQ33~tqj~_qszc5?pWGmKW!>tHHIltLEC_5Sjqs3T@v9ihhw1XdoQ` z%bOZKf=?2EP$L5O~{2}tVNsU@GXw8?$_-|B??YJQTiGLK_|7SIeKlFKU?gW|D z)Ptv+BByAoS@gOqbXMoZ?BCkPE9Ky>17`CamVj8q(I46uL&NTVu)U_of*^+tJ;>`z zhC@&~W{YJo9_1vDmKhr6UX|ru98<=3R1mbPyN*(io-E&j7L9tt~`Q0tgU$~~|2F?=XsevWvko0xmv!w#^_bACk z7IgJ`F7F*`$cW`ZXESvmLT0j&Oso6LfATUD{x2^xAxQ;22=_j?J}E+Vn0&^Nc0dlo z2-~}(#KEK&n8E$T6_o6VS=(#+{%~MWgC-4)cU&0NNgIG6c!s*{oVO(_$}q`H{0pO4 z=6t{>ayzCbCPJw%j&s<8!F+v^&=);`@kuY#V&~q!Z2aG4b|Z>K-^CJFmZq9zs1&Nk zEVXxttlQ zo&>L{Njuf#X_aJD24gRTArhPoYL1WL{N+myueRepbSSsAv8@e2x3ja;T=)|ZW!aAG z8%hC86*90H7#is5?s9msJ&J}cuF&)6(6K$^!0o&5yz}n6@4olmd-mPh(`U|{{lK0( zjGOg*Ya3{OmoE2sUrak(OI5TJ{Dn8^j_* zEs$_?E#cfTv6s;u!()yOd*`!Z7Uldp-92pBVvU)>rdWJ5qpoF;c|PrRRfUj?C{!o^ zHELK)yat(dCRs=FK_Zf@7vtL9-LJ5HC5pN3ZdQ(YsR+4n!`vy%kaoe+veBEOjg|JY zRP#kvsl*7qcI5ivPVS`Dvrur!-OfjSnkdlh%v9Nv5YV=$VdprtUq%thkV*;e>7iWM z#U(vi2XrK6hnwV2n#nOv+W{LBHzPk`W(F#moVUWpK2he?R48Pbr~FF^hiF@{m2JnHWjQD?i(oL4y3BOVBx!|5dC+?6FXY9^ z!Z2@g$HIa0n5gsYhyf7Ti9M53Q=tK$gA8`Q%E8!Lp7<8-`!w@XDeMJG zK!GSg=7ZMv+s~eS9~7YTuE4}Lg}xK@D=NI`?DV_Jwzs5#0`DvsS?s+v|gbqr3P zI(F5w5w|wOJ}qa+8)m(FW1SjzK@|5hg0}A33wQ?x%z~6mS%PV*c;b{N&qwB-p7kA! zFwRth9glXYuwa&wojfry874Q+5rUB9GCR%G_M_9H+#n2f!_R*Kj?C3p(c+Rx{%u;i zf)I;5r#npLx=DM7n^K#T24Frsd0Q>A4{3`)6Wcq?TDf=Uj=6pGL;kBs1*9@)Hf(Pl zx-B0s=10i_;pPpy-Fzd2BGlC#ydJtp2o>Ys%kn2+ZAwXJmu z`laF&m3$}oCo4bcF-^C?9GG9;1Q+4Pm363ZFzkZN(odnWM$!4`6N@OgY`W?}pzrM) zj0_wYblb#zQZ|SY=~9`ov$c4ER}k3&*v#I)`u+??#>m}lKC8~BTs1aAVZpK_T`)#o z{PznoIAo!PK?6+*p$wvHKl@{vMo;>7wPLl$r`_SYxD3T%Wa9`k!T@XW*?f)(=F~O# z+-CY4GwywJUhf0X3#q05b#{@U!qioD9mCfFd!f=Ld3`LTH+rD@D%vnI) z(`VoR;9RQ-q7KuN(aO%J9o#)6vSpG2q&h7Oo2?_FEk^POsZ+^^6#%X4O}rWw1&L>s z#6UgUfFJ(HL+>&7j`o4)!TRl$hQ=XUSdaDe4GhE*yeBha@cuYW($g?IJn+37-Z9S@ z6t-oLmVTHqpFgJmVux$+)q|nqvf}8ai82I?!#MP^K6fk)$}C%&Sq3`QvwxKs@y2y_ z#3uF-=!Ut|2@`K1Bf&i@7A~?@ej+{(4Cb*)_$!CX#PJDr)R1KNo}>ZF{!bcl1TkmV-^$xkJHfTv$tn6n* zo>~v|gsqs_{S^vyLgUcN>`Y|3c}k%JDB;{U*vuBKI#cdAZJe6)6{{^j^(1n8tnAUe zY>3@6ZF7fwAhnFJWD4xI*ikQPo16233HC;ym8f=qu!}Vd^x&zbFs;4PIvdP2hj|%D zM7S{ZUtuanOk2o9u8(Eh*F#L(j(%&{S?%b&0ACkIDgxaiKRktTPASVkm60KW+6!vZ z8c}6I3vxAP$C>9&p9Uw$A=`83T-|wIo4ez}rS86d8PwUterjsN)D=|U!PxGyX9!QlQ%o=?1SsbeqDY4zpYAKm)a%6wZOX;i@W32$0_64o*`r z#X5=YO!?55*ENJiChi;ywoeE7PPL@W*<7=?A!LI#C`5{2$dsSKly3?qG3qAp)s%w~ zs+|ZJid9?ayxNT#P`D%ORclfAX4hLcA`ZNo_5B;dy7b$mhnCsiLq}04k-6sW+$%}| z@lD?uFOOVhqUr361ZntZgl|tVI&=I4UaiTg3JjDaER(K+lZ3`QQ#^TGWlv--{A5_outWytmopys4Ql z5Fs3!cGE631hTdK5OX8gK5;z^7G^6A7#{ymX8wmmV&pBU!U$j=L_U6AaSNaxJbJ`{ z26SM*;@g+_`Q=yU%W5=fAJxIG_TlH|v!kEGjMjYsgkx&XDpKrj)xGFlbLSam$6ddQ z)+|%K;NUHy4-Ilg{yy&20_2m0@z#|k7$00&^9~0SZsBId;nt`C`~!Ig!DnAi`10B3%jbY0zg%>*-XwUgt0Wa`X69&ycJq-t)l25(?llP z3!w@Yi?Sl07}*QX$k9BQ+3n5v@{}R}OF;)R+NP_kE9)Z5Al(*h1i68Gg5xaOeS)Vu z8bmqR;z(ZbF*aV?;{Y_5v4VXu|2EUF&AIRFiSw>VvZTOB?j>e9vuk#m0?&$y#vrt% zFc5M{-Ve}7BG=+6DdyHz{qwfrSq||0y_-+w4Be{b?9`;2l#+ zUEJXvVL9 z*S#Hoe!{D6e1o&ZU#N*LlxW-Tu0;nKkadP{1Slqe)2v%74FzvYj%HwkNAh`h!segK zJ#k1)P?sd1deYrY{<%U?HDFoR@V?Ka3{N^+ZWr`~@1Z3kn4WZ!!aVAfrv=h_^Ky$BOq4jTv9S!cV6QA0Ah z$asMmT_oupY4SgQLP*H_WH*5RguEjtrsGT#nGm>}hkbiKHXI$Q0iHEOO~}3NzI>7G z=5KahxF~hlpm)WfZyXy#^gN?=FQx)^@E?7cKwq!sqY#bJMUFZXRZ5Jlm;XKg5<}_K zC#xb?f^n)q0}s5qDVBKf8|F?h*%q}oDIGw7aMOt9^=>`bcrBrUNi-4R5>1+9HCp~4E7;7fWgaLaLQ z1>K=x#V)FQ(x#pby?h}U)bN1W3v7}@FP5%PCCNH4vG0!v@;eNY=4+Rh@(#^s*$o4o zqp;*b%IaNNP&3~~Q8~BZ`Ke$X;wW1T6M$zW-L8<x+`4uOubI(p!_BllVD`%=k!&k5H`+J~pwB8!0yI`@fpdx|fP^3WaUBXf;Pf^f$Q(1)FTenK|?j2-~DR%jNzR?0NV3aZB@?C9tS zI`{ecLQgMsuLJ#NU@x3LDEw;YmbB*&1H@uiy7JNe#2Y3hr=LA@_5<~5TfqhDaC@0P z(kRk!lA727dc=f5*m#b{Y#H$i6Or+HFA9K`@YNE_nJ_XD0+>i>bUDX!DI*-XfP}on1H*&B&!nb@t3%?AezNhQT=H<_)!*c(X>=8T& zxf}J`_V#tVz4y9kwDLcis|2%uFDQ!+T1A74Wi(^wXm>gzbm8EI@2<(RhdqwU0w4)y z=1&sQsSca}Z;XIqqyjzf<@iY>B$^vAIP5-W`u9UZ?2Z{h$N*qt_QQ}4yG;ywP5*j} zp9Fk_$jw8y;K4=BeCXB$Z~WG6bEDZ|NBWGS@oKKWy6u~?w|pou{()fQ%9eK$yFs_C zd-RBX@Ui`*^;7fN-iHsL_!-ce>-bl{{OU{fXGttz$}UV0J~f{lMOqm^@I(I#y}LfX zZ|}ZK@`KvN8c;L7+Z7EJSKV`KlHn~6^BAqkM}2%>I`nNGcdrOyu*W$vb2qLC=FE?x zEmOCML0!bO7caUk+j$|lc+#O;-bcK=Mp6*Vm&#>O$=m_)^psC^UILqxTCsJH)99R0 zN3G#T$L1cPPnsFClX+}O{$ns~o1T)B4OIzd_U|gP5R@E%Gi9d#WtAnA7wwE+cZt5o z@GV$FUND9f$Tnm0*)qME4Q5+*p?*;a)-3H4o+YOOZVO9hrG}cym8TV6CV$%vxHho4 zPl7grLyj_1S#iBLuKNY%ih|!0N#-kEb{Wm+UT*>_5kJc6D);sWvSP{!o!|t?!%W_b zvPIKks<L1(OP*dDN%!#k8qncoQN+IS1Ck%$DCIbaG0ci6fbfMMQY zX6wB{k(qs(;syC`PEPv%9Z_+KaS(NynVG2rxLzrZ7fYJP>#v4f2$ZM^n6!4omsaG0 z);3~a2Yms4&z;9K)3$yWWZWQv9}#!A22g}WLDaSC`JM~O2x{A!xBv95w@;lq_4ZqD zzxCEz4gkBK4gtS|R_^=nw^D=+bA(Hmd;1XXAX80xn&Kt3>1ULMD{Yb#U4*FrZeDQ^4;hcA<@L8WJkyO09cO!ZJnSi?93yjv!7+^lwNKV7`X8H-DTivw@R!0z1oNXpN5fOh67-{3(xam(omXC$WRE-P#=NZ*}ml zUegixx0cYVl-tXUH-)(kxmF-It?X z``ni7lP5H3Xjz;8FX~Pdyqk_!jP9%_Y`J0O2eO7zLpdE%Xfob~$9q$!s7D(bGO-^e zMt4+ndDb*+hsg3k!)7li@?!|yeKu3;?b;g^n(j7MRGR4^hY)VMWsrg910uY^t##$m zKA(q9pA9^5RqMf;S*@po5&BRy2pu&mQRs(On>l9PAgpmXplNG!lQE;$u0^k(V1^W! zmCN4TL#}p+GMRd6x+37QFh4^gr9}KRV{*k<%`ByF-<$OR;Lrk4Hu5DVsLG$0;C~q| zOb#|&(HAvWj$CzcRD@ZPUzw3`&)h#w5-$3;q89jsClYH9(ggwV_ZkQ34(4Aq*Y;hP zxaTHk#11l>8}-)}6KmINHmH@_v*n|t$e!FXSDHd@!i}5JTXpVZftas8OLr&n7IuPG z35`Gb1aV;Ivwfd~j6h`>-M)The)$4=zU=xcLIU;(w6H~J5UkB;S-y|KD9Uzx^%!l)IKXc0UXlQteryy~;*rKrz%yLx~I29Asj4-YUt zUJYLdi0y?cw~Om|O?BD}uU)!$>9XAahGMJ|-D)jye5}+Fk|L3@5XOIjd`jt}+1L}B z$pUNrrrFnv()g%;5LI=opG4CNWExU$!gz z>B6z#OJ z;mpA;Q#s+nkR!VJyPIt zmYmzX@0bz+7U=^j{T7~FGxKa^C&i1>Qf3q}!pXhVWU;~q|IbQt;7_M^GSHbZ47!a& z9#{%l^&nD80B{e-JAAoiA4%@>!(VchGaMNF9hfhaTza=vf1b&m|-YAb}vxO3QG+HtS-ZQu9Z zMTv>$2QcZ@&4~n{T{n-Z}x) zd+J@%7v4YLW=sH^vG$Ix%U!{xy|6Jr&!>NAB+lV}iyU3^DxBOMlC37yyG|BhHd8Mj zIXX?m&B!qkTZUvC7bAV!tfkPz*$XN=k(LD}Z785Yka;ACT56 zf!mlFs&=2!p~pC4fKAdSs_6>b1hK6|GSOr;>#7#ErDd*BDB7`S!eoYVKZFo2^{K>Z zi1exo5g5{E-7egtX>DFf1O-fVpWz&iKufKxNi_z@3BdK(=#|0wtjYWU06=;;HGC7S zJh2Uj=)^PQPyTPt2dm`th_$b3`IyagvnLWW9oQ_jx=Y~rZ{@?!Yv?EUrRiX*c_&00 z+=hic8VP#KmhqsBfz9)>Sb@CLi$cA+)3<<)gQ#r{#-b#3e+x|H*>=z!xWByNm$YW* z+5A0w#++_uWeReUd$aGDcmLegs;AGKaa;WT56**B#Cr7N#jaji&GhzZ%Hdw@B#aOA zBo@^OCXs>h(9AjG*r494wG5JUwG313$!B#Z$gVyi2SDQBIK`XYLD%6+KJ=xpeUlM53jCVxc_KSqRy4h(!v8TGD) za6$1LaK81$T{nQ;hsnLN&U&`8PTofVRzVBKCh zevKHFU0a70Ji0~bleu&7F7g)cDk%3Bd5^aomL-8^QX4ovyL?l@55CTa5%OSILq1(N(sHr7iM| zhkN($)BM(VdLKS~{KXevefdkkUwDK4=GVXamHlPwSLTa7j~~hMR^Zou+(K(HawHx@ zuD18_BjlNV3|0qxBie5r18!#u;`$1s5ZE(yaKE7wnL4a1=Wv5w<6EK6&lJg$vMrQzRXW%S|!EaWxkl2G%5H%`GVR zcGavM*zxNS=0y?%N#C`!jWsK+OTps*?$1-w95frlA?3vn6%}byGE0P0uj*LuERdI& z9z5jf8J*BvE30CT+e-7yjM~XSvBCIXOE!!V9zAgv7U9hUui#l^qAilcOKTkBFyEq_ zoex#IZq>q!Y{`8iYX^M;T0<0hh}hX0oTql7VR1npVV9zdjqbsOu4wH`hm{Ph4@CGM zizTytV_0kk8pu)T?{d}8iHpEV@Y0bLt`DxkHENPSq7Q0Hk?Y=v z6stt!2u&h1y(>$B?!C;%pP85lnXl8Vmp#3NNC0%cKN%RXAu+Fputk`%$CZ5T( z_i5bG>F{YV$sn5b z{IUC^`@@@P0y`}H-kJB$If#vGJ3?ar3iUOL8sAE;~yJ9H3Owx3$o!GT^HrF8}!=lJD79F44?V@u{6EUp zrN-#l@Gf_sutv#K&0$2gJj0I4^V1`MVyK-Qk4!vE8iIn+XZ`4vj97ePK*&rjSFefN zkw&iEG`K#(n&mRCtpA^lJBI6FeyH|w?2>4$~1w=M}Y_Wn2%5(AeJrCOl3OE z)txg7N4*cVlE6YES@V0pDSq=;c<`;IH>ouBvU>(;Z2+>(hDufl9E1@b&7|NEHsB|`3jXx zjXPRAyRdg2;(-cNrO??iW3BG>Jhp?}voaj>7S!z~+5)g^1KKLIw%YT?RjGB@UV%f! zRe`b9#-U}?B;N&;tL9AIdk~AhYu>qd>f}42b`;bIY)->KLQH1t<%7(Ipm#N=Bk*~% zg+rn59BVGNexcW@VaT?ts#QVWr z(`h^)L}~b5Z_fMwa^+-3!!(Ogl;5DSWtzl`AZ00CFKtRX$n1h)&T}EBPZGEMP7jz$ zM&RLK`oNS-CVj*T7NuEfqqe45siw=cee#{EwN<kU$%TfuiS^~1P32KgFf&>&#m|Z|HK5gk6=CK z(0*|9DKVH?m0ST&!aZ>y0OtjVP5dc#XCyEQRVJ8O(16APVK02}9UM4Px(#l+8ZIJ? z$zfsB(b^tFpMeKwJ8b1Ucy)q3Nahm+D@nHi_h;#=TP$&ChujY94jnLK*X_n0h#mEG zuF+w!*8g6ELMT|Q6YbW_z6`Y^>iJn8idT_x%|VD6R`IT!!pR*;Kkvoz1^7cu_~c7s zR;r0{$~j;SbVMPH3-pcRB$2JipTOEemr--BEjwO-B*^y@cLY|Y_zc0)1OW>2^prQ=9 z010Khj}%Lv_X#2;^L)B4IvC@AboKPIn>XxG5W;|RHoq&EHlxpRSd~tPoHJVY_YZ{B z(lpZ84j=~8OL%-}xg9@ANxFJqUX-AVi1M{vW2K<@G@47~M7X;MW>W)zZ5)CR4-K1G z3o)-?Z)~J9{-SC@;v3nh$zpZbchKbG7!;cFzGae31o1!CU_BO23@Jwjm!eR3(qEv| zPI*nDiZj;9&g=_wAW-@P5ZltRF|sJwlJL=2=xViTR2-458~9@!CO^t+F!i<#xH*U z^I!1o7jFO?zwzc94iTR^^$yvYZR24TkDCJAWA}sFZV2KeEKPhhtjTm$&6~j;- zhR}y;!qD80(vEGUHQVK0_GIpPsIkc4Eb`hL=iH_Gc^KB0OAhM`YC&j^HjLfE1|rN zPL3Mb=}4Q`$Zkd*2kcohRpTD1yYx>^PmCcc92t1r`G8NUQ7=Sj%w#k!S2DE5*c2SJ zCvD<@_XZBfM_^%0H2G0KY(laDNukf>WsNa59x{MQgji4?0&_Mr_~?BQxb}ye% zOX4UUpv?R}Wl+q_gdr4W%%T}QcBn+;$1)WfHKYwX;M*Jl7fHDHeDFc@IWUzlzA@+u z*N_^~wzrkVETn9JzVDkeO{Y&wUV7?O*W2}{z)3oF%Di)s8DK@|K*YaNJLf$$AHH*&R0hNdJ6P^L z;I@JL>rk)hIxZ40#dO1QMO@35(iCd*Il41cC2ah8`j~_~IWgT*Dev*aqtk7Mzm#f} z??@=&z0VWy2XRZtEDAe~-aIU3e941dBK&Mp&nD&bM}D85C1yGJmBFS-S7m~9Bva*z z@)xsS!%^@imXl$Mb67EA{i8!JQDpNDf5-i_%Qe8ek>$T;QixaJu*bz9lPehalkp0T z*lj;=7abNE5pHRPLDX|IaMGKcFq2O+fPK7_ql_X~l-7A>PI5Un!r%cvP^0&jxmk6?0bICHp!qGI-5I8|(LvVAwNl zX(z@?CjYYRD>KOvHs%IsP0GeC9CyeCrF_|TzASIlp0Mv0_j9eB@^VK}T*2uflGq34 znC51r7dS}tzc9D7#4A@OGBnOs>yD8Vi2R!!K8a)wrhOoi zIKB*vFvI(mFG7?%%=*H_YG90OMt&R{86JQVh#_wd-*)(-ndWNDLX#mw=t=+%1XJ{E z{}1Kj+zZ^w?w3?_l%d6aD#ZXB$GWPSU}CxtT)2Rz(tSfcGQaD0%cTZ(iYC^`g#l!2 zlY8PahZs~miXA>4lPXLMNzoyd+!TyFr>Hz?E&RX4!?lAt8z#$#6(m&K?Wzh=2=DY96#5Sib@*2lo3J5G06Km3Pij!e zN-c(%K?&y2TgaJ0oxDbZRBJMl+LcTNa2o<|shXiLo$0nrG<}T5*Vt7)IKJ#nJea2S^<|J1BGccUK};uFMdRi1kn}{5t1CD30hnhT!J66lAC-Fz6tp53gx=RY#3L{} zSz2beFvV2snhIYHElO|PQ19yoZ5zzpAKbfpkG8nC@6hhxI)y~n8OnQ=QEyiWdarJ- z%vWgrjU=`sGm@c#nT);RCzruOGug=tVf3|~{?U{S5$Axv*VgH40SB_1H1?IDnP5MD zUS-eQeK~vmg>BgZlkf|w166QzB@@@zfnWR8@h`vRyWKC3A3e$UeeltJ`%%-!pM0iJ z;D_e3S3mvqlLrX;Wq+3qY#LH*^AU(~vM@WXtU|z$Ah|oikp_+aZBIjQZ$FhxX6ReA z(&f~Fajp1?UP^B_XDf(rQhpOMxvQ;(BWUnLjBjAu(ymlec^y&Z9}BM{N-GK_Kt`$3 zBI}KGazJm=uC=FLR79}0xrjVVHwTo&Nu*}}Lc z@lzAzX#&}UI>z&qXK9nqdUKDzW449$-hyumoB6#9o@%C6;JjUET{H_-?)N6z{IZ-g z>n}Le%T>cwdewWlt#A04OrYL{-;H`3ncK<;q(n{9T_`qH%gWxQYC(!ko6O&)>9eK0 zMBQd&t4>Xp3t2`1lR}rJ-U@_4PM2{ufoO?Vz(u*5_pf$C8_KnH(J3a}3^8>IE_)2*8D>tm*y39$(a5qI9IUH}oeN-68X0 zY~ZC7^4J2*2}XkW;e>Y{@IGZqbTbq6)agyn*r_@IgDIV|^k6mPb+QpM#l{_}g_&rQ zc_u|pumF>Tg2^5cQ6nBxYT6~*Jm4O!WrxU|t9u_{_FenV{&xvhd3ByeTlcID4Unjt zA>H@Aci%nbK<`^`zxl>5e)034{p@Fv*K2@%+kak7*!$OSg71LQ>S>~0ctf1~fVQAP z6gOxlkAm@TCdLK+VwNh2hyZ*b5%EijUe?S6;K zy6M2%X*&K^z}LN9ymXOGSY@2~WG{A&F=60{K>`FIUmZ`q{oaFj#4Bb7&A``bfXAye zHqd+dG9m#k5}tHi?1qa)uUjnUQf(LJ#&+nqcnw^nRLapMf=$z*eE?p=GH+uIgjz^h zaES}?YWGb>MxKw0_72xCAud*BMGo;b(KOknwC{h#M`~#yXvkF*Rk%G@OM*kh;g)0S zt4{feJKb&Rq;88)18qYWWFyHrtT&CEnRdsBHUgk-biA=#F6BoN zMQ!_Qz)`US2l@v@R~hnltciFeu|Jve@ytW2NKub+OVSD;nfBHV1i4_$H;#qbNhT9< zB}9vOdjG~}K&Gi_!XLyS9b=BnHYZ|19EuQS&opC~_g2_}yC0gYmmce=V3uE@op zbd+9vj09wkp$~qE29cwI46a+xh2$f-G<3FB!*}d_>$%{3+d1?8(X(eyYsljE;hS$@ zr1AzPEB4K5xAlUzTHiLO{yg*!#14e!G-4%|gC8NN@cqMZ50eDa)&3=Khaq;Md*1~F ztAW`n1z0q-JDKoIx74UfoQ!*c1F2m&n8_bvpW1ZQg41x>cK>^pn?B5)+Gy%BsQ;D9 zl!2M-B@Di%f@0XIT}q@jRxuVQG=l_2PmHC?X!M-RtpV+$_PJZ(o&t&HqoU+ z8c0wuwzQ-qCIVIMF z)bp~})49FlU}CWPLtgG=4wEP;fW5%j6=;f<*XRbkxv?qBGSFnNneA5r>p)^4a)fa0 zHp0a2DE9$*xZZFxQC220Z)m(4ZKCr`cfcZ-B8u!BBy! z<_t9k*cRC9%WCX0lub6j>}z{#S$eYi_T04tm_ftE?CyQUN`TF4Kc~0uV~1uP$c;R% z1%3CCecbYh?1WDd;r7u3^U(|U;d=IoQYgG{8G5@yw#3xihC)JovzzNcwzA*#(AFed zs7)FkR&Z$0y`TIXdSi;p;O>N4W&#BLPxYy=yL=h(qD+d3Si>LIMvSplCb0iV?Kq&V z%(m5y;gQOlf|HM8d1_{k5j)H2XL$cLY-uHC8lZ{|tER#k)#uEXrIIN37g_ z7g#_obj;UD>1LMgdOdBd;l$hnEf7XoZsJcpH5rYW1= zKgwQ+Mv~}fyW{(~rhn-$Ka?XT%7)C~PX?&3?{Q0jrs`~0po{NtVK*t{l? z%A_S?*E!_gg3$&BUxD11Y8cJX48CN>|1(Ux3V!a7z0V;JRH~l5>whH+Fyy&%m{t0% z>o^@BB9pVrT-?>=Zt@dy9l3CknX(S-_RxX=E7=b2)tCY&IIT%+$8okQ*$y0vDJx#* zq=O$V86{;<+78o!xEa|;_Ak44N#9_o#}&ggiCVhTnDO0VmYRdK!PIfjK$bb0T4y|i zC+y^2wTG1D>eg&$`b0(9eG?7a*Iy5Q*7nojXLYZ?{iVixlNb2ZR6H@Nir)exnY+k_OREgd7bVG{;(nGn#v!JD@Q9RSu*Fu?~d~(GP8i zP!^wZaL5DNSgdQLS?pakauLGtau_rwcMs9OGg&ck;VVVqc{XFSO&Kb7Ac!~VX5PYT zH)f-Z=#rdH*L-9}Wy2{=186#@9Z66ibO-1G`pNiMQQs6`x%#)3o?K`(!$U1*65ooe**_o;A@W8qUkW3E_0Bta&P-7tnd_Fj{PIa8tg8cIH_uaVaD*H5UC7v-0sUkchzOn z-P{w}x40L9r;&m_ehskcQ&^Pqi!lqob|qi=*`+?#(p& zoFMp1F+I=m|aNvs8sbnm()TL!XT!O6XA?i~8?Ce&J2ly`CU8l9fZ*51wa)g?HnjbXbN z9lF_rD~eYTgUC(!@05xKxH9L%VWtFWJ$qS!NyvMgCR3P*UkzkAOa1r2Hn@6d=lLRw z`8EQGADE9@kU-2(;LjdDder{;OAjB?we0a1@-71*7ZJiR7=|O8$PN$9qXX_kz{tIS z_fD8~Y_1_(gF();L|$N-PvJs#=bR-q0jveCEC&j@n|k`fPKX((qY}E`^hJ9QAQ*rh z6=ubdbKh12EsSYvH9=cozG>C5rKu4u;&~zUqJcL|a$6=}nw*|pSTxHg!@wO;nU|lC zVV0L8D`t7GQqX3+j9?D#G7hHb$Lh8ncc0AY}RH@WOHu& zOnS;(1r1oYPsm9#l_O#@C~(^o!`#^!VK9%KZwO}rh6Xrx;T897FL?&gy3DPwP?ARC zvIyZwBBb`?cY|6Jt3jn4NgR=7*b~l(8fs>=UU|PoTRQC4IfBV(WTA;ToW^6jH8=uN z9W+CAy__P$Di!5SwBte-SSh`nSwZ9DF44gldsxYoR1WQ<-$;8?MquetuVGNO5ndHY zwXl1}Cd}k+CW0V4X}V(Ojw?g7!t8I z+Szd-a`B{0T~SvJ^ut~YK#Fq)glxWukWE|*9?Zsf{1!aLi}rpUjGZ;HR)=F=@fN&n zzcHnUts@z$;!qo>Y#qyB!X0!^%}jZ>1y&1r0ok%tX~FnGoU#RBK_|%8|sw0`=#Tx7H?z+fVTt#>g>FCf3AQ*AL;KD^( zkM<6*f9$pksfB0{8+Tn-xkp_m2Cj)!jRdhH!#-Myi`}z}V=+7OTFgfUdxMXhNE|ue zIFn8)Bkw@r6%ZnBu3 zRmdbeOPCe~4iW5Ox+%de9&j+xHg3vC#|qgb6{$VmO90nF_hobGuP#dNk1_>CF~@pw z31I2F(e3?zAW{@r#e37yi?$#(u`M@Y7*E^QtjRQHJz2)VnxixWD0tmbn4JX+ltv+S z@9y)oNb~a{znO^K3u9+y+A9b7&T*eihu0?OFyc2ns7nyw;^Ate$~0Tb(R1(91iS5w zJzMp@{b1iY)Qaal3)i7qdp2_BsM~BBp}fT{>Iw2c4}MYY{$}3z0ci4XhI@0Ti+ldu zIT03+KS9r4L_jcGFqaMT&AFW+3Rqw*1pD4E8wPl&N=@Q>EW}bfhIDa74YQTYgpu$* zNX3ESdreObc3hb;cOrfSL9wWGVh zPqz;8n#{p)s#cOGPMPV2w$wuJO4dhi<+Lypg}i~q#ihvN_x*sEf;8WFb1;QI`;0Ji zC~|9UUD;1a!CG20^MA|i>ltsr%at@;E{62`taK^aLQ%Ga?C9X?@F)dz1PQ{}-V0V* z*UTy$o1T#&zxO}b<}4nz3HY{YLAZ-;)W zAV|2%z-~Rw`asZIz<2xlHeoMrGnE`zRcCZEf8e&%z*XD8~NIG!LjM~U9+ZME%^9}R|g#l6>ol`h21RqFa}B=m&oN7c5Io|?5ILL7)->3BY}HoJ(``H zop!4zZ*t$uhiN-kuZx`#0=5z#l4v(i=h+6?edSeTs} zE96wKIfw`@KRPU!!as#N8OwN7vgltdp03HBU`s$6BK@Ivtk(-OzWxT!|7PWiXit+<8zBiW4q|)P5=oxZauG zl}_2@i4@J4{3Lk*?R)lN+!1C5kM?)-mG6M5P86Z<7dSLCea|WCb%1W^m`kIXHWHT$ z1hF>c0XF+A?EN(e^)f*S1vyLl|LJ{n}e$IWt$0`}cI zX;>;TuPN@I9}E3)-X(IToQ!7lXWS)P!)JHuP!J*xkvGDcmb@Ez*5*p zq@j-opHUJrB}9t(B!eC?xbwt`gbfO)H+pq1;4i+D);+9H-DCKD%|sht+YUW030?5G zgueUsx#x@ayXUj}x4y7Hd@1|};4gFvuOD)UA0Q)j;sgUg!#TDETV382O8S*p?@^!> zc1oOZqQMfB)DBh;2=}6ZEWd-;u(yZOC&;=r-FNxD8vkP#>+2@8Z?)j>fPD#kzsp`K zl%!HFW%18+hUX|qke(rI_qhOsQ=P7Blj6w;m$B2jLTx|0oBDfmZOvI1S4-Z3Z2u_p za2z=jV$d8jMNz>Ggk7$u1k&N&@*XuB_oe`N!-vb)aO0+JG5q=mdUU42BD>#jrZWw7 zM>VHp2wC{tk5pKji7WV#5_Z0dZ*yZCWe*>pkO<~#7` zmMWY#U2CBbUP&q_85P+glCPH!FK>DZz#>1gc?^PiN`=QsIlIa4CZ>HPSF`p3YbCuY zD~bY?Eeq>Z=2QiVsB-}k5bK^?U1j$ea&hDN&5EdrR{U)-q2p zQ;9K9ISvlD-lwYStv2nbJF=7Ux@HBXK%PUEgZ@CnLI0wE$-VqTs)P<7QM;Prwo}?p z(Q(*;H1t6mkByp^Y2;CgUIio#OOCJCkkJ(x4Qx`XV!tUu2K_)$_}D^voG;_BT*1C0 zor~HZ%~^6^w`?|;1ej0@cGv)Bqn<~t#HFWOEtq}Qtl67*K!^Ouzh+=UfX!XG)@Dp= zNIGO2o9JY3(S(YF-4GHD$u!6AFFXvht2G4X|gZ&JGz zN*M|}#J6v<(DpAym0o6 zKl?b^R+xrhGM0HO&g6x(G(W@E?xKJOo&Xq_WJ&luRX#j9F0U%9k{tl2PDf{I&q|OR zw)hL@-1#yv$QRwE9hWb^$rz^VZ`0)kr9$}B-`H@I{SxoI`|eMF_S2vG_ezjH`)edamy|)P7N9Dt{BRo)G(YZqk7p$1GYuZkxOmB zNi&8v9+$6ceNsVvIst}PbONKWB_xx4fIw0+VXb1hlz+ECHyE#vWBVk0DxWssIzUq%F)EoCO;II9o-r7PyFL?(b&V zNW09sOCGQQndhd)hlebUrO>ZjEuMyzO&FGqp)r(R%wi=)*~IFKUoInq8!eSt&`v21 zMQ$~gl2-uG~Y=vn+#|4;<3--;zf6%`22kvCzZRDGZNJCUs0y;}-hRjuw`peuU(RbHP+UTnE1EzvmZP#VTf$qS356 zOdt;?b0EwhpR8v?gNfx3>3zIN~f%8fma-+Ulr<|2s>)gqF*XTg!4w$qFAvh z+=>s&TQ)aOMI-DEjOS5(XLjHR%4JuhE!``ymype6PnsH;4%^1~>Z_U8Y86Bjw$o$B zPPpS0$BrJu@4MH^@cXa2S1QBi35o3sZhz(TK(lx6+>Q2?girkQyFL=LyZ`z938U3n0ZlMxmkq!u6E)lGt_m zqVQ2ksyaLu-xK#%=9OX)AnrqU+)1*5M-?^!P~=Cqa;7ny^zlMkV13;2SoNss+d-+; zYU@Ru*Tj^YeOOfG1c^iHB)Q@D(-+~p|DE+-kjo9AL~x6AShzXah0ME}*0+L;l;L*N zs3MtKkg+M6@v{#~{ceV`1@rUb7Ie#%3=j)Tjtd~b${;}`Aeo>>0ixXDqlHK2Efttk z&anZ4+ja#}A{iv>Gd}(wWmwiq(!>HWHu*thlr->uW8#nsl))NG>9IQC`8jKr2&;T% zykV?DDvPNI9Sf4d*UC%4>EEhfOPzG#0q;1KJYMB?8@cONx3REunc@V2TbP*q=#T8p zV;G%InQbaw%4Svin@VskCLu?tbq_H1SS2!YkB5CRPE{*N0b`c<&<=`k0c&4+iMTf0 zo%inDa|f~q|LVnm2B(Y3%S+*Id=14fM;Ia~m|I_ujWyeZV7)Ho*^^tL9Bc%oybm!d zd_>a&U~-&{bYqMRGg1$IGu;8}VusV`8eDd#II!kME_D&! z`qs|g-agmA8Q1Nw6~N%Jx)RnIwkg2xf>TWVFs6a{-WW-vjD#Iz>{mDEqfkp@Sn1#dCtoJ z!k4BfF2f^Yf&%2xboHpGcoC%$YcSq0c-Q{lGiThn>hK>kd=&w{yO6<3#etk;3In@_ z=BXN(%GjLt?z`^2%AdXm-u9h$qjzc{zcsPK75}EcvPV6~7vDI$hH=Cclt|%47+341 zFO=~}?D`)nD6kkY9ZV=%r#=Ux!V^|qvd-5+rtmKmxZ!bSt`@&}t@&z=>Lpli;okd+ ziX@PuYo!qA047O`lm$4-KKe)v5)dK4IQBC`w7>T6Z~f&j-+$k<2{+!lj$yXD7`^cw zygBF8O%7p##9Q#*j1000K)M9b9#N}n^8w0s1Snh5h4s7|a(-^BEw1??8z5$xpx~UP zoz#8(_1D?DN)AlEuB(gdt66gheL|CKP6aIct*`;%)*ECA?DXtB(lORn7Oly~uesGS zrgTMNxqK*bur6DsGn56&S&A0+K(_*W5re~&1&;C9=~cX6j^6V+^Ft`%W?t(uF|&dY z7uRb#p*1O0>Lv5gmWi8uTY2qJCm8GQzNLHaEk8 z6s}SL7e>hPz~xWu0o}-Ev5e*iMzln9IJ?v{*e6t94~B@+u>mS-M@_LHuM`*pKd>patL*Hx$f^%|Ag#ZdRF?`#cM$>g&`KB_41U`3T<9kfPNsP z%ettJPLuJAKS!P|;|!_Fr3Ab^?7@G`E4Q86T1p6WCLE+$Ne$NR(B)>76Us`<~ms@;RH3;9t-Jm9d_GVAwWTMok7FCLgj933!$Q-Sn1>nJ9#l!fJYd2WH&2Y zFRdNeN`%k&vz3(So?JVbJyosbeCX=kf}2mz`kCsf$*}=EtN@zYcH!W`4F+`!s9nIZ zG~BZ;QvoYg3v5nR$?XvP=;1gyrs^bG_$EsXF@rTp_~|503+2obW^F<#&`mVur)w<4 z1ox?1Dq40cXdtsGRHemQf>Nk=dhUe+gf@%GD=4x(E z&dyk7B*=9V#3y;zO7{ckP1mM)XCI}qD0;o}HAP&%{i;n= zQlLbm{P*u2FP4RYbn~ zVMJKV@QA%8+>!c}SUDQ{!Jy(Y-~{3kr%~tnOjy0crqh(=3ksl-ZO(Nf4zh|D{Q#9y znf@9rBUq#dGXvF0Q&711`ilygfuu-j)W~i$o=gpZXax3~#bbOxI!A<)l0F~>O_l*6u2G)A{DN!J!va433y6|KmE)|B?=X<(b=T4yi@yS{Fk1S?#33T7? zrA0NkP!6&5%}9G01@C3}=a>BA6HCI;NoO4N8f)5N&YWgBceoWAAmBM)4wW-nDashx zkf7r`buA}~>rVIp1oee(0_07DMlTr^6%Ul+0*;WLO9|8<20uR@9_;V6I09^^V0xKA z(8B3*t3-C~?Kquty>DRfe@ob_9+KIFi(;qI0rUxlC98j@Y~5rctSN`dvu@(w2pvQD zJT^6(cs@b2B$XZ7h7dl#wql~^<)pQoCfe{$xv5etEPm>7p5?>kKG53V+zp$15R|>*u1PL!!l>e@|%r$07)VrBj z_RlmXrr>+o5#e4fmweZ~{_g^ARr)-2w{^x0AAX&lZiVGi90=lf|MUAm{5}Uazz4Va z5k9*McMETUcq35|28FntU$7(~SZ(itqKSO(WM8Q>0= z+hExrId-kZZGS=8l%h9qaO>_?^lmpb+?bck-zToF-g-1#st%$4dydz+sIis8D==Q+ zaNpBsZP{JjzH1w#>UI+B6}Q#ndrR?3L|w(*J=xwZ0u?$#^A2=_#W+NjtFtW{g*}s4 z#1EFyDjJVg5iUz^S*cr|Cw?Y)DC$j z>5$-X?4*)u1s~^Tt$-JbodBwLg{^6r5@Y#5S`;7RU6l5zO$5VHa)fR1t<}iXqj)_W zZ6C&OSkhgWHI^F~o|%bek#Gyehs}Y;RkSu9P!5ss&ZIs-WCfSv6_#C=kqL1pf4G*^ zH_qt++fq)f!mVI|y@xDtR4tzye2VL9zvaVrtW(x8w@;&j!zndBQm*8a==iR0^a+Rx zv^t3+;WmENzg9s+{NjuLpgT}{@7|}M_)p6|`4nvMr)8gg7LalDS=H~%NBVl^@YB@u zVh2VKOj!AFUJYAQe_!IW9MquSg*A(h8Yu-uLl^}X`s^xly_*=~*Vk_=UU**HhZ$Ep zf(W`X0^x82`_7^+-|?h+C3ry92~{+LWM2gZH+H+OfGv6+@9xrlM7MH(Uyq$9RT55$ zF7JB2i;BgT=4OMzvHU;OqdAmBrqWTSv8|&A56}Uwk?QernXxjWk?2%8Tlh{zrzr}5 zl&yRAbO0Xni%AH&qH>^5drT2JGu9eI1Wb-)OucEhga}ezlU4VI=ro z__Oop-(cq!FmU+n%H=l#D5gdiAzpB1y-j}_8hQyU0W96S{+&$$XWqQYWC*Gn{FO2) z3*41GG>u(+ze{@$CBrnK@9-eQk!0!akioT0Ih5e~l7n0q zRd0E#l|beKT+GbxvoWh96AXAzA0Y2n8@~MV%dfut@(XMQr<-+vW;_0?Bj)iEzy zf!8dSXlT-`Dr_E*bB<0-!3wdc`OV>`_B%wSMYS*SrtjxONM7;ozQX9ljHxBc!v8YA=$0!f+6hm>&zE8;b+86Az-}>G zDqUo3`4d)cC|R#{$Ep5Zl4jg%(YYPUudv(-rVwMp@$1RDAJh#R?(MKu*o!Q_S`~xE*r-#vonU-M-&}RYaR5` z=6uJagup-xx}5B8S?^_lJ?A^&AUt8oMl|3cDr3&t#nh0ea5sd=RVd7FC0c$^wU01Q zV;|+)%mYh+zdyDfC;?x}7fHsX>*)|t=+pr1cks^-yzl~0@V@Z!WA@Jz)jaCDj!0t-Ck6M-QV zIf!A9ZJ?#NwZ%0*)dIVAjtH3IL2jSa6!!ICp3Z-_z1`)?;lXWf_3b`aiof96cbb1u zUIZ?Kgujt{nkOGLFav_X6NpzWpx;bWivm2tKMkR&hKUHn{`~ksbnB>%8;*{ zDVlS$TUBCAg*^?uE35I^|4Lj7<{?SlKW(U&@#p*zL$M`keCAb;lBm>iaR=mU#ySu! znTW?vS-M<(DLWT@mB3F}dR)s7sq^GGl2v2^#>BrUa#S_r__}%*|4TGenHbIdcu{~i zeySK+qzzUFhvjBzDYIO{07}2Q%@Y5UOkF%$KeGo$REuF+PJplZj?ko6ijBbaKGtLM zhc=}{n}|xfUWGIGqp4%=c;>_o8O~hNiCA}>htuelGWNLm0C+csv+1Xwe)`EL_wYji zzNMdpU%Gq$;Zst=zhhd%E8!UWP1hRkaW<{t1w*}Mk4+&4lK29%q)Df@F3$9W8wS|t zB4~J7 z^Igy4=*ntvvBEgW^(CX4u1V+6^%Y*3I7U7Qa>i_J7*Bn z|C2MCw1?}3n{>b)OAB*`cT>X~xA)DfS1u{D0VME^8}98r#JX<-3X@+28h+;;U|@uE`I}pBymf=6 zVrU0exv#rYeEE{U_}3TCpI(`tmarMuHm%1bU%C=Pi%VIb<=oh2Cq6h_|KFk+5okFq zAhYZKweW~RJYV(Kp16KZ5A-dClO>cee=TGTX+*7wci~A3Shwi5zqN-^W40%uKUgul z0UQ7Pr{S->^Vm(;-dIZ+b6x8i&=9eOZ*W61`y` zi03w2maTEYh%!kn`Nc9)-Qj04!`YQeMW3AtZ(s50GnsR#v(N%vc;mdq^9^7PgOXr3 zoczrRA8h7%3WGa3UB|Q3hUK*3@~**aWSL##qCV*~Av2GN80<%WJ{4YvqUC7iJ3Ig+ z6w|Uea&|fM1>_q5_GJpiyyaL!;O+U}!cmVtwiYo(5l}7plz@7Z#$D>B1@%PZ{0N=GSyPWDQ@hI%(Dw=>b$&EiVVaX~c zdklz}I!n0MEJwFn1MW@gu3_cdW;0M+jAF^=lUTB8E5E@2dyAQ4tTn>K?r0?rvmFap0cKJ6Gw!zs(-l})rJZxix2Jzw{3vJ#KoU}`tc|D z89#y-{^Xwf?D60IGw;$@d4obtj2M=1{nl~V)zI9U3p@IzUR{QRL%I|lB3Lqm6;wn( zM_UtarXIrtuJb`ArZetCDs~)9dFh2!PiV9bh$(Mt54m6!$z%9|RGB;@CQ}8F8R5du3~pAlpOGG@p_|wQY^Y0TQb($CrLd$= zHJ;3zdRF26xbUf?QR@{T7ZL*|r74Nj-0DdxBcQoJP=mWxhN|Q1@muctMoJr}uA&LD!^+*Yq>Au&-7mKN97Pj1-cqjwjfQK{ z>UZTIXR4MwXB0EesNEav*ObT7D1ob;z-%eIa%crDmrHc_GQ25j9rdmYwnMxV_ zmHRUNg}=Z1^Uv>pe*gac0EzF1Zvh;CU1#&fu$pb<$sU$XHj;uAcGH`U0Tkk)YM{!1 zEsSA%sR|%7C<*0ytvr~Cg$1|tn7CvWMv{l1lze3givbYG>}IwS_fE34XL1_i_1S1<8-^RWN(#nxhLbj@{i zGfief2z!#^9~dRk9EQdLCb+x#^n#mr3#Hgr0vcZM^OXy>!+2ECucTJpNq4IHw1n~J zkm|O9G%!=D5qELAjFA2tA;hqO;WmQd5)#3c1ylaHf&W-Yyl7YpFdkqbuvEPPaka8} ziVy|L$p$Sv8TR=Y8$<0LgE|^pL>=d%_R<_ta8da9w$T?q0z(!6 z_tpueV>*v5^r^^e+fjE>Iw0WijAXDOp`i$hku0K+l87-i5n1-58+~$Qy`tUh6|+|4 zGsn)g7NN;}4|v`xo5)(&zW@`_SE~1mDX==KYFa3jw3^g(z)sQE7sDc^G%D9xiF9Q2 zdAOd9y*&oKxI_8E_cWJ>qDUkB_9WkdFuQ}r)!bzROm>C8r|leoPooGL-#7qeK$^c% z2kr&ZW#(r<&PqkYXG;Ai&9tB$GhhMm`&f;T5%Etgp>wn4yPQ2i$Gh>1d{C z+E3L^T3rTkgb%05YK)&@Lc-Lo%Cat(mfdR8nqRGzsttXH;ZIL~M>U7IR~J|0 zNCI`KWMhCf*ZELKl4nG0n6U&9*}-ZUA^MUXhVg~&A*&}sp-Y? z1E1XsfHwYQ>&G8|%zD+2KlvCC_tSfyxqDB2_8B4VE3YKde41L1qJSce0YzJmTXdA) z*+(@{K^!j&8~EV|cUuAtU<|Hcbi8+}0<~YR4ekS!!TFIIMO(7WF`&}U@(#v^`QHC* z&Q*jku`Ya2r&aA6nt@0-CmhQU=)G|}w%MGJcMbG)%;9ZR5>Who$nr%);8Jj;AX-gP zCnf)Y^b}lOTu-@z1ASi!%d)pBG^k%`f&{p(fL4k}6$)(W4!G8(c2|HKs0u$-BM|^? zpMJE`#5-%)aLb4c+^J2cdAeKW^@8hr@vmslo}IAS9XI#!QB4Jv$&G)GSC8Vl2cRxW z5=M0Tn)9<|3`_BI)$@vC>Le#C=gyt;7j|B}NLlTb02`6Yd)0Ci{PpzP?nZp` z!FQ0$3)S!2#F2?C;`()WtyC0mQNXv4zIi1;Q05(+KX-a*4hKS>+c-PJRqZ;9Iz0Sf zVa2ZP>$4b|VH|Rv{-*bZ@D?;L;&~A+e2TU=!f$0ZP@x>qb@sY@tBlO9duNmMz5ut( zWpKZ)5~+LZ{agNnDrWM6aq+kR=2jwnKwB`)eQyceqKob4Kl|BxN^tkxeBRVo{14;rOvNqWex*_{bMZEuee6^3d#x#4J)^b)?Oit7B=C0~8{rTe1j zzWY4=d-r+C{rjKC_iKo06Hxm<#Y}Ywi!EkS;lzi;1Mmj($!I%(KB+g?2mPz7tBLwS zq60>o;u|ePr~ur!Y)avz)qF2lQT&=(T(!S5f@_-Xec@7i3bF$vE1y)`5B^~+i@4G# zd6*=vG3}rz*Ma%JO&6-pWEM7ak_snUtyl@fmJs5H^2rh((N+%zXiKwR&Fa2DWWO< zV9rRVHU1pH1Wl8jzH0}Bj|O&nG!ua#0cL{-hOL-wVoG#6cAx^zOltsJ9wblO(NJ%@}*_z{3M>U$<{mc4*b z+Yvk_VQ!9oeU&(iY$^DGZIlSvU&ytwn$NeE1W*=rJkE_0heYHNAamAIW$+LrHb+HR z3zHvMZK{MbgdSxZ;>N91;k093D#svB;;tU~|GX+54KHFq3ZV2`lW02HDgRu&f&_4=Zl?{f(oN z`Ho2Y<3_g*4;t_t#;FtQ3UVZVM6E7hdAsH*h%#={)TK!%zNN(^k;;Tb&@{};z+wT= zh6fk{2n1MLNeVYSmT2q|>rAs)FRE*}5F6XMvPnd|oulrM*TG)t} z{{u7|O}WX`l$$Q1KffdZ@)&7_GsPflx9S;4kDx9zw-%jD2l%}?iCVK<(Xg&pPg)@x zfczsoc1l-NkjhUp&yF0k({jFjR~ruwg0wnfLK$`9cyz2LF|UR5aZ{?KzOLTaZ9RUR z)rGGsvH@XanU{)Re9667evkqN_euI=|J%PJq6Jm^ae%eLwZA*~J9SRH@`|Y1L$9;f zurB4}hGuAO2q=-K(p#OE8W&+b1LeB*;(=XU?v)0^b|RU zzs<#n8eGhF!<`*AwcWf?(Y(?J6s+D~$RQxo?|wv+48A-JSHZV-$|rR*MXj6K+Ngs_ z>}xLTG8)r)a2Trz&&W2vOk>a81;UpM5tOcC znsPq9A;q+YufBpJ;ePb_U;X~~pMU;){XkOo%P+sG`?~HA2w4-F2k@Hf$|o(|(_q~L zmYe&BME{S(x)sf$x!Q29l?-#$C?xlUTB9Z6WbarKv9RKn%b2s~rnXI55m0zvW<~ZR z=Nv0DuIW{Aq(DKC<~lY!GSh}XGc=1~LT-2`>rL6sIYEM!VL+@J$oqityUks%kb`!} z=Ld)BYejxXG`DevTHzT@8)oAG)hbb+!fSq^oOD0{ts9he&L;#$I;^@Ux38J}2Nvja z=a^Y?mNhPCOcuvye)1cQ!WjH%`b86wtMA{I%tR?sP^hx&t+aZj004a3cUziS$AIk* z*@xH=v#fTGRqLG9H2`~vi#9Uf03iwF&s^KTYKJ)-E}gDUnZ+48u5HJ9VR7cC-IL{Y z;xFgt+)RzZcpR_%!uG|bg(UP{qPTD|WS7brR~A-?KeZ&Xsl;8IoUBK}HQmJ|PweG# zN~bVk4j8ZDSe3k50k&p*Wn{BxpW2BGGJtTamdLAH0?Mu7a#OGc@R|w0H8mU!Z6#r* z%g~xg-9qis(l?RGZsqTJ*qXPSkPwz>J=!FwZDJCrYyl%f*bmgZq_poF74H5Q5UG3j1M;xZ zt)koR)_);#mG}t~+z;;D-M8;IzX{lN{|myd;ah;NhYlY-R_`*6D(PrfQCUYvM*>|H zYeZhQj~KSMoAC^c{ctVcZ)!of2U|$Og+ch*_f1?esaPoYI+-8S9=Da^Hfrp63V)V= zRCxm(s&7JUS*v`LV)3HpziT1{%4TDvJ~t4(LY)eSA~d+50v$T0Qgw{+VBYC5CPpDb zxZZ~g+O>QOCkH;mR-kUF8ah-l+>UbVja~9G5D9d5Wx7)gBQp&~-2XTUSUx3-K;Zmw zfPvQPmK&6Rrmw#w{304ojrh^+7~ERFPXSI>%mU-iat3%cyQU2-idX~n?9GtV^-32)8=K4jZ67afYXD3tVwL49?Ufm4O?hC`dh-fcK4M8& zZ6c#%OQ9Qc%cb}mF5H-Z#Jf1$(bm2=JvlZ!)CXF#GiPjZSYW(N&QKpjsiJWARi?$r zW_`m`x^0=duC@$9i-WataG^BqPB+CCt3`*W)dbb+>UD8rtB#NaY2;Y z4TS-Pw+bF(!1e3lKp8M>^UKjoH7_1Kcn_+A09pNSOFsVXZ?hlo{DcVhlY5_i_Su1h z|NPH}Twn9Af9H_G08>6Ioi&x;)_~V1AZOWjQDKXPP*ZFIy>N%iZPbB>ihyvLqQo#@ zzFk8aEon51#1w^&b-B(Tb#*F9jOBysH?)Kz7H5*n5<9_&G8*xarcr`owU!6f0%GkD z9H_KwP8MZ05%C-M6<)yj#2$`!THADQLu1m_odmUa2l!lu(_ydcDel!TdQnVMX3T7@ z^{5o&H>*HZ@i6LvE0jq#(m476H*897$JQrn!$oV+YAHBaf2!)FNg%^v?c2OArZmar z7Q@m|nX1WNjgJnYT5dBIapqeLNOuK62fH;XL~zr8s=4tzseVvbn9(uY52XUEW;@Fk zEmcQcK>EUEcV#cM1#hZu;W{Vx*G$iPgMnZ1jr7g@bzm~FAKctY&oNJ!6|zySe`B(@|!KQ52J=$Vh+N&tf6;LLMHZT_aT0@ zz@s>BigtQ3t^}{p(*nGH9zd)6ed=@n`@c!R>la^sjXzOm>Zl0aL(o7q!Sc!G76fgm z8FiM*5yngfytd+(io%lk9aV>i_k0@03dyv`Sk!bfv*s3%2as*vyRg}yeYXgdxlHYymy*$gk6&;Lg` z@YF{s=R3C3*47RH^N|VFg^Vc`3;9@y=G+`@in&QTq%DYHA)2pRSTv7aX0;fsfj?Qp z@Ca+w47VDqTF#w2>(5l5mL4L!0^b1F@e`%knDxsnq3eH3MV}QW>2~WSVWjjY>e@KG zZ6&XOG?$2awPt2_H)6xtN&IT)RT~RM(!OPjYK@oz)yean?2e}-?@k1M`2^-8VolMm9P(C>yQO5 z=tzb2iKU`~-qGscS_%Z~Zg>QnU~2JT;`pV|LQTk&DhS9bV@y;UB1cOhOpmgUH5iOd zvux?eQFzG|Gep}Q;*5@c4_oPRJ>{dKe!|WP*UF1liN;(7MHsmkw(Q@(e;?1ux87I3 zOmwRhZH(@A$p;_Yb$2#=z^udP_d{K9(7pKhOSE%`|MlqcbWB+z^`*@k7jr#tv zUrF)#yoC`^F_$xnnN~%9&hQE)VkHt>T&EQ3b#*JdJDjb``CqiU+#}j9xf8Q8LWEJ` z3utZ4wCt81oVgz&Bf((n`0e7y5tP+*&h{3XnNVH&>jY~;0#=_ zMAN4SmBl{1UMw+;Ra(O2KFZtlRDI{SbBx_;v`Q1mXPe~Y&2p6mst;F?Z`j({NPae# zvxf-{#BPgw;J|s1i2%YUBV!ZM)aGd>ky|Pa<^B~*8h}JgWy@Trm&+A(?beDAO&fkr zuez1=aDjsP`^k9X!Ewd^tq1NdB)ouIDw6TsY0#mRp5yMI0?Z|AE_7d)g6i4*AzO3~Ep zOy~)a2X3VhL(igaY9s+Es|9ye&b1Y_$GI&XqPB4Xs5{pUZdy-;&r@;cI@4XOMa8Y{ zdUjC=#FbGLSg#2$eTUDLw6!$3ma10V+&EpimQsLO-?)_*r73=zG{MajMa~yveEV(6 zjlnJiFiXoI+gVw)iTREUPTjr-;`Ng7|HVC(oO_@{yl;b5Fsg9d4?LWd8VnDcif2d> zv8>7)E~8}DjhBsynJS}4!Y#X%zfh0qsZ(of%ZnC*xwN1rPDyHUiQ!777=xP`0pdWo zx2yPHk`FG_^jjJw8sH~(vxLoTk8}EG?U=aW7AvTfJ$ufd--T)j1?Q^*>P>11u3gPu zD+#dAUE6$}J!97ttnl`YoBl@hcJ$UZcI`r^N;>xnvUmNJA6+J%y$G#rK!x(tPg!q5 zc%AyxbK99Dg_>m66*gJnkD~RFjiP?I^_oQO?pi_vYKD+y&}L)QZ% z3KgUasta&{;RcfvnX&&_1p{algCC3iA)Gs-Re{ZV#E6{bPFi;miytt#PQvQ&@2;+q zk)2ZxGFC%Bu{m6$qm0$IJ0KoLsR}B-!-=m{wOxOvWDUJa>q2V8Xtihr-`?2+Nr}q1 zB!$H6p^TaZFB>nea5q~$mxw9@qAfz80@z}|4DlIM%^;G0U}-f$l4P8l$)Z-^eu z7}({+61JRNJGRNNuoS*WaU=-MJW~-t6R0c5+RZGin}FWWySY-}(`deouYiY^fSaaC zh96i^XnW$dR?e)Sd|=9IYe2$ER@&3q?pnVMD_bT~z%%=WQ1(TtQiHw}jEe!c)}&+# z;%M1Dfm8&K9fM#OfH`FN8!DVH1{T=o&0vQqd9y&c=lIASD* zJ?4)8gM{pL5%?{^0tw3PZ+UORN?$nms~8=G|mYISWJX{^&B37cMDQQr4{SJ8yjySBDi z4rU{?C#^`EYhj}ZU1F%mt>l<4-y611mn#G0Y4vSSwQ77G{_!rgdK@}kke~`o*UTCWuE1{k^_a9FJkzSJE_A;^o^CBPQoM6;mwdBrn3aGc(~23bvsA+ ze44VJwR86Hxbn!z)G9`|M`>I#xv=rc_qqN|A=U5t$^|H*zI4AEsN&d{6i#0{?*<-~ z-rBCW!G0wekU!Cr3^3uLcADNAvxZ>th*~gs54U8t4DQ<|*XSA^Ze+!RoN%3r^<^*< z28eF>fkDY9VSmRt49ZwEDAdRVr5c5RUgM=`u_Ro!@lq*{W!crD6}P&Ho?Y{7GSK`- z^VSo|qp106nW#C~->Z`{+gBPn$l+cAhBA{XPJ0&>#V%6`w61@CyLZojRz+qO;&k`gQ?El% za6BBeAWxT;hmsz(`zcJi09MxZKULu2p{qlLa*N1`R`w~=1klL?VYnXM&=!hGnae_( z8^pkh05Qv!@BJR9dDaKquW)bCA;b^u3La@vSD|ly+8VnX6}Qyb*krF?i}ih=4+I_t zpW4dPB#Rrv5}k6HrdFTZ-loS06+{;g!{ILT-6dVf-Y%DY$8~Qs6_4#Y(4+&>x`Ajg zHIy0NJ(zeLlKOO#4=h%3BV{C0-9Qa-fUX~Z>cNvM$af~zvpjLj=&fn$a55YfQ_7apqLUYqsJ3&uQOBwG6Vs|Pj3j!0VW3U zT7H!kxGsFUgXHWrf?KO$c>BiN*JH4v;ZIyIx|X?G8vfR0cc~~K*`o0Cqv#qw%k-!j z8KY#?GY4IG``~J|06}nFad_RnTS(GG)p|6_eEY@a0Jo8YOFb;<;wx7!N0(|0#^SMM zuRm_SFL12yybFGo5(7fnyB~f?DC>Tc`fdE1CqDYLQEhGO%!f5~6p3@2 zb%aNB8{RxB@w_Gn1-K#qL6tfw33tx0=jXYzXU3~lbUDN>GdJkr#t9#u2{Btn#}&Rm zn@I1X-Oax+$%~YpwL~^;QzM z2H@%s)f_&0^mv`TBk}Pn5U|w3x+9w{@#_^r*6@RSvFKp-#hQRsUtm4&b07HIl~gFb zf9qC!yZD1U?t?$Nb9eo`{2QQE)4{@GLb~@v8Y*EEnY6$R`b0;UHZWaQNk=E17c;i_ zgk1Jd8q``vG#K_IWgzFF$F?RF<>c}1(Nr?P;XP*R!o0pG>Fo-)o6_c8XE~J@0bf)! zsAVsT9?F1vjlCtHIf|Gl*bZl}jgbdhO%p*KKOP@@<|s$Jhb1p`aTe20#x`Rg##|oY z3pa6#I&pI84&SwPJ)B6_Kjg>9w%@+vKCF^@KsSdGLypf@S zyhY|ym9Dd}Yumt4HmP|gUi~H0N3h&d+yiDAfF0kFNYd0~j~q!1JX>ok8e+=78+wdp zmm!M-P`n`*psAUpCd@CCvs`+~FZzIFix^C3k=<^2BM>b2-z7-<-BP*2yZwB6&dvI{ zCxv0dNo_d5gkt z2|!Um6Xlb1IK-0~E~|>xGZ}$O98S7Z?sWFdE<5C}3c{L$YX}LcPYjr%GI4GWm^$6M zcqupb*(md1)-0|P>q^_h!;d>wd!k;647l7f0g>%eH}5e!Kw=*98jq0yzrGgm>uV3b zniwt*e5N$7PYGc^{v`hRZv|eVEMS1aXW(Gv^^zzSS8TnDGj!J)_ta@K0B|WieOQSl z%H}CZ+j?tj6fU5DXyxdwJ!d7@7|>A^nPi1%%Gjf@^DgtZsePB`b_L*uztESDd&_{2 z+kNY%mS*tla&94#qWNKq>dNx{HHmikU0%H|uFPZ=Y7s*QXlNEGyh3kCyk&%%hyS*g&RHn%AP!eATH99#- zxBQs;GnwNBs5Cn>htnC2H`D6mabq>(Nrn2*utzAgdfEtO5#%%&7G7gLJ1#ez`(_MY&8g&NOSeoz_ zzP)u_WeV5bwe(egExNi5$nwgYXkjDRgvP*K`eX8$YiN8;%F2Lj*4xj!dy*Fw3oTx( zc<>R4`2}S8QWDDsNVazRJSr#vt1GTblN(>EB#^xd&iF~9*d)};r+#5U5HFxIJ+6p196)vO6 zZYUajN+TLfPWbK*tjF78YoWJ=bwNq#`X)Yg3B^Iqx~2+wOCiq6)Fi6?uaRS0^F=_k zz_Z~e_j$$r&xvN;{lEO;%P)|08}KYI;D}Tc?Oy0IVNCF-@msPQa8#xBG+Ojan-(bf z;IwCm#mUE{xNT@lX!&X1%=bhClaYqbzTgy z0It!=4dD?A!s2Fd%R32pm)Sh5Vl+xF))DQ8>xkA9(eCN( zMG1kRfe z92c04T>b_X|BTSuno)~sWv-5&-70IpI342FSvRx&4=NAIspGezS+l|^P%<4}v~MYx z&8`J*o*Y~<+b8UczA}m&c@cl&VTKZL+p*NH@ZpJj0C;vlEMZ${Ko#8Y$3e|kQ%TN? zATwBLsgEOm82S4{et6G_+Hg!JyO@YWRBp-DXTJ!@6!UH=Ba|5ANRiz~8AsdBaD)`E5YB2i=Q*hs4Z7 zhXTH>Po<)4f>o{cu7jzxxi0JIgg%xKx2G$Y-~()S4bN)k&zVeXyXIScg+XbyxdGeJ z5VE?K7&CqDY(2iWHZMw+A-JyVVM=^D+GRkLEr?b)oKjp|8<`yT1eKUBU4ca>yoNqq z626!{Rum2Zk09jiIBI%h?72MF$i~`2+Oy5Im*UxF+sc@@>vQSOxU06)R1uJaBf623 z8HVIDE#7W4w77*;A?_)|t(TAcDpZEnTV|!GTZieUCW9F^7L>kG*{UAN7HMDuaNpcy zx@pjtIQ6*rF=0W(A)4DCq75^DvDKpA74{5hGa4a`m1bes)}pD&XlmD_iJvS|S&asZ z5IgNyu%H{&+%Br<7SaMLXO~<+yYZr1D4w5#G`3-OCq`OfyBvaYO>J?EnseFm2I7|} zy-DR5Ox(hQc8#SCNWsbMq9;vt42sMfQX4PlRWl|T^W$aQviw9T9<`e)3TXDhq@U*- zYIaSbhmEJppguh9PCZOU7BGcl5wl|3n-sBiyO30oaXdxq93I%yg4xP!;T4?GAdecJfR2EbR?x`1du z_MbdS5DN_ZQsSsQeDqjAut?r&6;MryZVZD3VYF&9kspa8z zi?F(G5y=JM&wNB6S6}~q9>1|Z)u-V{Xlf=L@936s9Lq9oO%KtH54fd}nxontp>o^J5SvCzVCc+iWc3A{nsl?4QXZ^W{&Rf*{ zg#@Y+s{;DDs~g`Gok@}Fl`HPey%fd1C8TN;ED~m~GLb8Q#W#P9>M@|y%WU7hqKQ19 z-|02g>zQX?;w4NN`ncY>o*lh*zSSHe5wy91rxU=+of%CGCr_QbcnL{hdMHfz3c%G} z-e6CGOz~UM+a&?By0;!;_$-`SiP7tJ!os?bo+M)ZFafQ1xxIjh{b_)$*WLu>iU5>T zr3gREp8fmv?%i1{$sSQ0gwCCM_#Bpw>V%-6~*UokuvWKFrewe^*`c9m)vg zXdr5;Y_wof*HqJ}84KnpuC9#2S@(s%pZ&c2K2fau;_)wuTT|;HDx4ev@~CVcFQ1#( zERqXnp*fZ^yTy`#G2POJg;^TV)uZM{o>m_UvdD2Mk+?&k?Ap2@5xruV*H3L(&y2Hl z`*|P!!Kc(IwgiYYueyb)$uV8W13ZYxq2ULL3a;-z=kfe|tk_a$l?9`{y?Lum`l~K&@bbx?E2ghdWV!Dee=87jB@MXJkeRMWapgGkg`z)`g3_A8A{VWO3_3Dgl7E58KI! zzZ7#x_XQCw%VgDX3l_yo?wcS0?w^AY1i^#mrZy!156^zl(3W9Y$_?3ut2Z9nrYm^d z)Z1LvGLRJnH0xLV(oRPFz~(i=d7MrS9l59@mCJN&TkjSVErkaarK?hE1PH6WuXJ9n z7#HC9PHT}kaYBX?!?Y({-Nt(AVwqbRpsRaj&#SM#N-9UKy%5!btPNWz=vnuC*}e~+ zyK^_X^MEQAT`GJhj#;dMeG*%Sw>n~;;f4@vcWeqc>q^H2MY>1qwXDyRquhr z>lF6v2(u7 zx0Wk9ENM)Y@x^f*R8Bs%4tDHZ^J%+eiSY3!^ODd_V~gWioQGA&Zx?i*OUth*Lnl z6pdu@a6D2WyLC8@ZB(?pYJ6wsqWO5CLKBg2WG^v0$fmpEM}}Za&_7g?l;uN!?VM%dvbk&){8qp!y!`qMn zeU#T*_!4fsaD05R>fnKU2be(MKdn|O0mxVP@lQTcsO+ak!Wst)5$v%OM949vF0DGG zNRQ5iq&x5X;{3CHaJ)c40JVwI>KJrF@fRakXt#wCeK-J@%Km;uF1qdtY;OTO`mPP# z%#5|F0#|T@f1Jz~`q&%T+1}ikky*m(5$K%BG$iNlfK^?U4k_V>#<&=(a8bRlD?U-@ zPCQ(fiu61{@ZnO)Bw*@` z^1D=GF*IT&x)W0hqF?gM(TZCwU$OX(J*TWF2`u6{d=R>#>-N&+EB?)rfCN!@5I)^Q z7I0nO@@z9fS?u|=V zBwE3B=p*{*N!91xMt|qj<;S68|kW?Vf_$WcK&zV3`Qs{xl#ZYQm!SiF6UYfiQLw(UGnXB1KsZr88j^73Cs z0jpMhos3PL) z)$jWD7C8Dv&Shs;5{oC+gnA+0TZ(Pj8l)z9 z_8_0ko>8 zWRgl)iS3l5wXLm9Rwrs2g-d)oN>$V=KRx5h<#usl$uC1T>~VLZ+-@oN6lz|>PFh!Q z7JDS`y#5;Jjr#F*&^CwNk!^<&zz%oU!GkZn5FqQmJJ0!jMbAZd>agN4rr;K#>K&b! zKVm`H!GlRV5%^uypE#c(+0F6t*vba2;-x@&3t%FB%Cx;6v8=2{vdXbqq}9k9k$uf!}y>9ZlZ z&L4m11id0O4UvPD>4uG^N24RVj-5b2B^&DDj4`1U{E8*vZE>yXu-+B7v_@^uv|G;^ zqHcLe&9O%Zyw`ebE`x7<;YqHbQuTIQf3&>7(xuWg+wFRax=XPexuV7ljMBR=ci5 z>3;GlieG1~k1?qu0R_tm$D9=z&1XTb`uU1EIZ!bjLX=EA`!pSvGioH57)O&?x4d{z z);BkB=8nrccEz}~|Gi`bO&n!YHzJ$AbfyY{=#&gLESgi(S{3JQI5Q&{tIh*A9nX|& z^~g?aSwAm=90moJSt|wo3Gf$i zcygrlt_1f%dbf+>WI7cm>L2!Q*By7qQb*kp(E4TJT03&g9e;pVB2++!5E+7mt(Ojb z8Xu@Z8?KcexKB#K!n#l0y+;CcwVUtNS6@GzWW*A?HZ?b)rTqIj1qP#by2o5Ay@pz7 z;4%YRSoT2SyXFn}i>>Wl48aQvcFFMYfa~9?au(|iMOt`g)K%RrRRYR@`W_eMi2B{| zznEGGr^eVK!@+hm6lJ5#7QPm8$8hrq_hJbLUEc|h8@kteW2^0?9d18xAb3jf#b5}S zb8Q>J6z4Pm4&S3(G3qEwI$>z^9Z_dF1>U_L`cvQjI#?Ie3d!qSbN)cAh-tPQ!n#S@`+$7yLzcxq?vj$`yCH>tBp1kk<2YPDPu^mV= z#)^i$G;uDHX_>Y=XL;@P*$Wphzj^JtAgY=bnA& zc=x@Z{Y?1v7B-N~ohQx0^&teWM6Z;*0=&Kn@OlaqbpS7Z>EZR_YKiU`2xfT?15u%B zJ#RM}`ZLpnm?c_+uDpg_3W-=}XbIqZL7U`!d$^uRCbpURIOjU5bL~lRk@F?#y07B8 zqOaXoo4&M$gZtoGKfmw4cnZb1U)R-JI03m0+GWV^nj)IvYTKqrc~8zRXkN?#@%%p| zH5sFrb`9%gr#KNBV}uSUS!-n#Mz2LxuviL%A*0DjGuimL^t@Z#L#MlWXSrZckB<)a zQ~#6icLR?l8aD7K z-hAtbWB(F|hF-}pDQm)XENs`UAhwi^l51(w$yvQB9FB!GsIIOqKK_?#%F>F2nNMsn zju1t*<`g$4*Pjg88n!4|$Pc8$a^Qy_z`#<0dqVJ#;e}nOl7gdYG}rEs8(L*xR`ZE>JMSv+}(OR1sT!1NT z))-fWD|B|}5#Pg^B|0f~u9wqJj_a))vGj^6C~k;u-LNO`s>p?DA%J=K(uy%MC{>!R zf!Ha-u#_K*6^X;n(qv6Wz+iF8*Ke`PBLOd%M0~1-P*t-xS69s^=OFWRZnG2yQ2oM{ zbmWkKy_ziRA*4yVLk}XEhjClLwsw`}RHm{JuMPKD_gR5wB!i{}Z@Z ztU`ukxsw`@6@iWX+?MrP4CozOa|EOEG|CB&>#N;Fg^1^K*}Xh6f#hUS0)ZORlsl|B zIn!E>f3UUHVTi^NRiJ?M>N;EnVrb5tgY9%5QgxO-s2(49yM5pHqYs zLIG3Of{aMr_~--2(e{QF3YSQL2Q>2d=5&j1E(#x&M#P4rdl{apS{r!3ceu{oX6}{9 z+46A<{b9>56ny`qdD;l@U@2Mb=(Kq)bA#Xj-D!H&f{xDg^Z`q_t{-t67Jg`Nm2Q9# zmIE(z29QzahmGT9EXcTqhZ<=o#eyBs3T@;j^t;q9!xW_0` zhqZF{Cv!IGz|3RLROQoX zM!gmVh+c|ml+Qk(I)F}uz$Ve)t6t44sL{) z=ia^FK{gN&t^4?IKD`GHRuQq#!oDmS0ZXg}Wa1uGrh%_-R(>`9!V&19P4ar&W4+= zmPocir&XWX$i>y0^Rzxnm0+=ow@WN&!DKk6hrK1LdlsXd2-C0da#K!Z{$i$Xu*SqT zTKp8{G95)Z*It=36|nEAP{n${+cgYLAf^o~^QJ)-je&?H9qGfLsLdy`p0G{*Ac29)j-a@soIQsD6KtRyUPR$YfVP#B&?it|;}$k9 zE?Jio{poIX7o9Emeu|MpDzy*a-G$nVFz1Vsz3eYl;HOI{rd6(0___<=xAYP}DZU&& zuOi$9G3zewdE=tewcY?hd*S@qGbdM<=Pi9QJgh3Ky2m6a-52%$8)3h(iD`-VW~T`u z(YlhvddxE^_SCrx7cUXq-h4-$y6n@v$(UDvtrGsS0Bzri-YsL6t$Tat4eDS;&;IIH zYSOuN>z2P=1)_vb;pomT>Ii=Ev-fVkO>leqByIRugG$&2@j!B?3))I6P>B0|Ur{)O z!JhIbiuo~ID_L1zlC;8D3durr9caK8we4$9t}5gBl`$o~mdZF{uCR3)+kU;?Ys=uR z`>3>qm>>XL6Am$X3yc`TJ}|!EF`V%zZfd9U!Di+c1=YE<&aoX}TEX!n(80t*Pmhj{ z6Z@$7i49*kVStwg1xiX5`cpSm&ZEbio2}xy4ffX|lOEu3cEil%*a+o8;EUZrDXf~V zze+loJdAv$xV3!81D#-EdV7-nwVMaWOuKJ;B*#K}gx3^M+$HJpDB}&s$4AvyNx1D@H7pOFdy}za-W*4s7e_ zvXWYkK;aeb-Dw>vmJgID!w3A38?Lb_3@FSPsgCHTpRlUo@OJyj%{021-3`b#4)Ary z6w4}*sKIeQy?5Z~H;Ua%obORnO;(}f^>s+i+9KJ5RbZlK%(Xw0YnRJ}v=FVb;NfH; z;UQ_t)c9_`Muag**_gQ=ZlapKV`Dg0#lsscHf)lV6z{+JXwJ>=UPv^&(~{i{^ub+W zqQG>N*V*XKTb z9+oZ|xSKZ-JbqaUE#@ShOVUnedX8lY#&U!Q9#F?3Th9k`YU?G^K3YKRaaI(@R<2!+j z%RJN|51Out9@AG+Qt#XU1ZfpOS-c&mEe)LdayH@4TZ*LRns8Fx5(DfOc9~E=v!-_|l91V9oCi9+121 zlTZDCU%DN_&^n2_#Eo<@C1BoDy-VDRk~bJ*kCv5 zfYYthBk;BBE5$D32RABufNUJ$S}6{`4ZS6Z#?6;v50}Yg>mnN>;k%fb5`z*=KMY!y z0@7gyh*`R`?o6M1+!iGkOPCa2-u)5t_|7dvi^ZrXLRp-|vB)Vd3YT3KRe%@^xHCIp zRXR^I*Bck#P!a*~r@NR6XtWZlRsd6fxt!LlEBeE&}vQjNGTv_wu>at?9uFiLrrj9W~}I^ zRq6)2dE>3<`gagGaFZsj_kJ3_z5Cv~plkVYGr_FjWPkPR%=@LcZXx0(b9*PMW&>1x z=f?G`m){5vRr=O&i@K>|kXf6lLK>6L6020)x7)fORVJ~HABbWDC<9iF`hUpRUvl0N z3!NBbau|$SWEyl1VuN?Mu#kSdLpw-&GA(Lq(9t>tHi*0I*L8L5J#b$ZBTVaWzE;se znnE?D;;YybX)lF=5yihwDkEuPVrmxQY?{4d<@7WEIL)M%QA@^96!_rq;K1<6*m|%E zIRn7J=|ua>syFo&tVgs0VC)9b$pq4cIZ+54g^iC6(yxZl8=T|V0}$tTD$H3!4PL%7 zB)jfP;x%SSKa#ZUaf}yM1PG0k3L_Jc8>t>8h8Jx_A;b}t*!Z$ay;g_IX}B`MjQz>2%rqh$eSdv_5ZFb2`gpWH$4Z+B`9Tpb@zs@ zPD@&WRLZp$wfV3(Jll%2lZK4-&Lm8%vQ_B`I(F>DiQ{z&ag5?p^`TeO_{0~*TWwL# zPF1?}CMebn+XHTB6I1&j9;F^2z;{MGPHvd6IzY1MZlY+iX{w5d7N9nssI`b{9t7Oj zBhsV(zjVEKlU&!GB^c!$ydy}01V|91B#M$KsU&K)3Fn= z5iL?8LBf?yckg>?s)m0KyTVSDS5;-Re)U``5-s%k4eq+*ja4Oa}{w z1yrIk^Syh|J-=hz<4jD94f*m>_U7anachF)(^9}{&15kgrvN=j`tC&r(@WgxF=pdu zF?^-$bs>sKU)5k$vjB<+&`vm$o^6fjZq^SQLH5^tNU7hylQE zB3R5Y+;;Au7ITGc(4?XouIoX(h9k#pyeW~0;A#rP%S0lVY-DIUKNAG|sW=z?+SZ1E z07*c$zpWFH51eW?E%nNUZEm(L`yBiv2a6#8=2Jkhh|vmP|FfS7$G-MAe}iK&jiUGu zyez|Dnd5VkDU_{k9UbsoS}HOGkeIHISFUJEPY*;P=b}p39mT^ey?|kOfQon4$M&kW zld(m4u;QI2*U%|pWS(gR{0qICKyJXx&9#U0zvM34d@fB_c#u|WN~ha9CBRQIZcKh~ z{923{-9U^GgwtB_M5(XzcL_fzRx$BX;rOo8|=C$ciTR%q9&?`Onq!!vK zhNy~p?j!x0LrTOUrq(F$Ox1r9WDa=4Oz!m!f z*w<}dWiXGv92|bP&3~o%8G+4}>uce9dShP{Z70~O9A>vzxVLwUufZd!+H2~4skXza z4M3`p`-cb?d@7ooYl);)5O0VAVNL7KHePdzwgJa=aDTh}p z-}q(l_g@p$idF;Zb|_VcYs-fK8WU3HVtNiJxC7}`y#uAqFh|k+cHmIIXOSqa(%FmW zukIe+NN&g4=PpO8eR|a<(5==C)2GJpV$%Jcp!5wzfUtDLr*AM+Gw=J~SPIw4kY5|t zaP4x(MrAF#rRtlK1Y7yDLpZyUyB);=M)rv;BT5`9Ej;c;Nl~h-7w^hE*-J5eMYk>N z=;`qUvG-2G(IJTdVgSIl(M3NzXij$;=}3LKQ$GZytO&dehAoHj_iQniY*#^hRhJ+)y^SDZ0t z&H2g;4!Q1-HWn$c3Xd|^s!>W1TuogwSF8Am!&JSJe}&|grLiPe33jhse%m2dd*u*_ z)+0z3&9d3~0i4xME5Drnedz$>$Vw76Dyu6588+7Zr^AZ!>@s2EX zXF2?e{wxPz5&qhwm;rLJ_F?UV2Y27Qb3c7=FH*EvF8kq!AAkHYx(+@;$?W0JKK<;o zPd{}ZpMLW3M<0IhP$>4wrSoSth@fX+jo~^py;~9j`Cmnymve)5XlL{uyQjix(a~@u z7(N0&9S5URk-|Vt$h@wZtOfNn3H!&{Ig4Nd&D3%2cjb7Pa@XV*9;mP-{PwrM3x8XK zeAwTa_|p)XNw}ZO`;kCDb3aCKq&Blhe5fZ@skK$DE=yb)HAbETe?MWytK3sckL~Ah zevV}-eBGgl!k3%bZz1Imm(cW#3bB;1vgk{|z0My=h7ijx2TR|Nnm53zkNOf(#)PPk zM8Y6tD|=TY=6XT#UzH-!&|uVf(bvm!AgvSht}AOFI8}zMp3%u?i zcd%FmE@Ne@I{~py6=JT_cKw;PmCYtqKVDZUD?jjw2(kX(@$Ua71Ga|uy6yiqw~_9G z#z?-7px{l`vWG;rAq?L;f_B^XoMKer(@AmVp+Mj5JUKo>FS_J$NFPuYPz`8kw`gp` zsAgE998~z#@R^&*ty78)64Z0x)LpEVQ!|;_VE&akNltlqndKI!!wo?`VyCtI#0#N%Y9)BWhmrA@Xf zhsek}IjMVW@9v(0pW_t0N&rrdKh*TOE9>AwD7y@iCG^5{tTE4sa5NUvG?IobAXNO$ zB%a0JaBw!|I}DPviu33d$VJv^a}`;Wc`@rp^O2LE4FTlj^NNP`zw1VQawQCphc+{e zq!(0eI|Z)lS^z~9iHv#}6=r&py%i-}e#RFZ;oRFBseSv{#!SQtqW7E3h4Xp&Owr&I z)!8K}TLD2Uo`uObbyJ?prZhWb5HmCcQ+jSBIcCOdCX``q+%6G7IG`-mh578>onMjhf-gN-IOgArUTtCMDFIlZ!NIr@Hxn(bW59TFQ<5<|T~4H zBavyVaG3Nv9sU+>?`T(@NZj+`?wV{pb;4oLgI&lpAsk;NW{KG%|{V$Q9^~+zr z;ciOv<`WdTLKuKBJONc|?JysDqSvd53n0-qX;t9VusBP7 zQ}+qmNQfGMn6l}ow264DUN*~iE+~RXrkbuDRQ&Vtq@(XDB)h{xoeGxv&A>s*$rbYY zl`yBVF-)bLZ*Gz&w{VPaTvi&J?{1ppAk|< zrevg1KuBOCB`efj+R<$+M?f7X)nUPMa>XqFv7FUwEK~BGj8Pcz*|WZf2*Ov^ZxN@e zOqN4^Le}7F-4%`b&9#Q>@4S1RbZT&|;;Ox}4TdlJv)CVRE?2l8UkAT>`OJp4IB1HVf*aR? zP1mW-k#lKmEI+<|EQcRGgWCMy#XRG!>6w4Ud>6Q4u%4tEC*kVN;WMMH?&A?TLzd=_q#V`Pd}0 zW@mLEpN7U_Wi^V&#FZ4xA3;dw1bmR=bUpAYW!%!lR;?{%IE`rp3oV6-P0D#oDZJPXlCd1v=--A=K zLvnC{WHZr-i+V{_R<)5^gKG<`I+|peG?_t^kUXL~wnSP!cX1TGrLE`=zu1KM_h$uLyL)M6p`ZaGLWeiL&%=l+Li=gjnt;|-^{}g(dmo8-DY9ol z3MbiPSt|u>&S8KZM6Cq0vIvHYPx)wCMh3zl0?^7H2yA-!_*RzM`Zm+{G!oD|I?}Op zydsfH)~DpoPMKuGBdi+KSg~yTR2kda0v{IOCBbToX|6ui+}sSONYMTbkUA%iAzl*6 z=Wnv&M@0qbDtOI({9k|l*MAMXYF>X5QLk?t1<8XZ1eE(|FcM@sZTBA(3NjA4mvF!@ zG=1KeBP@!ePMT9y%N8Z2cw%sEI%_DyFkM?H)+GOv4Nazw7WuADo8LupkRJ{OgURT( z#k~M+r~}}kxLfU=4hB6&mMbIrhTe}@%zd+N;n|UlLa~VHKv^G@or@8=R?(b3(umAi z#$+2XS|@iDWVWPzP$f25ldJBe7`cgqccnSo!WPNyME97|b|0^b!Ud3owzs0k6dvo= zfsnLOH(xu-ASxlu``?RRqQm|>-i>g76%hd3!@dSy#6GAg6fz(fkNGD?Jd^Q=T4Qzb ztGK#L)|YJ>2U#&24Tg7OTOQl2_?p0CR6EUMmzl1{mX7MGY8nsbt8vCR3sr6r4HtJ% zBA|mL%bM+Mt>znMs=|TZ!#q|_Y?^y9z9HAwDP)Lm(RS|d((~`>S0605955-S^aRf( zxEB$Y28GTvJls-lnMc5t;j)-KrQEL#9=FQD8O$~M&Kn8^lB;&@puWsU9?nU%pgc8Z zD`#!eL94C4%~bgTCSF5Lf0x5xNt+3hp-I>HD1if!T~+j|kgIBB<1yRO$iWDIgdHaS zq>Qfad=&3!gK_f2X1>QU%N%C&MlGmS)Y?6Z)GQtoPZ6=kCH)BKAS9#Ujz&-~FpfPc z$@Kh)>HA&}8v?pWHYoQ)`Kp~>@2ruAyEaHY@uDI{1_6C%& z?M&ld%jeVG)%dK*Z&9mdWUr~mLZB3{T5T$3?CV@onZ;KsN|`H_?xxhfPg2JIDyFUd z9;vPQS!LhD?ah@Mcz|82n4nP{pg?MGR1bTeC;N|mZBTA*N@*w51U{n)`y$4ijhd<< zwFuQit7}L{LZ6b)l|6qhIBza&A%4B6EK_r(%0XB2c5r!%57Q!zY8_-X*J>S7SI&+(O)-}c@w_v?9zxYtRqEUH0{$x+}{J&nQ%v%8^S?ncGfMO2LWkRoO| zL*9!&JAd)=)oaoQNCfa80EOy6>ihP7{XOB+2bqWU52$m!e=mL4+^fHTUnR2UgC?@8 zpM3H$xYduJ6rXwzjRZigr`J{%ae4%Cog1zg35Of$FVs<~zsg;GK`AI(IKaIoz>YL2 z99#Lk!_RRAXVrjF+S>pLgbJJ zXjS|(8?b#PWHBlYE>+_X3`lGD+N*p|r$IZhWgH~nr1Bc<*xpf}7p@dX(sNT2!KCL^ z=jhjZF3Q@LUVL4+bz^PSee(-aF3ipav)h@^{iw9u%tpBN|8=Yd?o$X58i9&li4r6gtI z&b!HyDVw3Ko01fSf!i_TFl)tBIJs9Wsi#YY;HTX=#LgZjof`3}gr)AMVR2U@$oT+a z`_oOaHPZ&W2?{8k!>|}LUTP{SxDr6;h3AhN#R0iqsKG2090tP_a(sMB4iF_htot3$ zE>~kw3+9pwWb-{;o8qhcWRSd4eSBKsD0mZ>IEC}UbVHGwkC}K zTUt?A*={;^x3fOBt)=?T_fEKyPykHh*$IiU1tRfn0-dI~s-2F_t?l84+QFiwVZzR)%2 zWuvIbz}3X-RsB_7+o>6x3XTh=>$}*DGd}blTrRO3NLKQxBBI$xz>z=x$i()Own7X6 zt?ncMxvd(zA4Zytm|?cf(wxWtDb_*e~0Lm@B+uEUL_k9Kwfuw`=nQo$e-;n z`jIGeDigU3yCuwIi5W$I?rJxsZL+5@tN?=4x_F*ib@`RpbL)4EIPseJQqGwYTZVLmAT?g`zIsuz@KsKn0+V3*E zeL1zfSe%=80b zX1X#p+b?2uLb9RBzUUz<6~pPQ=dU}veETle3iU(a{?1gnZ`^d%P$poy8a3_cqIk&k zJn7d6nZ$fGy1J0dL6NUVzivWHDQsg8BP4J`ZJ(W`I~b4^jEI@|G3`j8OlIc*4W>B$ zoPm_fHy!x6fj-Sj$mHp!FAp+4tO^wgQ@f}R@QNCs;e{o;@|bs2E9p}4$Uw2?Tn(Cr zE}&1tTx_^>@oiNWn78evJr0mESBt?~SH#VltEnsIa@E_HE(Vvr1<-r(oUfNVk03aj zye?h5aGtUDm?2Blw&0$I9X~+n?QF#BErQ8Aea8LsAc4(=7tfzV`w^pz)*--IKYjMX zC3GijN?adc?hgVr`>^7HxnJ}CgZF_|gNKcqyzFgrC*_dr&im|*1^Y_=_2ZB2M^8Hp z`_TQhJGXD$c<1Wni|0?MsT2fF0!11ECn)~UtC3x%Nh!>YFIgJ=4x;l8fTQu@QzU)Dn`h1 z;w>@LFY$OWsiI>x6^wg~>&ZOmk!R;M=2{3B?ecCeZ6ecHb>RMLII+iHs$PK3bM1gB z?ut+>OwJ|3TigF91oK0Y;bC-)2Y{gwZ*5bmGr+Mw1ku(vt;V|Mrt7_#I(qIRc#HE=k1Jw3A^riW{c zSo#&x;L8f~G7BjOV;g5T`#r+(YMe;SRD)L}&&`GNhlpQ^aL2~f+tXWcCxpNxW3l#j z0M{C9U@f+_p-uJY&8LFq8UWAsu%q6Wf+Z}0Y>=vOOaHc%sv%TTz}t)I=aGgkKpszf zV@HR;EMW0t4!L&36Y&lf%AP#Il=BnEkD0fsv02(T{_OSFA!_|AsRJB-C3-#XGX&sg z(!XWH90ja-ic$+4K}*>UPzmT|yX*3K&aqAUhoKaKVCW4UmvmZn`j(xH7)_rmq%e97 zw{y=UAsBGj4=;Orz2}oRqDQdZT_*RZL~?E;+?*0n7eK~KoFr!iG4~{rN{&~hI>UIF zHkqc@)&vJ=tMTlmz_qes?}Py_d&!>}f^C9A$unh{Md*=h58D6xs=tVKDm+?7vc zhGSzozt5L7319No!vi$<99G!8Udr75f(tAA!@lF5s1N(t zgsyxUd8rq={XAuWOIMLGLQOuCOT}Q74keCO19S%C0IpH=Tg8l-ewuDcQZ*8pORODb zwwPHnQ#A`K+hlj*Itv~&GWOmN{2_HXwJP@ z)3KaJ18Nv_$IQg8X@n5@oB+zDPNT1-a$`NamV$4R=#_FDcFCH#CNFh>#35XH?h(4B zLz#jdKv$kBMVdOy8h~&mWm>P;zs^*uukmym>DWEuaq-s-HNONmzGt=u%oCuD8i>0wgkN(3OoQoj$!=u+$cLTH0nrA_G z-8g&)V<43I9Hkc_19_QR8sCK3+p9iz9Jg?PMF5tC4}HEX!gN1Q`9GV%H;)sjku4N# zcatWhq9LdYtzrCIP;M*@aLn(%)OLL<-<9QDE9$eu(Hd&j$bMyfk)g7(jM){StIusT z8HsKgHuAVgd1j;G`-n2i+)Wo&x%<#$Dq)@2>%UJ3bqSt%dNhS<+(xFahN#4rUuG>I z_2E>>5W-5H!-|op4V`QUfAc3(+(4;7Q%<}bRx|uOC<#UzDb{yjvwN0{6(pPGdlx5m!_WW*03oeM6RoU@{i{{cc z{FY9x%RssIN+ZE82-r*JA|$gH{>{Zp7tf=QlRj>6yedt;2#CundAMTSnQsYWZKb=q zJA6@R)CG7SS3IP3|B8Kk3tEu?a;R_#p2>C0d1fXT_-o5?a%^UAryYlvh zvkvJjAeMv~E1^TOLBAcSaxZk)Q&&)wu_>lY^;BNFGqM@3!oCg$-X~}Ij0Z_EC)6qB z<6r?<-Q^J$57N1XQl_Gkm)tI`!c=A=cbU$A18}t2|EFd>Cc*mI=jN`_$yP0_u0B_0 zY-+}5|GE`O@zX12?GK_v6oSw>MrBS27t&j%swn7Fnd<;y;RG?zIDk?m7V8F51US!| zsofYEX!gF~1+a@|sd|wkr>{9o3mf^AH-Z5PkI|&~2-bR4&^GJ|<^DcSHjx)-2evEW zRlNqIXhMEQEnIG;=BNP+JpeY9#>31sw?hqB$GMV+<8_+tjaz0iR!+~@xr6hbOju@M z2PPAXGYF7Xa+BM7l2c~VAwdTY8!4$JyB-1B|1Vzg-vHVQhcp^8S>;@1ZDu#YtDio0 z@qNqL&L8ExkvXs_d0jx~wNf=HjK!thSXo2-_MGc<3*=$p**?v2dKopy{k`9NGFk6e zCo+B9_>fC8UQ3C^czU8%!U8i<1!O<@=PCf;tLNTkUZ=`N{GT})o~nl{3UqkTQ3Dj_HpUu~jMh{or83C+Px+j-18?D3y8c+e!6 zwm7ZMGLCe_}M(W0T?O`+VDc5(BdJ1NNP z%rP+QtFh@CTCgdr&_ix854phiR1d|thk&+z0L3o8H(g45Q1p2i!31n&TgldB{h^7w zS6{#BZS08*T*YwUPmBG1-ReJLS~@kw$y7qJdnjTQ_LflOTO0!Jc*i3j7iAL29SW

    %58@)??w*L?*W2U3H*>8xVU9O~zkTb?qwYWR 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

    50nL5SrMhiQkSFA&NST_f| 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�--W}qzw$s7!Ekj>~;coxeI4e_9D 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 z

      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

      FGRMT@0=`!k{uvxZ7> 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%0Da(U5gN21E7AB)9f|174roiY$+Q7Q%T%WROuUw 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 z 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
      f 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 literal 0 HcmV?d00001 diff --git a/_Pre_Builds/_Wheels_win_py310_cu121/nvdiffrast-0.3.1-py3-none-any.whl b/_Pre_Builds/_Wheels_win_py310_cu121/nvdiffrast-0.3.1-py3-none-any.whl new file mode 100644 index 0000000000000000000000000000000000000000..3d5f8ee34c7586aeb6ad31d9bd1e01e1b0ef7277 GIT binary patch literal 141467 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

      {1|AOt*E9VM9#i$~>!p-PiM6v|eY9+M(* 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∈f{=>1`v>A2r`qmH|@ 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

      %e$t*!A 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

      2A=gZX)Zo5LFpR)$>0nK@g677z7%rv9jrpKIk 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

      SdCg7-hMW$XYwmzc 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�}g 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

      nzFTM|s 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

      ~wLr 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%0Df8mtl2pYmrMIUnD^b9v=Lpzo7%owfFa`C|K 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 z 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 $B|3cZwvGkc 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 z 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

      6q)k41_N^QE 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≧A)vEKjKvH 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 bI#_a2pr7s-0083W>*O;n;`j8ap8@_Kz{=Xq literal 0 HcmV?d00001 diff --git a/_Pre_Builds/_Wheels_win_py310_cu121/pytorch3d-0.7.6-cp310-cp310-win_amd64.whl b/_Pre_Builds/_Wheels_win_py310_cu121/pytorch3d-0.7.6-cp310-cp310-win_amd64.whl new file mode 100644 index 0000000000000000000000000000000000000000..ddc8e2f09412483bb2cff3bd0eef3a1564d4edf2 GIT binary patch literal 5466723 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Ξ)7@GRxnofTVKABFq~yNr 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

    Z^L6KbQb5W%G^*0gu5vI{maJp(^G!G?ft~~;N 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�S-qlwn*MRt+AeQ zHO-U%Km+549l)?3sz^c_RaR9jx`Y{pG=Z6@H6F4FpPeyCCLJndjtKCrIl_|m4JiQS zbdCSh&zkhgm%5P1L!}V4s_61kNm#%Jfrl@TB0YZcdgwjH~qnT~%1(rY%hY-73A;Qf}OCH9NtT z;*wOIUtwDpZyRxXPO)asv+imE{?OjDtIZN4=3DeRDeG2B7Bk(wDVpE%1>tBr=zqHG zWfriIi~sifH>Q8;y&L|+wm&*}2K`w+{yBa3KP9-4AbmA_raR~bEAStRPnA2l4&oqq*g#n$Tf)=kwV7W`y{%1 z=1=u01G0hDLRG|N$P*90O{*U_G2($pNuKTN?)Xn z5h!9`CG$zY6HzTfxi=+T=vU(2u59HF;Jn=z$XC9=^Yl5F3_eS8YE^t-@CA&{Egh#x zyz}T_z|5ewb3L0dIhW=M^qtz1kN)_7CqS6p`v;pgFyp4g>V5RXh2IXeI_M>^>e)d2 zsSj)^m-)sIa|T#o6U{t9YjF(H`dX?Wn&SfGLSfhQYhl{T5euwDs`vS|mUrtL>pF~a!4A5IZ*2HZ7bn^$HsM{`8~6#Ybi|it)KMeuj(Mx>fZBeKDjFcRXq?x9@xI^gZ>u@E3!L6Y%tlx z`7JO;^j=JRF&LOU_=ApXdloKhVL0Cr5fd%wlKQIzblz{8Imt7UN=p}7k8d50TgR^Vx z(tE*ZH~w%lPUMbd%r1&0DX!l7h43`wZ|zQOq4f)!4ep@T;*9bIH;EyVi!!}lJGwvW zn9xWCb2Gx4A|^1PioeIkn=&3`D&2hmpcP1tkO#EfdoiaD&`sypHVwW8r}?+G6E1L znp3OP=DwNPi{{5z0Hxfi*xM;AOg*LM_%Ad$@qTp?&`)R<5)5G5v$yEPTgVU4g(yUG*JhrTb38z zup}=ARIbK2`~ApfdPG+zztE1?M4+}sK_E+9Y~4GRtn@}bW`cpX=U%mqqnFM^rr6N0 zD5rJ_@LYWK+~Prs3Nvk)B)?BnS()R1ms0{U(?wRITU#vrsOTSJ5uT&?kH64{!eq=- z*46_bY5pFp=mvLVM|TDCK0lhp`zdGDW2W1!{0=I(UDK-Q2l?+TuDnbeB#@-HG?N15 zQw~SdhvEYkHXz^KLwG|%l>Ot3CL}!;N?YkrK-#>Q0BcXwp})hsx7L{=Moep}aycU{AW z@>kk$!t@8jg#0@+oK9*I$EuVuN@@06-{@K@F%X1@}k4U zOGyHK;_KIcWHA6+R&&kUMUC#f+Ep7uVW`#o-a$Y7Q6PVye1!o6bpSU|DE=UzlVUz9@2$X=JR_hJpY^R- z{OzxZ(?kAf8L3}P`{Z9O{L;Te5asxt@1<-GwI$E7oK2JzH$N79cSX+f1Sd&~AMxHv z%N{CxXB<(LzC-z4$gj@Yo`}9~#(Pa8j`D}x*?)&*8!w1|Arc4Vy1CiB{2lReN9dGj z!PY8fBP!<1IEAAHI*bzADfZcaHvoR7W~VW7CULa*$MCJ*cY|FigPQu~h87S@=}6H4 z=d)(YvLUKVJ&}0``69M(FR(z`n4xY%VU^%E9B~`Dc?uZkkHkRw{j1urXT_&i0F(eqgXM`@3%JG3>ch#H{+A z^|<-Pcg@@&q6RQ(`(pjB-(!nrk1o#J$6DWgyMa5*{E}oxUlbCiS+=OGdX`+Nue0ye zHuW$T?xmvGYWwW90_)WW(qAQ6eJj|>;7PQ5u5tRUnF)sJm@0yxu)$Jg$XVh3w*7tmb4hQ>SYl6FKW z!r0$jqp>6?Z{AKfg;MMwnJ7=4VqnhNu79%cFHb=!2%!#JLoucr-$6kWh|V!3NzdDL z7XR`lS}dG7O1fG*y~mPq z-b9sjVZnyI0qp&I(~Zp%S0eQZWY1-~5QpeeHXGno$cWEuo?*g1MS|O{jx^q5=;-2I zYi`fcw3I2awsCw=+0(;)#_{S6SU@x7({kn`S(d-lEGNU9r&D3B=_$@w^4Co_^Cp{inqLLXp_4cMG;%wJQVMDQr?MUKyG(NuL~N-ZPsK*0=adN)~eZ251c+)(c=PVct`X>1l_{(?|IeH7IvmY+I;Nq<7iE>6pqa8H< z4XFVaEeE4=&-h-udW;yOGPFkdvKh=0onCsGMpB6)i{A&!eq zh*x_)B^U3JmEbCf2%-C)zN2b{Q81E32MuK+^prRP7E2e08|BFx^6ubK6 zmDDm1@y^4-F4VXjTQe^1&9nKkE$sk^GCa}KC_~1x3$P^NnIFu5Oi;|op!JpS09?Sr zAdWg#9{eXQbol4`$qP~ypW3eccO%4Rza2i;B>}0=XbOG&WlnK1T`2!TZA6mnhBLGK zwrIL%rTzadmj+<``lE)(kNil0S~-wd=F~@(U;l3)Pxxv;;B@S)Sb6s=c7F0BYlwLU z=taHkAs;J2oOyFjm0(o{u|pW^sf^~g zZ$#<#_isl3*wbHss6kh{mt_CKy+Aal`3MvA(}KHK6Yp~OlKe||F4Z-A!gLDS zZHY>3LQSCpQ`H%2?Gk#3IM=P*ZT@OaN}Qsi;JI;d!ZC;clj17#8ry-VdjT{RLhS#; ziBlAQ_qHM_v`Y{pQ>Kt@BFKR=KT;TjVp}*z<+4@ooFM+WgA)8Cj-bS0JHov&9lxHN zbZh9MmW-H}pYU1Xf?$q1@7X0x$acqnybdeg$EI6D-(iQ!aw=JJdTo=SBS6TwoG^-O zFNePd<1os%WtwR#>djwhJw3zIE=SKuiIjv1io+TrL+hZ5I4+lXz&@XI!GKi4wZAd7 z6w3ki5UcE^`Z%|Qd;Wll#|#6RtTXi&fjXE(xJHwp5USZ~xb(#5yd}SQjCHAL&L4%` zHPf6g9z@p!h+OzfU+r-4m<_bCm;s||yXg|hZiyZ|$$$4;=U(s{Hnazl$=aK(henN@ z@a7aj{D@YtTb!2sF2_T9W)rG>~qtH!TqF393I9;;J?#r)d_kz2nQA1IW( z{nqm?=YGM+7KHy1dF7cmjym5cHz@mqiL1vb(xBjF+1}UUUi6xI>IVY5JESf?A1M0M;pToZ-qu(= zG&1@DGKCw@R3Jp7EFD^lKV~+^SdWlG2`15+W}P9tAV(wk8ULj%1k8T@6R{rRZC@_V z{jg=AQa?Z&5txrryzV-fs=u_m9Fv1Cu4Ms+{(P^2?(^txvm=-LW)UOS>)gRp2dju(O`h&)Y z;7Gb;7~(5`AzOX{`aC=yD%jkO#=q~#d^;lr5u~dgqbPZ z5%Tub@dHTLjO#Cxb9Zh-^^YhLNY+OA7Z-1K8^Z+j+X;HAgGDbfqFr`nw&1ZeY_AtY z_tK>v!J(1<)RyuAFjjNoJ>N)I7AqN5-8$Ctsq#W;zOMiY6?x+Z7GJ|X>W8}`vr^8w zjr`io^pE8Omy%2i1x^CGt#g0u-g<7Blp|bwAm}x|vj>M#?5kL#qku5@{Kpob43dL= z6f#~B)u>h!m8=n=Y;m5<1%X~-am-&a?c-+O+gjPrtJl4&I#W_cE7I+b(#-7ldpitu zFe|3bf+A*?OOvj@3*z_eVvzWHkT6izxlA_qWpyGBP?cAoOJ2`cC)uq3@ znnWjOG$F=D7D#`6XK#(23J)13aE{F>ZX4CoTSG$6&6K1OF)0)yuEBXl|SWfze$_(4}gVTViq`!n-~Kv@hpkHe3yOpR-_>s<#E{(iHhjU4VlOF(tLH%a*xuXMy)G&K zwv?N>FV}!Bl{O0%ZtPA@nv+klo5H;^Bxal^iOzS`DZcYl$1*GvWbBw4dUow0wA$a> zJrLW8MpP2nc?C;!KC*|`A{>V32gM(}GA#tnS_Q=8kY+JfP>8;bG`PC6*F)x7__uxE zbGJBOWt7PHO~NA6lUit)`V@u&P)#A(Ks@E$-5BK-AT;Yc&7*Biif3|(es}?B;M0Yy zDjT5b&}ONsxLOuThXa02I0=p(#=V zo(<5j4d7-o_`0dH@boq8QRki1_*qeO^8|5ULsyQ;NqOba9ogu@6S5LN!%Tx;MrzC> z|6l0Ahq9(_BqoOs(Oxfqcp1LByctHE7|g;#HZ&c<<{EP{i8;+;uS>x*%K^U{)V((i zen6aW!gx)$IDz((UHnT2EZUlHV3;G#+a*@=BV02z{EO4)e^O&K^^gpG$*Lj?1lw07 zPl%X58xZYWhKv8})7t+++v9;|kIr|#>SP(vYz*W`*EzsJ*mpJB1-sr?RwM;CP{ERok3pd;*; zEEfGghNv{gits7aPUF-_Ufzd(io;tQc)!;B<~qmMT)Z<##o2nrXmT$6ff}&r>Rz)G zIzb-Tp3waRE6n;jw1#1}H0<%uU_)db@k*WKSV=J>bEVgo%lW-1 zElY@3BPYRVXqYz(ubFLsMepU`M@21Kkvwk=7`uhDB4Wi;jb;N`=cH|0r#e)3*u;1IVf$b(MSUb zlw<>%U+)3On*Gwbgm-~FBxDHG83Al)oWW-(VJrzn{KTrWYclCfY^jcK-w9%-@7lFA zb3+!7@jt5w5hqr-7Iq0glT75Cz|G@ik>qOkewC!^<8t`8MhLq_<-h_lm%^$gh8_d3 zXP>a;JKK`nAb&rDpp2lbTBTN@Tc{UWvg1lEeX+vD@OMi)j-;#<7Xm%bCl5diB;%I` z%!WhJ1$PlYIiOdCK)(d;0Kj z$$ZeCr)GOX9taYC3(3Av6k-1q>&TN|%;Td7#$YWtBJt%rt$U>757x^rI_(%_yI(v` zXJ?i211+fKA7p-=A&m5eYX;y9(H$Ywr4q--WwfDAA$h*}#pCHJbB$IgmUy54g>5im z4>cbXO!)3Ix#t^YLEn)yPUQ1`H8%O)3yVJgbaTFfm{}xb)5fdAvd-z;H>+jnIy2dW zuumW_FV}YU?(9ZZo`WGf{-1+Pn)7CM83&mgXi6tlk(j*5_{ z!4g%xI+->FvD;w$_$g=sJTZ7OH17jV#j`B&Mi{z)+mGcDT)IIso(tJ2YT9%Mb?}(* z+_Od4C=I66<^@nR`FVH=5)(Qe9+JS6$q9@b|?%>=*XM zJ(97SWc)d~X&h9x*AM3u6Yof~S-vRxu{ZdIjAA~tfKeDQ*P2a+|EQyKYOH*=A|cAX zA|U#YlOXk`nO?!>(KQxAMn+C53aE3i2fu4{Y3@S-Cvjz~nDJNa?DASBPe+%1tWCb# znx)GV5ajLvsy0Cec+{RF6EV(kmPA_EnV%-qQfu;6|sk-N}` z2W@xotUi~#uOvbp`>%e(^W_!Zj+*6D277d0idgLH4}P(wJ7@$S!i1%H>h!H zT8qtio6YOk=EG=WSzg6wP6r|uH)^FQKbzfe$Xi?6RXuP*JiMw^*J-aKBF&3I{0#nV?Q>z`qFGyr54O z=+ZSr4UZF^=QgYhq>~aFSb~jgY#C9ubUZr|jR#Nq_&-voZoQ6Q*s6gp3J-9^+1i2E zb2_@}ua@W{1ZCqOuNV8&C3qQ~x&iXa{*yWZ%2?L^pwbF-nbzSbftMK^^*|TrM~<9! ziTXNL@p`rwrLw^Gk{g~Jl)Ka=&4xLO+!p^~&IA8e!m*qoe~*8s?DfEF-n!Q4c9FB- zyJR8#x3Bv_wu6a}0$_$)#!JU;g(t;5u&5!C;$E5V_jsnx0n%Fy_IEsr2W7hW?x}OC zZpRckrT+b#W&SQd$Ff`C{x8cDQPI zQCTq~#FmjpRcVprRQSY|R8z^NQ{wU!{og^$boX?ivbF~4!g7RTv4h$3p_u2^($o|q zK|3(PP+A~ovCe~Tx_l)u_ScGyqEl6nI3~kg=`)(QB z*!`2pwBCv~xi;hDEAk!)PRqC%(*0iL=mw0wm{-@MK3b5gOl&ygbs2ina)V@^fD_Se z9EW=vaTgPf{Ry?UpAh980DQ4%k4IC-JAAbgp9#aLyUh&I_zi;0JDP|j5E6gT& zBXtvqj!GSRdK12z=4s&U+0k$D`Q_i!ZpAi3pcD2&xg;T+e-YkiXZ?Ek?_Irs73xW> z%6qGv1QnCwGI{(L1b-na-IK5W(F`@ea}tuYKQiqQB_$j*eRwSm;^g|FqPme2^jU%} z;`a*78k~zDEa)q~6-|Y#&k;VSg-w}jU;1R|z2Y)@TJPJFcEl>EVe$GbOxXI9~9(+GZN1Y)PdLR>M@lX(I;bHw+ z1)MV8GsCg^X`Tb1CZ$(ILn)b+Xi)jnJpmKI)#?U1?_Vvh8d`DhAcrABCf7>6h-}Rt z{n|E9feR*kSv14ohI-64!F8XY)MU`?AEv|C6>ZH_Th*xw?!wb|_`ZK2f>d>ldWu$8 zJd7Xn5_FX06kABGdv_d-4*NKTjM>lZ)xR+x{Q(x|70c+C7@o@3rbnHc)n~&iG#5-iYPW2 zZGC$j5tSsmpdOAEuAFba5zXFSJezn*d)4ZW^!$Lj@a{UH9UdFX1#VYqEza0?3#K?C z*Z4ABjqQP4p956bcE(EH0S`SlI(T$xbxTLje8NWq^HLyI9FZ)O4JH;QSvA1d-mSfV z=6z)g0=!KxUKF|C??i386>`!gp0h25=LdF9--tc``EVLt@<4O)Pu`ALiEU%a@#<`8 zhameAvV3RX*>2yB@aRO&L#e3O)E&xOxb ztR`&dmZy5FjQ1rwZ1Qi}(KoB&#)5$DRql($_v$Ytqz{R7nf~NTVEEk`GMF8izhVDs zv-`5FXD4m+`$+h23k- z+=yj7b}+-TF@2M=wmBzzj0|Njn@J!1<_SUkh`{2oZE$MfD>2UCqQz!jRmsDh(vxr` zhz?OgL-q2O^x=SvSv))N^(+0LQAQxBC1QbmChqr^r=M`9rf*u`OHkywNvE<{cbHD5=R?$)GjJ?;xse)X4j(g%^rl80{0mxGC-hXu@+ zu@8|FoJla>NO;GuE0&Q5JQv^%>B}tc3lJz^+rwfL(iXq4`XPP(ll=F74B`sU&JXCN zyf0B?{<{6cyf2^9A`hC8I+~ns#~~GT+DXTwdX0%F*NCsur|vIT(p5{0dGV#(6 z$V{XKk*Fy2Tz@Hy=)r1+zr@M=-b@B@Fg)ofy5e4+;a*1mvF7y7ASWl2oMY-F?6op zPIotv=nUL&SQZ#I#WEImcd6>F68+7a(Ph-NEzBuDyI&q!@S(@AiA_po$8lP0_&SO* zmao{#%0B?+lMc)31BNCKQE5+YtrNnDnQerfR~ZwB;x>K@U%r%WD-|ESI(fq`bv}xx zm7F|L@O3v>H=)k`6CHet8;rp|i#&nZLIoI3fXoV?cWS4_KsJxyZpjL8O{%UD_?m(5 z)$6linR>S&ih503mHMc5E*sdP6luI-S0F3ZXie_x^{C4JeR#3I^p3}2F1Se?XBODX zrdH9)(2>|p9lHEYd>i`RgfVJJD0?Q3XndI6*>dJlFuPCwk6+#_+KfY^Mm5A~#g(Xa zocp-*qs@J`nvi4JYb=}E1U*KoOQzx;eYVzw?12wMu9tUrE9cS#R;C91I*R5eYoZtz zbA{bO*EO#~1LrJW8N)GMjelL%UKKZ$2jC8ulKIZn^na?}U3up(Wlb-$4wpPy{>r{3 zt1r$SNe&Pef?|DV12!{%SfGQ#Rbv+It#0k4ssKFQIRQgiq7j=Ih}F-3k0AkEIfV2V zKG?im@S*duOO2@1Pig3ZlQg)^F%aegzI;-3T+_+ie->CBPrbzr|&kGOnJk2o9k@${Rx`fZLL&wj7$wev{?Jb|;VZ}IbhN^|#P z_S{qK^8oj;kLZ!MSi#Q?chkM>e+vJ@jlk|;m1yL?1^JqNLKAY-4brFv|6QAV3MGWf z3HTcdDnR8D;vj{u=iVQc4Z*dv;$5Xj#KW^Ys!HI`SJ#$b!nm)7dy<8@LH7$>~MSzxdzem zy^0WzyiOqRDro0=tKJt>UWE*`z3%S*Rah9#9#ZXqi02+CJOdN^<+^yAIf`B_IFn~!5*DzluD>(bNzQ+;;_3SD{sD)+ z`J<@=R)P(Z?%eW_w?Tv`re-dF;d^9_Kb7cMG%G)KJX-KJD8(S(b zKU-9EG(EjmRn)E{pX4bAGxLPZADRh2rN@ew7J=SD$a$Z#TyF%94jpHv!N2Zf$e=O8 zPvmYl0>_6qTYgz`!1`F2DW%^wsZGnV_5VqSE3biYCI{s>JV_5NrSdkZS0@6*hwlka zCh?zi@Cuw*^Z!qNOii!l7b%FEbuaEf-^IZ6DWUDcPcCjYKjx7K{dIO$lL!8vyn!Uj0VU=CPgK)B!Nx%6*OtZ|1Eme`%C@UhJ zo{m1W#-B`gB!o~e99FvB%nLu+8f0n;XR=Z%r^J5vT@-QrUpu5Zo`QJs_^@_<+NiRq ztkEJt&ggd$=lnENuH9G!pV}9K>FH0dHZyyFAKIAbriqUaG2Cp34z1B$d69)Pq5qQs zmjI2S50_hwgH_2DY4!*$<`_=0zv-+Bp1@@w8+>mEjKPVV1Q8DSd4Z-`fb}8luw#iOV$5Nc zt3)EaR)0KRzNq{P10>~ZI_qPVf)iG7KHOWe~=E=r_(DkXwI`8_A}Ks|Y+q939;fCKzP0>WjPG)%>iVrZC|83yCWpzqf3uLqBYt#9orjYVgYF&S@ z?83NsC7GjYLNj(2pgn!3+jw}V+lI9$NgO*)(wEGya&VNs9y|FhLVi#p8doM=`p{dV zWvi^-h^~#g>`WI^V~N3~=~90w@5tTCck$V#Io1TvufarT(HXN1TSTdlLO86!$5yG! zB}RTpqvAfrZcn#e1-eZZTbCq=qe44I*Y;5@mF7RA@Jv=PN$Z%Lilw6s1IWlCzU8~< zz_t9(TC53G=-R#>deAD-jnTG!rOujjZPW=doEzT9TPtU{hfg}((2h05VvemvBa28` z6LCG~#!b<9&_s_dO+plqM2@XA&}PxD(F~YpK2*@gqI6Og5SyfKd{xbwJF@FSYs{>% zJecPbpmJ+ARCdf-ylJrsAysyaQe#4j{FZxchc=sezHp*(+e#V&IJW<bL;*m$^LwSZmb^JC%PO%QT9|H?3L&I$ExsGTO_B5| zxYAwu4eL6M*?oNJk1a1fU~Oev1bWhrYhOi+4bI}Aw*Fig~EpXtzC zGS3%70YyhZQEB2nHfhddTle43v^Q|b+PV%LS2fCo0(`r&jTR&}51W~&6 zvLFc@2XTdvhUma6p)PYI@_Qem;ma_5vzusE7QS}qJ{5Y(JH^pZN^?qMnxLD6vC2R` zk%f49gAgHT2_kr}9L4f*z34xk_lZcG<3rHuJ2l063wxM=~;3NW125N`dOX!3rUdS}Q2aQzrww zYAs{D?A;s4B^x4j8zQbx-@GDW&AZ-$&DSf$we9v|GI4!H6!4rQsjgvIzY zIr*kEt1-pq>p!(f!h&`J?MA{$Pkmfm6{wS3=x7)v_%2!@t3^KWOETSE zks255UU2vN6OWf&F?qt&_ea!U8Q&<^wWtxRdN&u=TM$J}n`2yT?Z%gRkffitOQvs` z_YSYYSdAvs+nH3=?X$>nj7vG^1btimsyuJkbZmzyNrCn(rI#>{8s*o6#gq9PSz&=O zIwc#IKFqgq*HTKe1VCA;Ss#Xa40@KQSC2bOivz~{ZHlz7O``zShpW4u=0P35=Mgnndz@c!7|Z_YR> zp}d6`&ztl+UTL^`R(N#f#9?k7tD@4FZu}z0HX7d?WyBm%3KVB2z4?F!oX6%aXkD3x z3zbJ^UFE^bv&b}az2111yav(7#xC@~9UVI`uZv(}*(=@^FpslsKOYm%k6^>a#1ln* z8STE;vIiLM;Q}2MZP0&43Wx)keVde3%1Ty1_;8fYRp~v0IiJDyy_U$$@K|~!{qn(L zJwJIq#=`AnKjI2`f9B>9nBc;41yJZeAACli)bNa?RpnY=D;slT5W4?s<6rd+v~ZO5 zZ2cUr+74|G1GG7d%DcK#QG%WIM*K0v>EZr|b}4T2diWB?wt&@l)A+l3N;70Kb6rdo zdSE2=RLf?F({8M@*nG@W{4?eWovAkN8PieklC(zu<05xkTiEK7m&16_;!7}3Ce}m| zN&0W~Jpyd2!)o{@;)^9t{|UDg&oi#$2l?!R{gL-sQ|V&p*V-r>f2oeYp^Gm;2FyQA zg(+*JYF6pSrup>8IS&_Z{wToRQETae@-!n(2-^BouyAe{;}L4Q<5y@9o&#l?{8s^) z!JK{aVz6lX^h=OQ$gh3k;-`)1eezT3^iOp~(QeP*z%=u(+jbp|Xg7_725@iMh~O6E z@#PvL489Fp@)=}&qmCBh~oCPXHNvlw2=0>xlxzFor{gjntu z&6u@!7CG(Dl4HnD#YPxF)el$>lEp1OI{4{c-a&DDJ8lQ-HVpAX^59G@(!PCGrW?DZ zr3wT`T;i3&zvb=xBXgx>;;U=yiEO%by8I?8fa5KQ9AYC5N-q^~FPIQ4dW4pr3r4-s zt`ugteH^#;-c4>nv6s)`EImrP&YX;^L0shnQX3$)K(yUPb#lOQPcMDtAK|+X+(lhv zf*jFJsA#1H6k<$$;cna}r2Xry2t^Xw9U|OW5%#eKL1{`Orb6M~k7`&D?SH-}JKig# zW|d1E8aCp?#g61jy@3}{^PUdAn@I#rqTTsi#2SN$A!z5%-~4EzpL!UMyS}|Pn`KRc z$i2KKxBb4aZhrC$zaH)L@ch78V?wo7_5V1#@_(ql@Q;!t*@`5lQmLd#CB&FY(yme= zWk?ayXtm68RV3?F64@qH_C_HJGqQ#5*E{o_&-eBH3%)I=a49&||8XH`qS8vw zuD!`U`3EU_U}{TBtWI$0htr%`cKSllz!0&|?2xY;t-S6r3!L5e5x&qYt8mMQ{&3}X zY^$>FY#yI(X4Jc7s+yP@6i9CAcTgWkJDY@0k$Yq>^aQcz0w1^C=%_xuGf%B!raPrO z>q^V2)kZycE;sg6oQ^RRN~;sQPj^;a6QOFVpL^}|KPJjcPA*R`nJQg>e5LRH=KqFw z+d;VY7TdY-E4!R$WfzC#^H)h3N7Fumd$ne@xBvGB=*-(#A1{+MJ^H&xF$?{0`g+Zp zAaUXK{EW`t#M3)Cqr(nIQNvfQ{yI1EiWX=4`#+$pY>Q`73arls{xH4n`Z$kh^HH=a zUweAi;jqU)we|g_5LbxLdR~K~k^FHvA<*l#qK5x?TvDnRbHO0Q`m)1UrLD$oA**v74L`KTrs|vgIjMrLNBG$~-4HYVu+0v1UC1S-A zsBNwH(S;2Pn4w`5N8EU*ga$ws=veQJ2ZTJuGTXq-?C8WX7Gvb zZ{p+HC<^d#+yLfO2ylDb_FnfIQal5YNPgWH;y5f>_#x=alqr9BZr9UrV*{AqGe%JK zpzW3SOaI>&fRajAvONww9A97Cv79{o{$}n`%n|sR>scCdd|j1hQn`)(aR^K@pMPce z@2P%zAgRK<^rpw_TSpQs-P5!jBL_D>U$62r4H~nQ^Q)yKN~vw7@3NmQ>wOzVM`$0; z9a)4F-QBegkLZK#O1<~7GviRosc7kzAG=l+JYdj59=MKP8*>Z&;h+6(aj0_nPg|yh z`j-&Qv)>Pc_5Rxr>xKD$a@-f|FbchP#%AE0i23~Y3Z*2ML;pHd(yM9Zk(}0&a*H{V z#?~eL_G94UzNQ`@@U+Sp+>o^+BlpK>$s`uK3$=!KKeWyIo-Yb1!0iqNCzo_&)sSyMNi?WXLm%a-8p;a*=S zD@xZy=#XiNzJ;)Zd_Taa$2EnGl($rP=83<=%iIa0yG=r zS&Rm|I23U?_E?<6^`OHh7Jf4+PLfe7es-Ojv`A1}_#<9Y!9w0pfHh!znppNUiYO5km~A{-8c9YH4l!LMsa;|& zI`WN{p?$k=S}I)6fClrxBD3}juxILzECaN4LVnfbqn2;%=edy$$hlB=7#x(zjJRYy zp3{{Aa^;NHdSR$~ADpQJ?zN`HiF1pH+x4Jr9%PRr^U+=HW(OT+sL@bZwgw6lGw%A(9c(7(^6@YH9ENb&tEo#azS z%degQLA64B(ghIF=Dq1`e>3aUSAMECPRCdX+P*hSZDd{IAZFyN-#BB4E5)1e1L8aC zG>iNNvM%2&k4I*HghgnWqxEOMET}CptD3TdQO<)g8@TlA0P&E>1Me{9w*479ojaS# zf7J{9v6>4+QJ;kY4yM>E6Yy_hMq~LZucAiT&xdcsR`Js8>p6g$xk=0RNzyTtaqsuF z%k{1DwI7qus99dQ#x_`r-a4MKb<7qv8}5z!R=?E={Y7UZYjsF%33*&i z&DN{mf638tBb2dU_(~@!m1l@QTyj)NS@mR4FeqTD%cblX0wa zRRJ@HSgCT?jk2uvTz!CwR;cgM9hwAY%cj$s$e9+U$B}|@w0WP1YAQ76I)(nsck8U$ zGLE{|h8V&hi8WxLEGZGnh@;ZSQsRsNX{p31T`hEIf;gcG6hxEO8YLox6?>>Y6_lA` zZ)-0FZ5vaSMv}FfaI2NESxvs+GY3E$9ycAFHXeh+|;XSdv4!hInulCO$y`VnlBC_ z57RD+y0n{7-lo!y%J{}?-aY=nvI~MM6kUD=iYnI30));AVBu00XO9PYt$;3yKz@C} z3*C}QTgV}{uPuaqf81`x&?$kQ<|bZ)+7MxI9Qda`Y$C#mD?fCII4Pm_je&Mcd0R#I zPzM*KwK_t?KFP$wASv`6=J62PV~|ech3R{f(k)^eJVW5S1`tY6YFM_Dh zsbcmZkPjC6g0I9E5}77lP(we8Yl{6~j7O%NAC_4zgtkz--aO;x+3#M_jIHTfwypwG zn;=0JGB2S{{|pSz)W57DJ2U^1!x8UvE{&NA+itE}jzElhReCirHWddqQhsfP^5I34Jl#mJ7a97nbViE=cmhek{b`WTL}f#V;t`F zocwZF(BX(ee&Lt@hTof6W@c<)x}$@Nt#a-cI2~>a@)Bsx!KoiypZa`7M|R2G`m_!s z^9J!-yavsDTzYiA$hjS6=9+#ai}|4(K~{y?r(K1FBMKQkFg6w}`RvlAA#sb6!!|9b zy|Ug+2ymN6fU-eJaD5Oqj%Qk*j#$+%Jzw?-@iW~^H3++7kc((|j#Up5uPd2dCn>%v zY1}wOx+I|tC(47{*i{zqVT*xuj#bwp**X)i+yUqx;2;AAEor1BlGZl~N0}a!)}GwU z)u?I=SK{ZXeIb4V_-mz4qX3>($YH|*ls-W?xX-=W~z zN9AW?xbzonUOHamt4zxRy8+xc{~M#580E)UjX~~}y%Yy78O>mxE%_@8jrUXVs&cRL z7}=H*_zs~Voyv-j;D8r%KhENfX2L4g%T!<Tc2C>_>%RxSEA^U`d*ImL_vP5fzLjZl>?}BV5N1~bGVYi zK@lWUFMC?6;R9SSBvuh?wH=YlZsx#+kDW6%-~uIsenYKmPD38Ligfv3^cH+GzTtw8 zQ%*<*`)3Py#&f9$b6uJuF3#kgy9>Q6f-~4}G4nIrR^UlL6r|j!o3Q#*#A~^cr9lY_ zcNE(tV6PrSO@2?>gK#1QFrmt~fVzV9E+qTDe3}uhuH*NB(L1+Fwo_kcw<3R7ymWFHH>DPIr#;&*u*6M&hk^#O6L{2~Qu%;a*u|)ra7&GE>5( zwnuU#N!SdPihlQxfgHesR`g)jYs?eoxO@E!^In>p_^)7v?9S11sxk zx4f5O^K2~z3OROk{nD*g!#rVSQh7HL;{7FpQZf#^fpwYQm#cP8t36bIT=y4B*~bR> z%~QU1Nqn^)R1$1KuN|*cN~OuZeRelgy2k>CK6kZ}cVpE=o?24aKC9(JKCn?Gb=Z~6 zYdEQK1NdSbc@vD}SN#I%`xhUJF?Z|SHy1LSvD;sJ;v~Q$uZWwwpugU26V~Rav7VJ- z)Hg`IO_rX04g~J6pEbNhHJ?$HBUW~h7UI~Bj>Cwp!p-9NB_$zbxjZf<+azioctd8p zOokQ~oEzr^EI?g_+5ef0Y?eBriCL2xste?c!bbsd(3BaO@ly20W`p=)NdD5tEzJU+ zGV#Px^S)*QKM=@j5NKXR1MqQ_Ix#eAvg6hQ*;OdBj6>AuFWq_ym2li<;E@C3|1O`k zzFw9fJ;ySdu+9uMIq?Y+IxEtj$#_tWPhqbX`&Q`inr%4r=|s37m;x|#O$Q~vMO+LxSPY6|EB`KDGFj$ zpAm^!Sa8ziylr+_=hCC?i7!i{0@x4N4xDI52VnYUrhEfdg5^!bkA6J?3uI;a^=;3@zXWQZ zc73l1@_wn-=d5QpB`S%05avasLg#7^nlel&W|*)eSf-B%`cSlz0O@&qO8zbo`m}5m zstfp@ZwOZg#e0-U`E$k?sUS)kwWc6;goA*@MEZ$0VbROiQ@lTJVqASIsJWOjR{ItQq)7hV+akXKb|rEQnZ=vy zV4bORSi><0<48E;0(~2Ffic_7m5o+%+a6nD1NO_xvcu7iE|$f@?=#AEbte&HZ-^&! zfd>T_CpnH?WST`?rXTyt)jh9RG2-vFJP&q%1|*+%_S5NrgLv^Re&Oggun;%mFDfw$s=+b6DcPZ%U5LpKDs^TDZVUfX0 zn3B4r+1K9@Pq+de-%_+Ir5gP)%K<@LbsmdJN+EFHR%3Rg?ha@CWq(`AE;pgvXoA;5 zhCF-N(d=Qw7IqBvBh4vMs}i~i8DN2oJ@kZ0=YOdBK%1omwz)p})eER%E{wA;9mbsR zVqe;ETUlGc4q68j_m*I?2cfX^Kvbf2A`CG^vKSBwtV8 zCsn>}8&I;RRXzphzRV9q?ypxUH>7YcytO4S=}*4Nh>ZLFCN>Qm@F&*pR3y6ogIx8% z7V%wGQSgtmh;Ea*`I91#AinDk_%VEcnX@-^2D?Ay>%7Yo#)EGTUS;!0O)zl8&JPka zM7lh0oInw}1-f*&L6V`}CMnJ%UPn-u#?ru|TktDi5gLE_9n=0PuyO{Z&Kt~0=OJml z&@+NB5?W!KmzVrZ4vtAWp6Rt6NxKH6xqZAjpIS?~oXghz=k~b$%-E@x>_YY>tP*mB zpo7SMdp`RV!X-QIt^G;xJeT=^$sh-buT(e_?Rf%RUxjm`)q>8T+8&p;bvr{qP4V+K zy}$Sw!Uc&scVP7cRKdJXGO2q`{I0fJ95k4>3pIOXAoaoTh=zValtTdS4(eUeXQcEf z*W&LdTnF+Iru-qc^cbYwIkwqzuUNkb)HClgI3{syHCPzgHfnN(t#Bwc72Nl|DYZ({ zMM@>)NwsMfqPCh^V5wwlGX4Sr+o`D${@X4bh;upkc?*0bNGMpOaK5p?yot z3#bFXnZD3{z`e3>b(>|^rtr1$K;eL|)ao^)owAcD*asXyGe3JFnu?%oO~&b~ylo^O zjBPP-)Vc&Ys_@Nj)NdX1*IH6JXXL|sbViUCX4XfF9=nhWWMO>gWZ#hZxbHfr$Y)$| zZwENuxVUrO_*~VU5MLr%%DSx?K2te=5(!OJE7XdpwCAQg1g+*{%aE{#u!t!Zk!ab2 zzjUjjb$^%*(xi)yi|-?*3!kg|Ay2{fNQjh7f9OeI3kxM)4L zXUPYagX7g!XH888#|c%pjryg3R-(~Gj05^4mOsWCc#qyqyn~;c<6OXTN$#`e=^WX@ zDBMiIsJkP-KD+Q`swOp?t~~bItV#hQkF6v+J-QLbwO>XQZ2UnqvE)#9kC0IJ(fyX;r@!}OVU-H!!FXn4AAb2lFXxe^ z7h}bsP{OkoOGrLMxzR!KiUr^i%9aGTnu}rj2UXD-IGvqZ!xXFCbQ05L^TI?#SQ@AC zF4U^l{>)6d#H?LQ>skT4R_6Uj>MnYZS%fj1fGlDy$%9VoF zuhS0tpCR!fHOFLijQ*E|jjsqk)r6Pje1r|+!7%<6*+?{e^$}(27xjDX7;+(e?UWu9 zp)HS(69^WL>^#fjgUL5;{nKuSjM2Fj=r6UqIW_fQ&cul+=r2R5jua z^tS!5^CNuo8$@a!E$@(tN2{PvcUI`K43C=M9>nuMK>n-))8`umS510C{78#nd@O$=XONB1Hy}3#9gyrvG z+}WBCsef(ffLRy-H<3pur1Z${zv{!>S@;WSZChpgZ#M(FGQ68$#27ByKfcw>RHxu@ z3*aY0UoFzX)dfoZ?K%dUCSl~wqY7m{IZs}X#%AMoyM~`Ox#PGH%S!jJviay}((>TA zRAzk7e&tHi`Pxr+fnq~~mhUC6XIG>rFoKfUn5B8?-W&EcKjHq9CpYZP-daFCdE=k< z*wM+8Ka4i&Gu@#+#$^4}GIy5(iSYrTUHZn1Ng-~cS788M_PPt;pGB8Ff7{`cX<*rU zd0&F>Bm&4=TqdDjh?0EOsg=ianAfiSCY)G4>6Vw2jnEOwjr7 z!dM)_e#QKq9;yMZQD~LMiYM&DTJ*^JP2k%}^1D0)neuAgG*TMWNlE)FcTXTwp08&D zj;q8JZ!tv)!~xARLJ=Wwj{e7-8yd}${Q#R;NgiOLHG}t?vUd!~z!I_1vKFErK)nJ` z?~Nh4A^ntyKJvYP6n7Zc+D~jGIS!T<;zB=nQ4~Q=0N)G6B+D5j*gVJ7tQ6Ns;1{rY z{ph6QfkSv<^Ht=iS20NoaSSD?lrYeGs33vCWMk{I$MVc|^RGCe*`)ih?qD9d@Goft z|M-kuxyf3dI_mZ!C$oHhGuyg(-sj@rGIzv7V28ktsQ3)i>TCWDzmH*ght%8@>MgOb zsFf>zptr`n!5PWZtXd4T@`gmGJo_bREr2RQ1o-ht4l5)&y~MuM51{+aWC zi9=M%b5bM_M2b8kKyD!$0deji?zlHBV3?2%m~-HM^I7wXuzJL!@;q|^Koc2Q^PTyW zNx9n$aEB%%bjtrx?#Nn6ZBm>en6S`lAtRIk$K=#9h>gk~9yM z`2|f^^@y}5BzUX)mR+L+(px#}$*1RKbAX@Q5ujmgao+Peo<7V%}hJ z3g}srj>u`pue~L5+(hau(aMt-+!o=UK6ZG$r&cSFpMOMMBEq@LLbxucq^VcJzW^{T z(PMja(uJmW)N5yWO4#^A4tUUv@kvI5`P>BY{VVeZ*eE{D`aIh)|RZ4}N)`@3wTzbv%n9V|9Q zdVFYuC^i>iO1hBSBG{&=9zKOqKxs$z-Jw|reqkGxRb;kp7`mvM(wK2#;Y9@AyJKO5o^pQH{MOqt=@%SooW3F zRGq>pdIfCzf+gMHwmcDT+?jew_A#%2#9qHo_TU||a76KJ`$TWBT68s^WV{L+ z{#)(0NI4UkRX`7Eel&!gddWDN{Wg+hVl!EN<9h*{Hx*Q(wn{Y}ug6vXgFFBn8rIBD zeIftoL{^z{VLcVg`o8<*KkVVW2P5vw-h++wn+~4}KGBOdaO<^>yPV+AOUU@@9Qv`Y z+}7YO*gZKH&f&kd;?jnhr621NkLC_($tL z@q7lPGg@SMEf3QHAj;*bx)D?8E*ZE^;`uK-3pg{cmPULoI5H>-+UCQx?%Ka@T>MR! zTManhK`y!q%sVBb{ws6v?)+-_X0aYa%PfHyC3f^FmUW#1Z;5pn1Z#1K*07m9aHoo4ufwuLr4}OoqPZ_kkA+nB~rAfX3uT(PliP2pd6CpMwzgbK}J^ZpA=rUXkqM zFweO}41ahVY%K1VFXko4d}?GLF3WcplJw=qcsa0Fz%Y%IS5BX1TRI@N?*Qkp*T=dA z#hC)x?P)UaC7F!J-2m?0q-b|BCrr2A2G}#6p8X5BG(Ooc%h>hYUHp8eAqR$IS%@3dn=_7AR8W z{&b(bAfB~Ch9STFfxD`3N5r(0&&Yq0a2?XTJw)XBJ6aQ>>noWf!3M&R6Vs3s;mute z8$^+O^(7spXVa1s>xsA-W?tB6lyDo4gILNRG)bIe`{Pc@#MH_cjI&K@6ArtHt$I~0 z#oY-8;*Mm$+AiX!-(eHN$~4w%=B6Fcj-RP?_`Bm7#^In;3ca{u_O>DEr+vdUp}8 zp{6NY1EZbHKPAThJBj}10%(bCM3grUvd~_yYgGm*9a^^t??K}uF+)&aN>x30|AGAM zFeNPs4^!hG)P24C9Shg7Nb?dctyA-fBgYI*-P5WaCsgEmY2wWMKjze zE>Ro5I>a8EmklyvHWuO&VvNc=x2kSnX}ps3)V3(uXN$Hx^=f$7 zy!WpWm8F=Duxvy8y|+Hq+wY1>Or#8J2+Jsy{db}_ZytOXkb`CJTY%{Cwb!!W!YzCy z{-0DQW0u1Wn>4tCCS7)hV^3+;wI#EvsEv1YxO)zZLeky>&2aJ^cu{*yRiy2jV%blD z63Rl?;mRxi;VQS2~OPWD1~dOx2`PC9!WW|`uz zNgT)#l;h09ml!Tr#E}m+03j{Usung*t(@#&!_H+vNR%Ae%+{tF)t$Bd?`|!<&jYJg z5+3*&+AsgP`-9BK|7|_=^2P+~v_aDr&rdqCNzpH@|U z2O9|l^jwY^=mEA5H*ziXYHp$SQgm%74un+3gpwyv#{Y|nh`<*WPJZ88wFGk!%4Wy! zU&7)9darMQ?2izwocZ3boaV29*B*Y2a$o+m6k0$%@=yew4UhJ(6YTWH)e2@O#79Yj zoiE;PVr?Bc#}Pb=%f+~pf1CnV$==sFiR{c-4}o98FI&mJ2VlS}mM!%Iwt&oIB=ceK zXTgfkaio}Kk+>Pz3)W+QW4ZnEMR?6hhETWLE2%j(1jB;5TB^TAV{}r*ySDRwlFg6I zjG=CTxm+h$ufbk;Gl3QRAq}GBa!8XWL$6!n+&~-8vv<$M_ole7UJ9d3T+?rFeP7>% z(R+23p=tCv9jOgX+Xsf<`f9=?-w~Z@w{8g<6j;7+aQM_eKy*0MS$z)1X2O@-&mWa9 zH`@&Vu@Pw{kDr4PKFwyvGrv@kC&34f_(KqUXU&ocYLmr>8Nq#EAHy&r7-KP28YLa% zxa~wrJclG2DirhoOl~p~naN?>2;92c^FZc;U|x{dECAUO=soH3Yiq<*b^2dO#q?yE z5|d4-x@QcdMAc>6EvTc@$Cs@MCoP|Qa0>%m;C_EBQI3_DH>ll_Mo!~Okmm&kGbqZs zg(?PL6>C8^NCZwV3F=aHrQp)X7QH_hT^+8z zIw^f4X!2#A^3p`B8o@ep<_)x0W}6NflvmelT|{3LKosY#R!LVjTeCzL%VwBg#uHTi zEz(G#aKVwyYJxT?e-I`3MLGZlwkJOmw4V{(EtZ}0k|n>{L3;Iu`L(@@!)AVP60O`x z@mcysI`;&ZA!u}|(y%$%PFNbVYkFX!9?Q0Er#!lfeMvgWkZfNjUqf_>W46u+8l@6_ zhQw+fg$7bbtI{$8b$G#7cr=>q#rQi1_owWewM#M;L#-%vx%U5A3FShyx3gpSb{nkJ zleJ0ok2`2@=OD(a_HvAU_K|e9OOK`fHVCIQF6FmKT+3wYL6XdnHJ!_c#M(>M4z7&6 z{k>=X>Oi{yz^vgprF9qYPF+WP9;}Ff6EfUJ;Rn{EG#C@_t{p)u3s}b_9)iJ}MTI}B z5HHC7O8B!U#cRZ}J*{%=R!!mEXgJIedB%3iLGW9Au0C{UZ5gohhipF0Fh~s@(*VII zAfJeyN|rU@zNrxZ5J<0AwYY;u*Xq^Q%EDj7q(~E}*xa7cV*ZgX6((VNl@_3mAZs|oK;UixUllgjEsy{f`#w8FEAvvB8N>& zMhEwzn*-iUpNTHIOef2;zeycdf=2r({;Ggc)q#DoY1lYITNJ}Y5e6vnym3xS%ke)h zwqu)jKw8)%rLq-)OU0X2Cy6Sg<2&na5bITatKo)Ecok{*kco|po?>or^(G)SgxHjW zewIU?G&5v=OqW6?xOZ+xiFME8(GUy_2}id02dr-oJ=iO{%W__Vs`IRrO_-#+gI(1s z@b#oJfZ;hVvAXD0D*LNU+H_cXv1$t`>2iAd>pMiY=$Ax;o2Z|T!IYKNtst@U(#I5E zhq@o`e+8gq@iM=345-XRti*bP*IhOqT0(2t+R%jRucBty}u<@w*^`=L)rm+ zI=sg<1ECp#eJOgzF*OM4XJ3qmi^9sG5Di2$oMEIGRB_x(yn$(#uO4LP9SiKR^rV%9 z^XRhdut?M5k4%b4fj`QG`|D*wAOkGfsjy|B2?wbNYD1o<`?rN_kC1Y)yR}j2+WZQl zx*&fz+iy2&L)Co1@VESXbtETrey|JUJ1iK{oc--8|G@1bS3v`RElb%KI&L4*vR@Ir z4be4&>@$c~8GyW79n%|d8sc-b<$b?eR@Mg6CT6cEZGSB~$b2Am^9^_zIz2V?x|f4u z!v2;yMO&tP%BA&8)1aCMF)LMI?*;VD03O7YRIL@^qV?T$_c0pHaq~GB*cUB#hx(3~ z#!UIE7tJoXRNV1!k^ApmkSWDRgOyji=Lsr&jnc+%<1bX5Eo}UL@-}#_QbfGNdKEg$ zFLtFYm^zG~m+PY84zJ$GKDcf7y)R?F22oxmTE?>%<0Ij^(v#Ih6*&!A1Ue1OaOeVV zcr!|#+HEjMB$*H>qO7C!KasUjPp^ho|Do3I9QfjCi6 zeDV=09)=i!OLF*XT6WF(jxCUQdfUV%VURrrVz)L|=JCty1C!Gs>GgRqW|bgF{0Q(h zc-h{Uyf$^wzwka&CDyFk%Ab$W!1iq1GrI$y$$*CpuUbO#Y8Xe1Bne8lN&VlE!+TDi z5JF!9Ii38fVS(YjS}6z}rPz-@pCCRhX1CSa)2i$72D0U>Z%>M(_VqY*h}RpwpW06| zRbU1+^j82a8nzZ}yCmTu^1;x+3MRIkZ$vyN@eizk2>lk!uH1%nYH>yNxd{k}2zfmF zk0{z6+9=$uuosc`-XuB#53$9#CG^39+2*kJkP~Eog)!V6dj5|kw9)6kl=m=7gE==f z3%(=5KNg<?G+m3Feqa4tkpaVUo+F**O2M-}ENRf$Un~?qxYQ{DdZ`$^Cuk zu_Cf;HFBo7o9T5%EE28+7nCu(9GahTK6wDxB2F5Mlr9Ruw{Fyd|E)6)K#N2}DKv!i+QB3mB{&Tdcp z1LiU9>8iIeK^wzOs$CWyw;2CMYEfq&N~9Z}%f{v^a%z`*1J^Ta*A6(JB$1LSM}=3m z$)B`8l7Sc1IE0@Ov14W*Xe`u4NJ8t>wh&LFPOV#L>W6s7cUntSdyMU4^*ZLrh3`|k z1txi2#>+6KBsH6m*atO{so57;iP=+dVR5rK;O?%e=V(CMs^q-9M9RFi1ELpV z_k^m_DJrwG{<~v*-_QKz_D9F{m62ORiX&UqNB4{~)JJ!Y8!tbn5oYjYzslIz@ytkp zZuO>dbrl2EYnwv|k^bt}^p|{8v{nk&KT%Uf$JINkVB_meRj?WLc`8`92Gw!-;QDN4 zL)h;A_E2Fd(iUI9vmB+Q5vO!*n9Z!B98xn{sz1MpRTrFqByumN;fb(A2WSbiQZoo5 zdT#k+HyO~Q-Sn-r-|mc+G->lCS96{%V;SRa?({|90f;DrL<;#fS6-8lFJ+7@xICqPBi z%wloEUrS$xWe0cqPY_jM6#nbvBc}4x9tF@P3ujtPGOI`tbo~+);w^|z-|l!Eak!RW zaSgJk3c_WQ3dA>Sf!>FkR*E;jX%V7d;2v!?VM1Ooou7%ZD%q{N;L?7z#l|$rg)sRJ zC#JdW*@mD3`X8{5*Ct)@ zAU~F<$6c{2bpx0n4Qj5$JGcP&nHr}VL`@?{^>MBRmlnLZvO6@_eyXOIYYOktP6(O< zVrDv=-uve{xwK4()E=a5>Z(_*)eacX&EtIB0y{=I6>-%Tra0M6+Dg>Aw8wWrZCC1v zn3vB7%F!`T+L!LX?lu?q92+qcU;jqw9D&q_9PE{CFP1+`>b>(18I)5t&fBmGXM4^( z7(b{tgf$C>pZ72`?)d>v^#qxS$A-0!!$)I&Vof&lPxj;cdH84SjCUa3?&y5#Zu|s| zP}Z&|+1^196PcH?n`CWlRWEG(QLi1qht&Ko*BIOq=BUt)zBk(Fdygq=WI2;+W&5KZ_&zKt&?yB_yVtLClAgc%izVQ#x*qyar_%^2XP*|N;valn# z){Asf>Ssh4c%Z9Let=;YOX_K1@UokbUsw^K8H;+*i=ehmQCq@5j4tV~f|T2Y2&VGH z7bXb`4%klCz;M_%qCGX?D~~Ga+~El){s*T6{NI#1!$Xb_iP?JoeY}Cx(}S`{6&Mse zRe?liGNB&l#$tN5`wL0gr@|jup!J>ck75Ay%2%A+PFpekb;Xlt-$mk8T+V+Tdk6 zZmCk$&P#qivb^?P{la}r-ozSZgyZntqNvHa(0*w3z92LOs zKX6(BdjDg#P%wLRA&n~qI4ib46=MRx16mnNpy?<@Ye_=7K?*C*1KYmVIuB3+g23Pf z`u61G_yUkx+Cp?b10o8f_mqFY8^OU+zq(D_3tcm&gM@Q6C;P0i*e?OlSPsmVK@YmP zFbf9iaxa{pP7Vr4U$fnZsOG6F6aVZ6nodAJbLhJ6y(QC!m>**#00*AmZS?`%pSI!2`b#*!)Ua?q>1k`iPofkh3Jfg2b7 zGj@#n@jcyvno81K8Q(3dUslvHPZ-BCbz+1_nyfW5e~a9)O3XMpiqyO+DNd-Aw|@n1 zzJFcL&-mvjS7p@oZuUh^ML<8d8jW;hfaagI7>O_)s$Rj`67baMV5-XS$cpQb&-thl zwq}d$7dx>Q-Mx!)dp>zLew=ptiYV#};w$>KB6eE4St2HxmJud$C`KoL0luQ+QlXwS z*A|C%_Mcib=`wL>(8YrooeC*yuUaqJ)j`-SUd26K90hliBv$gVIcLe%iaF+-hH~g_ zaH{~Cbrq6B@=p9h{|YJ-f!kJmV>&tV9~M4BsO|Ne2av{eEiq~MPsHJGZhi}O6rX;z zK@&r*1pMp)hN=hyp~!hdT;6>&ArX2H-PU4YOT0}**$`V>3~Y$rRL(|x70Wh>JS5!R z>K}}LPThZym_e-xMh_3eLvCL}6Wepa#MVPOFYn=Bc~OvH&8wj#_}%Ya1D+M$EOYSLJ;(8P!` zPLOX^C}ITi-Z!P*K{p^ErxY5xh#AdJr?G2^Z3y_DtL(z1oq(dzg9nL22*jSN;$st@ zQr@Q~!bi52sQ>D01jpDN|C%>#_`m-;?v&TOIZ2tHe- zi#RYbOqX1y<0X2#Nk{K}?H)Do{5m;=H5U{kgAXd~IKZagp}!2SzuU?h5<0x+1UY9x zsN((J{doExu;QdKd{%Wz)KY>cTPe{EkJunzN-pE@p+{wxBgPCl!f>-GIj1kT*JBn+p&SKP!XD7KRx8t%yhb6s5g3Y`1){vm42Q>t?V&ctvY)ek|Wv4`4gsmNuPu#kju4-Ky~lRr>Dg+dpspcLqmC!=!vXQNMQRX{&{Bg9dTzDe~*M zv3_mu(@>A4EdAP%r_A#4I(=!Gs*C#)R^zk#Qi3WuFbq34S88MJeeqw6$ehr^Q=29? zpxr%}ImoDyJAglxKcwVwSlnT|U#@CIrsZ!MUAl{X@AFlYiz&f=vS$GL{>Z^yq^HE7 z)tKA(&ou7!sz12|y&1-j+uVQN-Jy+|`j`O^ZZMU59eC!1*f7H&DhRi`L#c@hf+zQ1 z{j7wqfQIj(sP37Xp8u6 zF-RniD6**elgq5p$Jp6oC<;he&E+8!5+2-z;alATSUhpW22-{8b;d|Z-0yWjyjV6< zLsb;+X(4`mPfP@2oG6>Rsupv*LsOk7*F!zH7)ma4%{j_~0%|H_8Wn}qScn&iBe~4S z@x&S%47_?I7rA`K6HwH!HJ6!<+AYQ^o{e=rvr_?&KOt%=L{JKmx`ABgxp*QhnncC%a1<*1KQH0!Sv-akHiz56^cdl ztPE5f<)OR_-IztV+9ffKA9L2MDrv3D`RegzdLQfk2mo);%2(5j2@RAgzue zJ(4aeYkgy^kVmx*B*^mOQe05&Q@$<2u>f;`pS%^azkdG}*?j&P2fyC~(uy{GqR`)- zYwc4TVk*pl70zyZcj{=YYPP8TGarPzs&UAEWD-9&1o1{>_mV3Q+u{n$u< zwgY~-o3L=+1EzsvVocw3MY$K;0qSrba!9?PRb>P7Y4wUWfiehgX((-26=O&tNjiZZ;n`qA(hTyCqHoI>7x1tLpztN zUpsO7C7fJf9mitV4`wgt!5cM&VWu?GJg2U-sLpj)b~_VsOO9=a{8CGpT*b3c&FU*W z94VH^r(h)SrPzyD5)xtwsi)$WVIe=6oCVWCx$CLyar=ipH9LTDr8hw48^Hb?12w5$ z57{JKcG4BWdK1r%2AgGv~=1T)WQWy3ToC&)0SNfQ$FM^qRx|?ICVyiD9f#yxm$wfL8bB=}{fs#5OiDz=K}K zh9mG%Pc3RfZ(!YGbgCr=xZBHE{!$T0*MeJSp;L3JcxQjy4xEELwZ6;9)P^_w)B^7HV$zPnuyZeCjUtelqY%)wVdtMb4F;XKKnrn*1t!+s1(3)x z>?(z;(>i3*zl`8H$rHU)n7hpYp7dfwFBC?8GhqE#!gY%(j$&0WafQO@=27?nP7B!` z3yAS|(GgEAbkR@F*NlE5b=f3gje>zcD0ZXGM9#+ok+GVcptRw`v4kIteqyA~BzF#S zGQOXN)rGBQq5pZ4W{}BkWyhyQH})rF^hGW2vHE+t(JojW^}&I&Q1~IZiZXA4X#eTX zPg%>hP-={D&^U!-*4}Q{Q`4788k$TqHDM1LE)aFs_I0HY^m}+tOUmRMjwt-<4u?}O zXNU!T(Ux9(=+}u$gsP~q1$arD%DyC7IC4~4^<2&Jxk`NW`Nd>G5#&BsRF z;d7FazuC*t$qEzHWs27GT1;~;7Z<$%u4ho0Lx&3(yAUc?eLMUj;_*anERo-w;{AK2 z@C{=tE&X&K3xX~(HLGBLDQU*Xlzul*ACL{F%?Ca>k3_06Lx4^1;J!+a>9Cn==;M8`PG3*?M!>P_rd~nc>e-4BCD)bb?YW% zJXuWesy00Hhj6Im2k*9W!DXpPI%D3Sp&M%H(WcBTw{qm>vl4npt2YOSW|ftV3uTJ% zgV96qQrVJ}#s#T~WS~<6XUxleJE1C5e;au&ChTN)jNB9F^{E#;nP0MxVu@|N!vJuL ze^0*XA41j``Z~4ymB94xOwH|7A(h{q4I_5xlhD;kP9$j= z6mF(oFnvrIeYoJt@)v^`cZclF0q4oj?|K>eChQmltW1lqXK$j(gSPv!K0tr1DH#r! zY6%AOK>5g-l|LeS!Zx2hC=4MREF=|P$^{Yb;bKnY;01TjLk~Gs-PoPfo(mJMwTh34 z+%PDnOq4PMe|NB8X3s?!nw#_^ZKVDeq}^6jnX?N_e=%3 zr}!|B@Gzrc$a$eupGbAU0e{cmpoSkL`ZwBrMjA3BA@@v^vn0pY%&mgLy&}U2A`NoeqirNYd)HVh+eiU03Q7b*S}*jkJ(Zg1`QdV7}KANf~;2h^q6OfNvCX#QS~x zrbziYf;S4p62rz^R)$~cn>rPen4>$zD;#3$J?2E(Fwwd$d$n&WQXvUX$&}n9XSj8yOd(5<^$eOn11XtttH2L(YHvhE3^` zjRTkX_8EE6%$L$N-ro)RrJFJk*l`EX!5Ws(RkX@AH(D|C5cdbmpG(P5>aT1p) zu8jC>EWXy2+R2D&zu?Gt@W^zyq%)_{pi(imMSTmI=-dfqzVA*E2iOUf6aG>Q@9*0D z(upS7)xZ0N2TpwJkN@j_*Dr_n@i*)p7g5@^nLf7dA4BzFT2vkJxkMi$3c1!($KmMk zTd!G*b2F>S$VQ#*SihjDm6CAjogv&G09T#)FCVUW&fAlOKXBsaS-8vNElo!qVE1gg zPpvEo-VvQ4K_4$jxzZ9r2BW8DAEi1Ci|%W+A)8M5jr|s1lb>ooIbJq(a zj*vZGnBDT~m zY->N?NYeMnl={Y%e30L;8G;S_-iJ{$Z3IPg1R8s}j;4TMngerp@x{hK{Y_7$-f__l zksGEtye#fnw0;0y(n}3R?y9ky1s~=RFE#qs=W{%Dk<^Vo_%GGKtzffWVdvHq0n}ck z+RPHM(B+aIXDT|rAXQg2Jl~b9wykD_9L@VVm*TYbTpy>UYBDFxkQ)80Pgi#%9A08u z`kQmVZ}Nlp{PrBcoGUI8>{D+5^Tt5Te|YL!M~;qy5EVfoY`7i~o>UPXw7GPGtyLGb=6vmaW`;4p?r!c@DT|X7YF@6J0o) z^xJ-f)M!Q6E$uOsQo4U}-%BjUn^f+fdpa&p ze!}Y42N8j@DD$QX5qK=7j2=2z1Z*t3y>U7Iog`HuF7aPU%E`Z>7MuYVm7J)!Ub@6b zn1Rk|3+&l;oA95a=1z5@e`#Tb693JQpSyx#x77I~mv#6AFtA6%gPeT=7`t!;Slo#X zkVO}rlyNut%Mx$;$cj$YjncX=w9=sE?&{B{PpETJ-y@Hmt{|tXN97Y=Mrl|3;qP7V zID^+48PV^Rr7Ketp~WTb?+9CeO>UH@D?>_uc=Ir)MAaXgHh%YuK}@)_38xc70*R&xyuhkI1v4IIk2&O&3xkRU}geyPqAl(ul}YW zg=L&7OwFHzSr<`AcB-m9eG>m_+B_H(^vd;dB9(JbbpE`H*D9m+HV`n~nymy6xO?=x zhVxNcCvZX_(u!U!70z?T&vh%`LLj#c$kk-Wu)9c1CGfU~W?JH2?Z(SjC4a0H@rwk9 zI|88SXRmSJ=l8$mXyz@fqBaA2UXH4d|3iq2@n`rh|D(%D<>$SrW&>W8<%yTrX0%ey zk2#P{x3wvliqMxfi0VMz!>Kr1K*uH2jb&|$W8aY{?|cR-Tp~FJLl_Fjpc7ra#D3HMj??5rOS zKx=2GJA;+m7s+GSf^iPK3~22GD?#S4JGGQ-P&H5ot^Kd|k<@+QfioEQlG`fS_w;2W z?w0z1g_zB%1@HfXRxiBfIZD=_Q?xdWIw#Kefg^TS`P)31d(zR6EhD4h?on zFjvU=j;~!7;fk_Bjss4FhDJ&b(Va~_m&}tyyt~Kczm3g#j>8rcC3{&`qoEJ62BI*x zLoM>~B)fUuV!thBKbwq-EAEQ^^AQ)*cY~JVXFrb*=l2uOoJWpV@uN;Se{A3+n}~i` zqGJ)Kl7aBQuD(TQ(R(SDY4w*dTSB_$R8pC9Lc zeixDfd56Z2Sgx_TXlyi%EsJ#ae|~Kmze0^4J1x196YVtwQnsO+uCvpRLxJ4ezHkXR z1X@C8H#wpc#HRqJ11_n7Zk`xqm@==4MLRNq`~j;U!*Bt=bt5uf2!-F5x_qePlv+te zZrjikwHaZ}nqqjqaCFTOxVzErnMrFIKQCG#W(5N+lwT8!d=7IE8|Cm^WYLFA zzUjtZR^(~XN&T;8@a)8AV+5HIE6b$rCVG=(gG6o3!ywfPCF=FM{x8e-864(TY%jEy zK7UfRUsqf6nEg*<+zYLy>uEHex)I2oyqQY&qW-{{&cw=et#sVXey486PU`JkM@Ges z7(w!r|Atiup74HB#A^W98t*x8UA z@l2=c`EWSn>EPs1&rn6}vIU;*K}#k3ighiQCy*CS@I5d7FQuB!6bWa+>HFrpvhN1m z(!-t*@O=Ab#?{(|{Hn9NCH_cdC#AieZSHy2*&9isy@w4574W?ITZpq*%+2#epSRX1 z$YJzy$&^)b<-!Ib&pqoJA0qhaeC`iL0bvCr$t$evx>8VyvcWxqr+qa;z~l5!((98 zy79whHheD|bXP?kWHB?MBXnNxJJ=x1Lwx2;6>M;mDoMMPQ7Jesun;|2upH%|l|>%m z-sn)Y8|DkVE?0*Yy7;|GlMCO(HJO#vp}4Wa1LL;Ig7j&Jm*Y0&n+ibF7P{DN)1Nx# zN}dK5F?{>CD;`f*fjXy==B7jd$QAqefw^RZ~oU>U(av8zY1Z}=BwZ6CF4n~Mn zM*x8@4sYu@%X*J+?M>!NkuzUo+c4{`Q3w2n4A&n7eLk8Fa_>;}6;H&ZT9Hr-+Xi30 z6HMLxA`5$XjC5=eBYLCha+=hnE4_Tvq)Ehf7eu~#Wq@z$uikfjk)97b;75-Fa~?`? z^r609Sv}$=$=;L7Wajak4?A3F#=8Ic3^iYbuio)Isdl=VLUVi1ZiC+@D$k=Dx?55d z9u2T=#Jq33)HJpAq&O`#mBq2%fNfDzUftpgX@}L_)|6k0iiKcP%?N3i(%2SA4vBVO%9&61;!_TaI8lt)s7+K@CMV&WOBZf`1sTJJ!Gzap?s)hcu} z!~@lPi59=+{G5!|;;NS7aDsa4qh`|ht;3LVH2)OJJ`11UD+&o>pOH1@D^&&-O9>bJ zBIAX$U9oa`hu$ghB4z5Ct(k=)!ktssPuq=tQpa6G3)>YDtn0Bw8D+2q6@rHK(lt}q z;WT5^P=d*9hmIVvVY2J0Nkao6cs!GJLXg3giuugz2uHJV(OZ?gv(`r{KE9E3j=d7~ zU{?#kpf<9Thaj`5h{@DYKmGzpx-s*>(o~#3wd{abTL-c{)xjJL9$kej;_AJ&W@oI z@;pPSr3q?Vkki-plt=ukd{0Lb>1&{N7Oky^Y$~u?mp78hx!S4 z&H9Demd6z~*g2?4S#4@pq=p<&@Pm*C_Nwngb@XO+WQ9WTiLeFy+wz0(zk3huOfmXx zA9BiH_*cKXb zGpmAks-iEC0=!HSMN8L@)8?&k=Bv!Ddo&;v(Ysn+3cVE3PR#0s86^p>N4-G!Oki#iZTeHTw=kPWJ;A+d)=*&io zud`%HvQI=aY2Lq(#J?!XXi&Ro2Q^2O5AT#7<))2DBFt7w8MSKX0fX-imA)I!u=~7j zME>HemFC9ZKnnR>Z@@DA-z#~`Fwsz@m5>4bUbP(87B~-(|BFJC6zLWYenVc#mslrB zn_(CEu-a4;ubj<4&n}#uN(j5l7nOR67)^{#Z5CIY&r!d{H5N@(8)u<%kSRAmi?r3D z33}Q)ES^)-p)S8>sN)>+jei7aTVfS0AC+zCw0O!Hx4nupi@L*z#HFFT`&sr2%NCMIy#69%6hS=6GA&|O!T=kClH1NKZ4t3&TdXiae3B$ZiNAHh2Js;d&L zRbt&gD@zVK_mtlxgI-kBh=Xt+u&5ed=L8{Nvr}?|Y9zU^(XL-o#2}1UE>8y!wPie# zy_IIaGSjq6-zrCfw>X?K5Bp{;K*TfxzPBmO_Sn6ZepmwFuTW5m)C`Vg(3qzMo^y}g z^cHc^xKa#(pi|(GC#ll(#dWh1n)9F;IfX*Kc|(C&Wt$z1_u%a+&5;%mVZj(>m8gksv>Ko8*J7|GHTg13ntP8&B@s9}$@cxJoOa6p79T_;*e z;DB!NGyk;b3c!cWoI^;v_B!T{M<8cP)#JAg%&WsH;|7Sas~0`O+=yiqOY`-S;~UL%Zz&4j*B(<0lg<#IiBX*O|-Ss?6J zV*uS&t(rfdOnvWNAr%xpQ5O#rC8rk1&gVJO43%pdCqcj&b%; zUiatVW5onYSYH(K{9iERsY1JmlcWu&&W@C5?;*NIC$_&( zr{+>>qiT<8zqw|74BjDWFWt*qPM}LNPN8eTO}V94#nQg)D^-x)I&qk3%k63`#c;@i z!F&7k=MG1|SAb=P7AWF@HXh7cAW35TL6yw6v){|LJM`2>?Uc;-(yU;IV{=kd!Ap6C zhxxZ-K<1#)kcKE;xSi)%$Phj8bDOfL_HuCKtdoSd)!20AlB}t(F0_5fm8zTc^IY}~ zcz;EU{lMp?4mD$$UoD~w5zH~Vzc90(XYjIg{49BS2%z68`Et#)wY|z<{bSO}PLB6g zbU(U!+AX}yu$@~mI`*kC&nJs?0h~*<8zl!{XVKRRb*#Z>!34)Q64k!w$dpOZy%F56 zMAuaJCaTRJ)cCU>0xd~ln6|j?Vk9X&*Mty~p<@}}=29{9KSN<#9>*zes5eyS9~RW7E6*g*+C#6vg1k8PIjPj!#;?Y+w{87d(SZTht|@ut;0Yjk z3_kb~+p`LkFIA-|`CEdJNBd8KJAZ~Ju{RlhSBpk+1Uk~AuNLtbKAQ!PiU}JHBk{dE zZwdKyGdkvEhwC$@q+8S3Bs@gcXPX+|7XO$vOrR-m{u`#_(HbO{N&CyQ?)ru{kSraS04GVt2{5OSRZ z>j&o6wx6`<3=&KW#~X%8mg`iThPqyF8S%XQx-?swpL<(UFy)zP=Nj#GG4cv2Pxv-% z#IK-dhpLA=R&bBkpq;}0@)+rEEINr^Fc58;KH9IU|5~b9l242DTeU`y=rQd!gY;Te z+mDleqh#Ncd;N);Xm=PRCU)X+kRPV+yB*kREiE5VFa3dcGng-dnVn()n&YbUrY9EN~@p@sRJy z7!l52Wqk{D6LItuDy4eWA8x<}&P_AP+_4*Bcn^qvbWc0#RtE4|A&2w$$Jf$0RjrWY z-0Os2VlXTW@krubhZlGWqz@JTY2d^tOkYGO7lR>TY|kVjPi$A>h~`z&uEXvh8+9$k zMImtN$3~2$Sml6peQY$c6w^ZC`5zmxmSWFfSoX2e!cyE~!f9xQcCVo(@R^}u?88aG zT|QHDC5`Zm&kPB}A4$^Ce!WT@32!Tj)neb%+00}8b|LWbkBvl2aYiUyoG*R4pH(6D zJ(W#3(Qg+DKibp)_`FYfLVlIprt&_pg&k?}EBq^F82r0N49Eu0Kj>k`OTZTB5N#%P ze?MnRo!Gc>En+G?N^ZXkfc{k+Qc*w138>3h zYyaO*qi;Vc7J2!KMZO;t^8EJ-d59JAZ=n6*X1T+?jCsY@EQ&Jx!Bx|6l6ztb~fPhW|;zIW)VA#(mJ?l06Zu9Z{NG<7R#0*-!Q9 zSX-xZ{`~9z%S7G9H9mu?+#;xdZfOi*<8yd4M`wwxG`DABR2;Mujoe=0GK`}^pYAdH z*S9OuUlLS}QK?2kv4PeD+!7vt;_{yee}?CeO#{-o_DWcmsD}q8JT#!YL8541NQ9?N zqUh@2B;~3Jo0D9DdFcQ@e?$ypJ|fE8ycZB2@+WCh6KY3Ypz_Wm-c)m;3H8d8vR1); ziG34~;Q-8<-Pr=!Rz-ESLR*b8w{uLJgia?J*qf;UW|}BH$2#Mp+|kht9gePwf)_4h zN{i_s=06a#H|V~1v~(aii4c79y{;xAUU!^1CDeX_fW9(dg@|LIv^vJH;C-(I)(sOs zjS{rE%zdt?cRnH?q>y)_JFa4b)j|yf-Gm;DK^Iw>&kjGwy7eB1k-6ly1D^=xU5?`yfa`T@koOxh+}@y?F#3^qN`Z`gOG%rt z?doVEl&kh{gKsH=ei`K>4lcy!i06z<8yPUR95wmFIoFEbKaN@)m(dPK<58_M$*-xJ z$Opp0(LAZNXglU2BfFE33EN+o#zat$lIkjught{^oS}Ac&lvWKa#OQ(*>E%#BbiUx z%qb+)KLfXey3aR;FI6H7tyS1=V7CJ$aHEonO`2h1tHNfot-d0aH@W-s{sy_SL>u<5(U9P3R08{j@BTtrPz{yOE_NIda~D|j~;VxHj!5~hl3`2{{^ z=x{sdX}d_3iF{LPg6-4bivYK z`hZ|RDG9rw%&=?U`kAoegV%B3)M3;YEx8>qXBu6;jyAVg{+wmZv|ozbc3*W+;7ScL zTUAV-Zx8Gpmfs<@%5<`L@0B;5UgH&1Zr5n^PM-BnUJVYC8#LBU{i54WbwGMF=N{p2 zxNJ;4@M?pkWhLCbQc=#+-LHf(xbser$;YEEM`xElX^$n3|~zcyu=uBQ-fjxU5}nc3-bMT5h?|&%w2~z|b3-pU&N4oi&B65KQ)dr# zwedcqRR-PoCEy__`!o?7x#?iUS5MA9`_McWPn8X|ZTO|tm+wiu#T<|O^3N1XH9I_& za1PTAo(AU*s?_q%z8@m9^Q6YB;r(3G6dn3-_MBLDn@YRG^{#qH6yt81Y4~QkQFUl| zCJ&cFJdIKAQQqDSSd_RU*M>#s4EtoAoXl+q2pl*=sr}RkeCd}tF*f1k$i5Mr4>rr~ znB<7F?{}E^>e@-nN>?55NB3$Ur;+%4igd)(`8qb zr!R40*jWdLGsnuujo3vIJ;Md8DB|anBV)gj!Gi51FQdJ4zWpbZT{3F9)h}NN;7x~P z;eYi9czXfiL%}HArZ78F(+a&CjNYpmdrnu&X{WMDk+`xDF9BgsadRt_r0?;=5x|wN z_Y$=1F4l~E*YvN2g;BlZx=v?fZep6izj{c}81HN$-u=W6RYRoqL(%AU>T_ku$x`gb z6JP9!C9ULmxk)oVhoiELyMDXskn6H&4%b zebyrQd2n*CZoIEX(Y;Br5&DMtMFT^msjrdxuvuo0u;XUe!3-f@2GVuM7=$%yL z9fat7fQ-Hk5&t{`eli`dm#$%@!NTJE;a0OYRIFHBHB{^=x);&hn z`6_d-jL^QkB4`qC`aBo&Gn@G(G0I%yZ^=kx-cs#3R%x89@tT7s8c#Hmv{xeru0f=UfHP30qEy-ZJ>F@WLoyzvE z+lgPOE4@9o1Mo5dX_F>V)Uo}nDKA_1Jti_gosW5$um3$KGiHjUt`zzP)aViMpSe6W zha9+&%T%v;OnSCp)(-lrkvIT(!_E+-ySJR)v6Q!0xvpP;Um-OD6IY1bd!eugY`5ND z*(;^qrMfGHXu%6yWl!LoW6%DopMN($$F7%}%St7r6Gx`hGf5MaRi5`SdB1mpx|5SG zvmST?6Q-+(5oTaxqe%O#X0UO6Kxl{pk_AQXV~F?j2WRBq%tw1vWV?MTT<>C2oL14W z*zcam>K>$}xTy!cZM+@2jpF`?;3P*w@4xVjJj*F>x8U?LIRggH% zp3q|;;8JpUto4n#m`X^Z*Y3FjAM-m=IetQES6Q*ufODSW)O`ZCELyBbbn~OUG7o_&f1hOdmfCPjQ%^?)m|%K zIC}oH-kAq}XZME_pnsC5l?$jK{S#GwhHWA1O6ahRtI(2>$}w*M1L}5l=A`y07>7NCu7x+RYE0J; zp{LxDp4*jWVcze2DIbW|FW>|rk>yjQFC0w^y^_b*~WkPJyYCjKa`~ev?*Or=S^9E@Z7!i z%9I0#<4IAw^b19AJgwAS|MI0F9FZ{Z6zZjf{O%R)?UQXMN^by;W?PG1OlkEdj=6l` zQFkhgWzwasOcydHbyR>|h;ZRg8(IQGtwx=dE=vh5IkJ#))CWzz6osEV#Ay2TF)&>2 zvdUA4P*%E+Bzdb%hJnNy<59leav*=W{s6_UUMBw9%JGMblAPOSFdit2yO~Q*6P*}1 zGR4VCCfM3q)Q8{fsnm^ng1`$LFjLA`C!KXV(rcqnhlA#Vcu&q!0(VM|sf?7Ybzr~> z=L)7oB{|T!+rqWvyXoYzcUil%DL8^uG;&B}-q{SD9ynV8kYg(4+s_MSb9 z1w2ZQh-J~3iK&UyMoI|10v!Ud<)emt(a}BxzB)%80+0N>kXf zg^jst`e%#htmuGh`sBhvVBVOv>L)%%d8{p0jz)!=oYtqZUWY&a$eZ2CIHpgGT zmY7%s@A#>w&6&Py!;buyBQvkIBQBb(pNY_8NIoa)jz+H8IqFWlDM{5M^CC3+?{NPh z9v!N`!ZdM)ALKllfryoyYMDnlvOU`FA`M>nw8m#CK$D$hUW{J!Rc?=u6&3k43-rIr z7b2?$q+PoXP7#-=xt~hYfV*2MK^|_7@B4yhxCO({sKkrX=hI$8M&&i=oB-7u5J|ir z!?t{-!E5)AUiJKSRB`!+&3kLb){*r3RC4&lMr_t|S^h@OY+0aH0J~xk zg;nC_Q%lhgMUn&59g}W0TXqlHf_L^5J@gz#x%BjT%0&3>{An_1XwDB?o>)Gf#wAg4&w=VEc zE{BJkl*K{S9TEGi>3!UF1e`x=X^)L!4;j170W1{>y}bOcEMg7AEzA5NA@lyF3Lxle zqgM#MRun(rRSxt`!^`O(e~VxHv>%uZ(!48lFeP>K@{Rrzo>zEDEF`(%Ps9NM7ZS2) zv~pUuS)ZFNW7&1TZwPx?W}jg2N`lxt8$-{?wwY$VkGSFzLg}~ZCx4QBTdBYbum*7V zD$!#`*LxCm-$vw|F9DQmUqa%$` z8$}8O7YU@S-oTxpxmfC)VCh4h_6Vk??Rrb?Nnp4%^7Qk0MSY+l#cv!Z2o$>C@~f zL6xSeRp1wdrHGIT3N%K1a-ZZeBR3iSrIhwh!zQP*1pFjvWKyfA(qfnwXivaxq`0di zFX>YK`eE`l3w7j3&?xT!_z7W6X^N2kuLx0AAZ+5T3~Xa$d=m&d9`p)Krv!7~(+AA6 zcmjI@v3Sx}CYY=F$8{QcMn!FmLFFZcHR;=yfphkwKuOHEIKr*L6&uhfqYdZ@vjXO&kx-c+5m-_ils76)vX3ez7FHxh!- z6IPt~fGO2Sh3zHCwnD8t4)CUKN7s8TN+1S}7y|R2G9Qz?$h6m$k$Y9`u+4vOSvx3m zUx8nw)}7A5Wj|v#w1(c0iX8VLZr!t50`caavPK@;HlzBf{{>q%2Xg4jN%WKo+8uilv^Kyk!>ss6)U_| zEX-$NL`6}&OnHDm-dYq{ff0EvHp9C~XJO^PqIK@jcI?^sliNR3s$FSu>%pfgi-4ih z*sv*#OCqGT5GP&O6J0u+8-32;?Aqt*8e1}R^4V2FXVN%94%$(W<-H89e06ZCTSK(= zRiV?X8#CWgL}7nea%CBS*(T(F?m2wLz#!^q8cN+2SjWnX5q*E{)S%K+_+5V2!Yno; zWA{MOAD^aBNLoE^?yuaVE2EcL(Vk$Ekq{N#D$?_&DZseTkN+DnQ0i?W(xK6es^reM z-E9uTdTQfFJ>{Y-c0dQRbOcv5ToQb%C1Ypg z0ccvcmH0p&K2zniLwUeP>F6{rx=(+Isyii6{u6B3sN;3uss+@b+96i=XEWy(HPZnvPa$!{~SGVhjXsSLhQF$ z@}Erm84n*c=*2zyRK$0?M?imR0-YZBGUhj`XuWbz!hFU5qM3SGiDF>jufmqh85li& z5#4$T{d!06`5ztwLI@)naF?+{5@-uAh@1+(!*5gtDU^T{D2 zFJc*+C)17S$0pBf(`c^WS$VNaOTvEv_!fGvT0*$(Gv3$+7HBa3TN}Y#$YvpnaaHcu zutUneGn7#gxq#Q^Kt9IeUH?+ocl5RizJ=EpT57^R**}@SdjZX8PIm$z0~I}P&p39m z@Z16^h;B#X{~lK(pOBn@9&|fZ`!aLkQja3xtZL@UTYXzkui2c1kQOd27H&MsEM@io zl|O5Lj=yoMvLy93B@o+#J)*>)@O%3}*>nc8e#~lC#8gI^bRmND1Rn!-8x!*scHr<| zufp*hdf3meMEP_4HVUWE99%bH^#w_cIvD+uwSG!WVOjkd$Nk-e-0@VNGB^MxLqFXw$HA*}K%R=l0T$l<>g?JN3Vp)F#B z(RSdgkl02>wfxyBj^E-x2RNsvRuG~#*>j$?Ji%^R{3nxr`q?T)M}EDB{_5&KB$Am1 z^XCz02_&z)-Kr!1zS7=JyG_3TH`p%6vj0Wjp#dgRyEI+d`)loKcaW&@=!KKio=bmh z)zUx4Y?qs-zA`(Nts$+5^H4yRT-cBgF}{s+S0bg`E_Q0WWQgsHO*HLSa--)PV5-Cl z1IHQVaBAK>7pVT5`ur)*)*y825W)Fs8&0)2hp<3sq}S<6ndmC@Y>^#Nup&7_0dWO- z3*^;vHt;wl^=chD&i>?`_l~QH!GIS3uRFW2fpNsizV*(B zH_KT1J+CGgPi#EHavBO z^0SH&bCX6hL2%!fc&ime&t)e$+_0v$fGYWNOqVjB$(LW}-1>}{He1i_61|G|Y_%u9 zZtM%KFk##O?6U|DiC|@veE{n>sqN^5lei9R*)egnUaQ%cAs2ddeXtW|)Ga_wCs z6d9irq%2(ewLov??QPp!&or@z^qeQ2L?zC-Jsnn6b{93@{<#sT)iM#)~B;DLI_t#&kd^AFX49|A|FbsUdNy`N)j& z+p~KTgImkO;w%O;7&C7;0mi%`$rJDI^U+KP+&+k3SQ*{@ z?hDzx#%K%V8bLJq67gKrwjwd}^X6_wX)iT8|Ew6(3+v?)9uFL-zQJw=b}W?$5AiF= zHR6Y{70aiEgYQ6IIw)9P52&pru_;V4s0ju!|Uhxmk#WBZM zdCO=Y9H+^wXilBv=`rB&KhS6gKHyYE1S74LBrA~JM!+xXw=&a(iiok(38M26PCa>4 zl(JEsDPI%dhgYmCiSO=BO(X2~#O-leNyK$ZH=2MJK z$!^h}kBb2287cP@#bb&wG!E8w!CS5{^v92$<$T$O&g%-l9`#J|EFlu@ozT6M$#~sa zAGJOl^tey9B{OVRNm^H}B5wTur?ZmQKMK%GkZ8u+L4mR#eF_*GxlAQ(b50T2>!thf z&bTZ}=XC4=56N|m!FkZN@CVbSyRt=(7t8kgNd7H%Q%e^}|LxpI*97?AB^NE^h0k4c zo<*w(pDQL89on*1$-Ik1I^QOeS_Vp%p-&ki!_GLvZD6XZqO(%25c}LBY#4~IQEcZq z$1|^^Tk2_lpF_?&@WFOq(pP|~|M&6voAGr8KVA{>0lKyo)KMR}$45`N@kDn`T>ai6d=OSbTYG;3uhr#OmtC#k!VzY)saXS+j z_mK*JL$oy|K7u?%H?QvbmIm!zX~u9cc%k-1CzmSBkjvZXOgTDkX zhx}&>A4T^vyOxrYbkB$lgUW$qz3TVD%}AqN?n*P7L0Sk9bk=5v3f=L` z;fm5TJ;KHSm)F{gJfqW^}Ae)C$cT#4GG{^ z)NW)EHEC-eMBSwMz$Cky(N+wXIF>q?er<;>rB1mUI0g5!48`X{3`o5+E;JJSds6BX znDFv2riTlMURU6O|TgdJ;}0*;L7Cj`dr)mVxS>0bO!Ab^XKnm4hfbC8JNN(uN70~ zs0Z&bvSuo-D(VvSK`dL(H1QYLy$75bmCAn(*DGr<-w2j%R#9;pKA`?4T%Y*~zcRLS zsOBv^DW`(r-3)b}+JqF)%Y0Hp7m9S9a zB;nq-%;x;^V%A0&QQ587QF3n#vCgVs8}dyJ88K%IwP8tnqsgGr9g7@s*9URD*j&0` zknuh8CgLuZ=B;518pk&L1M0z_a@@1$(60?Wy6sjDR{bRxz9UbcEP*Ol(YxLQWw_dL zwqONwD%!m<@B{7N#Ux_Zd02E;S{!ed3&!7u^wfU|M9viszVNZ)-RjmnDAK8CIdi>) z@fZ3rJxA%ve*>^}#X-&9)jX#W1E$Fu$?E?4w$5Q~iE2%My^qj!R|Nc|o>#A+RY71% z!*Zlr>by$g8-aI^9PBU@mqn@T8~E?(2M^#IvIDqp@Q2Y$5ovWc#zbz>uX5EXt~RA; z8EOgTj5?pbbA*yPVkBIOZsRp-KNI~$oW=ZGoGGcwbHf#}ix?IST8H#hza(wME|O+Nw`yV8zD`Kmhgx>)vI#`t?ZeVa;lKLhJ(1q4TYAA zD#qkYRp_>r zFP)11IF+u0l=dn2mPSU=C&N$F88^8??*Fi~!;xp;_dI?iO$MwjpU6C0+C{;oBFQji zbRGw{cIYpnr#|$NGZ@GKgTCMw(72?&z$)~L^HbiZHRwz<)x7kSnPIW>)>R>Nw0#lw z3WVi}bOL`)2CAYQy0{0pL*JcuJtY^ws~#rKN!NYtnL~~jECZ5NJ0j2DuQd4jmbr?} zgPf9+|Io`CjUOh~tT&+Dk$gIeoXQ&Ht&g-f$dPR4<$mLMZdgQ3h=^&ap&jrD#>b6B z`jP0q4<$b(_rJB#W=2Y744&)wl-6TH9+WN%lx2Wlo898@x8Un*Ysaxi2#cWLjng!n z#%1NSgJ8!(8o=Lt+-cE4@c}SHebk%H!{$i^PLrs2 zl$jNRIf^7gEz;8nJqzbgF=IGcCb;=v^37T0b6%>iLvWY2*V|A0F}UeQZEH%kKlKD|EoS zoguL4<2v23=@W?dOD}$=Ngvsse5puur}V_M%B_ArXRLr@{u~Px5kl8c_#)-E`lYOd zqsk}4QIpUeD;H>)+Dk;C+WIMbW2^90%}d%DgT!?+*lhaQ84-V}&}jY)*UAL#^X>rg zJm)3~9i#U8ohK}FM}D`-I_8csC3G+;bX^%wvy;L*`K5k3`I37hxqM3O-wYIRN(bRd zx^dPCa-}PMqFSP35?;sayRTtj|!9O`pKBIPs7R9 zEtP&VLeWVMYqqNQIk^~I3zg?2uYm4}+wAP!`qr$s?S|l&8E{cu9W*bE&8F&DKxrHG%8`8Yv!feDcVDpxeAJU_7w!{qD=B?kSP=Iu!*8&#hXWjFSXa2lSU^|;Z_z)99I7`S#Kuz)!F z<{P6f`b!~2sG@Sxb+HFAN=LozzN^`Wc`V^lPKa+jC0Wc5+(#|o8hqeIk`tjh2HAvsSrj5jwQV}+g z@wlz2>L!af^dt^*7G*KY%23&r2dzN2-c_)innvr)Ir6A)FD{bg;ib1OlA_HS+k~e{ zSTYc0x2q{w9uMLx7)@1UfoF$Acz0R#H#+Y2RGm?S>bV&*LuTCMvpR2tUaF!+RD;`4 z>^*1H5!JShXMy!l+B7K-n*&ega%*{+IsLaL(G7xKcX(%qGS%COddU}wOHTlhbPYMo zs~)<1TkNA0HRz7$C{Z!#m?n{>C~Ad8HKtef@klPYQDhl>iF$WEdg>91wsK9L-HrN> ztT;upQJ7kz9%p$En0Bej=GEG?|GvvK&&J%au?y{`^x!KvJC&TE=Tp0At5TUySvSNz zS-X_ywMV{nu%7a6h@bF&NGvb&p5WodlrN|ba6J2g#eMW0QSMikj{M16-jap|NPE~8 zmwJfIcsIeD45+ZEe3uJ5#lA&+ApD}7Ywi019sJHS{0mh@0Ubuso+1$KS?H&x#C7<~owV|{TlfOW}x zHkE+S+=nLL8d3gcD@`N!Kb4=o2^G#r1Gov&M?a|DC{S@K>}Pc|}v?vawjgeAgr4d(2CGMiifZA-$f6J|of*5HiXJ2^p&;#D;1oMEeKj z**ceEj_5NK)MzOQ@~M)hEk~`2pQ)9)nQx04_XJ}liWVE%~qiD zzcz95gZiG#y3*b!JqoXR)!^&4FTg4@Bi+fRpPT#rS{?82+W8*;wUOS=l@rG4ScizV zQL91aW`kuEZs}Q5+`Y$m@0X0zw1qL`mtaBNV|w(aeDT3%^sVTaFs!D!=Nu3H%W1z} zEa{HaZ*)>=)d5v^mJo_uf?2i~%aBt-O9YmT7$1lRo-6%Cm|r4jE*;WGE|RA$%wQQi z%F|5E_p2FAuN@pycIK?F`e=Ax+&K!;U zdIck8?s?0jyD=ntILZB6xcMS4f4#ZI(xe{bQeWZwpNr@RgIxBjSVQ`#-Kvc6ytekA z_!?F2P?MYooBp-C`H&6~o>Q-O_qH$xs3_u}QQZ0CgLl5$=)6@gWI|&Hvwii4kf_$l zyHWEkh6Q+^%czy32Ii>Cr&^6%qtiz*UC6x04)U~gjF?@o*PQG&E*dK4xmd;3H7m2K z+6V|4G!!#KvT#tW{YczHf#!YUZ8+ueV5 zQ;^i8R;-X!x7-&^7KZ#l0S5qEw;`+r_WD0wI7I? zwx$eUb~h9H`64*byN&HElSP!-O4i>txkJ{F>gl&|;?%_Esq0|teK{@ctPFRi8`yef06KqN4jI-ACrKH0k9PnHoztW$y+WoZL)D{| zA`J+?u0q}!%7D)>qinTi3r~;glq?Shm2ExedlTi)RBBD(=|;abbg`{D zp4{@0)iK2hP-?Bsgue9C)YrR+!1v*%F4x`)%(Dwo;L_c? z2L2EV^ES)rm#J*&I~(EK^Q~&*F+zy{_hADrt7=pVE##L!_=dE&NMOAM{g_1GkF-Y) zlI`x;L#tTFa(PHj3BE|&4jw^FP&|k<<1rwev`dKd(wUnouZG`T)1~t2Qi9pNdsm%N zUk7eA^Y*2vSb7<(s^n3F%CQhE{72J3$g8pO*R9TraJ&S`LkA8&?`u$rb68e|Jln6zk$6aSIB)uI za{n&S{$0rLQ5$;TjlE#xysoAOrD+#AfD$dng>^ZNvV4C_@4n?NYt1S#`Un_r`~BRM z!EM1;&w^TvuY_b_u=yZwQ3YB?EAe(wMeUk{KriQ3-Q$!8`od1;R^b@w?|89AE0umm zyiOf4-UYo4g8I2PLBo3$bUR`kUWutcGs`ML@SFH30Ypz6V3D`a=f9o>&8K3=I;0C% zYApt9?i{gJ-N}3}?>BGHY;<`h%H(ZGxZcHZqRg9+`X%sI_GUKY-=k*bLxfi5jk;G* z%1YLWRLAPAn6Wrmn2)sc9~aJR z+6mpD9%)4<363TRx@MxC+M>ge9Nu`jDM`U7paI58)`eW8C`&oy27GUVwzM{prZy2% z+ng%I_)25oNGjl$O8$FVHOb6{pcSJ$fuPte6{G$lG8$qn9%Aq|fz;rkvVt_-YmxcgProEDJex=`RcWZ$Brj7;SO;LHpmC%=NAnPq4Ed9nh9!k}prW-@Aj3GF+bSNR_ zRvSHm1a%K%i{*C(*c1UWTQwld=#oQ}GvItAxdmfGkB}S4-lnPEmN#nst3}&`spnCP zdvq9F13vv_^!a6A!%bA3P{};OjX4=`R4Jw8H(+#l2$9s`B0yg(&PJYbzuQ*0Ls^(S z)1c{NJ;{b8%INaalF96AQyDzb5ORJRGerwWj*8@52+t zC9vOk={omBNKanUHt(cgv_9{UO#3ER-*@0N z!bYKm*OJ&~FBHsbMjykBS@r{EF5L(!Dc92&&5Fk01J$T3ZLs-MBXECTiR%n4uZ=Q? z&iFJdsut{4Uaxrnec(zrQq#!a<&T!qi~Vz5a?5+P_H^J#IC2tkQ|a&GJ`2vSJu=@v zURjOshtt|{x_4bNeEot?wC@9_yO9uT<50o$23|v_p(+hLy6zN!h zZr!m(3CQ--c;8dxWA8Ydmj7fYUkz7RfQgsd#|ve<=MROY(ob*V{8~#~uEUHxfhoy} zY_z7?Bnvh;qk74avRNN$jUvb1JE=L5?RF_V#(-ADsFdJxt;iIQoew$64$arPF^}e^ z!}JZK?*OJPmPcU^ux@-#kIc)T@^W#eXevKlLR0$$YS`N7k?|W-+2)#uZ*J!2g`GLo zQFDOd_~S^$`(pMPQer*<$g8U+m`!iAb6&ho`~4S0rGRoHDPFyTWzU3&%@WSyVsI|v z51WR1+Ne%*xe463*J}me_@0&M`grlOJwsp<95;j9sCJTRUHk(bs{w{C{s9umJO2Z+ z_YQ%ks>92q=%xIo+AY)cTIBAblffF0`Tl>vwST}Q-EEHKE8#pudJzHbQ$E=;4Xp15 zq_c`dN_A{g3i>A-{v5MkVlkyRl!QE4LbkgotM$<4Z>vMV!P5xc{Diwa=(z`%P~_xs z7gVPsAsunr$t^n-;y;f<%Upwgc&iyMdVYR#BpwkEyMXtVvwSZRc}eY2Z(jkA7MHHHoAJ&Z zJ)oNTD1a2QI)7_Wx2yB<8rgV=HSv6-EQ_GZ*lO`xq3Lee%-Z48qAqgC`#QCSMaif= z3hjvG1+~}~F^2gH+TsrT&6=|6M|ppOMC#eZ?gWzkCG`_1VSRn74;i?B#45ZOm&w zRn086jvg`m)?mxI8pHxsjd4TNbq(5H{)k=*Z@d&dmd114E@*fz;3;HzCMgV#24eN!*GF;MIsM)B#`&&oQu2pEc*B&*2UW!JI!E2)OOVwDAeP8z$(Nbfdw5 z^HHGnTrQjVj9VRIUcl4(^YFSR0ZDI~ofvh8*p>S)Ax=Eg74S0Lw@Yt^aBC0THC_Er z!Y#@BN(iumS$Wz&S|4#XcPpz&K6f4dL2KcC2hcso_sBr-S(Mj5jR=$j+{e8uF&tCs zGU3bW{$*lzKy!NCJWc>igST_|8*dGuUJZ2W)~WRe#K<`G>YLI?3|YhdPo+BxcyRn+ zO{JNdmh_IotyS-l8eP>$Qf47mT1;aWCn=2*2SD%BpMZnL{})L)cVvCz2`+RV>hIhs4#J@2JDTOPPI9TX$eImG`o@NOIF6 zY*~9(r+MfM20p!_KW%s%`sQ4>kKrKr!(C$Ax3?!65r}0rM4Qo3@8bQI%^yU%{*C#W z*ATfpr&O@a*!O<9!1y+!C)(haXiJ`FZQvG^XYFiLC@#D*Eu;p#JAFNg7vXPm@+#|0 zcn=|~wt6~w?sVins)K~ZI~tgR4Ck1*j|GKor~V0w|~D#uCs5U2bm& z7+TH+0~np~qjhvWc1{w#LmX$iv7gg{{u0siS*bTrNPe+TeZlFyzhe%y2b*g9Iso_d z9%pj1k|b>ilt@jVTs}bV{aOddL1}8~Cq!nIbGEsk2_`jAdSZKCsr#;nGPIP3gDEfQ zTbaCRx4N$WC@sO?Gah%(d*t`?aaC_U4pj2&xXM`*@gG~Z))|7&Tf!n{=*beE_6d3wmRBa(vkyaN zHxbK-$Do+jUZ?9yjk3H=EUDxKuCNgy6uY0AA}_-Xa9yrUa&N07CKdGTNeY= zPhj{KyCdgJiFS2d65z>C>?AjC`(AGERW7WzcjVlwk)wmBKJN-<{O#Zwm?+=gt9<%) zwju}0`?@ih=dGN&oZE*DN&c+9al@&S)jmBS>FZf|g`WGjWva5Q;1AKQiUi|LpI{sf z;}&cfkAU&qf5NVR!XPXpz>2urup%N-IW@TjR{YY}i{PSqDC$Hz~dHNjO$>fyTca^U*p|JvpNx6J^)3EaQ78U4fmwJq;odm{hc+ZLqeq4N-f0XO`I%V~N;Y`E21^^N`ASfg3M_g-wNMc2hpIM*wrM14b#9oa?1EoO@v ziMad*;)xbEs4eL;aAchnL<~JA_-YG7f{koDR0m~hO_(n;I0aQkeSKIh)lta_5iXRT zC?Lef^T^Mcm7K5Omqz5f@#+$I%h}FYU$;m7u`6#)tt0}cNYO^914U4g;L7jEfZ5P$ zzGjlZGo6v5#_a3{nd7mle6PuGMT|9R^g+w|$WIG{(Q}m1oe}%oMauWAbb8&S+jf*E zpT@Dvrau=nrBxgAt=@xdyLhytC+uuQ6V$FH8y7_9Vk7UfefJ+wtu5g=`tn7|)Wwftw433%2p#-?s_@q@kznFRZcy#tB40P_xh&uI= zbnT;prAMVNPkPZq?s25O(6bo_BXPO$SSVsZ6=5c-PQ<@HUq7PAHl0n_P=xq>iPRHDz(`dwaqckfg)-{KZirrPR*Cg(R<6B!n#u{WX$t%Lfi?o{{w&3qXhW{b3x zWoR~pLi(jyRk%HiDQf$A`rti@A5}tM0Hsz@b_tzru8xUSuHNLi?8C$`u5O@0!PieFVtL9LG8se)eZCMdRLn*I`;D*2QtW7&rh_H~I-`(UMlX`O#^vX%K&)H| zX<@kp-%7EYLD%3tZ7aU>J1m$aJ+mFcQd~}iE1q8dv9%@8pT>KWLH!~ja+&4t((v?>SJTx_ioA1Ir?aHfL(u;TdMTvSaE7)@i}S= zJglUnE$R!MJm(WhmCacPSkk~X7EO@aw3c@V*h&Xnu8c+PrCw`mv{9<*+muqZkqk#b z-}nF-eM29d2@KDXs3to__#ybL4``OzVIDVLBj4c(lQyM-!zKw38uy|;Qj zfX>+=>D z%X4*`WU?x!v%E$VBt?qzp0b4|9rtVy5Yb3~KRbh{V~$ zR<7G1giShPfF=fd@wzg?N3m2fZ@*kAPB9Fd))xl2zxRRnpX~(j?ydB2D_sy13pQYE zm15U{`3LrJRd>1fV$ecgQ=-R!DS1sU*?%v%Z_;lHn~c9h*XvTE<#JPcWdqM?7UdcT z7#UODOMcP?4j$VVKVww)rJtUZREwcz4B}QnZfAQl6Fza{jcNIm*m1 ze0NQNhLQHkMd9?gV$F93(c5c+HS-qmEj1Xrvc~{@aw`#Ec~;6(Mp2&yotP_ug|GWp z#WDB0_PE*Ua9fBngo!gLofWSt&|xEQyEy`Lgy&N1)U=3nbf;m0>Pa+^j?O$f?~S6` zzm@!LUG(<4$LP#M@E6|7$LIp~eF(LFw8}a64*^7LJ%BZE(MhATL&C1U^ z*vkIV-;p-%O9O`=`U`K7gQA3O@61}VE>B#`*~&VkI(SP0Do!pG(Zt`fs7Nl+N=upGZ8THQy$Dl7KQkhRihwg~?o|8p4%thK}4i245F>wsq zeb2}jzGCw=sw(%;9T7I<4hi=CAaHYQP&{&#<3|+dW%w#rxol)J5*@TuWXpTs?@jAp z>q0Di4CIhleJxGCQlS8cYfuz6D5OF$_6cyZ6;lFWkVy1zt5KF!7iJO&$)Er&D*H3w z8MRUgtBC|kWz;cwX0#0ph1>l2iBLrF$SO%1k5D)3dWeEwebpe|>1nu@N z0lZu3!ZsmLzD`E}-b6VX#fBzeB;T?W@;U>0vDQP(OJ~%fc-8T+WHE){0kX>Xv;tX= zp?BE(P>YS&b08_C1eb9MA*L(V68rcqd0tI=`Wntm?2eTAM6Ij8h>-#Ar9z?Ayp=3D* z?f=U;ozMXXY~61+reVTt+ah1 zS2PXb)twjj1GEL_xu(8#il%vHUzH_)k(Dj0l?7e)*E7Y)Y3jGJZ!eq)pBKXpIWmXJ za&y4LDV?mIZ{vt$ud^P%6|dG3Qozf3{JYQThWl?lAOn%RWxfn!=xMtV%Kwp2pG|1 z6@B%uUPZtB%zeIpsmVg&vL(W0D~0;1+y%m()x%{624}3`ALFlQ&`P~@#_fFD6rrg@ zc*!i`MOO08=c+aH)Fze`Jxhv)V+oGE;X&i%6^h;?Dd z3N}f1MoUh}0_TsCWY)J7O`};dweN8}o2(lF)yLlES|Q>kYk#0@*zs|DG^dTikJMb( zAn8W$tufR@tzw&KAnipbsH~?fR|q;r&{v~9XpqlDC=Hs5O`1dm0_6akRilU=V->0F zWlp!znrhRv10>lO@Ls%_j1Pl$G@)zhwW@jMBM+U$QJ=oD1}<}X#|*)HX+DCe7vOBA zlj{vW*4a(wWH!Jma%N$Z5`mTLRHg%)zSlW|^Jbuh(41s9H0|k;#u*THX35O{bTcvdVFA?xB zF@)X^?Kp>1UfHK~lF3M&^n*S9v=g1+JUCv~3|vMfuj?b=RRRUiU_TB;eFn9(&VZyJ zbb+-B?QAWB>=aHGiIB~b(*K=_d8-cssbHGVz<)i||D%a1z9atMnSoXHDr5l=90FoF ztOY{8vD%ch;=jJAX^eHj3K39>lvC4_;Y8789;@ggl*Im@iDS_JKt$h0*NCx~mlBko zC!igxK9mCmD^#ZD8^E+*=B;b&1&=3D<}#b~uSe*p-Db8{vi`X=ACodUGc=CTp|IB9 zpBd{pD{950iF0B&-(r48)M{hW4{6LH60awE3iC#O&)Yo=(IKKR3mj2_Z&~~+f59JyFT*d2`vRzwA-_+^K2(*hYf-?I@=D1LlIMIpC2cX2M2xSVcYu(=h4%Oltv?!#~tSi z&#GoeeN_-9FypenI9%k8KXLR!`^ta4smo4A)k!~;t^8~@lofb@oXy|!q`S#lCy$%)2xI6) ziDH3D$>N7q(t_{XK(Kr%b;TyHQ*tHAi;K68 zv{8`x$|i-+kK5x&I%P-BN5bOsY>bMV(T+{z^7`j?fmnm=!TfZ9T+Pw-+6@Xk|akVZ53T2?$bc&Pc;%B?`DYfwV0)-jAxtB=N9dNL>aLiNdp zd#{KaRTlL(yIPJY4Syj&X$UMn$BUuBIRJK>3~BI(%-pA!!i#W4w3)=0?Z{^%A~s$ZU^*0n++NC?e!ZrEk_}x})Fd zOh_3_X-@bBhmvURD{d!={a@kOTIm&n^#QW}?&v!?P3ooq-x7M$_&1*o>LE7oo<2l) zz+j4;)jx`!p&3ki*(|Q_AoltDe#g8OfA>kf#73iFu}}q@xmIPdy1!sG%3!#B-M{1d&Sq|UI&)cue|po?bY>t- zn0W+QlE}@H;-0shB>Cc=!B~~yo6gc6%6gH`ykbf5wxrluQeb|C*-l_S?C@wX4os{lTVj#yN9Z}c!et~05N zs}Z)`v)zEb<2Xs@liiO0B&-fbWXaJvDZQ_asC@lEPD=n5oxjCd*@eFKd-{bq*{mc{ zXHyq?Z{g`3G7nt1$z;I%HH>V@dz_^D(r=W3J-oGMg7M5_WGAk>nu_#|pAxxrqB#{tO4ZE@X{nhIb(LwN^hSNm9CD;)m)Tb7i_1j!fXbG-IEa2T+23#+Cce;8M>L zZ$lo30L2aID-r9y`t#HkPlCoRsGVus%!{C77bpk9RwL-hUqgqLpPx?~*}8l|J^3n) zs}?3fICILji8~YGcRxY@lO;y)FDke<7D{;bBj+H6!>|lgE>f@p=`@2bpXHL_@W{iJ zPGXHSnxkT^Uxe4gOatBWUj|#9ZQ1J+xM`X=jQyXz2KbbL0osK@WmhB{(ld#PS-=iZ z-%Kw;FIXhj@q7+$-T4ctdq<&Vc@S8>3hoNF|9^spj1YE=hOK_|t{PumSxOvvA>Tm* zI8no#t-2qFS<07ccKsb%OM3LK4|ca%RD zHW0|OQj@G@`ge?031Uv6zxWmByDx+Oyfat*uDTJS{1H8G!f&=T%mZ3&4>^iwH;ogs z{8JoJQv=+TyfYb{oqmf!?w~|)${SDl@dr{Xo~=S(#IG<$(jgD;{fIksysiLvxu~#^ z>gDeDxpjQ)!|$mUYShwvo$>OS2YYfX7GYk`=-jp)oSB(gfceF28Xs?vuG`?DsJ8X= zeccMro!G}dpstO*-$*C#43B-_+BCLnm9xjURfSd=J2%HF6xtp;DKD*_EKmgxVKVZX z+R)!#JhRF;JM)oGN~3tk68lt{-ScK9<&Bb1EAV2E?LwsR1j{zU0_>88YLE3O-9BIf z=tTR{N}i6QwBJ?|#h!H%a6(>GUq_9Z(o4Z|NAPCH`Q}kzH?(#CxXuMAS>-GCU^ry< zA{Be^~N!gMQ@pVjX>7*m}M8drez^KQ%M zhAXeJ;$EMvN zre?>y)sHb>By?RhT)yVtaXky}^A88z^$hYRhWKVsqINZh#^}VXmXoJO${&mfkGJc^ zw3UfBN^VvcU68G|8FsK5cCZ~T-_sllYs!nihu#_W(NwPhmW(`iPz&(oRr)0sm52h0*SIfqRS8v_={gbC;g)OLfI zTq9xZ?q=>KQ_+A2Ver?6n=f{%plK zhl}JHa_NR@w`OipI+H*O2nvn|2IGMp0;-t1nh!+^u?O(IB{L z9O%)_2bwAL1yrBiDm%*ok{-Jx&Omdc-X~1W5e?>S*nrAT1Mb4o<3hCYduv3RL5unK z2~N~A^qh%IrB&c;IXM@+@xs!rdY)ZNin(8zGnP1xGp3F_|2XVzM*ZKrc6AX znLBeeR^jaNi!QSUlR$ITyyNuuGmBSy5UBmzqeyJz04YP&X(KDd2z@DRGW=$4;C8O; z^5HY~gO6$EU4`f93OTX7#5bUX)J?I7u#n8$7LPBSnYpc=_)DZ8?<(~D2R!FDHH+8s z-lH~f%DO3!U=41a#HMfk!yIUkqjd?`d(r;1*x{GX6ZETdv~zB(drN`6Zw8)0t7QFk zgpOg-pp>qI?w@UlKDgaEjD6*n{SI`8z;i8xn>|F>J)`B;&mltRvRR6j6hGvy0=mA) z=@}HeW4Pc|Cm;5ehW~Y~7tgapI;<8RY&rLY6ievC|2mv9QsDTJzMgOO&_{WhP$X_i zX9a4;w$O;V6!ELLT03-zmeeLp=$&sde%l%0a|?Fq(CnWE$I-%s*a{e4w4b_SaxnN> zOr~&Eo!ns*>nU_(!wnO{ni$-UC zOqR8bJ~No!+(!&guSA+{nX*KcKe=(*BMeuIXt{;FaseuAMsDyoe~Nb9PQ#>QerGS! zmtYH{4OHq`uPI_zG}37~{R7%ztL$b&u=@pR^&0V^E^qfadA>`IL&XUMMg+C?aAF#h zg|2BVz8px_=46(t(!>Spmh{7`uiRcxN5`fFYMn2>x7p+%Zx&bYBT47=$2&SEnNlzc0w>AA9T8@^8!{@`_xEu}o0=EF}x4pz7Ul`gzZn2+lv zD<7^aQ-?5;xZzXN4=_7{oU^fB)8G2ms`rW(z?0?%ju4aX6+WE zeWz&`ngK@OI9j2$tOoKFs23mRw!hfDGzt8xpFuz6;c7>$iWe3NXvCj;uOD5K^MSYF z{1&kDD9)vk^k5RlzrZ-ksymWATsZfWBWw04vD#k#Dmv)1JN@H?Q1#Q2IZR)EGBSpE zv9JwYho^jOMz`Enm0d+wW=Zvx*Dz?TuduVDzlX(`%FP|od|0^S3v)Pmc}}hJep-mN zoieO6z?dx&UOCO%I6oX0#+X&fe5CWan(E(Oteo??x&k=x6Jd6I`AkAhl%Zl9?e3iE zaUF1?bjJTvHT6Vy)!iinlp zLdDEW(0a%SX0T(;q1&57XY5*v{YS-`Uz>TWh%bDph&bW0a@EFRhYiCHqIv&6^!Z3J zZ#jjTNDVUjk33-xjrD5g&a7WIo>CY_o;WVAIXOto_^*C4MY{Y|g~k6H;wDd@(mv%2bCAJ8daK2WEyHHhIZ7Fdp(4?A_OpvQx~ zl9{G6IpB6|W4`LeIBR#%i9v6$b=Nt6^FYcr7S;=x?3R`VDOtITyKn{*ZmRBGr*Hb4 z;8`v?F(uO%Tbw+B)|+P9Ol&sbBr3h=c|qM>AqwXr)?kK6>pS4Bi(0f8-uhnkCq+6SLjp6mt#)olWm@dN0Plha=;P7hJ;?VLQUOeR#89Ew4Kja~_il z`n=RS;pC|`Q?&#K&k1yT?CfKZh9vm#WRvl0i2Z7xhgJzROBuO!lA#?)E_odl$JJ6g ztd?*W1d{PaCy?Fri=}}5HNyMl1%b$JhD#~AX-sj7_y|t03_)4MA4Yf_hVkhDJ#Dm1 z6pI+b1J?*TRp2p}qc;mPcid2(9b7S$~s zu+{2z5Ib)%`}rR0`%oO0ZLu_Zi-ftvs-zEE^Xm{I!d#Ho2)W)8oVrA`$OmK<$zr>@ zUJLHI>|GDgp*-_@3vllvrI|q`3}Y%Ucw9PFRe5p;YnW2`1AulyLhN-uIq4g5+(zbZc!(-6G4|x_{TIz}~kPOVL!g4$)6P3W{ zy3fk}U7{Vjs-Rxc8eP@4@1pa%syo~m(b7jOZWUHC6zg`5oR?&%6*xS4~h(sMy~YJG%YZVt!mLAcrB!CWjom{wDo2y6BeFi%_35k){1r6h#THiq9$;N#8weL zQQa?(C&wdxvD;+Up>F2g}w^ zmiOu%Z~POHx;?V}vr#krzTuL@idpnDC65p@Dji8m7FTTQuaQQn<_4}R-sb);n1$8? zjyX>@6>LAzkM@FYqsU*q>8L$^cgP`(V&<6gLI=ivnYyX1EmctYS~Tmcw-(eBI-~wb zV&j|^&5r4xYVxD*VEJ`&kHm|=#_A{0K=Uz*LeLx^l;iujjpLxOFr`7u!n}C8Pgoba zTN$ZN=lMO2V;8nOX3Xh8ZqQVF#M0Fg!yD8ct1gW>$-H*Zqtj@-BratvSagStUvZ4L zW~sHo9aPXRB<{~y1HHG@_w{`N0?5O(bB zjBk=u9~$22TobIGAQZgv7#?!^I=dSP^re24i`C{bLv^7*_b(kUiW@=C6k0f+lITo_ zwvC}O&?MD`@ji6p_}$T)w2fZKfhK7byE6H$szIhVo_#x9@l`pS5R6whB5sRYGzp)Z zDu{k()URIEE7A-U^ZDZJoCVyhIf~7!ZiV@MuG8AFY&JJ4e0K>(e~gR2%yrt(g^h&` z8Mkd?EymF6lIsUo`5Ue-D zzq_oo;_xTu9AjeLt55aTsntLK%WR3{fA%!y@%o>5cUnyI{72cMbA4zB9kT6aR%A#R zE|Ko4L$>b&$KeKKNH|%0amUCZu+sTHw3`mu=>y8h_Psdf%6wE*g<1rcwUR3uHoQ!D z*H+76Q~;;vqkyx7jhHiB(OZ{vt3H%_$i%}jam>W-4$zWnJK#b1{WT7dm}n(bf5m|= zS_vL?xPhlPYl(s>ex;^N&CFG{oGy<&g1CNWwXgV?tZ%t*G}=#i4KQi75^3`iHFzef zyStwr)dRf|eA{LCVehf_!Iid}s53*?lWgw2_4T_#yTJWsBLjs|Tg&cUj&EByvCA>X zs2l}`rZU&km;RkQdujk5yJ4yNYGm1>u}tyLC_bn*ck91r`R zq(WafEo5l1` zy0T7f;LCnNNc${e2HVKT8k`KMAzRAqgBJtSW^BeHRgYc@=D4QHB_17hdyoMayQtQ- z?SLxLAPz2;LprExxEn{`$~PKa3*Ld-k-@gzcu18A+i>c|1843G+6HQ>GPR*$!^MDn zGuw8d>ZQ$MU__s7Yp5Ctu?Alk&H@tIl#>OrVt);2aV=ULmI5d))?il4ikWM{Cn2+- zEwyO%q6V~bJsWOUNYE=8Cr?XNrVUL>twA|Q12U^cM`aFD0<}~kZAi5t1sIrJgIOsH z-Isy@4EVM(&IUGSIVlnx;)NC=VW+bT6_u|h z3EE<&SF*FaN85l&v2UsU$pT{~+PAXP@8S*vM-qKO$}4gNQ-(g>~%7l-zxQ~*b{_BZx=0q_ zXVc8FXLgiufUE4Q!IwLz`H%O)$q^KMdnBo4Z~qX!|30Y@umfa z^|&ibpkMAvt1VYEYUE4BpL#^Iy^vk66k`Yb24QQBR|ynXcifs!`$ah3H)t9GJpWpb z+~%vDsn}jqQ8Nio2z6F>-tK{LG;oIFrAoY;M9qrwQqu;}eXXMUfGTZJa-@*dzJ990 z{E2-XSPzB%psx^MbM0;dk@o&cDVhb&IRh+U&42jeYH)0PBCSe}u4c)WEZ%9H08WLS zaC-d3ZTzJaVuYN0iGe7GAAlbZF1V&7un%r7^aDNs1!VhWBcT*n<~?}ZV&A1toP-QW zDxh4)4WkT4u2fsl++i*bUAt~wgu?48Q3P9fjHN-tG57(CXhR3 zK#f+`=GM!25I&%}0Qs_^}0B8IaTO9g6n*>G~uw? zI`YC%MeFvyK;s*Lw)O@EZ|}r)=FT68^IFQxJS&W)8;!D9{F&F`G6k8TUv`SQGMtnQ zX|O%&@sd2(oA#TV@e4BO+b)hDeBzj*8tIVy9e#FcMY1bq`Uc2Z-Iurph0d-kz3xIl ztya>vQ4iC73=18U3i_Ci{_3X&bq00kl?nCnwkj`yGYfEov^lO$AZkHY^_Am#Z8=& zJv||>3UzC)Qnl7cqn^nMHb%e)gg*9UD}-$WqepxKZw$Mk2trzq6CSgBKc~Qgh5ZsY z2Ifz3Z-=YIj9b=d(TK1 zJbQXQf-dpzh+#-E=b4aTmGHRpGU-VuvVGk`qFSxGG?$U;7Nr}=}B8Fw@6@jFsTlQNWx*;iM`iVt?9TMhU$7m3rugVC+)-ONNn>J6cMV=aJ&v_#Yih2V za4A}(kRT#xnd3ZABW;opFQGN%mNQ2I^o@=|?t-c`kBLS++x1*cY3fi6Gj9%U6hq0B!hh(dEFzp|Z6(~j7x~rrG1-2R)cH%X z>B*Fr7fUA8v4b9Q{H6&UhO(yiM$b-T%CyueJ=cLqus2MzE7} z|IRb^NU4E%{bibp{2tbxA+$&VCKJFdgsAfOz3e!(`^ag<>0$}1`Io<$!oT7tVi~1s zOy?y~^c%1}dpa2@=N*4bT3nf+NR)IEx_aev3eqr&psVn3AbV#W>*Uf*idfqE8kRkD z9=GBV9LGGvL9fpu^Kd+F{*21j{)X^7YDyqTCguvJFAK^`3#F!gsF94xQ;4Rt6rTlt z>q;Er+-c*3h}*0CxQk~bv6*KPhSVX%B8AlrftTF;L1he~FEsuZ(9?YK%Ub}qMar4X`(_M2N4$V^+(N-m&!E=4FqC)oZzi;R2{_T+eB~E z4cac<@Je^FVq+otlE2aoh1z`y?=k>UjK&)C=B^cqHx9GQC zz;?we`*qzNZ&9mJZ;_P$_8O_JYmA5mGOOk`(>!BPqYAP5JXV7rG_mEoggI{%t7<+< zgk8e^alH*z3;6Zy2l)4e>d!EkgS9BB_{q1D{1J>skMTRMiHaMmOx;(4j;ZRhSkC!0 zw~PRi6L=-~v2LWH9c6>+t#guOlL4(|)`&tFDGM%%{pCDNHvdIq{)dZ#?iHxxY2F=t zcyaF#{O}ZbXdrfD)rE-KP6hNKH!bs&)*a$&}wV(o^E(Cq?L9XcSSi@&fX!CM-?F5BP2jzcmGdec0ZSkEHD= zA!VLO+x{1}G}^=B(~hND?pjG!^~Wx&t1W@antOlh=?%o7-ba;nrzcnM+a&$nyno~$ zy)g1VX%64|FAQENsnv1YGn#0$9&5UD|Ni?s=i@KL-LJ8}i~f(!c_V6TGahOx^tm2k z(y}@m%T35ZzG;&CT)XCd?c6nQ;P~I8{znY(yZU=j9p?z{2C|K}$1NTp;#4mSt_j#~PPaE!1+sKcjv3d8h-es^f`iW3==^3B8=rRyQ`i%REV z%2y`R^z#{_bNo-Y7u~Ri&e?o|aVawpd-i!eUE>@f2eE^}Sic`}i*(?{X0S$qba_WR zX76-zio9cNGsH_)EX`h^|5TARZK-eFCb6F$q9w({PfadJt5?!TY zavf6>*9nS$YP}Z1l4#5DozSN#vJd#wopTSumA`9P zQ>0tzTnNvWd|V)Xc76f`maw29M%YtGdd33DZwgwFOf38o(b z_WS|zj)QUTTshrxNR<(++LvuPX+XH?%e1r9u9jS{G$Y#0uO&*XA>4`r;Sqj6e_U0z z5JWifBmX2rX__Lr_LFvUG`a;6ea!}xTf(zLJOLLKG)iT-pc_p)(`C9?MJLc&8Z=c4 z8Vs_w>UcibCor#HVKJkt=Ogpf<)T*-SquXSB^qHMJ&GXjTyoF=XabOz5JwDvUHwg_ z!RF-L+xQ)~$Gv}i0`q&*OV7;FrzQ3Sf(Q?A9FQ=3fmf|`M4Uu#W@hVUYr*vNkKj4fo z*~xkiyP0v}4~Yy~q7)8U(EYCj;s}d_L2C4C|JzHcaGh|+_6y~3%jQYPnNT=v&h20yE2ms> zinj4BGc8Bku|8`y>`n?*qZXeha@ zo@iwpyU_3r{4Blw<_q)eQaL$@Mc+plxIETuHHFHaMqMG8$rIh=i7*z{A$t|u>$`D+ zZUH82$7m#GyMN(Wt9wm`=)%FVzZcdcEv-ctj?Huij5Stsg@c&8ZxT#3XanDQSDYXg zGnreJ{)|5JjWDhaZ+zcI^8D3sN>5~h=rT{``(}vt`ljU*XgM&D3@zvS1ce#(kXK;o z!*0J7PhEawI8a}<^){=+(b&BQ^!04GKD{jbI~QN{n1m|8pXtolk-dJ{M_<{IOX?TC zM0I%a_N&cB2TWq`0h`-A>~~W37(e^*u+tLjyj12IrFW5FUSo%~ZoaCTrY;|R+hOxO zW2Huq>tq4OFD`XkI_B46Ms`a%03Xcbi= zuFt$t^<0))r;wKa1XuCy^w7dQ9$xS=o~K+^`VOlVV{q#aB7LESiKVKWHGX8}lEvH}lK1_1%I~CM4khbR=Y!vrq4pNhy<&<^% z#;tR5!?w%#wCGARMe26mbSU+eM0YDf54|wlaKgv{-MSfd^rD!%6Fz(~i`R1&aZunT zIPExm@%qI+OmkNz@BXVM-CkBv0?F+Cw(sZG4X2phrN6u%Z?Uaw=BmD=~!)ss2UeLV;* zqOoIHpEcw|$r4(eT)PV<(p_-YBVKX(d4~9a_2~jBzd1j#KJo3PDa?j&bBU=Q2MsUp z!OXy7B~U45<{^U1OKVgers&L?^JRgjCdu3IA`n2FrOLi%C~qa z<{prcjwG47W!q%L%P8w6Qk72t-6rN-l4(Bmh>xpRtnVu+8Y9I%3oy;>7~$4{Od&gi5KRegN;yibM*^PmTa}ky;>w zSt3_}-St35BX_r|U`P*rMAi7$O>x4JU3x%`c_^_{fIHY7^+r{&o+A0j>xouVbJ2iL zfwijtP9gZYRJ}qkkE%~hA3n;$qL+^v2J-|d!f5wln(R5nJ<vO{Wma0$lKAC zCs>$I)~q8vOgV$=s(jyO4S}m{2t~YczX9mAS&e7d`XSz7)@i~g(V0}|R=fQI9!r|p z^B#jTF+ijMS5+q`81+7Pm0wenO<$u{fEu!5-lkn`FxEd=%^toxXu=O7c8Ox3oBP#Fd$i8f7Uf(9+iNgS&5atP}0YYb%>gLef>n3WR4|@v~F@CI7 zaExwA*MwY0I=@=1VYs zdMJ`^6z$#LS%k_JQbe95E#Ai6=w^HXyt7w)SPXF_f_KLdFHjwgFqy$*#$A51@{vr( zUZ&&gL(ns&U5{e6O~#AsCwphd-Q*c9jDEWLJ$%MrmacgHJqwpw@X|E-Vt595617|xk1)nm0k?8Vbl_zG&c&=J!*)YS2!Do1DJ^V;D1uCQk$Y7aX9)%=wEY!e9E;K#(&>6-Gq-f<#p^~y&lFIh-NQ+pSb%jy)E%j(au73sSL`2SeFe(3@aSLA@AJ>CCnOy}?YVepkaQU9i+dbD4| z?HTXzuQ`TM{T)Y*k0D@}X^3RO1#&(b`Av8a{F~l;mYqv8YwKV@IuuVHqWnI|_?4#v z%irZua~{CxBg7GG2dF`CxUX4P@lTy}ay&k%a(8yX#EL6X`Bzo# zC>hYPx16$^i;UwDg3pT>fjJNM(op&l^BK#X!f3*@qDfpHl*Ey+W`Pd#Hav|1T1z}? z#|gm?n_~gbnz#lNXzilz5E7b8BLMN<3WKhq{0>ACZ0KDE+(YQ9OM9<0{k>u3Mub&t-~eb)ROXo8$)& zf)f;@y_KkouDthBe24i;64#sw0m3Nv_g&>;Pwsg3FJUj;#L2jNd7a{2sId~WX3j%v zKKA5q{23@WZHBi(qPGD5?L8l>FYEayHvaUMg_s&dzA6pR8tgrcv)pH#Ci|SX0d0ld zo+R-WMonKO%%3TP2TBh?a|!Pec^T`Rj+9ZpZQ%W$05<$aS{Rv1;~pZA{8oI+Zud-u zMc59&+%td2?fKZ;?SMy|Tbl36P`DhvqS6!yI1P$c`R{OqME@&CIQgw4?N}Eh+e?jK ztRn7NXC)Xyt|400aM?%kP7olCcp9+#VY6KU8!OIVNjN*)`{t>1|1v8Ab%)$Fc7%9n zKJB9-+)Bsi$ZIN3?U0DB1fG; zs5692vCDFxQMB3RQ>HF*ayt@dc9uC6gfauVl>0?qJ46ELMTGZfaA`TgKSF_ASUzof zvOcGsk(I{^drY`rCSM%0r5gV4yecx6$K8yEeS^fiYR+V|J(CCB7hx?F0PN4jxQ=21j? z+(pmraa$@}d;6F&U&LGg9)cmhD?=2jZucN|a6rm0m035m2?HSQMF_w9t~2UX6I)7? zX{~b8Yd{GtVW+pkQA7?M0PDMG4djD&T>sZ|6(~U@>^!T$R;uVjV#%FjfQLMBh~^F$ z5l4HNk!nw1m5qL+@{lUhxs21JB@=Gs(2TlTP+#8V_F6r?^g&;seO?3qC za}CM`+!a;XXQhfG@9{4j>{+wHYDOoYu!Of;Mm=*x8gYwq_MKD9M3Gi(#WWL&2YfSIAIi-{?f4-Rfj^QjNHa&-7c^WIE~XXCqQfru-kHffY~1K5;q zR7-$+{K-Pn}1;VZx4C!sgbMKzlrZ_KpepF3;MPe);K zxA)9YR&=6F+N8hImBpd_0!}6c;fqIlINg03w7Nl%S^%CAJ?LM(@n2$DiEgel^>x)T z`th9MqQc!!K@ zpS2g*m4eH!qtS=G_Rh`8gX$7%Vz?N0r}Biq`XQ*{yGov08;49CJ z7WVuAm<3FO3!YOSjnLQ#1!V2(DQwxQHiO;=R35-@{z|;$qhUj3I9F{{Cd@Iu5lfd0 zJrV|28?-GN+Qx`|QLIW)QQs|=Ca(kSPF?yq!G_Uy?{mWIAW-|y4Oh#IYjsbO{>;kQ z&DD^8Rjl%c5de4I^l2iz>`~`dQYRs1l5CvD^TAVf#_}hf8W|p=%UT6yUNK7SFnxgY>@ z1s!xdY8To7iyG-8{o?F_pV#6D*0;v;$+iXj*Gt>Pxmgz59jZ@Oc#De!{F z)aJJcBgJXFQ7tI9zZAGYd4$>^58fibF)2O%6dXuC=idibbhRJk)!rgj>HD8gj@3QK z8Nu83w4~@Br6He7;im$5HH#>TLTGM9h`s-LtPWi}q-YcqU}0+rOPbQ2mg}eJ_MEEa z)f~egABlT`K?b{z^e#skFF0<(rq@fjzYYxjYnxtHlr?{2G(0T5(^Hi7<<5vudGwI( zsPzi0Bz8?nvK11(vg3* zLcVxe%QmEUOKOm1hUP+J=h^IX?-SYOVQj0Y&xTQx@0`MloV-iEH+dOHjJt{nN?j9QTKE=t( zCwpoZ&`al@$hOZgE#AOppUcL)Y+Rq<_R=Z9EnBN;eKCI|dVYq#^kIrq*b{|dTgYfBnEay(U<7FOt_x&{3EBMB5oQwYf4iWzbFNFV!QAlZ#l3y++U7<{QU)-}ZX zhR*V)BKiXN(8Tgt^zUL?+|5#zAgDC5PIdpL@*C%C=`#B8CPS>_jCVKVBD}ctJV7M- z*ZVLKrJaH|5_NQc&w!3jpz@t9?8QG$ji!U$b7tuXiF`KbcQJVxosbgUSgsZsQ;SsX zu@`?^6V?pQh}SjKPAbla&IbN2Cgt=7K#P@}AMwlR#_Eaeqw(UsncA1X=ASNNo5)6z z97Z3p$r`dG$>?Gimpn@ehVw@f6skSxDu7?(a{meL>NCE%PUtrDy1W^eV2q0gsI*-@ zX-}C!*Y?wzD&r-kNB8k@`s0X&{M{h5Pl?_pBiYL|vy_aN%B_T*JV)Jrg|A0T6jtQy z4AX10=#g$Y4viRwgh%ZL{na_(iM$d%$=?JVj&&l+;C(&}L{zepVJ{;+ReDSl$C1xf z;AnwJ?c1u1OjB;94H40b=K5H5NX)00U#1XC-$4t0jpM=sy!~Bt(vh~8{PaFP{HAz$ z98EE7{*=kQA&Wf=eM*cOC$YhB0^%|zjOu{sZ{P+t$**_Gkmnl7_7f^M@`l!~B=deX4P7t%(}n7cuPJQrZ_a&TSTy zy1xM#6WAvhC)&8;zdqI4N|N0|If2{2 zY6-RB?^m^%)SSxJma*_DH&!tM3job(4}Vjx$F9n&_Wp}8&374!JBws=J;b^f%0*-N z?O|3?#u^Ovt&QT{n-ZJF!VxNZKgu|D;*ZsEwvUin3Pd z2h**Y#A|tJ#Jq8iGEn+p5d3#jcsfCju%J>BUh%)gR8cJLWWRy-(>TJmqzU|tb~K?R zH%|3^>pw7@X#7ZZDi(SfyTu>fFD5=O{jl?Tzve<|!D!wUihh64MNy=)F=6F&V7K6Q zG#vhw$e^tFEyH|dy4`e|<~>`68@c(9IYz|o z#evO5PA{prm=C6k?|k?JXpeX*|6RzKpDv9!@1c>xnX|Z#SjR-@iVHDt2l_Dgx6H3k zu{b=`n&z>o6`FPf)upu5rE}SsN$O)eJ~y1OTR?iI#F~6(!+7$oU=Aj`rO*7uaEsjp zuCQY;qh4V?dZ3>0Te(A*v`aDB%zJ%Q@j&?e1?=Rw;#70~c;n`%b(8Qe!)M02p}*j} zX+Nll!xP;Ck9}laz~s7|{F#jUMnHX(d#j@@eI_QzJvGQ@ZyJB4WXUU33-V6ydK&lUW+2kga5lY76< zuNRWyK>JT|X{xv9nhSbNpa+!`Tg{oTDxu2-eIUtt7qi^=BXsZxxG#!2dctzn1T?jN z@@3U&`5AZziP!P@+paF~4D}ndC1gUm@44ib<+|U>n3OZ;)#AO&_!$_X(=5-5IU4z3 zaus-jst>Jni%O+!=E-zWE%ASpHwO8-QLH3ryrfHuxHSoP&%g9Zk!G6gB-&TNtE^r^ z8YX&7I#%92nizNGzm5x};drbqH*PKZ@_8YoWH^@_U^DJLf$);79|i71xF+&46r{c- zmkar-S}O1;p-Q@dz|;P=HuQ!&7mS5S9PHKrdt=A&(njp^ld>7=Ry@u5g+!zMrxfmp z0}tKUX-T6C{2Ot*gduq5*)KkS`p25}2B2M0hFIhJ;ZoaaqNk*E;*w30xKS|&ZWxR@hE=E})7&bL%eY@4Ib|EFOS7f9`q&wvt`h@#O+3?`l@Y^xeZrmk zHpgm+_BZ+%)b@|$9OsSUs|4yyGR)I* zZLm3L2a_8*{a&?->z!9bO(Equ=UF{xOV8K!lbhd?ml}I=z*|lM_2!O>Qigr!>eF-ZGe8bxfbiNk&nB& zb7XFV^7UPr3frcgQyF4Q+cDz2h+TC}IoQL@mgw$`MQd;$#JO<=+r_x&AWg7na_pY;$N+)!^egK^F^B1@Kx)F7p z08P(rRmcuI2U#yqi10`hn!C%RP4PNN&_DJVbjNhag-SsmJ>ntCOcpxKJ(K)4Z9BfN z5pg9LgHT;PpUXG}++X0Og;S9i9fH%`9_o!q#RTKMK9R`Dxd@ezGu0VM) z6hCSO4~9As-Gnd(`vQKer%1!*FQlW+c#CJf$^SRPI2%34u{2eR%`{WpB-#9hcH|Pb zcnVLC;kLHWw+!!KYmX3XZmG1Dvg|h${35osF@GF4${ojDwks#sOQ#rDh7HFU?I`Ej zSF)(N^B*=UJq-$pA6~~HJ{P=D9d9Fr&@aA@VP>WC4Rys!GMSxB$^J#O(>&P3x=#+I zL6pIzi<-*lKf0>Ilr~}rJ-v4k?HrFWu?`r4-mQvN!kvhxiv*0`fJ(+BZI$tfc)|QJ zS{8D9Zs_|?-$x=(yhR&Y7;Oek{4I3voGw1G94NlX$ZFid2?ja?Ei95?lje)xK>1j# z8Q7hp#hvQb(JDc{SfT33drmaVIKCr6IbBSJvlW{Z_)`lR7JX65V`g{RrH7=ZxU+-#UCIa*TXl7SG&r!J}_sx?9LxTH9Bk_ z{ytSeYBHC5Y~YhzR9E0IdC-COjpwM>e7d4kB|6eBJ|u z&ot)*^;}9&4sjS7g?FJ+d!lbcEYTM4DCuw$*dR=gouil&~sd_s1H$--7xZ_~ePtEiGJH3w6+`X9TGEqPEGIo#OOfIUv znJeOmFt6^^tLAeVp;7W0QFNv6{HQ4N9!HbEC$Wd4BJrR1sP_+$4&qnh)h13W#w?GV z-W2T&wMjkFo`_c=DUdtZ{n-`o0D=E3;eP76=b-qw? zI!}H)S`RRuw1W~>7&GeE*Ea(1AS0EV1o=gEExY;#QqVvSGlpB z>Pwp_-)bHi@?{jsc2wESN;|8&0W*GV52{-B#EL1`P^+yF+F$=4Kkq62cGXQkT240} zjr;YrSTiEx5mB$Bx66Jy6C;-i%Bxnb2OmruVB`m5@=0sdBnKnE{Ito-aZ`!Pdpei$D`RR$Dn)hPxDEK%Tzh1-NMxzyHw=DziHzR2be9Bjm~dTX*~tQy zCefNOo9as|(JSPNKfF((NnCrpxUwI-Jx6*;Jld){m>})d3?-!XnLPHH+sWJgk@62# zHddG87xiTmu}79FNZ&U+xIUECx`(QCpO$`$VjL-q{{}mJ+evTUbRuw%e`bqYjtzAc zCha=@Kr;KymHWg}&9UawdMMSID!1f?MdMYNzF}UYVqxR6YD}1KHZw+K+FrDovN{tZ zx~ATqcZAX)T!r^BxwZ^`tgYa=5Vjchxg}ZGRhc-NGr8>?sxyW>MITYVq_m-{;4_Q2 zJdxBRc9_2dE2PP9Nq0Sw?!=PJg|tHmA=RX=7b9Co{yvz_b(L+6%WoW4Fd78@E25V4 zrst1wp0Q)s@t0C8kP|x3;^*Q|xZ|w2h*?aj!uB3wEf?mc^a(;}%mgi*A@1fK#cv}` zfu}n`Nw`3zWM#hxk|^zn*xpXWKSJWO$gH~fDM359^FAtOVRCO z@Nk0I;xqX+^O;C{LpNgvyrJ<8Br>9?30oT`F$%eF+2w_RTNp*t#z zdgI?k(dO$49J3(XwLLaPF&=Zl;Ce4iwZ~rY`MBFkzn8|~Nad-3gmH6+SDcxBm~c$? zd1~+XhHTU8tf3;J<4E^h#0<@+8`X=Zm~t7| zsLin&2brXpaH!R)RN&6@fecA4zw*&;3P93$9J$_GHPMG9RF5TNuPak12802PbH7Pu8`m@*#+DN!O|*i zc&+SnF@od#1JUUFIiwg)PMquBK45M+P%!%T;@s*6-b3*(_fjYo^@9KTum2~(#nwLK z#AKjKXZlDqxR-4kkizU>SDZ6JTwMMp}S}V5(;9PQgs(B?v)Nd0Sa7(8OJxB`%(j3-vw2=1a$9K z`e*0sDlgrM1Fp}a8fc<(Xw7zOeQtnvA2xFNfWQwT4qOU2yAxN2pKmAbm_9j3S}TmV zzKS^7?xW>rHU(YdU^zwH5`M8Au{Hd~Tf`0_&V_h%O5cU(KK0A{1K0?B^bYt5eX-VN zhD?JN9>*9a2}px(YY5(|Unl17K|rZ$G*m?uD^wZEa^pU~BOavy2d1lrWyg-)?MP zNmTz}w`T|k_eYv{ls-})+}D^Mt$MNeFLb+V>|8Eh-Qx9wrywgKRjZ~xPC=fmUgT#f zkFEF6{B=gCd7OTP_%{5an(#?b9h{cEN1Xa~RE=C0J?_v^0|yhiM&70W$(&PjBOj|} zPX2}N8nRHcvHxR}ry$S$E!D{9u`0$Un{=`K%ufdGSY^?mMW1o$N5Q}dS(E75V{m}t zF>H5+17?+u?;jeDhWnqKUGI#vdZT3;M(v$li%o@e2$o6V%{P&wp0Pk9MK~RGtp#?Y zL-EPCp~7?Ed$SaOihy1i^Csw{&2BI>4k`CQ`CBX3tbA^U-E`i4E~Ay3A@x7`ZOtk@ z#SY$_b7Ka^v&Q&~jd%@1<3EjhxE4{9ZP6e*_?5IZ5X!?Hvbj7yGxvk><(WqB>K5!~Mz_-CJMV}RBoU>P+Xkv_Y z9uQXMMKKmnd|J6#VK(uKF)=M{kyQsTl!ly_{ZV6u}RvZNl-z~|gh zUu<9b=#?3}kuDm&4e`|9!TN3R0@IYUq@LNJG&rI1*#cb5WJ0#$U8|)guc)u`(f2!o z#+P<{Ku=8f9+#$GW*dk5`C=MG&~U8Q8g%CKaD-sFZW zga1WXzE=H~(@xNyXA|LK-n~?n<37BbUMaJhNby-BDx6BeD z<1$|4EW%rpp{gGk0%mM`3&Uo3^5QT7k*@rj4e@-zQ+<-2c1FB*s2}j*HH&b;p9_;j z&_9$ef$1wyKLgq;Fl*#S%7UF~&yL7!#MiiSLBE+5Gqa$Sz(S-dI zeVTvJ?E>3ITJ1#8fB5Z69ZQ;bpKA@Rb0R1XFi|F3(p>u-YiP|Akt-D+cpXUGA^{^Y zUA1|V%q$jS_oAEwr#<$P-~14gE)(Qm@`%eh54f*npLY@0TR_>Fx10^nZ~`7nY*>n; zRj)y>O7fbAtmwz44+ZqM7a=Bu(1R@?&K{c2CSD;V@E%@%k%ii+O@$~D>`~e01i$0w zaCC=-mw+- zMBDI^w*^{$EEcZ2z2xDYE#YrS0hORB_Op~3Rk@u8(dbY{; z|LHAF)OF+x?4(k=0T&8dw-J+Yf%#}0@UNii93&pB)Gw#%9KP&)F{G#Tfm)UQZ=qY3 zb2=}6r|LXURK2}%0=1aqeaPpDT1y@HO4t$ZtJYbjmz_PPa@AVu5fFNuu@QLC5o(;# zAvjEYE5v=}{`X~*nqzyJxx!DKO)ig9Ok$25%akGX*)ulJ8%$m$k9C^d9X1 z=7s3?TIwTp$V%sToS`GX0FOZ?i!*e+c-Ze2E9@pd^P512n*B%8g;Qkjtmka{hj~-s zUoVR`$s`XbH~R1G`|h{hI0I5F3c5}BtM&~_y#UIaRKOt`W7CO$GLOGRzPk!KjEOSF+Oa;_g^5km2i;0MEa8Y;c1cGB~n`s=QP--`PHAY zjo(trK|ara{RR3*UbgM>Y@RT&p^B4Vs;QxJY|rjVRDD_=WVkg)|mW`M7a(&|Kos)i>E^S2QGUKZ+L z5}oip?g-P%%7hb8_VmCT;Tlpyhj2wUwbq@iwVAlR(=)f&t zR2okw+^7T+<8xMWYOkzO{`zRuPMNkZ;S7WQA&ZxzemP5(ahAj{U*rFyHB7MN z!+hNeWmL`ZT7s?-7(>5gF`Jx49FzCZMbr<71?9y6#3~DZE#|=ogc#=wsuN^nqhPaf zmfURoukVerJRJE}#hB@m`Ka{wK#(TWG}B{mrA-A`*qNqy4{qu04eIGvhPXinRLqs! ziCitJ#%ynHfTKH^u}1K(-1tv^vD&=yBOnSro*nd(Lx> z(yofTC4_Sdb8>xm^o2Qc_|C5AACKB?ssF%(zuN2+kYly-ZyD{L)PIPB4y;TJyrYPk zKrwkE@^mtsUd^nlNSzmYIvGsgVb&F-&a1il({N^8W~%>uCT3rUInIEg5uJw~BOash zJ#lNNyQvA#ZB_N9Jj7c~oB?P~fK`lR8%fbVcp79utGH?nX$`M_smbRXb?eu6@^b6V zmsakzaxVI7!w-2|rRAqNcVue$4cH+&7wlRG4K+BY20`ztw1yU|!AUiUbj7ayrQ4s_ zj-PbC=MIY(ZxgOmvnl_niQWGr9;pd^H32z@HR~54*XI~LzJ8gW3M^-bL`jW|X*5mrg}4o;M431@!%#{Q?+wv48+fY*(A4i#ysUfUSo zIEyQT1`M-ZDk~q@*pT21a%()!m$VyuE>m*1YLuZ4WrF2&U}AK6gNF%G0myo%*hmMf zUvQn);HGAU3Viv>eG9aC;OWuo^U0EDnehPjOBC47T`JRksPt0r1CoPp5WI|Es70RF zYoLxoGdtUj!d2gU*!yys&+0WQKdTDioz>72u99NWr~5PCEs|qQKft@YKfoKH$6Y1g z_(SBQF&X?0AY>hbAGMAl^YT=zHj0=!9)Hpy{Do_;eR!;Ekf8&o{mts3iT0}1RfF$* z9E3OHjYFqItE>LLvvU-_b%h)d-j5%iXs)t^Qgb%-?8%7Vdug?*% z1DG)o}I!{(PldFR4IMT8+PR1QF zhXIgskVq-WVfi%p1WveuXIm!H52_3cRK}lTU}aH zaC(*~k4zKh@u%E$^<^qdP*`Sr zzrjvsZ3+&8m~ANSOy#;*GQY$d$$B2(N|}3QkBnrG)ad>JzH`e2_C{YS+PNW;uAZA@ z!pwG7k2=8D36tID-W?xU#2<>P9mlq$a*OGPvipwwxlulzW93Fo-oo@#uc|5qhm|<+ z@y)4RD@&#c)=0Mh0WMNKhgdDjA#nw01+O=ux92$%JXmu;)9gZ)8ITnyG$-v0Io`>Pa+GaGI;_`Ez08*hkHhI`ysJ z-onJIJF-krmh1+}evN;zq*MMzr(&iMTx*qi}r|RGB@rl17AH%e-m2J6qmMz&cW_|vm z)&@}nAo;syPp<`SO${cs90K}krE}5|n`)$~SCWbnOOk|^RK{+VqH-C$98tk`}KN0pGU(N;Vc(7KWK(Re6dSpeANNFLVp?EaUH5gF)t-W zfX}6}z4froc=2_;RNi6LaXq#h8oI92X!DI(zsTo3)YUaw${nf~uZ{(sx<<4E_b&Ll_=aAp;;<@jMSbaNpGPMU_`kWRwMvg;Mat4C zWF7iQ9#7zRm{3hHe=1$OL&Y_X3-1#f!rq9p$(^Q?ti!5|74^UuybJZWIPCD^kwux{ zRXw)vB}5X;LX`z^kXC&pY<()&pHFr-%fK^#3$Ay@3M|^hqUk+0s+61ANJ49S10t-y z-To-qHfXZoC=kkQr)aA#O`bjLy1i+*G8KAE*-GmXreX{0YQyQ@|1@|_z(+3-*YS+D zXTNv}tC7_(#5hbj`JU%2q*1in%z0q~=IDe~9M91wSqU4*pZ-gin2o8VCW$`1Mp%?n z0x#HdObc;Cx(>hWG7Wl=rA2aLYJ{Z1{(_T@fAshFk1NcqeOWskSMi+&@=yNuyK|U_ z=(<`Z+}EqzCnwoJo=E8^?**XOcp*EYw9%-tUAySopZq@KPfd$SISxwCL}XR5BEazd zpY^ajX>Djp;YXUsuFlJfP61xkLu-E#P+pYH03o6$N zaJ^XK)O%s&rprjEP(R|K+B28fAZG8z?bW2D=k348`WBFz)8S1b7+rF;DMk4TULzt3 zlzW;?anITiX6$^qUBU_E9icN}%nP>*tM^j(nnviu)k%BfxnlGJ_?-#r2fmFHrtQN0 z&+}QkMc?VT*g}DuKvwo{{_7fVcLHQacBgkMxQfBXe-!L=Bk6amUno0y(Y2OvazW0V zA)7b!Y9pbD^;{+B3kXru(c2!P<55XCtJO;f*<>{JtM^&`Y7>HCvSgjwrhBR$}plg!Vrijcr3=jSLnWLDukmnfRw8Y<2)jy@)-%|K$)lt;Vk7W zcLR-43)FTaWQIGKiCUyKs3AnPKp)}520NVQrz%fbvz{FwiUyt!6;{cDduN@8m4|M! z)kl!={pboTqpQBuHgf@NcdaZWB#YG3Hnqw2h<6D4@m<>JkTsh2Zq>}D7S?pI-Ex)x z4O#|y7(3&;7Gek%*GnC<$cK8-e^>MUe$7=U#!5DsyRPmDBkJ4z~cxZ zr2q7|5m?wKMJVxVd>ff47(ZOgu&a}a_S0+`d~!szC}=GzmG0^ zunzgf5k4u&_J+K}2OXeEivFM~ya_pY$t zl6{(}sZM+<$l8$&t5s6gv&|F+h$z9!xE!zjaK5GuwZ~VrU%slIST+>RZH`JO5VHqD zRlN!9z@S8B_`biql^G(ZRcc3u+4766!z#T8KDV}9+Dnw=MYP-X}Kd^!_z%#oqh|F;Zb>RJMcwcY2$*uN}Hn6Aj z>q+A4r7v0 zosLHlS@VBonO*sTa&hnQ<{n0>_bbpL39pLuf}Q{Z4buXe*Y0BsZ%zw9Ta8J~w=zsB zkdHWFheHldeXER)i2yP4d}V2Hj?65q`Onp1nUk1OTN_Q}=4G~fn(ybV$E0OSJo$LW zq6bXDgF2q41`_d_o(NMFHbG|htX;eJnPQ**XP10Qd)hu->hsJEe{sLBs&8&(+z+$N zFrJ(*!L8(eFnsR=i`yANST!~fCmiw{8)$bOPhz7g<~+(V`*Fm?@PS8X2v^@)JsEwN z38w8H?1KnHE(t#@l^86*xz+}D(XQD`-hgQ>Lx4|{qVR}%h49W~r{o!B>pLatx-7g( zRUT-k{uT19+Wo~Y#r|XUdpyY}JAA^IuUB1-mNKHd{zDYuTMT?b)_%EXsM#OqotcX0 zx_k$4+Moo?t7#2Cri$Jm#>{bfR;;bK0i9ujW0z+4`1*%(#>SOO+gV-E>MUlq_r}=U z{tauU>K=7VGIJ1!n+*B_TBL8GJ#ou`*Rop}mUX6Ww2)OWoz_yY>8DDY@qWp4Tp&^0 z>qm6MB()T1xOgod*zBI+hCj!n`mT##up_jsArwyRLu%JrjgaqiRgisCIE+bLY{ws2 z(O3lM0ty-m%$()ne~J+Oa2*u^nK ztA9uZ{g%3I;=gZHv$)CuMa@NpMH^(kS9Fk13!k-C;>o`lSG{`AaxAF8Rh>x5ov&&$ z{f~tADpT;z(s~Zf=qSs%6^*fBj1N?1wn5H6GppaM5*hR(;1?Ijtq++z1tkwRD4(u~ zqucQ{Lb3K`&GP1(MWu?0C8T2q!*5VRSOqnJ3A$n0D}mw@Rk&i6-1@0J;@liBc=mEG z^qf3e&>6sA`{W7P5v)B$&O63g>CW176lS+b2oDnf!L`fDH`9?Di{=;6k(|xdK_}Kk zF0YZqB;#L~2OK^nQ=i4M4A+QWXjL&T;~t;{_3_xeV=Rjc>b^m}CXB}slUMWVM&Ep3 z@nm6mW_{QS`H6{n-T`@ypyc2Bov7pSl;AtWX|=p^mh#X`o%Y;6%yp+?`&?4X46daC zHa;_uE7*3I#<%>aPMu=Cb-gUB2LHLwJ2%0^vfMuuPl!Gap)Irz5f4?c`eO^S8D@_G zx?I$@W&>}L$mYC0|%=gb*&qU!p0_~P%vCIebrzDqElCOuQM&I#VOVH`XT*tRR z7dK6SvlWlbLW5$;T@}09^KDyH0l(AA3Tg*Y|3!Molml_%nN1V;gB`}28NXcK^nM8{ zk@?qmwr2}2Jf<8GD^6V=hFCjQpb506BTD1Cr$h2EU6FqR#oaG)Pox#r4kDZ)HEPt5 zmtrlAlUYZFO^eDU7y56%#5xiGsdkWcTt2cq3~4wuq?tzUiKDcQqY>~t4rEC68op0( ze5rm~txA&l`MyFT)~YO@E_taIvmX{Pd9G_xQNyh8!9XEhfa}zeg2sIN)Y4&>?3goP zrPe{!k~th}`AOH^ky8tD0m}6Kj5EL}{9>|6?~=oSYm_ixcp(R0y-#yQwW*%OWGS>E zwi5k^Neb;cLArrTI*>(Q!L_YKMso||RTEUb`k>kAQjXIj=3i7>>^17dEM8M%D;gNo zSetRKfHmxiI2DiaSv*A7Bl6BG&Li z+39t#{#kJlMWC&`RR;N@Zo^}kT9dk(B^u)^K8&U{6{DF+XbS>7^aV`@H>tkr<*dNT zwQ(MIEG_3*liqJgk#1rhU%yS7-+M#4b=!8?pyNB(ob7QCx$VFgR~ z!~OjDD$x;;uZWQJDzyRXwSO=60yp)W33z5xjLZY&FY{QvS$xD z1QMfBeX@bDh*uOHMe*av@b;z{c|JfKM`9M!2;Kc@^`@zW+J(;GM^urL3(@?P&*57D z89tT3UO3D-2X8@$&ZZJNEfPSlhegUv@?)N}W)OH_){GD(cY=Ky*7OoPZ5ASAuJdQC zz>9qUA4=i)5lHzCy@xT7m4SCKtAs2+WnWX}4n!8q@xGUg=zD@Zgi@L20{$>8PL(C-@%g5f z!KH^*M3!;_36I64cCHHj5~Kazv)ja5N1cswe1CmWYWExV{_}LXl@5O0CT5c;D(#M< zjT<-5Md^<1SgT6DHCQm>PklcT8U=Zz@bis=?qF|!fN8}M za*gNLQy1iBPOPUsTHT)E5@qyA+5Kz-bOAFn2Q9v?T#ElWFsxk#Ud~?HGw^}mG$z09 zPppIR&+``NUjvp2c<_7mynrPrRpY3{G7?dOzT7v6-3Zgrcf5!l~>B~ zmiISIosGVeA~@y9aEdI>;WSErGy)5!%%jPP0tZK{E%vu253fgA-nZ=-Smqrg#_dpV z$c?WEX(_AI&7C!E|_||L;WQVvJO0!8@~RR;Z)4Bx5sS0&;TFo z_uxC}m9AqnT`gXsmBkyX^S%M~BnMq{^lh3Q)n(z)-=Tn!wArq?htn)pXg$U@D3+%m zK`(Y`0DQ!h$3ve9Dk|cUwA-Il=lGs?nJvvPQBcy>kk->764UFu1vJb8*M_7LY~hZS zOh||SBs?Ga><`lD=;yq*5 z4-eYi;vf0Q#|HhK#O$tSl>%1>$qA}2*!JNEkJR=hzs*rA1IeHGoQ7nEUOL30mMgu6TsdG4LYn}l zIY2JueRhaVa~bcPsi^rH={3t&ANckZlmP zR&6W|x0Rtn#g!55!;)+Af>a_pEK_GaiJ|MI0~{m~F|^yiG(`ZYHgyyA{($>ot@#g~VC+$C!% zTx&Uvu|by=P{~AI65D7x?=?Qv)snt{!;0X0eB95Lm%QQ%eS#J|)(-gV&&TnxTYNl3 z_toj^hWhFR_@CjSRI=h*#9sTq|Fa%wEOYOTynrwxx}vXFGjwboyL{FPH93k#w<`OOO~Y7bwC_sRX0%XoSW)hGmw%&b#w}-lhq};$N|B)zf3`zzi<`qPGr9ms|Q> z{|$NA^uc;NXl`2gda6mT;@2`bq@&VXhp0O>yDtIg?3x4k;h+)N=0Rs&zQHJEgScK& zVa4|~EG;XxJ`dtlgSC4WYWJ)a*L~tCD{X zTF?H;9H^+%^=h-8bv%zOf%&+8sI2DC{v=q52A*uZOKe#+q-@OnGYzm;X&s*Ekc1r6I{zQ#%hgGjsS$>g1`i}4BP<6Uggh(gWj z7TRczBWMI=BbA)AoXNA!@j-*tBJ0}% z>?`$?D3*v?$8!MFqk2RetGN!!H$6T^2v=jfw@;#aEN%-Tw~^ZR6i&~p^=8TAo2aA! zb06aGPV0!K+!%$w^F}JEc5R{a=oHm1u%i}N0(aj4x5 z0A?tDoRzZ>HhJdO@y^?7x%A4q1v)%VoaU|74^nigiEg4_D}R~|r=j(-x3UaxNa5G9 ze-rBc``7ltQzBry1n33Ok1fY}jmOST~F)%s5J?hl!|HEY&1mcDxCXX)? zY-<_^^=h>u>2+Guvfb#T0fjGh#eaVA2|qRDMIe4dM~vaUu;2O(;$>=jsr2Yi<^Db7 z5%mgeb||va3VpanTrD8%g}-W0FVzJ0kRp7^leHD1)GbP=!X&?iRjppao^V|>xkX9N zPO~>5tx?C!Kz*^SQh{n$0OI7VZhfBJEckkW@D%Y=ib*>_FlHPl$ZbRAV3{rX1kuSF z#Q!sobzKaSdExqvD}So9R?U;H*# z@_q4x?nL$A`Zf*MzeTiq!gvtBE$KhRc_asod28Q1_f{jtmICCp0*_^YuR^QS)rJ64 zMfRhIwi~Ehts){&)ap*M19nF~PjncJQ5JhLGouL!gK65Tw+O~u_*y|$+XfsEnlNpf zp&mM7>zaZHrzOJ~NGI|Snf@i{cSIIjZvMIOJvq!1`pj9w8fCQaE*L?fq59Dzr3p8@ zjnCRF@fTozpSD9yt0yw=D=GAS)ap3_CiEUnpI^iro72=4C_et7*Xd^wmdK3a;7oK> zkGdukOZA~P(7DE*EUP&9KJRzzJsE1%5o@H*)HggTU5>maAv4>gLjTcw`O{nmqeuQZBR8tqH@CSK)=>gY`?Wlac?ziv(Ia>%RU ztmcn!BMols1Qsy-2u};fuHbGJEJPlhE5HAuhx2X*wUhkYIBWl$>~J^d^(F)=O%ny+ zJGqllgv=h!%xNlo6+}>$$M{ehf!jtJJ&>dx2sLC>O9b0Y*kvQgV=~xfY(?pT%}+&~ zgRX2_lOI!n_e3tii5_qb{L0^g+|QmG2o1x}e?Oy6O@LIZ9y~+HsBP+@yIE~kn^jyJ zpQm$4=v2R7AdhyeZJ;Xh?5OW;yXOAz+IzTsKCl_+*&U+!ti3|RNLN|_OXkh$Cd1|E zWl+J4N74n87cA?~V++B&4H`1KoQN7k-%;6O=mmk9MKVFUpHEx?HeYT++}D%FEKwgf z(_A(6l#Wl;=Z(fW_o@&lq=uErgy9AJu%~1TX;VAmzZHy`1tY+TQU9Y*WS}VDd@LC2 z#niJ8=nq)i|BCID4Q1gULMX(4 zSQz%m9Uq zcT~oP2*@>1H?9(q&JjlYO(?pL49lRS;N}<>r$yqd$%_2Gwbz#xBfSFhi4|3WQ51!X}j>erN3M>K(OYAe&tr7XP($OlJD7s!sO@|%S zq*Ct5#epu!vZ|?AqXO!4#IMGB)@CMlYE>7-6Uqwermu5l#Ct|8S^?}pliWN3``~WW zI#-*gED!Zk{KqsEe3C`ZQ`KDqiM@)sBA_fjS2u$BS9nbxe)F9jE?D2Sut|OK z95be39YxZ5TrO-qLpmKA##$y)&z{kM!+SqpHO8BW~M6Bd~m6<{+wOy2j9?`CB! z%?sLu?W*v&8`)kRRM}G8QL!v`$m+1IIEDSHC(Kc21G z`U-sX2H_I-^-7({i)JKMoUy|^i=vm^(-5P{?vV)4KJ`Mv^6mf)2YKTIZ?7sslcK__ zPJ+YPsn_gT$GpvY-Fi?39A81W<84(-I1^&i641eWsqF1;NeFXZ+&G@GFtvw;VvEq&fj!wNfu*ytFl z**Cr?=mEwjXGUV(QLThB7T;IlcaEJ557{rQ0)wxl5-9tC*|~kuJdf~SpQxv| zH!D(h^SrsPgy%DrZ&E0l2jotY89KrixoAXsc7;hU zA2)|xWS;#2HpxEmW|I?f{SL1zU&az;~(2`PBn=#UUPtcnN2@u-#zHk z`S6NgarO$@FUT!E?is?suHRp&JGtks$vE&dLu~Fn?7}Tn#*C3YCpTH=3MxWz3f2sI0lp;@-9PN- z2l6t6j|s8i6J->B5yBwSY*y&A$qL=GS>0Dwjv$Kuc)LDy1J|1wjhkG(2I`{5OX$T;r&^q_77eX z2-B-G)jw#`l3*g?;{3Hm1MKzjX%&;wSRLdVIwux(40FaZ>(b1^3iAL@Ojg~z^h39r z+%Cu;cyBZj&}%{n8S-DDFz&X%w1L0v;e&I=( z*#~9555`~&(fLZRL4e+Ihi{ULCERRN@6sSmxT5XFFs=Pa#eo*04}5#GIy{ikbN0Hd z@F_BF9AzW;zE_>Rm(bY^bCe|+P`)WI_MFHfC#*j%YJ+hcve=ODaHI_m9Kn4HxRBp$3*4}7Eqj7=HHPOJ>ZoAvIc}g z5>sw5qQi};w=!66_Dn>Lz_z4y*irYfnl&X|!wyrZbRZk(9Kr{-Xlx|8&f^%y`uGII zp06Uk)!|w1l-mANo{VE$!`sFJdJ)U*r{WD2inF!|`uxU52aJiODwF406yyg|&)rs^yb{Uj!cfu#bc{pgU8_itAC4sw>RojC6tY$tL1=0JtW8Cgd?8 zLWJ*_nUu{6=huc}56|43r}0+CL(Rv%4-NkQr~2&t<|xxSxzcD{ZAHf`KUlys2nG|p zfcb6d>gXR5@->1D{x~~;@KQC?wIm*8Aogay=sCo+Y`3K<)9aH`=P{^+QD-`JL{&WO ztS>WhjaUkqpg%&MM+EZUvm8`Fwah$8$MwpnePyHUN0JWm*BTK}C7U`KWo53}GQ)Fo ztI4U#*ene#(y-fUaC;lsDv+PIT^-VfO1DIJz1DOXXErErH>x+ap|UK|-LKUZ(ToXJ zjgQhk7nNy=?m4L936%Y22H=k|HJsCPc7t7TqdLKz^wL9lD#gPhkpJCZ9%ctjpNt}# z%Q)76U&nCZX;5+mi0Bv&It^ZKD|};#9(YZtPn1+lC~cc6u5}EDHj5bo<@Y2VvX@Xl z3%J`c{NOZxa2F5KivBH}aNR(?p8@V<6oz$-;%emu9gb%$wDE)BIXZFV}y96?6t+HTO)t;d%ADCNDP!8LUUnb}X;>7kgJ|DVcGGm2> zhtT~iT>DQe7v=(H+XYn@l{dU@SGqG5e-ZwrLph_aHl!lB6W>#H4TN)v$?y)HLgNlr z;%oGXjZe}&wmZ*SG=i{Dtsiyb-r)%H&T`MMCfKL5ZZ^}U%o$JS%*7>JUGuATW6&3G z$Gd|SE;2&RY=C&qR`B_di|p(dY&f2LrHd#O8%9j5vJ>72y8V7DgY2$e*@9?OhX0(~ zXTrEr@+XnwHois8Ne#IZ5x;@> zUn=K!@tp^wm-AoNdt}xZK1SaiD)3|${G=)dh5d(U@q3B%;*L^2`qI!T3cU0hSo#Wd zrwBqnw!;hV${8!n5t-1JnG&6A2(`o&o@n z_ARZ9bU9iEbLXx(0AgAr^*CXbyF?}n5+omXGq?3PpTo!08(kMXNBZL2^HZ;br}O_t z798pd>Bf|q%($$#3*89V+t6+ZQQc@K_rE5%T_WV)D4FDwWZmn>7t%72es+}8&fA>V{tw|<5T9DN;@|XIsH}@u39%J&lMjm8P@TM{>Pry(n0rMe_YS1xdW^Lce{)+oyTz z_$JDpY3sMa!{T@Uxj-yKBSS4HR{lpSe?IFBFTEF86yGViX{|bEOM%V~i~aQVye&;` zcikG;si=K%1*NZa9wk~Css+|c4~m++(jFR zJ|79M>OA~j!2>(#)I$s7Jz$-XV)XQ}6DXGc3a%`EVSE6r6LJ0D)?7flV?eU_cO=2_ zD0`?`jEPf4i^Clv70jv^71XYU@i7{|Q!4uJ(){$tdR289aLL0mR1ZGgvH#Jwh1@C?LgZBQfe1Vks|C-0O(Wqy)DC2wXw z9$F~!S%6m?bTfO&mj-x7HG=lJc}059n*F>bma($q{6GspaYDjcm;pC761|{Yw7Xi# z^W=u;PfBz?p5F%l*u6D&k%KKOXzl&|x0s45ncJ*$y$F94rS|9&S`LO=_E98eZRN3{X#iQ~>y^pCp|9zNc1Sss*77)K>0ncNB^=nxRRl@IESvI1&zM>np zfr0SXRIYAy!3!4@w!kvI0$6)i2p#YUDJ}(?$Xk}ktGz7Tvz=9?zBxXCUNJJ_uc|}a zMC@O-z@TPpgJemG(v%8x{#(d|=hlm+-`VRr+pBf;rc_otS&dPNuhxygO-7@6fsvXF zyR68EA-#)VPeVA;oK>wmW$-iTLmzS3rvRJ{CO23|L;9yU{p0<4FOwr0%))N{V>lug z?O7boIr*ojDVT5!^wU7C5U-DyosTlRyUm`x>Er#|_04WJ2ico0h$YYP#|7+d>V9g> zz@`H@6Zwg2^#iB@GyTj%ikZltsuP=a&}Iv3iNC34$2Z{cWt%-+W5sGIy6jPx4&-ti0wO8x#ywVTRSa#ek2#~DL0|FwKMDKQy^tyaBl|Yb zk0+x=z((Je^}I@}i~oPX_Txw8kVh=tES}avk*eqw2X|l=gw8V$AO6ZcwE~Ns^XbAA zzMOMC#c!Uh|f_RA5_OXTi?dXq$$%&&@AOPw2f!)(Z^! zxU$@~*j4}@w5zO`2QO>I>eR=o5}ovjqk-ZL@pbPuT{BvqX4q>V<^3bcB_Ptm8^b6k zb1o&8jBYEac2RwfQaqTghJjXVTn3BM$SRRX)vXp~tAV-bz# zSe~Yowi23dn1J>-=8`_c+r8{HOmLqh^vnY#^j(n#mWYWN+Z>?kG+R>8e%E_*Wjb1I z%^DV)ih>ScSJJ-aDud7mUsKBA(D{IlL*4mI?UCPd%)ni?((a=ZUT`n%T|gXbX8H;C z;E~-~oHeC!yxOCfG03-lXr4BMq2Qb3Q>K!JP`tgmUn5y#evh_#R3Z-Q%(;J!B(rU* z0zE3z9^Wm^XBHnVqhI9NZyw}+mKd#=4eL_q=}9W4?H4_b{ThiF-Y|^Z_a5i|Pd5TO zOg{(j)t-0BVqM{?_6@9S4JEAD1?b7obFJe>>u&v?GGLb0p!bzHn>ZeM1s;X69FCj^ z?KkmFJgv8@knq{N3tdhVQi--j_|g)NewhY1r#-l5hP!AsX&$vuvPZEyCbomrG=?~W zg7_ul{~Ks$wEYyj%U#9A+Nxj|2&-hWx^&Xi_mAVPKT+!E;uXb{)f6#5^w>Wl+LayY z@{b`|Y`1fsqxFq&=ougs>Jx zLs2UEQUtj72rpWF6Hm!1l+yNU1fhEmv9`tra7hzJ+)t3Z4u2LS=R7enrD+1s10wr_?+GO=?SBg1LbYH(0QEuCbJb^t*;5kWQmaU1m;t<| z7S>5Ut_omiNQnRbHU`GMl2ETm;~A`1#wpUIRHb_kkM(sXCWudpuZEbiOsS=*=h>LP z|I%cnlyHuB6yk}B_9uX5R5vY2lBCQIT1dCk2$%ly%uL~a+eou*13JLC6y+gDl%&mj zg7yQ??GJZPcF$j>!9#x_vzWi)RF5QF`Lf7`Wyl#sOzcMR**ZdUZ;xjLG0?SK^s`!> ze~$25lSl4~kmd|Uv;;g#|`lGo^@=Tz634XJUl zJ;rMf{Iy0X^oo#fb^&}P(Ru+DX2y@H=T@aiderKjEQMEt#15I8%ELk57z;CEz^_-} zqH5N~=75}hWz0GF>0eFI<>SRJ9PP)h|bJcHm+dK?k4Pis{d8U zIfjnOR~D}@xtjv4soCx!JDr1_i1>sUJO^jX`{TzIS=(7=du4b%O)r&a-@a2I2@)t~ zw|6N3DNbV3h56sh!D$>a*@(I?kUY!^LS;q*X&M|TrgG!H6S#^;;h!WAt?jazJ>z#9 z+j&p0ymc&81Ml;g>Om&yl==k;Ze}0i0@eIZYD*`#`u=gg^(RJcJ+<|}si--+#96BK zj!GV5F`gt#d*yXDQw%|0#y!(_Gh2};#CVIS0n3Qv{8iE%C51fG8%yoYB7OVJ&2RHz~AFTM_@)0?K%j!qk4R<{gA5mo4R2glz%{I%#=BF z98y*L#eYd93&0W1VuSo3OxMv5jZlM^pkHYi8{f8oC6sH z!UK&IEN3n&NFGJs5O|vD`lCTnFJCVOuQsU@9iU|<-O|8F*5nqjaz8wg!5W&l0uJvI z!Cz^sFs0?t0q;(=F~78)w?(8b$_9-1xX6m;AIiQ%mHn((V6lu41JbUd#*t_6|0y;h z0Qyews!xE@S&kXZ;cjh8YC>v_tG;+M^OWZ2m~Dm;>Id}Z3?aRuiX6vlggip5XC+~( zSj%MNA;YM8$)w{jl2U?`N_HYflxMJn?t@=L7$M(a>Ac54K)+!LR>{x4gY=vo9olpc z4Q}V+xX1jACOBco!S)*Au1YA(!48}qdc~+%&*4}w+8EC5Bo0d`jBkIe(5=}?&|SD~ zv;K$5Jh;hDyxzP>PC6>E;=6h-sh26ZH8k3)ged$%c8HtL^zt(bw;u-{e>C=mh+N)q zeI1{bjXR$skQgsSq_p&OLd z3_o4yp*6>}soA=0xdA$^I`Ih-*Ozh2=RphhzF}+HUgPMO^%G&iG^sV}H6hPNTxqcrr|7S-Dg$_4~!lCM;>dQ)(M-6;2(R`SCst zi$ma9znD^;X^ilz1CZHy`f5ApM)z;lN0xS!PcOEX_tfQzP@je$!}g2)$Z6QEhb|wc zSKRuuwU%xN`=Y+kcLXq&kmo05BSLrmN~?EM%fs+7gx=br=%V48QWQjS#Ad&a0NNkx5DnmbtCIw^`}TjyBpdth z(8isCUnR#rXKdlFbV*WurMRDr`9kO=5k4j|mqo5t4re%NV; zhwGN&{g>dAfj-5+DdNdkpGo{v))GDY+Q{TqLCaj7=V9&u6r(Qx-kL3%@>wQh>OVgkZRZ4k0*%b)xkgDE+LW@F$G3EC&)xis$8=g$Oaszzz%z|Gd4p zl_=`@!s9sof{rxDoGa-TXJwg+gGJoPb{z^SiHmWPo#!d~5GFt!oyl%p;yWw(w_^~rruCmGIf-#;a}i;_w2b9WI- zb2!QG0vrlYAzvsA10!f}m2LI!#lbk&bvRG)nX!?YQw7V!wmVq^2k2~ZI_C5u^`ZBikw)Yjn=#bf!{6@99UvPfp45%*QzT zW(bNBE9}{eAS=6?7?l56{nlqEt!-q+sbtqXE{wdSwe~1e1T0|zj);ENe7N`@w*f!Y$M8?2vCw0Bi0-eWyfC6F+&1JXN;C1 zZUYC$w7o#*Nb2y_{gZCZo%br=i!z(^cc{L+QC`$!>P8Evj_)BnctmS6lvBI!f!a8D ziS$_saT}wjW!{`MAdYav-{88+o;^lhZ5Nf#O91kZO7%Cv`3ZC!$@Y-FmWK9e@S}aT zWL9|o${*zRvw$x52B^eVbW3hEjmF$m=TEZko*MV_Brm}HsE7XRnxnX9(eC(BZ%Kun zZJn!FG0VW4leycL$qaoA(n?g6zXt&iU@F(q&;FmVTZv$}9Erw(v%)aL+x9E)H)|5- zBU^}Jp*6CXmqF#ztuu4!nxgS#xj@8nWtd6wI;B#?fA`<2VToB5rn!-`i4u39@CbRc z%&tY3MUDi1H^IKKuUIs}MkN1U?3knQ9>^Z;?e6yzv`hiym=(VzxDJAwG{;8z)M7;VK zf6;pN`P_N3i0&QgNAOhfwS(|Wu9#FF<@<82@_HcCx+UQD3gFdn=CR0Ad2@%mp*@Oc z$wTlhGx4es(M+zWH8;o3uf^)5;Pilsazb5?ue5rsa8N)RF@knl(mb?RMX|bq8e_nY zPk-BxCH8jMknkCXOd1dH5^l&YY{Xwm&;uFG9n~X)^FmTT8o;LvkMv z8bnM+d|J_`=lN`eN!ci=vP}Xj;aFUn5+9^I}RWB80i0fz&0l`*;HZc;IvV z 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 z�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