@agent-webui/ai-desk-python-darwin-x64 1.0.29-beta1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1883) hide show
  1. package/README.md +3 -0
  2. package/package.json +20 -0
  3. package/python/bin/idle3.13 +7 -0
  4. package/python/bin/pip +8 -0
  5. package/python/bin/pip3 +8 -0
  6. package/python/bin/pip3.13 +8 -0
  7. package/python/bin/pydoc3.13 +7 -0
  8. package/python/bin/python3.13 +0 -0
  9. package/python/bin/python3.13-config +76 -0
  10. package/python/include/python3.13/Python.h +140 -0
  11. package/python/include/python3.13/abstract.h +921 -0
  12. package/python/include/python3.13/bltinmodule.h +14 -0
  13. package/python/include/python3.13/boolobject.h +54 -0
  14. package/python/include/python3.13/bytearrayobject.h +44 -0
  15. package/python/include/python3.13/bytesobject.h +66 -0
  16. package/python/include/python3.13/ceval.h +145 -0
  17. package/python/include/python3.13/codecs.h +176 -0
  18. package/python/include/python3.13/compile.h +22 -0
  19. package/python/include/python3.13/complexobject.h +30 -0
  20. package/python/include/python3.13/cpython/abstract.h +87 -0
  21. package/python/include/python3.13/cpython/bytearrayobject.h +34 -0
  22. package/python/include/python3.13/cpython/bytesobject.h +37 -0
  23. package/python/include/python3.13/cpython/cellobject.h +44 -0
  24. package/python/include/python3.13/cpython/ceval.h +25 -0
  25. package/python/include/python3.13/cpython/classobject.h +71 -0
  26. package/python/include/python3.13/cpython/code.h +358 -0
  27. package/python/include/python3.13/cpython/compile.h +50 -0
  28. package/python/include/python3.13/cpython/complexobject.h +33 -0
  29. package/python/include/python3.13/cpython/context.h +74 -0
  30. package/python/include/python3.13/cpython/critical_section.h +134 -0
  31. package/python/include/python3.13/cpython/descrobject.h +62 -0
  32. package/python/include/python3.13/cpython/dictobject.h +102 -0
  33. package/python/include/python3.13/cpython/fileobject.h +16 -0
  34. package/python/include/python3.13/cpython/fileutils.h +8 -0
  35. package/python/include/python3.13/cpython/floatobject.h +27 -0
  36. package/python/include/python3.13/cpython/frameobject.h +35 -0
  37. package/python/include/python3.13/cpython/funcobject.h +184 -0
  38. package/python/include/python3.13/cpython/genobject.h +83 -0
  39. package/python/include/python3.13/cpython/import.h +25 -0
  40. package/python/include/python3.13/cpython/initconfig.h +274 -0
  41. package/python/include/python3.13/cpython/listobject.h +53 -0
  42. package/python/include/python3.13/cpython/lock.h +63 -0
  43. package/python/include/python3.13/cpython/longintrepr.h +146 -0
  44. package/python/include/python3.13/cpython/longobject.h +116 -0
  45. package/python/include/python3.13/cpython/memoryobject.h +50 -0
  46. package/python/include/python3.13/cpython/methodobject.h +66 -0
  47. package/python/include/python3.13/cpython/modsupport.h +26 -0
  48. package/python/include/python3.13/cpython/monitoring.h +250 -0
  49. package/python/include/python3.13/cpython/object.h +535 -0
  50. package/python/include/python3.13/cpython/objimpl.h +104 -0
  51. package/python/include/python3.13/cpython/odictobject.h +43 -0
  52. package/python/include/python3.13/cpython/picklebufobject.h +31 -0
  53. package/python/include/python3.13/cpython/pthread_stubs.h +105 -0
  54. package/python/include/python3.13/cpython/pyatomic.h +569 -0
  55. package/python/include/python3.13/cpython/pyatomic_gcc.h +551 -0
  56. package/python/include/python3.13/cpython/pyatomic_msc.h +1095 -0
  57. package/python/include/python3.13/cpython/pyatomic_std.h +976 -0
  58. package/python/include/python3.13/cpython/pyctype.h +39 -0
  59. package/python/include/python3.13/cpython/pydebug.h +38 -0
  60. package/python/include/python3.13/cpython/pyerrors.h +132 -0
  61. package/python/include/python3.13/cpython/pyfpe.h +15 -0
  62. package/python/include/python3.13/cpython/pyframe.h +45 -0
  63. package/python/include/python3.13/cpython/pyhash.h +47 -0
  64. package/python/include/python3.13/cpython/pylifecycle.h +92 -0
  65. package/python/include/python3.13/cpython/pymem.h +84 -0
  66. package/python/include/python3.13/cpython/pystate.h +277 -0
  67. package/python/include/python3.13/cpython/pystats.h +175 -0
  68. package/python/include/python3.13/cpython/pythonrun.h +96 -0
  69. package/python/include/python3.13/cpython/pythread.h +43 -0
  70. package/python/include/python3.13/cpython/pytime.h +27 -0
  71. package/python/include/python3.13/cpython/setobject.h +71 -0
  72. package/python/include/python3.13/cpython/sysmodule.h +22 -0
  73. package/python/include/python3.13/cpython/traceback.h +13 -0
  74. package/python/include/python3.13/cpython/tracemalloc.h +32 -0
  75. package/python/include/python3.13/cpython/tupleobject.h +38 -0
  76. package/python/include/python3.13/cpython/unicodeobject.h +703 -0
  77. package/python/include/python3.13/cpython/warnings.h +20 -0
  78. package/python/include/python3.13/cpython/weakrefobject.h +63 -0
  79. package/python/include/python3.13/critical_section.h +16 -0
  80. package/python/include/python3.13/datetime.h +267 -0
  81. package/python/include/python3.13/descrobject.h +100 -0
  82. package/python/include/python3.13/dictobject.h +108 -0
  83. package/python/include/python3.13/dynamic_annotations.h +499 -0
  84. package/python/include/python3.13/enumobject.h +17 -0
  85. package/python/include/python3.13/errcode.h +45 -0
  86. package/python/include/python3.13/exports.h +108 -0
  87. package/python/include/python3.13/fileobject.h +41 -0
  88. package/python/include/python3.13/fileutils.h +62 -0
  89. package/python/include/python3.13/floatobject.h +54 -0
  90. package/python/include/python3.13/frameobject.h +20 -0
  91. package/python/include/python3.13/genericaliasobject.h +14 -0
  92. package/python/include/python3.13/import.h +103 -0
  93. package/python/include/python3.13/internal/mimalloc/mimalloc/atomic.h +392 -0
  94. package/python/include/python3.13/internal/mimalloc/mimalloc/internal.h +969 -0
  95. package/python/include/python3.13/internal/mimalloc/mimalloc/prim.h +329 -0
  96. package/python/include/python3.13/internal/mimalloc/mimalloc/track.h +147 -0
  97. package/python/include/python3.13/internal/mimalloc/mimalloc/types.h +721 -0
  98. package/python/include/python3.13/internal/mimalloc/mimalloc.h +565 -0
  99. package/python/include/python3.13/internal/pycore_abstract.h +61 -0
  100. package/python/include/python3.13/internal/pycore_asdl.h +112 -0
  101. package/python/include/python3.13/internal/pycore_ast.h +926 -0
  102. package/python/include/python3.13/internal/pycore_ast_state.h +268 -0
  103. package/python/include/python3.13/internal/pycore_atexit.h +67 -0
  104. package/python/include/python3.13/internal/pycore_backoff.h +145 -0
  105. package/python/include/python3.13/internal/pycore_bitutils.h +186 -0
  106. package/python/include/python3.13/internal/pycore_blocks_output_buffer.h +321 -0
  107. package/python/include/python3.13/internal/pycore_brc.h +74 -0
  108. package/python/include/python3.13/internal/pycore_bytes_methods.h +82 -0
  109. package/python/include/python3.13/internal/pycore_bytesobject.h +152 -0
  110. package/python/include/python3.13/internal/pycore_call.h +205 -0
  111. package/python/include/python3.13/internal/pycore_capsule.h +17 -0
  112. package/python/include/python3.13/internal/pycore_cell.h +48 -0
  113. package/python/include/python3.13/internal/pycore_ceval.h +305 -0
  114. package/python/include/python3.13/internal/pycore_ceval_state.h +137 -0
  115. package/python/include/python3.13/internal/pycore_code.h +603 -0
  116. package/python/include/python3.13/internal/pycore_codecs.h +86 -0
  117. package/python/include/python3.13/internal/pycore_compile.h +118 -0
  118. package/python/include/python3.13/internal/pycore_complexobject.h +25 -0
  119. package/python/include/python3.13/internal/pycore_condvar.h +93 -0
  120. package/python/include/python3.13/internal/pycore_context.h +61 -0
  121. package/python/include/python3.13/internal/pycore_critical_section.h +233 -0
  122. package/python/include/python3.13/internal/pycore_crossinterp.h +340 -0
  123. package/python/include/python3.13/internal/pycore_descrobject.h +28 -0
  124. package/python/include/python3.13/internal/pycore_dict.h +340 -0
  125. package/python/include/python3.13/internal/pycore_dict_state.h +32 -0
  126. package/python/include/python3.13/internal/pycore_dtoa.h +75 -0
  127. package/python/include/python3.13/internal/pycore_emscripten_signal.h +30 -0
  128. package/python/include/python3.13/internal/pycore_emscripten_trampoline.h +81 -0
  129. package/python/include/python3.13/internal/pycore_exceptions.h +40 -0
  130. package/python/include/python3.13/internal/pycore_faulthandler.h +99 -0
  131. package/python/include/python3.13/internal/pycore_fileutils.h +335 -0
  132. package/python/include/python3.13/internal/pycore_fileutils_windows.h +98 -0
  133. package/python/include/python3.13/internal/pycore_floatobject.h +62 -0
  134. package/python/include/python3.13/internal/pycore_flowgraph.h +40 -0
  135. package/python/include/python3.13/internal/pycore_format.h +27 -0
  136. package/python/include/python3.13/internal/pycore_frame.h +370 -0
  137. package/python/include/python3.13/internal/pycore_freelist.h +153 -0
  138. package/python/include/python3.13/internal/pycore_function.h +55 -0
  139. package/python/include/python3.13/internal/pycore_gc.h +365 -0
  140. package/python/include/python3.13/internal/pycore_genobject.h +32 -0
  141. package/python/include/python3.13/internal/pycore_getopt.h +22 -0
  142. package/python/include/python3.13/internal/pycore_gil.h +66 -0
  143. package/python/include/python3.13/internal/pycore_global_objects.h +105 -0
  144. package/python/include/python3.13/internal/pycore_global_objects_fini_generated.h +1554 -0
  145. package/python/include/python3.13/internal/pycore_global_strings.h +814 -0
  146. package/python/include/python3.13/internal/pycore_hamt.h +134 -0
  147. package/python/include/python3.13/internal/pycore_hashtable.h +150 -0
  148. package/python/include/python3.13/internal/pycore_identifier.h +20 -0
  149. package/python/include/python3.13/internal/pycore_import.h +213 -0
  150. package/python/include/python3.13/internal/pycore_importdl.h +139 -0
  151. package/python/include/python3.13/internal/pycore_initconfig.h +200 -0
  152. package/python/include/python3.13/internal/pycore_instruction_sequence.h +73 -0
  153. package/python/include/python3.13/internal/pycore_instruments.h +75 -0
  154. package/python/include/python3.13/internal/pycore_interp.h +423 -0
  155. package/python/include/python3.13/internal/pycore_intrinsics.h +51 -0
  156. package/python/include/python3.13/internal/pycore_jit.h +25 -0
  157. package/python/include/python3.13/internal/pycore_list.h +66 -0
  158. package/python/include/python3.13/internal/pycore_llist.h +106 -0
  159. package/python/include/python3.13/internal/pycore_lock.h +241 -0
  160. package/python/include/python3.13/internal/pycore_long.h +310 -0
  161. package/python/include/python3.13/internal/pycore_memoryobject.h +20 -0
  162. package/python/include/python3.13/internal/pycore_mimalloc.h +69 -0
  163. package/python/include/python3.13/internal/pycore_modsupport.h +107 -0
  164. package/python/include/python3.13/internal/pycore_moduleobject.h +56 -0
  165. package/python/include/python3.13/internal/pycore_namespace.h +21 -0
  166. package/python/include/python3.13/internal/pycore_object.h +867 -0
  167. package/python/include/python3.13/internal/pycore_object_alloc.h +71 -0
  168. package/python/include/python3.13/internal/pycore_object_stack.h +97 -0
  169. package/python/include/python3.13/internal/pycore_object_state.h +41 -0
  170. package/python/include/python3.13/internal/pycore_obmalloc.h +702 -0
  171. package/python/include/python3.13/internal/pycore_obmalloc_init.h +66 -0
  172. package/python/include/python3.13/internal/pycore_opcode_metadata.h +1922 -0
  173. package/python/include/python3.13/internal/pycore_opcode_utils.h +73 -0
  174. package/python/include/python3.13/internal/pycore_optimizer.h +272 -0
  175. package/python/include/python3.13/internal/pycore_parking_lot.h +97 -0
  176. package/python/include/python3.13/internal/pycore_parser.h +95 -0
  177. package/python/include/python3.13/internal/pycore_pathconfig.h +26 -0
  178. package/python/include/python3.13/internal/pycore_pyarena.h +68 -0
  179. package/python/include/python3.13/internal/pycore_pyatomic_ft_wrappers.h +165 -0
  180. package/python/include/python3.13/internal/pycore_pybuffer.h +21 -0
  181. package/python/include/python3.13/internal/pycore_pyerrors.h +190 -0
  182. package/python/include/python3.13/internal/pycore_pyhash.h +107 -0
  183. package/python/include/python3.13/internal/pycore_pylifecycle.h +136 -0
  184. package/python/include/python3.13/internal/pycore_pymath.h +205 -0
  185. package/python/include/python3.13/internal/pycore_pymem.h +161 -0
  186. package/python/include/python3.13/internal/pycore_pymem_init.h +103 -0
  187. package/python/include/python3.13/internal/pycore_pystate.h +299 -0
  188. package/python/include/python3.13/internal/pycore_pystats.h +21 -0
  189. package/python/include/python3.13/internal/pycore_pythonrun.h +39 -0
  190. package/python/include/python3.13/internal/pycore_pythread.h +172 -0
  191. package/python/include/python3.13/internal/pycore_qsbr.h +173 -0
  192. package/python/include/python3.13/internal/pycore_range.h +21 -0
  193. package/python/include/python3.13/internal/pycore_runtime.h +410 -0
  194. package/python/include/python3.13/internal/pycore_runtime_init.h +329 -0
  195. package/python/include/python3.13/internal/pycore_runtime_init_generated.h +1551 -0
  196. package/python/include/python3.13/internal/pycore_semaphore.h +67 -0
  197. package/python/include/python3.13/internal/pycore_setobject.h +39 -0
  198. package/python/include/python3.13/internal/pycore_signal.h +108 -0
  199. package/python/include/python3.13/internal/pycore_sliceobject.h +20 -0
  200. package/python/include/python3.13/internal/pycore_stackref.h +195 -0
  201. package/python/include/python3.13/internal/pycore_strhex.h +39 -0
  202. package/python/include/python3.13/internal/pycore_structseq.h +40 -0
  203. package/python/include/python3.13/internal/pycore_symtable.h +204 -0
  204. package/python/include/python3.13/internal/pycore_sysmodule.h +38 -0
  205. package/python/include/python3.13/internal/pycore_time.h +337 -0
  206. package/python/include/python3.13/internal/pycore_token.h +106 -0
  207. package/python/include/python3.13/internal/pycore_traceback.h +106 -0
  208. package/python/include/python3.13/internal/pycore_tracemalloc.h +170 -0
  209. package/python/include/python3.13/internal/pycore_tstate.h +46 -0
  210. package/python/include/python3.13/internal/pycore_tuple.h +35 -0
  211. package/python/include/python3.13/internal/pycore_typeobject.h +245 -0
  212. package/python/include/python3.13/internal/pycore_typevarobject.h +27 -0
  213. package/python/include/python3.13/internal/pycore_ucnhash.h +36 -0
  214. package/python/include/python3.13/internal/pycore_unicodeobject.h +351 -0
  215. package/python/include/python3.13/internal/pycore_unicodeobject_generated.h +2980 -0
  216. package/python/include/python3.13/internal/pycore_unionobject.h +25 -0
  217. package/python/include/python3.13/internal/pycore_uop_ids.h +295 -0
  218. package/python/include/python3.13/internal/pycore_uop_metadata.h +1010 -0
  219. package/python/include/python3.13/internal/pycore_warnings.h +31 -0
  220. package/python/include/python3.13/internal/pycore_weakref.h +133 -0
  221. package/python/include/python3.13/intrcheck.h +23 -0
  222. package/python/include/python3.13/iterobject.h +24 -0
  223. package/python/include/python3.13/listobject.h +55 -0
  224. package/python/include/python3.13/lock.h +16 -0
  225. package/python/include/python3.13/longobject.h +114 -0
  226. package/python/include/python3.13/marshal.h +31 -0
  227. package/python/include/python3.13/memoryobject.h +34 -0
  228. package/python/include/python3.13/methodobject.h +137 -0
  229. package/python/include/python3.13/modsupport.h +146 -0
  230. package/python/include/python3.13/moduleobject.h +122 -0
  231. package/python/include/python3.13/monitoring.h +18 -0
  232. package/python/include/python3.13/object.h +1280 -0
  233. package/python/include/python3.13/objimpl.h +211 -0
  234. package/python/include/python3.13/opcode.h +42 -0
  235. package/python/include/python3.13/opcode_ids.h +244 -0
  236. package/python/include/python3.13/osdefs.h +57 -0
  237. package/python/include/python3.13/osmodule.h +17 -0
  238. package/python/include/python3.13/patchlevel.h +35 -0
  239. package/python/include/python3.13/py_curses.h +117 -0
  240. package/python/include/python3.13/pyatomic.h +16 -0
  241. package/python/include/python3.13/pybuffer.h +145 -0
  242. package/python/include/python3.13/pycapsule.h +58 -0
  243. package/python/include/python3.13/pyconfig.h +2033 -0
  244. package/python/include/python3.13/pydtrace.h +59 -0
  245. package/python/include/python3.13/pyerrors.h +335 -0
  246. package/python/include/python3.13/pyexpat.h +62 -0
  247. package/python/include/python3.13/pyframe.h +26 -0
  248. package/python/include/python3.13/pyhash.h +59 -0
  249. package/python/include/python3.13/pylifecycle.h +80 -0
  250. package/python/include/python3.13/pymacconfig.h +91 -0
  251. package/python/include/python3.13/pymacro.h +199 -0
  252. package/python/include/python3.13/pymath.h +62 -0
  253. package/python/include/python3.13/pymem.h +110 -0
  254. package/python/include/python3.13/pyport.h +633 -0
  255. package/python/include/python3.13/pystate.h +132 -0
  256. package/python/include/python3.13/pystats.h +26 -0
  257. package/python/include/python3.13/pystrcmp.h +23 -0
  258. package/python/include/python3.13/pystrtod.h +37 -0
  259. package/python/include/python3.13/pythonrun.h +49 -0
  260. package/python/include/python3.13/pythread.h +131 -0
  261. package/python/include/python3.13/pytypedefs.h +30 -0
  262. package/python/include/python3.13/rangeobject.h +27 -0
  263. package/python/include/python3.13/setobject.h +49 -0
  264. package/python/include/python3.13/sliceobject.h +69 -0
  265. package/python/include/python3.13/structmember.h +56 -0
  266. package/python/include/python3.13/structseq.h +46 -0
  267. package/python/include/python3.13/sysmodule.h +44 -0
  268. package/python/include/python3.13/traceback.h +26 -0
  269. package/python/include/python3.13/tupleobject.h +46 -0
  270. package/python/include/python3.13/typeslots.h +88 -0
  271. package/python/include/python3.13/unicodeobject.h +1021 -0
  272. package/python/include/python3.13/warnings.h +45 -0
  273. package/python/include/python3.13/weakrefobject.h +46 -0
  274. package/python/lib/itcl4.3.5/itcl.tcl +151 -0
  275. package/python/lib/itcl4.3.5/itclConfig.sh +67 -0
  276. package/python/lib/itcl4.3.5/itclHullCmds.tcl +562 -0
  277. package/python/lib/itcl4.3.5/itclWidget.tcl +447 -0
  278. package/python/lib/itcl4.3.5/libitcl4.3.5.dylib +0 -0
  279. package/python/lib/itcl4.3.5/libitclstub.a +0 -0
  280. package/python/lib/itcl4.3.5/libitclstub4.3.5.a +0 -0
  281. package/python/lib/itcl4.3.5/libtcl9itcl4.3.5.dylib +0 -0
  282. package/python/lib/itcl4.3.5/pkgIndex.tcl +14 -0
  283. package/python/lib/libpython3.13.dylib +0 -0
  284. package/python/lib/libtcl9.0.dylib +0 -0
  285. package/python/lib/libtcl9tk9.0.dylib +0 -0
  286. package/python/lib/pkgconfig/python-3.13-embed.pc +13 -0
  287. package/python/lib/pkgconfig/python-3.13.pc +13 -0
  288. package/python/lib/python3.13/LICENSE.txt +277 -0
  289. package/python/lib/python3.13/__future__.py +147 -0
  290. package/python/lib/python3.13/__hello__.py +16 -0
  291. package/python/lib/python3.13/__phello__/__init__.py +7 -0
  292. package/python/lib/python3.13/__phello__/spam.py +7 -0
  293. package/python/lib/python3.13/_aix_support.py +108 -0
  294. package/python/lib/python3.13/_android_support.py +192 -0
  295. package/python/lib/python3.13/_apple_support.py +66 -0
  296. package/python/lib/python3.13/_collections_abc.py +1182 -0
  297. package/python/lib/python3.13/_colorize.py +119 -0
  298. package/python/lib/python3.13/_compat_pickle.py +251 -0
  299. package/python/lib/python3.13/_compression.py +162 -0
  300. package/python/lib/python3.13/_ios_support.py +71 -0
  301. package/python/lib/python3.13/_markupbase.py +396 -0
  302. package/python/lib/python3.13/_opcode_metadata.py +343 -0
  303. package/python/lib/python3.13/_osx_support.py +579 -0
  304. package/python/lib/python3.13/_py_abc.py +147 -0
  305. package/python/lib/python3.13/_pydatetime.py +2639 -0
  306. package/python/lib/python3.13/_pydecimal.py +6351 -0
  307. package/python/lib/python3.13/_pyio.py +2704 -0
  308. package/python/lib/python3.13/_pylong.py +363 -0
  309. package/python/lib/python3.13/_pyrepl/__init__.py +19 -0
  310. package/python/lib/python3.13/_pyrepl/__main__.py +10 -0
  311. package/python/lib/python3.13/_pyrepl/_minimal_curses.py +68 -0
  312. package/python/lib/python3.13/_pyrepl/_threading_handler.py +74 -0
  313. package/python/lib/python3.13/_pyrepl/base_eventqueue.py +110 -0
  314. package/python/lib/python3.13/_pyrepl/commands.py +492 -0
  315. package/python/lib/python3.13/_pyrepl/completing_reader.py +295 -0
  316. package/python/lib/python3.13/_pyrepl/console.py +229 -0
  317. package/python/lib/python3.13/_pyrepl/curses.py +33 -0
  318. package/python/lib/python3.13/_pyrepl/fancy_termios.py +82 -0
  319. package/python/lib/python3.13/_pyrepl/historical_reader.py +419 -0
  320. package/python/lib/python3.13/_pyrepl/input.py +114 -0
  321. package/python/lib/python3.13/_pyrepl/keymap.py +213 -0
  322. package/python/lib/python3.13/_pyrepl/main.py +59 -0
  323. package/python/lib/python3.13/_pyrepl/mypy.ini +29 -0
  324. package/python/lib/python3.13/_pyrepl/pager.py +175 -0
  325. package/python/lib/python3.13/_pyrepl/reader.py +764 -0
  326. package/python/lib/python3.13/_pyrepl/readline.py +599 -0
  327. package/python/lib/python3.13/_pyrepl/simple_interact.py +180 -0
  328. package/python/lib/python3.13/_pyrepl/trace.py +21 -0
  329. package/python/lib/python3.13/_pyrepl/types.py +10 -0
  330. package/python/lib/python3.13/_pyrepl/unix_console.py +852 -0
  331. package/python/lib/python3.13/_pyrepl/unix_eventqueue.py +76 -0
  332. package/python/lib/python3.13/_pyrepl/utils.py +83 -0
  333. package/python/lib/python3.13/_pyrepl/windows_console.py +692 -0
  334. package/python/lib/python3.13/_pyrepl/windows_eventqueue.py +42 -0
  335. package/python/lib/python3.13/_sitebuiltins.py +91 -0
  336. package/python/lib/python3.13/_strptime.py +800 -0
  337. package/python/lib/python3.13/_sysconfigdata__darwin_darwin.py +1028 -0
  338. package/python/lib/python3.13/_threading_local.py +120 -0
  339. package/python/lib/python3.13/_weakrefset.py +205 -0
  340. package/python/lib/python3.13/abc.py +188 -0
  341. package/python/lib/python3.13/antigravity.py +17 -0
  342. package/python/lib/python3.13/argparse.py +2690 -0
  343. package/python/lib/python3.13/ast.py +1865 -0
  344. package/python/lib/python3.13/asyncio/__init__.py +47 -0
  345. package/python/lib/python3.13/asyncio/__main__.py +207 -0
  346. package/python/lib/python3.13/asyncio/base_events.py +2075 -0
  347. package/python/lib/python3.13/asyncio/base_futures.py +67 -0
  348. package/python/lib/python3.13/asyncio/base_subprocess.py +319 -0
  349. package/python/lib/python3.13/asyncio/base_tasks.py +94 -0
  350. package/python/lib/python3.13/asyncio/constants.py +41 -0
  351. package/python/lib/python3.13/asyncio/coroutines.py +109 -0
  352. package/python/lib/python3.13/asyncio/events.py +882 -0
  353. package/python/lib/python3.13/asyncio/exceptions.py +62 -0
  354. package/python/lib/python3.13/asyncio/format_helpers.py +84 -0
  355. package/python/lib/python3.13/asyncio/futures.py +425 -0
  356. package/python/lib/python3.13/asyncio/locks.py +617 -0
  357. package/python/lib/python3.13/asyncio/log.py +7 -0
  358. package/python/lib/python3.13/asyncio/mixins.py +21 -0
  359. package/python/lib/python3.13/asyncio/proactor_events.py +896 -0
  360. package/python/lib/python3.13/asyncio/protocols.py +216 -0
  361. package/python/lib/python3.13/asyncio/queues.py +307 -0
  362. package/python/lib/python3.13/asyncio/runners.py +216 -0
  363. package/python/lib/python3.13/asyncio/selector_events.py +1326 -0
  364. package/python/lib/python3.13/asyncio/sslproto.py +929 -0
  365. package/python/lib/python3.13/asyncio/staggered.py +174 -0
  366. package/python/lib/python3.13/asyncio/streams.py +787 -0
  367. package/python/lib/python3.13/asyncio/subprocess.py +229 -0
  368. package/python/lib/python3.13/asyncio/taskgroups.py +278 -0
  369. package/python/lib/python3.13/asyncio/tasks.py +1118 -0
  370. package/python/lib/python3.13/asyncio/threads.py +25 -0
  371. package/python/lib/python3.13/asyncio/timeouts.py +184 -0
  372. package/python/lib/python3.13/asyncio/transports.py +337 -0
  373. package/python/lib/python3.13/asyncio/trsock.py +98 -0
  374. package/python/lib/python3.13/asyncio/unix_events.py +1536 -0
  375. package/python/lib/python3.13/asyncio/windows_events.py +903 -0
  376. package/python/lib/python3.13/asyncio/windows_utils.py +173 -0
  377. package/python/lib/python3.13/base64.py +621 -0
  378. package/python/lib/python3.13/bdb.py +973 -0
  379. package/python/lib/python3.13/bisect.py +118 -0
  380. package/python/lib/python3.13/bz2.py +352 -0
  381. package/python/lib/python3.13/cProfile.py +197 -0
  382. package/python/lib/python3.13/calendar.py +813 -0
  383. package/python/lib/python3.13/cmd.py +409 -0
  384. package/python/lib/python3.13/code.py +386 -0
  385. package/python/lib/python3.13/codecs.py +1132 -0
  386. package/python/lib/python3.13/codeop.py +155 -0
  387. package/python/lib/python3.13/collections/__init__.py +1600 -0
  388. package/python/lib/python3.13/colorsys.py +166 -0
  389. package/python/lib/python3.13/compileall.py +470 -0
  390. package/python/lib/python3.13/concurrent/__init__.py +1 -0
  391. package/python/lib/python3.13/concurrent/futures/__init__.py +54 -0
  392. package/python/lib/python3.13/concurrent/futures/_base.py +654 -0
  393. package/python/lib/python3.13/concurrent/futures/process.py +862 -0
  394. package/python/lib/python3.13/concurrent/futures/thread.py +240 -0
  395. package/python/lib/python3.13/config-3.13-darwin/Makefile +3505 -0
  396. package/python/lib/python3.13/config-3.13-darwin/Setup +298 -0
  397. package/python/lib/python3.13/config-3.13-darwin/Setup.bootstrap +38 -0
  398. package/python/lib/python3.13/config-3.13-darwin/Setup.local +89 -0
  399. package/python/lib/python3.13/config-3.13-darwin/Setup.stdlib +181 -0
  400. package/python/lib/python3.13/config-3.13-darwin/config.c +260 -0
  401. package/python/lib/python3.13/config-3.13-darwin/config.c.in +71 -0
  402. package/python/lib/python3.13/config-3.13-darwin/install-sh +541 -0
  403. package/python/lib/python3.13/config-3.13-darwin/makesetup +341 -0
  404. package/python/lib/python3.13/config-3.13-darwin/python-config.py +76 -0
  405. package/python/lib/python3.13/config-3.13-darwin/python.o +0 -0
  406. package/python/lib/python3.13/configparser.py +1387 -0
  407. package/python/lib/python3.13/contextlib.py +814 -0
  408. package/python/lib/python3.13/contextvars.py +4 -0
  409. package/python/lib/python3.13/copy.py +306 -0
  410. package/python/lib/python3.13/copyreg.py +217 -0
  411. package/python/lib/python3.13/csv.py +513 -0
  412. package/python/lib/python3.13/ctypes/__init__.py +603 -0
  413. package/python/lib/python3.13/ctypes/_aix.py +327 -0
  414. package/python/lib/python3.13/ctypes/_endian.py +78 -0
  415. package/python/lib/python3.13/ctypes/macholib/README.ctypes +7 -0
  416. package/python/lib/python3.13/ctypes/macholib/__init__.py +9 -0
  417. package/python/lib/python3.13/ctypes/macholib/dyld.py +165 -0
  418. package/python/lib/python3.13/ctypes/macholib/dylib.py +42 -0
  419. package/python/lib/python3.13/ctypes/macholib/fetch_macholib +2 -0
  420. package/python/lib/python3.13/ctypes/macholib/fetch_macholib.bat +1 -0
  421. package/python/lib/python3.13/ctypes/macholib/framework.py +42 -0
  422. package/python/lib/python3.13/ctypes/util.py +388 -0
  423. package/python/lib/python3.13/ctypes/wintypes.py +202 -0
  424. package/python/lib/python3.13/curses/__init__.py +101 -0
  425. package/python/lib/python3.13/curses/ascii.py +99 -0
  426. package/python/lib/python3.13/curses/has_key.py +192 -0
  427. package/python/lib/python3.13/curses/panel.py +6 -0
  428. package/python/lib/python3.13/curses/textpad.py +204 -0
  429. package/python/lib/python3.13/dataclasses.py +1630 -0
  430. package/python/lib/python3.13/datetime.py +9 -0
  431. package/python/lib/python3.13/dbm/__init__.py +194 -0
  432. package/python/lib/python3.13/dbm/dumb.py +319 -0
  433. package/python/lib/python3.13/dbm/gnu.py +3 -0
  434. package/python/lib/python3.13/dbm/ndbm.py +3 -0
  435. package/python/lib/python3.13/dbm/sqlite3.py +144 -0
  436. package/python/lib/python3.13/decimal.py +109 -0
  437. package/python/lib/python3.13/difflib.py +2056 -0
  438. package/python/lib/python3.13/dis.py +1075 -0
  439. package/python/lib/python3.13/doctest.py +2919 -0
  440. package/python/lib/python3.13/email/__init__.py +61 -0
  441. package/python/lib/python3.13/email/_encoded_words.py +233 -0
  442. package/python/lib/python3.13/email/_header_value_parser.py +3145 -0
  443. package/python/lib/python3.13/email/_parseaddr.py +563 -0
  444. package/python/lib/python3.13/email/_policybase.py +382 -0
  445. package/python/lib/python3.13/email/architecture.rst +216 -0
  446. package/python/lib/python3.13/email/base64mime.py +115 -0
  447. package/python/lib/python3.13/email/charset.py +398 -0
  448. package/python/lib/python3.13/email/contentmanager.py +253 -0
  449. package/python/lib/python3.13/email/encoders.py +65 -0
  450. package/python/lib/python3.13/email/errors.py +117 -0
  451. package/python/lib/python3.13/email/feedparser.py +536 -0
  452. package/python/lib/python3.13/email/generator.py +530 -0
  453. package/python/lib/python3.13/email/header.py +582 -0
  454. package/python/lib/python3.13/email/headerregistry.py +618 -0
  455. package/python/lib/python3.13/email/iterators.py +68 -0
  456. package/python/lib/python3.13/email/message.py +1217 -0
  457. package/python/lib/python3.13/email/mime/__init__.py +0 -0
  458. package/python/lib/python3.13/email/mime/application.py +37 -0
  459. package/python/lib/python3.13/email/mime/audio.py +97 -0
  460. package/python/lib/python3.13/email/mime/base.py +29 -0
  461. package/python/lib/python3.13/email/mime/image.py +152 -0
  462. package/python/lib/python3.13/email/mime/message.py +33 -0
  463. package/python/lib/python3.13/email/mime/multipart.py +47 -0
  464. package/python/lib/python3.13/email/mime/nonmultipart.py +21 -0
  465. package/python/lib/python3.13/email/mime/text.py +40 -0
  466. package/python/lib/python3.13/email/parser.py +127 -0
  467. package/python/lib/python3.13/email/policy.py +232 -0
  468. package/python/lib/python3.13/email/quoprimime.py +300 -0
  469. package/python/lib/python3.13/email/utils.py +494 -0
  470. package/python/lib/python3.13/encodings/__init__.py +174 -0
  471. package/python/lib/python3.13/encodings/aliases.py +552 -0
  472. package/python/lib/python3.13/encodings/ascii.py +50 -0
  473. package/python/lib/python3.13/encodings/base64_codec.py +55 -0
  474. package/python/lib/python3.13/encodings/big5.py +39 -0
  475. package/python/lib/python3.13/encodings/big5hkscs.py +39 -0
  476. package/python/lib/python3.13/encodings/bz2_codec.py +78 -0
  477. package/python/lib/python3.13/encodings/charmap.py +69 -0
  478. package/python/lib/python3.13/encodings/cp037.py +307 -0
  479. package/python/lib/python3.13/encodings/cp1006.py +307 -0
  480. package/python/lib/python3.13/encodings/cp1026.py +307 -0
  481. package/python/lib/python3.13/encodings/cp1125.py +698 -0
  482. package/python/lib/python3.13/encodings/cp1140.py +307 -0
  483. package/python/lib/python3.13/encodings/cp1250.py +307 -0
  484. package/python/lib/python3.13/encodings/cp1251.py +307 -0
  485. package/python/lib/python3.13/encodings/cp1252.py +307 -0
  486. package/python/lib/python3.13/encodings/cp1253.py +307 -0
  487. package/python/lib/python3.13/encodings/cp1254.py +307 -0
  488. package/python/lib/python3.13/encodings/cp1255.py +307 -0
  489. package/python/lib/python3.13/encodings/cp1256.py +307 -0
  490. package/python/lib/python3.13/encodings/cp1257.py +307 -0
  491. package/python/lib/python3.13/encodings/cp1258.py +307 -0
  492. package/python/lib/python3.13/encodings/cp273.py +307 -0
  493. package/python/lib/python3.13/encodings/cp424.py +307 -0
  494. package/python/lib/python3.13/encodings/cp437.py +698 -0
  495. package/python/lib/python3.13/encodings/cp500.py +307 -0
  496. package/python/lib/python3.13/encodings/cp720.py +309 -0
  497. package/python/lib/python3.13/encodings/cp737.py +698 -0
  498. package/python/lib/python3.13/encodings/cp775.py +697 -0
  499. package/python/lib/python3.13/encodings/cp850.py +698 -0
  500. package/python/lib/python3.13/encodings/cp852.py +698 -0
  501. package/python/lib/python3.13/encodings/cp855.py +698 -0
  502. package/python/lib/python3.13/encodings/cp856.py +307 -0
  503. package/python/lib/python3.13/encodings/cp857.py +694 -0
  504. package/python/lib/python3.13/encodings/cp858.py +698 -0
  505. package/python/lib/python3.13/encodings/cp860.py +698 -0
  506. package/python/lib/python3.13/encodings/cp861.py +698 -0
  507. package/python/lib/python3.13/encodings/cp862.py +698 -0
  508. package/python/lib/python3.13/encodings/cp863.py +698 -0
  509. package/python/lib/python3.13/encodings/cp864.py +690 -0
  510. package/python/lib/python3.13/encodings/cp865.py +698 -0
  511. package/python/lib/python3.13/encodings/cp866.py +698 -0
  512. package/python/lib/python3.13/encodings/cp869.py +689 -0
  513. package/python/lib/python3.13/encodings/cp874.py +307 -0
  514. package/python/lib/python3.13/encodings/cp875.py +307 -0
  515. package/python/lib/python3.13/encodings/cp932.py +39 -0
  516. package/python/lib/python3.13/encodings/cp949.py +39 -0
  517. package/python/lib/python3.13/encodings/cp950.py +39 -0
  518. package/python/lib/python3.13/encodings/euc_jis_2004.py +39 -0
  519. package/python/lib/python3.13/encodings/euc_jisx0213.py +39 -0
  520. package/python/lib/python3.13/encodings/euc_jp.py +39 -0
  521. package/python/lib/python3.13/encodings/euc_kr.py +39 -0
  522. package/python/lib/python3.13/encodings/gb18030.py +39 -0
  523. package/python/lib/python3.13/encodings/gb2312.py +39 -0
  524. package/python/lib/python3.13/encodings/gbk.py +39 -0
  525. package/python/lib/python3.13/encodings/hex_codec.py +55 -0
  526. package/python/lib/python3.13/encodings/hp_roman8.py +314 -0
  527. package/python/lib/python3.13/encodings/hz.py +39 -0
  528. package/python/lib/python3.13/encodings/idna.py +387 -0
  529. package/python/lib/python3.13/encodings/iso2022_jp.py +39 -0
  530. package/python/lib/python3.13/encodings/iso2022_jp_1.py +39 -0
  531. package/python/lib/python3.13/encodings/iso2022_jp_2.py +39 -0
  532. package/python/lib/python3.13/encodings/iso2022_jp_2004.py +39 -0
  533. package/python/lib/python3.13/encodings/iso2022_jp_3.py +39 -0
  534. package/python/lib/python3.13/encodings/iso2022_jp_ext.py +39 -0
  535. package/python/lib/python3.13/encodings/iso2022_kr.py +39 -0
  536. package/python/lib/python3.13/encodings/iso8859_1.py +307 -0
  537. package/python/lib/python3.13/encodings/iso8859_10.py +307 -0
  538. package/python/lib/python3.13/encodings/iso8859_11.py +307 -0
  539. package/python/lib/python3.13/encodings/iso8859_13.py +307 -0
  540. package/python/lib/python3.13/encodings/iso8859_14.py +307 -0
  541. package/python/lib/python3.13/encodings/iso8859_15.py +307 -0
  542. package/python/lib/python3.13/encodings/iso8859_16.py +307 -0
  543. package/python/lib/python3.13/encodings/iso8859_2.py +307 -0
  544. package/python/lib/python3.13/encodings/iso8859_3.py +307 -0
  545. package/python/lib/python3.13/encodings/iso8859_4.py +307 -0
  546. package/python/lib/python3.13/encodings/iso8859_5.py +307 -0
  547. package/python/lib/python3.13/encodings/iso8859_6.py +307 -0
  548. package/python/lib/python3.13/encodings/iso8859_7.py +307 -0
  549. package/python/lib/python3.13/encodings/iso8859_8.py +307 -0
  550. package/python/lib/python3.13/encodings/iso8859_9.py +307 -0
  551. package/python/lib/python3.13/encodings/johab.py +39 -0
  552. package/python/lib/python3.13/encodings/koi8_r.py +307 -0
  553. package/python/lib/python3.13/encodings/koi8_t.py +308 -0
  554. package/python/lib/python3.13/encodings/koi8_u.py +307 -0
  555. package/python/lib/python3.13/encodings/kz1048.py +307 -0
  556. package/python/lib/python3.13/encodings/latin_1.py +50 -0
  557. package/python/lib/python3.13/encodings/mac_arabic.py +698 -0
  558. package/python/lib/python3.13/encodings/mac_croatian.py +307 -0
  559. package/python/lib/python3.13/encodings/mac_cyrillic.py +307 -0
  560. package/python/lib/python3.13/encodings/mac_farsi.py +307 -0
  561. package/python/lib/python3.13/encodings/mac_greek.py +307 -0
  562. package/python/lib/python3.13/encodings/mac_iceland.py +307 -0
  563. package/python/lib/python3.13/encodings/mac_latin2.py +312 -0
  564. package/python/lib/python3.13/encodings/mac_roman.py +307 -0
  565. package/python/lib/python3.13/encodings/mac_romanian.py +307 -0
  566. package/python/lib/python3.13/encodings/mac_turkish.py +307 -0
  567. package/python/lib/python3.13/encodings/mbcs.py +47 -0
  568. package/python/lib/python3.13/encodings/oem.py +41 -0
  569. package/python/lib/python3.13/encodings/palmos.py +308 -0
  570. package/python/lib/python3.13/encodings/ptcp154.py +312 -0
  571. package/python/lib/python3.13/encodings/punycode.py +253 -0
  572. package/python/lib/python3.13/encodings/quopri_codec.py +56 -0
  573. package/python/lib/python3.13/encodings/raw_unicode_escape.py +46 -0
  574. package/python/lib/python3.13/encodings/rot_13.py +113 -0
  575. package/python/lib/python3.13/encodings/shift_jis.py +39 -0
  576. package/python/lib/python3.13/encodings/shift_jis_2004.py +39 -0
  577. package/python/lib/python3.13/encodings/shift_jisx0213.py +39 -0
  578. package/python/lib/python3.13/encodings/tis_620.py +307 -0
  579. package/python/lib/python3.13/encodings/undefined.py +49 -0
  580. package/python/lib/python3.13/encodings/unicode_escape.py +46 -0
  581. package/python/lib/python3.13/encodings/utf_16.py +155 -0
  582. package/python/lib/python3.13/encodings/utf_16_be.py +42 -0
  583. package/python/lib/python3.13/encodings/utf_16_le.py +42 -0
  584. package/python/lib/python3.13/encodings/utf_32.py +150 -0
  585. package/python/lib/python3.13/encodings/utf_32_be.py +37 -0
  586. package/python/lib/python3.13/encodings/utf_32_le.py +37 -0
  587. package/python/lib/python3.13/encodings/utf_7.py +38 -0
  588. package/python/lib/python3.13/encodings/utf_8.py +42 -0
  589. package/python/lib/python3.13/encodings/utf_8_sig.py +130 -0
  590. package/python/lib/python3.13/encodings/uu_codec.py +103 -0
  591. package/python/lib/python3.13/encodings/zlib_codec.py +77 -0
  592. package/python/lib/python3.13/ensurepip/__init__.py +264 -0
  593. package/python/lib/python3.13/ensurepip/__main__.py +5 -0
  594. package/python/lib/python3.13/ensurepip/_bundled/pip-25.3-py3-none-any.whl +0 -0
  595. package/python/lib/python3.13/ensurepip/_uninstall.py +31 -0
  596. package/python/lib/python3.13/enum.py +2182 -0
  597. package/python/lib/python3.13/filecmp.py +320 -0
  598. package/python/lib/python3.13/fileinput.py +442 -0
  599. package/python/lib/python3.13/fnmatch.py +192 -0
  600. package/python/lib/python3.13/fractions.py +1043 -0
  601. package/python/lib/python3.13/ftplib.py +966 -0
  602. package/python/lib/python3.13/functools.py +1036 -0
  603. package/python/lib/python3.13/genericpath.py +200 -0
  604. package/python/lib/python3.13/getopt.py +215 -0
  605. package/python/lib/python3.13/getpass.py +192 -0
  606. package/python/lib/python3.13/gettext.py +657 -0
  607. package/python/lib/python3.13/glob.py +551 -0
  608. package/python/lib/python3.13/graphlib.py +250 -0
  609. package/python/lib/python3.13/gzip.py +691 -0
  610. package/python/lib/python3.13/hashlib.py +255 -0
  611. package/python/lib/python3.13/heapq.py +603 -0
  612. package/python/lib/python3.13/hmac.py +220 -0
  613. package/python/lib/python3.13/html/__init__.py +132 -0
  614. package/python/lib/python3.13/html/entities.py +2513 -0
  615. package/python/lib/python3.13/html/parser.py +553 -0
  616. package/python/lib/python3.13/http/__init__.py +202 -0
  617. package/python/lib/python3.13/http/client.py +1570 -0
  618. package/python/lib/python3.13/http/cookiejar.py +2122 -0
  619. package/python/lib/python3.13/http/cookies.py +615 -0
  620. package/python/lib/python3.13/http/server.py +1351 -0
  621. package/python/lib/python3.13/idlelib/CREDITS.txt +48 -0
  622. package/python/lib/python3.13/idlelib/ChangeLog +1591 -0
  623. package/python/lib/python3.13/idlelib/HISTORY.txt +296 -0
  624. package/python/lib/python3.13/idlelib/Icons/README.txt +51 -0
  625. package/python/lib/python3.13/idlelib/Icons/folder.gif +0 -0
  626. package/python/lib/python3.13/idlelib/Icons/idle.ico +0 -0
  627. package/python/lib/python3.13/idlelib/Icons/idle_16.gif +0 -0
  628. package/python/lib/python3.13/idlelib/Icons/idle_16.png +0 -0
  629. package/python/lib/python3.13/idlelib/Icons/idle_256.png +0 -0
  630. package/python/lib/python3.13/idlelib/Icons/idle_32.gif +0 -0
  631. package/python/lib/python3.13/idlelib/Icons/idle_32.png +0 -0
  632. package/python/lib/python3.13/idlelib/Icons/idle_48.gif +0 -0
  633. package/python/lib/python3.13/idlelib/Icons/idle_48.png +0 -0
  634. package/python/lib/python3.13/idlelib/Icons/minusnode.gif +0 -0
  635. package/python/lib/python3.13/idlelib/Icons/openfolder.gif +0 -0
  636. package/python/lib/python3.13/idlelib/Icons/plusnode.gif +0 -0
  637. package/python/lib/python3.13/idlelib/Icons/python.gif +0 -0
  638. package/python/lib/python3.13/idlelib/Icons/tk.gif +0 -0
  639. package/python/lib/python3.13/idlelib/NEWS2x.txt +660 -0
  640. package/python/lib/python3.13/idlelib/News3.txt +1407 -0
  641. package/python/lib/python3.13/idlelib/README.txt +290 -0
  642. package/python/lib/python3.13/idlelib/TODO.txt +210 -0
  643. package/python/lib/python3.13/idlelib/__init__.py +10 -0
  644. package/python/lib/python3.13/idlelib/__main__.py +7 -0
  645. package/python/lib/python3.13/idlelib/autocomplete.py +228 -0
  646. package/python/lib/python3.13/idlelib/autocomplete_w.py +498 -0
  647. package/python/lib/python3.13/idlelib/autoexpand.py +96 -0
  648. package/python/lib/python3.13/idlelib/browser.py +260 -0
  649. package/python/lib/python3.13/idlelib/calltip.py +205 -0
  650. package/python/lib/python3.13/idlelib/calltip_w.py +202 -0
  651. package/python/lib/python3.13/idlelib/codecontext.py +270 -0
  652. package/python/lib/python3.13/idlelib/colorizer.py +384 -0
  653. package/python/lib/python3.13/idlelib/config-extensions.def +62 -0
  654. package/python/lib/python3.13/idlelib/config-highlight.def +105 -0
  655. package/python/lib/python3.13/idlelib/config-keys.def +309 -0
  656. package/python/lib/python3.13/idlelib/config-main.def +92 -0
  657. package/python/lib/python3.13/idlelib/config.py +917 -0
  658. package/python/lib/python3.13/idlelib/config_key.py +354 -0
  659. package/python/lib/python3.13/idlelib/configdialog.py +2408 -0
  660. package/python/lib/python3.13/idlelib/debugger.py +602 -0
  661. package/python/lib/python3.13/idlelib/debugger_r.py +390 -0
  662. package/python/lib/python3.13/idlelib/debugobj.py +146 -0
  663. package/python/lib/python3.13/idlelib/debugobj_r.py +41 -0
  664. package/python/lib/python3.13/idlelib/delegator.py +34 -0
  665. package/python/lib/python3.13/idlelib/dynoption.py +57 -0
  666. package/python/lib/python3.13/idlelib/editor.py +1721 -0
  667. package/python/lib/python3.13/idlelib/extend.txt +83 -0
  668. package/python/lib/python3.13/idlelib/filelist.py +132 -0
  669. package/python/lib/python3.13/idlelib/format.py +426 -0
  670. package/python/lib/python3.13/idlelib/grep.py +223 -0
  671. package/python/lib/python3.13/idlelib/help.html +865 -0
  672. package/python/lib/python3.13/idlelib/help.py +343 -0
  673. package/python/lib/python3.13/idlelib/help_about.py +211 -0
  674. package/python/lib/python3.13/idlelib/history.py +106 -0
  675. package/python/lib/python3.13/idlelib/hyperparser.py +312 -0
  676. package/python/lib/python3.13/idlelib/idle.bat +4 -0
  677. package/python/lib/python3.13/idlelib/idle.py +14 -0
  678. package/python/lib/python3.13/idlelib/idle.pyw +17 -0
  679. package/python/lib/python3.13/idlelib/iomenu.py +441 -0
  680. package/python/lib/python3.13/idlelib/macosx.py +278 -0
  681. package/python/lib/python3.13/idlelib/mainmenu.py +126 -0
  682. package/python/lib/python3.13/idlelib/multicall.py +451 -0
  683. package/python/lib/python3.13/idlelib/outwin.py +188 -0
  684. package/python/lib/python3.13/idlelib/parenmatch.py +183 -0
  685. package/python/lib/python3.13/idlelib/pathbrowser.py +107 -0
  686. package/python/lib/python3.13/idlelib/percolator.py +120 -0
  687. package/python/lib/python3.13/idlelib/pyparse.py +589 -0
  688. package/python/lib/python3.13/idlelib/pyshell.py +1699 -0
  689. package/python/lib/python3.13/idlelib/query.py +390 -0
  690. package/python/lib/python3.13/idlelib/redirector.py +174 -0
  691. package/python/lib/python3.13/idlelib/replace.py +299 -0
  692. package/python/lib/python3.13/idlelib/rpc.py +635 -0
  693. package/python/lib/python3.13/idlelib/run.py +653 -0
  694. package/python/lib/python3.13/idlelib/runscript.py +213 -0
  695. package/python/lib/python3.13/idlelib/scrolledlist.py +151 -0
  696. package/python/lib/python3.13/idlelib/search.py +165 -0
  697. package/python/lib/python3.13/idlelib/searchbase.py +210 -0
  698. package/python/lib/python3.13/idlelib/searchengine.py +234 -0
  699. package/python/lib/python3.13/idlelib/sidebar.py +543 -0
  700. package/python/lib/python3.13/idlelib/squeezer.py +345 -0
  701. package/python/lib/python3.13/idlelib/stackviewer.py +134 -0
  702. package/python/lib/python3.13/idlelib/statusbar.py +52 -0
  703. package/python/lib/python3.13/idlelib/textview.py +193 -0
  704. package/python/lib/python3.13/idlelib/tooltip.py +190 -0
  705. package/python/lib/python3.13/idlelib/tree.py +509 -0
  706. package/python/lib/python3.13/idlelib/undo.py +367 -0
  707. package/python/lib/python3.13/idlelib/util.py +37 -0
  708. package/python/lib/python3.13/idlelib/window.py +98 -0
  709. package/python/lib/python3.13/idlelib/zoomheight.py +124 -0
  710. package/python/lib/python3.13/idlelib/zzdummy.py +73 -0
  711. package/python/lib/python3.13/imaplib.py +1651 -0
  712. package/python/lib/python3.13/importlib/__init__.py +136 -0
  713. package/python/lib/python3.13/importlib/_abc.py +39 -0
  714. package/python/lib/python3.13/importlib/_bootstrap.py +1551 -0
  715. package/python/lib/python3.13/importlib/_bootstrap_external.py +1826 -0
  716. package/python/lib/python3.13/importlib/abc.py +243 -0
  717. package/python/lib/python3.13/importlib/machinery.py +21 -0
  718. package/python/lib/python3.13/importlib/metadata/__init__.py +1093 -0
  719. package/python/lib/python3.13/importlib/metadata/_adapters.py +89 -0
  720. package/python/lib/python3.13/importlib/metadata/_collections.py +30 -0
  721. package/python/lib/python3.13/importlib/metadata/_functools.py +104 -0
  722. package/python/lib/python3.13/importlib/metadata/_itertools.py +73 -0
  723. package/python/lib/python3.13/importlib/metadata/_meta.py +67 -0
  724. package/python/lib/python3.13/importlib/metadata/_text.py +99 -0
  725. package/python/lib/python3.13/importlib/metadata/diagnose.py +21 -0
  726. package/python/lib/python3.13/importlib/readers.py +12 -0
  727. package/python/lib/python3.13/importlib/resources/__init__.py +43 -0
  728. package/python/lib/python3.13/importlib/resources/_adapters.py +168 -0
  729. package/python/lib/python3.13/importlib/resources/_common.py +211 -0
  730. package/python/lib/python3.13/importlib/resources/_functional.py +81 -0
  731. package/python/lib/python3.13/importlib/resources/_itertools.py +38 -0
  732. package/python/lib/python3.13/importlib/resources/abc.py +173 -0
  733. package/python/lib/python3.13/importlib/resources/readers.py +203 -0
  734. package/python/lib/python3.13/importlib/resources/simple.py +106 -0
  735. package/python/lib/python3.13/importlib/simple.py +14 -0
  736. package/python/lib/python3.13/importlib/util.py +274 -0
  737. package/python/lib/python3.13/inspect.py +3471 -0
  738. package/python/lib/python3.13/io.py +99 -0
  739. package/python/lib/python3.13/ipaddress.py +2440 -0
  740. package/python/lib/python3.13/json/__init__.py +365 -0
  741. package/python/lib/python3.13/json/decoder.py +364 -0
  742. package/python/lib/python3.13/json/encoder.py +446 -0
  743. package/python/lib/python3.13/json/scanner.py +73 -0
  744. package/python/lib/python3.13/json/tool.py +89 -0
  745. package/python/lib/python3.13/keyword.py +64 -0
  746. package/python/lib/python3.13/lib-dynload/.empty +0 -0
  747. package/python/lib/python3.13/lib-dynload/_ctypes_test.cpython-313-darwin.so +0 -0
  748. package/python/lib/python3.13/lib-dynload/_dbm.cpython-313-darwin.so +0 -0
  749. package/python/lib/python3.13/lib-dynload/_tkinter.cpython-313-darwin.so +0 -0
  750. package/python/lib/python3.13/linecache.py +236 -0
  751. package/python/lib/python3.13/locale.py +1778 -0
  752. package/python/lib/python3.13/logging/__init__.py +2326 -0
  753. package/python/lib/python3.13/logging/config.py +1065 -0
  754. package/python/lib/python3.13/logging/handlers.py +1629 -0
  755. package/python/lib/python3.13/lzma.py +364 -0
  756. package/python/lib/python3.13/mailbox.py +2219 -0
  757. package/python/lib/python3.13/mimetypes.py +679 -0
  758. package/python/lib/python3.13/modulefinder.py +671 -0
  759. package/python/lib/python3.13/multiprocessing/__init__.py +37 -0
  760. package/python/lib/python3.13/multiprocessing/connection.py +1190 -0
  761. package/python/lib/python3.13/multiprocessing/context.py +377 -0
  762. package/python/lib/python3.13/multiprocessing/dummy/__init__.py +126 -0
  763. package/python/lib/python3.13/multiprocessing/dummy/connection.py +75 -0
  764. package/python/lib/python3.13/multiprocessing/forkserver.py +364 -0
  765. package/python/lib/python3.13/multiprocessing/heap.py +337 -0
  766. package/python/lib/python3.13/multiprocessing/managers.py +1397 -0
  767. package/python/lib/python3.13/multiprocessing/pool.py +957 -0
  768. package/python/lib/python3.13/multiprocessing/popen_fork.py +87 -0
  769. package/python/lib/python3.13/multiprocessing/popen_forkserver.py +74 -0
  770. package/python/lib/python3.13/multiprocessing/popen_spawn_posix.py +76 -0
  771. package/python/lib/python3.13/multiprocessing/popen_spawn_win32.py +147 -0
  772. package/python/lib/python3.13/multiprocessing/process.py +436 -0
  773. package/python/lib/python3.13/multiprocessing/queues.py +399 -0
  774. package/python/lib/python3.13/multiprocessing/reduction.py +281 -0
  775. package/python/lib/python3.13/multiprocessing/resource_sharer.py +154 -0
  776. package/python/lib/python3.13/multiprocessing/resource_tracker.py +420 -0
  777. package/python/lib/python3.13/multiprocessing/shared_memory.py +544 -0
  778. package/python/lib/python3.13/multiprocessing/sharedctypes.py +240 -0
  779. package/python/lib/python3.13/multiprocessing/spawn.py +307 -0
  780. package/python/lib/python3.13/multiprocessing/synchronize.py +404 -0
  781. package/python/lib/python3.13/multiprocessing/util.py +562 -0
  782. package/python/lib/python3.13/netrc.py +199 -0
  783. package/python/lib/python3.13/ntpath.py +870 -0
  784. package/python/lib/python3.13/nturl2path.py +69 -0
  785. package/python/lib/python3.13/numbers.py +427 -0
  786. package/python/lib/python3.13/opcode.py +115 -0
  787. package/python/lib/python3.13/operator.py +467 -0
  788. package/python/lib/python3.13/optparse.py +1681 -0
  789. package/python/lib/python3.13/os.py +1184 -0
  790. package/python/lib/python3.13/pathlib/__init__.py +12 -0
  791. package/python/lib/python3.13/pathlib/_abc.py +930 -0
  792. package/python/lib/python3.13/pathlib/_local.py +861 -0
  793. package/python/lib/python3.13/pdb.py +2550 -0
  794. package/python/lib/python3.13/pickle.py +1866 -0
  795. package/python/lib/python3.13/pickletools.py +2904 -0
  796. package/python/lib/python3.13/pkgutil.py +529 -0
  797. package/python/lib/python3.13/platform.py +1454 -0
  798. package/python/lib/python3.13/plistlib.py +948 -0
  799. package/python/lib/python3.13/poplib.py +477 -0
  800. package/python/lib/python3.13/posixpath.py +578 -0
  801. package/python/lib/python3.13/pprint.py +658 -0
  802. package/python/lib/python3.13/profile.py +616 -0
  803. package/python/lib/python3.13/pstats.py +778 -0
  804. package/python/lib/python3.13/pty.py +211 -0
  805. package/python/lib/python3.13/py_compile.py +212 -0
  806. package/python/lib/python3.13/pyclbr.py +314 -0
  807. package/python/lib/python3.13/pydoc.py +2859 -0
  808. package/python/lib/python3.13/pydoc_data/__init__.py +0 -0
  809. package/python/lib/python3.13/pydoc_data/_pydoc.css +112 -0
  810. package/python/lib/python3.13/pydoc_data/module_docs.py +314 -0
  811. package/python/lib/python3.13/pydoc_data/topics.py +13000 -0
  812. package/python/lib/python3.13/queue.py +383 -0
  813. package/python/lib/python3.13/quopri.py +237 -0
  814. package/python/lib/python3.13/random.py +1070 -0
  815. package/python/lib/python3.13/re/__init__.py +428 -0
  816. package/python/lib/python3.13/re/_casefix.py +106 -0
  817. package/python/lib/python3.13/re/_compiler.py +768 -0
  818. package/python/lib/python3.13/re/_constants.py +222 -0
  819. package/python/lib/python3.13/re/_parser.py +1081 -0
  820. package/python/lib/python3.13/reprlib.py +230 -0
  821. package/python/lib/python3.13/rlcompleter.py +221 -0
  822. package/python/lib/python3.13/runpy.py +319 -0
  823. package/python/lib/python3.13/sched.py +167 -0
  824. package/python/lib/python3.13/secrets.py +71 -0
  825. package/python/lib/python3.13/selectors.py +603 -0
  826. package/python/lib/python3.13/shelve.py +250 -0
  827. package/python/lib/python3.13/shlex.py +345 -0
  828. package/python/lib/python3.13/shutil.py +1583 -0
  829. package/python/lib/python3.13/signal.py +94 -0
  830. package/python/lib/python3.13/site-packages/README.txt +2 -0
  831. package/python/lib/python3.13/site-packages/pip/__init__.py +13 -0
  832. package/python/lib/python3.13/site-packages/pip/__main__.py +24 -0
  833. package/python/lib/python3.13/site-packages/pip/__pip-runner__.py +50 -0
  834. package/python/lib/python3.13/site-packages/pip/_internal/__init__.py +18 -0
  835. package/python/lib/python3.13/site-packages/pip/_internal/build_env.py +606 -0
  836. package/python/lib/python3.13/site-packages/pip/_internal/cache.py +291 -0
  837. package/python/lib/python3.13/site-packages/pip/_internal/cli/__init__.py +3 -0
  838. package/python/lib/python3.13/site-packages/pip/_internal/cli/autocompletion.py +184 -0
  839. package/python/lib/python3.13/site-packages/pip/_internal/cli/base_command.py +255 -0
  840. package/python/lib/python3.13/site-packages/pip/_internal/cli/cmdoptions.py +1267 -0
  841. package/python/lib/python3.13/site-packages/pip/_internal/cli/command_context.py +28 -0
  842. package/python/lib/python3.13/site-packages/pip/_internal/cli/index_command.py +195 -0
  843. package/python/lib/python3.13/site-packages/pip/_internal/cli/main.py +85 -0
  844. package/python/lib/python3.13/site-packages/pip/_internal/cli/main_parser.py +136 -0
  845. package/python/lib/python3.13/site-packages/pip/_internal/cli/parser.py +358 -0
  846. package/python/lib/python3.13/site-packages/pip/_internal/cli/progress_bars.py +153 -0
  847. package/python/lib/python3.13/site-packages/pip/_internal/cli/req_command.py +447 -0
  848. package/python/lib/python3.13/site-packages/pip/_internal/cli/spinners.py +235 -0
  849. package/python/lib/python3.13/site-packages/pip/_internal/cli/status_codes.py +6 -0
  850. package/python/lib/python3.13/site-packages/pip/_internal/commands/__init__.py +139 -0
  851. package/python/lib/python3.13/site-packages/pip/_internal/commands/cache.py +255 -0
  852. package/python/lib/python3.13/site-packages/pip/_internal/commands/check.py +66 -0
  853. package/python/lib/python3.13/site-packages/pip/_internal/commands/completion.py +136 -0
  854. package/python/lib/python3.13/site-packages/pip/_internal/commands/configuration.py +288 -0
  855. package/python/lib/python3.13/site-packages/pip/_internal/commands/debug.py +203 -0
  856. package/python/lib/python3.13/site-packages/pip/_internal/commands/download.py +146 -0
  857. package/python/lib/python3.13/site-packages/pip/_internal/commands/freeze.py +107 -0
  858. package/python/lib/python3.13/site-packages/pip/_internal/commands/hash.py +58 -0
  859. package/python/lib/python3.13/site-packages/pip/_internal/commands/help.py +40 -0
  860. package/python/lib/python3.13/site-packages/pip/_internal/commands/index.py +166 -0
  861. package/python/lib/python3.13/site-packages/pip/_internal/commands/inspect.py +92 -0
  862. package/python/lib/python3.13/site-packages/pip/_internal/commands/install.py +810 -0
  863. package/python/lib/python3.13/site-packages/pip/_internal/commands/list.py +398 -0
  864. package/python/lib/python3.13/site-packages/pip/_internal/commands/lock.py +175 -0
  865. package/python/lib/python3.13/site-packages/pip/_internal/commands/search.py +178 -0
  866. package/python/lib/python3.13/site-packages/pip/_internal/commands/show.py +231 -0
  867. package/python/lib/python3.13/site-packages/pip/_internal/commands/uninstall.py +113 -0
  868. package/python/lib/python3.13/site-packages/pip/_internal/commands/wheel.py +171 -0
  869. package/python/lib/python3.13/site-packages/pip/_internal/configuration.py +396 -0
  870. package/python/lib/python3.13/site-packages/pip/_internal/distributions/__init__.py +21 -0
  871. package/python/lib/python3.13/site-packages/pip/_internal/distributions/base.py +55 -0
  872. package/python/lib/python3.13/site-packages/pip/_internal/distributions/installed.py +33 -0
  873. package/python/lib/python3.13/site-packages/pip/_internal/distributions/sdist.py +164 -0
  874. package/python/lib/python3.13/site-packages/pip/_internal/distributions/wheel.py +44 -0
  875. package/python/lib/python3.13/site-packages/pip/_internal/exceptions.py +971 -0
  876. package/python/lib/python3.13/site-packages/pip/_internal/index/__init__.py +1 -0
  877. package/python/lib/python3.13/site-packages/pip/_internal/index/collector.py +488 -0
  878. package/python/lib/python3.13/site-packages/pip/_internal/index/package_finder.py +1125 -0
  879. package/python/lib/python3.13/site-packages/pip/_internal/index/sources.py +287 -0
  880. package/python/lib/python3.13/site-packages/pip/_internal/locations/__init__.py +440 -0
  881. package/python/lib/python3.13/site-packages/pip/_internal/locations/_distutils.py +173 -0
  882. package/python/lib/python3.13/site-packages/pip/_internal/locations/_sysconfig.py +218 -0
  883. package/python/lib/python3.13/site-packages/pip/_internal/locations/base.py +82 -0
  884. package/python/lib/python3.13/site-packages/pip/_internal/main.py +12 -0
  885. package/python/lib/python3.13/site-packages/pip/_internal/metadata/__init__.py +169 -0
  886. package/python/lib/python3.13/site-packages/pip/_internal/metadata/_json.py +87 -0
  887. package/python/lib/python3.13/site-packages/pip/_internal/metadata/base.py +685 -0
  888. package/python/lib/python3.13/site-packages/pip/_internal/metadata/importlib/__init__.py +6 -0
  889. package/python/lib/python3.13/site-packages/pip/_internal/metadata/importlib/_compat.py +87 -0
  890. package/python/lib/python3.13/site-packages/pip/_internal/metadata/importlib/_dists.py +229 -0
  891. package/python/lib/python3.13/site-packages/pip/_internal/metadata/importlib/_envs.py +143 -0
  892. package/python/lib/python3.13/site-packages/pip/_internal/metadata/pkg_resources.py +298 -0
  893. package/python/lib/python3.13/site-packages/pip/_internal/models/__init__.py +1 -0
  894. package/python/lib/python3.13/site-packages/pip/_internal/models/candidate.py +25 -0
  895. package/python/lib/python3.13/site-packages/pip/_internal/models/direct_url.py +227 -0
  896. package/python/lib/python3.13/site-packages/pip/_internal/models/format_control.py +78 -0
  897. package/python/lib/python3.13/site-packages/pip/_internal/models/index.py +28 -0
  898. package/python/lib/python3.13/site-packages/pip/_internal/models/installation_report.py +57 -0
  899. package/python/lib/python3.13/site-packages/pip/_internal/models/link.py +617 -0
  900. package/python/lib/python3.13/site-packages/pip/_internal/models/release_control.py +92 -0
  901. package/python/lib/python3.13/site-packages/pip/_internal/models/scheme.py +25 -0
  902. package/python/lib/python3.13/site-packages/pip/_internal/models/search_scope.py +126 -0
  903. package/python/lib/python3.13/site-packages/pip/_internal/models/selection_prefs.py +56 -0
  904. package/python/lib/python3.13/site-packages/pip/_internal/models/target_python.py +122 -0
  905. package/python/lib/python3.13/site-packages/pip/_internal/models/wheel.py +80 -0
  906. package/python/lib/python3.13/site-packages/pip/_internal/network/__init__.py +1 -0
  907. package/python/lib/python3.13/site-packages/pip/_internal/network/auth.py +568 -0
  908. package/python/lib/python3.13/site-packages/pip/_internal/network/cache.py +128 -0
  909. package/python/lib/python3.13/site-packages/pip/_internal/network/download.py +341 -0
  910. package/python/lib/python3.13/site-packages/pip/_internal/network/lazy_wheel.py +215 -0
  911. package/python/lib/python3.13/site-packages/pip/_internal/network/session.py +532 -0
  912. package/python/lib/python3.13/site-packages/pip/_internal/network/utils.py +98 -0
  913. package/python/lib/python3.13/site-packages/pip/_internal/network/xmlrpc.py +61 -0
  914. package/python/lib/python3.13/site-packages/pip/_internal/operations/__init__.py +0 -0
  915. package/python/lib/python3.13/site-packages/pip/_internal/operations/build/__init__.py +0 -0
  916. package/python/lib/python3.13/site-packages/pip/_internal/operations/build/build_tracker.py +140 -0
  917. package/python/lib/python3.13/site-packages/pip/_internal/operations/build/metadata.py +38 -0
  918. package/python/lib/python3.13/site-packages/pip/_internal/operations/build/metadata_editable.py +41 -0
  919. package/python/lib/python3.13/site-packages/pip/_internal/operations/build/wheel.py +38 -0
  920. package/python/lib/python3.13/site-packages/pip/_internal/operations/build/wheel_editable.py +47 -0
  921. package/python/lib/python3.13/site-packages/pip/_internal/operations/check.py +175 -0
  922. package/python/lib/python3.13/site-packages/pip/_internal/operations/freeze.py +259 -0
  923. package/python/lib/python3.13/site-packages/pip/_internal/operations/install/__init__.py +1 -0
  924. package/python/lib/python3.13/site-packages/pip/_internal/operations/install/wheel.py +745 -0
  925. package/python/lib/python3.13/site-packages/pip/_internal/operations/prepare.py +747 -0
  926. package/python/lib/python3.13/site-packages/pip/_internal/pyproject.py +123 -0
  927. package/python/lib/python3.13/site-packages/pip/_internal/req/__init__.py +103 -0
  928. package/python/lib/python3.13/site-packages/pip/_internal/req/constructors.py +568 -0
  929. package/python/lib/python3.13/site-packages/pip/_internal/req/pep723.py +41 -0
  930. package/python/lib/python3.13/site-packages/pip/_internal/req/req_dependency_group.py +75 -0
  931. package/python/lib/python3.13/site-packages/pip/_internal/req/req_file.py +631 -0
  932. package/python/lib/python3.13/site-packages/pip/_internal/req/req_install.py +828 -0
  933. package/python/lib/python3.13/site-packages/pip/_internal/req/req_set.py +81 -0
  934. package/python/lib/python3.13/site-packages/pip/_internal/req/req_uninstall.py +639 -0
  935. package/python/lib/python3.13/site-packages/pip/_internal/resolution/__init__.py +0 -0
  936. package/python/lib/python3.13/site-packages/pip/_internal/resolution/base.py +20 -0
  937. package/python/lib/python3.13/site-packages/pip/_internal/resolution/legacy/__init__.py +0 -0
  938. package/python/lib/python3.13/site-packages/pip/_internal/resolution/legacy/resolver.py +598 -0
  939. package/python/lib/python3.13/site-packages/pip/_internal/resolution/resolvelib/__init__.py +0 -0
  940. package/python/lib/python3.13/site-packages/pip/_internal/resolution/resolvelib/base.py +142 -0
  941. package/python/lib/python3.13/site-packages/pip/_internal/resolution/resolvelib/candidates.py +591 -0
  942. package/python/lib/python3.13/site-packages/pip/_internal/resolution/resolvelib/factory.py +856 -0
  943. package/python/lib/python3.13/site-packages/pip/_internal/resolution/resolvelib/found_candidates.py +166 -0
  944. package/python/lib/python3.13/site-packages/pip/_internal/resolution/resolvelib/provider.py +285 -0
  945. package/python/lib/python3.13/site-packages/pip/_internal/resolution/resolvelib/reporter.py +98 -0
  946. package/python/lib/python3.13/site-packages/pip/_internal/resolution/resolvelib/requirements.py +251 -0
  947. package/python/lib/python3.13/site-packages/pip/_internal/resolution/resolvelib/resolver.py +332 -0
  948. package/python/lib/python3.13/site-packages/pip/_internal/self_outdated_check.py +255 -0
  949. package/python/lib/python3.13/site-packages/pip/_internal/utils/__init__.py +0 -0
  950. package/python/lib/python3.13/site-packages/pip/_internal/utils/_jaraco_text.py +109 -0
  951. package/python/lib/python3.13/site-packages/pip/_internal/utils/_log.py +38 -0
  952. package/python/lib/python3.13/site-packages/pip/_internal/utils/appdirs.py +52 -0
  953. package/python/lib/python3.13/site-packages/pip/_internal/utils/compat.py +85 -0
  954. package/python/lib/python3.13/site-packages/pip/_internal/utils/compatibility_tags.py +201 -0
  955. package/python/lib/python3.13/site-packages/pip/_internal/utils/datetime.py +28 -0
  956. package/python/lib/python3.13/site-packages/pip/_internal/utils/deprecation.py +126 -0
  957. package/python/lib/python3.13/site-packages/pip/_internal/utils/direct_url_helpers.py +87 -0
  958. package/python/lib/python3.13/site-packages/pip/_internal/utils/egg_link.py +81 -0
  959. package/python/lib/python3.13/site-packages/pip/_internal/utils/entrypoints.py +88 -0
  960. package/python/lib/python3.13/site-packages/pip/_internal/utils/filesystem.py +203 -0
  961. package/python/lib/python3.13/site-packages/pip/_internal/utils/filetypes.py +24 -0
  962. package/python/lib/python3.13/site-packages/pip/_internal/utils/glibc.py +102 -0
  963. package/python/lib/python3.13/site-packages/pip/_internal/utils/hashes.py +150 -0
  964. package/python/lib/python3.13/site-packages/pip/_internal/utils/logging.py +396 -0
  965. package/python/lib/python3.13/site-packages/pip/_internal/utils/misc.py +771 -0
  966. package/python/lib/python3.13/site-packages/pip/_internal/utils/packaging.py +44 -0
  967. package/python/lib/python3.13/site-packages/pip/_internal/utils/pylock.py +116 -0
  968. package/python/lib/python3.13/site-packages/pip/_internal/utils/retry.py +45 -0
  969. package/python/lib/python3.13/site-packages/pip/_internal/utils/subprocess.py +248 -0
  970. package/python/lib/python3.13/site-packages/pip/_internal/utils/temp_dir.py +294 -0
  971. package/python/lib/python3.13/site-packages/pip/_internal/utils/unpacking.py +362 -0
  972. package/python/lib/python3.13/site-packages/pip/_internal/utils/urls.py +55 -0
  973. package/python/lib/python3.13/site-packages/pip/_internal/utils/virtualenv.py +105 -0
  974. package/python/lib/python3.13/site-packages/pip/_internal/utils/wheel.py +132 -0
  975. package/python/lib/python3.13/site-packages/pip/_internal/vcs/__init__.py +15 -0
  976. package/python/lib/python3.13/site-packages/pip/_internal/vcs/bazaar.py +130 -0
  977. package/python/lib/python3.13/site-packages/pip/_internal/vcs/git.py +571 -0
  978. package/python/lib/python3.13/site-packages/pip/_internal/vcs/mercurial.py +186 -0
  979. package/python/lib/python3.13/site-packages/pip/_internal/vcs/subversion.py +335 -0
  980. package/python/lib/python3.13/site-packages/pip/_internal/vcs/versioncontrol.py +695 -0
  981. package/python/lib/python3.13/site-packages/pip/_internal/wheel_builder.py +261 -0
  982. package/python/lib/python3.13/site-packages/pip/_vendor/README.rst +180 -0
  983. package/python/lib/python3.13/site-packages/pip/_vendor/__init__.py +117 -0
  984. package/python/lib/python3.13/site-packages/pip/_vendor/cachecontrol/LICENSE.txt +13 -0
  985. package/python/lib/python3.13/site-packages/pip/_vendor/cachecontrol/__init__.py +32 -0
  986. package/python/lib/python3.13/site-packages/pip/_vendor/cachecontrol/_cmd.py +70 -0
  987. package/python/lib/python3.13/site-packages/pip/_vendor/cachecontrol/adapter.py +167 -0
  988. package/python/lib/python3.13/site-packages/pip/_vendor/cachecontrol/cache.py +75 -0
  989. package/python/lib/python3.13/site-packages/pip/_vendor/cachecontrol/caches/__init__.py +8 -0
  990. package/python/lib/python3.13/site-packages/pip/_vendor/cachecontrol/caches/file_cache.py +145 -0
  991. package/python/lib/python3.13/site-packages/pip/_vendor/cachecontrol/caches/redis_cache.py +48 -0
  992. package/python/lib/python3.13/site-packages/pip/_vendor/cachecontrol/controller.py +511 -0
  993. package/python/lib/python3.13/site-packages/pip/_vendor/cachecontrol/filewrapper.py +121 -0
  994. package/python/lib/python3.13/site-packages/pip/_vendor/cachecontrol/heuristics.py +157 -0
  995. package/python/lib/python3.13/site-packages/pip/_vendor/cachecontrol/py.typed +0 -0
  996. package/python/lib/python3.13/site-packages/pip/_vendor/cachecontrol/serialize.py +146 -0
  997. package/python/lib/python3.13/site-packages/pip/_vendor/cachecontrol/wrapper.py +43 -0
  998. package/python/lib/python3.13/site-packages/pip/_vendor/certifi/LICENSE +20 -0
  999. package/python/lib/python3.13/site-packages/pip/_vendor/certifi/__init__.py +4 -0
  1000. package/python/lib/python3.13/site-packages/pip/_vendor/certifi/__main__.py +12 -0
  1001. package/python/lib/python3.13/site-packages/pip/_vendor/certifi/cacert.pem +4468 -0
  1002. package/python/lib/python3.13/site-packages/pip/_vendor/certifi/core.py +83 -0
  1003. package/python/lib/python3.13/site-packages/pip/_vendor/certifi/py.typed +0 -0
  1004. package/python/lib/python3.13/site-packages/pip/_vendor/dependency_groups/LICENSE.txt +9 -0
  1005. package/python/lib/python3.13/site-packages/pip/_vendor/dependency_groups/__init__.py +13 -0
  1006. package/python/lib/python3.13/site-packages/pip/_vendor/dependency_groups/__main__.py +65 -0
  1007. package/python/lib/python3.13/site-packages/pip/_vendor/dependency_groups/_implementation.py +209 -0
  1008. package/python/lib/python3.13/site-packages/pip/_vendor/dependency_groups/_lint_dependency_groups.py +59 -0
  1009. package/python/lib/python3.13/site-packages/pip/_vendor/dependency_groups/_pip_wrapper.py +62 -0
  1010. package/python/lib/python3.13/site-packages/pip/_vendor/dependency_groups/_toml_compat.py +9 -0
  1011. package/python/lib/python3.13/site-packages/pip/_vendor/dependency_groups/py.typed +0 -0
  1012. package/python/lib/python3.13/site-packages/pip/_vendor/distlib/LICENSE.txt +284 -0
  1013. package/python/lib/python3.13/site-packages/pip/_vendor/distlib/__init__.py +33 -0
  1014. package/python/lib/python3.13/site-packages/pip/_vendor/distlib/compat.py +1137 -0
  1015. package/python/lib/python3.13/site-packages/pip/_vendor/distlib/resources.py +358 -0
  1016. package/python/lib/python3.13/site-packages/pip/_vendor/distlib/scripts.py +447 -0
  1017. package/python/lib/python3.13/site-packages/pip/_vendor/distlib/t32.exe +0 -0
  1018. package/python/lib/python3.13/site-packages/pip/_vendor/distlib/t64-arm.exe +0 -0
  1019. package/python/lib/python3.13/site-packages/pip/_vendor/distlib/t64.exe +0 -0
  1020. package/python/lib/python3.13/site-packages/pip/_vendor/distlib/util.py +1984 -0
  1021. package/python/lib/python3.13/site-packages/pip/_vendor/distlib/w32.exe +0 -0
  1022. package/python/lib/python3.13/site-packages/pip/_vendor/distlib/w64-arm.exe +0 -0
  1023. package/python/lib/python3.13/site-packages/pip/_vendor/distlib/w64.exe +0 -0
  1024. package/python/lib/python3.13/site-packages/pip/_vendor/distro/LICENSE +202 -0
  1025. package/python/lib/python3.13/site-packages/pip/_vendor/distro/__init__.py +54 -0
  1026. package/python/lib/python3.13/site-packages/pip/_vendor/distro/__main__.py +4 -0
  1027. package/python/lib/python3.13/site-packages/pip/_vendor/distro/distro.py +1403 -0
  1028. package/python/lib/python3.13/site-packages/pip/_vendor/distro/py.typed +0 -0
  1029. package/python/lib/python3.13/site-packages/pip/_vendor/idna/LICENSE.md +31 -0
  1030. package/python/lib/python3.13/site-packages/pip/_vendor/idna/__init__.py +45 -0
  1031. package/python/lib/python3.13/site-packages/pip/_vendor/idna/codec.py +122 -0
  1032. package/python/lib/python3.13/site-packages/pip/_vendor/idna/compat.py +15 -0
  1033. package/python/lib/python3.13/site-packages/pip/_vendor/idna/core.py +437 -0
  1034. package/python/lib/python3.13/site-packages/pip/_vendor/idna/idnadata.py +4309 -0
  1035. package/python/lib/python3.13/site-packages/pip/_vendor/idna/intranges.py +57 -0
  1036. package/python/lib/python3.13/site-packages/pip/_vendor/idna/package_data.py +1 -0
  1037. package/python/lib/python3.13/site-packages/pip/_vendor/idna/py.typed +0 -0
  1038. package/python/lib/python3.13/site-packages/pip/_vendor/idna/uts46data.py +8841 -0
  1039. package/python/lib/python3.13/site-packages/pip/_vendor/msgpack/COPYING +14 -0
  1040. package/python/lib/python3.13/site-packages/pip/_vendor/msgpack/__init__.py +55 -0
  1041. package/python/lib/python3.13/site-packages/pip/_vendor/msgpack/exceptions.py +48 -0
  1042. package/python/lib/python3.13/site-packages/pip/_vendor/msgpack/ext.py +170 -0
  1043. package/python/lib/python3.13/site-packages/pip/_vendor/msgpack/fallback.py +929 -0
  1044. package/python/lib/python3.13/site-packages/pip/_vendor/packaging/LICENSE +3 -0
  1045. package/python/lib/python3.13/site-packages/pip/_vendor/packaging/LICENSE.APACHE +177 -0
  1046. package/python/lib/python3.13/site-packages/pip/_vendor/packaging/LICENSE.BSD +23 -0
  1047. package/python/lib/python3.13/site-packages/pip/_vendor/packaging/__init__.py +15 -0
  1048. package/python/lib/python3.13/site-packages/pip/_vendor/packaging/_elffile.py +108 -0
  1049. package/python/lib/python3.13/site-packages/pip/_vendor/packaging/_manylinux.py +262 -0
  1050. package/python/lib/python3.13/site-packages/pip/_vendor/packaging/_musllinux.py +85 -0
  1051. package/python/lib/python3.13/site-packages/pip/_vendor/packaging/_parser.py +365 -0
  1052. package/python/lib/python3.13/site-packages/pip/_vendor/packaging/_structures.py +69 -0
  1053. package/python/lib/python3.13/site-packages/pip/_vendor/packaging/_tokenizer.py +193 -0
  1054. package/python/lib/python3.13/site-packages/pip/_vendor/packaging/licenses/__init__.py +147 -0
  1055. package/python/lib/python3.13/site-packages/pip/_vendor/packaging/licenses/_spdx.py +799 -0
  1056. package/python/lib/python3.13/site-packages/pip/_vendor/packaging/markers.py +388 -0
  1057. package/python/lib/python3.13/site-packages/pip/_vendor/packaging/metadata.py +978 -0
  1058. package/python/lib/python3.13/site-packages/pip/_vendor/packaging/py.typed +0 -0
  1059. package/python/lib/python3.13/site-packages/pip/_vendor/packaging/pylock.py +635 -0
  1060. package/python/lib/python3.13/site-packages/pip/_vendor/packaging/requirements.py +86 -0
  1061. package/python/lib/python3.13/site-packages/pip/_vendor/packaging/specifiers.py +1068 -0
  1062. package/python/lib/python3.13/site-packages/pip/_vendor/packaging/tags.py +651 -0
  1063. package/python/lib/python3.13/site-packages/pip/_vendor/packaging/utils.py +158 -0
  1064. package/python/lib/python3.13/site-packages/pip/_vendor/packaging/version.py +792 -0
  1065. package/python/lib/python3.13/site-packages/pip/_vendor/pkg_resources/LICENSE +17 -0
  1066. package/python/lib/python3.13/site-packages/pip/_vendor/pkg_resources/__init__.py +3676 -0
  1067. package/python/lib/python3.13/site-packages/pip/_vendor/platformdirs/LICENSE +21 -0
  1068. package/python/lib/python3.13/site-packages/pip/_vendor/platformdirs/__init__.py +631 -0
  1069. package/python/lib/python3.13/site-packages/pip/_vendor/platformdirs/__main__.py +55 -0
  1070. package/python/lib/python3.13/site-packages/pip/_vendor/platformdirs/android.py +249 -0
  1071. package/python/lib/python3.13/site-packages/pip/_vendor/platformdirs/api.py +299 -0
  1072. package/python/lib/python3.13/site-packages/pip/_vendor/platformdirs/macos.py +146 -0
  1073. package/python/lib/python3.13/site-packages/pip/_vendor/platformdirs/py.typed +0 -0
  1074. package/python/lib/python3.13/site-packages/pip/_vendor/platformdirs/unix.py +272 -0
  1075. package/python/lib/python3.13/site-packages/pip/_vendor/platformdirs/version.py +34 -0
  1076. package/python/lib/python3.13/site-packages/pip/_vendor/platformdirs/windows.py +278 -0
  1077. package/python/lib/python3.13/site-packages/pip/_vendor/pygments/LICENSE +25 -0
  1078. package/python/lib/python3.13/site-packages/pip/_vendor/pygments/__init__.py +82 -0
  1079. package/python/lib/python3.13/site-packages/pip/_vendor/pygments/__main__.py +17 -0
  1080. package/python/lib/python3.13/site-packages/pip/_vendor/pygments/console.py +70 -0
  1081. package/python/lib/python3.13/site-packages/pip/_vendor/pygments/filter.py +70 -0
  1082. package/python/lib/python3.13/site-packages/pip/_vendor/pygments/filters/__init__.py +940 -0
  1083. package/python/lib/python3.13/site-packages/pip/_vendor/pygments/formatter.py +129 -0
  1084. package/python/lib/python3.13/site-packages/pip/_vendor/pygments/formatters/__init__.py +157 -0
  1085. package/python/lib/python3.13/site-packages/pip/_vendor/pygments/formatters/_mapping.py +23 -0
  1086. package/python/lib/python3.13/site-packages/pip/_vendor/pygments/lexer.py +963 -0
  1087. package/python/lib/python3.13/site-packages/pip/_vendor/pygments/lexers/__init__.py +362 -0
  1088. package/python/lib/python3.13/site-packages/pip/_vendor/pygments/lexers/_mapping.py +602 -0
  1089. package/python/lib/python3.13/site-packages/pip/_vendor/pygments/lexers/python.py +1201 -0
  1090. package/python/lib/python3.13/site-packages/pip/_vendor/pygments/modeline.py +43 -0
  1091. package/python/lib/python3.13/site-packages/pip/_vendor/pygments/plugin.py +72 -0
  1092. package/python/lib/python3.13/site-packages/pip/_vendor/pygments/regexopt.py +91 -0
  1093. package/python/lib/python3.13/site-packages/pip/_vendor/pygments/scanner.py +104 -0
  1094. package/python/lib/python3.13/site-packages/pip/_vendor/pygments/sphinxext.py +247 -0
  1095. package/python/lib/python3.13/site-packages/pip/_vendor/pygments/style.py +203 -0
  1096. package/python/lib/python3.13/site-packages/pip/_vendor/pygments/styles/__init__.py +61 -0
  1097. package/python/lib/python3.13/site-packages/pip/_vendor/pygments/styles/_mapping.py +54 -0
  1098. package/python/lib/python3.13/site-packages/pip/_vendor/pygments/token.py +214 -0
  1099. package/python/lib/python3.13/site-packages/pip/_vendor/pygments/unistring.py +153 -0
  1100. package/python/lib/python3.13/site-packages/pip/_vendor/pygments/util.py +324 -0
  1101. package/python/lib/python3.13/site-packages/pip/_vendor/pyproject_hooks/LICENSE +21 -0
  1102. package/python/lib/python3.13/site-packages/pip/_vendor/pyproject_hooks/__init__.py +31 -0
  1103. package/python/lib/python3.13/site-packages/pip/_vendor/pyproject_hooks/_impl.py +410 -0
  1104. package/python/lib/python3.13/site-packages/pip/_vendor/pyproject_hooks/_in_process/__init__.py +21 -0
  1105. package/python/lib/python3.13/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py +389 -0
  1106. package/python/lib/python3.13/site-packages/pip/_vendor/pyproject_hooks/py.typed +0 -0
  1107. package/python/lib/python3.13/site-packages/pip/_vendor/requests/LICENSE +175 -0
  1108. package/python/lib/python3.13/site-packages/pip/_vendor/requests/__init__.py +179 -0
  1109. package/python/lib/python3.13/site-packages/pip/_vendor/requests/__version__.py +14 -0
  1110. package/python/lib/python3.13/site-packages/pip/_vendor/requests/_internal_utils.py +50 -0
  1111. package/python/lib/python3.13/site-packages/pip/_vendor/requests/adapters.py +696 -0
  1112. package/python/lib/python3.13/site-packages/pip/_vendor/requests/api.py +157 -0
  1113. package/python/lib/python3.13/site-packages/pip/_vendor/requests/auth.py +314 -0
  1114. package/python/lib/python3.13/site-packages/pip/_vendor/requests/certs.py +17 -0
  1115. package/python/lib/python3.13/site-packages/pip/_vendor/requests/compat.py +90 -0
  1116. package/python/lib/python3.13/site-packages/pip/_vendor/requests/cookies.py +561 -0
  1117. package/python/lib/python3.13/site-packages/pip/_vendor/requests/exceptions.py +151 -0
  1118. package/python/lib/python3.13/site-packages/pip/_vendor/requests/help.py +127 -0
  1119. package/python/lib/python3.13/site-packages/pip/_vendor/requests/hooks.py +33 -0
  1120. package/python/lib/python3.13/site-packages/pip/_vendor/requests/models.py +1039 -0
  1121. package/python/lib/python3.13/site-packages/pip/_vendor/requests/packages.py +25 -0
  1122. package/python/lib/python3.13/site-packages/pip/_vendor/requests/sessions.py +831 -0
  1123. package/python/lib/python3.13/site-packages/pip/_vendor/requests/status_codes.py +128 -0
  1124. package/python/lib/python3.13/site-packages/pip/_vendor/requests/structures.py +99 -0
  1125. package/python/lib/python3.13/site-packages/pip/_vendor/requests/utils.py +1086 -0
  1126. package/python/lib/python3.13/site-packages/pip/_vendor/resolvelib/LICENSE +13 -0
  1127. package/python/lib/python3.13/site-packages/pip/_vendor/resolvelib/__init__.py +27 -0
  1128. package/python/lib/python3.13/site-packages/pip/_vendor/resolvelib/providers.py +196 -0
  1129. package/python/lib/python3.13/site-packages/pip/_vendor/resolvelib/py.typed +0 -0
  1130. package/python/lib/python3.13/site-packages/pip/_vendor/resolvelib/reporters.py +55 -0
  1131. package/python/lib/python3.13/site-packages/pip/_vendor/resolvelib/resolvers/__init__.py +27 -0
  1132. package/python/lib/python3.13/site-packages/pip/_vendor/resolvelib/resolvers/abstract.py +47 -0
  1133. package/python/lib/python3.13/site-packages/pip/_vendor/resolvelib/resolvers/criterion.py +48 -0
  1134. package/python/lib/python3.13/site-packages/pip/_vendor/resolvelib/resolvers/exceptions.py +57 -0
  1135. package/python/lib/python3.13/site-packages/pip/_vendor/resolvelib/resolvers/resolution.py +627 -0
  1136. package/python/lib/python3.13/site-packages/pip/_vendor/resolvelib/structs.py +209 -0
  1137. package/python/lib/python3.13/site-packages/pip/_vendor/rich/LICENSE +19 -0
  1138. package/python/lib/python3.13/site-packages/pip/_vendor/rich/__init__.py +177 -0
  1139. package/python/lib/python3.13/site-packages/pip/_vendor/rich/__main__.py +245 -0
  1140. package/python/lib/python3.13/site-packages/pip/_vendor/rich/_cell_widths.py +454 -0
  1141. package/python/lib/python3.13/site-packages/pip/_vendor/rich/_emoji_codes.py +3610 -0
  1142. package/python/lib/python3.13/site-packages/pip/_vendor/rich/_emoji_replace.py +32 -0
  1143. package/python/lib/python3.13/site-packages/pip/_vendor/rich/_export_format.py +76 -0
  1144. package/python/lib/python3.13/site-packages/pip/_vendor/rich/_extension.py +10 -0
  1145. package/python/lib/python3.13/site-packages/pip/_vendor/rich/_fileno.py +24 -0
  1146. package/python/lib/python3.13/site-packages/pip/_vendor/rich/_inspect.py +268 -0
  1147. package/python/lib/python3.13/site-packages/pip/_vendor/rich/_log_render.py +94 -0
  1148. package/python/lib/python3.13/site-packages/pip/_vendor/rich/_loop.py +43 -0
  1149. package/python/lib/python3.13/site-packages/pip/_vendor/rich/_null_file.py +69 -0
  1150. package/python/lib/python3.13/site-packages/pip/_vendor/rich/_palettes.py +309 -0
  1151. package/python/lib/python3.13/site-packages/pip/_vendor/rich/_pick.py +17 -0
  1152. package/python/lib/python3.13/site-packages/pip/_vendor/rich/_ratio.py +153 -0
  1153. package/python/lib/python3.13/site-packages/pip/_vendor/rich/_spinners.py +482 -0
  1154. package/python/lib/python3.13/site-packages/pip/_vendor/rich/_stack.py +16 -0
  1155. package/python/lib/python3.13/site-packages/pip/_vendor/rich/_timer.py +19 -0
  1156. package/python/lib/python3.13/site-packages/pip/_vendor/rich/_win32_console.py +661 -0
  1157. package/python/lib/python3.13/site-packages/pip/_vendor/rich/_windows.py +71 -0
  1158. package/python/lib/python3.13/site-packages/pip/_vendor/rich/_windows_renderer.py +56 -0
  1159. package/python/lib/python3.13/site-packages/pip/_vendor/rich/_wrap.py +93 -0
  1160. package/python/lib/python3.13/site-packages/pip/_vendor/rich/abc.py +33 -0
  1161. package/python/lib/python3.13/site-packages/pip/_vendor/rich/align.py +306 -0
  1162. package/python/lib/python3.13/site-packages/pip/_vendor/rich/ansi.py +241 -0
  1163. package/python/lib/python3.13/site-packages/pip/_vendor/rich/bar.py +93 -0
  1164. package/python/lib/python3.13/site-packages/pip/_vendor/rich/box.py +474 -0
  1165. package/python/lib/python3.13/site-packages/pip/_vendor/rich/cells.py +174 -0
  1166. package/python/lib/python3.13/site-packages/pip/_vendor/rich/color.py +621 -0
  1167. package/python/lib/python3.13/site-packages/pip/_vendor/rich/color_triplet.py +38 -0
  1168. package/python/lib/python3.13/site-packages/pip/_vendor/rich/columns.py +187 -0
  1169. package/python/lib/python3.13/site-packages/pip/_vendor/rich/console.py +2680 -0
  1170. package/python/lib/python3.13/site-packages/pip/_vendor/rich/constrain.py +37 -0
  1171. package/python/lib/python3.13/site-packages/pip/_vendor/rich/containers.py +167 -0
  1172. package/python/lib/python3.13/site-packages/pip/_vendor/rich/control.py +219 -0
  1173. package/python/lib/python3.13/site-packages/pip/_vendor/rich/default_styles.py +193 -0
  1174. package/python/lib/python3.13/site-packages/pip/_vendor/rich/diagnose.py +39 -0
  1175. package/python/lib/python3.13/site-packages/pip/_vendor/rich/emoji.py +91 -0
  1176. package/python/lib/python3.13/site-packages/pip/_vendor/rich/errors.py +34 -0
  1177. package/python/lib/python3.13/site-packages/pip/_vendor/rich/file_proxy.py +57 -0
  1178. package/python/lib/python3.13/site-packages/pip/_vendor/rich/filesize.py +88 -0
  1179. package/python/lib/python3.13/site-packages/pip/_vendor/rich/highlighter.py +232 -0
  1180. package/python/lib/python3.13/site-packages/pip/_vendor/rich/json.py +139 -0
  1181. package/python/lib/python3.13/site-packages/pip/_vendor/rich/jupyter.py +101 -0
  1182. package/python/lib/python3.13/site-packages/pip/_vendor/rich/layout.py +442 -0
  1183. package/python/lib/python3.13/site-packages/pip/_vendor/rich/live.py +400 -0
  1184. package/python/lib/python3.13/site-packages/pip/_vendor/rich/live_render.py +106 -0
  1185. package/python/lib/python3.13/site-packages/pip/_vendor/rich/logging.py +297 -0
  1186. package/python/lib/python3.13/site-packages/pip/_vendor/rich/markup.py +251 -0
  1187. package/python/lib/python3.13/site-packages/pip/_vendor/rich/measure.py +151 -0
  1188. package/python/lib/python3.13/site-packages/pip/_vendor/rich/padding.py +141 -0
  1189. package/python/lib/python3.13/site-packages/pip/_vendor/rich/pager.py +34 -0
  1190. package/python/lib/python3.13/site-packages/pip/_vendor/rich/palette.py +100 -0
  1191. package/python/lib/python3.13/site-packages/pip/_vendor/rich/panel.py +317 -0
  1192. package/python/lib/python3.13/site-packages/pip/_vendor/rich/pretty.py +1016 -0
  1193. package/python/lib/python3.13/site-packages/pip/_vendor/rich/progress.py +1715 -0
  1194. package/python/lib/python3.13/site-packages/pip/_vendor/rich/progress_bar.py +223 -0
  1195. package/python/lib/python3.13/site-packages/pip/_vendor/rich/prompt.py +400 -0
  1196. package/python/lib/python3.13/site-packages/pip/_vendor/rich/protocol.py +42 -0
  1197. package/python/lib/python3.13/site-packages/pip/_vendor/rich/py.typed +0 -0
  1198. package/python/lib/python3.13/site-packages/pip/_vendor/rich/region.py +10 -0
  1199. package/python/lib/python3.13/site-packages/pip/_vendor/rich/repr.py +149 -0
  1200. package/python/lib/python3.13/site-packages/pip/_vendor/rich/rule.py +130 -0
  1201. package/python/lib/python3.13/site-packages/pip/_vendor/rich/scope.py +86 -0
  1202. package/python/lib/python3.13/site-packages/pip/_vendor/rich/screen.py +54 -0
  1203. package/python/lib/python3.13/site-packages/pip/_vendor/rich/segment.py +752 -0
  1204. package/python/lib/python3.13/site-packages/pip/_vendor/rich/spinner.py +132 -0
  1205. package/python/lib/python3.13/site-packages/pip/_vendor/rich/status.py +131 -0
  1206. package/python/lib/python3.13/site-packages/pip/_vendor/rich/style.py +792 -0
  1207. package/python/lib/python3.13/site-packages/pip/_vendor/rich/styled.py +42 -0
  1208. package/python/lib/python3.13/site-packages/pip/_vendor/rich/syntax.py +985 -0
  1209. package/python/lib/python3.13/site-packages/pip/_vendor/rich/table.py +1006 -0
  1210. package/python/lib/python3.13/site-packages/pip/_vendor/rich/terminal_theme.py +153 -0
  1211. package/python/lib/python3.13/site-packages/pip/_vendor/rich/text.py +1361 -0
  1212. package/python/lib/python3.13/site-packages/pip/_vendor/rich/theme.py +115 -0
  1213. package/python/lib/python3.13/site-packages/pip/_vendor/rich/themes.py +5 -0
  1214. package/python/lib/python3.13/site-packages/pip/_vendor/rich/traceback.py +899 -0
  1215. package/python/lib/python3.13/site-packages/pip/_vendor/rich/tree.py +257 -0
  1216. package/python/lib/python3.13/site-packages/pip/_vendor/tomli/LICENSE +21 -0
  1217. package/python/lib/python3.13/site-packages/pip/_vendor/tomli/__init__.py +8 -0
  1218. package/python/lib/python3.13/site-packages/pip/_vendor/tomli/_parser.py +777 -0
  1219. package/python/lib/python3.13/site-packages/pip/_vendor/tomli/_re.py +115 -0
  1220. package/python/lib/python3.13/site-packages/pip/_vendor/tomli/_types.py +10 -0
  1221. package/python/lib/python3.13/site-packages/pip/_vendor/tomli/py.typed +1 -0
  1222. package/python/lib/python3.13/site-packages/pip/_vendor/tomli_w/LICENSE +21 -0
  1223. package/python/lib/python3.13/site-packages/pip/_vendor/tomli_w/__init__.py +4 -0
  1224. package/python/lib/python3.13/site-packages/pip/_vendor/tomli_w/_writer.py +229 -0
  1225. package/python/lib/python3.13/site-packages/pip/_vendor/tomli_w/py.typed +1 -0
  1226. package/python/lib/python3.13/site-packages/pip/_vendor/truststore/LICENSE +21 -0
  1227. package/python/lib/python3.13/site-packages/pip/_vendor/truststore/__init__.py +36 -0
  1228. package/python/lib/python3.13/site-packages/pip/_vendor/truststore/_api.py +341 -0
  1229. package/python/lib/python3.13/site-packages/pip/_vendor/truststore/_macos.py +571 -0
  1230. package/python/lib/python3.13/site-packages/pip/_vendor/truststore/_openssl.py +68 -0
  1231. package/python/lib/python3.13/site-packages/pip/_vendor/truststore/_ssl_constants.py +31 -0
  1232. package/python/lib/python3.13/site-packages/pip/_vendor/truststore/_windows.py +567 -0
  1233. package/python/lib/python3.13/site-packages/pip/_vendor/truststore/py.typed +0 -0
  1234. package/python/lib/python3.13/site-packages/pip/_vendor/urllib3/LICENSE.txt +21 -0
  1235. package/python/lib/python3.13/site-packages/pip/_vendor/urllib3/__init__.py +102 -0
  1236. package/python/lib/python3.13/site-packages/pip/_vendor/urllib3/_collections.py +355 -0
  1237. package/python/lib/python3.13/site-packages/pip/_vendor/urllib3/_version.py +2 -0
  1238. package/python/lib/python3.13/site-packages/pip/_vendor/urllib3/connection.py +572 -0
  1239. package/python/lib/python3.13/site-packages/pip/_vendor/urllib3/connectionpool.py +1140 -0
  1240. package/python/lib/python3.13/site-packages/pip/_vendor/urllib3/contrib/__init__.py +0 -0
  1241. package/python/lib/python3.13/site-packages/pip/_vendor/urllib3/contrib/_appengine_environ.py +36 -0
  1242. package/python/lib/python3.13/site-packages/pip/_vendor/urllib3/contrib/_securetransport/__init__.py +0 -0
  1243. package/python/lib/python3.13/site-packages/pip/_vendor/urllib3/contrib/_securetransport/bindings.py +519 -0
  1244. package/python/lib/python3.13/site-packages/pip/_vendor/urllib3/contrib/_securetransport/low_level.py +397 -0
  1245. package/python/lib/python3.13/site-packages/pip/_vendor/urllib3/contrib/appengine.py +314 -0
  1246. package/python/lib/python3.13/site-packages/pip/_vendor/urllib3/contrib/ntlmpool.py +130 -0
  1247. package/python/lib/python3.13/site-packages/pip/_vendor/urllib3/contrib/pyopenssl.py +518 -0
  1248. package/python/lib/python3.13/site-packages/pip/_vendor/urllib3/contrib/securetransport.py +920 -0
  1249. package/python/lib/python3.13/site-packages/pip/_vendor/urllib3/contrib/socks.py +216 -0
  1250. package/python/lib/python3.13/site-packages/pip/_vendor/urllib3/exceptions.py +323 -0
  1251. package/python/lib/python3.13/site-packages/pip/_vendor/urllib3/fields.py +274 -0
  1252. package/python/lib/python3.13/site-packages/pip/_vendor/urllib3/filepost.py +98 -0
  1253. package/python/lib/python3.13/site-packages/pip/_vendor/urllib3/packages/__init__.py +0 -0
  1254. package/python/lib/python3.13/site-packages/pip/_vendor/urllib3/packages/backports/__init__.py +0 -0
  1255. package/python/lib/python3.13/site-packages/pip/_vendor/urllib3/packages/backports/makefile.py +51 -0
  1256. package/python/lib/python3.13/site-packages/pip/_vendor/urllib3/packages/backports/weakref_finalize.py +155 -0
  1257. package/python/lib/python3.13/site-packages/pip/_vendor/urllib3/packages/six.py +1076 -0
  1258. package/python/lib/python3.13/site-packages/pip/_vendor/urllib3/poolmanager.py +540 -0
  1259. package/python/lib/python3.13/site-packages/pip/_vendor/urllib3/request.py +191 -0
  1260. package/python/lib/python3.13/site-packages/pip/_vendor/urllib3/response.py +879 -0
  1261. package/python/lib/python3.13/site-packages/pip/_vendor/urllib3/util/__init__.py +49 -0
  1262. package/python/lib/python3.13/site-packages/pip/_vendor/urllib3/util/connection.py +149 -0
  1263. package/python/lib/python3.13/site-packages/pip/_vendor/urllib3/util/proxy.py +57 -0
  1264. package/python/lib/python3.13/site-packages/pip/_vendor/urllib3/util/queue.py +22 -0
  1265. package/python/lib/python3.13/site-packages/pip/_vendor/urllib3/util/request.py +137 -0
  1266. package/python/lib/python3.13/site-packages/pip/_vendor/urllib3/util/response.py +107 -0
  1267. package/python/lib/python3.13/site-packages/pip/_vendor/urllib3/util/retry.py +622 -0
  1268. package/python/lib/python3.13/site-packages/pip/_vendor/urllib3/util/ssl_.py +504 -0
  1269. package/python/lib/python3.13/site-packages/pip/_vendor/urllib3/util/ssl_match_hostname.py +159 -0
  1270. package/python/lib/python3.13/site-packages/pip/_vendor/urllib3/util/ssltransport.py +221 -0
  1271. package/python/lib/python3.13/site-packages/pip/_vendor/urllib3/util/timeout.py +271 -0
  1272. package/python/lib/python3.13/site-packages/pip/_vendor/urllib3/util/url.py +435 -0
  1273. package/python/lib/python3.13/site-packages/pip/_vendor/urllib3/util/wait.py +152 -0
  1274. package/python/lib/python3.13/site-packages/pip/_vendor/vendor.txt +19 -0
  1275. package/python/lib/python3.13/site-packages/pip/py.typed +4 -0
  1276. package/python/lib/python3.13/site-packages/pip-26.0.1.dist-info/INSTALLER +1 -0
  1277. package/python/lib/python3.13/site-packages/pip-26.0.1.dist-info/METADATA +111 -0
  1278. package/python/lib/python3.13/site-packages/pip-26.0.1.dist-info/RECORD +879 -0
  1279. package/python/lib/python3.13/site-packages/pip-26.0.1.dist-info/REQUESTED +0 -0
  1280. package/python/lib/python3.13/site-packages/pip-26.0.1.dist-info/WHEEL +4 -0
  1281. package/python/lib/python3.13/site-packages/pip-26.0.1.dist-info/direct_url.json +1 -0
  1282. package/python/lib/python3.13/site-packages/pip-26.0.1.dist-info/entry_points.txt +4 -0
  1283. package/python/lib/python3.13/site-packages/pip-26.0.1.dist-info/licenses/AUTHORS.txt +860 -0
  1284. package/python/lib/python3.13/site-packages/pip-26.0.1.dist-info/licenses/LICENSE.txt +20 -0
  1285. package/python/lib/python3.13/site-packages/pip-26.0.1.dist-info/licenses/src/pip/_vendor/cachecontrol/LICENSE.txt +13 -0
  1286. package/python/lib/python3.13/site-packages/pip-26.0.1.dist-info/licenses/src/pip/_vendor/certifi/LICENSE +20 -0
  1287. package/python/lib/python3.13/site-packages/pip-26.0.1.dist-info/licenses/src/pip/_vendor/dependency_groups/LICENSE.txt +9 -0
  1288. package/python/lib/python3.13/site-packages/pip-26.0.1.dist-info/licenses/src/pip/_vendor/distlib/LICENSE.txt +284 -0
  1289. package/python/lib/python3.13/site-packages/pip-26.0.1.dist-info/licenses/src/pip/_vendor/distro/LICENSE +202 -0
  1290. package/python/lib/python3.13/site-packages/pip-26.0.1.dist-info/licenses/src/pip/_vendor/idna/LICENSE.md +31 -0
  1291. package/python/lib/python3.13/site-packages/pip-26.0.1.dist-info/licenses/src/pip/_vendor/msgpack/COPYING +14 -0
  1292. package/python/lib/python3.13/site-packages/pip-26.0.1.dist-info/licenses/src/pip/_vendor/packaging/LICENSE +3 -0
  1293. package/python/lib/python3.13/site-packages/pip-26.0.1.dist-info/licenses/src/pip/_vendor/packaging/LICENSE.APACHE +177 -0
  1294. package/python/lib/python3.13/site-packages/pip-26.0.1.dist-info/licenses/src/pip/_vendor/packaging/LICENSE.BSD +23 -0
  1295. package/python/lib/python3.13/site-packages/pip-26.0.1.dist-info/licenses/src/pip/_vendor/pkg_resources/LICENSE +17 -0
  1296. package/python/lib/python3.13/site-packages/pip-26.0.1.dist-info/licenses/src/pip/_vendor/platformdirs/LICENSE +21 -0
  1297. package/python/lib/python3.13/site-packages/pip-26.0.1.dist-info/licenses/src/pip/_vendor/pygments/LICENSE +25 -0
  1298. package/python/lib/python3.13/site-packages/pip-26.0.1.dist-info/licenses/src/pip/_vendor/pyproject_hooks/LICENSE +21 -0
  1299. package/python/lib/python3.13/site-packages/pip-26.0.1.dist-info/licenses/src/pip/_vendor/requests/LICENSE +175 -0
  1300. package/python/lib/python3.13/site-packages/pip-26.0.1.dist-info/licenses/src/pip/_vendor/resolvelib/LICENSE +13 -0
  1301. package/python/lib/python3.13/site-packages/pip-26.0.1.dist-info/licenses/src/pip/_vendor/rich/LICENSE +19 -0
  1302. package/python/lib/python3.13/site-packages/pip-26.0.1.dist-info/licenses/src/pip/_vendor/tomli/LICENSE +21 -0
  1303. package/python/lib/python3.13/site-packages/pip-26.0.1.dist-info/licenses/src/pip/_vendor/tomli_w/LICENSE +21 -0
  1304. package/python/lib/python3.13/site-packages/pip-26.0.1.dist-info/licenses/src/pip/_vendor/truststore/LICENSE +21 -0
  1305. package/python/lib/python3.13/site-packages/pip-26.0.1.dist-info/licenses/src/pip/_vendor/urllib3/LICENSE.txt +21 -0
  1306. package/python/lib/python3.13/site.py +773 -0
  1307. package/python/lib/python3.13/smtplib.py +1123 -0
  1308. package/python/lib/python3.13/socket.py +982 -0
  1309. package/python/lib/python3.13/socketserver.py +863 -0
  1310. package/python/lib/python3.13/sqlite3/__init__.py +70 -0
  1311. package/python/lib/python3.13/sqlite3/__main__.py +139 -0
  1312. package/python/lib/python3.13/sqlite3/dbapi2.py +108 -0
  1313. package/python/lib/python3.13/sqlite3/dump.py +113 -0
  1314. package/python/lib/python3.13/sre_compile.py +7 -0
  1315. package/python/lib/python3.13/sre_constants.py +7 -0
  1316. package/python/lib/python3.13/sre_parse.py +7 -0
  1317. package/python/lib/python3.13/ssl.py +1529 -0
  1318. package/python/lib/python3.13/stat.py +212 -0
  1319. package/python/lib/python3.13/statistics.py +1817 -0
  1320. package/python/lib/python3.13/string.py +309 -0
  1321. package/python/lib/python3.13/stringprep.py +272 -0
  1322. package/python/lib/python3.13/struct.py +15 -0
  1323. package/python/lib/python3.13/subprocess.py +2258 -0
  1324. package/python/lib/python3.13/symtable.py +414 -0
  1325. package/python/lib/python3.13/sysconfig/__init__.py +726 -0
  1326. package/python/lib/python3.13/sysconfig/__main__.py +248 -0
  1327. package/python/lib/python3.13/tabnanny.py +340 -0
  1328. package/python/lib/python3.13/tarfile.py +3070 -0
  1329. package/python/lib/python3.13/tempfile.py +957 -0
  1330. package/python/lib/python3.13/textwrap.py +497 -0
  1331. package/python/lib/python3.13/this.py +28 -0
  1332. package/python/lib/python3.13/threading.py +1602 -0
  1333. package/python/lib/python3.13/timeit.py +381 -0
  1334. package/python/lib/python3.13/tkinter/__init__.py +5002 -0
  1335. package/python/lib/python3.13/tkinter/__main__.py +7 -0
  1336. package/python/lib/python3.13/tkinter/colorchooser.py +86 -0
  1337. package/python/lib/python3.13/tkinter/commondialog.py +53 -0
  1338. package/python/lib/python3.13/tkinter/constants.py +110 -0
  1339. package/python/lib/python3.13/tkinter/dialog.py +49 -0
  1340. package/python/lib/python3.13/tkinter/dnd.py +324 -0
  1341. package/python/lib/python3.13/tkinter/filedialog.py +492 -0
  1342. package/python/lib/python3.13/tkinter/font.py +239 -0
  1343. package/python/lib/python3.13/tkinter/messagebox.py +146 -0
  1344. package/python/lib/python3.13/tkinter/scrolledtext.py +56 -0
  1345. package/python/lib/python3.13/tkinter/simpledialog.py +441 -0
  1346. package/python/lib/python3.13/tkinter/ttk.py +1647 -0
  1347. package/python/lib/python3.13/token.py +141 -0
  1348. package/python/lib/python3.13/tokenize.py +592 -0
  1349. package/python/lib/python3.13/tomllib/__init__.py +10 -0
  1350. package/python/lib/python3.13/tomllib/_parser.py +691 -0
  1351. package/python/lib/python3.13/tomllib/_re.py +107 -0
  1352. package/python/lib/python3.13/tomllib/_types.py +10 -0
  1353. package/python/lib/python3.13/tomllib/mypy.ini +17 -0
  1354. package/python/lib/python3.13/trace.py +754 -0
  1355. package/python/lib/python3.13/traceback.py +1638 -0
  1356. package/python/lib/python3.13/tracemalloc.py +560 -0
  1357. package/python/lib/python3.13/tty.py +73 -0
  1358. package/python/lib/python3.13/turtle.py +4199 -0
  1359. package/python/lib/python3.13/turtledemo/__init__.py +14 -0
  1360. package/python/lib/python3.13/turtledemo/__main__.py +401 -0
  1361. package/python/lib/python3.13/turtledemo/bytedesign.py +161 -0
  1362. package/python/lib/python3.13/turtledemo/chaos.py +59 -0
  1363. package/python/lib/python3.13/turtledemo/clock.py +138 -0
  1364. package/python/lib/python3.13/turtledemo/colormixer.py +58 -0
  1365. package/python/lib/python3.13/turtledemo/forest.py +108 -0
  1366. package/python/lib/python3.13/turtledemo/fractalcurves.py +138 -0
  1367. package/python/lib/python3.13/turtledemo/lindenmayer.py +119 -0
  1368. package/python/lib/python3.13/turtledemo/minimal_hanoi.py +79 -0
  1369. package/python/lib/python3.13/turtledemo/nim.py +226 -0
  1370. package/python/lib/python3.13/turtledemo/paint.py +54 -0
  1371. package/python/lib/python3.13/turtledemo/peace.py +61 -0
  1372. package/python/lib/python3.13/turtledemo/penrose.py +175 -0
  1373. package/python/lib/python3.13/turtledemo/planet_and_moon.py +111 -0
  1374. package/python/lib/python3.13/turtledemo/rosette.py +65 -0
  1375. package/python/lib/python3.13/turtledemo/round_dance.py +86 -0
  1376. package/python/lib/python3.13/turtledemo/sorting_animate.py +204 -0
  1377. package/python/lib/python3.13/turtledemo/tree.py +62 -0
  1378. package/python/lib/python3.13/turtledemo/turtle.cfg +10 -0
  1379. package/python/lib/python3.13/turtledemo/two_canvases.py +54 -0
  1380. package/python/lib/python3.13/turtledemo/yinyang.py +49 -0
  1381. package/python/lib/python3.13/types.py +345 -0
  1382. package/python/lib/python3.13/typing.py +3831 -0
  1383. package/python/lib/python3.13/unittest/__init__.py +80 -0
  1384. package/python/lib/python3.13/unittest/__main__.py +18 -0
  1385. package/python/lib/python3.13/unittest/_log.py +86 -0
  1386. package/python/lib/python3.13/unittest/async_case.py +146 -0
  1387. package/python/lib/python3.13/unittest/case.py +1478 -0
  1388. package/python/lib/python3.13/unittest/loader.py +453 -0
  1389. package/python/lib/python3.13/unittest/main.py +280 -0
  1390. package/python/lib/python3.13/unittest/mock.py +3179 -0
  1391. package/python/lib/python3.13/unittest/result.py +256 -0
  1392. package/python/lib/python3.13/unittest/runner.py +292 -0
  1393. package/python/lib/python3.13/unittest/signals.py +71 -0
  1394. package/python/lib/python3.13/unittest/suite.py +379 -0
  1395. package/python/lib/python3.13/unittest/util.py +170 -0
  1396. package/python/lib/python3.13/urllib/__init__.py +0 -0
  1397. package/python/lib/python3.13/urllib/error.py +74 -0
  1398. package/python/lib/python3.13/urllib/parse.py +1262 -0
  1399. package/python/lib/python3.13/urllib/request.py +2797 -0
  1400. package/python/lib/python3.13/urllib/response.py +84 -0
  1401. package/python/lib/python3.13/urllib/robotparser.py +286 -0
  1402. package/python/lib/python3.13/uuid.py +784 -0
  1403. package/python/lib/python3.13/venv/__init__.py +687 -0
  1404. package/python/lib/python3.13/venv/__main__.py +10 -0
  1405. package/python/lib/python3.13/venv/scripts/common/Activate.ps1 +248 -0
  1406. package/python/lib/python3.13/venv/scripts/common/activate +76 -0
  1407. package/python/lib/python3.13/venv/scripts/common/activate.fish +69 -0
  1408. package/python/lib/python3.13/venv/scripts/posix/activate.csh +27 -0
  1409. package/python/lib/python3.13/warnings.py +735 -0
  1410. package/python/lib/python3.13/wave.py +665 -0
  1411. package/python/lib/python3.13/weakref.py +674 -0
  1412. package/python/lib/python3.13/webbrowser.py +710 -0
  1413. package/python/lib/python3.13/wsgiref/__init__.py +25 -0
  1414. package/python/lib/python3.13/wsgiref/handlers.py +573 -0
  1415. package/python/lib/python3.13/wsgiref/headers.py +187 -0
  1416. package/python/lib/python3.13/wsgiref/simple_server.py +161 -0
  1417. package/python/lib/python3.13/wsgiref/types.py +54 -0
  1418. package/python/lib/python3.13/wsgiref/util.py +159 -0
  1419. package/python/lib/python3.13/wsgiref/validate.py +438 -0
  1420. package/python/lib/python3.13/xml/__init__.py +20 -0
  1421. package/python/lib/python3.13/xml/dom/NodeFilter.py +27 -0
  1422. package/python/lib/python3.13/xml/dom/__init__.py +140 -0
  1423. package/python/lib/python3.13/xml/dom/domreg.py +99 -0
  1424. package/python/lib/python3.13/xml/dom/expatbuilder.py +962 -0
  1425. package/python/lib/python3.13/xml/dom/minicompat.py +109 -0
  1426. package/python/lib/python3.13/xml/dom/minidom.py +2024 -0
  1427. package/python/lib/python3.13/xml/dom/pulldom.py +336 -0
  1428. package/python/lib/python3.13/xml/dom/xmlbuilder.py +389 -0
  1429. package/python/lib/python3.13/xml/etree/ElementInclude.py +186 -0
  1430. package/python/lib/python3.13/xml/etree/ElementPath.py +423 -0
  1431. package/python/lib/python3.13/xml/etree/ElementTree.py +2098 -0
  1432. package/python/lib/python3.13/xml/etree/__init__.py +33 -0
  1433. package/python/lib/python3.13/xml/etree/cElementTree.py +3 -0
  1434. package/python/lib/python3.13/xml/parsers/__init__.py +8 -0
  1435. package/python/lib/python3.13/xml/parsers/expat.py +8 -0
  1436. package/python/lib/python3.13/xml/sax/__init__.py +94 -0
  1437. package/python/lib/python3.13/xml/sax/_exceptions.py +127 -0
  1438. package/python/lib/python3.13/xml/sax/expatreader.py +454 -0
  1439. package/python/lib/python3.13/xml/sax/handler.py +387 -0
  1440. package/python/lib/python3.13/xml/sax/saxutils.py +369 -0
  1441. package/python/lib/python3.13/xml/sax/xmlreader.py +378 -0
  1442. package/python/lib/python3.13/xmlrpc/__init__.py +1 -0
  1443. package/python/lib/python3.13/xmlrpc/client.py +1503 -0
  1444. package/python/lib/python3.13/xmlrpc/server.py +1002 -0
  1445. package/python/lib/python3.13/zipapp.py +229 -0
  1446. package/python/lib/python3.13/zipfile/__init__.py +2375 -0
  1447. package/python/lib/python3.13/zipfile/__main__.py +4 -0
  1448. package/python/lib/python3.13/zipfile/_path/__init__.py +452 -0
  1449. package/python/lib/python3.13/zipfile/_path/glob.py +113 -0
  1450. package/python/lib/python3.13/zipimport.py +803 -0
  1451. package/python/lib/python3.13/zoneinfo/__init__.py +34 -0
  1452. package/python/lib/python3.13/zoneinfo/_common.py +168 -0
  1453. package/python/lib/python3.13/zoneinfo/_tzpath.py +189 -0
  1454. package/python/lib/python3.13/zoneinfo/_zoneinfo.py +772 -0
  1455. package/python/lib/tcl9/9.0/http-2.10.1.tm +5475 -0
  1456. package/python/lib/tcl9/9.0/msgcat-1.7.1.tm +1349 -0
  1457. package/python/lib/tcl9/9.0/platform/shell-1.1.4.tm +241 -0
  1458. package/python/lib/tcl9/9.0/platform-1.1.0.tm +443 -0
  1459. package/python/lib/tcl9/9.0/tcltest-2.5.10.tm +3588 -0
  1460. package/python/lib/tcl9.0/auto.tcl +711 -0
  1461. package/python/lib/tcl9.0/clock.tcl +2110 -0
  1462. package/python/lib/tcl9.0/cookiejar0.2/cookiejar.tcl +746 -0
  1463. package/python/lib/tcl9.0/cookiejar0.2/idna.tcl +292 -0
  1464. package/python/lib/tcl9.0/cookiejar0.2/pkgIndex.tcl +3 -0
  1465. package/python/lib/tcl9.0/cookiejar0.2/public_suffix_list.dat.gz +0 -0
  1466. package/python/lib/tcl9.0/encoding/ascii.enc +20 -0
  1467. package/python/lib/tcl9.0/encoding/big5.enc +1516 -0
  1468. package/python/lib/tcl9.0/encoding/cns11643.enc +1584 -0
  1469. package/python/lib/tcl9.0/encoding/cp1250.enc +20 -0
  1470. package/python/lib/tcl9.0/encoding/cp1251.enc +20 -0
  1471. package/python/lib/tcl9.0/encoding/cp1252.enc +20 -0
  1472. package/python/lib/tcl9.0/encoding/cp1253.enc +20 -0
  1473. package/python/lib/tcl9.0/encoding/cp1254.enc +20 -0
  1474. package/python/lib/tcl9.0/encoding/cp1255.enc +20 -0
  1475. package/python/lib/tcl9.0/encoding/cp1256.enc +20 -0
  1476. package/python/lib/tcl9.0/encoding/cp1257.enc +20 -0
  1477. package/python/lib/tcl9.0/encoding/cp1258.enc +20 -0
  1478. package/python/lib/tcl9.0/encoding/cp165.enc +20 -0
  1479. package/python/lib/tcl9.0/encoding/cp437.enc +20 -0
  1480. package/python/lib/tcl9.0/encoding/cp737.enc +20 -0
  1481. package/python/lib/tcl9.0/encoding/cp775.enc +20 -0
  1482. package/python/lib/tcl9.0/encoding/cp850.enc +20 -0
  1483. package/python/lib/tcl9.0/encoding/cp852.enc +20 -0
  1484. package/python/lib/tcl9.0/encoding/cp855.enc +20 -0
  1485. package/python/lib/tcl9.0/encoding/cp857.enc +20 -0
  1486. package/python/lib/tcl9.0/encoding/cp860.enc +20 -0
  1487. package/python/lib/tcl9.0/encoding/cp861.enc +20 -0
  1488. package/python/lib/tcl9.0/encoding/cp862.enc +20 -0
  1489. package/python/lib/tcl9.0/encoding/cp863.enc +20 -0
  1490. package/python/lib/tcl9.0/encoding/cp864.enc +20 -0
  1491. package/python/lib/tcl9.0/encoding/cp865.enc +20 -0
  1492. package/python/lib/tcl9.0/encoding/cp866.enc +20 -0
  1493. package/python/lib/tcl9.0/encoding/cp869.enc +20 -0
  1494. package/python/lib/tcl9.0/encoding/cp874.enc +20 -0
  1495. package/python/lib/tcl9.0/encoding/cp932.enc +801 -0
  1496. package/python/lib/tcl9.0/encoding/cp936.enc +2162 -0
  1497. package/python/lib/tcl9.0/encoding/cp949.enc +2128 -0
  1498. package/python/lib/tcl9.0/encoding/cp950.enc +1499 -0
  1499. package/python/lib/tcl9.0/encoding/dingbats.enc +20 -0
  1500. package/python/lib/tcl9.0/encoding/ebcdic.enc +20 -0
  1501. package/python/lib/tcl9.0/encoding/euc-cn.enc +1397 -0
  1502. package/python/lib/tcl9.0/encoding/euc-jp.enc +1353 -0
  1503. package/python/lib/tcl9.0/encoding/euc-kr.enc +1533 -0
  1504. package/python/lib/tcl9.0/encoding/gb12345.enc +1414 -0
  1505. package/python/lib/tcl9.0/encoding/gb1988.enc +20 -0
  1506. package/python/lib/tcl9.0/encoding/gb2312-raw.enc +1380 -0
  1507. package/python/lib/tcl9.0/encoding/gb2312.enc +1397 -0
  1508. package/python/lib/tcl9.0/encoding/iso2022-jp.enc +12 -0
  1509. package/python/lib/tcl9.0/encoding/iso2022-kr.enc +7 -0
  1510. package/python/lib/tcl9.0/encoding/iso2022.enc +14 -0
  1511. package/python/lib/tcl9.0/encoding/iso8859-1.enc +20 -0
  1512. package/python/lib/tcl9.0/encoding/iso8859-10.enc +20 -0
  1513. package/python/lib/tcl9.0/encoding/iso8859-11.enc +20 -0
  1514. package/python/lib/tcl9.0/encoding/iso8859-13.enc +20 -0
  1515. package/python/lib/tcl9.0/encoding/iso8859-14.enc +20 -0
  1516. package/python/lib/tcl9.0/encoding/iso8859-15.enc +20 -0
  1517. package/python/lib/tcl9.0/encoding/iso8859-16.enc +20 -0
  1518. package/python/lib/tcl9.0/encoding/iso8859-2.enc +20 -0
  1519. package/python/lib/tcl9.0/encoding/iso8859-3.enc +20 -0
  1520. package/python/lib/tcl9.0/encoding/iso8859-4.enc +20 -0
  1521. package/python/lib/tcl9.0/encoding/iso8859-5.enc +20 -0
  1522. package/python/lib/tcl9.0/encoding/iso8859-6.enc +20 -0
  1523. package/python/lib/tcl9.0/encoding/iso8859-7.enc +20 -0
  1524. package/python/lib/tcl9.0/encoding/iso8859-8.enc +20 -0
  1525. package/python/lib/tcl9.0/encoding/iso8859-9.enc +20 -0
  1526. package/python/lib/tcl9.0/encoding/jis0201.enc +20 -0
  1527. package/python/lib/tcl9.0/encoding/jis0208.enc +1319 -0
  1528. package/python/lib/tcl9.0/encoding/jis0212.enc +1159 -0
  1529. package/python/lib/tcl9.0/encoding/koi8-r.enc +20 -0
  1530. package/python/lib/tcl9.0/encoding/koi8-ru.enc +20 -0
  1531. package/python/lib/tcl9.0/encoding/koi8-t.enc +20 -0
  1532. package/python/lib/tcl9.0/encoding/koi8-u.enc +20 -0
  1533. package/python/lib/tcl9.0/encoding/ksc5601.enc +1516 -0
  1534. package/python/lib/tcl9.0/encoding/macCentEuro.enc +20 -0
  1535. package/python/lib/tcl9.0/encoding/macCroatian.enc +20 -0
  1536. package/python/lib/tcl9.0/encoding/macCyrillic.enc +20 -0
  1537. package/python/lib/tcl9.0/encoding/macDingbats.enc +20 -0
  1538. package/python/lib/tcl9.0/encoding/macGreek.enc +20 -0
  1539. package/python/lib/tcl9.0/encoding/macIceland.enc +20 -0
  1540. package/python/lib/tcl9.0/encoding/macJapan.enc +785 -0
  1541. package/python/lib/tcl9.0/encoding/macRoman.enc +20 -0
  1542. package/python/lib/tcl9.0/encoding/macRomania.enc +20 -0
  1543. package/python/lib/tcl9.0/encoding/macThai.enc +20 -0
  1544. package/python/lib/tcl9.0/encoding/macTurkish.enc +20 -0
  1545. package/python/lib/tcl9.0/encoding/macUkraine.enc +20 -0
  1546. package/python/lib/tcl9.0/encoding/shiftjis.enc +690 -0
  1547. package/python/lib/tcl9.0/encoding/symbol.enc +20 -0
  1548. package/python/lib/tcl9.0/encoding/tis-620.enc +20 -0
  1549. package/python/lib/tcl9.0/foreachline.tcl +25 -0
  1550. package/python/lib/tcl9.0/history.tcl +335 -0
  1551. package/python/lib/tcl9.0/icu.tcl +145 -0
  1552. package/python/lib/tcl9.0/init.tcl +773 -0
  1553. package/python/lib/tcl9.0/install.tcl +275 -0
  1554. package/python/lib/tcl9.0/msgs/af.msg +49 -0
  1555. package/python/lib/tcl9.0/msgs/af_za.msg +6 -0
  1556. package/python/lib/tcl9.0/msgs/ar.msg +54 -0
  1557. package/python/lib/tcl9.0/msgs/ar_in.msg +6 -0
  1558. package/python/lib/tcl9.0/msgs/ar_jo.msg +39 -0
  1559. package/python/lib/tcl9.0/msgs/ar_lb.msg +39 -0
  1560. package/python/lib/tcl9.0/msgs/ar_sy.msg +39 -0
  1561. package/python/lib/tcl9.0/msgs/be.msg +52 -0
  1562. package/python/lib/tcl9.0/msgs/bg.msg +52 -0
  1563. package/python/lib/tcl9.0/msgs/bn.msg +49 -0
  1564. package/python/lib/tcl9.0/msgs/bn_in.msg +6 -0
  1565. package/python/lib/tcl9.0/msgs/ca.msg +50 -0
  1566. package/python/lib/tcl9.0/msgs/cs.msg +54 -0
  1567. package/python/lib/tcl9.0/msgs/da.msg +52 -0
  1568. package/python/lib/tcl9.0/msgs/de.msg +54 -0
  1569. package/python/lib/tcl9.0/msgs/de_at.msg +35 -0
  1570. package/python/lib/tcl9.0/msgs/de_be.msg +53 -0
  1571. package/python/lib/tcl9.0/msgs/el.msg +52 -0
  1572. package/python/lib/tcl9.0/msgs/en_au.msg +7 -0
  1573. package/python/lib/tcl9.0/msgs/en_be.msg +7 -0
  1574. package/python/lib/tcl9.0/msgs/en_bw.msg +6 -0
  1575. package/python/lib/tcl9.0/msgs/en_ca.msg +7 -0
  1576. package/python/lib/tcl9.0/msgs/en_gb.msg +7 -0
  1577. package/python/lib/tcl9.0/msgs/en_hk.msg +8 -0
  1578. package/python/lib/tcl9.0/msgs/en_ie.msg +7 -0
  1579. package/python/lib/tcl9.0/msgs/en_in.msg +8 -0
  1580. package/python/lib/tcl9.0/msgs/en_nz.msg +7 -0
  1581. package/python/lib/tcl9.0/msgs/en_ph.msg +8 -0
  1582. package/python/lib/tcl9.0/msgs/en_sg.msg +6 -0
  1583. package/python/lib/tcl9.0/msgs/en_za.msg +6 -0
  1584. package/python/lib/tcl9.0/msgs/en_zw.msg +6 -0
  1585. package/python/lib/tcl9.0/msgs/eo.msg +54 -0
  1586. package/python/lib/tcl9.0/msgs/es.msg +52 -0
  1587. package/python/lib/tcl9.0/msgs/es_ar.msg +6 -0
  1588. package/python/lib/tcl9.0/msgs/es_bo.msg +6 -0
  1589. package/python/lib/tcl9.0/msgs/es_cl.msg +6 -0
  1590. package/python/lib/tcl9.0/msgs/es_co.msg +6 -0
  1591. package/python/lib/tcl9.0/msgs/es_cr.msg +6 -0
  1592. package/python/lib/tcl9.0/msgs/es_do.msg +6 -0
  1593. package/python/lib/tcl9.0/msgs/es_ec.msg +6 -0
  1594. package/python/lib/tcl9.0/msgs/es_gt.msg +6 -0
  1595. package/python/lib/tcl9.0/msgs/es_hn.msg +6 -0
  1596. package/python/lib/tcl9.0/msgs/es_mx.msg +6 -0
  1597. package/python/lib/tcl9.0/msgs/es_ni.msg +6 -0
  1598. package/python/lib/tcl9.0/msgs/es_pa.msg +6 -0
  1599. package/python/lib/tcl9.0/msgs/es_pe.msg +6 -0
  1600. package/python/lib/tcl9.0/msgs/es_pr.msg +6 -0
  1601. package/python/lib/tcl9.0/msgs/es_py.msg +6 -0
  1602. package/python/lib/tcl9.0/msgs/es_sv.msg +6 -0
  1603. package/python/lib/tcl9.0/msgs/es_uy.msg +6 -0
  1604. package/python/lib/tcl9.0/msgs/es_ve.msg +6 -0
  1605. package/python/lib/tcl9.0/msgs/et.msg +52 -0
  1606. package/python/lib/tcl9.0/msgs/eu.msg +47 -0
  1607. package/python/lib/tcl9.0/msgs/eu_es.msg +7 -0
  1608. package/python/lib/tcl9.0/msgs/fa.msg +47 -0
  1609. package/python/lib/tcl9.0/msgs/fa_in.msg +52 -0
  1610. package/python/lib/tcl9.0/msgs/fa_ir.msg +9 -0
  1611. package/python/lib/tcl9.0/msgs/fi.msg +50 -0
  1612. package/python/lib/tcl9.0/msgs/fo.msg +47 -0
  1613. package/python/lib/tcl9.0/msgs/fo_fo.msg +7 -0
  1614. package/python/lib/tcl9.0/msgs/fr.msg +52 -0
  1615. package/python/lib/tcl9.0/msgs/fr_be.msg +7 -0
  1616. package/python/lib/tcl9.0/msgs/fr_ca.msg +7 -0
  1617. package/python/lib/tcl9.0/msgs/fr_ch.msg +7 -0
  1618. package/python/lib/tcl9.0/msgs/ga.msg +47 -0
  1619. package/python/lib/tcl9.0/msgs/ga_ie.msg +7 -0
  1620. package/python/lib/tcl9.0/msgs/gl.msg +47 -0
  1621. package/python/lib/tcl9.0/msgs/gl_es.msg +6 -0
  1622. package/python/lib/tcl9.0/msgs/gv.msg +47 -0
  1623. package/python/lib/tcl9.0/msgs/gv_gb.msg +6 -0
  1624. package/python/lib/tcl9.0/msgs/he.msg +52 -0
  1625. package/python/lib/tcl9.0/msgs/hi.msg +39 -0
  1626. package/python/lib/tcl9.0/msgs/hi_in.msg +6 -0
  1627. package/python/lib/tcl9.0/msgs/hr.msg +50 -0
  1628. package/python/lib/tcl9.0/msgs/hu.msg +54 -0
  1629. package/python/lib/tcl9.0/msgs/id.msg +47 -0
  1630. package/python/lib/tcl9.0/msgs/id_id.msg +6 -0
  1631. package/python/lib/tcl9.0/msgs/is.msg +50 -0
  1632. package/python/lib/tcl9.0/msgs/it.msg +54 -0
  1633. package/python/lib/tcl9.0/msgs/it_ch.msg +6 -0
  1634. package/python/lib/tcl9.0/msgs/ja.msg +44 -0
  1635. package/python/lib/tcl9.0/msgs/kl.msg +47 -0
  1636. package/python/lib/tcl9.0/msgs/kl_gl.msg +7 -0
  1637. package/python/lib/tcl9.0/msgs/ko.msg +55 -0
  1638. package/python/lib/tcl9.0/msgs/ko_kr.msg +8 -0
  1639. package/python/lib/tcl9.0/msgs/kok.msg +39 -0
  1640. package/python/lib/tcl9.0/msgs/kok_in.msg +6 -0
  1641. package/python/lib/tcl9.0/msgs/kw.msg +47 -0
  1642. package/python/lib/tcl9.0/msgs/kw_gb.msg +6 -0
  1643. package/python/lib/tcl9.0/msgs/lt.msg +52 -0
  1644. package/python/lib/tcl9.0/msgs/lv.msg +52 -0
  1645. package/python/lib/tcl9.0/msgs/mk.msg +52 -0
  1646. package/python/lib/tcl9.0/msgs/mr.msg +39 -0
  1647. package/python/lib/tcl9.0/msgs/mr_in.msg +6 -0
  1648. package/python/lib/tcl9.0/msgs/ms.msg +47 -0
  1649. package/python/lib/tcl9.0/msgs/ms_my.msg +6 -0
  1650. package/python/lib/tcl9.0/msgs/mt.msg +27 -0
  1651. package/python/lib/tcl9.0/msgs/nb.msg +52 -0
  1652. package/python/lib/tcl9.0/msgs/nl.msg +50 -0
  1653. package/python/lib/tcl9.0/msgs/nl_be.msg +7 -0
  1654. package/python/lib/tcl9.0/msgs/nn.msg +52 -0
  1655. package/python/lib/tcl9.0/msgs/pl.msg +52 -0
  1656. package/python/lib/tcl9.0/msgs/pt.msg +50 -0
  1657. package/python/lib/tcl9.0/msgs/pt_br.msg +7 -0
  1658. package/python/lib/tcl9.0/msgs/ro.msg +52 -0
  1659. package/python/lib/tcl9.0/msgs/ru.msg +52 -0
  1660. package/python/lib/tcl9.0/msgs/ru_ua.msg +6 -0
  1661. package/python/lib/tcl9.0/msgs/sh.msg +52 -0
  1662. package/python/lib/tcl9.0/msgs/sk.msg +52 -0
  1663. package/python/lib/tcl9.0/msgs/sl.msg +52 -0
  1664. package/python/lib/tcl9.0/msgs/sq.msg +54 -0
  1665. package/python/lib/tcl9.0/msgs/sr.msg +52 -0
  1666. package/python/lib/tcl9.0/msgs/sv.msg +52 -0
  1667. package/python/lib/tcl9.0/msgs/sw.msg +49 -0
  1668. package/python/lib/tcl9.0/msgs/ta.msg +39 -0
  1669. package/python/lib/tcl9.0/msgs/ta_in.msg +6 -0
  1670. package/python/lib/tcl9.0/msgs/te.msg +47 -0
  1671. package/python/lib/tcl9.0/msgs/te_in.msg +8 -0
  1672. package/python/lib/tcl9.0/msgs/th.msg +54 -0
  1673. package/python/lib/tcl9.0/msgs/tr.msg +50 -0
  1674. package/python/lib/tcl9.0/msgs/uk.msg +52 -0
  1675. package/python/lib/tcl9.0/msgs/vi.msg +50 -0
  1676. package/python/lib/tcl9.0/msgs/zh.msg +55 -0
  1677. package/python/lib/tcl9.0/msgs/zh_cn.msg +7 -0
  1678. package/python/lib/tcl9.0/msgs/zh_hk.msg +28 -0
  1679. package/python/lib/tcl9.0/msgs/zh_sg.msg +8 -0
  1680. package/python/lib/tcl9.0/msgs/zh_tw.msg +8 -0
  1681. package/python/lib/tcl9.0/opt0.4/optparse.tcl +1069 -0
  1682. package/python/lib/tcl9.0/opt0.4/pkgIndex.tcl +12 -0
  1683. package/python/lib/tcl9.0/package.tcl +767 -0
  1684. package/python/lib/tcl9.0/parray.tcl +28 -0
  1685. package/python/lib/tcl9.0/readfile.tcl +23 -0
  1686. package/python/lib/tcl9.0/safe.tcl +1461 -0
  1687. package/python/lib/tcl9.0/tclAppInit.c +183 -0
  1688. package/python/lib/tcl9.0/tclIndex +112 -0
  1689. package/python/lib/tcl9.0/tm.tcl +378 -0
  1690. package/python/lib/tcl9.0/word.tcl +155 -0
  1691. package/python/lib/tcl9.0/writefile.tcl +37 -0
  1692. package/python/lib/thread3.0.4/libtcl9thread3.0.4.dylib +0 -0
  1693. package/python/lib/thread3.0.4/libthread3.0.4.dylib +0 -0
  1694. package/python/lib/thread3.0.4/pkgIndex.tcl +52 -0
  1695. package/python/lib/thread3.0.4/ttrace.tcl +943 -0
  1696. package/python/lib/tk9.0/bgerror.tcl +282 -0
  1697. package/python/lib/tk9.0/button.tcl +782 -0
  1698. package/python/lib/tk9.0/choosedir.tcl +310 -0
  1699. package/python/lib/tk9.0/clrpick.tcl +696 -0
  1700. package/python/lib/tk9.0/comdlg.tcl +322 -0
  1701. package/python/lib/tk9.0/console.tcl +1148 -0
  1702. package/python/lib/tk9.0/demos/README +44 -0
  1703. package/python/lib/tk9.0/demos/anilabel.tcl +168 -0
  1704. package/python/lib/tk9.0/demos/aniwave.tcl +107 -0
  1705. package/python/lib/tk9.0/demos/arrow.tcl +260 -0
  1706. package/python/lib/tk9.0/demos/bind.tcl +78 -0
  1707. package/python/lib/tk9.0/demos/bitmap.tcl +52 -0
  1708. package/python/lib/tk9.0/demos/browse +66 -0
  1709. package/python/lib/tk9.0/demos/button.tcl +47 -0
  1710. package/python/lib/tk9.0/demos/check.tcl +71 -0
  1711. package/python/lib/tk9.0/demos/clrpick.tcl +54 -0
  1712. package/python/lib/tk9.0/demos/colors.tcl +99 -0
  1713. package/python/lib/tk9.0/demos/combo.tcl +62 -0
  1714. package/python/lib/tk9.0/demos/cscroll.tcl +134 -0
  1715. package/python/lib/tk9.0/demos/ctext.tcl +172 -0
  1716. package/python/lib/tk9.0/demos/dialog1.tcl +25 -0
  1717. package/python/lib/tk9.0/demos/dialog2.tcl +18 -0
  1718. package/python/lib/tk9.0/demos/en.msg +103 -0
  1719. package/python/lib/tk9.0/demos/entry1.tcl +34 -0
  1720. package/python/lib/tk9.0/demos/entry2.tcl +47 -0
  1721. package/python/lib/tk9.0/demos/entry3.tcl +185 -0
  1722. package/python/lib/tk9.0/demos/filebox.tcl +82 -0
  1723. package/python/lib/tk9.0/demos/floor.tcl +1379 -0
  1724. package/python/lib/tk9.0/demos/fontchoose.tcl +67 -0
  1725. package/python/lib/tk9.0/demos/form.tcl +38 -0
  1726. package/python/lib/tk9.0/demos/goldberg.tcl +1970 -0
  1727. package/python/lib/tk9.0/demos/hello +22 -0
  1728. package/python/lib/tk9.0/demos/hscale.tcl +49 -0
  1729. package/python/lib/tk9.0/demos/icon.tcl +51 -0
  1730. package/python/lib/tk9.0/demos/image1.tcl +44 -0
  1731. package/python/lib/tk9.0/demos/image2.tcl +114 -0
  1732. package/python/lib/tk9.0/demos/images/Tcl.svg +75 -0
  1733. package/python/lib/tk9.0/demos/images/Tk_feather.png +0 -0
  1734. package/python/lib/tk9.0/demos/images/earth.gif +0 -0
  1735. package/python/lib/tk9.0/demos/images/earthmenu.png +0 -0
  1736. package/python/lib/tk9.0/demos/images/earthris.gif +0 -0
  1737. package/python/lib/tk9.0/demos/images/flagdown.xbm +27 -0
  1738. package/python/lib/tk9.0/demos/images/flagup.xbm +27 -0
  1739. package/python/lib/tk9.0/demos/images/gray25.xbm +6 -0
  1740. package/python/lib/tk9.0/demos/images/letters.xbm +27 -0
  1741. package/python/lib/tk9.0/demos/images/noletter.xbm +27 -0
  1742. package/python/lib/tk9.0/demos/images/ouster.png +0 -0
  1743. package/python/lib/tk9.0/demos/images/pattern.xbm +6 -0
  1744. package/python/lib/tk9.0/demos/images/plowed_field.png +0 -0
  1745. package/python/lib/tk9.0/demos/images/starry_night.png +0 -0
  1746. package/python/lib/tk9.0/demos/images/tcllogo.gif +0 -0
  1747. package/python/lib/tk9.0/demos/images/teapot.ppm +31 -0
  1748. package/python/lib/tk9.0/demos/items.tcl +307 -0
  1749. package/python/lib/tk9.0/demos/ixset +328 -0
  1750. package/python/lib/tk9.0/demos/knightstour.tcl +274 -0
  1751. package/python/lib/tk9.0/demos/label.tcl +47 -0
  1752. package/python/lib/tk9.0/demos/labelframe.tcl +76 -0
  1753. package/python/lib/tk9.0/demos/license.terms +40 -0
  1754. package/python/lib/tk9.0/demos/mac_styles.tcl +266 -0
  1755. package/python/lib/tk9.0/demos/mac_tabs.tcl +76 -0
  1756. package/python/lib/tk9.0/demos/mac_wm.tcl +227 -0
  1757. package/python/lib/tk9.0/demos/mclist.tcl +170 -0
  1758. package/python/lib/tk9.0/demos/menu.tcl +184 -0
  1759. package/python/lib/tk9.0/demos/menubu.tcl +90 -0
  1760. package/python/lib/tk9.0/demos/msgbox.tcl +62 -0
  1761. package/python/lib/tk9.0/demos/nl.msg +132 -0
  1762. package/python/lib/tk9.0/demos/paned1.tcl +32 -0
  1763. package/python/lib/tk9.0/demos/paned2.tcl +74 -0
  1764. package/python/lib/tk9.0/demos/pendulum.tcl +206 -0
  1765. package/python/lib/tk9.0/demos/plot.tcl +97 -0
  1766. package/python/lib/tk9.0/demos/print.tcl +91 -0
  1767. package/python/lib/tk9.0/demos/puzzle.tcl +82 -0
  1768. package/python/lib/tk9.0/demos/radio.tcl +66 -0
  1769. package/python/lib/tk9.0/demos/rmt +210 -0
  1770. package/python/lib/tk9.0/demos/rolodex +204 -0
  1771. package/python/lib/tk9.0/demos/ruler.tcl +175 -0
  1772. package/python/lib/tk9.0/demos/sayings.tcl +44 -0
  1773. package/python/lib/tk9.0/demos/search.tcl +139 -0
  1774. package/python/lib/tk9.0/demos/spin.tcl +45 -0
  1775. package/python/lib/tk9.0/demos/states.tcl +54 -0
  1776. package/python/lib/tk9.0/demos/style.tcl +155 -0
  1777. package/python/lib/tk9.0/demos/systray.tcl +89 -0
  1778. package/python/lib/tk9.0/demos/tclIndex +70 -0
  1779. package/python/lib/tk9.0/demos/tcolor +358 -0
  1780. package/python/lib/tk9.0/demos/text.tcl +113 -0
  1781. package/python/lib/tk9.0/demos/textpeer.tcl +62 -0
  1782. package/python/lib/tk9.0/demos/timer +47 -0
  1783. package/python/lib/tk9.0/demos/toolbar.tcl +92 -0
  1784. package/python/lib/tk9.0/demos/tree.tcl +89 -0
  1785. package/python/lib/tk9.0/demos/ttkbut.tcl +84 -0
  1786. package/python/lib/tk9.0/demos/ttkmenu.tcl +53 -0
  1787. package/python/lib/tk9.0/demos/ttknote.tcl +57 -0
  1788. package/python/lib/tk9.0/demos/ttkpane.tcl +112 -0
  1789. package/python/lib/tk9.0/demos/ttkprogress.tcl +46 -0
  1790. package/python/lib/tk9.0/demos/ttkscale.tcl +39 -0
  1791. package/python/lib/tk9.0/demos/ttkspin.tcl +49 -0
  1792. package/python/lib/tk9.0/demos/twind.tcl +358 -0
  1793. package/python/lib/tk9.0/demos/unicodeout.tcl +126 -0
  1794. package/python/lib/tk9.0/demos/vscale.tcl +50 -0
  1795. package/python/lib/tk9.0/demos/widget +713 -0
  1796. package/python/lib/tk9.0/demos/windowicons.tcl +108 -0
  1797. package/python/lib/tk9.0/dialog.tcl +175 -0
  1798. package/python/lib/tk9.0/entry.tcl +720 -0
  1799. package/python/lib/tk9.0/focus.tcl +178 -0
  1800. package/python/lib/tk9.0/fontchooser.tcl +512 -0
  1801. package/python/lib/tk9.0/iconbadges.tcl +253 -0
  1802. package/python/lib/tk9.0/iconlist.tcl +705 -0
  1803. package/python/lib/tk9.0/icons.tcl +54 -0
  1804. package/python/lib/tk9.0/images/README +7 -0
  1805. package/python/lib/tk9.0/images/logo.eps +2091 -0
  1806. package/python/lib/tk9.0/images/logo100.gif +0 -0
  1807. package/python/lib/tk9.0/images/logo64.gif +0 -0
  1808. package/python/lib/tk9.0/images/logoLarge.gif +0 -0
  1809. package/python/lib/tk9.0/images/logoMed.gif +0 -0
  1810. package/python/lib/tk9.0/images/pwrdLogo.eps +1897 -0
  1811. package/python/lib/tk9.0/images/pwrdLogo100.gif +0 -0
  1812. package/python/lib/tk9.0/images/pwrdLogo150.gif +0 -0
  1813. package/python/lib/tk9.0/images/pwrdLogo175.gif +0 -0
  1814. package/python/lib/tk9.0/images/pwrdLogo200.gif +0 -0
  1815. package/python/lib/tk9.0/images/pwrdLogo75.gif +0 -0
  1816. package/python/lib/tk9.0/images/tai-ku.gif +0 -0
  1817. package/python/lib/tk9.0/listbox.tcl +522 -0
  1818. package/python/lib/tk9.0/megawidget.tcl +297 -0
  1819. package/python/lib/tk9.0/menu.tcl +1376 -0
  1820. package/python/lib/tk9.0/mkpsenc.tcl +1488 -0
  1821. package/python/lib/tk9.0/msgbox.tcl +454 -0
  1822. package/python/lib/tk9.0/msgs/cs.msg +95 -0
  1823. package/python/lib/tk9.0/msgs/da.msg +96 -0
  1824. package/python/lib/tk9.0/msgs/de.msg +109 -0
  1825. package/python/lib/tk9.0/msgs/el.msg +104 -0
  1826. package/python/lib/tk9.0/msgs/en.msg +110 -0
  1827. package/python/lib/tk9.0/msgs/en_gb.msg +3 -0
  1828. package/python/lib/tk9.0/msgs/eo.msg +93 -0
  1829. package/python/lib/tk9.0/msgs/es.msg +94 -0
  1830. package/python/lib/tk9.0/msgs/fi.msg +114 -0
  1831. package/python/lib/tk9.0/msgs/fr.msg +90 -0
  1832. package/python/lib/tk9.0/msgs/hu.msg +96 -0
  1833. package/python/lib/tk9.0/msgs/it.msg +91 -0
  1834. package/python/lib/tk9.0/msgs/nl.msg +109 -0
  1835. package/python/lib/tk9.0/msgs/pl.msg +109 -0
  1836. package/python/lib/tk9.0/msgs/pt.msg +92 -0
  1837. package/python/lib/tk9.0/msgs/ru.msg +112 -0
  1838. package/python/lib/tk9.0/msgs/sv.msg +94 -0
  1839. package/python/lib/tk9.0/msgs/zh_cn.msg +111 -0
  1840. package/python/lib/tk9.0/optMenu.tcl +43 -0
  1841. package/python/lib/tk9.0/palette.tcl +283 -0
  1842. package/python/lib/tk9.0/panedwindow.tcl +194 -0
  1843. package/python/lib/tk9.0/pkgIndex.tcl +3 -0
  1844. package/python/lib/tk9.0/print.tcl +1460 -0
  1845. package/python/lib/tk9.0/safetk.tcl +262 -0
  1846. package/python/lib/tk9.0/scale.tcl +299 -0
  1847. package/python/lib/tk9.0/scaling.tcl +232 -0
  1848. package/python/lib/tk9.0/scrlbar.tcl +500 -0
  1849. package/python/lib/tk9.0/spinbox.tcl +580 -0
  1850. package/python/lib/tk9.0/systray.tcl +483 -0
  1851. package/python/lib/tk9.0/tclIndex +252 -0
  1852. package/python/lib/tk9.0/tearoff.tcl +155 -0
  1853. package/python/lib/tk9.0/text.tcl +1295 -0
  1854. package/python/lib/tk9.0/tk.tcl +853 -0
  1855. package/python/lib/tk9.0/tkAppInit.c +200 -0
  1856. package/python/lib/tk9.0/tkfbox.tcl +1251 -0
  1857. package/python/lib/tk9.0/ttk/altTheme.tcl +153 -0
  1858. package/python/lib/tk9.0/ttk/aquaTheme.tcl +178 -0
  1859. package/python/lib/tk9.0/ttk/button.tcl +83 -0
  1860. package/python/lib/tk9.0/ttk/clamTheme.tcl +196 -0
  1861. package/python/lib/tk9.0/ttk/classicTheme.tcl +145 -0
  1862. package/python/lib/tk9.0/ttk/combobox.tcl +555 -0
  1863. package/python/lib/tk9.0/ttk/cursors.tcl +205 -0
  1864. package/python/lib/tk9.0/ttk/defaults.tcl +231 -0
  1865. package/python/lib/tk9.0/ttk/entry.tcl +678 -0
  1866. package/python/lib/tk9.0/ttk/fonts.tcl +152 -0
  1867. package/python/lib/tk9.0/ttk/menubutton.tcl +237 -0
  1868. package/python/lib/tk9.0/ttk/notebook.tcl +255 -0
  1869. package/python/lib/tk9.0/ttk/panedwindow.tcl +89 -0
  1870. package/python/lib/tk9.0/ttk/progress.tcl +55 -0
  1871. package/python/lib/tk9.0/ttk/scale.tcl +94 -0
  1872. package/python/lib/tk9.0/ttk/scrollbar.tcl +119 -0
  1873. package/python/lib/tk9.0/ttk/sizegrip.tcl +102 -0
  1874. package/python/lib/tk9.0/ttk/spinbox.tcl +204 -0
  1875. package/python/lib/tk9.0/ttk/treeview.tcl +464 -0
  1876. package/python/lib/tk9.0/ttk/ttk.tcl +223 -0
  1877. package/python/lib/tk9.0/ttk/utils.tcl +317 -0
  1878. package/python/lib/tk9.0/ttk/vistaTheme.tcl +259 -0
  1879. package/python/lib/tk9.0/ttk/winTheme.tcl +119 -0
  1880. package/python/lib/tk9.0/ttk/xpTheme.tcl +95 -0
  1881. package/python/lib/tk9.0/xmfbox.tcl +982 -0
  1882. package/python/share/man/man1/python3.13.1 +740 -0
  1883. package/runtime-manifest.json +7 -0
@@ -0,0 +1,2110 @@
1
+ #----------------------------------------------------------------------
2
+ #
3
+ # clock.tcl --
4
+ #
5
+ # This file implements the portions of the [clock] ensemble that are
6
+ # coded in Tcl. Refer to the users' manual to see the description of
7
+ # the [clock] command and its subcommands.
8
+ #
9
+ #
10
+ #----------------------------------------------------------------------
11
+ #
12
+ # Copyright © 2004-2007 Kevin B. Kenny
13
+ # Copyright © 2015 Sergey G. Brester aka sebres.
14
+ # See the file "license.terms" for information on usage and redistribution
15
+ # of this file, and for a DISCLAIMER OF ALL WARRANTIES.
16
+ #
17
+ #----------------------------------------------------------------------
18
+
19
+ # msgcat 1.7 features are used.
20
+
21
+ package require msgcat 1.7
22
+
23
+ # Put the library directory into the namespace for the ensemble so that the
24
+ # library code can find message catalogs and time zone definition files.
25
+
26
+ namespace eval ::tcl::clock \
27
+ [list variable LibDir [info library]]
28
+
29
+ #----------------------------------------------------------------------
30
+ #
31
+ # clock --
32
+ #
33
+ # Manipulate times.
34
+ #
35
+ # The 'clock' command manipulates time. Refer to the user documentation for
36
+ # the available subcommands and what they do.
37
+ #
38
+ #----------------------------------------------------------------------
39
+
40
+ namespace eval ::tcl::clock {
41
+
42
+ # Export the subcommands
43
+
44
+ namespace export format
45
+ namespace export clicks
46
+ namespace export microseconds
47
+ namespace export milliseconds
48
+ namespace export scan
49
+ namespace export seconds
50
+ namespace export add
51
+
52
+ # Import the message catalog commands that we use.
53
+
54
+ namespace import ::msgcat::mclocale
55
+ namespace import ::msgcat::mcpackagelocale
56
+
57
+ }
58
+
59
+ #----------------------------------------------------------------------
60
+ #
61
+ # ::tcl::clock::Initialize --
62
+ #
63
+ # Finish initializing the 'clock' subsystem
64
+ #
65
+ # Results:
66
+ # None.
67
+ #
68
+ # Side effects:
69
+ # Namespace variable in the 'clock' subsystem are initialized.
70
+ #
71
+ # The '::tcl::clock::Initialize' procedure initializes the namespace variables
72
+ # and root locale message catalog for the 'clock' subsystem. It is broken
73
+ # into a procedure rather than simply evaluated as a script so that it will be
74
+ # able to use local variables, avoiding the dangers of 'creative writing' as
75
+ # in Bug 1185933.
76
+ #
77
+ #----------------------------------------------------------------------
78
+
79
+ proc ::tcl::clock::Initialize {} {
80
+
81
+ rename ::tcl::clock::Initialize {}
82
+
83
+ variable LibDir
84
+
85
+ # Define the Greenwich time zone
86
+
87
+ proc InitTZData {} {
88
+ variable TZData
89
+ array unset TZData
90
+ set TZData(:Etc/GMT) {
91
+ {-9223372036854775808 0 0 GMT}
92
+ }
93
+ set TZData(:GMT) $TZData(:Etc/GMT)
94
+ set TZData(:Etc/UTC) {
95
+ {-9223372036854775808 0 0 UTC}
96
+ }
97
+ set TZData(:UTC) $TZData(:Etc/UTC)
98
+ set TZData(:localtime) {}
99
+ }
100
+ InitTZData
101
+
102
+ mcpackagelocale set {}
103
+ ::msgcat::mcpackageconfig set mcfolder [file join $LibDir msgs]
104
+ ::msgcat::mcpackageconfig set unknowncmd ""
105
+ ::msgcat::mcpackageconfig set changecmd ChangeCurrentLocale
106
+
107
+ # Define the message catalog for the root locale.
108
+
109
+ ::msgcat::mcmset {} {
110
+ AM {am}
111
+ BCE {B.C.E.}
112
+ CE {C.E.}
113
+ DATE_FORMAT {%m/%d/%Y}
114
+ DATE_TIME_FORMAT {%a %b %e %H:%M:%S %Y}
115
+ DAYS_OF_WEEK_ABBREV {
116
+ Sun Mon Tue Wed Thu Fri Sat
117
+ }
118
+ DAYS_OF_WEEK_FULL {
119
+ Sunday Monday Tuesday Wednesday Thursday Friday Saturday
120
+ }
121
+ GREGORIAN_CHANGE_DATE 2299161
122
+ LOCALE_DATE_FORMAT {%m/%d/%Y}
123
+ LOCALE_DATE_TIME_FORMAT {%a %b %e %H:%M:%S %Y}
124
+ LOCALE_ERAS {}
125
+ LOCALE_NUMERALS {
126
+ 00 01 02 03 04 05 06 07 08 09
127
+ 10 11 12 13 14 15 16 17 18 19
128
+ 20 21 22 23 24 25 26 27 28 29
129
+ 30 31 32 33 34 35 36 37 38 39
130
+ 40 41 42 43 44 45 46 47 48 49
131
+ 50 51 52 53 54 55 56 57 58 59
132
+ 60 61 62 63 64 65 66 67 68 69
133
+ 70 71 72 73 74 75 76 77 78 79
134
+ 80 81 82 83 84 85 86 87 88 89
135
+ 90 91 92 93 94 95 96 97 98 99
136
+ }
137
+ LOCALE_TIME_FORMAT {%H:%M:%S}
138
+ LOCALE_YEAR_FORMAT {%EC%Ey}
139
+ MONTHS_ABBREV {
140
+ Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec
141
+ }
142
+ MONTHS_FULL {
143
+ January February March
144
+ April May June
145
+ July August September
146
+ October November December
147
+ }
148
+ PM {pm}
149
+ TIME_FORMAT {%H:%M:%S}
150
+ TIME_FORMAT_12 {%I:%M:%S %P}
151
+ TIME_FORMAT_24 {%H:%M}
152
+ TIME_FORMAT_24_SECS {%H:%M:%S}
153
+ }
154
+
155
+ # Define a few Gregorian change dates for other locales. In most cases
156
+ # the change date follows a language, because a nation's colonies changed
157
+ # at the same time as the nation itself. In many cases, different
158
+ # national boundaries existed; the dominating rule is to follow the
159
+ # nation's capital.
160
+
161
+ # Italy, Spain, Portugal, Poland
162
+
163
+ ::msgcat::mcset it GREGORIAN_CHANGE_DATE 2299161
164
+ ::msgcat::mcset es GREGORIAN_CHANGE_DATE 2299161
165
+ ::msgcat::mcset pt GREGORIAN_CHANGE_DATE 2299161
166
+ ::msgcat::mcset pl GREGORIAN_CHANGE_DATE 2299161
167
+
168
+ # France, Austria
169
+
170
+ ::msgcat::mcset fr GREGORIAN_CHANGE_DATE 2299227
171
+
172
+ # For Belgium, we follow Southern Netherlands; Liege Diocese changed
173
+ # several weeks later.
174
+
175
+ ::msgcat::mcset fr_BE GREGORIAN_CHANGE_DATE 2299238
176
+ ::msgcat::mcset nl_BE GREGORIAN_CHANGE_DATE 2299238
177
+
178
+ # Austria
179
+
180
+ ::msgcat::mcset de_AT GREGORIAN_CHANGE_DATE 2299527
181
+
182
+ # Hungary
183
+
184
+ ::msgcat::mcset hu GREGORIAN_CHANGE_DATE 2301004
185
+
186
+ # Germany, Norway, Denmark (Catholic Germany changed earlier)
187
+
188
+ ::msgcat::mcset de_DE GREGORIAN_CHANGE_DATE 2342032
189
+ ::msgcat::mcset nb GREGORIAN_CHANGE_DATE 2342032
190
+ ::msgcat::mcset nn GREGORIAN_CHANGE_DATE 2342032
191
+ ::msgcat::mcset no GREGORIAN_CHANGE_DATE 2342032
192
+ ::msgcat::mcset da GREGORIAN_CHANGE_DATE 2342032
193
+
194
+ # Holland (Brabant, Gelderland, Flanders, Friesland, etc. changed at
195
+ # various times)
196
+
197
+ ::msgcat::mcset nl GREGORIAN_CHANGE_DATE 2342165
198
+
199
+ # Protestant Switzerland (Catholic cantons changed earlier)
200
+
201
+ ::msgcat::mcset fr_CH GREGORIAN_CHANGE_DATE 2361342
202
+ ::msgcat::mcset it_CH GREGORIAN_CHANGE_DATE 2361342
203
+ ::msgcat::mcset de_CH GREGORIAN_CHANGE_DATE 2361342
204
+
205
+ # English speaking countries
206
+
207
+ ::msgcat::mcset en GREGORIAN_CHANGE_DATE 2361222
208
+
209
+ # Sweden (had several changes onto and off of the Gregorian calendar)
210
+
211
+ ::msgcat::mcset sv GREGORIAN_CHANGE_DATE 2361390
212
+
213
+ # Russia
214
+
215
+ ::msgcat::mcset ru GREGORIAN_CHANGE_DATE 2421639
216
+
217
+ # Romania (Transylvania changed earlier - perhaps de_RO should show the
218
+ # earlier date?)
219
+
220
+ ::msgcat::mcset ro GREGORIAN_CHANGE_DATE 2422063
221
+
222
+ # Greece
223
+
224
+ ::msgcat::mcset el GREGORIAN_CHANGE_DATE 2423480
225
+
226
+ #------------------------------------------------------------------
227
+ #
228
+ # CONSTANTS
229
+ #
230
+ #------------------------------------------------------------------
231
+
232
+ # Paths at which binary time zone data for the Olson libraries are known
233
+ # to reside on various operating systems
234
+
235
+ variable ZoneinfoPaths {}
236
+ foreach path {
237
+ /usr/share/zoneinfo
238
+ /usr/share/lib/zoneinfo
239
+ /usr/lib/zoneinfo
240
+ /usr/local/etc/zoneinfo
241
+ } {
242
+ if { [file isdirectory $path] } {
243
+ lappend ZoneinfoPaths $path
244
+ }
245
+ }
246
+
247
+ # Define the directories for time zone data and message catalogs.
248
+
249
+ variable DataDir [file join $LibDir tzdata]
250
+
251
+ # Number of days in the months, in common years and leap years.
252
+
253
+ variable DaysInRomanMonthInCommonYear \
254
+ { 31 28 31 30 31 30 31 31 30 31 30 31 }
255
+ variable DaysInRomanMonthInLeapYear \
256
+ { 31 29 31 30 31 30 31 31 30 31 30 31 }
257
+ variable DaysInPriorMonthsInCommonYear [list 0]
258
+ variable DaysInPriorMonthsInLeapYear [list 0]
259
+ set i 0
260
+ foreach j $DaysInRomanMonthInCommonYear {
261
+ lappend DaysInPriorMonthsInCommonYear [incr i $j]
262
+ }
263
+ set i 0
264
+ foreach j $DaysInRomanMonthInLeapYear {
265
+ lappend DaysInPriorMonthsInLeapYear [incr i $j]
266
+ }
267
+
268
+ # Another epoch (Hi, Jeff!)
269
+
270
+ variable Roddenberry 1946
271
+
272
+ # Integer ranges
273
+
274
+ variable MINWIDE -9223372036854775808
275
+ variable MAXWIDE 9223372036854775807
276
+
277
+ # Day before Leap Day
278
+
279
+ variable FEB_28 58
280
+
281
+ # Default configuration
282
+
283
+ ::tcl::unsupported::clock::configure -current-locale [mclocale]
284
+ #::tcl::unsupported::clock::configure -default-locale C
285
+ #::tcl::unsupported::clock::configure -year-century 2000 \
286
+ # -century-switch 38
287
+
288
+ # Translation table to map Windows TZI onto cities, so that the Olson
289
+ # rules can apply. In some cases the mapping is ambiguous, so it's wise
290
+ # to specify $::env(TCL_TZ) rather than simply depending on the system
291
+ # time zone.
292
+
293
+ # The keys are long lists of values obtained from the time zone
294
+ # information in the Registry. In order, the list elements are:
295
+ # Bias StandardBias DaylightBias
296
+ # StandardDate.wYear StandardDate.wMonth StandardDate.wDayOfWeek
297
+ # StandardDate.wDay StandardDate.wHour StandardDate.wMinute
298
+ # StandardDate.wSecond StandardDate.wMilliseconds
299
+ # DaylightDate.wYear DaylightDate.wMonth DaylightDate.wDayOfWeek
300
+ # DaylightDate.wDay DaylightDate.wHour DaylightDate.wMinute
301
+ # DaylightDate.wSecond DaylightDate.wMilliseconds
302
+ # The values are the names of time zones where those rules apply. There
303
+ # is considerable ambiguity in certain zones; an attempt has been made to
304
+ # make a reasonable guess, but this table needs to be taken with a grain
305
+ # of salt.
306
+
307
+ variable WinZoneInfo [dict create {*}{
308
+ {-43200 0 3600 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0} :Pacific/Kwajalein
309
+ {-39600 0 3600 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0} :Pacific/Midway
310
+ {-36000 0 3600 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0} :Pacific/Honolulu
311
+ {-32400 0 3600 0 11 0 1 2 0 0 0 0 3 0 2 2 0 0 0} :America/Anchorage
312
+ {-28800 0 3600 0 11 0 1 2 0 0 0 0 3 0 2 2 0 0 0} :America/Los_Angeles
313
+ {-28800 0 3600 0 10 0 5 2 0 0 0 0 4 0 1 2 0 0 0} :America/Tijuana
314
+ {-25200 0 3600 0 11 0 1 2 0 0 0 0 3 0 2 2 0 0 0} :America/Denver
315
+ {-25200 0 3600 0 10 0 5 2 0 0 0 0 4 0 1 2 0 0 0} :America/Chihuahua
316
+ {-25200 0 3600 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0} :America/Phoenix
317
+ {-21600 0 3600 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0} :America/Regina
318
+ {-21600 0 3600 0 11 0 1 2 0 0 0 0 3 0 2 2 0 0 0} :America/Chicago
319
+ {-21600 0 3600 0 10 0 5 2 0 0 0 0 4 0 1 2 0 0 0} :America/Mexico_City
320
+ {-18000 0 3600 0 11 0 1 2 0 0 0 0 3 0 2 2 0 0 0} :America/New_York
321
+ {-18000 0 3600 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0} :America/Indianapolis
322
+ {-14400 0 3600 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0} :America/Caracas
323
+ {-14400 0 3600 0 3 6 2 23 59 59 999 0 10 6 2 23 59 59 999}
324
+ :America/Santiago
325
+ {-14400 0 3600 0 2 0 5 2 0 0 0 0 11 0 1 2 0 0 0} :America/Manaus
326
+ {-14400 0 3600 0 11 0 1 2 0 0 0 0 3 0 2 2 0 0 0} :America/Halifax
327
+ {-12600 0 3600 0 10 0 5 2 0 0 0 0 4 0 1 2 0 0 0} :America/St_Johns
328
+ {-10800 0 3600 0 2 0 2 2 0 0 0 0 10 0 3 2 0 0 0} :America/Sao_Paulo
329
+ {-10800 0 3600 0 10 0 5 2 0 0 0 0 4 0 1 2 0 0 0} :America/Godthab
330
+ {-10800 0 3600 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0} :America/Buenos_Aires
331
+ {-10800 0 3600 0 2 0 5 2 0 0 0 0 11 0 1 2 0 0 0} :America/Bahia
332
+ {-10800 0 3600 0 3 0 2 2 0 0 0 0 10 0 1 2 0 0 0} :America/Montevideo
333
+ {-7200 0 3600 0 9 0 5 2 0 0 0 0 3 0 5 2 0 0 0} :America/Noronha
334
+ {-3600 0 3600 0 10 0 5 3 0 0 0 0 3 0 5 2 0 0 0} :Atlantic/Azores
335
+ {-3600 0 3600 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0} :Atlantic/Cape_Verde
336
+ {0 0 3600 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0} :UTC
337
+ {0 0 3600 0 10 0 5 2 0 0 0 0 3 0 5 1 0 0 0} :Europe/London
338
+ {3600 0 3600 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0} :Africa/Kinshasa
339
+ {3600 0 3600 0 10 0 5 3 0 0 0 0 3 0 5 2 0 0 0} :CET
340
+ {7200 0 3600 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0} :Africa/Harare
341
+ {7200 0 3600 0 9 4 5 23 59 59 0 0 4 4 5 23 59 59 0}
342
+ :Africa/Cairo
343
+ {7200 0 3600 0 10 0 5 4 0 0 0 0 3 0 5 3 0 0 0} :Europe/Helsinki
344
+ {7200 0 3600 0 9 0 3 2 0 0 0 0 3 5 5 2 0 0 0} :Asia/Jerusalem
345
+ {7200 0 3600 0 9 0 5 1 0 0 0 0 3 0 5 0 0 0 0} :Europe/Bucharest
346
+ {7200 0 3600 0 10 0 5 3 0 0 0 0 3 0 5 2 0 0 0} :Europe/Athens
347
+ {7200 0 3600 0 9 5 5 1 0 0 0 0 3 4 5 0 0 0 0} :Asia/Amman
348
+ {7200 0 3600 0 10 6 5 23 59 59 999 0 3 0 5 0 0 0 0}
349
+ :Asia/Beirut
350
+ {7200 0 -3600 0 4 0 1 2 0 0 0 0 9 0 1 2 0 0 0} :Africa/Windhoek
351
+ {10800 0 3600 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0} :Asia/Riyadh
352
+ {10800 0 3600 0 10 0 1 4 0 0 0 0 4 0 1 3 0 0 0} :Asia/Baghdad
353
+ {10800 0 3600 0 10 0 5 3 0 0 0 0 3 0 5 2 0 0 0} :Europe/Moscow
354
+ {12600 0 3600 0 9 2 4 2 0 0 0 0 3 0 1 2 0 0 0} :Asia/Tehran
355
+ {14400 0 3600 0 10 0 5 5 0 0 0 0 3 0 5 4 0 0 0} :Asia/Baku
356
+ {14400 0 3600 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0} :Asia/Muscat
357
+ {14400 0 3600 0 10 0 5 3 0 0 0 0 3 0 5 2 0 0 0} :Asia/Tbilisi
358
+ {16200 0 3600 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0} :Asia/Kabul
359
+ {18000 0 3600 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0} :Asia/Karachi
360
+ {18000 0 3600 0 10 0 5 3 0 0 0 0 3 0 5 2 0 0 0} :Asia/Yekaterinburg
361
+ {19800 0 3600 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0} :Asia/Calcutta
362
+ {20700 0 3600 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0} :Asia/Katmandu
363
+ {21600 0 3600 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0} :Asia/Dhaka
364
+ {21600 0 3600 0 10 0 5 3 0 0 0 0 3 0 5 2 0 0 0} :Asia/Novosibirsk
365
+ {23400 0 3600 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0} :Asia/Rangoon
366
+ {25200 0 3600 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0} :Asia/Bangkok
367
+ {25200 0 3600 0 10 0 5 3 0 0 0 0 3 0 5 2 0 0 0} :Asia/Krasnoyarsk
368
+ {28800 0 3600 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0} :Asia/Chongqing
369
+ {28800 0 3600 0 10 0 5 3 0 0 0 0 3 0 5 2 0 0 0} :Asia/Irkutsk
370
+ {32400 0 3600 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0} :Asia/Tokyo
371
+ {32400 0 3600 0 10 0 5 3 0 0 0 0 3 0 5 2 0 0 0} :Asia/Yakutsk
372
+ {34200 0 3600 0 3 0 5 3 0 0 0 0 10 0 5 2 0 0 0} :Australia/Adelaide
373
+ {34200 0 3600 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0} :Australia/Darwin
374
+ {36000 0 3600 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0} :Australia/Brisbane
375
+ {36000 0 3600 0 10 0 5 3 0 0 0 0 3 0 5 2 0 0 0} :Asia/Vladivostok
376
+ {36000 0 3600 0 3 0 5 3 0 0 0 0 10 0 1 2 0 0 0} :Australia/Hobart
377
+ {36000 0 3600 0 3 0 5 3 0 0 0 0 10 0 5 2 0 0 0} :Australia/Sydney
378
+ {39600 0 3600 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0} :Pacific/Noumea
379
+ {43200 0 3600 0 3 0 3 3 0 0 0 0 10 0 1 2 0 0 0} :Pacific/Auckland
380
+ {43200 0 3600 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0} :Pacific/Fiji
381
+ {46800 0 3600 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0} :Pacific/Tongatapu
382
+ }]
383
+
384
+ # Legacy time zones, used primarily for parsing RFC822 dates.
385
+
386
+ variable LegacyTimeZone [dict create \
387
+ gmt +0000 \
388
+ ut +0000 \
389
+ utc +0000 \
390
+ bst +0100 \
391
+ wet +0000 \
392
+ wat -0100 \
393
+ at -0200 \
394
+ nft -0330 \
395
+ nst -0330 \
396
+ ndt -0230 \
397
+ ast -0400 \
398
+ adt -0300 \
399
+ est -0500 \
400
+ edt -0400 \
401
+ cst -0600 \
402
+ cdt -0500 \
403
+ mst -0700 \
404
+ mdt -0600 \
405
+ pst -0800 \
406
+ pdt -0700 \
407
+ yst -0900 \
408
+ ydt -0800 \
409
+ akst -0900 \
410
+ akdt -0800 \
411
+ hst -1000 \
412
+ hdt -0900 \
413
+ cat -1000 \
414
+ ahst -1000 \
415
+ nt -1100 \
416
+ idlw -1200 \
417
+ cet +0100 \
418
+ cest +0200 \
419
+ met +0100 \
420
+ mewt +0100 \
421
+ mest +0200 \
422
+ swt +0100 \
423
+ sst +0200 \
424
+ fwt +0100 \
425
+ fst +0200 \
426
+ eet +0200 \
427
+ eest +0300 \
428
+ bt +0300 \
429
+ it +0330 \
430
+ zp4 +0400 \
431
+ zp5 +0500 \
432
+ ist +0530 \
433
+ zp6 +0600 \
434
+ wast +0700 \
435
+ wadt +0800 \
436
+ jt +0730 \
437
+ cct +0800 \
438
+ jst +0900 \
439
+ kst +0900 \
440
+ cast +0930 \
441
+ jdt +1000 \
442
+ kdt +1000 \
443
+ cadt +1030 \
444
+ east +1000 \
445
+ eadt +1030 \
446
+ gst +1000 \
447
+ nzt +1200 \
448
+ nzst +1200 \
449
+ nzdt +1300 \
450
+ idle +1200 \
451
+ a +0100 \
452
+ b +0200 \
453
+ c +0300 \
454
+ d +0400 \
455
+ e +0500 \
456
+ f +0600 \
457
+ g +0700 \
458
+ h +0800 \
459
+ i +0900 \
460
+ k +1000 \
461
+ l +1100 \
462
+ m +1200 \
463
+ n -0100 \
464
+ o -0200 \
465
+ p -0300 \
466
+ q -0400 \
467
+ r -0500 \
468
+ s -0600 \
469
+ t -0700 \
470
+ u -0800 \
471
+ v -0900 \
472
+ w -1000 \
473
+ x -1100 \
474
+ y -1200 \
475
+ z +0000 \
476
+ ]
477
+
478
+ # Caches
479
+
480
+ variable LocFmtMap [dict create]; # Dictionary with localized format maps
481
+
482
+ variable TimeZoneBad [dict create]; # Dictionary whose keys are time zone
483
+ # names and whose values are 1 if
484
+ # the time zone is unknown and 0
485
+ # if it is known.
486
+ variable TZData; # Array whose keys are time zone names
487
+ # and whose values are lists of quads
488
+ # comprising start time, UTC offset,
489
+ # Daylight Saving Time indicator, and
490
+ # time zone abbreviation.
491
+
492
+ variable mcLocales [dict create]; # Dictionary with loaded locales
493
+ variable mcMergedCat [dict create]; # Dictionary with merged locale catalogs
494
+ }
495
+ ::tcl::clock::Initialize
496
+
497
+ #----------------------------------------------------------------------
498
+
499
+ # mcget --
500
+ #
501
+ # Return the merged translation catalog for the ::tcl::clock namespace
502
+ # Searching of catalog is similar to "msgcat::mc".
503
+ #
504
+ # Contrary to "msgcat::mc" may additionally load a package catalog
505
+ # on demand.
506
+ #
507
+ # Arguments:
508
+ # loc The locale used for translation.
509
+ #
510
+ # Results:
511
+ # Returns the dictionary object as whole catalog of the package/locale.
512
+ #
513
+ proc ::tcl::clock::mcget {loc} {
514
+ variable mcMergedCat
515
+ switch -- $loc system {
516
+ set loc [GetSystemLocale]
517
+ } current {
518
+ set loc [mclocale]
519
+ }
520
+ if {$loc ne {}} {
521
+ set loc [string tolower $loc]
522
+ }
523
+
524
+ # try to retrieve now if already available:
525
+ if {[dict exists $mcMergedCat $loc]} {
526
+ return [dict get $mcMergedCat $loc]
527
+ }
528
+
529
+ # get locales list for given locale (de_de -> {de_de de {}})
530
+ variable mcLocales
531
+ if {[dict exists $mcLocales $loc]} {
532
+ set loclist [dict get $mcLocales $loc]
533
+ } else {
534
+ # save current locale:
535
+ set prevloc [mclocale]
536
+ # lazy load catalog on demand (set it will load the catalog)
537
+ mcpackagelocale set $loc
538
+ set loclist [msgcat::mcutil::getpreferences $loc]
539
+ dict set $mcLocales $loc $loclist
540
+ # restore:
541
+ if {$prevloc ne $loc} {
542
+ mcpackagelocale set $prevloc
543
+ }
544
+ }
545
+ # get whole catalog:
546
+ mcMerge $loclist
547
+ }
548
+
549
+ # mcMerge --
550
+ #
551
+ # Merge message catalog dictionaries to one dictionary.
552
+ #
553
+ # Arguments:
554
+ # locales List of locales to merge.
555
+ #
556
+ # Results:
557
+ # Returns the (weak pointer) to merged dictionary of message catalog.
558
+ #
559
+ proc ::tcl::clock::mcMerge {locales} {
560
+ variable mcMergedCat
561
+ if {[dict exists $mcMergedCat [set loc [lindex $locales 0]]]} {
562
+ return [dict get $mcMergedCat $loc]
563
+ }
564
+ # package msgcat currently does not provide possibility to get whole catalog:
565
+ upvar ::msgcat::Msgs Msgs
566
+ set ns ::tcl::clock
567
+ # Merge sequential locales (in reverse order, e. g. {} -> en -> en_en):
568
+ if {[llength $locales] > 1} {
569
+ set mrgcat [mcMerge [lrange $locales 1 end]]
570
+ if {[dict exists $Msgs $ns $loc]} {
571
+ set mrgcat [dict merge $mrgcat [dict get $Msgs $ns $loc]]
572
+ dict set mrgcat L $loc
573
+ # remove any previously localized formats (merged from parent
574
+ # locale and possibly cached in parent-mc by ClockLocalizeFormat),
575
+ # because they may depend on values which may vary in derivate:
576
+ foreach k [dict keys $mrgcat] {
577
+ if {[string match FMT_* $k]} { dict unset mrgcat $k }
578
+ }
579
+ } else {
580
+ # be sure a duplicate is created, don't overwrite {} (common) locale:
581
+ set mrgcat [dict merge $mrgcat [dict create L $loc]]
582
+ }
583
+ } else {
584
+ if {[dict exists $Msgs $ns $loc]} {
585
+ set mrgcat [dict get $Msgs $ns $loc]
586
+ dict set mrgcat L $loc
587
+ } else {
588
+ # be sure a duplicate is created, don't overwrite {} (common) locale:
589
+ set mrgcat [dict create L $loc]
590
+ }
591
+ }
592
+ dict set mcMergedCat $loc $mrgcat
593
+ # return smart reference (shared dict as object with exact one ref-counter)
594
+ return $mrgcat
595
+ }
596
+
597
+ #----------------------------------------------------------------------
598
+ #
599
+ # GetSystemLocale --
600
+ #
601
+ # Determines the system locale, which corresponds to "system"
602
+ # keyword for locale parameter of 'clock' command.
603
+ #
604
+ # Parameters:
605
+ # None.
606
+ #
607
+ # Results:
608
+ # Returns the system locale.
609
+ #
610
+ # Side effects:
611
+ # None.
612
+ #
613
+ #----------------------------------------------------------------------
614
+
615
+ proc ::tcl::clock::GetSystemLocale {} {
616
+ if { $::tcl_platform(platform) ne {windows} } {
617
+ # On a non-windows platform, the 'system' locale is the same as
618
+ # the 'current' locale
619
+
620
+ return [mclocale]
621
+ }
622
+
623
+ # On a windows platform, the 'system' locale is adapted from the
624
+ # 'current' locale by applying the date and time formats from the
625
+ # Control Panel. First, load the 'current' locale if it's not yet
626
+ # loaded
627
+
628
+ mcpackagelocale set [mclocale]
629
+
630
+ # Make a new locale string for the system locale, and get the
631
+ # Control Panel information
632
+
633
+ set locale [mclocale]_windows
634
+ if { ! [mcpackagelocale present $locale] } {
635
+ LoadWindowsDateTimeFormats $locale
636
+ }
637
+
638
+ return $locale
639
+ }
640
+
641
+ #----------------------------------------------------------------------
642
+ #
643
+ # EnterLocale --
644
+ #
645
+ # Switch [mclocale] to a given locale if necessary
646
+ #
647
+ # Parameters:
648
+ # locale -- Desired locale
649
+ #
650
+ # Results:
651
+ # Returns the locale that was previously current.
652
+ #
653
+ # Side effects:
654
+ # Does [mclocale]. If necessary, loades the designated locale's files.
655
+ #
656
+ #----------------------------------------------------------------------
657
+
658
+ proc ::tcl::clock::EnterLocale { locale } {
659
+ switch -- $locale system {
660
+ set locale [GetSystemLocale]
661
+ } current {
662
+ set locale [mclocale]
663
+ }
664
+ # Select the locale, eventually load it
665
+ mcpackagelocale set $locale
666
+ return $locale
667
+ }
668
+
669
+ #----------------------------------------------------------------------
670
+ #
671
+ # _registryExists --
672
+ # _hasRegistry --
673
+ #
674
+ # Helpers that checks whether registry module is available (Windows only)
675
+ # and loads it on demand.
676
+ #
677
+ # Side effects:
678
+ # _hasRegistry does it only once, and hereafter simply returns 1 or 0.
679
+ #
680
+ #----------------------------------------------------------------------
681
+ proc ::tcl::clock::_registryExists {} {
682
+ if { $::tcl_platform(platform) eq {windows} } {
683
+ if { [catch { package require registry 1.3 }] } {
684
+ # try to load registry directly from root (if uninstalled / development env):
685
+ if {[regexp {[/\\]library$} [info library]]} {catch {
686
+ load [lindex \
687
+ [glob -tails -directory [file dirname [info nameofexecutable]] \
688
+ tcl9registry*[expr {[::tcl::pkgconfig get debug] ? {g} : {}}].dll] 0 \
689
+ ] Registry
690
+ }}
691
+ }
692
+ if { [namespace which -command ::registry] ne "" } {
693
+ return 1
694
+ }
695
+ }
696
+ return 0
697
+ }
698
+ proc ::tcl::clock::_hasRegistry {} {
699
+ set res [_registryExists]
700
+ proc ::tcl::clock::_hasRegistry {} [list return $res]
701
+ return $res
702
+ }
703
+
704
+ #----------------------------------------------------------------------
705
+ #
706
+ # LoadWindowsDateTimeFormats --
707
+ #
708
+ # Load the date/time formats from the Control Panel in Windows and
709
+ # convert them so that they're usable by Tcl.
710
+ #
711
+ # Parameters:
712
+ # locale - Name of the locale in whose message catalog
713
+ # the converted formats are to be stored.
714
+ #
715
+ # Results:
716
+ # None.
717
+ #
718
+ # Side effects:
719
+ # Updates the given message catalog with the locale strings.
720
+ #
721
+ # Presumes that on entry, [mclocale] is set to the current locale, so that
722
+ # default strings can be obtained if the Registry query fails.
723
+ #
724
+ #----------------------------------------------------------------------
725
+
726
+ proc ::tcl::clock::LoadWindowsDateTimeFormats { locale } {
727
+ # Bail out if we can't find the Registry
728
+
729
+ if { ![_hasRegistry] } return
730
+
731
+ if { ![catch {
732
+ registry get "HKEY_CURRENT_USER\\Control Panel\\International" \
733
+ sShortDate
734
+ } string] } {
735
+ set quote {}
736
+ set datefmt {}
737
+ foreach { unquoted quoted } [split $string '] {
738
+ append datefmt $quote [string map {
739
+ dddd %A
740
+ ddd %a
741
+ dd %d
742
+ d %e
743
+ MMMM %B
744
+ MMM %b
745
+ MM %m
746
+ M %N
747
+ yyyy %Y
748
+ yy %y
749
+ y %y
750
+ gg {}
751
+ } $unquoted]
752
+ if { $quoted eq {} } {
753
+ set quote '
754
+ } else {
755
+ set quote $quoted
756
+ }
757
+ }
758
+ ::msgcat::mcset $locale DATE_FORMAT $datefmt
759
+ }
760
+
761
+ if { ![catch {
762
+ registry get "HKEY_CURRENT_USER\\Control Panel\\International" \
763
+ sLongDate
764
+ } string] } {
765
+ set quote {}
766
+ set ldatefmt {}
767
+ foreach { unquoted quoted } [split $string '] {
768
+ append ldatefmt $quote [string map {
769
+ dddd %A
770
+ ddd %a
771
+ dd %d
772
+ d %e
773
+ MMMM %B
774
+ MMM %b
775
+ MM %m
776
+ M %N
777
+ yyyy %Y
778
+ yy %y
779
+ y %y
780
+ gg {}
781
+ } $unquoted]
782
+ if { $quoted eq {} } {
783
+ set quote '
784
+ } else {
785
+ set quote $quoted
786
+ }
787
+ }
788
+ ::msgcat::mcset $locale LOCALE_DATE_FORMAT $ldatefmt
789
+ }
790
+
791
+ if { ![catch {
792
+ registry get "HKEY_CURRENT_USER\\Control Panel\\International" \
793
+ sTimeFormat
794
+ } string] } {
795
+ set quote {}
796
+ set timefmt {}
797
+ foreach { unquoted quoted } [split $string '] {
798
+ append timefmt $quote [string map {
799
+ HH %H
800
+ H %k
801
+ hh %I
802
+ h %l
803
+ mm %M
804
+ m %M
805
+ ss %S
806
+ s %S
807
+ tt %p
808
+ t %p
809
+ } $unquoted]
810
+ if { $quoted eq {} } {
811
+ set quote '
812
+ } else {
813
+ set quote $quoted
814
+ }
815
+ }
816
+ ::msgcat::mcset $locale TIME_FORMAT $timefmt
817
+ }
818
+
819
+ catch {
820
+ ::msgcat::mcset $locale DATE_TIME_FORMAT "$datefmt $timefmt"
821
+ }
822
+ catch {
823
+ ::msgcat::mcset $locale LOCALE_DATE_TIME_FORMAT "$ldatefmt $timefmt"
824
+ }
825
+
826
+ return
827
+
828
+ }
829
+
830
+ #----------------------------------------------------------------------
831
+ #
832
+ # LocalizeFormat --
833
+ #
834
+ # Map away locale-dependent format groups in a clock format.
835
+ #
836
+ # Parameters:
837
+ # locale -- Current [mclocale] locale, supplied to avoid
838
+ # an extra call
839
+ # format -- Format supplied to [clock scan] or [clock format]
840
+ # mcd -- Message catalog dictionary for current locale (read-only,
841
+ # don't store it to avoid shared references).
842
+ #
843
+ # Results:
844
+ # Returns the string with locale-dependent composite format groups
845
+ # substituted out.
846
+ #
847
+ # Side effects:
848
+ # None.
849
+ #
850
+ #----------------------------------------------------------------------
851
+
852
+ proc ::tcl::clock::LocalizeFormat { locale format mcd } {
853
+ variable LocFmtMap
854
+
855
+ # get map list cached or build it:
856
+ if {[dict exists $LocFmtMap $locale]} {
857
+ set mlst [dict get $LocFmtMap $locale]
858
+ } else {
859
+ # Handle locale-dependent format groups by mapping them out of the format
860
+ # string. Note that the order of the [string map] operations is
861
+ # significant because later formats can refer to later ones; for example
862
+ # %c can refer to %X, which in turn can refer to %T.
863
+
864
+ set mlst {
865
+ %% %%
866
+ %D %m/%d/%Y
867
+ %+ {%a %b %e %H:%M:%S %Z %Y}
868
+ }
869
+ lappend mlst %EY [string map $mlst [dict get $mcd LOCALE_YEAR_FORMAT]]
870
+ lappend mlst %T [string map $mlst [dict get $mcd TIME_FORMAT_24_SECS]]
871
+ lappend mlst %R [string map $mlst [dict get $mcd TIME_FORMAT_24]]
872
+ lappend mlst %r [string map $mlst [dict get $mcd TIME_FORMAT_12]]
873
+ lappend mlst %X [string map $mlst [dict get $mcd TIME_FORMAT]]
874
+ lappend mlst %EX [string map $mlst [dict get $mcd LOCALE_TIME_FORMAT]]
875
+ lappend mlst %x [string map $mlst [dict get $mcd DATE_FORMAT]]
876
+ lappend mlst %Ex [string map $mlst [dict get $mcd LOCALE_DATE_FORMAT]]
877
+ lappend mlst %c [string map $mlst [dict get $mcd DATE_TIME_FORMAT]]
878
+ lappend mlst %Ec [string map $mlst [dict get $mcd LOCALE_DATE_TIME_FORMAT]]
879
+
880
+ dict set LocFmtMap $locale $mlst
881
+ }
882
+
883
+ # translate copy of format (don't use format object here, because otherwise
884
+ # it can lose its internal representation (string map - convert to unicode)
885
+ set locfmt [string map $mlst [string range " $format" 1 end]]
886
+
887
+ # Save original format as long as possible, because of internal
888
+ # representation (performance).
889
+ # Note that in this case such format will be never localized (also
890
+ # using another locales). To prevent this return a duplicate (but
891
+ # it may be slower).
892
+ if {$locfmt eq $format} {
893
+ set locfmt $format
894
+ }
895
+
896
+ return $locfmt
897
+ }
898
+
899
+ #----------------------------------------------------------------------
900
+ #
901
+ # GetSystemTimeZone --
902
+ #
903
+ # Determines the system time zone, which is the default for the
904
+ # 'clock' command if no other zone is supplied.
905
+ #
906
+ # Parameters:
907
+ # None.
908
+ #
909
+ # Results:
910
+ # Returns the system time zone.
911
+ #
912
+ # Side effects:
913
+ # Stores the system time zone in engine configuration, since
914
+ # determining it may be an expensive process.
915
+ #
916
+ #----------------------------------------------------------------------
917
+
918
+ proc ::tcl::clock::GetSystemTimeZone {} {
919
+ variable TimeZoneBad
920
+
921
+ if {[set result [getenv TCL_TZ]] ne {}} {
922
+ set timezone $result
923
+ } elseif {[set result [getenv TZ]] ne {}} {
924
+ set timezone $result
925
+ } else {
926
+ # ask engine for the cached timezone:
927
+ set timezone [::tcl::unsupported::clock::configure -system-tz]
928
+ if { $timezone ne "" } {
929
+ return $timezone
930
+ }
931
+ if { $::tcl_platform(platform) eq {windows} } {
932
+ set timezone [GuessWindowsTimeZone]
933
+ } elseif { [file exists /etc/localtime]
934
+ && ![catch {ReadZoneinfoFile \
935
+ Tcl/Localtime /etc/localtime}] } {
936
+ set timezone :Tcl/Localtime
937
+ } else {
938
+ set timezone :localtime
939
+ }
940
+ }
941
+ if { ![dict exists $TimeZoneBad $timezone] } {
942
+ catch {set timezone [SetupTimeZone $timezone]}
943
+ }
944
+
945
+ if { [dict exists $TimeZoneBad $timezone] } {
946
+ set timezone :localtime
947
+ }
948
+
949
+ # tell backend - current system timezone:
950
+ ::tcl::unsupported::clock::configure -system-tz $timezone
951
+
952
+ return $timezone
953
+ }
954
+
955
+ #----------------------------------------------------------------------
956
+ #
957
+ # SetupTimeZone --
958
+ #
959
+ # Given the name or specification of a time zone, sets up its in-memory
960
+ # data.
961
+ #
962
+ # Parameters:
963
+ # tzname - Name of a time zone
964
+ #
965
+ # Results:
966
+ # Unless the time zone is ':localtime', sets the TZData array to contain
967
+ # the lookup table for local<->UTC conversion. Returns an error if the
968
+ # time zone cannot be parsed.
969
+ #
970
+ #----------------------------------------------------------------------
971
+
972
+ proc ::tcl::clock::SetupTimeZone { timezone {alias {}} } {
973
+ variable TZData
974
+
975
+ if {! [info exists TZData($timezone)] } {
976
+
977
+ variable TimeZoneBad
978
+ if { [dict exists $TimeZoneBad $timezone] } {
979
+ return -code error \
980
+ -errorcode [list CLOCK badTimeZone $timezone] \
981
+ "time zone \"$timezone\" not found"
982
+ }
983
+ variable MINWIDE
984
+ if {
985
+ [regexp {^([-+])(\d\d)(?::?(\d\d)(?::?(\d\d))?)?} $timezone \
986
+ -> s hh mm ss]
987
+ } then {
988
+ # Make a fixed offset
989
+
990
+ ::scan $hh %d hh
991
+ if { $mm eq {} } {
992
+ set mm 0
993
+ } else {
994
+ ::scan $mm %d mm
995
+ }
996
+ if { $ss eq {} } {
997
+ set ss 0
998
+ } else {
999
+ ::scan $ss %d ss
1000
+ }
1001
+ set offset [expr { ( $hh * 60 + $mm ) * 60 + $ss }]
1002
+ if { $s eq {-} } {
1003
+ set offset [expr { - $offset }]
1004
+ }
1005
+ set TZData($timezone) [list [list $MINWIDE $offset -1 $timezone]]
1006
+
1007
+ } elseif { [string index $timezone 0] eq {:} } {
1008
+ # Convert using a time zone file
1009
+
1010
+ if {
1011
+ [catch {
1012
+ LoadTimeZoneFile [string range $timezone 1 end]
1013
+ }] && [catch {
1014
+ LoadZoneinfoFile [string range $timezone 1 end]
1015
+ } ret opts]
1016
+ } then {
1017
+ dict unset opts -errorinfo
1018
+ if {[lindex [dict get $opts -errorcode] 0] ne "CLOCK"} {
1019
+ dict set opts -errorcode [list CLOCK badTimeZone $timezone]
1020
+ set ret "time zone \"$timezone\" not found: $ret"
1021
+ }
1022
+ dict set TimeZoneBad $timezone 1
1023
+ return -options $opts $ret
1024
+ }
1025
+ } elseif { ![catch {ParsePosixTimeZone $timezone} tzfields] } {
1026
+ # This looks like a POSIX time zone - try to process it
1027
+
1028
+ if { [catch {ProcessPosixTimeZone $tzfields} ret opts] } {
1029
+ dict unset opts -errorinfo
1030
+ if {[lindex [dict get $opts -errorcode] 0] ne "CLOCK"} {
1031
+ dict set opts -errorcode [list CLOCK badTimeZone $timezone]
1032
+ set ret "time zone \"$timezone\" not found: $ret"
1033
+ }
1034
+ dict set TimeZoneBad $timezone 1
1035
+ return -options $opts $ret
1036
+ } else {
1037
+ set TZData($timezone) $ret
1038
+ }
1039
+
1040
+ } else {
1041
+
1042
+ variable LegacyTimeZone
1043
+
1044
+ # We couldn't parse this as a POSIX time zone. Try again with a
1045
+ # time zone file - this time without a colon
1046
+
1047
+ if { [catch { LoadTimeZoneFile $timezone }]
1048
+ && [catch { LoadZoneinfoFile $timezone } ret opts] } {
1049
+
1050
+ # Check may be a legacy zone:
1051
+
1052
+ if { $alias eq {} && ![catch {
1053
+ set tzname [dict get $LegacyTimeZone [string tolower $timezone]]
1054
+ }] } {
1055
+ set tzname [::tcl::clock::SetupTimeZone $tzname $timezone]
1056
+ set TZData($timezone) $TZData($tzname)
1057
+ # tell backend - timezone is initialized and return shared timezone object:
1058
+ return [::tcl::unsupported::clock::configure -setup-tz $timezone]
1059
+ }
1060
+
1061
+ dict unset opts -errorinfo
1062
+ if {[lindex [dict get $opts -errorcode] 0] ne "CLOCK"} {
1063
+ dict set opts -errorcode [list CLOCK badTimeZone $timezone]
1064
+ set ret "time zone \"$timezone\" not found: $ret"
1065
+ }
1066
+ dict set TimeZoneBad $timezone 1
1067
+ return -options $opts $ret
1068
+ }
1069
+ set TZData($timezone) $TZData(:$timezone)
1070
+ }
1071
+ }
1072
+
1073
+ # tell backend - timezone is initialized and return shared timezone object:
1074
+ ::tcl::unsupported::clock::configure -setup-tz $timezone
1075
+ }
1076
+
1077
+ #----------------------------------------------------------------------
1078
+ #
1079
+ # GuessWindowsTimeZone --
1080
+ #
1081
+ # Determines the system time zone on windows.
1082
+ #
1083
+ # Parameters:
1084
+ # None.
1085
+ #
1086
+ # Results:
1087
+ # Returns a time zone specifier that corresponds to the system time zone
1088
+ # information found in the Registry.
1089
+ #
1090
+ # Bugs:
1091
+ # Fixed dates for DST change are unimplemented at present, because no
1092
+ # time zone information supplied with Windows actually uses them!
1093
+ #
1094
+ # On a Windows system where neither $env(TCL_TZ) nor $env(TZ) is specified,
1095
+ # GuessWindowsTimeZone looks in the Registry for the system time zone
1096
+ # information. It then attempts to find an entry in WinZoneInfo for a time
1097
+ # zone that uses the same rules. If it finds one, it returns it; otherwise,
1098
+ # it constructs a Posix-style time zone string and returns that.
1099
+ #
1100
+ #----------------------------------------------------------------------
1101
+
1102
+ proc ::tcl::clock::GuessWindowsTimeZone {} {
1103
+ variable WinZoneInfo
1104
+ variable TimeZoneBad
1105
+
1106
+ if { ![_hasRegistry] } {
1107
+ return :localtime
1108
+ }
1109
+
1110
+ # Dredge time zone information out of the registry
1111
+
1112
+ if { [catch {
1113
+ set rpath HKEY_LOCAL_MACHINE\\System\\CurrentControlSet\\Control\\TimeZoneInformation
1114
+ set data [list \
1115
+ [expr { -60
1116
+ * [registry get $rpath Bias] }] \
1117
+ [expr { -60
1118
+ * [registry get $rpath StandardBias] }] \
1119
+ [expr { -60 \
1120
+ * [registry get $rpath DaylightBias] }]]
1121
+ set stdtzi [registry get $rpath StandardStart]
1122
+ foreach ind {0 2 14 4 6 8 10 12} {
1123
+ binary scan $stdtzi @${ind}s val
1124
+ lappend data $val
1125
+ }
1126
+ set daytzi [registry get $rpath DaylightStart]
1127
+ foreach ind {0 2 14 4 6 8 10 12} {
1128
+ binary scan $daytzi @${ind}s val
1129
+ lappend data $val
1130
+ }
1131
+ }] } {
1132
+ # Missing values in the Registry - bail out
1133
+
1134
+ return :localtime
1135
+ }
1136
+
1137
+ # Make up a Posix time zone specifier if we can't find one. Check here
1138
+ # that the tzdata file exists, in case we're running in an environment
1139
+ # (e.g. starpack) where tzdata is incomplete. (Bug 1237907)
1140
+
1141
+ if { [dict exists $WinZoneInfo $data] } {
1142
+ set tzname [dict get $WinZoneInfo $data]
1143
+ if { ! [dict exists $TimeZoneBad $tzname] } {
1144
+ catch {set tzname [SetupTimeZone $tzname]}
1145
+ }
1146
+ } else {
1147
+ set tzname {}
1148
+ }
1149
+ if { $tzname eq {} || [dict exists $TimeZoneBad $tzname] } {
1150
+ lassign $data \
1151
+ bias stdBias dstBias \
1152
+ stdYear stdMonth stdDayOfWeek stdDayOfMonth \
1153
+ stdHour stdMinute stdSecond stdMillisec \
1154
+ dstYear dstMonth dstDayOfWeek dstDayOfMonth \
1155
+ dstHour dstMinute dstSecond dstMillisec
1156
+ set stdDelta [expr { $bias + $stdBias }]
1157
+ set dstDelta [expr { $bias + $dstBias }]
1158
+ if { $stdDelta <= 0 } {
1159
+ set stdSignum +
1160
+ set stdDelta [expr { - $stdDelta }]
1161
+ set dispStdSignum -
1162
+ } else {
1163
+ set stdSignum -
1164
+ set dispStdSignum +
1165
+ }
1166
+ set hh [::format %02d [expr { $stdDelta / 3600 }]]
1167
+ set mm [::format %02d [expr { ($stdDelta / 60 ) % 60 }]]
1168
+ set ss [::format %02d [expr { $stdDelta % 60 }]]
1169
+ set tzname {}
1170
+ append tzname < $dispStdSignum $hh $mm > $stdSignum $hh : $mm : $ss
1171
+ if { $stdMonth >= 0 } {
1172
+ if { $dstDelta <= 0 } {
1173
+ set dstSignum +
1174
+ set dstDelta [expr { - $dstDelta }]
1175
+ set dispDstSignum -
1176
+ } else {
1177
+ set dstSignum -
1178
+ set dispDstSignum +
1179
+ }
1180
+ set hh [::format %02d [expr { $dstDelta / 3600 }]]
1181
+ set mm [::format %02d [expr { ($dstDelta / 60 ) % 60 }]]
1182
+ set ss [::format %02d [expr { $dstDelta % 60 }]]
1183
+ append tzname < $dispDstSignum $hh $mm > $dstSignum $hh : $mm : $ss
1184
+ if { $dstYear == 0 } {
1185
+ append tzname ,M $dstMonth . $dstDayOfMonth . $dstDayOfWeek
1186
+ } else {
1187
+ # I have not been able to find any locale on which Windows
1188
+ # converts time zone on a fixed day of the year, hence don't
1189
+ # know how to interpret the fields. If someone can inform me,
1190
+ # I'd be glad to code it up. For right now, we bail out in
1191
+ # such a case.
1192
+ return :localtime
1193
+ }
1194
+ append tzname / [::format %02d $dstHour] \
1195
+ : [::format %02d $dstMinute] \
1196
+ : [::format %02d $dstSecond]
1197
+ if { $stdYear == 0 } {
1198
+ append tzname ,M $stdMonth . $stdDayOfMonth . $stdDayOfWeek
1199
+ } else {
1200
+ # I have not been able to find any locale on which Windows
1201
+ # converts time zone on a fixed day of the year, hence don't
1202
+ # know how to interpret the fields. If someone can inform me,
1203
+ # I'd be glad to code it up. For right now, we bail out in
1204
+ # such a case.
1205
+ return :localtime
1206
+ }
1207
+ append tzname / [::format %02d $stdHour] \
1208
+ : [::format %02d $stdMinute] \
1209
+ : [::format %02d $stdSecond]
1210
+ }
1211
+ dict set WinZoneInfo $data $tzname
1212
+ }
1213
+
1214
+ return [dict get $WinZoneInfo $data]
1215
+ }
1216
+
1217
+ #----------------------------------------------------------------------
1218
+ #
1219
+ # LoadTimeZoneFile --
1220
+ #
1221
+ # Load the data file that specifies the conversion between a
1222
+ # given time zone and Greenwich.
1223
+ #
1224
+ # Parameters:
1225
+ # fileName -- Name of the file to load
1226
+ #
1227
+ # Results:
1228
+ # None.
1229
+ #
1230
+ # Side effects:
1231
+ # TZData(:fileName) contains the time zone data
1232
+ #
1233
+ #----------------------------------------------------------------------
1234
+
1235
+ proc ::tcl::clock::LoadTimeZoneFile { fileName } {
1236
+ variable DataDir
1237
+ variable TZData
1238
+
1239
+ if { [info exists TZData($fileName)] } {
1240
+ return
1241
+ }
1242
+
1243
+ # Since an unsafe interp uses the [clock] command in the parent, this code
1244
+ # is security sensitive. Make sure that the path name cannot escape the
1245
+ # given directory.
1246
+
1247
+ if { [regexp {^[/\\]|^[a-zA-Z]+:|(?:^|[/\\])\.\.} $fileName] } {
1248
+ return -code error \
1249
+ -errorcode [list CLOCK badTimeZone :$fileName] \
1250
+ "time zone \":$fileName\" not valid"
1251
+ }
1252
+ try {
1253
+ source [file join $DataDir $fileName]
1254
+ } on error {} {
1255
+ return -code error \
1256
+ -errorcode [list CLOCK badTimeZone :$fileName] \
1257
+ "time zone \":$fileName\" not found"
1258
+ }
1259
+ return
1260
+ }
1261
+
1262
+ #----------------------------------------------------------------------
1263
+ #
1264
+ # LoadZoneinfoFile --
1265
+ #
1266
+ # Loads a binary time zone information file in Olson format.
1267
+ #
1268
+ # Parameters:
1269
+ # fileName - Relative path name of the file to load.
1270
+ #
1271
+ # Results:
1272
+ # Returns an empty result normally; returns an error if no Olson file
1273
+ # was found or the file was malformed in some way.
1274
+ #
1275
+ # Side effects:
1276
+ # TZData(:fileName) contains the time zone data
1277
+ #
1278
+ #----------------------------------------------------------------------
1279
+
1280
+ proc ::tcl::clock::LoadZoneinfoFile { fileName } {
1281
+ variable ZoneinfoPaths
1282
+
1283
+ # Since an unsafe interp uses the [clock] command in the parent, this code
1284
+ # is security sensitive. Make sure that the path name cannot escape the
1285
+ # given directory.
1286
+
1287
+ if { [regexp {^[/\\]|^[a-zA-Z]+:|(?:^|[/\\])\.\.} $fileName] } {
1288
+ return -code error \
1289
+ -errorcode [list CLOCK badTimeZone :$fileName] \
1290
+ "time zone \":$fileName\" not valid"
1291
+ }
1292
+ set fname ""
1293
+ foreach d $ZoneinfoPaths {
1294
+ set fname [file join $d $fileName]
1295
+ if { [file readable $fname] && [file isfile $fname] } {
1296
+ break
1297
+ }
1298
+ set fname ""
1299
+ }
1300
+ if {$fname eq ""} {
1301
+ return -code error \
1302
+ -errorcode [list CLOCK badTimeZone :$fileName] \
1303
+ "time zone \":$fileName\" not found"
1304
+ }
1305
+ ReadZoneinfoFile $fileName $fname
1306
+ }
1307
+
1308
+ #----------------------------------------------------------------------
1309
+ #
1310
+ # ReadZoneinfoFile --
1311
+ #
1312
+ # Loads a binary time zone information file in Olson format.
1313
+ #
1314
+ # Parameters:
1315
+ # fileName - Name of the time zone (relative path name of the
1316
+ # file).
1317
+ # fname - Absolute path name of the file.
1318
+ #
1319
+ # Results:
1320
+ # Returns an empty result normally; returns an error if no Olson file
1321
+ # was found or the file was malformed in some way.
1322
+ #
1323
+ # Side effects:
1324
+ # TZData(:fileName) contains the time zone data
1325
+ #
1326
+ #----------------------------------------------------------------------
1327
+
1328
+ proc ::tcl::clock::ReadZoneinfoFile {fileName fname} {
1329
+ variable MINWIDE
1330
+ variable TZData
1331
+ if { ![file exists $fname] } {
1332
+ return -code error "$fileName not found"
1333
+ }
1334
+
1335
+ if { [file size $fname] > 262144 } {
1336
+ return -code error "$fileName too big"
1337
+ }
1338
+
1339
+ # Suck in all the data from the file
1340
+
1341
+ set f [open $fname r]
1342
+ fconfigure $f -translation binary
1343
+ set d [read $f]
1344
+ close $f
1345
+
1346
+ # The file begins with a magic number, sixteen reserved bytes, and then
1347
+ # six 4-byte integers giving counts of fields in the file.
1348
+
1349
+ binary scan $d a4a1x15IIIIII \
1350
+ magic version nIsGMT nIsStd nLeap nTime nType nChar
1351
+ set seek 44
1352
+ set ilen 4
1353
+ set iformat I
1354
+ if { $magic != {TZif} } {
1355
+ return -code error "$fileName not a time zone information file"
1356
+ }
1357
+ if { $nType > 255 } {
1358
+ return -code error "$fileName contains too many time types"
1359
+ }
1360
+ # Accept only Posix-style zoneinfo. Sorry, 'leaps' bigots.
1361
+ if { $nLeap != 0 } {
1362
+ return -code error "$fileName contains leap seconds"
1363
+ }
1364
+
1365
+ # In a version 2 file, we use the second part of the file, which contains
1366
+ # 64-bit transition times.
1367
+
1368
+ if {$version eq "2"} {
1369
+ set seek [expr {
1370
+ 44
1371
+ + 5 * $nTime
1372
+ + 6 * $nType
1373
+ + 4 * $nLeap
1374
+ + $nIsStd
1375
+ + $nIsGMT
1376
+ + $nChar
1377
+ }]
1378
+ binary scan $d @${seek}a4a1x15IIIIII \
1379
+ magic version nIsGMT nIsStd nLeap nTime nType nChar
1380
+ if {$magic ne {TZif}} {
1381
+ return -code error "seek address $seek miscomputed, magic = $magic"
1382
+ }
1383
+ set iformat W
1384
+ set ilen 8
1385
+ incr seek 44
1386
+ }
1387
+
1388
+ # Next come ${nTime} transition times, followed by ${nTime} time type
1389
+ # codes. The type codes are unsigned 1-byte quantities. We insert an
1390
+ # arbitrary start time in front of the transitions.
1391
+
1392
+ binary scan $d @${seek}${iformat}${nTime}c${nTime} times tempCodes
1393
+ incr seek [expr { ($ilen + 1) * $nTime }]
1394
+ set times [linsert $times 0 $MINWIDE]
1395
+ set codes {}
1396
+ foreach c $tempCodes {
1397
+ lappend codes [expr { $c & 0xFF }]
1398
+ }
1399
+ set codes [linsert $codes 0 0]
1400
+
1401
+ # Next come ${nType} time type descriptions, each of which has an offset
1402
+ # (seconds east of GMT), a DST indicator, and an index into the
1403
+ # abbreviation text.
1404
+
1405
+ for { set i 0 } { $i < $nType } { incr i } {
1406
+ binary scan $d @${seek}Icc gmtOff isDst abbrInd
1407
+ lappend types [list $gmtOff $isDst $abbrInd]
1408
+ incr seek 6
1409
+ }
1410
+
1411
+ # Next come $nChar characters of time zone name abbreviations, which are
1412
+ # null-terminated.
1413
+ # We build them up into a dictionary indexed by character index, because
1414
+ # that's what's in the indices above.
1415
+
1416
+ binary scan $d @${seek}a${nChar} abbrs
1417
+ incr seek ${nChar}
1418
+ set abbrList [split $abbrs \0]
1419
+ set i 0
1420
+ set abbrevs {}
1421
+ foreach a $abbrList {
1422
+ for {set j 0} {$j <= [string length $a]} {incr j} {
1423
+ dict set abbrevs $i [string range $a $j end]
1424
+ incr i
1425
+ }
1426
+ }
1427
+
1428
+ # Package up a list of tuples, each of which contains transition time,
1429
+ # seconds east of Greenwich, DST flag and time zone abbreviation.
1430
+
1431
+ set r {}
1432
+ set lastTime $MINWIDE
1433
+ foreach t $times c $codes {
1434
+ if { $t < $lastTime } {
1435
+ return -code error "$fileName has times out of order"
1436
+ }
1437
+ set lastTime $t
1438
+ lassign [lindex $types $c] gmtoff isDst abbrInd
1439
+ set abbrev [dict get $abbrevs $abbrInd]
1440
+ lappend r [list $t $gmtoff $isDst $abbrev]
1441
+ }
1442
+
1443
+ # In a version 2 file, there is also a POSIX-style time zone description
1444
+ # at the very end of the file. To get to it, skip over nLeap leap second
1445
+ # values (8 bytes each),
1446
+ # nIsStd standard/DST indicators and nIsGMT UTC/local indicators.
1447
+
1448
+ if {$version eq {2}} {
1449
+ set seek [expr {$seek + 8 * $nLeap + $nIsStd + $nIsGMT + 1}]
1450
+ set last [string first \n $d $seek]
1451
+ set posix [string range $d $seek [expr {$last-1}]]
1452
+ if {[llength $posix] > 0} {
1453
+ set posixFields [ParsePosixTimeZone $posix]
1454
+ foreach tuple [ProcessPosixTimeZone $posixFields] {
1455
+ lassign $tuple t gmtoff isDst abbrev
1456
+ if {$t > $lastTime} {
1457
+ lappend r $tuple
1458
+ }
1459
+ }
1460
+ }
1461
+ }
1462
+
1463
+ set TZData(:$fileName) $r
1464
+
1465
+ return
1466
+ }
1467
+
1468
+ #----------------------------------------------------------------------
1469
+ #
1470
+ # ParsePosixTimeZone --
1471
+ #
1472
+ # Parses the TZ environment variable in Posix form
1473
+ #
1474
+ # Parameters:
1475
+ # tz Time zone specifier to be interpreted
1476
+ #
1477
+ # Results:
1478
+ # Returns a dictionary whose values contain the various pieces of the
1479
+ # time zone specification.
1480
+ #
1481
+ # Side effects:
1482
+ # None.
1483
+ #
1484
+ # Errors:
1485
+ # Throws an error if the syntax of the time zone is incorrect.
1486
+ #
1487
+ # The following keys are present in the dictionary:
1488
+ # stdName - Name of the time zone when Daylight Saving Time
1489
+ # is not in effect.
1490
+ # stdSignum - Sign (+, -, or empty) of the offset from Greenwich
1491
+ # to the given (non-DST) time zone. + and the empty
1492
+ # string denote zones west of Greenwich, - denotes east
1493
+ # of Greenwich; this is contrary to the ISO convention
1494
+ # but follows Posix.
1495
+ # stdHours - Hours part of the offset from Greenwich to the given
1496
+ # (non-DST) time zone.
1497
+ # stdMinutes - Minutes part of the offset from Greenwich to the
1498
+ # given (non-DST) time zone. Empty denotes zero.
1499
+ # stdSeconds - Seconds part of the offset from Greenwich to the
1500
+ # given (non-DST) time zone. Empty denotes zero.
1501
+ # dstName - Name of the time zone when DST is in effect, or the
1502
+ # empty string if the time zone does not observe Daylight
1503
+ # Saving Time.
1504
+ # dstSignum, dstHours, dstMinutes, dstSeconds -
1505
+ # Fields corresponding to stdSignum, stdHours, stdMinutes,
1506
+ # stdSeconds for the Daylight Saving Time version of the
1507
+ # time zone. If dstHours is empty, it is presumed to be 1.
1508
+ # startDayOfYear - The ordinal number of the day of the year on which
1509
+ # Daylight Saving Time begins. If this field is
1510
+ # empty, then DST begins on a given month-week-day,
1511
+ # as below.
1512
+ # startJ - The letter J, or an empty string. If a J is present in
1513
+ # this field, then startDayOfYear does not count February 29
1514
+ # even in leap years.
1515
+ # startMonth - The number of the month in which Daylight Saving Time
1516
+ # begins, supplied if startDayOfYear is empty. If both
1517
+ # startDayOfYear and startMonth are empty, then US rules
1518
+ # are presumed.
1519
+ # startWeekOfMonth - The number of the week in the month in which
1520
+ # Daylight Saving Time begins, in the range 1-5.
1521
+ # 5 denotes the last week of the month even in a
1522
+ # 4-week month.
1523
+ # startDayOfWeek - The number of the day of the week (Sunday=0,
1524
+ # Saturday=6) on which Daylight Saving Time begins.
1525
+ # startHours - The hours part of the time of day at which Daylight
1526
+ # Saving Time begins. An empty string is presumed to be 2.
1527
+ # startMinutes - The minutes part of the time of day at which DST begins.
1528
+ # An empty string is presumed zero.
1529
+ # startSeconds - The seconds part of the time of day at which DST begins.
1530
+ # An empty string is presumed zero.
1531
+ # endDayOfYear, endJ, endMonth, endWeekOfMonth, endDayOfWeek,
1532
+ # endHours, endMinutes, endSeconds -
1533
+ # Specify the end of DST in the same way that the start* fields
1534
+ # specify the beginning of DST.
1535
+ #
1536
+ # This procedure serves only to break the time specifier into fields. No
1537
+ # attempt is made to canonicalize the fields or supply default values.
1538
+ #
1539
+ #----------------------------------------------------------------------
1540
+
1541
+ proc ::tcl::clock::ParsePosixTimeZone { tz } {
1542
+ if {[regexp -expanded -nocase -- {
1543
+ ^
1544
+ # 1 - Standard time zone name
1545
+ ([[:alpha:]]+ | <[-+[:alnum:]]+>)
1546
+ # 2 - Standard time zone offset, signum
1547
+ ([-+]?)
1548
+ # 3 - Standard time zone offset, hours
1549
+ ([[:digit:]]{1,2})
1550
+ (?:
1551
+ # 4 - Standard time zone offset, minutes
1552
+ : ([[:digit:]]{1,2})
1553
+ (?:
1554
+ # 5 - Standard time zone offset, seconds
1555
+ : ([[:digit:]]{1,2} )
1556
+ )?
1557
+ )?
1558
+ (?:
1559
+ # 6 - DST time zone name
1560
+ ([[:alpha:]]+ | <[-+[:alnum:]]+>)
1561
+ (?:
1562
+ (?:
1563
+ # 7 - DST time zone offset, signum
1564
+ ([-+]?)
1565
+ # 8 - DST time zone offset, hours
1566
+ ([[:digit:]]{1,2})
1567
+ (?:
1568
+ # 9 - DST time zone offset, minutes
1569
+ : ([[:digit:]]{1,2})
1570
+ (?:
1571
+ # 10 - DST time zone offset, seconds
1572
+ : ([[:digit:]]{1,2})
1573
+ )?
1574
+ )?
1575
+ )?
1576
+ (?:
1577
+ ,
1578
+ (?:
1579
+ # 11 - Optional J in n and Jn form 12 - Day of year
1580
+ ( J ? ) ( [[:digit:]]+ )
1581
+ | M
1582
+ # 13 - Month number 14 - Week of month 15 - Day of week
1583
+ ( [[:digit:]] + )
1584
+ [.] ( [[:digit:]] + )
1585
+ [.] ( [[:digit:]] + )
1586
+ )
1587
+ (?:
1588
+ # 16 - Start time of DST - hours
1589
+ / ( [[:digit:]]{1,2} )
1590
+ (?:
1591
+ # 17 - Start time of DST - minutes
1592
+ : ( [[:digit:]]{1,2} )
1593
+ (?:
1594
+ # 18 - Start time of DST - seconds
1595
+ : ( [[:digit:]]{1,2} )
1596
+ )?
1597
+ )?
1598
+ )?
1599
+ ,
1600
+ (?:
1601
+ # 19 - Optional J in n and Jn form 20 - Day of year
1602
+ ( J ? ) ( [[:digit:]]+ )
1603
+ | M
1604
+ # 21 - Month number 22 - Week of month 23 - Day of week
1605
+ ( [[:digit:]] + )
1606
+ [.] ( [[:digit:]] + )
1607
+ [.] ( [[:digit:]] + )
1608
+ )
1609
+ (?:
1610
+ # 24 - End time of DST - hours
1611
+ / ( [[:digit:]]{1,2} )
1612
+ (?:
1613
+ # 25 - End time of DST - minutes
1614
+ : ( [[:digit:]]{1,2} )
1615
+ (?:
1616
+ # 26 - End time of DST - seconds
1617
+ : ( [[:digit:]]{1,2} )
1618
+ )?
1619
+ )?
1620
+ )?
1621
+ )?
1622
+ )?
1623
+ )?
1624
+ $
1625
+ } $tz -> x(stdName) x(stdSignum) x(stdHours) x(stdMinutes) x(stdSeconds) \
1626
+ x(dstName) x(dstSignum) x(dstHours) x(dstMinutes) x(dstSeconds) \
1627
+ x(startJ) x(startDayOfYear) \
1628
+ x(startMonth) x(startWeekOfMonth) x(startDayOfWeek) \
1629
+ x(startHours) x(startMinutes) x(startSeconds) \
1630
+ x(endJ) x(endDayOfYear) \
1631
+ x(endMonth) x(endWeekOfMonth) x(endDayOfWeek) \
1632
+ x(endHours) x(endMinutes) x(endSeconds)] } {
1633
+ # it's a good timezone
1634
+
1635
+ return [array get x]
1636
+ }
1637
+
1638
+ return -code error\
1639
+ -errorcode [list CLOCK badTimeZone $tz] \
1640
+ "unable to parse time zone specification \"$tz\""
1641
+ }
1642
+
1643
+ #----------------------------------------------------------------------
1644
+ #
1645
+ # ProcessPosixTimeZone --
1646
+ #
1647
+ # Handle a Posix time zone after it's been broken out into fields.
1648
+ #
1649
+ # Parameters:
1650
+ # z - Dictionary returned from 'ParsePosixTimeZone'
1651
+ #
1652
+ # Results:
1653
+ # Returns time zone information for the 'TZData' array.
1654
+ #
1655
+ # Side effects:
1656
+ # None.
1657
+ #
1658
+ #----------------------------------------------------------------------
1659
+
1660
+ proc ::tcl::clock::ProcessPosixTimeZone { z } {
1661
+ variable MINWIDE
1662
+ variable TZData
1663
+
1664
+ # Determine the standard time zone name and seconds east of Greenwich
1665
+
1666
+ set stdName [dict get $z stdName]
1667
+ if { [string index $stdName 0] eq {<} } {
1668
+ set stdName [string range $stdName 1 end-1]
1669
+ }
1670
+ if { [dict get $z stdSignum] eq {-} } {
1671
+ set stdSignum +1
1672
+ } else {
1673
+ set stdSignum -1
1674
+ }
1675
+ set stdHours [lindex [::scan [dict get $z stdHours] %d] 0]
1676
+ if { [dict get $z stdMinutes] ne {} } {
1677
+ set stdMinutes [lindex [::scan [dict get $z stdMinutes] %d] 0]
1678
+ } else {
1679
+ set stdMinutes 0
1680
+ }
1681
+ if { [dict get $z stdSeconds] ne {} } {
1682
+ set stdSeconds [lindex [::scan [dict get $z stdSeconds] %d] 0]
1683
+ } else {
1684
+ set stdSeconds 0
1685
+ }
1686
+ set stdOffset [expr {
1687
+ (($stdHours * 60 + $stdMinutes) * 60 + $stdSeconds) * $stdSignum
1688
+ }]
1689
+ set data [list [list $MINWIDE $stdOffset 0 $stdName]]
1690
+
1691
+ # If there's no daylight zone, we're done
1692
+
1693
+ set dstName [dict get $z dstName]
1694
+ if { $dstName eq {} } {
1695
+ return $data
1696
+ }
1697
+ if { [string index $dstName 0] eq {<} } {
1698
+ set dstName [string range $dstName 1 end-1]
1699
+ }
1700
+
1701
+ # Determine the daylight name
1702
+
1703
+ if { [dict get $z dstSignum] eq {-} } {
1704
+ set dstSignum +1
1705
+ } else {
1706
+ set dstSignum -1
1707
+ }
1708
+ if { [dict get $z dstHours] eq {} } {
1709
+ set dstOffset [expr { 3600 + $stdOffset }]
1710
+ } else {
1711
+ set dstHours [lindex [::scan [dict get $z dstHours] %d] 0]
1712
+ if { [dict get $z dstMinutes] ne {} } {
1713
+ set dstMinutes [lindex [::scan [dict get $z dstMinutes] %d] 0]
1714
+ } else {
1715
+ set dstMinutes 0
1716
+ }
1717
+ if { [dict get $z dstSeconds] ne {} } {
1718
+ set dstSeconds [lindex [::scan [dict get $z dstSeconds] %d] 0]
1719
+ } else {
1720
+ set dstSeconds 0
1721
+ }
1722
+ set dstOffset [expr {
1723
+ (($dstHours*60 + $dstMinutes) * 60 + $dstSeconds) * $dstSignum
1724
+ }]
1725
+ }
1726
+
1727
+ # Fill in defaults for European or US DST rules
1728
+ # US start time is the second Sunday in March
1729
+ # EU start time is the last Sunday in March
1730
+ # US end time is the first Sunday in November.
1731
+ # EU end time is the last Sunday in October
1732
+
1733
+ if {
1734
+ [dict get $z startDayOfYear] eq {}
1735
+ && [dict get $z startMonth] eq {}
1736
+ } then {
1737
+ if {($stdSignum * $stdHours>=0) && ($stdSignum * $stdHours<=12)} {
1738
+ # EU
1739
+ dict set z startWeekOfMonth 5
1740
+ if {$stdHours>2} {
1741
+ dict set z startHours 2
1742
+ } else {
1743
+ dict set z startHours [expr {$stdHours+1}]
1744
+ }
1745
+ } else {
1746
+ # US
1747
+ dict set z startWeekOfMonth 2
1748
+ dict set z startHours 2
1749
+ }
1750
+ dict set z startMonth 3
1751
+ dict set z startDayOfWeek 0
1752
+ dict set z startMinutes 0
1753
+ dict set z startSeconds 0
1754
+ }
1755
+ if {
1756
+ [dict get $z endDayOfYear] eq {}
1757
+ && [dict get $z endMonth] eq {}
1758
+ } then {
1759
+ if {($stdSignum * $stdHours>=0) && ($stdSignum * $stdHours<=12)} {
1760
+ # EU
1761
+ dict set z endMonth 10
1762
+ dict set z endWeekOfMonth 5
1763
+ if {$stdHours>2} {
1764
+ dict set z endHours 3
1765
+ } else {
1766
+ dict set z endHours [expr {$stdHours+2}]
1767
+ }
1768
+ } else {
1769
+ # US
1770
+ dict set z endMonth 11
1771
+ dict set z endWeekOfMonth 1
1772
+ dict set z endHours 2
1773
+ }
1774
+ dict set z endDayOfWeek 0
1775
+ dict set z endMinutes 0
1776
+ dict set z endSeconds 0
1777
+ }
1778
+
1779
+ # Put DST in effect in all years from 1916 to 2099.
1780
+
1781
+ for { set y 1916 } { $y < 2100 } { incr y } {
1782
+ set startTime [DeterminePosixDSTTime $z start $y]
1783
+ incr startTime [expr { - wide($stdOffset) }]
1784
+ set endTime [DeterminePosixDSTTime $z end $y]
1785
+ incr endTime [expr { - wide($dstOffset) }]
1786
+ if { $startTime < $endTime } {
1787
+ lappend data \
1788
+ [list $startTime $dstOffset 1 $dstName] \
1789
+ [list $endTime $stdOffset 0 $stdName]
1790
+ } else {
1791
+ lappend data \
1792
+ [list $endTime $stdOffset 0 $stdName] \
1793
+ [list $startTime $dstOffset 1 $dstName]
1794
+ }
1795
+ }
1796
+
1797
+ return $data
1798
+ }
1799
+
1800
+ #----------------------------------------------------------------------
1801
+ #
1802
+ # DeterminePosixDSTTime --
1803
+ #
1804
+ # Determines the time that Daylight Saving Time starts or ends from a
1805
+ # Posix time zone specification.
1806
+ #
1807
+ # Parameters:
1808
+ # z - Time zone data returned from ParsePosixTimeZone.
1809
+ # Missing fields are expected to be filled in with
1810
+ # default values.
1811
+ # bound - The word 'start' or 'end'
1812
+ # y - The year for which the transition time is to be determined.
1813
+ #
1814
+ # Results:
1815
+ # Returns the transition time as a count of seconds from the epoch. The
1816
+ # time is relative to the wall clock, not UTC.
1817
+ #
1818
+ #----------------------------------------------------------------------
1819
+
1820
+ proc ::tcl::clock::DeterminePosixDSTTime { z bound y } {
1821
+
1822
+ variable FEB_28
1823
+
1824
+ # Determine the start or end day of DST
1825
+
1826
+ set date [dict create era CE year $y gregorian 1]
1827
+ set doy [dict get $z ${bound}DayOfYear]
1828
+ if { $doy ne {} } {
1829
+
1830
+ # Time was specified as a day of the year
1831
+
1832
+ if { [dict get $z ${bound}J] ne {}
1833
+ && [IsGregorianLeapYear $date]
1834
+ && ( $doy > $FEB_28 ) } {
1835
+ incr doy
1836
+ }
1837
+ dict set date dayOfYear $doy
1838
+ set date [GetJulianDayFromEraYearDay $date[set date {}] 2361222]
1839
+ } else {
1840
+ # Time was specified as a day of the week within a month
1841
+
1842
+ dict set date month [dict get $z ${bound}Month]
1843
+ dict set date dayOfWeek [dict get $z ${bound}DayOfWeek]
1844
+ set dowim [dict get $z ${bound}WeekOfMonth]
1845
+ if { $dowim >= 5 } {
1846
+ set dowim -1
1847
+ }
1848
+ dict set date dayOfWeekInMonth $dowim
1849
+ set date [GetJulianDayFromEraYearMonthWeekDay $date[set date {}] 2361222]
1850
+
1851
+ }
1852
+
1853
+ set jd [dict get $date julianDay]
1854
+ set seconds [expr {
1855
+ wide($jd) * wide(86400) - wide(210866803200)
1856
+ }]
1857
+
1858
+ set h [dict get $z ${bound}Hours]
1859
+ if { $h eq {} } {
1860
+ set h 2
1861
+ } else {
1862
+ set h [lindex [::scan $h %d] 0]
1863
+ }
1864
+ set m [dict get $z ${bound}Minutes]
1865
+ if { $m eq {} } {
1866
+ set m 0
1867
+ } else {
1868
+ set m [lindex [::scan $m %d] 0]
1869
+ }
1870
+ set s [dict get $z ${bound}Seconds]
1871
+ if { $s eq {} } {
1872
+ set s 0
1873
+ } else {
1874
+ set s [lindex [::scan $s %d] 0]
1875
+ }
1876
+ set tod [expr { ( $h * 60 + $m ) * 60 + $s }]
1877
+ return [expr { $seconds + $tod }]
1878
+ }
1879
+
1880
+ #----------------------------------------------------------------------
1881
+ #
1882
+ # GetJulianDayFromEraYearDay --
1883
+ #
1884
+ # Given a year, month and day on the Gregorian calendar, determines
1885
+ # the Julian Day Number beginning at noon on that date.
1886
+ #
1887
+ # Parameters:
1888
+ # date -- A dictionary in which the 'era', 'year', and
1889
+ # 'dayOfYear' slots are populated. The calendar in use
1890
+ # is determined by the date itself relative to:
1891
+ # changeover -- Julian day on which the Gregorian calendar was
1892
+ # adopted in the current locale.
1893
+ #
1894
+ # Results:
1895
+ # Returns the given dictionary augmented with a 'julianDay' key whose
1896
+ # value is the desired Julian Day Number, and a 'gregorian' key that
1897
+ # specifies whether the calendar is Gregorian (1) or Julian (0).
1898
+ #
1899
+ # Side effects:
1900
+ # None.
1901
+ #
1902
+ # Bugs:
1903
+ # This code needs to be moved to the C layer.
1904
+ #
1905
+ #----------------------------------------------------------------------
1906
+
1907
+ proc ::tcl::clock::GetJulianDayFromEraYearDay {date changeover} {
1908
+ # Get absolute year number from the civil year
1909
+
1910
+ switch -exact -- [dict get $date era] {
1911
+ BCE {
1912
+ set year [expr { 1 - [dict get $date year] }]
1913
+ }
1914
+ CE {
1915
+ set year [dict get $date year]
1916
+ }
1917
+ }
1918
+ set ym1 [expr { $year - 1 }]
1919
+
1920
+ # Try the Gregorian calendar first.
1921
+
1922
+ dict set date gregorian 1
1923
+ set jd [expr {
1924
+ 1721425
1925
+ + [dict get $date dayOfYear]
1926
+ + ( 365 * $ym1 )
1927
+ + ( $ym1 / 4 )
1928
+ - ( $ym1 / 100 )
1929
+ + ( $ym1 / 400 )
1930
+ }]
1931
+
1932
+ # If the date is before the Gregorian change, use the Julian calendar.
1933
+
1934
+ if { $jd < $changeover } {
1935
+ dict set date gregorian 0
1936
+ set jd [expr {
1937
+ 1721423
1938
+ + [dict get $date dayOfYear]
1939
+ + ( 365 * $ym1 )
1940
+ + ( $ym1 / 4 )
1941
+ }]
1942
+ }
1943
+
1944
+ dict set date julianDay $jd
1945
+ return $date
1946
+ }
1947
+
1948
+ #----------------------------------------------------------------------
1949
+ #
1950
+ # GetJulianDayFromEraYearMonthWeekDay --
1951
+ #
1952
+ # Determines the Julian Day number corresponding to the nth given
1953
+ # day-of-the-week in a given month.
1954
+ #
1955
+ # Parameters:
1956
+ # date - Dictionary containing the keys, 'era', 'year', 'month'
1957
+ # 'weekOfMonth', 'dayOfWeek', and 'dayOfWeekInMonth'.
1958
+ # changeover - Julian Day of adoption of the Gregorian calendar
1959
+ #
1960
+ # Results:
1961
+ # Returns the given dictionary, augmented with a 'julianDay' key.
1962
+ #
1963
+ # Side effects:
1964
+ # None.
1965
+ #
1966
+ # Bugs:
1967
+ # This code needs to be moved to the C layer.
1968
+ #
1969
+ #----------------------------------------------------------------------
1970
+
1971
+ proc ::tcl::clock::GetJulianDayFromEraYearMonthWeekDay {date changeover} {
1972
+ # Come up with a reference day; either the zeroeth day of the given month
1973
+ # (dayOfWeekInMonth >= 0) or the seventh day of the following month
1974
+ # (dayOfWeekInMonth < 0)
1975
+
1976
+ set date2 $date
1977
+ set week [dict get $date dayOfWeekInMonth]
1978
+ if { $week >= 0 } {
1979
+ dict set date2 dayOfMonth 0
1980
+ } else {
1981
+ dict incr date2 month
1982
+ dict set date2 dayOfMonth 7
1983
+ }
1984
+ set date2 [GetJulianDayFromEraYearMonthDay $date2[set date2 {}] \
1985
+ $changeover]
1986
+ set wd0 [WeekdayOnOrBefore [dict get $date dayOfWeek] \
1987
+ [dict get $date2 julianDay]]
1988
+ dict set date julianDay [expr { $wd0 + 7 * $week }]
1989
+ return $date
1990
+ }
1991
+
1992
+ #----------------------------------------------------------------------
1993
+ #
1994
+ # IsGregorianLeapYear --
1995
+ #
1996
+ # Determines whether a given date represents a leap year in the
1997
+ # Gregorian calendar.
1998
+ #
1999
+ # Parameters:
2000
+ # date -- The date to test. The fields, 'era', 'year' and 'gregorian'
2001
+ # must be set.
2002
+ #
2003
+ # Results:
2004
+ # Returns 1 if the year is a leap year, 0 otherwise.
2005
+ #
2006
+ # Side effects:
2007
+ # None.
2008
+ #
2009
+ #----------------------------------------------------------------------
2010
+
2011
+ proc ::tcl::clock::IsGregorianLeapYear { date } {
2012
+ switch -exact -- [dict get $date era] {
2013
+ BCE {
2014
+ set year [expr { 1 - [dict get $date year]}]
2015
+ }
2016
+ CE {
2017
+ set year [dict get $date year]
2018
+ }
2019
+ }
2020
+ if { $year % 4 != 0 } {
2021
+ return 0
2022
+ } elseif { ![dict get $date gregorian] } {
2023
+ return 1
2024
+ } elseif { $year % 400 == 0 } {
2025
+ return 1
2026
+ } elseif { $year % 100 == 0 } {
2027
+ return 0
2028
+ } else {
2029
+ return 1
2030
+ }
2031
+ }
2032
+
2033
+ #----------------------------------------------------------------------
2034
+ #
2035
+ # WeekdayOnOrBefore --
2036
+ #
2037
+ # Determine the nearest day of week (given by the 'weekday' parameter,
2038
+ # Sunday==0) on or before a given Julian Day.
2039
+ #
2040
+ # Parameters:
2041
+ # weekday -- Day of the week
2042
+ # j -- Julian Day number
2043
+ #
2044
+ # Results:
2045
+ # Returns the Julian Day Number of the desired date.
2046
+ #
2047
+ # Side effects:
2048
+ # None.
2049
+ #
2050
+ #----------------------------------------------------------------------
2051
+
2052
+ proc ::tcl::clock::WeekdayOnOrBefore { weekday j } {
2053
+ set k [expr { ( $weekday + 6 ) % 7 }]
2054
+ return [expr { $j - ( $j - $k ) % 7 }]
2055
+ }
2056
+
2057
+ #----------------------------------------------------------------------
2058
+ #
2059
+ # ChangeCurrentLocale --
2060
+ #
2061
+ # The global locale was changed within msgcat.
2062
+ # Clears the buffered parse functions of the current locale.
2063
+ #
2064
+ # Parameters:
2065
+ # loclist (ignored)
2066
+ #
2067
+ # Results:
2068
+ # None.
2069
+ #
2070
+ # Side effects:
2071
+ # Buffered parse functions are cleared.
2072
+ #
2073
+ #----------------------------------------------------------------------
2074
+
2075
+ proc ::tcl::clock::ChangeCurrentLocale {args} {
2076
+ ::tcl::unsupported::clock::configure -current-locale [lindex $args 0]
2077
+ }
2078
+
2079
+ #----------------------------------------------------------------------
2080
+ #
2081
+ # ClearCaches --
2082
+ #
2083
+ # Clears all caches to reclaim the memory used in [clock]
2084
+ #
2085
+ # Parameters:
2086
+ # None.
2087
+ #
2088
+ # Results:
2089
+ # None.
2090
+ #
2091
+ # Side effects:
2092
+ # Caches are cleared.
2093
+ #
2094
+ #----------------------------------------------------------------------
2095
+
2096
+ proc ::tcl::clock::ClearCaches {} {
2097
+ variable LocFmtMap
2098
+ variable mcMergedCat
2099
+ variable TimeZoneBad
2100
+
2101
+ # tell backend - should invalidate:
2102
+ ::tcl::unsupported::clock::configure -clear
2103
+
2104
+ # clear msgcat cache:
2105
+ set mcMergedCat [dict create]
2106
+
2107
+ set LocFmtMap {}
2108
+ set TimeZoneBad {}
2109
+ InitTZData
2110
+ }