android-notify 1.60.0__py3-none-any.whl → 1.60.1__py3-none-any.whl

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 (1342) hide show
  1. {android_notify-1.60.0.dist-info → android_notify-1.60.1.dist-info}/METADATA +21 -9
  2. android_notify-1.60.1.dist-info/RECORD +13 -0
  3. {android_notify-1.60.0.dist-info → android_notify-1.60.1.dist-info}/top_level.txt +0 -2
  4. android_notify-1.60.0.dist-info/RECORD +0 -1350
  5. android_notify-1.60.0.dist-info/entry_points.txt +0 -2
  6. docs/examples/flet-working/src/core.py +0 -221
  7. docs/examples/flet-working/src/main.py +0 -68
  8. docs/tests/flet/adv/main.py +0 -97
  9. docs/tests/flet/adv/tests/__init__.py +0 -0
  10. docs/tests/flet/adv/tests/test_android_notify_full.py +0 -199
  11. docs/tests/flet/basic/src/core.py +0 -221
  12. docs/tests/flet/basic/src/main.py +0 -112
  13. docs/website/src/pages/data/laner_Sent.py +0 -24
  14. venv/Lib/site-packages/__editable___android_notify_1_60_0_finder.py +0 -85
  15. venv/Lib/site-packages/build/__init__.py +0 -39
  16. venv/Lib/site-packages/build/__main__.py +0 -486
  17. venv/Lib/site-packages/build/_builder.py +0 -355
  18. venv/Lib/site-packages/build/_compat/__init__.py +0 -0
  19. venv/Lib/site-packages/build/_compat/importlib.py +0 -22
  20. venv/Lib/site-packages/build/_compat/tarfile.py +0 -31
  21. venv/Lib/site-packages/build/_compat/tomllib.py +0 -16
  22. venv/Lib/site-packages/build/_ctx.py +0 -99
  23. venv/Lib/site-packages/build/_exceptions.py +0 -65
  24. venv/Lib/site-packages/build/_types.py +0 -19
  25. venv/Lib/site-packages/build/_util.py +0 -63
  26. venv/Lib/site-packages/build/env.py +0 -393
  27. venv/Lib/site-packages/build/py.typed +0 -0
  28. venv/Lib/site-packages/build/util.py +0 -63
  29. venv/Lib/site-packages/certifi/__init__.py +0 -4
  30. venv/Lib/site-packages/certifi/__main__.py +0 -12
  31. venv/Lib/site-packages/certifi/core.py +0 -83
  32. venv/Lib/site-packages/certifi/py.typed +0 -0
  33. venv/Lib/site-packages/charset_normalizer/__init__.py +0 -48
  34. venv/Lib/site-packages/charset_normalizer/__main__.py +0 -6
  35. venv/Lib/site-packages/charset_normalizer/api.py +0 -669
  36. venv/Lib/site-packages/charset_normalizer/cd.py +0 -395
  37. venv/Lib/site-packages/charset_normalizer/cli/__init__.py +0 -8
  38. venv/Lib/site-packages/charset_normalizer/cli/__main__.py +0 -381
  39. venv/Lib/site-packages/charset_normalizer/constant.py +0 -2015
  40. venv/Lib/site-packages/charset_normalizer/legacy.py +0 -80
  41. venv/Lib/site-packages/charset_normalizer/md.py +0 -635
  42. venv/Lib/site-packages/charset_normalizer/models.py +0 -360
  43. venv/Lib/site-packages/charset_normalizer/py.typed +0 -0
  44. venv/Lib/site-packages/charset_normalizer/utils.py +0 -414
  45. venv/Lib/site-packages/charset_normalizer/version.py +0 -8
  46. venv/Lib/site-packages/colorama/__init__.py +0 -7
  47. venv/Lib/site-packages/colorama/ansi.py +0 -102
  48. venv/Lib/site-packages/colorama/ansitowin32.py +0 -277
  49. venv/Lib/site-packages/colorama/initialise.py +0 -121
  50. venv/Lib/site-packages/colorama/tests/__init__.py +0 -1
  51. venv/Lib/site-packages/colorama/tests/ansi_test.py +0 -76
  52. venv/Lib/site-packages/colorama/tests/ansitowin32_test.py +0 -294
  53. venv/Lib/site-packages/colorama/tests/initialise_test.py +0 -189
  54. venv/Lib/site-packages/colorama/tests/isatty_test.py +0 -57
  55. venv/Lib/site-packages/colorama/tests/utils.py +0 -49
  56. venv/Lib/site-packages/colorama/tests/winterm_test.py +0 -131
  57. venv/Lib/site-packages/colorama/win32.py +0 -180
  58. venv/Lib/site-packages/colorama/winterm.py +0 -195
  59. venv/Lib/site-packages/docutils/__init__.py +0 -341
  60. venv/Lib/site-packages/docutils/__main__.py +0 -103
  61. venv/Lib/site-packages/docutils/core.py +0 -855
  62. venv/Lib/site-packages/docutils/examples.py +0 -123
  63. venv/Lib/site-packages/docutils/frontend.py +0 -1178
  64. venv/Lib/site-packages/docutils/io.py +0 -718
  65. venv/Lib/site-packages/docutils/languages/__init__.py +0 -117
  66. venv/Lib/site-packages/docutils/languages/af.py +0 -58
  67. venv/Lib/site-packages/docutils/languages/ar.py +0 -60
  68. venv/Lib/site-packages/docutils/languages/ca.py +0 -65
  69. venv/Lib/site-packages/docutils/languages/cs.py +0 -60
  70. venv/Lib/site-packages/docutils/languages/da.py +0 -61
  71. venv/Lib/site-packages/docutils/languages/de.py +0 -58
  72. venv/Lib/site-packages/docutils/languages/en.py +0 -60
  73. venv/Lib/site-packages/docutils/languages/eo.py +0 -61
  74. venv/Lib/site-packages/docutils/languages/es.py +0 -58
  75. venv/Lib/site-packages/docutils/languages/fa.py +0 -60
  76. venv/Lib/site-packages/docutils/languages/fi.py +0 -60
  77. venv/Lib/site-packages/docutils/languages/fr.py +0 -58
  78. venv/Lib/site-packages/docutils/languages/gl.py +0 -62
  79. venv/Lib/site-packages/docutils/languages/he.py +0 -62
  80. venv/Lib/site-packages/docutils/languages/it.py +0 -58
  81. venv/Lib/site-packages/docutils/languages/ja.py +0 -60
  82. venv/Lib/site-packages/docutils/languages/ka.py +0 -58
  83. venv/Lib/site-packages/docutils/languages/ko.py +0 -60
  84. venv/Lib/site-packages/docutils/languages/lt.py +0 -60
  85. venv/Lib/site-packages/docutils/languages/lv.py +0 -59
  86. venv/Lib/site-packages/docutils/languages/nl.py +0 -60
  87. venv/Lib/site-packages/docutils/languages/pl.py +0 -60
  88. venv/Lib/site-packages/docutils/languages/pt_br.py +0 -60
  89. venv/Lib/site-packages/docutils/languages/ru.py +0 -58
  90. venv/Lib/site-packages/docutils/languages/sk.py +0 -58
  91. venv/Lib/site-packages/docutils/languages/sv.py +0 -59
  92. venv/Lib/site-packages/docutils/languages/uk.py +0 -58
  93. venv/Lib/site-packages/docutils/languages/zh_cn.py +0 -62
  94. venv/Lib/site-packages/docutils/languages/zh_tw.py +0 -61
  95. venv/Lib/site-packages/docutils/nodes.py +0 -3341
  96. venv/Lib/site-packages/docutils/parsers/__init__.py +0 -115
  97. venv/Lib/site-packages/docutils/parsers/commonmark_wrapper.py +0 -56
  98. venv/Lib/site-packages/docutils/parsers/docutils_xml.py +0 -194
  99. venv/Lib/site-packages/docutils/parsers/null.py +0 -24
  100. venv/Lib/site-packages/docutils/parsers/recommonmark_wrapper.py +0 -174
  101. venv/Lib/site-packages/docutils/parsers/rst/__init__.py +0 -414
  102. venv/Lib/site-packages/docutils/parsers/rst/directives/__init__.py +0 -480
  103. venv/Lib/site-packages/docutils/parsers/rst/directives/admonitions.py +0 -101
  104. venv/Lib/site-packages/docutils/parsers/rst/directives/body.py +0 -318
  105. venv/Lib/site-packages/docutils/parsers/rst/directives/html.py +0 -21
  106. venv/Lib/site-packages/docutils/parsers/rst/directives/images.py +0 -186
  107. venv/Lib/site-packages/docutils/parsers/rst/directives/misc.py +0 -690
  108. venv/Lib/site-packages/docutils/parsers/rst/directives/parts.py +0 -126
  109. venv/Lib/site-packages/docutils/parsers/rst/directives/references.py +0 -28
  110. venv/Lib/site-packages/docutils/parsers/rst/directives/tables.py +0 -523
  111. venv/Lib/site-packages/docutils/parsers/rst/languages/__init__.py +0 -63
  112. venv/Lib/site-packages/docutils/parsers/rst/languages/af.py +0 -107
  113. venv/Lib/site-packages/docutils/parsers/rst/languages/ar.py +0 -99
  114. venv/Lib/site-packages/docutils/parsers/rst/languages/ca.py +0 -130
  115. venv/Lib/site-packages/docutils/parsers/rst/languages/cs.py +0 -110
  116. venv/Lib/site-packages/docutils/parsers/rst/languages/da.py +0 -113
  117. venv/Lib/site-packages/docutils/parsers/rst/languages/de.py +0 -106
  118. venv/Lib/site-packages/docutils/parsers/rst/languages/en.py +0 -115
  119. venv/Lib/site-packages/docutils/parsers/rst/languages/eo.py +0 -118
  120. venv/Lib/site-packages/docutils/parsers/rst/languages/es.py +0 -121
  121. venv/Lib/site-packages/docutils/parsers/rst/languages/fa.py +0 -102
  122. venv/Lib/site-packages/docutils/parsers/rst/languages/fi.py +0 -98
  123. venv/Lib/site-packages/docutils/parsers/rst/languages/fr.py +0 -107
  124. venv/Lib/site-packages/docutils/parsers/rst/languages/gl.py +0 -106
  125. venv/Lib/site-packages/docutils/parsers/rst/languages/he.py +0 -110
  126. venv/Lib/site-packages/docutils/parsers/rst/languages/it.py +0 -98
  127. venv/Lib/site-packages/docutils/parsers/rst/languages/ja.py +0 -119
  128. venv/Lib/site-packages/docutils/parsers/rst/languages/ka.py +0 -89
  129. venv/Lib/site-packages/docutils/parsers/rst/languages/ko.py +0 -111
  130. venv/Lib/site-packages/docutils/parsers/rst/languages/lt.py +0 -109
  131. venv/Lib/site-packages/docutils/parsers/rst/languages/lv.py +0 -108
  132. venv/Lib/site-packages/docutils/parsers/rst/languages/nl.py +0 -113
  133. venv/Lib/site-packages/docutils/parsers/rst/languages/pl.py +0 -100
  134. venv/Lib/site-packages/docutils/parsers/rst/languages/pt_br.py +0 -109
  135. venv/Lib/site-packages/docutils/parsers/rst/languages/ru.py +0 -90
  136. venv/Lib/site-packages/docutils/parsers/rst/languages/sk.py +0 -96
  137. venv/Lib/site-packages/docutils/parsers/rst/languages/sv.py +0 -96
  138. venv/Lib/site-packages/docutils/parsers/rst/languages/uk.py +0 -91
  139. venv/Lib/site-packages/docutils/parsers/rst/languages/zh_cn.py +0 -104
  140. venv/Lib/site-packages/docutils/parsers/rst/languages/zh_tw.py +0 -109
  141. venv/Lib/site-packages/docutils/parsers/rst/roles.py +0 -450
  142. venv/Lib/site-packages/docutils/parsers/rst/states.py +0 -3255
  143. venv/Lib/site-packages/docutils/parsers/rst/tableparser.py +0 -540
  144. venv/Lib/site-packages/docutils/readers/__init__.py +0 -135
  145. venv/Lib/site-packages/docutils/readers/doctree.py +0 -50
  146. venv/Lib/site-packages/docutils/readers/pep.py +0 -55
  147. venv/Lib/site-packages/docutils/readers/standalone.py +0 -65
  148. venv/Lib/site-packages/docutils/statemachine.py +0 -1534
  149. venv/Lib/site-packages/docutils/transforms/__init__.py +0 -196
  150. venv/Lib/site-packages/docutils/transforms/components.py +0 -56
  151. venv/Lib/site-packages/docutils/transforms/frontmatter.py +0 -548
  152. venv/Lib/site-packages/docutils/transforms/misc.py +0 -151
  153. venv/Lib/site-packages/docutils/transforms/parts.py +0 -175
  154. venv/Lib/site-packages/docutils/transforms/peps.py +0 -315
  155. venv/Lib/site-packages/docutils/transforms/references.py +0 -990
  156. venv/Lib/site-packages/docutils/transforms/universal.py +0 -364
  157. venv/Lib/site-packages/docutils/transforms/writer_aux.py +0 -57
  158. venv/Lib/site-packages/docutils/utils/__init__.py +0 -853
  159. venv/Lib/site-packages/docutils/utils/_roman_numerals.py +0 -264
  160. venv/Lib/site-packages/docutils/utils/_typing.py +0 -39
  161. venv/Lib/site-packages/docutils/utils/code_analyzer.py +0 -140
  162. venv/Lib/site-packages/docutils/utils/math/__init__.py +0 -77
  163. venv/Lib/site-packages/docutils/utils/math/latex2mathml.py +0 -1252
  164. venv/Lib/site-packages/docutils/utils/math/math2html.py +0 -3166
  165. venv/Lib/site-packages/docutils/utils/math/mathalphabet2unichar.py +0 -892
  166. venv/Lib/site-packages/docutils/utils/math/mathml_elements.py +0 -482
  167. venv/Lib/site-packages/docutils/utils/math/tex2mathml_extern.py +0 -263
  168. venv/Lib/site-packages/docutils/utils/math/tex2unichar.py +0 -730
  169. venv/Lib/site-packages/docutils/utils/math/unichar2tex.py +0 -808
  170. venv/Lib/site-packages/docutils/utils/punctuation_chars.py +0 -123
  171. venv/Lib/site-packages/docutils/utils/smartquotes.py +0 -1006
  172. venv/Lib/site-packages/docutils/utils/urischemes.py +0 -138
  173. venv/Lib/site-packages/docutils/writers/__init__.py +0 -277
  174. venv/Lib/site-packages/docutils/writers/_html_base.py +0 -1885
  175. venv/Lib/site-packages/docutils/writers/docutils_xml.py +0 -191
  176. venv/Lib/site-packages/docutils/writers/html4css1/__init__.py +0 -964
  177. venv/Lib/site-packages/docutils/writers/html5_polyglot/__init__.py +0 -396
  178. venv/Lib/site-packages/docutils/writers/latex2e/__init__.py +0 -3419
  179. venv/Lib/site-packages/docutils/writers/manpage.py +0 -1353
  180. venv/Lib/site-packages/docutils/writers/null.py +0 -28
  181. venv/Lib/site-packages/docutils/writers/odf_odt/__init__.py +0 -3461
  182. venv/Lib/site-packages/docutils/writers/odf_odt/prepstyles.py +0 -80
  183. venv/Lib/site-packages/docutils/writers/odf_odt/pygmentsformatter.py +0 -106
  184. venv/Lib/site-packages/docutils/writers/pep_html/__init__.py +0 -102
  185. venv/Lib/site-packages/docutils/writers/pseudoxml.py +0 -41
  186. venv/Lib/site-packages/docutils/writers/s5_html/__init__.py +0 -354
  187. venv/Lib/site-packages/docutils/writers/xetex/__init__.py +0 -168
  188. venv/Lib/site-packages/id/__init__.py +0 -91
  189. venv/Lib/site-packages/id/__main__.py +0 -88
  190. venv/Lib/site-packages/id/_internal/oidc/__init__.py +0 -13
  191. venv/Lib/site-packages/id/_internal/oidc/ambient.py +0 -328
  192. venv/Lib/site-packages/idna/__init__.py +0 -45
  193. venv/Lib/site-packages/idna/codec.py +0 -122
  194. venv/Lib/site-packages/idna/compat.py +0 -15
  195. venv/Lib/site-packages/idna/core.py +0 -437
  196. venv/Lib/site-packages/idna/idnadata.py +0 -4309
  197. venv/Lib/site-packages/idna/intranges.py +0 -57
  198. venv/Lib/site-packages/idna/package_data.py +0 -1
  199. venv/Lib/site-packages/idna/py.typed +0 -0
  200. venv/Lib/site-packages/idna/uts46data.py +0 -8841
  201. venv/Lib/site-packages/jaraco/classes/__init__.py +0 -0
  202. venv/Lib/site-packages/jaraco/classes/ancestry.py +0 -76
  203. venv/Lib/site-packages/jaraco/classes/meta.py +0 -85
  204. venv/Lib/site-packages/jaraco/classes/properties.py +0 -241
  205. venv/Lib/site-packages/jaraco/classes/py.typed +0 -0
  206. venv/Lib/site-packages/jaraco/context/__init__.py +0 -356
  207. venv/Lib/site-packages/jaraco/context/py.typed +0 -0
  208. venv/Lib/site-packages/jaraco/functools/__init__.py +0 -714
  209. venv/Lib/site-packages/jaraco/functools/__init__.pyi +0 -123
  210. venv/Lib/site-packages/jaraco/functools/py.typed +0 -0
  211. venv/Lib/site-packages/jnius/__init__.py +0 -89
  212. venv/Lib/site-packages/jnius/env.py +0 -378
  213. venv/Lib/site-packages/jnius/reflect.py +0 -440
  214. venv/Lib/site-packages/jnius/signatures.py +0 -105
  215. venv/Lib/site-packages/jnius_config.py +0 -112
  216. venv/Lib/site-packages/keyring/__init__.py +0 -17
  217. venv/Lib/site-packages/keyring/__main__.py +0 -4
  218. venv/Lib/site-packages/keyring/backend.py +0 -300
  219. venv/Lib/site-packages/keyring/backends/SecretService.py +0 -120
  220. venv/Lib/site-packages/keyring/backends/Windows.py +0 -168
  221. venv/Lib/site-packages/keyring/backends/__init__.py +0 -0
  222. venv/Lib/site-packages/keyring/backends/chainer.py +0 -71
  223. venv/Lib/site-packages/keyring/backends/fail.py +0 -30
  224. venv/Lib/site-packages/keyring/backends/kwallet.py +0 -164
  225. venv/Lib/site-packages/keyring/backends/libsecret.py +0 -155
  226. venv/Lib/site-packages/keyring/backends/macOS/__init__.py +0 -85
  227. venv/Lib/site-packages/keyring/backends/macOS/api.py +0 -184
  228. venv/Lib/site-packages/keyring/backends/null.py +0 -20
  229. venv/Lib/site-packages/keyring/cli.py +0 -220
  230. venv/Lib/site-packages/keyring/compat/__init__.py +0 -7
  231. venv/Lib/site-packages/keyring/compat/properties.py +0 -169
  232. venv/Lib/site-packages/keyring/compat/py312.py +0 -9
  233. venv/Lib/site-packages/keyring/compat/py38.py +0 -9
  234. venv/Lib/site-packages/keyring/completion.py +0 -56
  235. venv/Lib/site-packages/keyring/core.py +0 -200
  236. venv/Lib/site-packages/keyring/credentials.py +0 -85
  237. venv/Lib/site-packages/keyring/devpi_client.py +0 -29
  238. venv/Lib/site-packages/keyring/errors.py +0 -67
  239. venv/Lib/site-packages/keyring/http.py +0 -39
  240. venv/Lib/site-packages/keyring/py.typed +0 -0
  241. venv/Lib/site-packages/keyring/testing/__init__.py +0 -0
  242. venv/Lib/site-packages/keyring/testing/backend.py +0 -200
  243. venv/Lib/site-packages/keyring/testing/util.py +0 -68
  244. venv/Lib/site-packages/keyring/util/__init__.py +0 -11
  245. venv/Lib/site-packages/keyring/util/platform_.py +0 -40
  246. venv/Lib/site-packages/markdown_it/__init__.py +0 -6
  247. venv/Lib/site-packages/markdown_it/_compat.py +0 -1
  248. venv/Lib/site-packages/markdown_it/_punycode.py +0 -67
  249. venv/Lib/site-packages/markdown_it/cli/__init__.py +0 -0
  250. venv/Lib/site-packages/markdown_it/cli/parse.py +0 -110
  251. venv/Lib/site-packages/markdown_it/common/__init__.py +0 -0
  252. venv/Lib/site-packages/markdown_it/common/entities.py +0 -5
  253. venv/Lib/site-packages/markdown_it/common/html_blocks.py +0 -69
  254. venv/Lib/site-packages/markdown_it/common/html_re.py +0 -39
  255. venv/Lib/site-packages/markdown_it/common/normalize_url.py +0 -81
  256. venv/Lib/site-packages/markdown_it/common/utils.py +0 -313
  257. venv/Lib/site-packages/markdown_it/helpers/__init__.py +0 -6
  258. venv/Lib/site-packages/markdown_it/helpers/parse_link_destination.py +0 -83
  259. venv/Lib/site-packages/markdown_it/helpers/parse_link_label.py +0 -44
  260. venv/Lib/site-packages/markdown_it/helpers/parse_link_title.py +0 -75
  261. venv/Lib/site-packages/markdown_it/main.py +0 -350
  262. venv/Lib/site-packages/markdown_it/parser_block.py +0 -113
  263. venv/Lib/site-packages/markdown_it/parser_core.py +0 -46
  264. venv/Lib/site-packages/markdown_it/parser_inline.py +0 -148
  265. venv/Lib/site-packages/markdown_it/presets/__init__.py +0 -28
  266. venv/Lib/site-packages/markdown_it/presets/commonmark.py +0 -75
  267. venv/Lib/site-packages/markdown_it/presets/default.py +0 -36
  268. venv/Lib/site-packages/markdown_it/presets/zero.py +0 -44
  269. venv/Lib/site-packages/markdown_it/py.typed +0 -1
  270. venv/Lib/site-packages/markdown_it/renderer.py +0 -336
  271. venv/Lib/site-packages/markdown_it/ruler.py +0 -275
  272. venv/Lib/site-packages/markdown_it/rules_block/__init__.py +0 -27
  273. venv/Lib/site-packages/markdown_it/rules_block/blockquote.py +0 -299
  274. venv/Lib/site-packages/markdown_it/rules_block/code.py +0 -36
  275. venv/Lib/site-packages/markdown_it/rules_block/fence.py +0 -101
  276. venv/Lib/site-packages/markdown_it/rules_block/heading.py +0 -69
  277. venv/Lib/site-packages/markdown_it/rules_block/hr.py +0 -56
  278. venv/Lib/site-packages/markdown_it/rules_block/html_block.py +0 -90
  279. venv/Lib/site-packages/markdown_it/rules_block/lheading.py +0 -86
  280. venv/Lib/site-packages/markdown_it/rules_block/list.py +0 -345
  281. venv/Lib/site-packages/markdown_it/rules_block/paragraph.py +0 -66
  282. venv/Lib/site-packages/markdown_it/rules_block/reference.py +0 -235
  283. venv/Lib/site-packages/markdown_it/rules_block/state_block.py +0 -261
  284. venv/Lib/site-packages/markdown_it/rules_block/table.py +0 -250
  285. venv/Lib/site-packages/markdown_it/rules_core/__init__.py +0 -19
  286. venv/Lib/site-packages/markdown_it/rules_core/block.py +0 -13
  287. venv/Lib/site-packages/markdown_it/rules_core/inline.py +0 -10
  288. venv/Lib/site-packages/markdown_it/rules_core/linkify.py +0 -149
  289. venv/Lib/site-packages/markdown_it/rules_core/normalize.py +0 -19
  290. venv/Lib/site-packages/markdown_it/rules_core/replacements.py +0 -127
  291. venv/Lib/site-packages/markdown_it/rules_core/smartquotes.py +0 -202
  292. venv/Lib/site-packages/markdown_it/rules_core/state_core.py +0 -25
  293. venv/Lib/site-packages/markdown_it/rules_core/text_join.py +0 -35
  294. venv/Lib/site-packages/markdown_it/rules_inline/__init__.py +0 -31
  295. venv/Lib/site-packages/markdown_it/rules_inline/autolink.py +0 -77
  296. venv/Lib/site-packages/markdown_it/rules_inline/backticks.py +0 -72
  297. venv/Lib/site-packages/markdown_it/rules_inline/balance_pairs.py +0 -138
  298. venv/Lib/site-packages/markdown_it/rules_inline/emphasis.py +0 -102
  299. venv/Lib/site-packages/markdown_it/rules_inline/entity.py +0 -53
  300. venv/Lib/site-packages/markdown_it/rules_inline/escape.py +0 -93
  301. venv/Lib/site-packages/markdown_it/rules_inline/fragments_join.py +0 -43
  302. venv/Lib/site-packages/markdown_it/rules_inline/html_inline.py +0 -43
  303. venv/Lib/site-packages/markdown_it/rules_inline/image.py +0 -148
  304. venv/Lib/site-packages/markdown_it/rules_inline/link.py +0 -149
  305. venv/Lib/site-packages/markdown_it/rules_inline/linkify.py +0 -62
  306. venv/Lib/site-packages/markdown_it/rules_inline/newline.py +0 -44
  307. venv/Lib/site-packages/markdown_it/rules_inline/state_inline.py +0 -165
  308. venv/Lib/site-packages/markdown_it/rules_inline/strikethrough.py +0 -127
  309. venv/Lib/site-packages/markdown_it/rules_inline/text.py +0 -62
  310. venv/Lib/site-packages/markdown_it/token.py +0 -178
  311. venv/Lib/site-packages/markdown_it/tree.py +0 -333
  312. venv/Lib/site-packages/markdown_it/utils.py +0 -186
  313. venv/Lib/site-packages/mdurl/__init__.py +0 -18
  314. venv/Lib/site-packages/mdurl/_decode.py +0 -104
  315. venv/Lib/site-packages/mdurl/_encode.py +0 -85
  316. venv/Lib/site-packages/mdurl/_format.py +0 -27
  317. venv/Lib/site-packages/mdurl/_parse.py +0 -304
  318. venv/Lib/site-packages/mdurl/_url.py +0 -14
  319. venv/Lib/site-packages/mdurl/py.typed +0 -1
  320. venv/Lib/site-packages/more_itertools/__init__.py +0 -6
  321. venv/Lib/site-packages/more_itertools/__init__.pyi +0 -2
  322. venv/Lib/site-packages/more_itertools/more.py +0 -5303
  323. venv/Lib/site-packages/more_itertools/more.pyi +0 -949
  324. venv/Lib/site-packages/more_itertools/py.typed +0 -0
  325. venv/Lib/site-packages/more_itertools/recipes.py +0 -1471
  326. venv/Lib/site-packages/more_itertools/recipes.pyi +0 -205
  327. venv/Lib/site-packages/nh3/__init__.py +0 -5
  328. venv/Lib/site-packages/nh3/__init__.pyi +0 -41
  329. venv/Lib/site-packages/nh3/py.typed +0 -0
  330. venv/Lib/site-packages/packaging/__init__.py +0 -15
  331. venv/Lib/site-packages/packaging/_elffile.py +0 -109
  332. venv/Lib/site-packages/packaging/_manylinux.py +0 -262
  333. venv/Lib/site-packages/packaging/_musllinux.py +0 -85
  334. venv/Lib/site-packages/packaging/_parser.py +0 -353
  335. venv/Lib/site-packages/packaging/_structures.py +0 -61
  336. venv/Lib/site-packages/packaging/_tokenizer.py +0 -195
  337. venv/Lib/site-packages/packaging/licenses/__init__.py +0 -145
  338. venv/Lib/site-packages/packaging/licenses/_spdx.py +0 -759
  339. venv/Lib/site-packages/packaging/markers.py +0 -362
  340. venv/Lib/site-packages/packaging/metadata.py +0 -862
  341. venv/Lib/site-packages/packaging/py.typed +0 -0
  342. venv/Lib/site-packages/packaging/requirements.py +0 -91
  343. venv/Lib/site-packages/packaging/specifiers.py +0 -1019
  344. venv/Lib/site-packages/packaging/tags.py +0 -656
  345. venv/Lib/site-packages/packaging/utils.py +0 -163
  346. venv/Lib/site-packages/packaging/version.py +0 -582
  347. venv/Lib/site-packages/pip/__init__.py +0 -13
  348. venv/Lib/site-packages/pip/__main__.py +0 -24
  349. venv/Lib/site-packages/pip/__pip-runner__.py +0 -50
  350. venv/Lib/site-packages/pip/_internal/__init__.py +0 -18
  351. venv/Lib/site-packages/pip/_internal/build_env.py +0 -417
  352. venv/Lib/site-packages/pip/_internal/cache.py +0 -291
  353. venv/Lib/site-packages/pip/_internal/cli/__init__.py +0 -3
  354. venv/Lib/site-packages/pip/_internal/cli/autocompletion.py +0 -184
  355. venv/Lib/site-packages/pip/_internal/cli/base_command.py +0 -244
  356. venv/Lib/site-packages/pip/_internal/cli/cmdoptions.py +0 -1110
  357. venv/Lib/site-packages/pip/_internal/cli/command_context.py +0 -28
  358. venv/Lib/site-packages/pip/_internal/cli/index_command.py +0 -175
  359. venv/Lib/site-packages/pip/_internal/cli/main.py +0 -80
  360. venv/Lib/site-packages/pip/_internal/cli/main_parser.py +0 -134
  361. venv/Lib/site-packages/pip/_internal/cli/parser.py +0 -298
  362. venv/Lib/site-packages/pip/_internal/cli/progress_bars.py +0 -151
  363. venv/Lib/site-packages/pip/_internal/cli/req_command.py +0 -371
  364. venv/Lib/site-packages/pip/_internal/cli/spinners.py +0 -235
  365. venv/Lib/site-packages/pip/_internal/cli/status_codes.py +0 -6
  366. venv/Lib/site-packages/pip/_internal/commands/__init__.py +0 -139
  367. venv/Lib/site-packages/pip/_internal/commands/cache.py +0 -231
  368. venv/Lib/site-packages/pip/_internal/commands/check.py +0 -66
  369. venv/Lib/site-packages/pip/_internal/commands/completion.py +0 -135
  370. venv/Lib/site-packages/pip/_internal/commands/configuration.py +0 -288
  371. venv/Lib/site-packages/pip/_internal/commands/debug.py +0 -203
  372. venv/Lib/site-packages/pip/_internal/commands/download.py +0 -142
  373. venv/Lib/site-packages/pip/_internal/commands/freeze.py +0 -107
  374. venv/Lib/site-packages/pip/_internal/commands/hash.py +0 -58
  375. venv/Lib/site-packages/pip/_internal/commands/help.py +0 -40
  376. venv/Lib/site-packages/pip/_internal/commands/index.py +0 -159
  377. venv/Lib/site-packages/pip/_internal/commands/inspect.py +0 -92
  378. venv/Lib/site-packages/pip/_internal/commands/install.py +0 -803
  379. venv/Lib/site-packages/pip/_internal/commands/list.py +0 -400
  380. venv/Lib/site-packages/pip/_internal/commands/lock.py +0 -167
  381. venv/Lib/site-packages/pip/_internal/commands/search.py +0 -178
  382. venv/Lib/site-packages/pip/_internal/commands/show.py +0 -231
  383. venv/Lib/site-packages/pip/_internal/commands/uninstall.py +0 -113
  384. venv/Lib/site-packages/pip/_internal/commands/wheel.py +0 -176
  385. venv/Lib/site-packages/pip/_internal/configuration.py +0 -396
  386. venv/Lib/site-packages/pip/_internal/distributions/__init__.py +0 -21
  387. venv/Lib/site-packages/pip/_internal/distributions/base.py +0 -55
  388. venv/Lib/site-packages/pip/_internal/distributions/installed.py +0 -33
  389. venv/Lib/site-packages/pip/_internal/distributions/sdist.py +0 -164
  390. venv/Lib/site-packages/pip/_internal/distributions/wheel.py +0 -44
  391. venv/Lib/site-packages/pip/_internal/exceptions.py +0 -898
  392. venv/Lib/site-packages/pip/_internal/index/__init__.py +0 -1
  393. venv/Lib/site-packages/pip/_internal/index/collector.py +0 -489
  394. venv/Lib/site-packages/pip/_internal/index/package_finder.py +0 -1059
  395. venv/Lib/site-packages/pip/_internal/index/sources.py +0 -287
  396. venv/Lib/site-packages/pip/_internal/locations/__init__.py +0 -441
  397. venv/Lib/site-packages/pip/_internal/locations/_distutils.py +0 -173
  398. venv/Lib/site-packages/pip/_internal/locations/_sysconfig.py +0 -215
  399. venv/Lib/site-packages/pip/_internal/locations/base.py +0 -82
  400. venv/Lib/site-packages/pip/_internal/main.py +0 -12
  401. venv/Lib/site-packages/pip/_internal/metadata/__init__.py +0 -169
  402. venv/Lib/site-packages/pip/_internal/metadata/_json.py +0 -87
  403. venv/Lib/site-packages/pip/_internal/metadata/base.py +0 -685
  404. venv/Lib/site-packages/pip/_internal/metadata/importlib/__init__.py +0 -6
  405. venv/Lib/site-packages/pip/_internal/metadata/importlib/_compat.py +0 -87
  406. venv/Lib/site-packages/pip/_internal/metadata/importlib/_dists.py +0 -229
  407. venv/Lib/site-packages/pip/_internal/metadata/importlib/_envs.py +0 -143
  408. venv/Lib/site-packages/pip/_internal/metadata/pkg_resources.py +0 -298
  409. venv/Lib/site-packages/pip/_internal/models/__init__.py +0 -1
  410. venv/Lib/site-packages/pip/_internal/models/candidate.py +0 -25
  411. venv/Lib/site-packages/pip/_internal/models/direct_url.py +0 -227
  412. venv/Lib/site-packages/pip/_internal/models/format_control.py +0 -78
  413. venv/Lib/site-packages/pip/_internal/models/index.py +0 -28
  414. venv/Lib/site-packages/pip/_internal/models/installation_report.py +0 -57
  415. venv/Lib/site-packages/pip/_internal/models/link.py +0 -613
  416. venv/Lib/site-packages/pip/_internal/models/pylock.py +0 -188
  417. venv/Lib/site-packages/pip/_internal/models/scheme.py +0 -25
  418. venv/Lib/site-packages/pip/_internal/models/search_scope.py +0 -126
  419. venv/Lib/site-packages/pip/_internal/models/selection_prefs.py +0 -53
  420. venv/Lib/site-packages/pip/_internal/models/target_python.py +0 -122
  421. venv/Lib/site-packages/pip/_internal/models/wheel.py +0 -80
  422. venv/Lib/site-packages/pip/_internal/network/__init__.py +0 -1
  423. venv/Lib/site-packages/pip/_internal/network/auth.py +0 -564
  424. venv/Lib/site-packages/pip/_internal/network/cache.py +0 -128
  425. venv/Lib/site-packages/pip/_internal/network/download.py +0 -342
  426. venv/Lib/site-packages/pip/_internal/network/lazy_wheel.py +0 -215
  427. venv/Lib/site-packages/pip/_internal/network/session.py +0 -528
  428. venv/Lib/site-packages/pip/_internal/network/utils.py +0 -98
  429. venv/Lib/site-packages/pip/_internal/network/xmlrpc.py +0 -61
  430. venv/Lib/site-packages/pip/_internal/operations/__init__.py +0 -0
  431. venv/Lib/site-packages/pip/_internal/operations/build/__init__.py +0 -0
  432. venv/Lib/site-packages/pip/_internal/operations/build/build_tracker.py +0 -140
  433. venv/Lib/site-packages/pip/_internal/operations/build/metadata.py +0 -38
  434. venv/Lib/site-packages/pip/_internal/operations/build/metadata_editable.py +0 -41
  435. venv/Lib/site-packages/pip/_internal/operations/build/wheel.py +0 -38
  436. venv/Lib/site-packages/pip/_internal/operations/build/wheel_editable.py +0 -47
  437. venv/Lib/site-packages/pip/_internal/operations/check.py +0 -175
  438. venv/Lib/site-packages/pip/_internal/operations/freeze.py +0 -259
  439. venv/Lib/site-packages/pip/_internal/operations/install/__init__.py +0 -1
  440. venv/Lib/site-packages/pip/_internal/operations/install/wheel.py +0 -746
  441. venv/Lib/site-packages/pip/_internal/operations/prepare.py +0 -748
  442. venv/Lib/site-packages/pip/_internal/pyproject.py +0 -123
  443. venv/Lib/site-packages/pip/_internal/req/__init__.py +0 -103
  444. venv/Lib/site-packages/pip/_internal/req/constructors.py +0 -566
  445. venv/Lib/site-packages/pip/_internal/req/req_dependency_group.py +0 -75
  446. venv/Lib/site-packages/pip/_internal/req/req_file.py +0 -619
  447. venv/Lib/site-packages/pip/_internal/req/req_install.py +0 -828
  448. venv/Lib/site-packages/pip/_internal/req/req_set.py +0 -81
  449. venv/Lib/site-packages/pip/_internal/req/req_uninstall.py +0 -639
  450. venv/Lib/site-packages/pip/_internal/resolution/__init__.py +0 -0
  451. venv/Lib/site-packages/pip/_internal/resolution/base.py +0 -20
  452. venv/Lib/site-packages/pip/_internal/resolution/legacy/__init__.py +0 -0
  453. venv/Lib/site-packages/pip/_internal/resolution/legacy/resolver.py +0 -598
  454. venv/Lib/site-packages/pip/_internal/resolution/resolvelib/__init__.py +0 -0
  455. venv/Lib/site-packages/pip/_internal/resolution/resolvelib/base.py +0 -142
  456. venv/Lib/site-packages/pip/_internal/resolution/resolvelib/candidates.py +0 -591
  457. venv/Lib/site-packages/pip/_internal/resolution/resolvelib/factory.py +0 -845
  458. venv/Lib/site-packages/pip/_internal/resolution/resolvelib/found_candidates.py +0 -166
  459. venv/Lib/site-packages/pip/_internal/resolution/resolvelib/provider.py +0 -285
  460. venv/Lib/site-packages/pip/_internal/resolution/resolvelib/reporter.py +0 -98
  461. venv/Lib/site-packages/pip/_internal/resolution/resolvelib/requirements.py +0 -247
  462. venv/Lib/site-packages/pip/_internal/resolution/resolvelib/resolver.py +0 -332
  463. venv/Lib/site-packages/pip/_internal/self_outdated_check.py +0 -262
  464. venv/Lib/site-packages/pip/_internal/utils/__init__.py +0 -0
  465. venv/Lib/site-packages/pip/_internal/utils/_jaraco_text.py +0 -109
  466. venv/Lib/site-packages/pip/_internal/utils/_log.py +0 -38
  467. venv/Lib/site-packages/pip/_internal/utils/appdirs.py +0 -52
  468. venv/Lib/site-packages/pip/_internal/utils/compat.py +0 -85
  469. venv/Lib/site-packages/pip/_internal/utils/compatibility_tags.py +0 -201
  470. venv/Lib/site-packages/pip/_internal/utils/datetime.py +0 -10
  471. venv/Lib/site-packages/pip/_internal/utils/deprecation.py +0 -126
  472. venv/Lib/site-packages/pip/_internal/utils/direct_url_helpers.py +0 -87
  473. venv/Lib/site-packages/pip/_internal/utils/egg_link.py +0 -81
  474. venv/Lib/site-packages/pip/_internal/utils/entrypoints.py +0 -88
  475. venv/Lib/site-packages/pip/_internal/utils/filesystem.py +0 -164
  476. venv/Lib/site-packages/pip/_internal/utils/filetypes.py +0 -24
  477. venv/Lib/site-packages/pip/_internal/utils/glibc.py +0 -102
  478. venv/Lib/site-packages/pip/_internal/utils/hashes.py +0 -150
  479. venv/Lib/site-packages/pip/_internal/utils/logging.py +0 -364
  480. venv/Lib/site-packages/pip/_internal/utils/misc.py +0 -765
  481. venv/Lib/site-packages/pip/_internal/utils/packaging.py +0 -44
  482. venv/Lib/site-packages/pip/_internal/utils/retry.py +0 -45
  483. venv/Lib/site-packages/pip/_internal/utils/subprocess.py +0 -248
  484. venv/Lib/site-packages/pip/_internal/utils/temp_dir.py +0 -294
  485. venv/Lib/site-packages/pip/_internal/utils/unpacking.py +0 -362
  486. venv/Lib/site-packages/pip/_internal/utils/urls.py +0 -55
  487. venv/Lib/site-packages/pip/_internal/utils/virtualenv.py +0 -105
  488. venv/Lib/site-packages/pip/_internal/utils/wheel.py +0 -132
  489. venv/Lib/site-packages/pip/_internal/vcs/__init__.py +0 -15
  490. venv/Lib/site-packages/pip/_internal/vcs/bazaar.py +0 -130
  491. venv/Lib/site-packages/pip/_internal/vcs/git.py +0 -571
  492. venv/Lib/site-packages/pip/_internal/vcs/mercurial.py +0 -186
  493. venv/Lib/site-packages/pip/_internal/vcs/subversion.py +0 -335
  494. venv/Lib/site-packages/pip/_internal/vcs/versioncontrol.py +0 -693
  495. venv/Lib/site-packages/pip/_internal/wheel_builder.py +0 -261
  496. venv/Lib/site-packages/pip/_vendor/__init__.py +0 -117
  497. venv/Lib/site-packages/pip/_vendor/cachecontrol/__init__.py +0 -29
  498. venv/Lib/site-packages/pip/_vendor/cachecontrol/_cmd.py +0 -70
  499. venv/Lib/site-packages/pip/_vendor/cachecontrol/adapter.py +0 -168
  500. venv/Lib/site-packages/pip/_vendor/cachecontrol/cache.py +0 -75
  501. venv/Lib/site-packages/pip/_vendor/cachecontrol/caches/__init__.py +0 -8
  502. venv/Lib/site-packages/pip/_vendor/cachecontrol/caches/file_cache.py +0 -145
  503. venv/Lib/site-packages/pip/_vendor/cachecontrol/caches/redis_cache.py +0 -48
  504. venv/Lib/site-packages/pip/_vendor/cachecontrol/controller.py +0 -511
  505. venv/Lib/site-packages/pip/_vendor/cachecontrol/filewrapper.py +0 -119
  506. venv/Lib/site-packages/pip/_vendor/cachecontrol/heuristics.py +0 -157
  507. venv/Lib/site-packages/pip/_vendor/cachecontrol/py.typed +0 -0
  508. venv/Lib/site-packages/pip/_vendor/cachecontrol/serialize.py +0 -146
  509. venv/Lib/site-packages/pip/_vendor/cachecontrol/wrapper.py +0 -43
  510. venv/Lib/site-packages/pip/_vendor/certifi/__init__.py +0 -4
  511. venv/Lib/site-packages/pip/_vendor/certifi/__main__.py +0 -12
  512. venv/Lib/site-packages/pip/_vendor/certifi/core.py +0 -83
  513. venv/Lib/site-packages/pip/_vendor/certifi/py.typed +0 -0
  514. venv/Lib/site-packages/pip/_vendor/dependency_groups/__init__.py +0 -13
  515. venv/Lib/site-packages/pip/_vendor/dependency_groups/__main__.py +0 -65
  516. venv/Lib/site-packages/pip/_vendor/dependency_groups/_implementation.py +0 -209
  517. venv/Lib/site-packages/pip/_vendor/dependency_groups/_lint_dependency_groups.py +0 -59
  518. venv/Lib/site-packages/pip/_vendor/dependency_groups/_pip_wrapper.py +0 -62
  519. venv/Lib/site-packages/pip/_vendor/dependency_groups/_toml_compat.py +0 -9
  520. venv/Lib/site-packages/pip/_vendor/dependency_groups/py.typed +0 -0
  521. venv/Lib/site-packages/pip/_vendor/distlib/__init__.py +0 -33
  522. venv/Lib/site-packages/pip/_vendor/distlib/compat.py +0 -1137
  523. venv/Lib/site-packages/pip/_vendor/distlib/resources.py +0 -358
  524. venv/Lib/site-packages/pip/_vendor/distlib/scripts.py +0 -447
  525. venv/Lib/site-packages/pip/_vendor/distlib/util.py +0 -1984
  526. venv/Lib/site-packages/pip/_vendor/distro/__init__.py +0 -54
  527. venv/Lib/site-packages/pip/_vendor/distro/__main__.py +0 -4
  528. venv/Lib/site-packages/pip/_vendor/distro/distro.py +0 -1403
  529. venv/Lib/site-packages/pip/_vendor/distro/py.typed +0 -0
  530. venv/Lib/site-packages/pip/_vendor/idna/__init__.py +0 -45
  531. venv/Lib/site-packages/pip/_vendor/idna/codec.py +0 -122
  532. venv/Lib/site-packages/pip/_vendor/idna/compat.py +0 -15
  533. venv/Lib/site-packages/pip/_vendor/idna/core.py +0 -437
  534. venv/Lib/site-packages/pip/_vendor/idna/idnadata.py +0 -4243
  535. venv/Lib/site-packages/pip/_vendor/idna/intranges.py +0 -57
  536. venv/Lib/site-packages/pip/_vendor/idna/package_data.py +0 -1
  537. venv/Lib/site-packages/pip/_vendor/idna/py.typed +0 -0
  538. venv/Lib/site-packages/pip/_vendor/idna/uts46data.py +0 -8681
  539. venv/Lib/site-packages/pip/_vendor/msgpack/__init__.py +0 -55
  540. venv/Lib/site-packages/pip/_vendor/msgpack/exceptions.py +0 -48
  541. venv/Lib/site-packages/pip/_vendor/msgpack/ext.py +0 -170
  542. venv/Lib/site-packages/pip/_vendor/msgpack/fallback.py +0 -929
  543. venv/Lib/site-packages/pip/_vendor/packaging/__init__.py +0 -15
  544. venv/Lib/site-packages/pip/_vendor/packaging/_elffile.py +0 -109
  545. venv/Lib/site-packages/pip/_vendor/packaging/_manylinux.py +0 -262
  546. venv/Lib/site-packages/pip/_vendor/packaging/_musllinux.py +0 -85
  547. venv/Lib/site-packages/pip/_vendor/packaging/_parser.py +0 -353
  548. venv/Lib/site-packages/pip/_vendor/packaging/_structures.py +0 -61
  549. venv/Lib/site-packages/pip/_vendor/packaging/_tokenizer.py +0 -195
  550. venv/Lib/site-packages/pip/_vendor/packaging/licenses/__init__.py +0 -145
  551. venv/Lib/site-packages/pip/_vendor/packaging/licenses/_spdx.py +0 -759
  552. venv/Lib/site-packages/pip/_vendor/packaging/markers.py +0 -362
  553. venv/Lib/site-packages/pip/_vendor/packaging/metadata.py +0 -862
  554. venv/Lib/site-packages/pip/_vendor/packaging/py.typed +0 -0
  555. venv/Lib/site-packages/pip/_vendor/packaging/requirements.py +0 -91
  556. venv/Lib/site-packages/pip/_vendor/packaging/specifiers.py +0 -1019
  557. venv/Lib/site-packages/pip/_vendor/packaging/tags.py +0 -656
  558. venv/Lib/site-packages/pip/_vendor/packaging/utils.py +0 -163
  559. venv/Lib/site-packages/pip/_vendor/packaging/version.py +0 -582
  560. venv/Lib/site-packages/pip/_vendor/pkg_resources/__init__.py +0 -3676
  561. venv/Lib/site-packages/pip/_vendor/platformdirs/__init__.py +0 -631
  562. venv/Lib/site-packages/pip/_vendor/platformdirs/__main__.py +0 -55
  563. venv/Lib/site-packages/pip/_vendor/platformdirs/android.py +0 -249
  564. venv/Lib/site-packages/pip/_vendor/platformdirs/api.py +0 -299
  565. venv/Lib/site-packages/pip/_vendor/platformdirs/macos.py +0 -146
  566. venv/Lib/site-packages/pip/_vendor/platformdirs/py.typed +0 -0
  567. venv/Lib/site-packages/pip/_vendor/platformdirs/unix.py +0 -272
  568. venv/Lib/site-packages/pip/_vendor/platformdirs/version.py +0 -34
  569. venv/Lib/site-packages/pip/_vendor/platformdirs/windows.py +0 -272
  570. venv/Lib/site-packages/pip/_vendor/pygments/__init__.py +0 -82
  571. venv/Lib/site-packages/pip/_vendor/pygments/__main__.py +0 -17
  572. venv/Lib/site-packages/pip/_vendor/pygments/console.py +0 -70
  573. venv/Lib/site-packages/pip/_vendor/pygments/filter.py +0 -70
  574. venv/Lib/site-packages/pip/_vendor/pygments/filters/__init__.py +0 -940
  575. venv/Lib/site-packages/pip/_vendor/pygments/formatter.py +0 -129
  576. venv/Lib/site-packages/pip/_vendor/pygments/formatters/__init__.py +0 -157
  577. venv/Lib/site-packages/pip/_vendor/pygments/formatters/_mapping.py +0 -23
  578. venv/Lib/site-packages/pip/_vendor/pygments/lexer.py +0 -963
  579. venv/Lib/site-packages/pip/_vendor/pygments/lexers/__init__.py +0 -362
  580. venv/Lib/site-packages/pip/_vendor/pygments/lexers/_mapping.py +0 -602
  581. venv/Lib/site-packages/pip/_vendor/pygments/lexers/python.py +0 -1201
  582. venv/Lib/site-packages/pip/_vendor/pygments/modeline.py +0 -43
  583. venv/Lib/site-packages/pip/_vendor/pygments/plugin.py +0 -72
  584. venv/Lib/site-packages/pip/_vendor/pygments/regexopt.py +0 -91
  585. venv/Lib/site-packages/pip/_vendor/pygments/scanner.py +0 -104
  586. venv/Lib/site-packages/pip/_vendor/pygments/sphinxext.py +0 -247
  587. venv/Lib/site-packages/pip/_vendor/pygments/style.py +0 -203
  588. venv/Lib/site-packages/pip/_vendor/pygments/styles/__init__.py +0 -61
  589. venv/Lib/site-packages/pip/_vendor/pygments/styles/_mapping.py +0 -54
  590. venv/Lib/site-packages/pip/_vendor/pygments/token.py +0 -214
  591. venv/Lib/site-packages/pip/_vendor/pygments/unistring.py +0 -153
  592. venv/Lib/site-packages/pip/_vendor/pygments/util.py +0 -324
  593. venv/Lib/site-packages/pip/_vendor/pyproject_hooks/__init__.py +0 -31
  594. venv/Lib/site-packages/pip/_vendor/pyproject_hooks/_impl.py +0 -410
  595. venv/Lib/site-packages/pip/_vendor/pyproject_hooks/_in_process/__init__.py +0 -21
  596. venv/Lib/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py +0 -389
  597. venv/Lib/site-packages/pip/_vendor/pyproject_hooks/py.typed +0 -0
  598. venv/Lib/site-packages/pip/_vendor/requests/__init__.py +0 -179
  599. venv/Lib/site-packages/pip/_vendor/requests/__version__.py +0 -14
  600. venv/Lib/site-packages/pip/_vendor/requests/_internal_utils.py +0 -50
  601. venv/Lib/site-packages/pip/_vendor/requests/adapters.py +0 -696
  602. venv/Lib/site-packages/pip/_vendor/requests/api.py +0 -157
  603. venv/Lib/site-packages/pip/_vendor/requests/auth.py +0 -314
  604. venv/Lib/site-packages/pip/_vendor/requests/certs.py +0 -17
  605. venv/Lib/site-packages/pip/_vendor/requests/compat.py +0 -90
  606. venv/Lib/site-packages/pip/_vendor/requests/cookies.py +0 -561
  607. venv/Lib/site-packages/pip/_vendor/requests/exceptions.py +0 -151
  608. venv/Lib/site-packages/pip/_vendor/requests/help.py +0 -127
  609. venv/Lib/site-packages/pip/_vendor/requests/hooks.py +0 -33
  610. venv/Lib/site-packages/pip/_vendor/requests/models.py +0 -1039
  611. venv/Lib/site-packages/pip/_vendor/requests/packages.py +0 -25
  612. venv/Lib/site-packages/pip/_vendor/requests/sessions.py +0 -831
  613. venv/Lib/site-packages/pip/_vendor/requests/status_codes.py +0 -128
  614. venv/Lib/site-packages/pip/_vendor/requests/structures.py +0 -99
  615. venv/Lib/site-packages/pip/_vendor/requests/utils.py +0 -1086
  616. venv/Lib/site-packages/pip/_vendor/resolvelib/__init__.py +0 -27
  617. venv/Lib/site-packages/pip/_vendor/resolvelib/providers.py +0 -196
  618. venv/Lib/site-packages/pip/_vendor/resolvelib/py.typed +0 -0
  619. venv/Lib/site-packages/pip/_vendor/resolvelib/reporters.py +0 -55
  620. venv/Lib/site-packages/pip/_vendor/resolvelib/resolvers/__init__.py +0 -27
  621. venv/Lib/site-packages/pip/_vendor/resolvelib/resolvers/abstract.py +0 -47
  622. venv/Lib/site-packages/pip/_vendor/resolvelib/resolvers/criterion.py +0 -48
  623. venv/Lib/site-packages/pip/_vendor/resolvelib/resolvers/exceptions.py +0 -57
  624. venv/Lib/site-packages/pip/_vendor/resolvelib/resolvers/resolution.py +0 -627
  625. venv/Lib/site-packages/pip/_vendor/resolvelib/structs.py +0 -209
  626. venv/Lib/site-packages/pip/_vendor/rich/__init__.py +0 -177
  627. venv/Lib/site-packages/pip/_vendor/rich/__main__.py +0 -245
  628. venv/Lib/site-packages/pip/_vendor/rich/_cell_widths.py +0 -454
  629. venv/Lib/site-packages/pip/_vendor/rich/_emoji_codes.py +0 -3610
  630. venv/Lib/site-packages/pip/_vendor/rich/_emoji_replace.py +0 -32
  631. venv/Lib/site-packages/pip/_vendor/rich/_export_format.py +0 -76
  632. venv/Lib/site-packages/pip/_vendor/rich/_extension.py +0 -10
  633. venv/Lib/site-packages/pip/_vendor/rich/_fileno.py +0 -24
  634. venv/Lib/site-packages/pip/_vendor/rich/_inspect.py +0 -268
  635. venv/Lib/site-packages/pip/_vendor/rich/_log_render.py +0 -94
  636. venv/Lib/site-packages/pip/_vendor/rich/_loop.py +0 -43
  637. venv/Lib/site-packages/pip/_vendor/rich/_null_file.py +0 -69
  638. venv/Lib/site-packages/pip/_vendor/rich/_palettes.py +0 -309
  639. venv/Lib/site-packages/pip/_vendor/rich/_pick.py +0 -17
  640. venv/Lib/site-packages/pip/_vendor/rich/_ratio.py +0 -153
  641. venv/Lib/site-packages/pip/_vendor/rich/_spinners.py +0 -482
  642. venv/Lib/site-packages/pip/_vendor/rich/_stack.py +0 -16
  643. venv/Lib/site-packages/pip/_vendor/rich/_timer.py +0 -19
  644. venv/Lib/site-packages/pip/_vendor/rich/_win32_console.py +0 -661
  645. venv/Lib/site-packages/pip/_vendor/rich/_windows.py +0 -71
  646. venv/Lib/site-packages/pip/_vendor/rich/_windows_renderer.py +0 -56
  647. venv/Lib/site-packages/pip/_vendor/rich/_wrap.py +0 -93
  648. venv/Lib/site-packages/pip/_vendor/rich/abc.py +0 -33
  649. venv/Lib/site-packages/pip/_vendor/rich/align.py +0 -306
  650. venv/Lib/site-packages/pip/_vendor/rich/ansi.py +0 -241
  651. venv/Lib/site-packages/pip/_vendor/rich/bar.py +0 -93
  652. venv/Lib/site-packages/pip/_vendor/rich/box.py +0 -474
  653. venv/Lib/site-packages/pip/_vendor/rich/cells.py +0 -174
  654. venv/Lib/site-packages/pip/_vendor/rich/color.py +0 -621
  655. venv/Lib/site-packages/pip/_vendor/rich/color_triplet.py +0 -38
  656. venv/Lib/site-packages/pip/_vendor/rich/columns.py +0 -187
  657. venv/Lib/site-packages/pip/_vendor/rich/console.py +0 -2680
  658. venv/Lib/site-packages/pip/_vendor/rich/constrain.py +0 -37
  659. venv/Lib/site-packages/pip/_vendor/rich/containers.py +0 -167
  660. venv/Lib/site-packages/pip/_vendor/rich/control.py +0 -219
  661. venv/Lib/site-packages/pip/_vendor/rich/default_styles.py +0 -193
  662. venv/Lib/site-packages/pip/_vendor/rich/diagnose.py +0 -39
  663. venv/Lib/site-packages/pip/_vendor/rich/emoji.py +0 -91
  664. venv/Lib/site-packages/pip/_vendor/rich/errors.py +0 -34
  665. venv/Lib/site-packages/pip/_vendor/rich/file_proxy.py +0 -57
  666. venv/Lib/site-packages/pip/_vendor/rich/filesize.py +0 -88
  667. venv/Lib/site-packages/pip/_vendor/rich/highlighter.py +0 -232
  668. venv/Lib/site-packages/pip/_vendor/rich/json.py +0 -139
  669. venv/Lib/site-packages/pip/_vendor/rich/jupyter.py +0 -101
  670. venv/Lib/site-packages/pip/_vendor/rich/layout.py +0 -442
  671. venv/Lib/site-packages/pip/_vendor/rich/live.py +0 -400
  672. venv/Lib/site-packages/pip/_vendor/rich/live_render.py +0 -106
  673. venv/Lib/site-packages/pip/_vendor/rich/logging.py +0 -297
  674. venv/Lib/site-packages/pip/_vendor/rich/markup.py +0 -251
  675. venv/Lib/site-packages/pip/_vendor/rich/measure.py +0 -151
  676. venv/Lib/site-packages/pip/_vendor/rich/padding.py +0 -141
  677. venv/Lib/site-packages/pip/_vendor/rich/pager.py +0 -34
  678. venv/Lib/site-packages/pip/_vendor/rich/palette.py +0 -100
  679. venv/Lib/site-packages/pip/_vendor/rich/panel.py +0 -317
  680. venv/Lib/site-packages/pip/_vendor/rich/pretty.py +0 -1016
  681. venv/Lib/site-packages/pip/_vendor/rich/progress.py +0 -1715
  682. venv/Lib/site-packages/pip/_vendor/rich/progress_bar.py +0 -223
  683. venv/Lib/site-packages/pip/_vendor/rich/prompt.py +0 -400
  684. venv/Lib/site-packages/pip/_vendor/rich/protocol.py +0 -42
  685. venv/Lib/site-packages/pip/_vendor/rich/py.typed +0 -0
  686. venv/Lib/site-packages/pip/_vendor/rich/region.py +0 -10
  687. venv/Lib/site-packages/pip/_vendor/rich/repr.py +0 -149
  688. venv/Lib/site-packages/pip/_vendor/rich/rule.py +0 -130
  689. venv/Lib/site-packages/pip/_vendor/rich/scope.py +0 -86
  690. venv/Lib/site-packages/pip/_vendor/rich/screen.py +0 -54
  691. venv/Lib/site-packages/pip/_vendor/rich/segment.py +0 -752
  692. venv/Lib/site-packages/pip/_vendor/rich/spinner.py +0 -132
  693. venv/Lib/site-packages/pip/_vendor/rich/status.py +0 -131
  694. venv/Lib/site-packages/pip/_vendor/rich/style.py +0 -792
  695. venv/Lib/site-packages/pip/_vendor/rich/styled.py +0 -42
  696. venv/Lib/site-packages/pip/_vendor/rich/syntax.py +0 -985
  697. venv/Lib/site-packages/pip/_vendor/rich/table.py +0 -1006
  698. venv/Lib/site-packages/pip/_vendor/rich/terminal_theme.py +0 -153
  699. venv/Lib/site-packages/pip/_vendor/rich/text.py +0 -1361
  700. venv/Lib/site-packages/pip/_vendor/rich/theme.py +0 -115
  701. venv/Lib/site-packages/pip/_vendor/rich/themes.py +0 -5
  702. venv/Lib/site-packages/pip/_vendor/rich/traceback.py +0 -899
  703. venv/Lib/site-packages/pip/_vendor/rich/tree.py +0 -257
  704. venv/Lib/site-packages/pip/_vendor/tomli/__init__.py +0 -8
  705. venv/Lib/site-packages/pip/_vendor/tomli/_parser.py +0 -777
  706. venv/Lib/site-packages/pip/_vendor/tomli/_re.py +0 -115
  707. venv/Lib/site-packages/pip/_vendor/tomli/_types.py +0 -10
  708. venv/Lib/site-packages/pip/_vendor/tomli/py.typed +0 -1
  709. venv/Lib/site-packages/pip/_vendor/tomli_w/__init__.py +0 -4
  710. venv/Lib/site-packages/pip/_vendor/tomli_w/_writer.py +0 -229
  711. venv/Lib/site-packages/pip/_vendor/tomli_w/py.typed +0 -1
  712. venv/Lib/site-packages/pip/_vendor/truststore/__init__.py +0 -36
  713. venv/Lib/site-packages/pip/_vendor/truststore/_api.py +0 -341
  714. venv/Lib/site-packages/pip/_vendor/truststore/_macos.py +0 -571
  715. venv/Lib/site-packages/pip/_vendor/truststore/_openssl.py +0 -68
  716. venv/Lib/site-packages/pip/_vendor/truststore/_ssl_constants.py +0 -31
  717. venv/Lib/site-packages/pip/_vendor/truststore/_windows.py +0 -567
  718. venv/Lib/site-packages/pip/_vendor/truststore/py.typed +0 -0
  719. venv/Lib/site-packages/pip/_vendor/urllib3/__init__.py +0 -102
  720. venv/Lib/site-packages/pip/_vendor/urllib3/_collections.py +0 -355
  721. venv/Lib/site-packages/pip/_vendor/urllib3/_version.py +0 -2
  722. venv/Lib/site-packages/pip/_vendor/urllib3/connection.py +0 -572
  723. venv/Lib/site-packages/pip/_vendor/urllib3/connectionpool.py +0 -1140
  724. venv/Lib/site-packages/pip/_vendor/urllib3/contrib/__init__.py +0 -0
  725. venv/Lib/site-packages/pip/_vendor/urllib3/contrib/_appengine_environ.py +0 -36
  726. venv/Lib/site-packages/pip/_vendor/urllib3/contrib/_securetransport/__init__.py +0 -0
  727. venv/Lib/site-packages/pip/_vendor/urllib3/contrib/_securetransport/bindings.py +0 -519
  728. venv/Lib/site-packages/pip/_vendor/urllib3/contrib/_securetransport/low_level.py +0 -397
  729. venv/Lib/site-packages/pip/_vendor/urllib3/contrib/appengine.py +0 -314
  730. venv/Lib/site-packages/pip/_vendor/urllib3/contrib/ntlmpool.py +0 -130
  731. venv/Lib/site-packages/pip/_vendor/urllib3/contrib/pyopenssl.py +0 -518
  732. venv/Lib/site-packages/pip/_vendor/urllib3/contrib/securetransport.py +0 -920
  733. venv/Lib/site-packages/pip/_vendor/urllib3/contrib/socks.py +0 -216
  734. venv/Lib/site-packages/pip/_vendor/urllib3/exceptions.py +0 -323
  735. venv/Lib/site-packages/pip/_vendor/urllib3/fields.py +0 -274
  736. venv/Lib/site-packages/pip/_vendor/urllib3/filepost.py +0 -98
  737. venv/Lib/site-packages/pip/_vendor/urllib3/packages/__init__.py +0 -0
  738. venv/Lib/site-packages/pip/_vendor/urllib3/packages/backports/__init__.py +0 -0
  739. venv/Lib/site-packages/pip/_vendor/urllib3/packages/backports/makefile.py +0 -51
  740. venv/Lib/site-packages/pip/_vendor/urllib3/packages/backports/weakref_finalize.py +0 -155
  741. venv/Lib/site-packages/pip/_vendor/urllib3/packages/six.py +0 -1076
  742. venv/Lib/site-packages/pip/_vendor/urllib3/poolmanager.py +0 -540
  743. venv/Lib/site-packages/pip/_vendor/urllib3/request.py +0 -191
  744. venv/Lib/site-packages/pip/_vendor/urllib3/response.py +0 -879
  745. venv/Lib/site-packages/pip/_vendor/urllib3/util/__init__.py +0 -49
  746. venv/Lib/site-packages/pip/_vendor/urllib3/util/connection.py +0 -149
  747. venv/Lib/site-packages/pip/_vendor/urllib3/util/proxy.py +0 -57
  748. venv/Lib/site-packages/pip/_vendor/urllib3/util/queue.py +0 -22
  749. venv/Lib/site-packages/pip/_vendor/urllib3/util/request.py +0 -137
  750. venv/Lib/site-packages/pip/_vendor/urllib3/util/response.py +0 -107
  751. venv/Lib/site-packages/pip/_vendor/urllib3/util/retry.py +0 -622
  752. venv/Lib/site-packages/pip/_vendor/urllib3/util/ssl_.py +0 -504
  753. venv/Lib/site-packages/pip/_vendor/urllib3/util/ssl_match_hostname.py +0 -159
  754. venv/Lib/site-packages/pip/_vendor/urllib3/util/ssltransport.py +0 -221
  755. venv/Lib/site-packages/pip/_vendor/urllib3/util/timeout.py +0 -271
  756. venv/Lib/site-packages/pip/_vendor/urllib3/util/url.py +0 -435
  757. venv/Lib/site-packages/pip/_vendor/urllib3/util/wait.py +0 -152
  758. venv/Lib/site-packages/pip/py.typed +0 -4
  759. venv/Lib/site-packages/pygments/__init__.py +0 -82
  760. venv/Lib/site-packages/pygments/__main__.py +0 -17
  761. venv/Lib/site-packages/pygments/cmdline.py +0 -668
  762. venv/Lib/site-packages/pygments/console.py +0 -70
  763. venv/Lib/site-packages/pygments/filter.py +0 -70
  764. venv/Lib/site-packages/pygments/filters/__init__.py +0 -940
  765. venv/Lib/site-packages/pygments/formatter.py +0 -129
  766. venv/Lib/site-packages/pygments/formatters/__init__.py +0 -157
  767. venv/Lib/site-packages/pygments/formatters/_mapping.py +0 -23
  768. venv/Lib/site-packages/pygments/formatters/bbcode.py +0 -108
  769. venv/Lib/site-packages/pygments/formatters/groff.py +0 -170
  770. venv/Lib/site-packages/pygments/formatters/html.py +0 -995
  771. venv/Lib/site-packages/pygments/formatters/img.py +0 -686
  772. venv/Lib/site-packages/pygments/formatters/irc.py +0 -154
  773. venv/Lib/site-packages/pygments/formatters/latex.py +0 -518
  774. venv/Lib/site-packages/pygments/formatters/other.py +0 -160
  775. venv/Lib/site-packages/pygments/formatters/pangomarkup.py +0 -83
  776. venv/Lib/site-packages/pygments/formatters/rtf.py +0 -349
  777. venv/Lib/site-packages/pygments/formatters/svg.py +0 -185
  778. venv/Lib/site-packages/pygments/formatters/terminal.py +0 -127
  779. venv/Lib/site-packages/pygments/formatters/terminal256.py +0 -338
  780. venv/Lib/site-packages/pygments/lexer.py +0 -961
  781. venv/Lib/site-packages/pygments/lexers/__init__.py +0 -362
  782. venv/Lib/site-packages/pygments/lexers/_ada_builtins.py +0 -103
  783. venv/Lib/site-packages/pygments/lexers/_asy_builtins.py +0 -1644
  784. venv/Lib/site-packages/pygments/lexers/_cl_builtins.py +0 -231
  785. venv/Lib/site-packages/pygments/lexers/_cocoa_builtins.py +0 -75
  786. venv/Lib/site-packages/pygments/lexers/_csound_builtins.py +0 -1780
  787. venv/Lib/site-packages/pygments/lexers/_css_builtins.py +0 -558
  788. venv/Lib/site-packages/pygments/lexers/_googlesql_builtins.py +0 -918
  789. venv/Lib/site-packages/pygments/lexers/_julia_builtins.py +0 -411
  790. venv/Lib/site-packages/pygments/lexers/_lasso_builtins.py +0 -5326
  791. venv/Lib/site-packages/pygments/lexers/_lilypond_builtins.py +0 -4932
  792. venv/Lib/site-packages/pygments/lexers/_lua_builtins.py +0 -285
  793. venv/Lib/site-packages/pygments/lexers/_luau_builtins.py +0 -62
  794. venv/Lib/site-packages/pygments/lexers/_mapping.py +0 -602
  795. venv/Lib/site-packages/pygments/lexers/_mql_builtins.py +0 -1171
  796. venv/Lib/site-packages/pygments/lexers/_mysql_builtins.py +0 -1335
  797. venv/Lib/site-packages/pygments/lexers/_openedge_builtins.py +0 -2600
  798. venv/Lib/site-packages/pygments/lexers/_php_builtins.py +0 -3325
  799. venv/Lib/site-packages/pygments/lexers/_postgres_builtins.py +0 -739
  800. venv/Lib/site-packages/pygments/lexers/_qlik_builtins.py +0 -666
  801. venv/Lib/site-packages/pygments/lexers/_scheme_builtins.py +0 -1609
  802. venv/Lib/site-packages/pygments/lexers/_scilab_builtins.py +0 -3093
  803. venv/Lib/site-packages/pygments/lexers/_sourcemod_builtins.py +0 -1151
  804. venv/Lib/site-packages/pygments/lexers/_sql_builtins.py +0 -106
  805. venv/Lib/site-packages/pygments/lexers/_stan_builtins.py +0 -648
  806. venv/Lib/site-packages/pygments/lexers/_stata_builtins.py +0 -457
  807. venv/Lib/site-packages/pygments/lexers/_tsql_builtins.py +0 -1003
  808. venv/Lib/site-packages/pygments/lexers/_usd_builtins.py +0 -112
  809. venv/Lib/site-packages/pygments/lexers/_vbscript_builtins.py +0 -279
  810. venv/Lib/site-packages/pygments/lexers/_vim_builtins.py +0 -1938
  811. venv/Lib/site-packages/pygments/lexers/actionscript.py +0 -243
  812. venv/Lib/site-packages/pygments/lexers/ada.py +0 -144
  813. venv/Lib/site-packages/pygments/lexers/agile.py +0 -25
  814. venv/Lib/site-packages/pygments/lexers/algebra.py +0 -299
  815. venv/Lib/site-packages/pygments/lexers/ambient.py +0 -75
  816. venv/Lib/site-packages/pygments/lexers/amdgpu.py +0 -54
  817. venv/Lib/site-packages/pygments/lexers/ampl.py +0 -87
  818. venv/Lib/site-packages/pygments/lexers/apdlexer.py +0 -593
  819. venv/Lib/site-packages/pygments/lexers/apl.py +0 -103
  820. venv/Lib/site-packages/pygments/lexers/archetype.py +0 -315
  821. venv/Lib/site-packages/pygments/lexers/arrow.py +0 -116
  822. venv/Lib/site-packages/pygments/lexers/arturo.py +0 -249
  823. venv/Lib/site-packages/pygments/lexers/asc.py +0 -55
  824. venv/Lib/site-packages/pygments/lexers/asm.py +0 -1051
  825. venv/Lib/site-packages/pygments/lexers/asn1.py +0 -178
  826. venv/Lib/site-packages/pygments/lexers/automation.py +0 -379
  827. venv/Lib/site-packages/pygments/lexers/bare.py +0 -101
  828. venv/Lib/site-packages/pygments/lexers/basic.py +0 -656
  829. venv/Lib/site-packages/pygments/lexers/bdd.py +0 -57
  830. venv/Lib/site-packages/pygments/lexers/berry.py +0 -99
  831. venv/Lib/site-packages/pygments/lexers/bibtex.py +0 -159
  832. venv/Lib/site-packages/pygments/lexers/blueprint.py +0 -173
  833. venv/Lib/site-packages/pygments/lexers/boa.py +0 -97
  834. venv/Lib/site-packages/pygments/lexers/bqn.py +0 -112
  835. venv/Lib/site-packages/pygments/lexers/business.py +0 -625
  836. venv/Lib/site-packages/pygments/lexers/c_cpp.py +0 -414
  837. venv/Lib/site-packages/pygments/lexers/c_like.py +0 -738
  838. venv/Lib/site-packages/pygments/lexers/capnproto.py +0 -74
  839. venv/Lib/site-packages/pygments/lexers/carbon.py +0 -95
  840. venv/Lib/site-packages/pygments/lexers/cddl.py +0 -172
  841. venv/Lib/site-packages/pygments/lexers/chapel.py +0 -139
  842. venv/Lib/site-packages/pygments/lexers/clean.py +0 -180
  843. venv/Lib/site-packages/pygments/lexers/codeql.py +0 -80
  844. venv/Lib/site-packages/pygments/lexers/comal.py +0 -81
  845. venv/Lib/site-packages/pygments/lexers/compiled.py +0 -35
  846. venv/Lib/site-packages/pygments/lexers/configs.py +0 -1433
  847. venv/Lib/site-packages/pygments/lexers/console.py +0 -114
  848. venv/Lib/site-packages/pygments/lexers/cplint.py +0 -43
  849. venv/Lib/site-packages/pygments/lexers/crystal.py +0 -364
  850. venv/Lib/site-packages/pygments/lexers/csound.py +0 -466
  851. venv/Lib/site-packages/pygments/lexers/css.py +0 -602
  852. venv/Lib/site-packages/pygments/lexers/d.py +0 -259
  853. venv/Lib/site-packages/pygments/lexers/dalvik.py +0 -126
  854. venv/Lib/site-packages/pygments/lexers/data.py +0 -763
  855. venv/Lib/site-packages/pygments/lexers/dax.py +0 -135
  856. venv/Lib/site-packages/pygments/lexers/devicetree.py +0 -108
  857. venv/Lib/site-packages/pygments/lexers/diff.py +0 -169
  858. venv/Lib/site-packages/pygments/lexers/dns.py +0 -109
  859. venv/Lib/site-packages/pygments/lexers/dotnet.py +0 -873
  860. venv/Lib/site-packages/pygments/lexers/dsls.py +0 -970
  861. venv/Lib/site-packages/pygments/lexers/dylan.py +0 -279
  862. venv/Lib/site-packages/pygments/lexers/ecl.py +0 -144
  863. venv/Lib/site-packages/pygments/lexers/eiffel.py +0 -68
  864. venv/Lib/site-packages/pygments/lexers/elm.py +0 -123
  865. venv/Lib/site-packages/pygments/lexers/elpi.py +0 -175
  866. venv/Lib/site-packages/pygments/lexers/email.py +0 -132
  867. venv/Lib/site-packages/pygments/lexers/erlang.py +0 -526
  868. venv/Lib/site-packages/pygments/lexers/esoteric.py +0 -300
  869. venv/Lib/site-packages/pygments/lexers/ezhil.py +0 -76
  870. venv/Lib/site-packages/pygments/lexers/factor.py +0 -363
  871. venv/Lib/site-packages/pygments/lexers/fantom.py +0 -251
  872. venv/Lib/site-packages/pygments/lexers/felix.py +0 -275
  873. venv/Lib/site-packages/pygments/lexers/fift.py +0 -68
  874. venv/Lib/site-packages/pygments/lexers/floscript.py +0 -81
  875. venv/Lib/site-packages/pygments/lexers/forth.py +0 -178
  876. venv/Lib/site-packages/pygments/lexers/fortran.py +0 -212
  877. venv/Lib/site-packages/pygments/lexers/foxpro.py +0 -427
  878. venv/Lib/site-packages/pygments/lexers/freefem.py +0 -893
  879. venv/Lib/site-packages/pygments/lexers/func.py +0 -110
  880. venv/Lib/site-packages/pygments/lexers/functional.py +0 -21
  881. venv/Lib/site-packages/pygments/lexers/futhark.py +0 -105
  882. venv/Lib/site-packages/pygments/lexers/gcodelexer.py +0 -35
  883. venv/Lib/site-packages/pygments/lexers/gdscript.py +0 -189
  884. venv/Lib/site-packages/pygments/lexers/gleam.py +0 -74
  885. venv/Lib/site-packages/pygments/lexers/go.py +0 -97
  886. venv/Lib/site-packages/pygments/lexers/grammar_notation.py +0 -262
  887. venv/Lib/site-packages/pygments/lexers/graph.py +0 -108
  888. venv/Lib/site-packages/pygments/lexers/graphics.py +0 -794
  889. venv/Lib/site-packages/pygments/lexers/graphql.py +0 -176
  890. venv/Lib/site-packages/pygments/lexers/graphviz.py +0 -58
  891. venv/Lib/site-packages/pygments/lexers/gsql.py +0 -103
  892. venv/Lib/site-packages/pygments/lexers/hare.py +0 -73
  893. venv/Lib/site-packages/pygments/lexers/haskell.py +0 -866
  894. venv/Lib/site-packages/pygments/lexers/haxe.py +0 -935
  895. venv/Lib/site-packages/pygments/lexers/hdl.py +0 -466
  896. venv/Lib/site-packages/pygments/lexers/hexdump.py +0 -102
  897. venv/Lib/site-packages/pygments/lexers/html.py +0 -670
  898. venv/Lib/site-packages/pygments/lexers/idl.py +0 -284
  899. venv/Lib/site-packages/pygments/lexers/igor.py +0 -435
  900. venv/Lib/site-packages/pygments/lexers/inferno.py +0 -95
  901. venv/Lib/site-packages/pygments/lexers/installers.py +0 -352
  902. venv/Lib/site-packages/pygments/lexers/int_fiction.py +0 -1370
  903. venv/Lib/site-packages/pygments/lexers/iolang.py +0 -61
  904. venv/Lib/site-packages/pygments/lexers/j.py +0 -151
  905. venv/Lib/site-packages/pygments/lexers/javascript.py +0 -1591
  906. venv/Lib/site-packages/pygments/lexers/jmespath.py +0 -69
  907. venv/Lib/site-packages/pygments/lexers/jslt.py +0 -94
  908. venv/Lib/site-packages/pygments/lexers/json5.py +0 -83
  909. venv/Lib/site-packages/pygments/lexers/jsonnet.py +0 -169
  910. venv/Lib/site-packages/pygments/lexers/jsx.py +0 -100
  911. venv/Lib/site-packages/pygments/lexers/julia.py +0 -294
  912. venv/Lib/site-packages/pygments/lexers/jvm.py +0 -1802
  913. venv/Lib/site-packages/pygments/lexers/kuin.py +0 -332
  914. venv/Lib/site-packages/pygments/lexers/kusto.py +0 -93
  915. venv/Lib/site-packages/pygments/lexers/ldap.py +0 -155
  916. venv/Lib/site-packages/pygments/lexers/lean.py +0 -241
  917. venv/Lib/site-packages/pygments/lexers/lilypond.py +0 -225
  918. venv/Lib/site-packages/pygments/lexers/lisp.py +0 -3146
  919. venv/Lib/site-packages/pygments/lexers/macaulay2.py +0 -1814
  920. venv/Lib/site-packages/pygments/lexers/make.py +0 -212
  921. venv/Lib/site-packages/pygments/lexers/maple.py +0 -291
  922. venv/Lib/site-packages/pygments/lexers/markup.py +0 -1654
  923. venv/Lib/site-packages/pygments/lexers/math.py +0 -21
  924. venv/Lib/site-packages/pygments/lexers/matlab.py +0 -3307
  925. venv/Lib/site-packages/pygments/lexers/maxima.py +0 -84
  926. venv/Lib/site-packages/pygments/lexers/meson.py +0 -139
  927. venv/Lib/site-packages/pygments/lexers/mime.py +0 -210
  928. venv/Lib/site-packages/pygments/lexers/minecraft.py +0 -391
  929. venv/Lib/site-packages/pygments/lexers/mips.py +0 -130
  930. venv/Lib/site-packages/pygments/lexers/ml.py +0 -958
  931. venv/Lib/site-packages/pygments/lexers/modeling.py +0 -366
  932. venv/Lib/site-packages/pygments/lexers/modula2.py +0 -1579
  933. venv/Lib/site-packages/pygments/lexers/mojo.py +0 -707
  934. venv/Lib/site-packages/pygments/lexers/monte.py +0 -203
  935. venv/Lib/site-packages/pygments/lexers/mosel.py +0 -447
  936. venv/Lib/site-packages/pygments/lexers/ncl.py +0 -894
  937. venv/Lib/site-packages/pygments/lexers/nimrod.py +0 -199
  938. venv/Lib/site-packages/pygments/lexers/nit.py +0 -63
  939. venv/Lib/site-packages/pygments/lexers/nix.py +0 -144
  940. venv/Lib/site-packages/pygments/lexers/numbair.py +0 -63
  941. venv/Lib/site-packages/pygments/lexers/oberon.py +0 -120
  942. venv/Lib/site-packages/pygments/lexers/objective.py +0 -513
  943. venv/Lib/site-packages/pygments/lexers/ooc.py +0 -84
  944. venv/Lib/site-packages/pygments/lexers/openscad.py +0 -96
  945. venv/Lib/site-packages/pygments/lexers/other.py +0 -41
  946. venv/Lib/site-packages/pygments/lexers/parasail.py +0 -78
  947. venv/Lib/site-packages/pygments/lexers/parsers.py +0 -798
  948. venv/Lib/site-packages/pygments/lexers/pascal.py +0 -644
  949. venv/Lib/site-packages/pygments/lexers/pawn.py +0 -202
  950. venv/Lib/site-packages/pygments/lexers/pddl.py +0 -82
  951. venv/Lib/site-packages/pygments/lexers/perl.py +0 -733
  952. venv/Lib/site-packages/pygments/lexers/phix.py +0 -363
  953. venv/Lib/site-packages/pygments/lexers/php.py +0 -334
  954. venv/Lib/site-packages/pygments/lexers/pointless.py +0 -70
  955. venv/Lib/site-packages/pygments/lexers/pony.py +0 -93
  956. venv/Lib/site-packages/pygments/lexers/praat.py +0 -303
  957. venv/Lib/site-packages/pygments/lexers/procfile.py +0 -41
  958. venv/Lib/site-packages/pygments/lexers/prolog.py +0 -318
  959. venv/Lib/site-packages/pygments/lexers/promql.py +0 -176
  960. venv/Lib/site-packages/pygments/lexers/prql.py +0 -251
  961. venv/Lib/site-packages/pygments/lexers/ptx.py +0 -119
  962. venv/Lib/site-packages/pygments/lexers/python.py +0 -1201
  963. venv/Lib/site-packages/pygments/lexers/q.py +0 -187
  964. venv/Lib/site-packages/pygments/lexers/qlik.py +0 -117
  965. venv/Lib/site-packages/pygments/lexers/qvt.py +0 -153
  966. venv/Lib/site-packages/pygments/lexers/r.py +0 -196
  967. venv/Lib/site-packages/pygments/lexers/rdf.py +0 -468
  968. venv/Lib/site-packages/pygments/lexers/rebol.py +0 -419
  969. venv/Lib/site-packages/pygments/lexers/rego.py +0 -57
  970. venv/Lib/site-packages/pygments/lexers/resource.py +0 -83
  971. venv/Lib/site-packages/pygments/lexers/ride.py +0 -138
  972. venv/Lib/site-packages/pygments/lexers/rita.py +0 -42
  973. venv/Lib/site-packages/pygments/lexers/rnc.py +0 -66
  974. venv/Lib/site-packages/pygments/lexers/roboconf.py +0 -81
  975. venv/Lib/site-packages/pygments/lexers/robotframework.py +0 -551
  976. venv/Lib/site-packages/pygments/lexers/ruby.py +0 -518
  977. venv/Lib/site-packages/pygments/lexers/rust.py +0 -222
  978. venv/Lib/site-packages/pygments/lexers/sas.py +0 -227
  979. venv/Lib/site-packages/pygments/lexers/savi.py +0 -171
  980. venv/Lib/site-packages/pygments/lexers/scdoc.py +0 -85
  981. venv/Lib/site-packages/pygments/lexers/scripting.py +0 -1616
  982. venv/Lib/site-packages/pygments/lexers/sgf.py +0 -59
  983. venv/Lib/site-packages/pygments/lexers/shell.py +0 -902
  984. venv/Lib/site-packages/pygments/lexers/sieve.py +0 -78
  985. venv/Lib/site-packages/pygments/lexers/slash.py +0 -183
  986. venv/Lib/site-packages/pygments/lexers/smalltalk.py +0 -194
  987. venv/Lib/site-packages/pygments/lexers/smithy.py +0 -77
  988. venv/Lib/site-packages/pygments/lexers/smv.py +0 -78
  989. venv/Lib/site-packages/pygments/lexers/snobol.py +0 -82
  990. venv/Lib/site-packages/pygments/lexers/solidity.py +0 -87
  991. venv/Lib/site-packages/pygments/lexers/soong.py +0 -78
  992. venv/Lib/site-packages/pygments/lexers/sophia.py +0 -102
  993. venv/Lib/site-packages/pygments/lexers/special.py +0 -122
  994. venv/Lib/site-packages/pygments/lexers/spice.py +0 -70
  995. venv/Lib/site-packages/pygments/lexers/sql.py +0 -1109
  996. venv/Lib/site-packages/pygments/lexers/srcinfo.py +0 -62
  997. venv/Lib/site-packages/pygments/lexers/stata.py +0 -170
  998. venv/Lib/site-packages/pygments/lexers/supercollider.py +0 -94
  999. venv/Lib/site-packages/pygments/lexers/tablegen.py +0 -177
  1000. venv/Lib/site-packages/pygments/lexers/tact.py +0 -303
  1001. venv/Lib/site-packages/pygments/lexers/tal.py +0 -77
  1002. venv/Lib/site-packages/pygments/lexers/tcl.py +0 -148
  1003. venv/Lib/site-packages/pygments/lexers/teal.py +0 -88
  1004. venv/Lib/site-packages/pygments/lexers/templates.py +0 -2355
  1005. venv/Lib/site-packages/pygments/lexers/teraterm.py +0 -325
  1006. venv/Lib/site-packages/pygments/lexers/testing.py +0 -209
  1007. venv/Lib/site-packages/pygments/lexers/text.py +0 -27
  1008. venv/Lib/site-packages/pygments/lexers/textedit.py +0 -205
  1009. venv/Lib/site-packages/pygments/lexers/textfmts.py +0 -436
  1010. venv/Lib/site-packages/pygments/lexers/theorem.py +0 -410
  1011. venv/Lib/site-packages/pygments/lexers/thingsdb.py +0 -140
  1012. venv/Lib/site-packages/pygments/lexers/tlb.py +0 -59
  1013. venv/Lib/site-packages/pygments/lexers/tls.py +0 -54
  1014. venv/Lib/site-packages/pygments/lexers/tnt.py +0 -270
  1015. venv/Lib/site-packages/pygments/lexers/trafficscript.py +0 -51
  1016. venv/Lib/site-packages/pygments/lexers/typoscript.py +0 -216
  1017. venv/Lib/site-packages/pygments/lexers/typst.py +0 -160
  1018. venv/Lib/site-packages/pygments/lexers/ul4.py +0 -309
  1019. venv/Lib/site-packages/pygments/lexers/unicon.py +0 -413
  1020. venv/Lib/site-packages/pygments/lexers/urbi.py +0 -145
  1021. venv/Lib/site-packages/pygments/lexers/usd.py +0 -85
  1022. venv/Lib/site-packages/pygments/lexers/varnish.py +0 -189
  1023. venv/Lib/site-packages/pygments/lexers/verification.py +0 -113
  1024. venv/Lib/site-packages/pygments/lexers/verifpal.py +0 -65
  1025. venv/Lib/site-packages/pygments/lexers/vip.py +0 -150
  1026. venv/Lib/site-packages/pygments/lexers/vyper.py +0 -140
  1027. venv/Lib/site-packages/pygments/lexers/web.py +0 -24
  1028. venv/Lib/site-packages/pygments/lexers/webassembly.py +0 -119
  1029. venv/Lib/site-packages/pygments/lexers/webidl.py +0 -298
  1030. venv/Lib/site-packages/pygments/lexers/webmisc.py +0 -1006
  1031. venv/Lib/site-packages/pygments/lexers/wgsl.py +0 -406
  1032. venv/Lib/site-packages/pygments/lexers/whiley.py +0 -115
  1033. venv/Lib/site-packages/pygments/lexers/wowtoc.py +0 -120
  1034. venv/Lib/site-packages/pygments/lexers/wren.py +0 -98
  1035. venv/Lib/site-packages/pygments/lexers/x10.py +0 -66
  1036. venv/Lib/site-packages/pygments/lexers/xorg.py +0 -38
  1037. venv/Lib/site-packages/pygments/lexers/yang.py +0 -103
  1038. venv/Lib/site-packages/pygments/lexers/yara.py +0 -69
  1039. venv/Lib/site-packages/pygments/lexers/zig.py +0 -125
  1040. venv/Lib/site-packages/pygments/modeline.py +0 -43
  1041. venv/Lib/site-packages/pygments/plugin.py +0 -72
  1042. venv/Lib/site-packages/pygments/regexopt.py +0 -91
  1043. venv/Lib/site-packages/pygments/scanner.py +0 -104
  1044. venv/Lib/site-packages/pygments/sphinxext.py +0 -247
  1045. venv/Lib/site-packages/pygments/style.py +0 -203
  1046. venv/Lib/site-packages/pygments/styles/__init__.py +0 -61
  1047. venv/Lib/site-packages/pygments/styles/_mapping.py +0 -54
  1048. venv/Lib/site-packages/pygments/styles/abap.py +0 -32
  1049. venv/Lib/site-packages/pygments/styles/algol.py +0 -65
  1050. venv/Lib/site-packages/pygments/styles/algol_nu.py +0 -65
  1051. venv/Lib/site-packages/pygments/styles/arduino.py +0 -100
  1052. venv/Lib/site-packages/pygments/styles/autumn.py +0 -67
  1053. venv/Lib/site-packages/pygments/styles/borland.py +0 -53
  1054. venv/Lib/site-packages/pygments/styles/bw.py +0 -52
  1055. venv/Lib/site-packages/pygments/styles/coffee.py +0 -80
  1056. venv/Lib/site-packages/pygments/styles/colorful.py +0 -83
  1057. venv/Lib/site-packages/pygments/styles/default.py +0 -76
  1058. venv/Lib/site-packages/pygments/styles/dracula.py +0 -90
  1059. venv/Lib/site-packages/pygments/styles/emacs.py +0 -75
  1060. venv/Lib/site-packages/pygments/styles/friendly.py +0 -76
  1061. venv/Lib/site-packages/pygments/styles/friendly_grayscale.py +0 -80
  1062. venv/Lib/site-packages/pygments/styles/fruity.py +0 -47
  1063. venv/Lib/site-packages/pygments/styles/gh_dark.py +0 -113
  1064. venv/Lib/site-packages/pygments/styles/gruvbox.py +0 -118
  1065. venv/Lib/site-packages/pygments/styles/igor.py +0 -32
  1066. venv/Lib/site-packages/pygments/styles/inkpot.py +0 -72
  1067. venv/Lib/site-packages/pygments/styles/lightbulb.py +0 -110
  1068. venv/Lib/site-packages/pygments/styles/lilypond.py +0 -62
  1069. venv/Lib/site-packages/pygments/styles/lovelace.py +0 -100
  1070. venv/Lib/site-packages/pygments/styles/manni.py +0 -79
  1071. venv/Lib/site-packages/pygments/styles/material.py +0 -124
  1072. venv/Lib/site-packages/pygments/styles/monokai.py +0 -112
  1073. venv/Lib/site-packages/pygments/styles/murphy.py +0 -82
  1074. venv/Lib/site-packages/pygments/styles/native.py +0 -70
  1075. venv/Lib/site-packages/pygments/styles/nord.py +0 -156
  1076. venv/Lib/site-packages/pygments/styles/onedark.py +0 -63
  1077. venv/Lib/site-packages/pygments/styles/paraiso_dark.py +0 -124
  1078. venv/Lib/site-packages/pygments/styles/paraiso_light.py +0 -124
  1079. venv/Lib/site-packages/pygments/styles/pastie.py +0 -78
  1080. venv/Lib/site-packages/pygments/styles/perldoc.py +0 -73
  1081. venv/Lib/site-packages/pygments/styles/rainbow_dash.py +0 -95
  1082. venv/Lib/site-packages/pygments/styles/rrt.py +0 -40
  1083. venv/Lib/site-packages/pygments/styles/sas.py +0 -46
  1084. venv/Lib/site-packages/pygments/styles/solarized.py +0 -144
  1085. venv/Lib/site-packages/pygments/styles/staroffice.py +0 -31
  1086. venv/Lib/site-packages/pygments/styles/stata_dark.py +0 -42
  1087. venv/Lib/site-packages/pygments/styles/stata_light.py +0 -42
  1088. venv/Lib/site-packages/pygments/styles/tango.py +0 -143
  1089. venv/Lib/site-packages/pygments/styles/trac.py +0 -66
  1090. venv/Lib/site-packages/pygments/styles/vim.py +0 -67
  1091. venv/Lib/site-packages/pygments/styles/vs.py +0 -41
  1092. venv/Lib/site-packages/pygments/styles/xcode.py +0 -53
  1093. venv/Lib/site-packages/pygments/styles/zenburn.py +0 -83
  1094. venv/Lib/site-packages/pygments/token.py +0 -214
  1095. venv/Lib/site-packages/pygments/unistring.py +0 -153
  1096. venv/Lib/site-packages/pygments/util.py +0 -324
  1097. venv/Lib/site-packages/pyproject_hooks/__init__.py +0 -31
  1098. venv/Lib/site-packages/pyproject_hooks/_impl.py +0 -410
  1099. venv/Lib/site-packages/pyproject_hooks/_in_process/__init__.py +0 -21
  1100. venv/Lib/site-packages/pyproject_hooks/_in_process/_in_process.py +0 -389
  1101. venv/Lib/site-packages/pyproject_hooks/py.typed +0 -0
  1102. venv/Lib/site-packages/readme_renderer/__init__.py +0 -13
  1103. venv/Lib/site-packages/readme_renderer/__main__.py +0 -66
  1104. venv/Lib/site-packages/readme_renderer/clean.py +0 -89
  1105. venv/Lib/site-packages/readme_renderer/markdown.py +0 -123
  1106. venv/Lib/site-packages/readme_renderer/py.typed +0 -0
  1107. venv/Lib/site-packages/readme_renderer/rst.py +0 -135
  1108. venv/Lib/site-packages/readme_renderer/txt.py +0 -24
  1109. venv/Lib/site-packages/requests/__init__.py +0 -184
  1110. venv/Lib/site-packages/requests/__version__.py +0 -14
  1111. venv/Lib/site-packages/requests/_internal_utils.py +0 -50
  1112. venv/Lib/site-packages/requests/adapters.py +0 -696
  1113. venv/Lib/site-packages/requests/api.py +0 -157
  1114. venv/Lib/site-packages/requests/auth.py +0 -314
  1115. venv/Lib/site-packages/requests/certs.py +0 -17
  1116. venv/Lib/site-packages/requests/compat.py +0 -106
  1117. venv/Lib/site-packages/requests/cookies.py +0 -561
  1118. venv/Lib/site-packages/requests/exceptions.py +0 -151
  1119. venv/Lib/site-packages/requests/help.py +0 -134
  1120. venv/Lib/site-packages/requests/hooks.py +0 -33
  1121. venv/Lib/site-packages/requests/models.py +0 -1039
  1122. venv/Lib/site-packages/requests/packages.py +0 -23
  1123. venv/Lib/site-packages/requests/sessions.py +0 -831
  1124. venv/Lib/site-packages/requests/status_codes.py +0 -128
  1125. venv/Lib/site-packages/requests/structures.py +0 -99
  1126. venv/Lib/site-packages/requests/utils.py +0 -1086
  1127. venv/Lib/site-packages/requests_toolbelt/__init__.py +0 -34
  1128. venv/Lib/site-packages/requests_toolbelt/_compat.py +0 -302
  1129. venv/Lib/site-packages/requests_toolbelt/adapters/__init__.py +0 -15
  1130. venv/Lib/site-packages/requests_toolbelt/adapters/appengine.py +0 -206
  1131. venv/Lib/site-packages/requests_toolbelt/adapters/fingerprint.py +0 -48
  1132. venv/Lib/site-packages/requests_toolbelt/adapters/host_header_ssl.py +0 -43
  1133. venv/Lib/site-packages/requests_toolbelt/adapters/socket_options.py +0 -129
  1134. venv/Lib/site-packages/requests_toolbelt/adapters/source.py +0 -67
  1135. venv/Lib/site-packages/requests_toolbelt/adapters/ssl.py +0 -66
  1136. venv/Lib/site-packages/requests_toolbelt/adapters/x509.py +0 -196
  1137. venv/Lib/site-packages/requests_toolbelt/auth/__init__.py +0 -0
  1138. venv/Lib/site-packages/requests_toolbelt/auth/_digest_auth_compat.py +0 -29
  1139. venv/Lib/site-packages/requests_toolbelt/auth/guess.py +0 -146
  1140. venv/Lib/site-packages/requests_toolbelt/auth/handler.py +0 -142
  1141. venv/Lib/site-packages/requests_toolbelt/auth/http_proxy_digest.py +0 -103
  1142. venv/Lib/site-packages/requests_toolbelt/cookies/__init__.py +0 -0
  1143. venv/Lib/site-packages/requests_toolbelt/cookies/forgetful.py +0 -7
  1144. venv/Lib/site-packages/requests_toolbelt/downloadutils/__init__.py +0 -0
  1145. venv/Lib/site-packages/requests_toolbelt/downloadutils/stream.py +0 -176
  1146. venv/Lib/site-packages/requests_toolbelt/downloadutils/tee.py +0 -123
  1147. venv/Lib/site-packages/requests_toolbelt/exceptions.py +0 -25
  1148. venv/Lib/site-packages/requests_toolbelt/multipart/__init__.py +0 -31
  1149. venv/Lib/site-packages/requests_toolbelt/multipart/decoder.py +0 -156
  1150. venv/Lib/site-packages/requests_toolbelt/multipart/encoder.py +0 -655
  1151. venv/Lib/site-packages/requests_toolbelt/sessions.py +0 -89
  1152. venv/Lib/site-packages/requests_toolbelt/streaming_iterator.py +0 -116
  1153. venv/Lib/site-packages/requests_toolbelt/threaded/__init__.py +0 -97
  1154. venv/Lib/site-packages/requests_toolbelt/threaded/pool.py +0 -211
  1155. venv/Lib/site-packages/requests_toolbelt/threaded/thread.py +0 -53
  1156. venv/Lib/site-packages/requests_toolbelt/utils/__init__.py +0 -0
  1157. venv/Lib/site-packages/requests_toolbelt/utils/deprecated.py +0 -91
  1158. venv/Lib/site-packages/requests_toolbelt/utils/dump.py +0 -198
  1159. venv/Lib/site-packages/requests_toolbelt/utils/formdata.py +0 -108
  1160. venv/Lib/site-packages/requests_toolbelt/utils/user_agent.py +0 -143
  1161. venv/Lib/site-packages/rfc3986/__init__.py +0 -53
  1162. venv/Lib/site-packages/rfc3986/_mixin.py +0 -373
  1163. venv/Lib/site-packages/rfc3986/abnf_regexp.py +0 -275
  1164. venv/Lib/site-packages/rfc3986/api.py +0 -104
  1165. venv/Lib/site-packages/rfc3986/builder.py +0 -388
  1166. venv/Lib/site-packages/rfc3986/compat.py +0 -59
  1167. venv/Lib/site-packages/rfc3986/exceptions.py +0 -120
  1168. venv/Lib/site-packages/rfc3986/iri.py +0 -161
  1169. venv/Lib/site-packages/rfc3986/misc.py +0 -131
  1170. venv/Lib/site-packages/rfc3986/normalizers.py +0 -171
  1171. venv/Lib/site-packages/rfc3986/parseresult.py +0 -474
  1172. venv/Lib/site-packages/rfc3986/uri.py +0 -160
  1173. venv/Lib/site-packages/rfc3986/validators.py +0 -440
  1174. venv/Lib/site-packages/rich/__init__.py +0 -177
  1175. venv/Lib/site-packages/rich/__main__.py +0 -245
  1176. venv/Lib/site-packages/rich/_cell_widths.py +0 -454
  1177. venv/Lib/site-packages/rich/_emoji_codes.py +0 -3610
  1178. venv/Lib/site-packages/rich/_emoji_replace.py +0 -32
  1179. venv/Lib/site-packages/rich/_export_format.py +0 -76
  1180. venv/Lib/site-packages/rich/_extension.py +0 -10
  1181. venv/Lib/site-packages/rich/_fileno.py +0 -24
  1182. venv/Lib/site-packages/rich/_inspect.py +0 -268
  1183. venv/Lib/site-packages/rich/_log_render.py +0 -94
  1184. venv/Lib/site-packages/rich/_loop.py +0 -43
  1185. venv/Lib/site-packages/rich/_null_file.py +0 -69
  1186. venv/Lib/site-packages/rich/_palettes.py +0 -309
  1187. venv/Lib/site-packages/rich/_pick.py +0 -17
  1188. venv/Lib/site-packages/rich/_ratio.py +0 -153
  1189. venv/Lib/site-packages/rich/_spinners.py +0 -482
  1190. venv/Lib/site-packages/rich/_stack.py +0 -16
  1191. venv/Lib/site-packages/rich/_timer.py +0 -19
  1192. venv/Lib/site-packages/rich/_win32_console.py +0 -661
  1193. venv/Lib/site-packages/rich/_windows.py +0 -71
  1194. venv/Lib/site-packages/rich/_windows_renderer.py +0 -56
  1195. venv/Lib/site-packages/rich/_wrap.py +0 -93
  1196. venv/Lib/site-packages/rich/abc.py +0 -33
  1197. venv/Lib/site-packages/rich/align.py +0 -306
  1198. venv/Lib/site-packages/rich/ansi.py +0 -241
  1199. venv/Lib/site-packages/rich/bar.py +0 -93
  1200. venv/Lib/site-packages/rich/box.py +0 -474
  1201. venv/Lib/site-packages/rich/cells.py +0 -174
  1202. venv/Lib/site-packages/rich/color.py +0 -621
  1203. venv/Lib/site-packages/rich/color_triplet.py +0 -38
  1204. venv/Lib/site-packages/rich/columns.py +0 -187
  1205. venv/Lib/site-packages/rich/console.py +0 -2680
  1206. venv/Lib/site-packages/rich/constrain.py +0 -37
  1207. venv/Lib/site-packages/rich/containers.py +0 -167
  1208. venv/Lib/site-packages/rich/control.py +0 -219
  1209. venv/Lib/site-packages/rich/default_styles.py +0 -193
  1210. venv/Lib/site-packages/rich/diagnose.py +0 -39
  1211. venv/Lib/site-packages/rich/emoji.py +0 -91
  1212. venv/Lib/site-packages/rich/errors.py +0 -34
  1213. venv/Lib/site-packages/rich/file_proxy.py +0 -57
  1214. venv/Lib/site-packages/rich/filesize.py +0 -88
  1215. venv/Lib/site-packages/rich/highlighter.py +0 -232
  1216. venv/Lib/site-packages/rich/json.py +0 -139
  1217. venv/Lib/site-packages/rich/jupyter.py +0 -101
  1218. venv/Lib/site-packages/rich/layout.py +0 -442
  1219. venv/Lib/site-packages/rich/live.py +0 -400
  1220. venv/Lib/site-packages/rich/live_render.py +0 -106
  1221. venv/Lib/site-packages/rich/logging.py +0 -297
  1222. venv/Lib/site-packages/rich/markdown.py +0 -779
  1223. venv/Lib/site-packages/rich/markup.py +0 -251
  1224. venv/Lib/site-packages/rich/measure.py +0 -151
  1225. venv/Lib/site-packages/rich/padding.py +0 -141
  1226. venv/Lib/site-packages/rich/pager.py +0 -34
  1227. venv/Lib/site-packages/rich/palette.py +0 -100
  1228. venv/Lib/site-packages/rich/panel.py +0 -317
  1229. venv/Lib/site-packages/rich/pretty.py +0 -1016
  1230. venv/Lib/site-packages/rich/progress.py +0 -1715
  1231. venv/Lib/site-packages/rich/progress_bar.py +0 -223
  1232. venv/Lib/site-packages/rich/prompt.py +0 -400
  1233. venv/Lib/site-packages/rich/protocol.py +0 -42
  1234. venv/Lib/site-packages/rich/py.typed +0 -0
  1235. venv/Lib/site-packages/rich/region.py +0 -10
  1236. venv/Lib/site-packages/rich/repr.py +0 -149
  1237. venv/Lib/site-packages/rich/rule.py +0 -130
  1238. venv/Lib/site-packages/rich/scope.py +0 -86
  1239. venv/Lib/site-packages/rich/screen.py +0 -54
  1240. venv/Lib/site-packages/rich/segment.py +0 -752
  1241. venv/Lib/site-packages/rich/spinner.py +0 -132
  1242. venv/Lib/site-packages/rich/status.py +0 -131
  1243. venv/Lib/site-packages/rich/style.py +0 -792
  1244. venv/Lib/site-packages/rich/styled.py +0 -42
  1245. venv/Lib/site-packages/rich/syntax.py +0 -985
  1246. venv/Lib/site-packages/rich/table.py +0 -1006
  1247. venv/Lib/site-packages/rich/terminal_theme.py +0 -153
  1248. venv/Lib/site-packages/rich/text.py +0 -1361
  1249. venv/Lib/site-packages/rich/theme.py +0 -115
  1250. venv/Lib/site-packages/rich/themes.py +0 -5
  1251. venv/Lib/site-packages/rich/traceback.py +0 -899
  1252. venv/Lib/site-packages/rich/tree.py +0 -257
  1253. venv/Lib/site-packages/setup_sdist.py +0 -69
  1254. venv/Lib/site-packages/twine/__init__.py +0 -54
  1255. venv/Lib/site-packages/twine/__main__.py +0 -54
  1256. venv/Lib/site-packages/twine/auth.py +0 -307
  1257. venv/Lib/site-packages/twine/cli.py +0 -139
  1258. venv/Lib/site-packages/twine/commands/__init__.py +0 -93
  1259. venv/Lib/site-packages/twine/commands/check.py +0 -195
  1260. venv/Lib/site-packages/twine/commands/register.py +0 -87
  1261. venv/Lib/site-packages/twine/commands/upload.py +0 -253
  1262. venv/Lib/site-packages/twine/distribution.py +0 -8
  1263. venv/Lib/site-packages/twine/exceptions.py +0 -175
  1264. venv/Lib/site-packages/twine/package.py +0 -403
  1265. venv/Lib/site-packages/twine/py.typed +0 -0
  1266. venv/Lib/site-packages/twine/repository.py +0 -246
  1267. venv/Lib/site-packages/twine/sdist.py +0 -83
  1268. venv/Lib/site-packages/twine/settings.py +0 -360
  1269. venv/Lib/site-packages/twine/utils.py +0 -387
  1270. venv/Lib/site-packages/twine/wheel.py +0 -81
  1271. venv/Lib/site-packages/urllib3/__init__.py +0 -211
  1272. venv/Lib/site-packages/urllib3/_base_connection.py +0 -165
  1273. venv/Lib/site-packages/urllib3/_collections.py +0 -479
  1274. venv/Lib/site-packages/urllib3/_request_methods.py +0 -278
  1275. venv/Lib/site-packages/urllib3/_version.py +0 -21
  1276. venv/Lib/site-packages/urllib3/connection.py +0 -1093
  1277. venv/Lib/site-packages/urllib3/connectionpool.py +0 -1178
  1278. venv/Lib/site-packages/urllib3/contrib/__init__.py +0 -0
  1279. venv/Lib/site-packages/urllib3/contrib/emscripten/__init__.py +0 -16
  1280. venv/Lib/site-packages/urllib3/contrib/emscripten/connection.py +0 -255
  1281. venv/Lib/site-packages/urllib3/contrib/emscripten/fetch.py +0 -728
  1282. venv/Lib/site-packages/urllib3/contrib/emscripten/request.py +0 -22
  1283. venv/Lib/site-packages/urllib3/contrib/emscripten/response.py +0 -277
  1284. venv/Lib/site-packages/urllib3/contrib/pyopenssl.py +0 -564
  1285. venv/Lib/site-packages/urllib3/contrib/socks.py +0 -228
  1286. venv/Lib/site-packages/urllib3/exceptions.py +0 -335
  1287. venv/Lib/site-packages/urllib3/fields.py +0 -341
  1288. venv/Lib/site-packages/urllib3/filepost.py +0 -89
  1289. venv/Lib/site-packages/urllib3/http2/__init__.py +0 -53
  1290. venv/Lib/site-packages/urllib3/http2/connection.py +0 -356
  1291. venv/Lib/site-packages/urllib3/http2/probe.py +0 -87
  1292. venv/Lib/site-packages/urllib3/poolmanager.py +0 -653
  1293. venv/Lib/site-packages/urllib3/py.typed +0 -2
  1294. venv/Lib/site-packages/urllib3/response.py +0 -1307
  1295. venv/Lib/site-packages/urllib3/util/__init__.py +0 -42
  1296. venv/Lib/site-packages/urllib3/util/connection.py +0 -137
  1297. venv/Lib/site-packages/urllib3/util/proxy.py +0 -43
  1298. venv/Lib/site-packages/urllib3/util/request.py +0 -266
  1299. venv/Lib/site-packages/urllib3/util/response.py +0 -101
  1300. venv/Lib/site-packages/urllib3/util/retry.py +0 -533
  1301. venv/Lib/site-packages/urllib3/util/ssl_.py +0 -524
  1302. venv/Lib/site-packages/urllib3/util/ssl_match_hostname.py +0 -159
  1303. venv/Lib/site-packages/urllib3/util/ssltransport.py +0 -271
  1304. venv/Lib/site-packages/urllib3/util/timeout.py +0 -275
  1305. venv/Lib/site-packages/urllib3/util/url.py +0 -469
  1306. venv/Lib/site-packages/urllib3/util/util.py +0 -42
  1307. venv/Lib/site-packages/urllib3/util/wait.py +0 -124
  1308. venv/Lib/site-packages/win32ctypes/__init__.py +0 -8
  1309. venv/Lib/site-packages/win32ctypes/core/__init__.py +0 -60
  1310. venv/Lib/site-packages/win32ctypes/core/_winerrors.py +0 -9
  1311. venv/Lib/site-packages/win32ctypes/core/cffi/__init__.py +0 -11
  1312. venv/Lib/site-packages/win32ctypes/core/cffi/_authentication.py +0 -172
  1313. venv/Lib/site-packages/win32ctypes/core/cffi/_common.py +0 -29
  1314. venv/Lib/site-packages/win32ctypes/core/cffi/_dll.py +0 -30
  1315. venv/Lib/site-packages/win32ctypes/core/cffi/_nl_support.py +0 -18
  1316. venv/Lib/site-packages/win32ctypes/core/cffi/_resource.py +0 -132
  1317. venv/Lib/site-packages/win32ctypes/core/cffi/_system_information.py +0 -32
  1318. venv/Lib/site-packages/win32ctypes/core/cffi/_time.py +0 -18
  1319. venv/Lib/site-packages/win32ctypes/core/cffi/_util.py +0 -105
  1320. venv/Lib/site-packages/win32ctypes/core/compat.py +0 -10
  1321. venv/Lib/site-packages/win32ctypes/core/ctypes/__init__.py +0 -11
  1322. venv/Lib/site-packages/win32ctypes/core/ctypes/_authentication.py +0 -122
  1323. venv/Lib/site-packages/win32ctypes/core/ctypes/_common.py +0 -53
  1324. venv/Lib/site-packages/win32ctypes/core/ctypes/_dll.py +0 -21
  1325. venv/Lib/site-packages/win32ctypes/core/ctypes/_nl_support.py +0 -12
  1326. venv/Lib/site-packages/win32ctypes/core/ctypes/_resource.py +0 -148
  1327. venv/Lib/site-packages/win32ctypes/core/ctypes/_system_information.py +0 -36
  1328. venv/Lib/site-packages/win32ctypes/core/ctypes/_time.py +0 -15
  1329. venv/Lib/site-packages/win32ctypes/core/ctypes/_util.py +0 -78
  1330. venv/Lib/site-packages/win32ctypes/pywin32/__init__.py +0 -12
  1331. venv/Lib/site-packages/win32ctypes/pywin32/pywintypes.py +0 -67
  1332. venv/Lib/site-packages/win32ctypes/pywin32/win32api.py +0 -294
  1333. venv/Lib/site-packages/win32ctypes/pywin32/win32cred.py +0 -145
  1334. venv/Lib/site-packages/win32ctypes/pywintypes.py +0 -13
  1335. venv/Lib/site-packages/win32ctypes/tests/__init__.py +0 -21
  1336. venv/Lib/site-packages/win32ctypes/tests/test_backends.py +0 -36
  1337. venv/Lib/site-packages/win32ctypes/tests/test_win32api.py +0 -304
  1338. venv/Lib/site-packages/win32ctypes/tests/test_win32cred.py +0 -230
  1339. venv/Lib/site-packages/win32ctypes/version.py +0 -1
  1340. venv/Lib/site-packages/win32ctypes/win32api.py +0 -13
  1341. venv/Lib/site-packages/win32ctypes/win32cred.py +0 -13
  1342. {android_notify-1.60.0.dist-info → android_notify-1.60.1.dist-info}/WHEEL +0 -0
@@ -1,1137 +0,0 @@
1
- # -*- coding: utf-8 -*-
2
- #
3
- # Copyright (C) 2013-2017 Vinay Sajip.
4
- # Licensed to the Python Software Foundation under a contributor agreement.
5
- # See LICENSE.txt and CONTRIBUTORS.txt.
6
- #
7
- from __future__ import absolute_import
8
-
9
- import os
10
- import re
11
- import shutil
12
- import sys
13
-
14
- try:
15
- import ssl
16
- except ImportError: # pragma: no cover
17
- ssl = None
18
-
19
- if sys.version_info[0] < 3: # pragma: no cover
20
- from StringIO import StringIO
21
- string_types = basestring,
22
- text_type = unicode
23
- from types import FileType as file_type
24
- import __builtin__ as builtins
25
- import ConfigParser as configparser
26
- from urlparse import urlparse, urlunparse, urljoin, urlsplit, urlunsplit
27
- from urllib import (urlretrieve, quote as _quote, unquote, url2pathname,
28
- pathname2url, ContentTooShortError, splittype)
29
-
30
- def quote(s):
31
- if isinstance(s, unicode):
32
- s = s.encode('utf-8')
33
- return _quote(s)
34
-
35
- import urllib2
36
- from urllib2 import (Request, urlopen, URLError, HTTPError,
37
- HTTPBasicAuthHandler, HTTPPasswordMgr, HTTPHandler,
38
- HTTPRedirectHandler, build_opener)
39
- if ssl:
40
- from urllib2 import HTTPSHandler
41
- import httplib
42
- import xmlrpclib
43
- import Queue as queue
44
- from HTMLParser import HTMLParser
45
- import htmlentitydefs
46
- raw_input = raw_input
47
- from itertools import ifilter as filter
48
- from itertools import ifilterfalse as filterfalse
49
-
50
- # Leaving this around for now, in case it needs resurrecting in some way
51
- # _userprog = None
52
- # def splituser(host):
53
- # """splituser('user[:passwd]@host[:port]') --> 'user[:passwd]', 'host[:port]'."""
54
- # global _userprog
55
- # if _userprog is None:
56
- # import re
57
- # _userprog = re.compile('^(.*)@(.*)$')
58
-
59
- # match = _userprog.match(host)
60
- # if match: return match.group(1, 2)
61
- # return None, host
62
-
63
- else: # pragma: no cover
64
- from io import StringIO
65
- string_types = str,
66
- text_type = str
67
- from io import TextIOWrapper as file_type
68
- import builtins
69
- import configparser
70
- from urllib.parse import (urlparse, urlunparse, urljoin, quote, unquote,
71
- urlsplit, urlunsplit, splittype)
72
- from urllib.request import (urlopen, urlretrieve, Request, url2pathname,
73
- pathname2url, HTTPBasicAuthHandler,
74
- HTTPPasswordMgr, HTTPHandler,
75
- HTTPRedirectHandler, build_opener)
76
- if ssl:
77
- from urllib.request import HTTPSHandler
78
- from urllib.error import HTTPError, URLError, ContentTooShortError
79
- import http.client as httplib
80
- import urllib.request as urllib2
81
- import xmlrpc.client as xmlrpclib
82
- import queue
83
- from html.parser import HTMLParser
84
- import html.entities as htmlentitydefs
85
- raw_input = input
86
- from itertools import filterfalse
87
- filter = filter
88
-
89
- try:
90
- from ssl import match_hostname, CertificateError
91
- except ImportError: # pragma: no cover
92
-
93
- class CertificateError(ValueError):
94
- pass
95
-
96
- def _dnsname_match(dn, hostname, max_wildcards=1):
97
- """Matching according to RFC 6125, section 6.4.3
98
-
99
- http://tools.ietf.org/html/rfc6125#section-6.4.3
100
- """
101
- pats = []
102
- if not dn:
103
- return False
104
-
105
- parts = dn.split('.')
106
- leftmost, remainder = parts[0], parts[1:]
107
-
108
- wildcards = leftmost.count('*')
109
- if wildcards > max_wildcards:
110
- # Issue #17980: avoid denials of service by refusing more
111
- # than one wildcard per fragment. A survey of established
112
- # policy among SSL implementations showed it to be a
113
- # reasonable choice.
114
- raise CertificateError(
115
- "too many wildcards in certificate DNS name: " + repr(dn))
116
-
117
- # speed up common case w/o wildcards
118
- if not wildcards:
119
- return dn.lower() == hostname.lower()
120
-
121
- # RFC 6125, section 6.4.3, subitem 1.
122
- # The client SHOULD NOT attempt to match a presented identifier in which
123
- # the wildcard character comprises a label other than the left-most label.
124
- if leftmost == '*':
125
- # When '*' is a fragment by itself, it matches a non-empty dotless
126
- # fragment.
127
- pats.append('[^.]+')
128
- elif leftmost.startswith('xn--') or hostname.startswith('xn--'):
129
- # RFC 6125, section 6.4.3, subitem 3.
130
- # The client SHOULD NOT attempt to match a presented identifier
131
- # where the wildcard character is embedded within an A-label or
132
- # U-label of an internationalized domain name.
133
- pats.append(re.escape(leftmost))
134
- else:
135
- # Otherwise, '*' matches any dotless string, e.g. www*
136
- pats.append(re.escape(leftmost).replace(r'\*', '[^.]*'))
137
-
138
- # add the remaining fragments, ignore any wildcards
139
- for frag in remainder:
140
- pats.append(re.escape(frag))
141
-
142
- pat = re.compile(r'\A' + r'\.'.join(pats) + r'\Z', re.IGNORECASE)
143
- return pat.match(hostname)
144
-
145
- def match_hostname(cert, hostname):
146
- """Verify that *cert* (in decoded format as returned by
147
- SSLSocket.getpeercert()) matches the *hostname*. RFC 2818 and RFC 6125
148
- rules are followed, but IP addresses are not accepted for *hostname*.
149
-
150
- CertificateError is raised on failure. On success, the function
151
- returns nothing.
152
- """
153
- if not cert:
154
- raise ValueError("empty or no certificate, match_hostname needs a "
155
- "SSL socket or SSL context with either "
156
- "CERT_OPTIONAL or CERT_REQUIRED")
157
- dnsnames = []
158
- san = cert.get('subjectAltName', ())
159
- for key, value in san:
160
- if key == 'DNS':
161
- if _dnsname_match(value, hostname):
162
- return
163
- dnsnames.append(value)
164
- if not dnsnames:
165
- # The subject is only checked when there is no dNSName entry
166
- # in subjectAltName
167
- for sub in cert.get('subject', ()):
168
- for key, value in sub:
169
- # XXX according to RFC 2818, the most specific Common Name
170
- # must be used.
171
- if key == 'commonName':
172
- if _dnsname_match(value, hostname):
173
- return
174
- dnsnames.append(value)
175
- if len(dnsnames) > 1:
176
- raise CertificateError("hostname %r "
177
- "doesn't match either of %s" %
178
- (hostname, ', '.join(map(repr, dnsnames))))
179
- elif len(dnsnames) == 1:
180
- raise CertificateError("hostname %r "
181
- "doesn't match %r" %
182
- (hostname, dnsnames[0]))
183
- else:
184
- raise CertificateError("no appropriate commonName or "
185
- "subjectAltName fields were found")
186
-
187
-
188
- try:
189
- from types import SimpleNamespace as Container
190
- except ImportError: # pragma: no cover
191
-
192
- class Container(object):
193
- """
194
- A generic container for when multiple values need to be returned
195
- """
196
-
197
- def __init__(self, **kwargs):
198
- self.__dict__.update(kwargs)
199
-
200
-
201
- try:
202
- from shutil import which
203
- except ImportError: # pragma: no cover
204
- # Implementation from Python 3.3
205
- def which(cmd, mode=os.F_OK | os.X_OK, path=None):
206
- """Given a command, mode, and a PATH string, return the path which
207
- conforms to the given mode on the PATH, or None if there is no such
208
- file.
209
-
210
- `mode` defaults to os.F_OK | os.X_OK. `path` defaults to the result
211
- of os.environ.get("PATH"), or can be overridden with a custom search
212
- path.
213
-
214
- """
215
-
216
- # Check that a given file can be accessed with the correct mode.
217
- # Additionally check that `file` is not a directory, as on Windows
218
- # directories pass the os.access check.
219
- def _access_check(fn, mode):
220
- return (os.path.exists(fn) and os.access(fn, mode) and not os.path.isdir(fn))
221
-
222
- # If we're given a path with a directory part, look it up directly rather
223
- # than referring to PATH directories. This includes checking relative to the
224
- # current directory, e.g. ./script
225
- if os.path.dirname(cmd):
226
- if _access_check(cmd, mode):
227
- return cmd
228
- return None
229
-
230
- if path is None:
231
- path = os.environ.get("PATH", os.defpath)
232
- if not path:
233
- return None
234
- path = path.split(os.pathsep)
235
-
236
- if sys.platform == "win32":
237
- # The current directory takes precedence on Windows.
238
- if os.curdir not in path:
239
- path.insert(0, os.curdir)
240
-
241
- # PATHEXT is necessary to check on Windows.
242
- pathext = os.environ.get("PATHEXT", "").split(os.pathsep)
243
- # See if the given file matches any of the expected path extensions.
244
- # This will allow us to short circuit when given "python.exe".
245
- # If it does match, only test that one, otherwise we have to try
246
- # others.
247
- if any(cmd.lower().endswith(ext.lower()) for ext in pathext):
248
- files = [cmd]
249
- else:
250
- files = [cmd + ext for ext in pathext]
251
- else:
252
- # On other platforms you don't have things like PATHEXT to tell you
253
- # what file suffixes are executable, so just pass on cmd as-is.
254
- files = [cmd]
255
-
256
- seen = set()
257
- for dir in path:
258
- normdir = os.path.normcase(dir)
259
- if normdir not in seen:
260
- seen.add(normdir)
261
- for thefile in files:
262
- name = os.path.join(dir, thefile)
263
- if _access_check(name, mode):
264
- return name
265
- return None
266
-
267
-
268
- # ZipFile is a context manager in 2.7, but not in 2.6
269
-
270
- from zipfile import ZipFile as BaseZipFile
271
-
272
- if hasattr(BaseZipFile, '__enter__'): # pragma: no cover
273
- ZipFile = BaseZipFile
274
- else: # pragma: no cover
275
- from zipfile import ZipExtFile as BaseZipExtFile
276
-
277
- class ZipExtFile(BaseZipExtFile):
278
-
279
- def __init__(self, base):
280
- self.__dict__.update(base.__dict__)
281
-
282
- def __enter__(self):
283
- return self
284
-
285
- def __exit__(self, *exc_info):
286
- self.close()
287
- # return None, so if an exception occurred, it will propagate
288
-
289
- class ZipFile(BaseZipFile):
290
-
291
- def __enter__(self):
292
- return self
293
-
294
- def __exit__(self, *exc_info):
295
- self.close()
296
- # return None, so if an exception occurred, it will propagate
297
-
298
- def open(self, *args, **kwargs):
299
- base = BaseZipFile.open(self, *args, **kwargs)
300
- return ZipExtFile(base)
301
-
302
-
303
- try:
304
- from platform import python_implementation
305
- except ImportError: # pragma: no cover
306
-
307
- def python_implementation():
308
- """Return a string identifying the Python implementation."""
309
- if 'PyPy' in sys.version:
310
- return 'PyPy'
311
- if os.name == 'java':
312
- return 'Jython'
313
- if sys.version.startswith('IronPython'):
314
- return 'IronPython'
315
- return 'CPython'
316
-
317
-
318
- import sysconfig
319
-
320
- try:
321
- callable = callable
322
- except NameError: # pragma: no cover
323
- from collections.abc import Callable
324
-
325
- def callable(obj):
326
- return isinstance(obj, Callable)
327
-
328
-
329
- try:
330
- fsencode = os.fsencode
331
- fsdecode = os.fsdecode
332
- except AttributeError: # pragma: no cover
333
- # Issue #99: on some systems (e.g. containerised),
334
- # sys.getfilesystemencoding() returns None, and we need a real value,
335
- # so fall back to utf-8. From the CPython 2.7 docs relating to Unix and
336
- # sys.getfilesystemencoding(): the return value is "the user’s preference
337
- # according to the result of nl_langinfo(CODESET), or None if the
338
- # nl_langinfo(CODESET) failed."
339
- _fsencoding = sys.getfilesystemencoding() or 'utf-8'
340
- if _fsencoding == 'mbcs':
341
- _fserrors = 'strict'
342
- else:
343
- _fserrors = 'surrogateescape'
344
-
345
- def fsencode(filename):
346
- if isinstance(filename, bytes):
347
- return filename
348
- elif isinstance(filename, text_type):
349
- return filename.encode(_fsencoding, _fserrors)
350
- else:
351
- raise TypeError("expect bytes or str, not %s" %
352
- type(filename).__name__)
353
-
354
- def fsdecode(filename):
355
- if isinstance(filename, text_type):
356
- return filename
357
- elif isinstance(filename, bytes):
358
- return filename.decode(_fsencoding, _fserrors)
359
- else:
360
- raise TypeError("expect bytes or str, not %s" %
361
- type(filename).__name__)
362
-
363
-
364
- try:
365
- from tokenize import detect_encoding
366
- except ImportError: # pragma: no cover
367
- from codecs import BOM_UTF8, lookup
368
-
369
- cookie_re = re.compile(r"coding[:=]\s*([-\w.]+)")
370
-
371
- def _get_normal_name(orig_enc):
372
- """Imitates get_normal_name in tokenizer.c."""
373
- # Only care about the first 12 characters.
374
- enc = orig_enc[:12].lower().replace("_", "-")
375
- if enc == "utf-8" or enc.startswith("utf-8-"):
376
- return "utf-8"
377
- if enc in ("latin-1", "iso-8859-1", "iso-latin-1") or \
378
- enc.startswith(("latin-1-", "iso-8859-1-", "iso-latin-1-")):
379
- return "iso-8859-1"
380
- return orig_enc
381
-
382
- def detect_encoding(readline):
383
- """
384
- The detect_encoding() function is used to detect the encoding that should
385
- be used to decode a Python source file. It requires one argument, readline,
386
- in the same way as the tokenize() generator.
387
-
388
- It will call readline a maximum of twice, and return the encoding used
389
- (as a string) and a list of any lines (left as bytes) it has read in.
390
-
391
- It detects the encoding from the presence of a utf-8 bom or an encoding
392
- cookie as specified in pep-0263. If both a bom and a cookie are present,
393
- but disagree, a SyntaxError will be raised. If the encoding cookie is an
394
- invalid charset, raise a SyntaxError. Note that if a utf-8 bom is found,
395
- 'utf-8-sig' is returned.
396
-
397
- If no encoding is specified, then the default of 'utf-8' will be returned.
398
- """
399
- try:
400
- filename = readline.__self__.name
401
- except AttributeError:
402
- filename = None
403
- bom_found = False
404
- encoding = None
405
- default = 'utf-8'
406
-
407
- def read_or_stop():
408
- try:
409
- return readline()
410
- except StopIteration:
411
- return b''
412
-
413
- def find_cookie(line):
414
- try:
415
- # Decode as UTF-8. Either the line is an encoding declaration,
416
- # in which case it should be pure ASCII, or it must be UTF-8
417
- # per default encoding.
418
- line_string = line.decode('utf-8')
419
- except UnicodeDecodeError:
420
- msg = "invalid or missing encoding declaration"
421
- if filename is not None:
422
- msg = '{} for {!r}'.format(msg, filename)
423
- raise SyntaxError(msg)
424
-
425
- matches = cookie_re.findall(line_string)
426
- if not matches:
427
- return None
428
- encoding = _get_normal_name(matches[0])
429
- try:
430
- codec = lookup(encoding)
431
- except LookupError:
432
- # This behaviour mimics the Python interpreter
433
- if filename is None:
434
- msg = "unknown encoding: " + encoding
435
- else:
436
- msg = "unknown encoding for {!r}: {}".format(
437
- filename, encoding)
438
- raise SyntaxError(msg)
439
-
440
- if bom_found:
441
- if codec.name != 'utf-8':
442
- # This behaviour mimics the Python interpreter
443
- if filename is None:
444
- msg = 'encoding problem: utf-8'
445
- else:
446
- msg = 'encoding problem for {!r}: utf-8'.format(
447
- filename)
448
- raise SyntaxError(msg)
449
- encoding += '-sig'
450
- return encoding
451
-
452
- first = read_or_stop()
453
- if first.startswith(BOM_UTF8):
454
- bom_found = True
455
- first = first[3:]
456
- default = 'utf-8-sig'
457
- if not first:
458
- return default, []
459
-
460
- encoding = find_cookie(first)
461
- if encoding:
462
- return encoding, [first]
463
-
464
- second = read_or_stop()
465
- if not second:
466
- return default, [first]
467
-
468
- encoding = find_cookie(second)
469
- if encoding:
470
- return encoding, [first, second]
471
-
472
- return default, [first, second]
473
-
474
-
475
- # For converting & <-> &amp; etc.
476
- try:
477
- from html import escape
478
- except ImportError:
479
- from cgi import escape
480
- if sys.version_info[:2] < (3, 4):
481
- unescape = HTMLParser().unescape
482
- else:
483
- from html import unescape
484
-
485
- try:
486
- from collections import ChainMap
487
- except ImportError: # pragma: no cover
488
- from collections import MutableMapping
489
-
490
- try:
491
- from reprlib import recursive_repr as _recursive_repr
492
- except ImportError:
493
-
494
- def _recursive_repr(fillvalue='...'):
495
- '''
496
- Decorator to make a repr function return fillvalue for a recursive
497
- call
498
- '''
499
-
500
- def decorating_function(user_function):
501
- repr_running = set()
502
-
503
- def wrapper(self):
504
- key = id(self), get_ident()
505
- if key in repr_running:
506
- return fillvalue
507
- repr_running.add(key)
508
- try:
509
- result = user_function(self)
510
- finally:
511
- repr_running.discard(key)
512
- return result
513
-
514
- # Can't use functools.wraps() here because of bootstrap issues
515
- wrapper.__module__ = getattr(user_function, '__module__')
516
- wrapper.__doc__ = getattr(user_function, '__doc__')
517
- wrapper.__name__ = getattr(user_function, '__name__')
518
- wrapper.__annotations__ = getattr(user_function,
519
- '__annotations__', {})
520
- return wrapper
521
-
522
- return decorating_function
523
-
524
- class ChainMap(MutableMapping):
525
- '''
526
- A ChainMap groups multiple dicts (or other mappings) together
527
- to create a single, updateable view.
528
-
529
- The underlying mappings are stored in a list. That list is public and can
530
- accessed or updated using the *maps* attribute. There is no other state.
531
-
532
- Lookups search the underlying mappings successively until a key is found.
533
- In contrast, writes, updates, and deletions only operate on the first
534
- mapping.
535
- '''
536
-
537
- def __init__(self, *maps):
538
- '''Initialize a ChainMap by setting *maps* to the given mappings.
539
- If no mappings are provided, a single empty dictionary is used.
540
-
541
- '''
542
- self.maps = list(maps) or [{}] # always at least one map
543
-
544
- def __missing__(self, key):
545
- raise KeyError(key)
546
-
547
- def __getitem__(self, key):
548
- for mapping in self.maps:
549
- try:
550
- return mapping[
551
- key] # can't use 'key in mapping' with defaultdict
552
- except KeyError:
553
- pass
554
- return self.__missing__(
555
- key) # support subclasses that define __missing__
556
-
557
- def get(self, key, default=None):
558
- return self[key] if key in self else default
559
-
560
- def __len__(self):
561
- return len(set().union(
562
- *self.maps)) # reuses stored hash values if possible
563
-
564
- def __iter__(self):
565
- return iter(set().union(*self.maps))
566
-
567
- def __contains__(self, key):
568
- return any(key in m for m in self.maps)
569
-
570
- def __bool__(self):
571
- return any(self.maps)
572
-
573
- @_recursive_repr()
574
- def __repr__(self):
575
- return '{0.__class__.__name__}({1})'.format(
576
- self, ', '.join(map(repr, self.maps)))
577
-
578
- @classmethod
579
- def fromkeys(cls, iterable, *args):
580
- 'Create a ChainMap with a single dict created from the iterable.'
581
- return cls(dict.fromkeys(iterable, *args))
582
-
583
- def copy(self):
584
- 'New ChainMap or subclass with a new copy of maps[0] and refs to maps[1:]'
585
- return self.__class__(self.maps[0].copy(), *self.maps[1:])
586
-
587
- __copy__ = copy
588
-
589
- def new_child(self): # like Django's Context.push()
590
- 'New ChainMap with a new dict followed by all previous maps.'
591
- return self.__class__({}, *self.maps)
592
-
593
- @property
594
- def parents(self): # like Django's Context.pop()
595
- 'New ChainMap from maps[1:].'
596
- return self.__class__(*self.maps[1:])
597
-
598
- def __setitem__(self, key, value):
599
- self.maps[0][key] = value
600
-
601
- def __delitem__(self, key):
602
- try:
603
- del self.maps[0][key]
604
- except KeyError:
605
- raise KeyError(
606
- 'Key not found in the first mapping: {!r}'.format(key))
607
-
608
- def popitem(self):
609
- 'Remove and return an item pair from maps[0]. Raise KeyError is maps[0] is empty.'
610
- try:
611
- return self.maps[0].popitem()
612
- except KeyError:
613
- raise KeyError('No keys found in the first mapping.')
614
-
615
- def pop(self, key, *args):
616
- 'Remove *key* from maps[0] and return its value. Raise KeyError if *key* not in maps[0].'
617
- try:
618
- return self.maps[0].pop(key, *args)
619
- except KeyError:
620
- raise KeyError(
621
- 'Key not found in the first mapping: {!r}'.format(key))
622
-
623
- def clear(self):
624
- 'Clear maps[0], leaving maps[1:] intact.'
625
- self.maps[0].clear()
626
-
627
-
628
- try:
629
- from importlib.util import cache_from_source # Python >= 3.4
630
- except ImportError: # pragma: no cover
631
-
632
- def cache_from_source(path, debug_override=None):
633
- assert path.endswith('.py')
634
- if debug_override is None:
635
- debug_override = __debug__
636
- if debug_override:
637
- suffix = 'c'
638
- else:
639
- suffix = 'o'
640
- return path + suffix
641
-
642
-
643
- try:
644
- from collections import OrderedDict
645
- except ImportError: # pragma: no cover
646
- # {{{ http://code.activestate.com/recipes/576693/ (r9)
647
- # Backport of OrderedDict() class that runs on Python 2.4, 2.5, 2.6, 2.7 and pypy.
648
- # Passes Python2.7's test suite and incorporates all the latest updates.
649
- try:
650
- from thread import get_ident as _get_ident
651
- except ImportError:
652
- from dummy_thread import get_ident as _get_ident
653
-
654
- try:
655
- from _abcoll import KeysView, ValuesView, ItemsView
656
- except ImportError:
657
- pass
658
-
659
- class OrderedDict(dict):
660
- 'Dictionary that remembers insertion order'
661
-
662
- # An inherited dict maps keys to values.
663
- # The inherited dict provides __getitem__, __len__, __contains__, and get.
664
- # The remaining methods are order-aware.
665
- # Big-O running times for all methods are the same as for regular dictionaries.
666
-
667
- # The internal self.__map dictionary maps keys to links in a doubly linked list.
668
- # The circular doubly linked list starts and ends with a sentinel element.
669
- # The sentinel element never gets deleted (this simplifies the algorithm).
670
- # Each link is stored as a list of length three: [PREV, NEXT, KEY].
671
-
672
- def __init__(self, *args, **kwds):
673
- '''Initialize an ordered dictionary. Signature is the same as for
674
- regular dictionaries, but keyword arguments are not recommended
675
- because their insertion order is arbitrary.
676
-
677
- '''
678
- if len(args) > 1:
679
- raise TypeError('expected at most 1 arguments, got %d' %
680
- len(args))
681
- try:
682
- self.__root
683
- except AttributeError:
684
- self.__root = root = [] # sentinel node
685
- root[:] = [root, root, None]
686
- self.__map = {}
687
- self.__update(*args, **kwds)
688
-
689
- def __setitem__(self, key, value, dict_setitem=dict.__setitem__):
690
- 'od.__setitem__(i, y) <==> od[i]=y'
691
- # Setting a new item creates a new link which goes at the end of the linked
692
- # list, and the inherited dictionary is updated with the new key/value pair.
693
- if key not in self:
694
- root = self.__root
695
- last = root[0]
696
- last[1] = root[0] = self.__map[key] = [last, root, key]
697
- dict_setitem(self, key, value)
698
-
699
- def __delitem__(self, key, dict_delitem=dict.__delitem__):
700
- 'od.__delitem__(y) <==> del od[y]'
701
- # Deleting an existing item uses self.__map to find the link which is
702
- # then removed by updating the links in the predecessor and successor nodes.
703
- dict_delitem(self, key)
704
- link_prev, link_next, key = self.__map.pop(key)
705
- link_prev[1] = link_next
706
- link_next[0] = link_prev
707
-
708
- def __iter__(self):
709
- 'od.__iter__() <==> iter(od)'
710
- root = self.__root
711
- curr = root[1]
712
- while curr is not root:
713
- yield curr[2]
714
- curr = curr[1]
715
-
716
- def __reversed__(self):
717
- 'od.__reversed__() <==> reversed(od)'
718
- root = self.__root
719
- curr = root[0]
720
- while curr is not root:
721
- yield curr[2]
722
- curr = curr[0]
723
-
724
- def clear(self):
725
- 'od.clear() -> None. Remove all items from od.'
726
- try:
727
- for node in self.__map.itervalues():
728
- del node[:]
729
- root = self.__root
730
- root[:] = [root, root, None]
731
- self.__map.clear()
732
- except AttributeError:
733
- pass
734
- dict.clear(self)
735
-
736
- def popitem(self, last=True):
737
- '''od.popitem() -> (k, v), return and remove a (key, value) pair.
738
- Pairs are returned in LIFO order if last is true or FIFO order if false.
739
-
740
- '''
741
- if not self:
742
- raise KeyError('dictionary is empty')
743
- root = self.__root
744
- if last:
745
- link = root[0]
746
- link_prev = link[0]
747
- link_prev[1] = root
748
- root[0] = link_prev
749
- else:
750
- link = root[1]
751
- link_next = link[1]
752
- root[1] = link_next
753
- link_next[0] = root
754
- key = link[2]
755
- del self.__map[key]
756
- value = dict.pop(self, key)
757
- return key, value
758
-
759
- # -- the following methods do not depend on the internal structure --
760
-
761
- def keys(self):
762
- 'od.keys() -> list of keys in od'
763
- return list(self)
764
-
765
- def values(self):
766
- 'od.values() -> list of values in od'
767
- return [self[key] for key in self]
768
-
769
- def items(self):
770
- 'od.items() -> list of (key, value) pairs in od'
771
- return [(key, self[key]) for key in self]
772
-
773
- def iterkeys(self):
774
- 'od.iterkeys() -> an iterator over the keys in od'
775
- return iter(self)
776
-
777
- def itervalues(self):
778
- 'od.itervalues -> an iterator over the values in od'
779
- for k in self:
780
- yield self[k]
781
-
782
- def iteritems(self):
783
- 'od.iteritems -> an iterator over the (key, value) items in od'
784
- for k in self:
785
- yield (k, self[k])
786
-
787
- def update(*args, **kwds):
788
- '''od.update(E, **F) -> None. Update od from dict/iterable E and F.
789
-
790
- If E is a dict instance, does: for k in E: od[k] = E[k]
791
- If E has a .keys() method, does: for k in E.keys(): od[k] = E[k]
792
- Or if E is an iterable of items, does: for k, v in E: od[k] = v
793
- In either case, this is followed by: for k, v in F.items(): od[k] = v
794
-
795
- '''
796
- if len(args) > 2:
797
- raise TypeError('update() takes at most 2 positional '
798
- 'arguments (%d given)' % (len(args), ))
799
- elif not args:
800
- raise TypeError('update() takes at least 1 argument (0 given)')
801
- self = args[0]
802
- # Make progressively weaker assumptions about "other"
803
- other = ()
804
- if len(args) == 2:
805
- other = args[1]
806
- if isinstance(other, dict):
807
- for key in other:
808
- self[key] = other[key]
809
- elif hasattr(other, 'keys'):
810
- for key in other.keys():
811
- self[key] = other[key]
812
- else:
813
- for key, value in other:
814
- self[key] = value
815
- for key, value in kwds.items():
816
- self[key] = value
817
-
818
- __update = update # let subclasses override update without breaking __init__
819
-
820
- __marker = object()
821
-
822
- def pop(self, key, default=__marker):
823
- '''od.pop(k[,d]) -> v, remove specified key and return the corresponding value.
824
- If key is not found, d is returned if given, otherwise KeyError is raised.
825
-
826
- '''
827
- if key in self:
828
- result = self[key]
829
- del self[key]
830
- return result
831
- if default is self.__marker:
832
- raise KeyError(key)
833
- return default
834
-
835
- def setdefault(self, key, default=None):
836
- 'od.setdefault(k[,d]) -> od.get(k,d), also set od[k]=d if k not in od'
837
- if key in self:
838
- return self[key]
839
- self[key] = default
840
- return default
841
-
842
- def __repr__(self, _repr_running=None):
843
- 'od.__repr__() <==> repr(od)'
844
- if not _repr_running:
845
- _repr_running = {}
846
- call_key = id(self), _get_ident()
847
- if call_key in _repr_running:
848
- return '...'
849
- _repr_running[call_key] = 1
850
- try:
851
- if not self:
852
- return '%s()' % (self.__class__.__name__, )
853
- return '%s(%r)' % (self.__class__.__name__, self.items())
854
- finally:
855
- del _repr_running[call_key]
856
-
857
- def __reduce__(self):
858
- 'Return state information for pickling'
859
- items = [[k, self[k]] for k in self]
860
- inst_dict = vars(self).copy()
861
- for k in vars(OrderedDict()):
862
- inst_dict.pop(k, None)
863
- if inst_dict:
864
- return (self.__class__, (items, ), inst_dict)
865
- return self.__class__, (items, )
866
-
867
- def copy(self):
868
- 'od.copy() -> a shallow copy of od'
869
- return self.__class__(self)
870
-
871
- @classmethod
872
- def fromkeys(cls, iterable, value=None):
873
- '''OD.fromkeys(S[, v]) -> New ordered dictionary with keys from S
874
- and values equal to v (which defaults to None).
875
-
876
- '''
877
- d = cls()
878
- for key in iterable:
879
- d[key] = value
880
- return d
881
-
882
- def __eq__(self, other):
883
- '''od.__eq__(y) <==> od==y. Comparison to another OD is order-sensitive
884
- while comparison to a regular mapping is order-insensitive.
885
-
886
- '''
887
- if isinstance(other, OrderedDict):
888
- return len(self) == len(
889
- other) and self.items() == other.items()
890
- return dict.__eq__(self, other)
891
-
892
- def __ne__(self, other):
893
- return not self == other
894
-
895
- # -- the following methods are only used in Python 2.7 --
896
-
897
- def viewkeys(self):
898
- "od.viewkeys() -> a set-like object providing a view on od's keys"
899
- return KeysView(self)
900
-
901
- def viewvalues(self):
902
- "od.viewvalues() -> an object providing a view on od's values"
903
- return ValuesView(self)
904
-
905
- def viewitems(self):
906
- "od.viewitems() -> a set-like object providing a view on od's items"
907
- return ItemsView(self)
908
-
909
-
910
- try:
911
- from logging.config import BaseConfigurator, valid_ident
912
- except ImportError: # pragma: no cover
913
- IDENTIFIER = re.compile('^[a-z_][a-z0-9_]*$', re.I)
914
-
915
- def valid_ident(s):
916
- m = IDENTIFIER.match(s)
917
- if not m:
918
- raise ValueError('Not a valid Python identifier: %r' % s)
919
- return True
920
-
921
- # The ConvertingXXX classes are wrappers around standard Python containers,
922
- # and they serve to convert any suitable values in the container. The
923
- # conversion converts base dicts, lists and tuples to their wrapped
924
- # equivalents, whereas strings which match a conversion format are converted
925
- # appropriately.
926
- #
927
- # Each wrapper should have a configurator attribute holding the actual
928
- # configurator to use for conversion.
929
-
930
- class ConvertingDict(dict):
931
- """A converting dictionary wrapper."""
932
-
933
- def __getitem__(self, key):
934
- value = dict.__getitem__(self, key)
935
- result = self.configurator.convert(value)
936
- # If the converted value is different, save for next time
937
- if value is not result:
938
- self[key] = result
939
- if type(result) in (ConvertingDict, ConvertingList,
940
- ConvertingTuple):
941
- result.parent = self
942
- result.key = key
943
- return result
944
-
945
- def get(self, key, default=None):
946
- value = dict.get(self, key, default)
947
- result = self.configurator.convert(value)
948
- # If the converted value is different, save for next time
949
- if value is not result:
950
- self[key] = result
951
- if type(result) in (ConvertingDict, ConvertingList,
952
- ConvertingTuple):
953
- result.parent = self
954
- result.key = key
955
- return result
956
-
957
- def pop(self, key, default=None):
958
- value = dict.pop(self, key, default)
959
- result = self.configurator.convert(value)
960
- if value is not result:
961
- if type(result) in (ConvertingDict, ConvertingList,
962
- ConvertingTuple):
963
- result.parent = self
964
- result.key = key
965
- return result
966
-
967
- class ConvertingList(list):
968
- """A converting list wrapper."""
969
-
970
- def __getitem__(self, key):
971
- value = list.__getitem__(self, key)
972
- result = self.configurator.convert(value)
973
- # If the converted value is different, save for next time
974
- if value is not result:
975
- self[key] = result
976
- if type(result) in (ConvertingDict, ConvertingList,
977
- ConvertingTuple):
978
- result.parent = self
979
- result.key = key
980
- return result
981
-
982
- def pop(self, idx=-1):
983
- value = list.pop(self, idx)
984
- result = self.configurator.convert(value)
985
- if value is not result:
986
- if type(result) in (ConvertingDict, ConvertingList,
987
- ConvertingTuple):
988
- result.parent = self
989
- return result
990
-
991
- class ConvertingTuple(tuple):
992
- """A converting tuple wrapper."""
993
-
994
- def __getitem__(self, key):
995
- value = tuple.__getitem__(self, key)
996
- result = self.configurator.convert(value)
997
- if value is not result:
998
- if type(result) in (ConvertingDict, ConvertingList,
999
- ConvertingTuple):
1000
- result.parent = self
1001
- result.key = key
1002
- return result
1003
-
1004
- class BaseConfigurator(object):
1005
- """
1006
- The configurator base class which defines some useful defaults.
1007
- """
1008
-
1009
- CONVERT_PATTERN = re.compile(r'^(?P<prefix>[a-z]+)://(?P<suffix>.*)$')
1010
-
1011
- WORD_PATTERN = re.compile(r'^\s*(\w+)\s*')
1012
- DOT_PATTERN = re.compile(r'^\.\s*(\w+)\s*')
1013
- INDEX_PATTERN = re.compile(r'^\[\s*(\w+)\s*\]\s*')
1014
- DIGIT_PATTERN = re.compile(r'^\d+$')
1015
-
1016
- value_converters = {
1017
- 'ext': 'ext_convert',
1018
- 'cfg': 'cfg_convert',
1019
- }
1020
-
1021
- # We might want to use a different one, e.g. importlib
1022
- importer = staticmethod(__import__)
1023
-
1024
- def __init__(self, config):
1025
- self.config = ConvertingDict(config)
1026
- self.config.configurator = self
1027
-
1028
- def resolve(self, s):
1029
- """
1030
- Resolve strings to objects using standard import and attribute
1031
- syntax.
1032
- """
1033
- name = s.split('.')
1034
- used = name.pop(0)
1035
- try:
1036
- found = self.importer(used)
1037
- for frag in name:
1038
- used += '.' + frag
1039
- try:
1040
- found = getattr(found, frag)
1041
- except AttributeError:
1042
- self.importer(used)
1043
- found = getattr(found, frag)
1044
- return found
1045
- except ImportError:
1046
- e, tb = sys.exc_info()[1:]
1047
- v = ValueError('Cannot resolve %r: %s' % (s, e))
1048
- v.__cause__, v.__traceback__ = e, tb
1049
- raise v
1050
-
1051
- def ext_convert(self, value):
1052
- """Default converter for the ext:// protocol."""
1053
- return self.resolve(value)
1054
-
1055
- def cfg_convert(self, value):
1056
- """Default converter for the cfg:// protocol."""
1057
- rest = value
1058
- m = self.WORD_PATTERN.match(rest)
1059
- if m is None:
1060
- raise ValueError("Unable to convert %r" % value)
1061
- else:
1062
- rest = rest[m.end():]
1063
- d = self.config[m.groups()[0]]
1064
- while rest:
1065
- m = self.DOT_PATTERN.match(rest)
1066
- if m:
1067
- d = d[m.groups()[0]]
1068
- else:
1069
- m = self.INDEX_PATTERN.match(rest)
1070
- if m:
1071
- idx = m.groups()[0]
1072
- if not self.DIGIT_PATTERN.match(idx):
1073
- d = d[idx]
1074
- else:
1075
- try:
1076
- n = int(
1077
- idx
1078
- ) # try as number first (most likely)
1079
- d = d[n]
1080
- except TypeError:
1081
- d = d[idx]
1082
- if m:
1083
- rest = rest[m.end():]
1084
- else:
1085
- raise ValueError('Unable to convert '
1086
- '%r at %r' % (value, rest))
1087
- # rest should be empty
1088
- return d
1089
-
1090
- def convert(self, value):
1091
- """
1092
- Convert values to an appropriate type. dicts, lists and tuples are
1093
- replaced by their converting alternatives. Strings are checked to
1094
- see if they have a conversion format and are converted if they do.
1095
- """
1096
- if not isinstance(value, ConvertingDict) and isinstance(
1097
- value, dict):
1098
- value = ConvertingDict(value)
1099
- value.configurator = self
1100
- elif not isinstance(value, ConvertingList) and isinstance(
1101
- value, list):
1102
- value = ConvertingList(value)
1103
- value.configurator = self
1104
- elif not isinstance(value, ConvertingTuple) and isinstance(value, tuple):
1105
- value = ConvertingTuple(value)
1106
- value.configurator = self
1107
- elif isinstance(value, string_types):
1108
- m = self.CONVERT_PATTERN.match(value)
1109
- if m:
1110
- d = m.groupdict()
1111
- prefix = d['prefix']
1112
- converter = self.value_converters.get(prefix, None)
1113
- if converter:
1114
- suffix = d['suffix']
1115
- converter = getattr(self, converter)
1116
- value = converter(suffix)
1117
- return value
1118
-
1119
- def configure_custom(self, config):
1120
- """Configure an object with a user-supplied factory."""
1121
- c = config.pop('()')
1122
- if not callable(c):
1123
- c = self.resolve(c)
1124
- props = config.pop('.', None)
1125
- # Check for valid identifiers
1126
- kwargs = dict([(k, config[k]) for k in config if valid_ident(k)])
1127
- result = c(**kwargs)
1128
- if props:
1129
- for name, value in props.items():
1130
- setattr(result, name, value)
1131
- return result
1132
-
1133
- def as_tuple(self, value):
1134
- """Utility function which converts lists to tuples."""
1135
- if isinstance(value, list):
1136
- value = tuple(value)
1137
- return value