@scrypted/arlo 0.11.26 → 0.11.28

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 (1312) hide show
  1. package/dist/plugin.zip +0 -0
  2. package/package.json +1 -1
  3. package/venv/bin/Activate.ps1 +0 -247
  4. package/venv/bin/activate +0 -69
  5. package/venv/bin/activate.csh +0 -26
  6. package/venv/bin/activate.fish +0 -69
  7. package/venv/bin/normalizer +0 -8
  8. package/venv/bin/pip +0 -8
  9. package/venv/bin/pip3 +0 -8
  10. package/venv/bin/pip3.10 +0 -8
  11. package/venv/lib/python3.10/site-packages/_cffi_backend.cpython-310-x86_64-linux-gnu.so +0 -0
  12. package/venv/lib/python3.10/site-packages/_distutils_hack/__init__.py +0 -132
  13. package/venv/lib/python3.10/site-packages/_distutils_hack/override.py +0 -1
  14. package/venv/lib/python3.10/site-packages/aiohappyeyeballs/__init__.py +0 -13
  15. package/venv/lib/python3.10/site-packages/aiohappyeyeballs/_staggered.py +0 -202
  16. package/venv/lib/python3.10/site-packages/aiohappyeyeballs/impl.py +0 -210
  17. package/venv/lib/python3.10/site-packages/aiohappyeyeballs/py.typed +0 -0
  18. package/venv/lib/python3.10/site-packages/aiohappyeyeballs/types.py +0 -12
  19. package/venv/lib/python3.10/site-packages/aiohappyeyeballs/utils.py +0 -97
  20. package/venv/lib/python3.10/site-packages/aiohappyeyeballs-2.4.6.dist-info/INSTALLER +0 -1
  21. package/venv/lib/python3.10/site-packages/aiohappyeyeballs-2.4.6.dist-info/LICENSE +0 -279
  22. package/venv/lib/python3.10/site-packages/aiohappyeyeballs-2.4.6.dist-info/METADATA +0 -123
  23. package/venv/lib/python3.10/site-packages/aiohappyeyeballs-2.4.6.dist-info/RECORD +0 -16
  24. package/venv/lib/python3.10/site-packages/aiohappyeyeballs-2.4.6.dist-info/WHEEL +0 -4
  25. package/venv/lib/python3.10/site-packages/aiohttp/.hash/_cparser.pxd.hash +0 -1
  26. package/venv/lib/python3.10/site-packages/aiohttp/.hash/_find_header.pxd.hash +0 -1
  27. package/venv/lib/python3.10/site-packages/aiohttp/.hash/_http_parser.pyx.hash +0 -1
  28. package/venv/lib/python3.10/site-packages/aiohttp/.hash/_http_writer.pyx.hash +0 -1
  29. package/venv/lib/python3.10/site-packages/aiohttp/.hash/hdrs.py.hash +0 -1
  30. package/venv/lib/python3.10/site-packages/aiohttp/__init__.py +0 -264
  31. package/venv/lib/python3.10/site-packages/aiohttp/_cparser.pxd +0 -158
  32. package/venv/lib/python3.10/site-packages/aiohttp/_find_header.pxd +0 -2
  33. package/venv/lib/python3.10/site-packages/aiohttp/_headers.pxi +0 -83
  34. package/venv/lib/python3.10/site-packages/aiohttp/_http_parser.cpython-310-x86_64-linux-gnu.so +0 -0
  35. package/venv/lib/python3.10/site-packages/aiohttp/_http_parser.pyx +0 -837
  36. package/venv/lib/python3.10/site-packages/aiohttp/_http_writer.cpython-310-x86_64-linux-gnu.so +0 -0
  37. package/venv/lib/python3.10/site-packages/aiohttp/_http_writer.pyx +0 -162
  38. package/venv/lib/python3.10/site-packages/aiohttp/_websocket/.hash/mask.pxd.hash +0 -1
  39. package/venv/lib/python3.10/site-packages/aiohttp/_websocket/.hash/mask.pyx.hash +0 -1
  40. package/venv/lib/python3.10/site-packages/aiohttp/_websocket/.hash/reader_c.pxd.hash +0 -1
  41. package/venv/lib/python3.10/site-packages/aiohttp/_websocket/__init__.py +0 -1
  42. package/venv/lib/python3.10/site-packages/aiohttp/_websocket/helpers.py +0 -147
  43. package/venv/lib/python3.10/site-packages/aiohttp/_websocket/mask.cpython-310-x86_64-linux-gnu.so +0 -0
  44. package/venv/lib/python3.10/site-packages/aiohttp/_websocket/mask.pxd +0 -3
  45. package/venv/lib/python3.10/site-packages/aiohttp/_websocket/mask.pyx +0 -48
  46. package/venv/lib/python3.10/site-packages/aiohttp/_websocket/models.py +0 -84
  47. package/venv/lib/python3.10/site-packages/aiohttp/_websocket/reader.py +0 -31
  48. package/venv/lib/python3.10/site-packages/aiohttp/_websocket/reader_c.cpython-310-x86_64-linux-gnu.so +0 -0
  49. package/venv/lib/python3.10/site-packages/aiohttp/_websocket/reader_c.pxd +0 -102
  50. package/venv/lib/python3.10/site-packages/aiohttp/_websocket/reader_c.py +0 -468
  51. package/venv/lib/python3.10/site-packages/aiohttp/_websocket/reader_py.py +0 -468
  52. package/venv/lib/python3.10/site-packages/aiohttp/_websocket/writer.py +0 -177
  53. package/venv/lib/python3.10/site-packages/aiohttp/abc.py +0 -253
  54. package/venv/lib/python3.10/site-packages/aiohttp/base_protocol.py +0 -100
  55. package/venv/lib/python3.10/site-packages/aiohttp/client.py +0 -1550
  56. package/venv/lib/python3.10/site-packages/aiohttp/client_exceptions.py +0 -421
  57. package/venv/lib/python3.10/site-packages/aiohttp/client_proto.py +0 -307
  58. package/venv/lib/python3.10/site-packages/aiohttp/client_reqrep.py +0 -1315
  59. package/venv/lib/python3.10/site-packages/aiohttp/client_ws.py +0 -426
  60. package/venv/lib/python3.10/site-packages/aiohttp/compression_utils.py +0 -173
  61. package/venv/lib/python3.10/site-packages/aiohttp/connector.py +0 -1652
  62. package/venv/lib/python3.10/site-packages/aiohttp/cookiejar.py +0 -495
  63. package/venv/lib/python3.10/site-packages/aiohttp/formdata.py +0 -182
  64. package/venv/lib/python3.10/site-packages/aiohttp/hdrs.py +0 -121
  65. package/venv/lib/python3.10/site-packages/aiohttp/helpers.py +0 -944
  66. package/venv/lib/python3.10/site-packages/aiohttp/http.py +0 -72
  67. package/venv/lib/python3.10/site-packages/aiohttp/http_exceptions.py +0 -112
  68. package/venv/lib/python3.10/site-packages/aiohttp/http_parser.py +0 -1046
  69. package/venv/lib/python3.10/site-packages/aiohttp/http_websocket.py +0 -36
  70. package/venv/lib/python3.10/site-packages/aiohttp/http_writer.py +0 -249
  71. package/venv/lib/python3.10/site-packages/aiohttp/log.py +0 -8
  72. package/venv/lib/python3.10/site-packages/aiohttp/multipart.py +0 -1071
  73. package/venv/lib/python3.10/site-packages/aiohttp/payload.py +0 -519
  74. package/venv/lib/python3.10/site-packages/aiohttp/payload_streamer.py +0 -78
  75. package/venv/lib/python3.10/site-packages/aiohttp/py.typed +0 -1
  76. package/venv/lib/python3.10/site-packages/aiohttp/pytest_plugin.py +0 -436
  77. package/venv/lib/python3.10/site-packages/aiohttp/resolver.py +0 -187
  78. package/venv/lib/python3.10/site-packages/aiohttp/streams.py +0 -727
  79. package/venv/lib/python3.10/site-packages/aiohttp/tcp_helpers.py +0 -37
  80. package/venv/lib/python3.10/site-packages/aiohttp/test_utils.py +0 -770
  81. package/venv/lib/python3.10/site-packages/aiohttp/tracing.py +0 -470
  82. package/venv/lib/python3.10/site-packages/aiohttp/typedefs.py +0 -69
  83. package/venv/lib/python3.10/site-packages/aiohttp/web.py +0 -605
  84. package/venv/lib/python3.10/site-packages/aiohttp/web_app.py +0 -620
  85. package/venv/lib/python3.10/site-packages/aiohttp/web_exceptions.py +0 -452
  86. package/venv/lib/python3.10/site-packages/aiohttp/web_fileresponse.py +0 -418
  87. package/venv/lib/python3.10/site-packages/aiohttp/web_log.py +0 -216
  88. package/venv/lib/python3.10/site-packages/aiohttp/web_middlewares.py +0 -121
  89. package/venv/lib/python3.10/site-packages/aiohttp/web_protocol.py +0 -750
  90. package/venv/lib/python3.10/site-packages/aiohttp/web_request.py +0 -916
  91. package/venv/lib/python3.10/site-packages/aiohttp/web_response.py +0 -840
  92. package/venv/lib/python3.10/site-packages/aiohttp/web_routedef.py +0 -214
  93. package/venv/lib/python3.10/site-packages/aiohttp/web_runner.py +0 -399
  94. package/venv/lib/python3.10/site-packages/aiohttp/web_server.py +0 -84
  95. package/venv/lib/python3.10/site-packages/aiohttp/web_urldispatcher.py +0 -1301
  96. package/venv/lib/python3.10/site-packages/aiohttp/web_ws.py +0 -622
  97. package/venv/lib/python3.10/site-packages/aiohttp/worker.py +0 -252
  98. package/venv/lib/python3.10/site-packages/aiohttp-3.11.12.dist-info/INSTALLER +0 -1
  99. package/venv/lib/python3.10/site-packages/aiohttp-3.11.12.dist-info/LICENSE.txt +0 -13
  100. package/venv/lib/python3.10/site-packages/aiohttp-3.11.12.dist-info/METADATA +0 -250
  101. package/venv/lib/python3.10/site-packages/aiohttp-3.11.12.dist-info/RECORD +0 -132
  102. package/venv/lib/python3.10/site-packages/aiohttp-3.11.12.dist-info/REQUESTED +0 -0
  103. package/venv/lib/python3.10/site-packages/aiohttp-3.11.12.dist-info/WHEEL +0 -6
  104. package/venv/lib/python3.10/site-packages/aiohttp-3.11.12.dist-info/top_level.txt +0 -1
  105. package/venv/lib/python3.10/site-packages/aiosignal/__init__.py +0 -36
  106. package/venv/lib/python3.10/site-packages/aiosignal/__init__.pyi +0 -12
  107. package/venv/lib/python3.10/site-packages/aiosignal/py.typed +0 -0
  108. package/venv/lib/python3.10/site-packages/aiosignal-1.3.2.dist-info/INSTALLER +0 -1
  109. package/venv/lib/python3.10/site-packages/aiosignal-1.3.2.dist-info/LICENSE +0 -201
  110. package/venv/lib/python3.10/site-packages/aiosignal-1.3.2.dist-info/METADATA +0 -123
  111. package/venv/lib/python3.10/site-packages/aiosignal-1.3.2.dist-info/RECORD +0 -10
  112. package/venv/lib/python3.10/site-packages/aiosignal-1.3.2.dist-info/WHEEL +0 -6
  113. package/venv/lib/python3.10/site-packages/aiosignal-1.3.2.dist-info/top_level.txt +0 -1
  114. package/venv/lib/python3.10/site-packages/async_timeout/__init__.py +0 -276
  115. package/venv/lib/python3.10/site-packages/async_timeout/py.typed +0 -1
  116. package/venv/lib/python3.10/site-packages/async_timeout-5.0.1.dist-info/INSTALLER +0 -1
  117. package/venv/lib/python3.10/site-packages/async_timeout-5.0.1.dist-info/LICENSE +0 -13
  118. package/venv/lib/python3.10/site-packages/async_timeout-5.0.1.dist-info/METADATA +0 -163
  119. package/venv/lib/python3.10/site-packages/async_timeout-5.0.1.dist-info/RECORD +0 -11
  120. package/venv/lib/python3.10/site-packages/async_timeout-5.0.1.dist-info/REQUESTED +0 -0
  121. package/venv/lib/python3.10/site-packages/async_timeout-5.0.1.dist-info/WHEEL +0 -5
  122. package/venv/lib/python3.10/site-packages/async_timeout-5.0.1.dist-info/top_level.txt +0 -1
  123. package/venv/lib/python3.10/site-packages/async_timeout-5.0.1.dist-info/zip-safe +0 -1
  124. package/venv/lib/python3.10/site-packages/attr/__init__.py +0 -104
  125. package/venv/lib/python3.10/site-packages/attr/__init__.pyi +0 -389
  126. package/venv/lib/python3.10/site-packages/attr/_cmp.py +0 -160
  127. package/venv/lib/python3.10/site-packages/attr/_cmp.pyi +0 -13
  128. package/venv/lib/python3.10/site-packages/attr/_compat.py +0 -94
  129. package/venv/lib/python3.10/site-packages/attr/_config.py +0 -31
  130. package/venv/lib/python3.10/site-packages/attr/_funcs.py +0 -468
  131. package/venv/lib/python3.10/site-packages/attr/_make.py +0 -3055
  132. package/venv/lib/python3.10/site-packages/attr/_next_gen.py +0 -623
  133. package/venv/lib/python3.10/site-packages/attr/_typing_compat.pyi +0 -15
  134. package/venv/lib/python3.10/site-packages/attr/_version_info.py +0 -86
  135. package/venv/lib/python3.10/site-packages/attr/_version_info.pyi +0 -9
  136. package/venv/lib/python3.10/site-packages/attr/converters.py +0 -162
  137. package/venv/lib/python3.10/site-packages/attr/converters.pyi +0 -19
  138. package/venv/lib/python3.10/site-packages/attr/exceptions.py +0 -95
  139. package/venv/lib/python3.10/site-packages/attr/exceptions.pyi +0 -17
  140. package/venv/lib/python3.10/site-packages/attr/filters.py +0 -72
  141. package/venv/lib/python3.10/site-packages/attr/filters.pyi +0 -6
  142. package/venv/lib/python3.10/site-packages/attr/py.typed +0 -0
  143. package/venv/lib/python3.10/site-packages/attr/setters.py +0 -79
  144. package/venv/lib/python3.10/site-packages/attr/setters.pyi +0 -20
  145. package/venv/lib/python3.10/site-packages/attr/validators.py +0 -710
  146. package/venv/lib/python3.10/site-packages/attr/validators.pyi +0 -86
  147. package/venv/lib/python3.10/site-packages/attrs/__init__.py +0 -69
  148. package/venv/lib/python3.10/site-packages/attrs/__init__.pyi +0 -263
  149. package/venv/lib/python3.10/site-packages/attrs/converters.py +0 -3
  150. package/venv/lib/python3.10/site-packages/attrs/exceptions.py +0 -3
  151. package/venv/lib/python3.10/site-packages/attrs/filters.py +0 -3
  152. package/venv/lib/python3.10/site-packages/attrs/py.typed +0 -0
  153. package/venv/lib/python3.10/site-packages/attrs/setters.py +0 -3
  154. package/venv/lib/python3.10/site-packages/attrs/validators.py +0 -3
  155. package/venv/lib/python3.10/site-packages/attrs-25.1.0.dist-info/INSTALLER +0 -1
  156. package/venv/lib/python3.10/site-packages/attrs-25.1.0.dist-info/METADATA +0 -232
  157. package/venv/lib/python3.10/site-packages/attrs-25.1.0.dist-info/RECORD +0 -55
  158. package/venv/lib/python3.10/site-packages/attrs-25.1.0.dist-info/WHEEL +0 -4
  159. package/venv/lib/python3.10/site-packages/attrs-25.1.0.dist-info/licenses/LICENSE +0 -21
  160. package/venv/lib/python3.10/site-packages/beautifulsoup4-4.13.3.dist-info/INSTALLER +0 -1
  161. package/venv/lib/python3.10/site-packages/beautifulsoup4-4.13.3.dist-info/METADATA +0 -123
  162. package/venv/lib/python3.10/site-packages/beautifulsoup4-4.13.3.dist-info/RECORD +0 -90
  163. package/venv/lib/python3.10/site-packages/beautifulsoup4-4.13.3.dist-info/REQUESTED +0 -0
  164. package/venv/lib/python3.10/site-packages/beautifulsoup4-4.13.3.dist-info/WHEEL +0 -4
  165. package/venv/lib/python3.10/site-packages/beautifulsoup4-4.13.3.dist-info/licenses/AUTHORS +0 -49
  166. package/venv/lib/python3.10/site-packages/beautifulsoup4-4.13.3.dist-info/licenses/LICENSE +0 -31
  167. package/venv/lib/python3.10/site-packages/bs4/__init__.py +0 -1170
  168. package/venv/lib/python3.10/site-packages/bs4/_deprecation.py +0 -80
  169. package/venv/lib/python3.10/site-packages/bs4/_typing.py +0 -196
  170. package/venv/lib/python3.10/site-packages/bs4/_warnings.py +0 -98
  171. package/venv/lib/python3.10/site-packages/bs4/builder/__init__.py +0 -848
  172. package/venv/lib/python3.10/site-packages/bs4/builder/_html5lib.py +0 -594
  173. package/venv/lib/python3.10/site-packages/bs4/builder/_htmlparser.py +0 -474
  174. package/venv/lib/python3.10/site-packages/bs4/builder/_lxml.py +0 -490
  175. package/venv/lib/python3.10/site-packages/bs4/css.py +0 -338
  176. package/venv/lib/python3.10/site-packages/bs4/dammit.py +0 -1408
  177. package/venv/lib/python3.10/site-packages/bs4/diagnose.py +0 -268
  178. package/venv/lib/python3.10/site-packages/bs4/element.py +0 -2886
  179. package/venv/lib/python3.10/site-packages/bs4/exceptions.py +0 -28
  180. package/venv/lib/python3.10/site-packages/bs4/filter.py +0 -755
  181. package/venv/lib/python3.10/site-packages/bs4/formatter.py +0 -276
  182. package/venv/lib/python3.10/site-packages/bs4/py.typed +0 -0
  183. package/venv/lib/python3.10/site-packages/bs4/tests/__init__.py +0 -1305
  184. package/venv/lib/python3.10/site-packages/bs4/tests/fuzz/clusterfuzz-testcase-minimized-bs4_fuzzer-4670634698080256.testcase +0 -1
  185. package/venv/lib/python3.10/site-packages/bs4/tests/fuzz/clusterfuzz-testcase-minimized-bs4_fuzzer-4818336571064320.testcase +0 -1
  186. package/venv/lib/python3.10/site-packages/bs4/tests/fuzz/clusterfuzz-testcase-minimized-bs4_fuzzer-4999465949331456.testcase +0 -1
  187. package/venv/lib/python3.10/site-packages/bs4/tests/fuzz/clusterfuzz-testcase-minimized-bs4_fuzzer-5000587759190016.testcase +0 -0
  188. package/venv/lib/python3.10/site-packages/bs4/tests/fuzz/clusterfuzz-testcase-minimized-bs4_fuzzer-5167584867909632.testcase +0 -0
  189. package/venv/lib/python3.10/site-packages/bs4/tests/fuzz/clusterfuzz-testcase-minimized-bs4_fuzzer-5270998950477824.testcase +0 -0
  190. package/venv/lib/python3.10/site-packages/bs4/tests/fuzz/clusterfuzz-testcase-minimized-bs4_fuzzer-5375146639360000.testcase +0 -1
  191. package/venv/lib/python3.10/site-packages/bs4/tests/fuzz/clusterfuzz-testcase-minimized-bs4_fuzzer-5492400320282624.testcase +0 -0
  192. package/venv/lib/python3.10/site-packages/bs4/tests/fuzz/clusterfuzz-testcase-minimized-bs4_fuzzer-5703933063462912.testcase +0 -2
  193. package/venv/lib/python3.10/site-packages/bs4/tests/fuzz/clusterfuzz-testcase-minimized-bs4_fuzzer-5843991618256896.testcase +0 -1
  194. package/venv/lib/python3.10/site-packages/bs4/tests/fuzz/clusterfuzz-testcase-minimized-bs4_fuzzer-5984173902397440.testcase +0 -0
  195. package/venv/lib/python3.10/site-packages/bs4/tests/fuzz/clusterfuzz-testcase-minimized-bs4_fuzzer-6124268085182464.testcase +0 -1
  196. package/venv/lib/python3.10/site-packages/bs4/tests/fuzz/clusterfuzz-testcase-minimized-bs4_fuzzer-6241471367348224.testcase +0 -1
  197. package/venv/lib/python3.10/site-packages/bs4/tests/fuzz/clusterfuzz-testcase-minimized-bs4_fuzzer-6306874195312640.testcase +0 -1
  198. package/venv/lib/python3.10/site-packages/bs4/tests/fuzz/clusterfuzz-testcase-minimized-bs4_fuzzer-6450958476902400.testcase +0 -0
  199. package/venv/lib/python3.10/site-packages/bs4/tests/fuzz/clusterfuzz-testcase-minimized-bs4_fuzzer-6600557255327744.testcase +0 -0
  200. package/venv/lib/python3.10/site-packages/bs4/tests/fuzz/crash-0d306a50c8ed8bcd0785b67000fcd5dea1d33f08.testcase +0 -0
  201. package/venv/lib/python3.10/site-packages/bs4/tests/fuzz/crash-ffbdfa8a2b26f13537b68d3794b0478a4090ee4a.testcase +0 -0
  202. package/venv/lib/python3.10/site-packages/bs4/tests/test_builder.py +0 -28
  203. package/venv/lib/python3.10/site-packages/bs4/tests/test_builder_registry.py +0 -139
  204. package/venv/lib/python3.10/site-packages/bs4/tests/test_css.py +0 -536
  205. package/venv/lib/python3.10/site-packages/bs4/tests/test_dammit.py +0 -433
  206. package/venv/lib/python3.10/site-packages/bs4/tests/test_element.py +0 -138
  207. package/venv/lib/python3.10/site-packages/bs4/tests/test_filter.py +0 -674
  208. package/venv/lib/python3.10/site-packages/bs4/tests/test_formatter.py +0 -170
  209. package/venv/lib/python3.10/site-packages/bs4/tests/test_fuzz.py +0 -181
  210. package/venv/lib/python3.10/site-packages/bs4/tests/test_html5lib.py +0 -264
  211. package/venv/lib/python3.10/site-packages/bs4/tests/test_htmlparser.py +0 -161
  212. package/venv/lib/python3.10/site-packages/bs4/tests/test_lxml.py +0 -196
  213. package/venv/lib/python3.10/site-packages/bs4/tests/test_navigablestring.py +0 -144
  214. package/venv/lib/python3.10/site-packages/bs4/tests/test_pageelement.py +0 -437
  215. package/venv/lib/python3.10/site-packages/bs4/tests/test_soup.py +0 -602
  216. package/venv/lib/python3.10/site-packages/bs4/tests/test_tag.py +0 -241
  217. package/venv/lib/python3.10/site-packages/bs4/tests/test_tree.py +0 -1452
  218. package/venv/lib/python3.10/site-packages/cachetools/__init__.py +0 -859
  219. package/venv/lib/python3.10/site-packages/cachetools/func.py +0 -121
  220. package/venv/lib/python3.10/site-packages/cachetools/keys.py +0 -62
  221. package/venv/lib/python3.10/site-packages/cachetools-5.5.1.dist-info/INSTALLER +0 -1
  222. package/venv/lib/python3.10/site-packages/cachetools-5.5.1.dist-info/LICENSE +0 -20
  223. package/venv/lib/python3.10/site-packages/cachetools-5.5.1.dist-info/METADATA +0 -151
  224. package/venv/lib/python3.10/site-packages/cachetools-5.5.1.dist-info/RECORD +0 -13
  225. package/venv/lib/python3.10/site-packages/cachetools-5.5.1.dist-info/REQUESTED +0 -0
  226. package/venv/lib/python3.10/site-packages/cachetools-5.5.1.dist-info/WHEEL +0 -5
  227. package/venv/lib/python3.10/site-packages/cachetools-5.5.1.dist-info/top_level.txt +0 -1
  228. package/venv/lib/python3.10/site-packages/certifi/__init__.py +0 -4
  229. package/venv/lib/python3.10/site-packages/certifi/__main__.py +0 -12
  230. package/venv/lib/python3.10/site-packages/certifi/cacert.pem +0 -4897
  231. package/venv/lib/python3.10/site-packages/certifi/core.py +0 -114
  232. package/venv/lib/python3.10/site-packages/certifi/py.typed +0 -0
  233. package/venv/lib/python3.10/site-packages/certifi-2025.1.31.dist-info/INSTALLER +0 -1
  234. package/venv/lib/python3.10/site-packages/certifi-2025.1.31.dist-info/LICENSE +0 -20
  235. package/venv/lib/python3.10/site-packages/certifi-2025.1.31.dist-info/METADATA +0 -77
  236. package/venv/lib/python3.10/site-packages/certifi-2025.1.31.dist-info/RECORD +0 -14
  237. package/venv/lib/python3.10/site-packages/certifi-2025.1.31.dist-info/WHEEL +0 -5
  238. package/venv/lib/python3.10/site-packages/certifi-2025.1.31.dist-info/top_level.txt +0 -1
  239. package/venv/lib/python3.10/site-packages/cffi/__init__.py +0 -14
  240. package/venv/lib/python3.10/site-packages/cffi/_cffi_errors.h +0 -149
  241. package/venv/lib/python3.10/site-packages/cffi/_cffi_include.h +0 -389
  242. package/venv/lib/python3.10/site-packages/cffi/_embedding.h +0 -550
  243. package/venv/lib/python3.10/site-packages/cffi/_imp_emulation.py +0 -83
  244. package/venv/lib/python3.10/site-packages/cffi/_shimmed_dist_utils.py +0 -45
  245. package/venv/lib/python3.10/site-packages/cffi/api.py +0 -967
  246. package/venv/lib/python3.10/site-packages/cffi/backend_ctypes.py +0 -1121
  247. package/venv/lib/python3.10/site-packages/cffi/cffi_opcode.py +0 -187
  248. package/venv/lib/python3.10/site-packages/cffi/commontypes.py +0 -82
  249. package/venv/lib/python3.10/site-packages/cffi/cparser.py +0 -1015
  250. package/venv/lib/python3.10/site-packages/cffi/error.py +0 -31
  251. package/venv/lib/python3.10/site-packages/cffi/ffiplatform.py +0 -113
  252. package/venv/lib/python3.10/site-packages/cffi/lock.py +0 -30
  253. package/venv/lib/python3.10/site-packages/cffi/model.py +0 -618
  254. package/venv/lib/python3.10/site-packages/cffi/parse_c_type.h +0 -181
  255. package/venv/lib/python3.10/site-packages/cffi/pkgconfig.py +0 -121
  256. package/venv/lib/python3.10/site-packages/cffi/recompiler.py +0 -1598
  257. package/venv/lib/python3.10/site-packages/cffi/setuptools_ext.py +0 -216
  258. package/venv/lib/python3.10/site-packages/cffi/vengine_cpy.py +0 -1084
  259. package/venv/lib/python3.10/site-packages/cffi/vengine_gen.py +0 -679
  260. package/venv/lib/python3.10/site-packages/cffi/verifier.py +0 -306
  261. package/venv/lib/python3.10/site-packages/cffi-1.17.1.dist-info/INSTALLER +0 -1
  262. package/venv/lib/python3.10/site-packages/cffi-1.17.1.dist-info/LICENSE +0 -26
  263. package/venv/lib/python3.10/site-packages/cffi-1.17.1.dist-info/METADATA +0 -40
  264. package/venv/lib/python3.10/site-packages/cffi-1.17.1.dist-info/RECORD +0 -48
  265. package/venv/lib/python3.10/site-packages/cffi-1.17.1.dist-info/WHEEL +0 -6
  266. package/venv/lib/python3.10/site-packages/cffi-1.17.1.dist-info/entry_points.txt +0 -2
  267. package/venv/lib/python3.10/site-packages/cffi-1.17.1.dist-info/top_level.txt +0 -2
  268. package/venv/lib/python3.10/site-packages/charset_normalizer/__init__.py +0 -48
  269. package/venv/lib/python3.10/site-packages/charset_normalizer/__main__.py +0 -6
  270. package/venv/lib/python3.10/site-packages/charset_normalizer/api.py +0 -668
  271. package/venv/lib/python3.10/site-packages/charset_normalizer/cd.py +0 -395
  272. package/venv/lib/python3.10/site-packages/charset_normalizer/cli/__init__.py +0 -8
  273. package/venv/lib/python3.10/site-packages/charset_normalizer/cli/__main__.py +0 -321
  274. package/venv/lib/python3.10/site-packages/charset_normalizer/constant.py +0 -1998
  275. package/venv/lib/python3.10/site-packages/charset_normalizer/legacy.py +0 -66
  276. package/venv/lib/python3.10/site-packages/charset_normalizer/md.cpython-310-x86_64-linux-gnu.so +0 -0
  277. package/venv/lib/python3.10/site-packages/charset_normalizer/md.py +0 -630
  278. package/venv/lib/python3.10/site-packages/charset_normalizer/md__mypyc.cpython-310-x86_64-linux-gnu.so +0 -0
  279. package/venv/lib/python3.10/site-packages/charset_normalizer/models.py +0 -360
  280. package/venv/lib/python3.10/site-packages/charset_normalizer/py.typed +0 -0
  281. package/venv/lib/python3.10/site-packages/charset_normalizer/utils.py +0 -408
  282. package/venv/lib/python3.10/site-packages/charset_normalizer/version.py +0 -8
  283. package/venv/lib/python3.10/site-packages/charset_normalizer-3.4.1.dist-info/INSTALLER +0 -1
  284. package/venv/lib/python3.10/site-packages/charset_normalizer-3.4.1.dist-info/LICENSE +0 -21
  285. package/venv/lib/python3.10/site-packages/charset_normalizer-3.4.1.dist-info/METADATA +0 -721
  286. package/venv/lib/python3.10/site-packages/charset_normalizer-3.4.1.dist-info/RECORD +0 -35
  287. package/venv/lib/python3.10/site-packages/charset_normalizer-3.4.1.dist-info/WHEEL +0 -6
  288. package/venv/lib/python3.10/site-packages/charset_normalizer-3.4.1.dist-info/entry_points.txt +0 -2
  289. package/venv/lib/python3.10/site-packages/charset_normalizer-3.4.1.dist-info/top_level.txt +0 -1
  290. package/venv/lib/python3.10/site-packages/cloudscraper/__init__.py +0 -407
  291. package/venv/lib/python3.10/site-packages/cloudscraper/captcha/2captcha.py +0 -258
  292. package/venv/lib/python3.10/site-packages/cloudscraper/captcha/9kw.py +0 -214
  293. package/venv/lib/python3.10/site-packages/cloudscraper/captcha/__init__.py +0 -47
  294. package/venv/lib/python3.10/site-packages/cloudscraper/captcha/anticaptcha.py +0 -199
  295. package/venv/lib/python3.10/site-packages/cloudscraper/captcha/capmonster.py +0 -199
  296. package/venv/lib/python3.10/site-packages/cloudscraper/captcha/capsolver.py +0 -188
  297. package/venv/lib/python3.10/site-packages/cloudscraper/captcha/deathbycaptcha.py +0 -276
  298. package/venv/lib/python3.10/site-packages/cloudscraper/cloudflare.py +0 -490
  299. package/venv/lib/python3.10/site-packages/cloudscraper/exceptions.py +0 -111
  300. package/venv/lib/python3.10/site-packages/cloudscraper/help.py +0 -72
  301. package/venv/lib/python3.10/site-packages/cloudscraper/interpreters/__init__.py +0 -56
  302. package/venv/lib/python3.10/site-packages/cloudscraper/interpreters/chakracore.py +0 -103
  303. package/venv/lib/python3.10/site-packages/cloudscraper/interpreters/encapsulated.py +0 -62
  304. package/venv/lib/python3.10/site-packages/cloudscraper/interpreters/js2py.py +0 -44
  305. package/venv/lib/python3.10/site-packages/cloudscraper/interpreters/jsunfuck.py +0 -97
  306. package/venv/lib/python3.10/site-packages/cloudscraper/interpreters/native.py +0 -233
  307. package/venv/lib/python3.10/site-packages/cloudscraper/interpreters/nodejs.py +0 -49
  308. package/venv/lib/python3.10/site-packages/cloudscraper/interpreters/v8.py +0 -33
  309. package/venv/lib/python3.10/site-packages/cloudscraper/user_agent/__init__.py +0 -124
  310. package/venv/lib/python3.10/site-packages/cloudscraper/user_agent/browsers.json +0 -7913
  311. package/venv/lib/python3.10/site-packages/cloudscraper-1.2.71.dist-info/INSTALLER +0 -1
  312. package/venv/lib/python3.10/site-packages/cloudscraper-1.2.71.dist-info/LICENSE +0 -22
  313. package/venv/lib/python3.10/site-packages/cloudscraper-1.2.71.dist-info/METADATA +0 -674
  314. package/venv/lib/python3.10/site-packages/cloudscraper-1.2.71.dist-info/RECORD +0 -48
  315. package/venv/lib/python3.10/site-packages/cloudscraper-1.2.71.dist-info/REQUESTED +0 -0
  316. package/venv/lib/python3.10/site-packages/cloudscraper-1.2.71.dist-info/WHEEL +0 -6
  317. package/venv/lib/python3.10/site-packages/cloudscraper-1.2.71.dist-info/top_level.txt +0 -1
  318. package/venv/lib/python3.10/site-packages/curl_cffi/__init__.py +0 -37
  319. package/venv/lib/python3.10/site-packages/curl_cffi/__version__.py +0 -8
  320. package/venv/lib/python3.10/site-packages/curl_cffi/_asyncio_selector.py +0 -344
  321. package/venv/lib/python3.10/site-packages/curl_cffi/_wrapper.abi3.so +0 -0
  322. package/venv/lib/python3.10/site-packages/curl_cffi/aio.py +0 -257
  323. package/venv/lib/python3.10/site-packages/curl_cffi/const.py +0 -581
  324. package/venv/lib/python3.10/site-packages/curl_cffi/curl.py +0 -548
  325. package/venv/lib/python3.10/site-packages/curl_cffi/py.typed +0 -1
  326. package/venv/lib/python3.10/site-packages/curl_cffi/requests/__init__.py +0 -146
  327. package/venv/lib/python3.10/site-packages/curl_cffi/requests/cookies.py +0 -355
  328. package/venv/lib/python3.10/site-packages/curl_cffi/requests/errors.py +0 -7
  329. package/venv/lib/python3.10/site-packages/curl_cffi/requests/exceptions.py +0 -219
  330. package/venv/lib/python3.10/site-packages/curl_cffi/requests/headers.py +0 -348
  331. package/venv/lib/python3.10/site-packages/curl_cffi/requests/impersonate.py +0 -360
  332. package/venv/lib/python3.10/site-packages/curl_cffi/requests/models.py +0 -292
  333. package/venv/lib/python3.10/site-packages/curl_cffi/requests/session.py +0 -1021
  334. package/venv/lib/python3.10/site-packages/curl_cffi/requests/utils.py +0 -663
  335. package/venv/lib/python3.10/site-packages/curl_cffi/requests/websockets.py +0 -711
  336. package/venv/lib/python3.10/site-packages/curl_cffi/utils.py +0 -13
  337. package/venv/lib/python3.10/site-packages/curl_cffi-0.9.0.dist-info/INSTALLER +0 -1
  338. package/venv/lib/python3.10/site-packages/curl_cffi-0.9.0.dist-info/LICENSE +0 -21
  339. package/venv/lib/python3.10/site-packages/curl_cffi-0.9.0.dist-info/METADATA +0 -333
  340. package/venv/lib/python3.10/site-packages/curl_cffi-0.9.0.dist-info/RECORD +0 -43
  341. package/venv/lib/python3.10/site-packages/curl_cffi-0.9.0.dist-info/REQUESTED +0 -0
  342. package/venv/lib/python3.10/site-packages/curl_cffi-0.9.0.dist-info/WHEEL +0 -6
  343. package/venv/lib/python3.10/site-packages/curl_cffi-0.9.0.dist-info/top_level.txt +0 -1
  344. package/venv/lib/python3.10/site-packages/distutils-precedence.pth +0 -1
  345. package/venv/lib/python3.10/site-packages/frozenlist/__init__.py +0 -98
  346. package/venv/lib/python3.10/site-packages/frozenlist/__init__.pyi +0 -47
  347. package/venv/lib/python3.10/site-packages/frozenlist/_frozenlist.cpython-310-x86_64-linux-gnu.so +0 -0
  348. package/venv/lib/python3.10/site-packages/frozenlist/_frozenlist.pyx +0 -123
  349. package/venv/lib/python3.10/site-packages/frozenlist/py.typed +0 -1
  350. package/venv/lib/python3.10/site-packages/frozenlist-1.5.0.dist-info/INSTALLER +0 -1
  351. package/venv/lib/python3.10/site-packages/frozenlist-1.5.0.dist-info/LICENSE +0 -201
  352. package/venv/lib/python3.10/site-packages/frozenlist-1.5.0.dist-info/METADATA +0 -477
  353. package/venv/lib/python3.10/site-packages/frozenlist-1.5.0.dist-info/RECORD +0 -12
  354. package/venv/lib/python3.10/site-packages/frozenlist-1.5.0.dist-info/WHEEL +0 -8
  355. package/venv/lib/python3.10/site-packages/frozenlist-1.5.0.dist-info/top_level.txt +0 -1
  356. package/venv/lib/python3.10/site-packages/idna/__init__.py +0 -45
  357. package/venv/lib/python3.10/site-packages/idna/codec.py +0 -122
  358. package/venv/lib/python3.10/site-packages/idna/compat.py +0 -15
  359. package/venv/lib/python3.10/site-packages/idna/core.py +0 -437
  360. package/venv/lib/python3.10/site-packages/idna/idnadata.py +0 -4243
  361. package/venv/lib/python3.10/site-packages/idna/intranges.py +0 -57
  362. package/venv/lib/python3.10/site-packages/idna/package_data.py +0 -1
  363. package/venv/lib/python3.10/site-packages/idna/py.typed +0 -0
  364. package/venv/lib/python3.10/site-packages/idna/uts46data.py +0 -8681
  365. package/venv/lib/python3.10/site-packages/idna-3.10.dist-info/INSTALLER +0 -1
  366. package/venv/lib/python3.10/site-packages/idna-3.10.dist-info/LICENSE.md +0 -31
  367. package/venv/lib/python3.10/site-packages/idna-3.10.dist-info/METADATA +0 -250
  368. package/venv/lib/python3.10/site-packages/idna-3.10.dist-info/RECORD +0 -22
  369. package/venv/lib/python3.10/site-packages/idna-3.10.dist-info/WHEEL +0 -4
  370. package/venv/lib/python3.10/site-packages/multidict/__init__.py +0 -48
  371. package/venv/lib/python3.10/site-packages/multidict/__init__.pyi +0 -152
  372. package/venv/lib/python3.10/site-packages/multidict/_abc.py +0 -48
  373. package/venv/lib/python3.10/site-packages/multidict/_compat.py +0 -14
  374. package/venv/lib/python3.10/site-packages/multidict/_multidict.cpython-310-x86_64-linux-gnu.so +0 -0
  375. package/venv/lib/python3.10/site-packages/multidict/_multidict_base.py +0 -152
  376. package/venv/lib/python3.10/site-packages/multidict/_multidict_py.py +0 -527
  377. package/venv/lib/python3.10/site-packages/multidict/py.typed +0 -1
  378. package/venv/lib/python3.10/site-packages/multidict-6.1.0.dist-info/INSTALLER +0 -1
  379. package/venv/lib/python3.10/site-packages/multidict-6.1.0.dist-info/LICENSE +0 -13
  380. package/venv/lib/python3.10/site-packages/multidict-6.1.0.dist-info/METADATA +0 -140
  381. package/venv/lib/python3.10/site-packages/multidict-6.1.0.dist-info/RECORD +0 -19
  382. package/venv/lib/python3.10/site-packages/multidict-6.1.0.dist-info/WHEEL +0 -6
  383. package/venv/lib/python3.10/site-packages/multidict-6.1.0.dist-info/top_level.txt +0 -1
  384. package/venv/lib/python3.10/site-packages/paho/__init__.py +0 -0
  385. package/venv/lib/python3.10/site-packages/paho/mqtt/__init__.py +0 -5
  386. package/venv/lib/python3.10/site-packages/paho/mqtt/client.py +0 -5004
  387. package/venv/lib/python3.10/site-packages/paho/mqtt/enums.py +0 -113
  388. package/venv/lib/python3.10/site-packages/paho/mqtt/matcher.py +0 -78
  389. package/venv/lib/python3.10/site-packages/paho/mqtt/packettypes.py +0 -43
  390. package/venv/lib/python3.10/site-packages/paho/mqtt/properties.py +0 -421
  391. package/venv/lib/python3.10/site-packages/paho/mqtt/publish.py +0 -306
  392. package/venv/lib/python3.10/site-packages/paho/mqtt/py.typed +0 -0
  393. package/venv/lib/python3.10/site-packages/paho/mqtt/reasoncodes.py +0 -223
  394. package/venv/lib/python3.10/site-packages/paho/mqtt/subscribe.py +0 -281
  395. package/venv/lib/python3.10/site-packages/paho/mqtt/subscribeoptions.py +0 -113
  396. package/venv/lib/python3.10/site-packages/paho_mqtt-2.1.0.dist-info/INSTALLER +0 -1
  397. package/venv/lib/python3.10/site-packages/paho_mqtt-2.1.0.dist-info/METADATA +0 -635
  398. package/venv/lib/python3.10/site-packages/paho_mqtt-2.1.0.dist-info/RECORD +0 -29
  399. package/venv/lib/python3.10/site-packages/paho_mqtt-2.1.0.dist-info/REQUESTED +0 -0
  400. package/venv/lib/python3.10/site-packages/paho_mqtt-2.1.0.dist-info/WHEEL +0 -4
  401. package/venv/lib/python3.10/site-packages/paho_mqtt-2.1.0.dist-info/licenses/LICENSE.txt +0 -3
  402. package/venv/lib/python3.10/site-packages/pip/__init__.py +0 -13
  403. package/venv/lib/python3.10/site-packages/pip/__main__.py +0 -31
  404. package/venv/lib/python3.10/site-packages/pip/_internal/__init__.py +0 -19
  405. package/venv/lib/python3.10/site-packages/pip/_internal/build_env.py +0 -296
  406. package/venv/lib/python3.10/site-packages/pip/_internal/cache.py +0 -264
  407. package/venv/lib/python3.10/site-packages/pip/_internal/cli/__init__.py +0 -4
  408. package/venv/lib/python3.10/site-packages/pip/_internal/cli/autocompletion.py +0 -171
  409. package/venv/lib/python3.10/site-packages/pip/_internal/cli/base_command.py +0 -220
  410. package/venv/lib/python3.10/site-packages/pip/_internal/cli/cmdoptions.py +0 -1018
  411. package/venv/lib/python3.10/site-packages/pip/_internal/cli/command_context.py +0 -27
  412. package/venv/lib/python3.10/site-packages/pip/_internal/cli/main.py +0 -70
  413. package/venv/lib/python3.10/site-packages/pip/_internal/cli/main_parser.py +0 -87
  414. package/venv/lib/python3.10/site-packages/pip/_internal/cli/parser.py +0 -292
  415. package/venv/lib/python3.10/site-packages/pip/_internal/cli/progress_bars.py +0 -321
  416. package/venv/lib/python3.10/site-packages/pip/_internal/cli/req_command.py +0 -506
  417. package/venv/lib/python3.10/site-packages/pip/_internal/cli/spinners.py +0 -157
  418. package/venv/lib/python3.10/site-packages/pip/_internal/cli/status_codes.py +0 -6
  419. package/venv/lib/python3.10/site-packages/pip/_internal/commands/__init__.py +0 -127
  420. package/venv/lib/python3.10/site-packages/pip/_internal/commands/cache.py +0 -223
  421. package/venv/lib/python3.10/site-packages/pip/_internal/commands/check.py +0 -53
  422. package/venv/lib/python3.10/site-packages/pip/_internal/commands/completion.py +0 -96
  423. package/venv/lib/python3.10/site-packages/pip/_internal/commands/configuration.py +0 -266
  424. package/venv/lib/python3.10/site-packages/pip/_internal/commands/debug.py +0 -202
  425. package/venv/lib/python3.10/site-packages/pip/_internal/commands/download.py +0 -140
  426. package/venv/lib/python3.10/site-packages/pip/_internal/commands/freeze.py +0 -97
  427. package/venv/lib/python3.10/site-packages/pip/_internal/commands/hash.py +0 -59
  428. package/venv/lib/python3.10/site-packages/pip/_internal/commands/help.py +0 -41
  429. package/venv/lib/python3.10/site-packages/pip/_internal/commands/index.py +0 -139
  430. package/venv/lib/python3.10/site-packages/pip/_internal/commands/install.py +0 -771
  431. package/venv/lib/python3.10/site-packages/pip/_internal/commands/list.py +0 -363
  432. package/venv/lib/python3.10/site-packages/pip/_internal/commands/search.py +0 -174
  433. package/venv/lib/python3.10/site-packages/pip/_internal/commands/show.py +0 -178
  434. package/venv/lib/python3.10/site-packages/pip/_internal/commands/uninstall.py +0 -105
  435. package/venv/lib/python3.10/site-packages/pip/_internal/commands/wheel.py +0 -178
  436. package/venv/lib/python3.10/site-packages/pip/_internal/configuration.py +0 -366
  437. package/venv/lib/python3.10/site-packages/pip/_internal/distributions/__init__.py +0 -21
  438. package/venv/lib/python3.10/site-packages/pip/_internal/distributions/base.py +0 -36
  439. package/venv/lib/python3.10/site-packages/pip/_internal/distributions/installed.py +0 -20
  440. package/venv/lib/python3.10/site-packages/pip/_internal/distributions/sdist.py +0 -127
  441. package/venv/lib/python3.10/site-packages/pip/_internal/distributions/wheel.py +0 -31
  442. package/venv/lib/python3.10/site-packages/pip/_internal/exceptions.py +0 -658
  443. package/venv/lib/python3.10/site-packages/pip/_internal/index/__init__.py +0 -2
  444. package/venv/lib/python3.10/site-packages/pip/_internal/index/collector.py +0 -648
  445. package/venv/lib/python3.10/site-packages/pip/_internal/index/package_finder.py +0 -1004
  446. package/venv/lib/python3.10/site-packages/pip/_internal/index/sources.py +0 -224
  447. package/venv/lib/python3.10/site-packages/pip/_internal/locations/__init__.py +0 -520
  448. package/venv/lib/python3.10/site-packages/pip/_internal/locations/_distutils.py +0 -169
  449. package/venv/lib/python3.10/site-packages/pip/_internal/locations/_sysconfig.py +0 -219
  450. package/venv/lib/python3.10/site-packages/pip/_internal/locations/base.py +0 -52
  451. package/venv/lib/python3.10/site-packages/pip/_internal/main.py +0 -12
  452. package/venv/lib/python3.10/site-packages/pip/_internal/metadata/__init__.py +0 -62
  453. package/venv/lib/python3.10/site-packages/pip/_internal/metadata/base.py +0 -546
  454. package/venv/lib/python3.10/site-packages/pip/_internal/metadata/pkg_resources.py +0 -256
  455. package/venv/lib/python3.10/site-packages/pip/_internal/models/__init__.py +0 -2
  456. package/venv/lib/python3.10/site-packages/pip/_internal/models/candidate.py +0 -34
  457. package/venv/lib/python3.10/site-packages/pip/_internal/models/direct_url.py +0 -220
  458. package/venv/lib/python3.10/site-packages/pip/_internal/models/format_control.py +0 -80
  459. package/venv/lib/python3.10/site-packages/pip/_internal/models/index.py +0 -28
  460. package/venv/lib/python3.10/site-packages/pip/_internal/models/link.py +0 -288
  461. package/venv/lib/python3.10/site-packages/pip/_internal/models/scheme.py +0 -31
  462. package/venv/lib/python3.10/site-packages/pip/_internal/models/search_scope.py +0 -129
  463. package/venv/lib/python3.10/site-packages/pip/_internal/models/selection_prefs.py +0 -51
  464. package/venv/lib/python3.10/site-packages/pip/_internal/models/target_python.py +0 -110
  465. package/venv/lib/python3.10/site-packages/pip/_internal/models/wheel.py +0 -89
  466. package/venv/lib/python3.10/site-packages/pip/_internal/network/__init__.py +0 -2
  467. package/venv/lib/python3.10/site-packages/pip/_internal/network/auth.py +0 -323
  468. package/venv/lib/python3.10/site-packages/pip/_internal/network/cache.py +0 -69
  469. package/venv/lib/python3.10/site-packages/pip/_internal/network/download.py +0 -185
  470. package/venv/lib/python3.10/site-packages/pip/_internal/network/lazy_wheel.py +0 -210
  471. package/venv/lib/python3.10/site-packages/pip/_internal/network/session.py +0 -454
  472. package/venv/lib/python3.10/site-packages/pip/_internal/network/utils.py +0 -96
  473. package/venv/lib/python3.10/site-packages/pip/_internal/network/xmlrpc.py +0 -60
  474. package/venv/lib/python3.10/site-packages/pip/_internal/operations/__init__.py +0 -0
  475. package/venv/lib/python3.10/site-packages/pip/_internal/operations/build/__init__.py +0 -0
  476. package/venv/lib/python3.10/site-packages/pip/_internal/operations/build/metadata.py +0 -39
  477. package/venv/lib/python3.10/site-packages/pip/_internal/operations/build/metadata_editable.py +0 -41
  478. package/venv/lib/python3.10/site-packages/pip/_internal/operations/build/metadata_legacy.py +0 -74
  479. package/venv/lib/python3.10/site-packages/pip/_internal/operations/build/wheel.py +0 -37
  480. package/venv/lib/python3.10/site-packages/pip/_internal/operations/build/wheel_editable.py +0 -46
  481. package/venv/lib/python3.10/site-packages/pip/_internal/operations/build/wheel_legacy.py +0 -102
  482. package/venv/lib/python3.10/site-packages/pip/_internal/operations/check.py +0 -149
  483. package/venv/lib/python3.10/site-packages/pip/_internal/operations/freeze.py +0 -254
  484. package/venv/lib/python3.10/site-packages/pip/_internal/operations/install/__init__.py +0 -2
  485. package/venv/lib/python3.10/site-packages/pip/_internal/operations/install/editable_legacy.py +0 -47
  486. package/venv/lib/python3.10/site-packages/pip/_internal/operations/install/legacy.py +0 -120
  487. package/venv/lib/python3.10/site-packages/pip/_internal/operations/install/wheel.py +0 -738
  488. package/venv/lib/python3.10/site-packages/pip/_internal/operations/prepare.py +0 -642
  489. package/venv/lib/python3.10/site-packages/pip/_internal/pyproject.py +0 -168
  490. package/venv/lib/python3.10/site-packages/pip/_internal/req/__init__.py +0 -94
  491. package/venv/lib/python3.10/site-packages/pip/_internal/req/constructors.py +0 -490
  492. package/venv/lib/python3.10/site-packages/pip/_internal/req/req_file.py +0 -536
  493. package/venv/lib/python3.10/site-packages/pip/_internal/req/req_install.py +0 -858
  494. package/venv/lib/python3.10/site-packages/pip/_internal/req/req_set.py +0 -189
  495. package/venv/lib/python3.10/site-packages/pip/_internal/req/req_tracker.py +0 -124
  496. package/venv/lib/python3.10/site-packages/pip/_internal/req/req_uninstall.py +0 -633
  497. package/venv/lib/python3.10/site-packages/pip/_internal/resolution/__init__.py +0 -0
  498. package/venv/lib/python3.10/site-packages/pip/_internal/resolution/base.py +0 -20
  499. package/venv/lib/python3.10/site-packages/pip/_internal/resolution/legacy/__init__.py +0 -0
  500. package/venv/lib/python3.10/site-packages/pip/_internal/resolution/legacy/resolver.py +0 -467
  501. package/venv/lib/python3.10/site-packages/pip/_internal/resolution/resolvelib/__init__.py +0 -0
  502. package/venv/lib/python3.10/site-packages/pip/_internal/resolution/resolvelib/base.py +0 -141
  503. package/venv/lib/python3.10/site-packages/pip/_internal/resolution/resolvelib/candidates.py +0 -547
  504. package/venv/lib/python3.10/site-packages/pip/_internal/resolution/resolvelib/factory.py +0 -739
  505. package/venv/lib/python3.10/site-packages/pip/_internal/resolution/resolvelib/found_candidates.py +0 -155
  506. package/venv/lib/python3.10/site-packages/pip/_internal/resolution/resolvelib/provider.py +0 -248
  507. package/venv/lib/python3.10/site-packages/pip/_internal/resolution/resolvelib/reporter.py +0 -68
  508. package/venv/lib/python3.10/site-packages/pip/_internal/resolution/resolvelib/requirements.py +0 -166
  509. package/venv/lib/python3.10/site-packages/pip/_internal/resolution/resolvelib/resolver.py +0 -292
  510. package/venv/lib/python3.10/site-packages/pip/_internal/self_outdated_check.py +0 -189
  511. package/venv/lib/python3.10/site-packages/pip/_internal/utils/__init__.py +0 -0
  512. package/venv/lib/python3.10/site-packages/pip/_internal/utils/_log.py +0 -38
  513. package/venv/lib/python3.10/site-packages/pip/_internal/utils/appdirs.py +0 -52
  514. package/venv/lib/python3.10/site-packages/pip/_internal/utils/compat.py +0 -63
  515. package/venv/lib/python3.10/site-packages/pip/_internal/utils/compatibility_tags.py +0 -165
  516. package/venv/lib/python3.10/site-packages/pip/_internal/utils/datetime.py +0 -11
  517. package/venv/lib/python3.10/site-packages/pip/_internal/utils/deprecation.py +0 -120
  518. package/venv/lib/python3.10/site-packages/pip/_internal/utils/direct_url_helpers.py +0 -87
  519. package/venv/lib/python3.10/site-packages/pip/_internal/utils/distutils_args.py +0 -42
  520. package/venv/lib/python3.10/site-packages/pip/_internal/utils/egg_link.py +0 -75
  521. package/venv/lib/python3.10/site-packages/pip/_internal/utils/encoding.py +0 -36
  522. package/venv/lib/python3.10/site-packages/pip/_internal/utils/entrypoints.py +0 -27
  523. package/venv/lib/python3.10/site-packages/pip/_internal/utils/filesystem.py +0 -182
  524. package/venv/lib/python3.10/site-packages/pip/_internal/utils/filetypes.py +0 -27
  525. package/venv/lib/python3.10/site-packages/pip/_internal/utils/glibc.py +0 -88
  526. package/venv/lib/python3.10/site-packages/pip/_internal/utils/hashes.py +0 -144
  527. package/venv/lib/python3.10/site-packages/pip/_internal/utils/inject_securetransport.py +0 -35
  528. package/venv/lib/python3.10/site-packages/pip/_internal/utils/logging.py +0 -343
  529. package/venv/lib/python3.10/site-packages/pip/_internal/utils/misc.py +0 -653
  530. package/venv/lib/python3.10/site-packages/pip/_internal/utils/models.py +0 -39
  531. package/venv/lib/python3.10/site-packages/pip/_internal/utils/packaging.py +0 -57
  532. package/venv/lib/python3.10/site-packages/pip/_internal/utils/setuptools_build.py +0 -195
  533. package/venv/lib/python3.10/site-packages/pip/_internal/utils/subprocess.py +0 -260
  534. package/venv/lib/python3.10/site-packages/pip/_internal/utils/temp_dir.py +0 -246
  535. package/venv/lib/python3.10/site-packages/pip/_internal/utils/unpacking.py +0 -258
  536. package/venv/lib/python3.10/site-packages/pip/_internal/utils/urls.py +0 -62
  537. package/venv/lib/python3.10/site-packages/pip/_internal/utils/virtualenv.py +0 -104
  538. package/venv/lib/python3.10/site-packages/pip/_internal/utils/wheel.py +0 -136
  539. package/venv/lib/python3.10/site-packages/pip/_internal/vcs/__init__.py +0 -15
  540. package/venv/lib/python3.10/site-packages/pip/_internal/vcs/bazaar.py +0 -101
  541. package/venv/lib/python3.10/site-packages/pip/_internal/vcs/git.py +0 -526
  542. package/venv/lib/python3.10/site-packages/pip/_internal/vcs/mercurial.py +0 -163
  543. package/venv/lib/python3.10/site-packages/pip/_internal/vcs/subversion.py +0 -324
  544. package/venv/lib/python3.10/site-packages/pip/_internal/vcs/versioncontrol.py +0 -705
  545. package/venv/lib/python3.10/site-packages/pip/_internal/wheel_builder.py +0 -377
  546. package/venv/lib/python3.10/site-packages/pip/_vendor/__init__.py +0 -111
  547. package/venv/lib/python3.10/site-packages/pip/_vendor/cachecontrol/__init__.py +0 -18
  548. package/venv/lib/python3.10/site-packages/pip/_vendor/cachecontrol/_cmd.py +0 -61
  549. package/venv/lib/python3.10/site-packages/pip/_vendor/cachecontrol/adapter.py +0 -137
  550. package/venv/lib/python3.10/site-packages/pip/_vendor/cachecontrol/cache.py +0 -43
  551. package/venv/lib/python3.10/site-packages/pip/_vendor/cachecontrol/caches/__init__.py +0 -6
  552. package/venv/lib/python3.10/site-packages/pip/_vendor/cachecontrol/caches/file_cache.py +0 -150
  553. package/venv/lib/python3.10/site-packages/pip/_vendor/cachecontrol/caches/redis_cache.py +0 -37
  554. package/venv/lib/python3.10/site-packages/pip/_vendor/cachecontrol/compat.py +0 -32
  555. package/venv/lib/python3.10/site-packages/pip/_vendor/cachecontrol/controller.py +0 -415
  556. package/venv/lib/python3.10/site-packages/pip/_vendor/cachecontrol/filewrapper.py +0 -111
  557. package/venv/lib/python3.10/site-packages/pip/_vendor/cachecontrol/heuristics.py +0 -139
  558. package/venv/lib/python3.10/site-packages/pip/_vendor/cachecontrol/serialize.py +0 -186
  559. package/venv/lib/python3.10/site-packages/pip/_vendor/cachecontrol/wrapper.py +0 -33
  560. package/venv/lib/python3.10/site-packages/pip/_vendor/certifi/__init__.py +0 -3
  561. package/venv/lib/python3.10/site-packages/pip/_vendor/certifi/__main__.py +0 -12
  562. package/venv/lib/python3.10/site-packages/pip/_vendor/certifi/cacert.pem +0 -4362
  563. package/venv/lib/python3.10/site-packages/pip/_vendor/certifi/core.py +0 -76
  564. package/venv/lib/python3.10/site-packages/pip/_vendor/chardet/__init__.py +0 -83
  565. package/venv/lib/python3.10/site-packages/pip/_vendor/chardet/big5freq.py +0 -386
  566. package/venv/lib/python3.10/site-packages/pip/_vendor/chardet/big5prober.py +0 -47
  567. package/venv/lib/python3.10/site-packages/pip/_vendor/chardet/chardistribution.py +0 -233
  568. package/venv/lib/python3.10/site-packages/pip/_vendor/chardet/charsetgroupprober.py +0 -107
  569. package/venv/lib/python3.10/site-packages/pip/_vendor/chardet/charsetprober.py +0 -145
  570. package/venv/lib/python3.10/site-packages/pip/_vendor/chardet/cli/__init__.py +0 -1
  571. package/venv/lib/python3.10/site-packages/pip/_vendor/chardet/cli/chardetect.py +0 -84
  572. package/venv/lib/python3.10/site-packages/pip/_vendor/chardet/codingstatemachine.py +0 -88
  573. package/venv/lib/python3.10/site-packages/pip/_vendor/chardet/compat.py +0 -36
  574. package/venv/lib/python3.10/site-packages/pip/_vendor/chardet/cp949prober.py +0 -49
  575. package/venv/lib/python3.10/site-packages/pip/_vendor/chardet/enums.py +0 -76
  576. package/venv/lib/python3.10/site-packages/pip/_vendor/chardet/escprober.py +0 -101
  577. package/venv/lib/python3.10/site-packages/pip/_vendor/chardet/escsm.py +0 -246
  578. package/venv/lib/python3.10/site-packages/pip/_vendor/chardet/eucjpprober.py +0 -92
  579. package/venv/lib/python3.10/site-packages/pip/_vendor/chardet/euckrfreq.py +0 -195
  580. package/venv/lib/python3.10/site-packages/pip/_vendor/chardet/euckrprober.py +0 -47
  581. package/venv/lib/python3.10/site-packages/pip/_vendor/chardet/euctwfreq.py +0 -387
  582. package/venv/lib/python3.10/site-packages/pip/_vendor/chardet/euctwprober.py +0 -46
  583. package/venv/lib/python3.10/site-packages/pip/_vendor/chardet/gb2312freq.py +0 -283
  584. package/venv/lib/python3.10/site-packages/pip/_vendor/chardet/gb2312prober.py +0 -46
  585. package/venv/lib/python3.10/site-packages/pip/_vendor/chardet/hebrewprober.py +0 -292
  586. package/venv/lib/python3.10/site-packages/pip/_vendor/chardet/jisfreq.py +0 -325
  587. package/venv/lib/python3.10/site-packages/pip/_vendor/chardet/jpcntx.py +0 -233
  588. package/venv/lib/python3.10/site-packages/pip/_vendor/chardet/langbulgarianmodel.py +0 -4650
  589. package/venv/lib/python3.10/site-packages/pip/_vendor/chardet/langgreekmodel.py +0 -4398
  590. package/venv/lib/python3.10/site-packages/pip/_vendor/chardet/langhebrewmodel.py +0 -4383
  591. package/venv/lib/python3.10/site-packages/pip/_vendor/chardet/langhungarianmodel.py +0 -4650
  592. package/venv/lib/python3.10/site-packages/pip/_vendor/chardet/langrussianmodel.py +0 -5718
  593. package/venv/lib/python3.10/site-packages/pip/_vendor/chardet/langthaimodel.py +0 -4383
  594. package/venv/lib/python3.10/site-packages/pip/_vendor/chardet/langturkishmodel.py +0 -4383
  595. package/venv/lib/python3.10/site-packages/pip/_vendor/chardet/latin1prober.py +0 -145
  596. package/venv/lib/python3.10/site-packages/pip/_vendor/chardet/mbcharsetprober.py +0 -91
  597. package/venv/lib/python3.10/site-packages/pip/_vendor/chardet/mbcsgroupprober.py +0 -54
  598. package/venv/lib/python3.10/site-packages/pip/_vendor/chardet/mbcssm.py +0 -572
  599. package/venv/lib/python3.10/site-packages/pip/_vendor/chardet/metadata/__init__.py +0 -0
  600. package/venv/lib/python3.10/site-packages/pip/_vendor/chardet/metadata/languages.py +0 -310
  601. package/venv/lib/python3.10/site-packages/pip/_vendor/chardet/sbcharsetprober.py +0 -145
  602. package/venv/lib/python3.10/site-packages/pip/_vendor/chardet/sbcsgroupprober.py +0 -83
  603. package/venv/lib/python3.10/site-packages/pip/_vendor/chardet/sjisprober.py +0 -92
  604. package/venv/lib/python3.10/site-packages/pip/_vendor/chardet/universaldetector.py +0 -286
  605. package/venv/lib/python3.10/site-packages/pip/_vendor/chardet/utf8prober.py +0 -82
  606. package/venv/lib/python3.10/site-packages/pip/_vendor/chardet/version.py +0 -9
  607. package/venv/lib/python3.10/site-packages/pip/_vendor/colorama/__init__.py +0 -6
  608. package/venv/lib/python3.10/site-packages/pip/_vendor/colorama/ansi.py +0 -102
  609. package/venv/lib/python3.10/site-packages/pip/_vendor/colorama/ansitowin32.py +0 -258
  610. package/venv/lib/python3.10/site-packages/pip/_vendor/colorama/initialise.py +0 -80
  611. package/venv/lib/python3.10/site-packages/pip/_vendor/colorama/win32.py +0 -152
  612. package/venv/lib/python3.10/site-packages/pip/_vendor/colorama/winterm.py +0 -169
  613. package/venv/lib/python3.10/site-packages/pip/_vendor/distlib/__init__.py +0 -23
  614. package/venv/lib/python3.10/site-packages/pip/_vendor/distlib/compat.py +0 -1116
  615. package/venv/lib/python3.10/site-packages/pip/_vendor/distlib/database.py +0 -1345
  616. package/venv/lib/python3.10/site-packages/pip/_vendor/distlib/index.py +0 -509
  617. package/venv/lib/python3.10/site-packages/pip/_vendor/distlib/locators.py +0 -1300
  618. package/venv/lib/python3.10/site-packages/pip/_vendor/distlib/manifest.py +0 -393
  619. package/venv/lib/python3.10/site-packages/pip/_vendor/distlib/markers.py +0 -152
  620. package/venv/lib/python3.10/site-packages/pip/_vendor/distlib/metadata.py +0 -1058
  621. package/venv/lib/python3.10/site-packages/pip/_vendor/distlib/resources.py +0 -358
  622. package/venv/lib/python3.10/site-packages/pip/_vendor/distlib/scripts.py +0 -429
  623. package/venv/lib/python3.10/site-packages/pip/_vendor/distlib/util.py +0 -1932
  624. package/venv/lib/python3.10/site-packages/pip/_vendor/distlib/version.py +0 -739
  625. package/venv/lib/python3.10/site-packages/pip/_vendor/distlib/wheel.py +0 -1053
  626. package/venv/lib/python3.10/site-packages/pip/_vendor/distro.py +0 -1386
  627. package/venv/lib/python3.10/site-packages/pip/_vendor/html5lib/__init__.py +0 -35
  628. package/venv/lib/python3.10/site-packages/pip/_vendor/html5lib/_ihatexml.py +0 -289
  629. package/venv/lib/python3.10/site-packages/pip/_vendor/html5lib/_inputstream.py +0 -918
  630. package/venv/lib/python3.10/site-packages/pip/_vendor/html5lib/_tokenizer.py +0 -1735
  631. package/venv/lib/python3.10/site-packages/pip/_vendor/html5lib/_trie/__init__.py +0 -5
  632. package/venv/lib/python3.10/site-packages/pip/_vendor/html5lib/_trie/_base.py +0 -40
  633. package/venv/lib/python3.10/site-packages/pip/_vendor/html5lib/_trie/py.py +0 -67
  634. package/venv/lib/python3.10/site-packages/pip/_vendor/html5lib/_utils.py +0 -159
  635. package/venv/lib/python3.10/site-packages/pip/_vendor/html5lib/constants.py +0 -2946
  636. package/venv/lib/python3.10/site-packages/pip/_vendor/html5lib/filters/__init__.py +0 -0
  637. package/venv/lib/python3.10/site-packages/pip/_vendor/html5lib/filters/alphabeticalattributes.py +0 -29
  638. package/venv/lib/python3.10/site-packages/pip/_vendor/html5lib/filters/base.py +0 -12
  639. package/venv/lib/python3.10/site-packages/pip/_vendor/html5lib/filters/inject_meta_charset.py +0 -73
  640. package/venv/lib/python3.10/site-packages/pip/_vendor/html5lib/filters/lint.py +0 -93
  641. package/venv/lib/python3.10/site-packages/pip/_vendor/html5lib/filters/optionaltags.py +0 -207
  642. package/venv/lib/python3.10/site-packages/pip/_vendor/html5lib/filters/sanitizer.py +0 -916
  643. package/venv/lib/python3.10/site-packages/pip/_vendor/html5lib/filters/whitespace.py +0 -38
  644. package/venv/lib/python3.10/site-packages/pip/_vendor/html5lib/html5parser.py +0 -2795
  645. package/venv/lib/python3.10/site-packages/pip/_vendor/html5lib/serializer.py +0 -409
  646. package/venv/lib/python3.10/site-packages/pip/_vendor/html5lib/treeadapters/__init__.py +0 -30
  647. package/venv/lib/python3.10/site-packages/pip/_vendor/html5lib/treeadapters/genshi.py +0 -54
  648. package/venv/lib/python3.10/site-packages/pip/_vendor/html5lib/treeadapters/sax.py +0 -50
  649. package/venv/lib/python3.10/site-packages/pip/_vendor/html5lib/treebuilders/__init__.py +0 -88
  650. package/venv/lib/python3.10/site-packages/pip/_vendor/html5lib/treebuilders/base.py +0 -417
  651. package/venv/lib/python3.10/site-packages/pip/_vendor/html5lib/treebuilders/dom.py +0 -239
  652. package/venv/lib/python3.10/site-packages/pip/_vendor/html5lib/treebuilders/etree.py +0 -343
  653. package/venv/lib/python3.10/site-packages/pip/_vendor/html5lib/treebuilders/etree_lxml.py +0 -392
  654. package/venv/lib/python3.10/site-packages/pip/_vendor/html5lib/treewalkers/__init__.py +0 -154
  655. package/venv/lib/python3.10/site-packages/pip/_vendor/html5lib/treewalkers/base.py +0 -252
  656. package/venv/lib/python3.10/site-packages/pip/_vendor/html5lib/treewalkers/dom.py +0 -43
  657. package/venv/lib/python3.10/site-packages/pip/_vendor/html5lib/treewalkers/etree.py +0 -131
  658. package/venv/lib/python3.10/site-packages/pip/_vendor/html5lib/treewalkers/etree_lxml.py +0 -215
  659. package/venv/lib/python3.10/site-packages/pip/_vendor/html5lib/treewalkers/genshi.py +0 -69
  660. package/venv/lib/python3.10/site-packages/pip/_vendor/idna/__init__.py +0 -44
  661. package/venv/lib/python3.10/site-packages/pip/_vendor/idna/codec.py +0 -112
  662. package/venv/lib/python3.10/site-packages/pip/_vendor/idna/compat.py +0 -13
  663. package/venv/lib/python3.10/site-packages/pip/_vendor/idna/core.py +0 -397
  664. package/venv/lib/python3.10/site-packages/pip/_vendor/idna/idnadata.py +0 -2137
  665. package/venv/lib/python3.10/site-packages/pip/_vendor/idna/intranges.py +0 -54
  666. package/venv/lib/python3.10/site-packages/pip/_vendor/idna/package_data.py +0 -2
  667. package/venv/lib/python3.10/site-packages/pip/_vendor/idna/uts46data.py +0 -8512
  668. package/venv/lib/python3.10/site-packages/pip/_vendor/msgpack/__init__.py +0 -54
  669. package/venv/lib/python3.10/site-packages/pip/_vendor/msgpack/_version.py +0 -1
  670. package/venv/lib/python3.10/site-packages/pip/_vendor/msgpack/exceptions.py +0 -48
  671. package/venv/lib/python3.10/site-packages/pip/_vendor/msgpack/ext.py +0 -193
  672. package/venv/lib/python3.10/site-packages/pip/_vendor/msgpack/fallback.py +0 -1012
  673. package/venv/lib/python3.10/site-packages/pip/_vendor/packaging/__about__.py +0 -26
  674. package/venv/lib/python3.10/site-packages/pip/_vendor/packaging/__init__.py +0 -25
  675. package/venv/lib/python3.10/site-packages/pip/_vendor/packaging/_manylinux.py +0 -301
  676. package/venv/lib/python3.10/site-packages/pip/_vendor/packaging/_musllinux.py +0 -136
  677. package/venv/lib/python3.10/site-packages/pip/_vendor/packaging/_structures.py +0 -61
  678. package/venv/lib/python3.10/site-packages/pip/_vendor/packaging/markers.py +0 -304
  679. package/venv/lib/python3.10/site-packages/pip/_vendor/packaging/requirements.py +0 -146
  680. package/venv/lib/python3.10/site-packages/pip/_vendor/packaging/specifiers.py +0 -802
  681. package/venv/lib/python3.10/site-packages/pip/_vendor/packaging/tags.py +0 -487
  682. package/venv/lib/python3.10/site-packages/pip/_vendor/packaging/utils.py +0 -136
  683. package/venv/lib/python3.10/site-packages/pip/_vendor/packaging/version.py +0 -504
  684. package/venv/lib/python3.10/site-packages/pip/_vendor/pep517/__init__.py +0 -6
  685. package/venv/lib/python3.10/site-packages/pip/_vendor/pep517/build.py +0 -127
  686. package/venv/lib/python3.10/site-packages/pip/_vendor/pep517/check.py +0 -207
  687. package/venv/lib/python3.10/site-packages/pip/_vendor/pep517/colorlog.py +0 -115
  688. package/venv/lib/python3.10/site-packages/pip/_vendor/pep517/compat.py +0 -51
  689. package/venv/lib/python3.10/site-packages/pip/_vendor/pep517/dirtools.py +0 -44
  690. package/venv/lib/python3.10/site-packages/pip/_vendor/pep517/envbuild.py +0 -171
  691. package/venv/lib/python3.10/site-packages/pip/_vendor/pep517/in_process/__init__.py +0 -17
  692. package/venv/lib/python3.10/site-packages/pip/_vendor/pep517/in_process/_in_process.py +0 -363
  693. package/venv/lib/python3.10/site-packages/pip/_vendor/pep517/meta.py +0 -92
  694. package/venv/lib/python3.10/site-packages/pip/_vendor/pep517/wrappers.py +0 -375
  695. package/venv/lib/python3.10/site-packages/pip/_vendor/pkg_resources/__init__.py +0 -3296
  696. package/venv/lib/python3.10/site-packages/pip/_vendor/pkg_resources/py31compat.py +0 -23
  697. package/venv/lib/python3.10/site-packages/pip/_vendor/platformdirs/__init__.py +0 -331
  698. package/venv/lib/python3.10/site-packages/pip/_vendor/platformdirs/__main__.py +0 -46
  699. package/venv/lib/python3.10/site-packages/pip/_vendor/platformdirs/android.py +0 -119
  700. package/venv/lib/python3.10/site-packages/pip/_vendor/platformdirs/api.py +0 -156
  701. package/venv/lib/python3.10/site-packages/pip/_vendor/platformdirs/macos.py +0 -64
  702. package/venv/lib/python3.10/site-packages/pip/_vendor/platformdirs/unix.py +0 -181
  703. package/venv/lib/python3.10/site-packages/pip/_vendor/platformdirs/version.py +0 -4
  704. package/venv/lib/python3.10/site-packages/pip/_vendor/platformdirs/windows.py +0 -182
  705. package/venv/lib/python3.10/site-packages/pip/_vendor/progress/__init__.py +0 -189
  706. package/venv/lib/python3.10/site-packages/pip/_vendor/progress/bar.py +0 -93
  707. package/venv/lib/python3.10/site-packages/pip/_vendor/progress/colors.py +0 -79
  708. package/venv/lib/python3.10/site-packages/pip/_vendor/progress/counter.py +0 -47
  709. package/venv/lib/python3.10/site-packages/pip/_vendor/progress/spinner.py +0 -45
  710. package/venv/lib/python3.10/site-packages/pip/_vendor/pygments/__init__.py +0 -83
  711. package/venv/lib/python3.10/site-packages/pip/_vendor/pygments/__main__.py +0 -17
  712. package/venv/lib/python3.10/site-packages/pip/_vendor/pygments/cmdline.py +0 -663
  713. package/venv/lib/python3.10/site-packages/pip/_vendor/pygments/console.py +0 -70
  714. package/venv/lib/python3.10/site-packages/pip/_vendor/pygments/filter.py +0 -71
  715. package/venv/lib/python3.10/site-packages/pip/_vendor/pygments/filters/__init__.py +0 -937
  716. package/venv/lib/python3.10/site-packages/pip/_vendor/pygments/formatter.py +0 -94
  717. package/venv/lib/python3.10/site-packages/pip/_vendor/pygments/formatters/__init__.py +0 -153
  718. package/venv/lib/python3.10/site-packages/pip/_vendor/pygments/formatters/_mapping.py +0 -84
  719. package/venv/lib/python3.10/site-packages/pip/_vendor/pygments/formatters/bbcode.py +0 -108
  720. package/venv/lib/python3.10/site-packages/pip/_vendor/pygments/formatters/groff.py +0 -168
  721. package/venv/lib/python3.10/site-packages/pip/_vendor/pygments/formatters/html.py +0 -983
  722. package/venv/lib/python3.10/site-packages/pip/_vendor/pygments/formatters/img.py +0 -641
  723. package/venv/lib/python3.10/site-packages/pip/_vendor/pygments/formatters/irc.py +0 -179
  724. package/venv/lib/python3.10/site-packages/pip/_vendor/pygments/formatters/latex.py +0 -511
  725. package/venv/lib/python3.10/site-packages/pip/_vendor/pygments/formatters/other.py +0 -161
  726. package/venv/lib/python3.10/site-packages/pip/_vendor/pygments/formatters/pangomarkup.py +0 -83
  727. package/venv/lib/python3.10/site-packages/pip/_vendor/pygments/formatters/rtf.py +0 -146
  728. package/venv/lib/python3.10/site-packages/pip/_vendor/pygments/formatters/svg.py +0 -188
  729. package/venv/lib/python3.10/site-packages/pip/_vendor/pygments/formatters/terminal.py +0 -127
  730. package/venv/lib/python3.10/site-packages/pip/_vendor/pygments/formatters/terminal256.py +0 -338
  731. package/venv/lib/python3.10/site-packages/pip/_vendor/pygments/lexer.py +0 -879
  732. package/venv/lib/python3.10/site-packages/pip/_vendor/pygments/lexers/__init__.py +0 -341
  733. package/venv/lib/python3.10/site-packages/pip/_vendor/pygments/lexers/_mapping.py +0 -580
  734. package/venv/lib/python3.10/site-packages/pip/_vendor/pygments/lexers/python.py +0 -1188
  735. package/venv/lib/python3.10/site-packages/pip/_vendor/pygments/modeline.py +0 -43
  736. package/venv/lib/python3.10/site-packages/pip/_vendor/pygments/plugin.py +0 -69
  737. package/venv/lib/python3.10/site-packages/pip/_vendor/pygments/regexopt.py +0 -91
  738. package/venv/lib/python3.10/site-packages/pip/_vendor/pygments/scanner.py +0 -104
  739. package/venv/lib/python3.10/site-packages/pip/_vendor/pygments/sphinxext.py +0 -155
  740. package/venv/lib/python3.10/site-packages/pip/_vendor/pygments/style.py +0 -197
  741. package/venv/lib/python3.10/site-packages/pip/_vendor/pygments/styles/__init__.py +0 -93
  742. package/venv/lib/python3.10/site-packages/pip/_vendor/pygments/token.py +0 -212
  743. package/venv/lib/python3.10/site-packages/pip/_vendor/pygments/unistring.py +0 -153
  744. package/venv/lib/python3.10/site-packages/pip/_vendor/pygments/util.py +0 -308
  745. package/venv/lib/python3.10/site-packages/pip/_vendor/pyparsing/__init__.py +0 -328
  746. package/venv/lib/python3.10/site-packages/pip/_vendor/pyparsing/actions.py +0 -207
  747. package/venv/lib/python3.10/site-packages/pip/_vendor/pyparsing/common.py +0 -424
  748. package/venv/lib/python3.10/site-packages/pip/_vendor/pyparsing/core.py +0 -5789
  749. package/venv/lib/python3.10/site-packages/pip/_vendor/pyparsing/diagram/__init__.py +0 -593
  750. package/venv/lib/python3.10/site-packages/pip/_vendor/pyparsing/exceptions.py +0 -267
  751. package/venv/lib/python3.10/site-packages/pip/_vendor/pyparsing/helpers.py +0 -1069
  752. package/venv/lib/python3.10/site-packages/pip/_vendor/pyparsing/results.py +0 -760
  753. package/venv/lib/python3.10/site-packages/pip/_vendor/pyparsing/testing.py +0 -331
  754. package/venv/lib/python3.10/site-packages/pip/_vendor/pyparsing/unicode.py +0 -332
  755. package/venv/lib/python3.10/site-packages/pip/_vendor/pyparsing/util.py +0 -235
  756. package/venv/lib/python3.10/site-packages/pip/_vendor/requests/__init__.py +0 -154
  757. package/venv/lib/python3.10/site-packages/pip/_vendor/requests/__version__.py +0 -14
  758. package/venv/lib/python3.10/site-packages/pip/_vendor/requests/_internal_utils.py +0 -42
  759. package/venv/lib/python3.10/site-packages/pip/_vendor/requests/adapters.py +0 -538
  760. package/venv/lib/python3.10/site-packages/pip/_vendor/requests/api.py +0 -159
  761. package/venv/lib/python3.10/site-packages/pip/_vendor/requests/auth.py +0 -305
  762. package/venv/lib/python3.10/site-packages/pip/_vendor/requests/certs.py +0 -18
  763. package/venv/lib/python3.10/site-packages/pip/_vendor/requests/compat.py +0 -77
  764. package/venv/lib/python3.10/site-packages/pip/_vendor/requests/cookies.py +0 -549
  765. package/venv/lib/python3.10/site-packages/pip/_vendor/requests/exceptions.py +0 -133
  766. package/venv/lib/python3.10/site-packages/pip/_vendor/requests/help.py +0 -132
  767. package/venv/lib/python3.10/site-packages/pip/_vendor/requests/hooks.py +0 -34
  768. package/venv/lib/python3.10/site-packages/pip/_vendor/requests/models.py +0 -973
  769. package/venv/lib/python3.10/site-packages/pip/_vendor/requests/packages.py +0 -16
  770. package/venv/lib/python3.10/site-packages/pip/_vendor/requests/sessions.py +0 -771
  771. package/venv/lib/python3.10/site-packages/pip/_vendor/requests/status_codes.py +0 -123
  772. package/venv/lib/python3.10/site-packages/pip/_vendor/requests/structures.py +0 -105
  773. package/venv/lib/python3.10/site-packages/pip/_vendor/requests/utils.py +0 -1060
  774. package/venv/lib/python3.10/site-packages/pip/_vendor/resolvelib/__init__.py +0 -26
  775. package/venv/lib/python3.10/site-packages/pip/_vendor/resolvelib/compat/__init__.py +0 -0
  776. package/venv/lib/python3.10/site-packages/pip/_vendor/resolvelib/compat/collections_abc.py +0 -6
  777. package/venv/lib/python3.10/site-packages/pip/_vendor/resolvelib/providers.py +0 -133
  778. package/venv/lib/python3.10/site-packages/pip/_vendor/resolvelib/reporters.py +0 -43
  779. package/venv/lib/python3.10/site-packages/pip/_vendor/resolvelib/resolvers.py +0 -482
  780. package/venv/lib/python3.10/site-packages/pip/_vendor/resolvelib/structs.py +0 -165
  781. package/venv/lib/python3.10/site-packages/pip/_vendor/rich/__init__.py +0 -172
  782. package/venv/lib/python3.10/site-packages/pip/_vendor/rich/__main__.py +0 -280
  783. package/venv/lib/python3.10/site-packages/pip/_vendor/rich/_cell_widths.py +0 -451
  784. package/venv/lib/python3.10/site-packages/pip/_vendor/rich/_emoji_codes.py +0 -3610
  785. package/venv/lib/python3.10/site-packages/pip/_vendor/rich/_emoji_replace.py +0 -32
  786. package/venv/lib/python3.10/site-packages/pip/_vendor/rich/_extension.py +0 -10
  787. package/venv/lib/python3.10/site-packages/pip/_vendor/rich/_inspect.py +0 -210
  788. package/venv/lib/python3.10/site-packages/pip/_vendor/rich/_log_render.py +0 -94
  789. package/venv/lib/python3.10/site-packages/pip/_vendor/rich/_loop.py +0 -43
  790. package/venv/lib/python3.10/site-packages/pip/_vendor/rich/_lru_cache.py +0 -34
  791. package/venv/lib/python3.10/site-packages/pip/_vendor/rich/_palettes.py +0 -309
  792. package/venv/lib/python3.10/site-packages/pip/_vendor/rich/_pick.py +0 -17
  793. package/venv/lib/python3.10/site-packages/pip/_vendor/rich/_ratio.py +0 -160
  794. package/venv/lib/python3.10/site-packages/pip/_vendor/rich/_spinners.py +0 -848
  795. package/venv/lib/python3.10/site-packages/pip/_vendor/rich/_stack.py +0 -16
  796. package/venv/lib/python3.10/site-packages/pip/_vendor/rich/_timer.py +0 -19
  797. package/venv/lib/python3.10/site-packages/pip/_vendor/rich/_windows.py +0 -72
  798. package/venv/lib/python3.10/site-packages/pip/_vendor/rich/_wrap.py +0 -55
  799. package/venv/lib/python3.10/site-packages/pip/_vendor/rich/abc.py +0 -33
  800. package/venv/lib/python3.10/site-packages/pip/_vendor/rich/align.py +0 -312
  801. package/venv/lib/python3.10/site-packages/pip/_vendor/rich/ansi.py +0 -228
  802. package/venv/lib/python3.10/site-packages/pip/_vendor/rich/bar.py +0 -94
  803. package/venv/lib/python3.10/site-packages/pip/_vendor/rich/box.py +0 -483
  804. package/venv/lib/python3.10/site-packages/pip/_vendor/rich/cells.py +0 -147
  805. package/venv/lib/python3.10/site-packages/pip/_vendor/rich/color.py +0 -581
  806. package/venv/lib/python3.10/site-packages/pip/_vendor/rich/color_triplet.py +0 -38
  807. package/venv/lib/python3.10/site-packages/pip/_vendor/rich/columns.py +0 -187
  808. package/venv/lib/python3.10/site-packages/pip/_vendor/rich/console.py +0 -2211
  809. package/venv/lib/python3.10/site-packages/pip/_vendor/rich/constrain.py +0 -37
  810. package/venv/lib/python3.10/site-packages/pip/_vendor/rich/containers.py +0 -167
  811. package/venv/lib/python3.10/site-packages/pip/_vendor/rich/control.py +0 -175
  812. package/venv/lib/python3.10/site-packages/pip/_vendor/rich/default_styles.py +0 -183
  813. package/venv/lib/python3.10/site-packages/pip/_vendor/rich/diagnose.py +0 -6
  814. package/venv/lib/python3.10/site-packages/pip/_vendor/rich/emoji.py +0 -96
  815. package/venv/lib/python3.10/site-packages/pip/_vendor/rich/errors.py +0 -34
  816. package/venv/lib/python3.10/site-packages/pip/_vendor/rich/file_proxy.py +0 -54
  817. package/venv/lib/python3.10/site-packages/pip/_vendor/rich/filesize.py +0 -89
  818. package/venv/lib/python3.10/site-packages/pip/_vendor/rich/highlighter.py +0 -147
  819. package/venv/lib/python3.10/site-packages/pip/_vendor/rich/json.py +0 -140
  820. package/venv/lib/python3.10/site-packages/pip/_vendor/rich/jupyter.py +0 -92
  821. package/venv/lib/python3.10/site-packages/pip/_vendor/rich/layout.py +0 -444
  822. package/venv/lib/python3.10/site-packages/pip/_vendor/rich/live.py +0 -365
  823. package/venv/lib/python3.10/site-packages/pip/_vendor/rich/live_render.py +0 -113
  824. package/venv/lib/python3.10/site-packages/pip/_vendor/rich/logging.py +0 -268
  825. package/venv/lib/python3.10/site-packages/pip/_vendor/rich/markup.py +0 -244
  826. package/venv/lib/python3.10/site-packages/pip/_vendor/rich/measure.py +0 -149
  827. package/venv/lib/python3.10/site-packages/pip/_vendor/rich/padding.py +0 -141
  828. package/venv/lib/python3.10/site-packages/pip/_vendor/rich/pager.py +0 -34
  829. package/venv/lib/python3.10/site-packages/pip/_vendor/rich/palette.py +0 -100
  830. package/venv/lib/python3.10/site-packages/pip/_vendor/rich/panel.py +0 -250
  831. package/venv/lib/python3.10/site-packages/pip/_vendor/rich/pretty.py +0 -903
  832. package/venv/lib/python3.10/site-packages/pip/_vendor/rich/progress.py +0 -1036
  833. package/venv/lib/python3.10/site-packages/pip/_vendor/rich/progress_bar.py +0 -216
  834. package/venv/lib/python3.10/site-packages/pip/_vendor/rich/prompt.py +0 -376
  835. package/venv/lib/python3.10/site-packages/pip/_vendor/rich/protocol.py +0 -42
  836. package/venv/lib/python3.10/site-packages/pip/_vendor/rich/region.py +0 -10
  837. package/venv/lib/python3.10/site-packages/pip/_vendor/rich/repr.py +0 -151
  838. package/venv/lib/python3.10/site-packages/pip/_vendor/rich/rule.py +0 -115
  839. package/venv/lib/python3.10/site-packages/pip/_vendor/rich/scope.py +0 -86
  840. package/venv/lib/python3.10/site-packages/pip/_vendor/rich/screen.py +0 -54
  841. package/venv/lib/python3.10/site-packages/pip/_vendor/rich/segment.py +0 -720
  842. package/venv/lib/python3.10/site-packages/pip/_vendor/rich/spinner.py +0 -134
  843. package/venv/lib/python3.10/site-packages/pip/_vendor/rich/status.py +0 -132
  844. package/venv/lib/python3.10/site-packages/pip/_vendor/rich/style.py +0 -785
  845. package/venv/lib/python3.10/site-packages/pip/_vendor/rich/styled.py +0 -42
  846. package/venv/lib/python3.10/site-packages/pip/_vendor/rich/syntax.py +0 -735
  847. package/venv/lib/python3.10/site-packages/pip/_vendor/rich/table.py +0 -968
  848. package/venv/lib/python3.10/site-packages/pip/_vendor/rich/tabulate.py +0 -51
  849. package/venv/lib/python3.10/site-packages/pip/_vendor/rich/terminal_theme.py +0 -55
  850. package/venv/lib/python3.10/site-packages/pip/_vendor/rich/text.py +0 -1282
  851. package/venv/lib/python3.10/site-packages/pip/_vendor/rich/theme.py +0 -112
  852. package/venv/lib/python3.10/site-packages/pip/_vendor/rich/themes.py +0 -5
  853. package/venv/lib/python3.10/site-packages/pip/_vendor/rich/traceback.py +0 -678
  854. package/venv/lib/python3.10/site-packages/pip/_vendor/rich/tree.py +0 -249
  855. package/venv/lib/python3.10/site-packages/pip/_vendor/six.py +0 -998
  856. package/venv/lib/python3.10/site-packages/pip/_vendor/tenacity/__init__.py +0 -517
  857. package/venv/lib/python3.10/site-packages/pip/_vendor/tenacity/_asyncio.py +0 -92
  858. package/venv/lib/python3.10/site-packages/pip/_vendor/tenacity/_utils.py +0 -68
  859. package/venv/lib/python3.10/site-packages/pip/_vendor/tenacity/after.py +0 -46
  860. package/venv/lib/python3.10/site-packages/pip/_vendor/tenacity/before.py +0 -41
  861. package/venv/lib/python3.10/site-packages/pip/_vendor/tenacity/before_sleep.py +0 -58
  862. package/venv/lib/python3.10/site-packages/pip/_vendor/tenacity/nap.py +0 -43
  863. package/venv/lib/python3.10/site-packages/pip/_vendor/tenacity/retry.py +0 -213
  864. package/venv/lib/python3.10/site-packages/pip/_vendor/tenacity/stop.py +0 -96
  865. package/venv/lib/python3.10/site-packages/pip/_vendor/tenacity/tornadoweb.py +0 -59
  866. package/venv/lib/python3.10/site-packages/pip/_vendor/tenacity/wait.py +0 -191
  867. package/venv/lib/python3.10/site-packages/pip/_vendor/tomli/__init__.py +0 -6
  868. package/venv/lib/python3.10/site-packages/pip/_vendor/tomli/_parser.py +0 -703
  869. package/venv/lib/python3.10/site-packages/pip/_vendor/tomli/_re.py +0 -83
  870. package/venv/lib/python3.10/site-packages/pip/_vendor/typing_extensions.py +0 -2296
  871. package/venv/lib/python3.10/site-packages/pip/_vendor/urllib3/__init__.py +0 -85
  872. package/venv/lib/python3.10/site-packages/pip/_vendor/urllib3/_collections.py +0 -355
  873. package/venv/lib/python3.10/site-packages/pip/_vendor/urllib3/_version.py +0 -2
  874. package/venv/lib/python3.10/site-packages/pip/_vendor/urllib3/connection.py +0 -569
  875. package/venv/lib/python3.10/site-packages/pip/_vendor/urllib3/connectionpool.py +0 -1113
  876. package/venv/lib/python3.10/site-packages/pip/_vendor/urllib3/contrib/__init__.py +0 -0
  877. package/venv/lib/python3.10/site-packages/pip/_vendor/urllib3/contrib/_appengine_environ.py +0 -36
  878. package/venv/lib/python3.10/site-packages/pip/_vendor/urllib3/contrib/_securetransport/__init__.py +0 -0
  879. package/venv/lib/python3.10/site-packages/pip/_vendor/urllib3/contrib/_securetransport/bindings.py +0 -519
  880. package/venv/lib/python3.10/site-packages/pip/_vendor/urllib3/contrib/_securetransport/low_level.py +0 -397
  881. package/venv/lib/python3.10/site-packages/pip/_vendor/urllib3/contrib/appengine.py +0 -314
  882. package/venv/lib/python3.10/site-packages/pip/_vendor/urllib3/contrib/ntlmpool.py +0 -130
  883. package/venv/lib/python3.10/site-packages/pip/_vendor/urllib3/contrib/pyopenssl.py +0 -511
  884. package/venv/lib/python3.10/site-packages/pip/_vendor/urllib3/contrib/securetransport.py +0 -922
  885. package/venv/lib/python3.10/site-packages/pip/_vendor/urllib3/contrib/socks.py +0 -216
  886. package/venv/lib/python3.10/site-packages/pip/_vendor/urllib3/exceptions.py +0 -323
  887. package/venv/lib/python3.10/site-packages/pip/_vendor/urllib3/fields.py +0 -274
  888. package/venv/lib/python3.10/site-packages/pip/_vendor/urllib3/filepost.py +0 -98
  889. package/venv/lib/python3.10/site-packages/pip/_vendor/urllib3/packages/__init__.py +0 -0
  890. package/venv/lib/python3.10/site-packages/pip/_vendor/urllib3/packages/backports/__init__.py +0 -0
  891. package/venv/lib/python3.10/site-packages/pip/_vendor/urllib3/packages/backports/makefile.py +0 -51
  892. package/venv/lib/python3.10/site-packages/pip/_vendor/urllib3/packages/six.py +0 -1077
  893. package/venv/lib/python3.10/site-packages/pip/_vendor/urllib3/poolmanager.py +0 -539
  894. package/venv/lib/python3.10/site-packages/pip/_vendor/urllib3/request.py +0 -170
  895. package/venv/lib/python3.10/site-packages/pip/_vendor/urllib3/response.py +0 -821
  896. package/venv/lib/python3.10/site-packages/pip/_vendor/urllib3/util/__init__.py +0 -49
  897. package/venv/lib/python3.10/site-packages/pip/_vendor/urllib3/util/connection.py +0 -149
  898. package/venv/lib/python3.10/site-packages/pip/_vendor/urllib3/util/proxy.py +0 -57
  899. package/venv/lib/python3.10/site-packages/pip/_vendor/urllib3/util/queue.py +0 -22
  900. package/venv/lib/python3.10/site-packages/pip/_vendor/urllib3/util/request.py +0 -143
  901. package/venv/lib/python3.10/site-packages/pip/_vendor/urllib3/util/response.py +0 -107
  902. package/venv/lib/python3.10/site-packages/pip/_vendor/urllib3/util/retry.py +0 -622
  903. package/venv/lib/python3.10/site-packages/pip/_vendor/urllib3/util/ssl_.py +0 -495
  904. package/venv/lib/python3.10/site-packages/pip/_vendor/urllib3/util/ssl_match_hostname.py +0 -161
  905. package/venv/lib/python3.10/site-packages/pip/_vendor/urllib3/util/ssltransport.py +0 -221
  906. package/venv/lib/python3.10/site-packages/pip/_vendor/urllib3/util/timeout.py +0 -268
  907. package/venv/lib/python3.10/site-packages/pip/_vendor/urllib3/util/url.py +0 -432
  908. package/venv/lib/python3.10/site-packages/pip/_vendor/urllib3/util/wait.py +0 -153
  909. package/venv/lib/python3.10/site-packages/pip/_vendor/vendor.txt +0 -25
  910. package/venv/lib/python3.10/site-packages/pip/_vendor/webencodings/__init__.py +0 -342
  911. package/venv/lib/python3.10/site-packages/pip/_vendor/webencodings/labels.py +0 -231
  912. package/venv/lib/python3.10/site-packages/pip/_vendor/webencodings/mklabels.py +0 -59
  913. package/venv/lib/python3.10/site-packages/pip/_vendor/webencodings/tests.py +0 -153
  914. package/venv/lib/python3.10/site-packages/pip/_vendor/webencodings/x_user_defined.py +0 -325
  915. package/venv/lib/python3.10/site-packages/pip/py.typed +0 -4
  916. package/venv/lib/python3.10/site-packages/pip-22.0.2.dist-info/INSTALLER +0 -1
  917. package/venv/lib/python3.10/site-packages/pip-22.0.2.dist-info/LICENSE.txt +0 -20
  918. package/venv/lib/python3.10/site-packages/pip-22.0.2.dist-info/METADATA +0 -92
  919. package/venv/lib/python3.10/site-packages/pip-22.0.2.dist-info/RECORD +0 -1037
  920. package/venv/lib/python3.10/site-packages/pip-22.0.2.dist-info/REQUESTED +0 -0
  921. package/venv/lib/python3.10/site-packages/pip-22.0.2.dist-info/WHEEL +0 -5
  922. package/venv/lib/python3.10/site-packages/pip-22.0.2.dist-info/entry_points.txt +0 -5
  923. package/venv/lib/python3.10/site-packages/pip-22.0.2.dist-info/top_level.txt +0 -1
  924. package/venv/lib/python3.10/site-packages/pkg_resources/__init__.py +0 -3303
  925. package/venv/lib/python3.10/site-packages/pkg_resources/_vendor/__init__.py +0 -0
  926. package/venv/lib/python3.10/site-packages/pkg_resources/_vendor/appdirs.py +0 -608
  927. package/venv/lib/python3.10/site-packages/pkg_resources/_vendor/packaging/__about__.py +0 -26
  928. package/venv/lib/python3.10/site-packages/pkg_resources/_vendor/packaging/__init__.py +0 -25
  929. package/venv/lib/python3.10/site-packages/pkg_resources/_vendor/packaging/_manylinux.py +0 -301
  930. package/venv/lib/python3.10/site-packages/pkg_resources/_vendor/packaging/_musllinux.py +0 -136
  931. package/venv/lib/python3.10/site-packages/pkg_resources/_vendor/packaging/_structures.py +0 -67
  932. package/venv/lib/python3.10/site-packages/pkg_resources/_vendor/packaging/markers.py +0 -304
  933. package/venv/lib/python3.10/site-packages/pkg_resources/_vendor/packaging/requirements.py +0 -146
  934. package/venv/lib/python3.10/site-packages/pkg_resources/_vendor/packaging/specifiers.py +0 -828
  935. package/venv/lib/python3.10/site-packages/pkg_resources/_vendor/packaging/tags.py +0 -484
  936. package/venv/lib/python3.10/site-packages/pkg_resources/_vendor/packaging/utils.py +0 -136
  937. package/venv/lib/python3.10/site-packages/pkg_resources/_vendor/packaging/version.py +0 -504
  938. package/venv/lib/python3.10/site-packages/pkg_resources/_vendor/pyparsing.py +0 -5742
  939. package/venv/lib/python3.10/site-packages/pkg_resources/extern/__init__.py +0 -73
  940. package/venv/lib/python3.10/site-packages/pkg_resources/tests/data/my-test-package-source/setup.py +0 -6
  941. package/venv/lib/python3.10/site-packages/propcache/__init__.py +0 -32
  942. package/venv/lib/python3.10/site-packages/propcache/_helpers.py +0 -39
  943. package/venv/lib/python3.10/site-packages/propcache/_helpers_c.cpython-310-x86_64-linux-gnu.so +0 -0
  944. package/venv/lib/python3.10/site-packages/propcache/_helpers_c.pyx +0 -84
  945. package/venv/lib/python3.10/site-packages/propcache/_helpers_py.py +0 -56
  946. package/venv/lib/python3.10/site-packages/propcache/api.py +0 -8
  947. package/venv/lib/python3.10/site-packages/propcache/py.typed +0 -1
  948. package/venv/lib/python3.10/site-packages/propcache-0.2.1.dist-info/INSTALLER +0 -1
  949. package/venv/lib/python3.10/site-packages/propcache-0.2.1.dist-info/LICENSE +0 -202
  950. package/venv/lib/python3.10/site-packages/propcache-0.2.1.dist-info/METADATA +0 -275
  951. package/venv/lib/python3.10/site-packages/propcache-0.2.1.dist-info/NOTICE +0 -13
  952. package/venv/lib/python3.10/site-packages/propcache-0.2.1.dist-info/RECORD +0 -18
  953. package/venv/lib/python3.10/site-packages/propcache-0.2.1.dist-info/WHEEL +0 -6
  954. package/venv/lib/python3.10/site-packages/propcache-0.2.1.dist-info/top_level.txt +0 -1
  955. package/venv/lib/python3.10/site-packages/pycparser/__init__.py +0 -93
  956. package/venv/lib/python3.10/site-packages/pycparser/_ast_gen.py +0 -336
  957. package/venv/lib/python3.10/site-packages/pycparser/_build_tables.py +0 -40
  958. package/venv/lib/python3.10/site-packages/pycparser/_c_ast.cfg +0 -195
  959. package/venv/lib/python3.10/site-packages/pycparser/ast_transforms.py +0 -164
  960. package/venv/lib/python3.10/site-packages/pycparser/c_ast.py +0 -1125
  961. package/venv/lib/python3.10/site-packages/pycparser/c_generator.py +0 -502
  962. package/venv/lib/python3.10/site-packages/pycparser/c_lexer.py +0 -555
  963. package/venv/lib/python3.10/site-packages/pycparser/c_parser.py +0 -1950
  964. package/venv/lib/python3.10/site-packages/pycparser/lextab.py +0 -10
  965. package/venv/lib/python3.10/site-packages/pycparser/ply/__init__.py +0 -5
  966. package/venv/lib/python3.10/site-packages/pycparser/ply/cpp.py +0 -905
  967. package/venv/lib/python3.10/site-packages/pycparser/ply/ctokens.py +0 -133
  968. package/venv/lib/python3.10/site-packages/pycparser/ply/lex.py +0 -1099
  969. package/venv/lib/python3.10/site-packages/pycparser/ply/yacc.py +0 -3494
  970. package/venv/lib/python3.10/site-packages/pycparser/ply/ygen.py +0 -74
  971. package/venv/lib/python3.10/site-packages/pycparser/plyparser.py +0 -133
  972. package/venv/lib/python3.10/site-packages/pycparser/yacctab.py +0 -369
  973. package/venv/lib/python3.10/site-packages/pycparser-2.22.dist-info/INSTALLER +0 -1
  974. package/venv/lib/python3.10/site-packages/pycparser-2.22.dist-info/LICENSE +0 -27
  975. package/venv/lib/python3.10/site-packages/pycparser-2.22.dist-info/METADATA +0 -28
  976. package/venv/lib/python3.10/site-packages/pycparser-2.22.dist-info/RECORD +0 -41
  977. package/venv/lib/python3.10/site-packages/pycparser-2.22.dist-info/WHEEL +0 -5
  978. package/venv/lib/python3.10/site-packages/pycparser-2.22.dist-info/top_level.txt +0 -1
  979. package/venv/lib/python3.10/site-packages/pyparsing/__init__.py +0 -326
  980. package/venv/lib/python3.10/site-packages/pyparsing/actions.py +0 -219
  981. package/venv/lib/python3.10/site-packages/pyparsing/common.py +0 -434
  982. package/venv/lib/python3.10/site-packages/pyparsing/core.py +0 -6226
  983. package/venv/lib/python3.10/site-packages/pyparsing/diagram/__init__.py +0 -744
  984. package/venv/lib/python3.10/site-packages/pyparsing/exceptions.py +0 -314
  985. package/venv/lib/python3.10/site-packages/pyparsing/helpers.py +0 -1102
  986. package/venv/lib/python3.10/site-packages/pyparsing/py.typed +0 -0
  987. package/venv/lib/python3.10/site-packages/pyparsing/results.py +0 -816
  988. package/venv/lib/python3.10/site-packages/pyparsing/testing.py +0 -362
  989. package/venv/lib/python3.10/site-packages/pyparsing/unicode.py +0 -356
  990. package/venv/lib/python3.10/site-packages/pyparsing/util.py +0 -398
  991. package/venv/lib/python3.10/site-packages/pyparsing-3.2.1.dist-info/INSTALLER +0 -1
  992. package/venv/lib/python3.10/site-packages/pyparsing-3.2.1.dist-info/LICENSE +0 -18
  993. package/venv/lib/python3.10/site-packages/pyparsing-3.2.1.dist-info/METADATA +0 -124
  994. package/venv/lib/python3.10/site-packages/pyparsing-3.2.1.dist-info/RECORD +0 -28
  995. package/venv/lib/python3.10/site-packages/pyparsing-3.2.1.dist-info/WHEEL +0 -4
  996. package/venv/lib/python3.10/site-packages/requests/__init__.py +0 -184
  997. package/venv/lib/python3.10/site-packages/requests/__version__.py +0 -14
  998. package/venv/lib/python3.10/site-packages/requests/_internal_utils.py +0 -50
  999. package/venv/lib/python3.10/site-packages/requests/adapters.py +0 -719
  1000. package/venv/lib/python3.10/site-packages/requests/api.py +0 -157
  1001. package/venv/lib/python3.10/site-packages/requests/auth.py +0 -314
  1002. package/venv/lib/python3.10/site-packages/requests/certs.py +0 -17
  1003. package/venv/lib/python3.10/site-packages/requests/compat.py +0 -94
  1004. package/venv/lib/python3.10/site-packages/requests/cookies.py +0 -561
  1005. package/venv/lib/python3.10/site-packages/requests/exceptions.py +0 -151
  1006. package/venv/lib/python3.10/site-packages/requests/help.py +0 -134
  1007. package/venv/lib/python3.10/site-packages/requests/hooks.py +0 -33
  1008. package/venv/lib/python3.10/site-packages/requests/models.py +0 -1037
  1009. package/venv/lib/python3.10/site-packages/requests/packages.py +0 -23
  1010. package/venv/lib/python3.10/site-packages/requests/sessions.py +0 -831
  1011. package/venv/lib/python3.10/site-packages/requests/status_codes.py +0 -128
  1012. package/venv/lib/python3.10/site-packages/requests/structures.py +0 -99
  1013. package/venv/lib/python3.10/site-packages/requests/utils.py +0 -1096
  1014. package/venv/lib/python3.10/site-packages/requests-2.32.3.dist-info/INSTALLER +0 -1
  1015. package/venv/lib/python3.10/site-packages/requests-2.32.3.dist-info/LICENSE +0 -175
  1016. package/venv/lib/python3.10/site-packages/requests-2.32.3.dist-info/METADATA +0 -119
  1017. package/venv/lib/python3.10/site-packages/requests-2.32.3.dist-info/RECORD +0 -43
  1018. package/venv/lib/python3.10/site-packages/requests-2.32.3.dist-info/REQUESTED +0 -0
  1019. package/venv/lib/python3.10/site-packages/requests-2.32.3.dist-info/WHEEL +0 -5
  1020. package/venv/lib/python3.10/site-packages/requests-2.32.3.dist-info/top_level.txt +0 -1
  1021. package/venv/lib/python3.10/site-packages/requests_toolbelt/__init__.py +0 -34
  1022. package/venv/lib/python3.10/site-packages/requests_toolbelt/_compat.py +0 -302
  1023. package/venv/lib/python3.10/site-packages/requests_toolbelt/adapters/__init__.py +0 -15
  1024. package/venv/lib/python3.10/site-packages/requests_toolbelt/adapters/appengine.py +0 -206
  1025. package/venv/lib/python3.10/site-packages/requests_toolbelt/adapters/fingerprint.py +0 -48
  1026. package/venv/lib/python3.10/site-packages/requests_toolbelt/adapters/host_header_ssl.py +0 -43
  1027. package/venv/lib/python3.10/site-packages/requests_toolbelt/adapters/socket_options.py +0 -129
  1028. package/venv/lib/python3.10/site-packages/requests_toolbelt/adapters/source.py +0 -67
  1029. package/venv/lib/python3.10/site-packages/requests_toolbelt/adapters/ssl.py +0 -66
  1030. package/venv/lib/python3.10/site-packages/requests_toolbelt/adapters/x509.py +0 -196
  1031. package/venv/lib/python3.10/site-packages/requests_toolbelt/auth/__init__.py +0 -0
  1032. package/venv/lib/python3.10/site-packages/requests_toolbelt/auth/_digest_auth_compat.py +0 -29
  1033. package/venv/lib/python3.10/site-packages/requests_toolbelt/auth/guess.py +0 -146
  1034. package/venv/lib/python3.10/site-packages/requests_toolbelt/auth/handler.py +0 -142
  1035. package/venv/lib/python3.10/site-packages/requests_toolbelt/auth/http_proxy_digest.py +0 -103
  1036. package/venv/lib/python3.10/site-packages/requests_toolbelt/cookies/__init__.py +0 -0
  1037. package/venv/lib/python3.10/site-packages/requests_toolbelt/cookies/forgetful.py +0 -7
  1038. package/venv/lib/python3.10/site-packages/requests_toolbelt/downloadutils/__init__.py +0 -0
  1039. package/venv/lib/python3.10/site-packages/requests_toolbelt/downloadutils/stream.py +0 -176
  1040. package/venv/lib/python3.10/site-packages/requests_toolbelt/downloadutils/tee.py +0 -123
  1041. package/venv/lib/python3.10/site-packages/requests_toolbelt/exceptions.py +0 -25
  1042. package/venv/lib/python3.10/site-packages/requests_toolbelt/multipart/__init__.py +0 -31
  1043. package/venv/lib/python3.10/site-packages/requests_toolbelt/multipart/decoder.py +0 -156
  1044. package/venv/lib/python3.10/site-packages/requests_toolbelt/multipart/encoder.py +0 -655
  1045. package/venv/lib/python3.10/site-packages/requests_toolbelt/sessions.py +0 -89
  1046. package/venv/lib/python3.10/site-packages/requests_toolbelt/streaming_iterator.py +0 -116
  1047. package/venv/lib/python3.10/site-packages/requests_toolbelt/threaded/__init__.py +0 -97
  1048. package/venv/lib/python3.10/site-packages/requests_toolbelt/threaded/pool.py +0 -211
  1049. package/venv/lib/python3.10/site-packages/requests_toolbelt/threaded/thread.py +0 -53
  1050. package/venv/lib/python3.10/site-packages/requests_toolbelt/utils/__init__.py +0 -0
  1051. package/venv/lib/python3.10/site-packages/requests_toolbelt/utils/deprecated.py +0 -91
  1052. package/venv/lib/python3.10/site-packages/requests_toolbelt/utils/dump.py +0 -198
  1053. package/venv/lib/python3.10/site-packages/requests_toolbelt/utils/formdata.py +0 -108
  1054. package/venv/lib/python3.10/site-packages/requests_toolbelt/utils/user_agent.py +0 -143
  1055. package/venv/lib/python3.10/site-packages/requests_toolbelt-1.0.0.dist-info/AUTHORS.rst +0 -57
  1056. package/venv/lib/python3.10/site-packages/requests_toolbelt-1.0.0.dist-info/INSTALLER +0 -1
  1057. package/venv/lib/python3.10/site-packages/requests_toolbelt-1.0.0.dist-info/LICENSE +0 -13
  1058. package/venv/lib/python3.10/site-packages/requests_toolbelt-1.0.0.dist-info/METADATA +0 -521
  1059. package/venv/lib/python3.10/site-packages/requests_toolbelt-1.0.0.dist-info/RECORD +0 -75
  1060. package/venv/lib/python3.10/site-packages/requests_toolbelt-1.0.0.dist-info/WHEEL +0 -6
  1061. package/venv/lib/python3.10/site-packages/requests_toolbelt-1.0.0.dist-info/top_level.txt +0 -1
  1062. package/venv/lib/python3.10/site-packages/scrypted_arlo_go/__init__.py +0 -1
  1063. package/venv/lib/python3.10/site-packages/scrypted_arlo_go/_scrypted_arlo_go.cpython-310-x86_64-linux-gnu.h +0 -555
  1064. package/venv/lib/python3.10/site-packages/scrypted_arlo_go/_scrypted_arlo_go.cpython-310-x86_64-linux-gnu.so +0 -0
  1065. package/venv/lib/python3.10/site-packages/scrypted_arlo_go/build.py +0 -344
  1066. package/venv/lib/python3.10/site-packages/scrypted_arlo_go/go.py +0 -2215
  1067. package/venv/lib/python3.10/site-packages/scrypted_arlo_go/scrypted_arlo_go.c +0 -6019
  1068. package/venv/lib/python3.10/site-packages/scrypted_arlo_go/scrypted_arlo_go.go +0 -3612
  1069. package/venv/lib/python3.10/site-packages/scrypted_arlo_go/scrypted_arlo_go.py +0 -1910
  1070. package/venv/lib/python3.10/site-packages/scrypted_arlo_go/scrypted_arlo_go_go.h +0 -555
  1071. package/venv/lib/python3.10/site-packages/scrypted_arlo_go-0.7.6.dist-info/INSTALLER +0 -1
  1072. package/venv/lib/python3.10/site-packages/scrypted_arlo_go-0.7.6.dist-info/METADATA +0 -11
  1073. package/venv/lib/python3.10/site-packages/scrypted_arlo_go-0.7.6.dist-info/RECORD +0 -19
  1074. package/venv/lib/python3.10/site-packages/scrypted_arlo_go-0.7.6.dist-info/REQUESTED +0 -0
  1075. package/venv/lib/python3.10/site-packages/scrypted_arlo_go-0.7.6.dist-info/WHEEL +0 -8
  1076. package/venv/lib/python3.10/site-packages/scrypted_arlo_go-0.7.6.dist-info/top_level.txt +0 -1
  1077. package/venv/lib/python3.10/site-packages/setuptools/__init__.py +0 -242
  1078. package/venv/lib/python3.10/site-packages/setuptools/_deprecation_warning.py +0 -7
  1079. package/venv/lib/python3.10/site-packages/setuptools/_distutils/__init__.py +0 -24
  1080. package/venv/lib/python3.10/site-packages/setuptools/_distutils/_msvccompiler.py +0 -561
  1081. package/venv/lib/python3.10/site-packages/setuptools/_distutils/archive_util.py +0 -256
  1082. package/venv/lib/python3.10/site-packages/setuptools/_distutils/bcppcompiler.py +0 -393
  1083. package/venv/lib/python3.10/site-packages/setuptools/_distutils/ccompiler.py +0 -1123
  1084. package/venv/lib/python3.10/site-packages/setuptools/_distutils/cmd.py +0 -403
  1085. package/venv/lib/python3.10/site-packages/setuptools/_distutils/command/__init__.py +0 -31
  1086. package/venv/lib/python3.10/site-packages/setuptools/_distutils/command/bdist.py +0 -143
  1087. package/venv/lib/python3.10/site-packages/setuptools/_distutils/command/bdist_dumb.py +0 -123
  1088. package/venv/lib/python3.10/site-packages/setuptools/_distutils/command/bdist_msi.py +0 -749
  1089. package/venv/lib/python3.10/site-packages/setuptools/_distutils/command/bdist_rpm.py +0 -579
  1090. package/venv/lib/python3.10/site-packages/setuptools/_distutils/command/bdist_wininst.py +0 -377
  1091. package/venv/lib/python3.10/site-packages/setuptools/_distutils/command/build.py +0 -157
  1092. package/venv/lib/python3.10/site-packages/setuptools/_distutils/command/build_clib.py +0 -209
  1093. package/venv/lib/python3.10/site-packages/setuptools/_distutils/command/build_ext.py +0 -755
  1094. package/venv/lib/python3.10/site-packages/setuptools/_distutils/command/build_py.py +0 -392
  1095. package/venv/lib/python3.10/site-packages/setuptools/_distutils/command/build_scripts.py +0 -152
  1096. package/venv/lib/python3.10/site-packages/setuptools/_distutils/command/check.py +0 -148
  1097. package/venv/lib/python3.10/site-packages/setuptools/_distutils/command/clean.py +0 -76
  1098. package/venv/lib/python3.10/site-packages/setuptools/_distutils/command/config.py +0 -344
  1099. package/venv/lib/python3.10/site-packages/setuptools/_distutils/command/install.py +0 -721
  1100. package/venv/lib/python3.10/site-packages/setuptools/_distutils/command/install_data.py +0 -79
  1101. package/venv/lib/python3.10/site-packages/setuptools/_distutils/command/install_egg_info.py +0 -84
  1102. package/venv/lib/python3.10/site-packages/setuptools/_distutils/command/install_headers.py +0 -47
  1103. package/venv/lib/python3.10/site-packages/setuptools/_distutils/command/install_lib.py +0 -217
  1104. package/venv/lib/python3.10/site-packages/setuptools/_distutils/command/install_scripts.py +0 -60
  1105. package/venv/lib/python3.10/site-packages/setuptools/_distutils/command/py37compat.py +0 -30
  1106. package/venv/lib/python3.10/site-packages/setuptools/_distutils/command/register.py +0 -304
  1107. package/venv/lib/python3.10/site-packages/setuptools/_distutils/command/sdist.py +0 -494
  1108. package/venv/lib/python3.10/site-packages/setuptools/_distutils/command/upload.py +0 -214
  1109. package/venv/lib/python3.10/site-packages/setuptools/_distutils/config.py +0 -130
  1110. package/venv/lib/python3.10/site-packages/setuptools/_distutils/core.py +0 -249
  1111. package/venv/lib/python3.10/site-packages/setuptools/_distutils/cygwinccompiler.py +0 -425
  1112. package/venv/lib/python3.10/site-packages/setuptools/_distutils/debug.py +0 -5
  1113. package/venv/lib/python3.10/site-packages/setuptools/_distutils/dep_util.py +0 -92
  1114. package/venv/lib/python3.10/site-packages/setuptools/_distutils/dir_util.py +0 -210
  1115. package/venv/lib/python3.10/site-packages/setuptools/_distutils/dist.py +0 -1257
  1116. package/venv/lib/python3.10/site-packages/setuptools/_distutils/errors.py +0 -97
  1117. package/venv/lib/python3.10/site-packages/setuptools/_distutils/extension.py +0 -240
  1118. package/venv/lib/python3.10/site-packages/setuptools/_distutils/fancy_getopt.py +0 -457
  1119. package/venv/lib/python3.10/site-packages/setuptools/_distutils/file_util.py +0 -238
  1120. package/venv/lib/python3.10/site-packages/setuptools/_distutils/filelist.py +0 -355
  1121. package/venv/lib/python3.10/site-packages/setuptools/_distutils/log.py +0 -77
  1122. package/venv/lib/python3.10/site-packages/setuptools/_distutils/msvc9compiler.py +0 -788
  1123. package/venv/lib/python3.10/site-packages/setuptools/_distutils/msvccompiler.py +0 -643
  1124. package/venv/lib/python3.10/site-packages/setuptools/_distutils/py35compat.py +0 -19
  1125. package/venv/lib/python3.10/site-packages/setuptools/_distutils/py38compat.py +0 -7
  1126. package/venv/lib/python3.10/site-packages/setuptools/_distutils/spawn.py +0 -106
  1127. package/venv/lib/python3.10/site-packages/setuptools/_distutils/sysconfig.py +0 -601
  1128. package/venv/lib/python3.10/site-packages/setuptools/_distutils/text_file.py +0 -286
  1129. package/venv/lib/python3.10/site-packages/setuptools/_distutils/unixccompiler.py +0 -325
  1130. package/venv/lib/python3.10/site-packages/setuptools/_distutils/util.py +0 -548
  1131. package/venv/lib/python3.10/site-packages/setuptools/_distutils/version.py +0 -363
  1132. package/venv/lib/python3.10/site-packages/setuptools/_distutils/versionpredicate.py +0 -169
  1133. package/venv/lib/python3.10/site-packages/setuptools/_imp.py +0 -82
  1134. package/venv/lib/python3.10/site-packages/setuptools/_vendor/__init__.py +0 -0
  1135. package/venv/lib/python3.10/site-packages/setuptools/_vendor/more_itertools/__init__.py +0 -4
  1136. package/venv/lib/python3.10/site-packages/setuptools/_vendor/more_itertools/more.py +0 -3825
  1137. package/venv/lib/python3.10/site-packages/setuptools/_vendor/more_itertools/recipes.py +0 -620
  1138. package/venv/lib/python3.10/site-packages/setuptools/_vendor/ordered_set.py +0 -488
  1139. package/venv/lib/python3.10/site-packages/setuptools/_vendor/packaging/__about__.py +0 -26
  1140. package/venv/lib/python3.10/site-packages/setuptools/_vendor/packaging/__init__.py +0 -25
  1141. package/venv/lib/python3.10/site-packages/setuptools/_vendor/packaging/_manylinux.py +0 -301
  1142. package/venv/lib/python3.10/site-packages/setuptools/_vendor/packaging/_musllinux.py +0 -136
  1143. package/venv/lib/python3.10/site-packages/setuptools/_vendor/packaging/_structures.py +0 -67
  1144. package/venv/lib/python3.10/site-packages/setuptools/_vendor/packaging/markers.py +0 -304
  1145. package/venv/lib/python3.10/site-packages/setuptools/_vendor/packaging/requirements.py +0 -146
  1146. package/venv/lib/python3.10/site-packages/setuptools/_vendor/packaging/specifiers.py +0 -828
  1147. package/venv/lib/python3.10/site-packages/setuptools/_vendor/packaging/tags.py +0 -484
  1148. package/venv/lib/python3.10/site-packages/setuptools/_vendor/packaging/utils.py +0 -136
  1149. package/venv/lib/python3.10/site-packages/setuptools/_vendor/packaging/version.py +0 -504
  1150. package/venv/lib/python3.10/site-packages/setuptools/_vendor/pyparsing.py +0 -5742
  1151. package/venv/lib/python3.10/site-packages/setuptools/archive_util.py +0 -205
  1152. package/venv/lib/python3.10/site-packages/setuptools/build_meta.py +0 -290
  1153. package/venv/lib/python3.10/site-packages/setuptools/cli-32.exe +0 -0
  1154. package/venv/lib/python3.10/site-packages/setuptools/cli-64.exe +0 -0
  1155. package/venv/lib/python3.10/site-packages/setuptools/cli-arm64.exe +0 -0
  1156. package/venv/lib/python3.10/site-packages/setuptools/cli.exe +0 -0
  1157. package/venv/lib/python3.10/site-packages/setuptools/command/__init__.py +0 -8
  1158. package/venv/lib/python3.10/site-packages/setuptools/command/alias.py +0 -78
  1159. package/venv/lib/python3.10/site-packages/setuptools/command/bdist_egg.py +0 -456
  1160. package/venv/lib/python3.10/site-packages/setuptools/command/bdist_rpm.py +0 -40
  1161. package/venv/lib/python3.10/site-packages/setuptools/command/build_clib.py +0 -101
  1162. package/venv/lib/python3.10/site-packages/setuptools/command/build_ext.py +0 -328
  1163. package/venv/lib/python3.10/site-packages/setuptools/command/build_py.py +0 -242
  1164. package/venv/lib/python3.10/site-packages/setuptools/command/develop.py +0 -193
  1165. package/venv/lib/python3.10/site-packages/setuptools/command/dist_info.py +0 -36
  1166. package/venv/lib/python3.10/site-packages/setuptools/command/easy_install.py +0 -2354
  1167. package/venv/lib/python3.10/site-packages/setuptools/command/egg_info.py +0 -755
  1168. package/venv/lib/python3.10/site-packages/setuptools/command/install.py +0 -132
  1169. package/venv/lib/python3.10/site-packages/setuptools/command/install_egg_info.py +0 -82
  1170. package/venv/lib/python3.10/site-packages/setuptools/command/install_lib.py +0 -148
  1171. package/venv/lib/python3.10/site-packages/setuptools/command/install_scripts.py +0 -69
  1172. package/venv/lib/python3.10/site-packages/setuptools/command/launcher manifest.xml +0 -15
  1173. package/venv/lib/python3.10/site-packages/setuptools/command/py36compat.py +0 -134
  1174. package/venv/lib/python3.10/site-packages/setuptools/command/register.py +0 -18
  1175. package/venv/lib/python3.10/site-packages/setuptools/command/rotate.py +0 -64
  1176. package/venv/lib/python3.10/site-packages/setuptools/command/saveopts.py +0 -22
  1177. package/venv/lib/python3.10/site-packages/setuptools/command/sdist.py +0 -196
  1178. package/venv/lib/python3.10/site-packages/setuptools/command/setopt.py +0 -149
  1179. package/venv/lib/python3.10/site-packages/setuptools/command/test.py +0 -252
  1180. package/venv/lib/python3.10/site-packages/setuptools/command/upload.py +0 -17
  1181. package/venv/lib/python3.10/site-packages/setuptools/command/upload_docs.py +0 -202
  1182. package/venv/lib/python3.10/site-packages/setuptools/config.py +0 -751
  1183. package/venv/lib/python3.10/site-packages/setuptools/dep_util.py +0 -25
  1184. package/venv/lib/python3.10/site-packages/setuptools/depends.py +0 -176
  1185. package/venv/lib/python3.10/site-packages/setuptools/dist.py +0 -1156
  1186. package/venv/lib/python3.10/site-packages/setuptools/errors.py +0 -40
  1187. package/venv/lib/python3.10/site-packages/setuptools/extension.py +0 -55
  1188. package/venv/lib/python3.10/site-packages/setuptools/extern/__init__.py +0 -73
  1189. package/venv/lib/python3.10/site-packages/setuptools/glob.py +0 -167
  1190. package/venv/lib/python3.10/site-packages/setuptools/gui-32.exe +0 -0
  1191. package/venv/lib/python3.10/site-packages/setuptools/gui-64.exe +0 -0
  1192. package/venv/lib/python3.10/site-packages/setuptools/gui-arm64.exe +0 -0
  1193. package/venv/lib/python3.10/site-packages/setuptools/gui.exe +0 -0
  1194. package/venv/lib/python3.10/site-packages/setuptools/installer.py +0 -104
  1195. package/venv/lib/python3.10/site-packages/setuptools/launch.py +0 -36
  1196. package/venv/lib/python3.10/site-packages/setuptools/monkey.py +0 -177
  1197. package/venv/lib/python3.10/site-packages/setuptools/msvc.py +0 -1805
  1198. package/venv/lib/python3.10/site-packages/setuptools/namespaces.py +0 -107
  1199. package/venv/lib/python3.10/site-packages/setuptools/package_index.py +0 -1150
  1200. package/venv/lib/python3.10/site-packages/setuptools/py34compat.py +0 -13
  1201. package/venv/lib/python3.10/site-packages/setuptools/sandbox.py +0 -530
  1202. package/venv/lib/python3.10/site-packages/setuptools/script (dev).tmpl +0 -6
  1203. package/venv/lib/python3.10/site-packages/setuptools/script.tmpl +0 -3
  1204. package/venv/lib/python3.10/site-packages/setuptools/unicode_utils.py +0 -42
  1205. package/venv/lib/python3.10/site-packages/setuptools/version.py +0 -6
  1206. package/venv/lib/python3.10/site-packages/setuptools/wheel.py +0 -213
  1207. package/venv/lib/python3.10/site-packages/setuptools/windows_support.py +0 -29
  1208. package/venv/lib/python3.10/site-packages/setuptools-59.6.0.dist-info/INSTALLER +0 -1
  1209. package/venv/lib/python3.10/site-packages/setuptools-59.6.0.dist-info/LICENSE +0 -19
  1210. package/venv/lib/python3.10/site-packages/setuptools-59.6.0.dist-info/METADATA +0 -125
  1211. package/venv/lib/python3.10/site-packages/setuptools-59.6.0.dist-info/RECORD +0 -298
  1212. package/venv/lib/python3.10/site-packages/setuptools-59.6.0.dist-info/REQUESTED +0 -0
  1213. package/venv/lib/python3.10/site-packages/setuptools-59.6.0.dist-info/WHEEL +0 -5
  1214. package/venv/lib/python3.10/site-packages/setuptools-59.6.0.dist-info/entry_points.txt +0 -56
  1215. package/venv/lib/python3.10/site-packages/setuptools-59.6.0.dist-info/top_level.txt +0 -4
  1216. package/venv/lib/python3.10/site-packages/six-1.17.0.dist-info/INSTALLER +0 -1
  1217. package/venv/lib/python3.10/site-packages/six-1.17.0.dist-info/LICENSE +0 -18
  1218. package/venv/lib/python3.10/site-packages/six-1.17.0.dist-info/METADATA +0 -43
  1219. package/venv/lib/python3.10/site-packages/six-1.17.0.dist-info/RECORD +0 -8
  1220. package/venv/lib/python3.10/site-packages/six-1.17.0.dist-info/WHEEL +0 -6
  1221. package/venv/lib/python3.10/site-packages/six-1.17.0.dist-info/top_level.txt +0 -1
  1222. package/venv/lib/python3.10/site-packages/six.py +0 -1003
  1223. package/venv/lib/python3.10/site-packages/soupsieve/__init__.py +0 -168
  1224. package/venv/lib/python3.10/site-packages/soupsieve/__meta__.py +0 -197
  1225. package/venv/lib/python3.10/site-packages/soupsieve/css_match.py +0 -1582
  1226. package/venv/lib/python3.10/site-packages/soupsieve/css_parser.py +0 -1289
  1227. package/venv/lib/python3.10/site-packages/soupsieve/css_types.py +0 -407
  1228. package/venv/lib/python3.10/site-packages/soupsieve/pretty.py +0 -139
  1229. package/venv/lib/python3.10/site-packages/soupsieve/py.typed +0 -0
  1230. package/venv/lib/python3.10/site-packages/soupsieve/util.py +0 -117
  1231. package/venv/lib/python3.10/site-packages/soupsieve-2.6.dist-info/INSTALLER +0 -1
  1232. package/venv/lib/python3.10/site-packages/soupsieve-2.6.dist-info/METADATA +0 -114
  1233. package/venv/lib/python3.10/site-packages/soupsieve-2.6.dist-info/RECORD +0 -20
  1234. package/venv/lib/python3.10/site-packages/soupsieve-2.6.dist-info/WHEEL +0 -4
  1235. package/venv/lib/python3.10/site-packages/soupsieve-2.6.dist-info/licenses/LICENSE.md +0 -21
  1236. package/venv/lib/python3.10/site-packages/sseclient-0.0.22.egg-info/PKG-INFO +0 -98
  1237. package/venv/lib/python3.10/site-packages/sseclient-0.0.22.egg-info/SOURCES.txt +0 -12
  1238. package/venv/lib/python3.10/site-packages/sseclient-0.0.22.egg-info/dependency_links.txt +0 -1
  1239. package/venv/lib/python3.10/site-packages/sseclient-0.0.22.egg-info/installed-files.txt +0 -7
  1240. package/venv/lib/python3.10/site-packages/sseclient-0.0.22.egg-info/requires.txt +0 -2
  1241. package/venv/lib/python3.10/site-packages/sseclient-0.0.22.egg-info/top_level.txt +0 -1
  1242. package/venv/lib/python3.10/site-packages/sseclient.py +0 -165
  1243. package/venv/lib/python3.10/site-packages/typing_extensions-4.12.2.dist-info/INSTALLER +0 -1
  1244. package/venv/lib/python3.10/site-packages/typing_extensions-4.12.2.dist-info/LICENSE +0 -279
  1245. package/venv/lib/python3.10/site-packages/typing_extensions-4.12.2.dist-info/METADATA +0 -67
  1246. package/venv/lib/python3.10/site-packages/typing_extensions-4.12.2.dist-info/RECORD +0 -7
  1247. package/venv/lib/python3.10/site-packages/typing_extensions-4.12.2.dist-info/WHEEL +0 -4
  1248. package/venv/lib/python3.10/site-packages/typing_extensions.py +0 -3641
  1249. package/venv/lib/python3.10/site-packages/urllib3/__init__.py +0 -211
  1250. package/venv/lib/python3.10/site-packages/urllib3/_base_connection.py +0 -165
  1251. package/venv/lib/python3.10/site-packages/urllib3/_collections.py +0 -479
  1252. package/venv/lib/python3.10/site-packages/urllib3/_request_methods.py +0 -278
  1253. package/venv/lib/python3.10/site-packages/urllib3/_version.py +0 -16
  1254. package/venv/lib/python3.10/site-packages/urllib3/connection.py +0 -1044
  1255. package/venv/lib/python3.10/site-packages/urllib3/connectionpool.py +0 -1178
  1256. package/venv/lib/python3.10/site-packages/urllib3/contrib/__init__.py +0 -0
  1257. package/venv/lib/python3.10/site-packages/urllib3/contrib/emscripten/__init__.py +0 -16
  1258. package/venv/lib/python3.10/site-packages/urllib3/contrib/emscripten/connection.py +0 -255
  1259. package/venv/lib/python3.10/site-packages/urllib3/contrib/emscripten/emscripten_fetch_worker.js +0 -110
  1260. package/venv/lib/python3.10/site-packages/urllib3/contrib/emscripten/fetch.py +0 -708
  1261. package/venv/lib/python3.10/site-packages/urllib3/contrib/emscripten/request.py +0 -22
  1262. package/venv/lib/python3.10/site-packages/urllib3/contrib/emscripten/response.py +0 -285
  1263. package/venv/lib/python3.10/site-packages/urllib3/contrib/pyopenssl.py +0 -554
  1264. package/venv/lib/python3.10/site-packages/urllib3/contrib/socks.py +0 -228
  1265. package/venv/lib/python3.10/site-packages/urllib3/exceptions.py +0 -327
  1266. package/venv/lib/python3.10/site-packages/urllib3/fields.py +0 -341
  1267. package/venv/lib/python3.10/site-packages/urllib3/filepost.py +0 -89
  1268. package/venv/lib/python3.10/site-packages/urllib3/http2/__init__.py +0 -53
  1269. package/venv/lib/python3.10/site-packages/urllib3/http2/connection.py +0 -356
  1270. package/venv/lib/python3.10/site-packages/urllib3/http2/probe.py +0 -87
  1271. package/venv/lib/python3.10/site-packages/urllib3/poolmanager.py +0 -637
  1272. package/venv/lib/python3.10/site-packages/urllib3/py.typed +0 -2
  1273. package/venv/lib/python3.10/site-packages/urllib3/response.py +0 -1278
  1274. package/venv/lib/python3.10/site-packages/urllib3/util/__init__.py +0 -42
  1275. package/venv/lib/python3.10/site-packages/urllib3/util/connection.py +0 -137
  1276. package/venv/lib/python3.10/site-packages/urllib3/util/proxy.py +0 -43
  1277. package/venv/lib/python3.10/site-packages/urllib3/util/request.py +0 -258
  1278. package/venv/lib/python3.10/site-packages/urllib3/util/response.py +0 -101
  1279. package/venv/lib/python3.10/site-packages/urllib3/util/retry.py +0 -533
  1280. package/venv/lib/python3.10/site-packages/urllib3/util/ssl_.py +0 -504
  1281. package/venv/lib/python3.10/site-packages/urllib3/util/ssl_match_hostname.py +0 -159
  1282. package/venv/lib/python3.10/site-packages/urllib3/util/ssltransport.py +0 -271
  1283. package/venv/lib/python3.10/site-packages/urllib3/util/timeout.py +0 -275
  1284. package/venv/lib/python3.10/site-packages/urllib3/util/url.py +0 -469
  1285. package/venv/lib/python3.10/site-packages/urllib3/util/util.py +0 -42
  1286. package/venv/lib/python3.10/site-packages/urllib3/util/wait.py +0 -124
  1287. package/venv/lib/python3.10/site-packages/urllib3-2.3.0.dist-info/INSTALLER +0 -1
  1288. package/venv/lib/python3.10/site-packages/urllib3-2.3.0.dist-info/METADATA +0 -154
  1289. package/venv/lib/python3.10/site-packages/urllib3-2.3.0.dist-info/RECORD +0 -80
  1290. package/venv/lib/python3.10/site-packages/urllib3-2.3.0.dist-info/REQUESTED +0 -0
  1291. package/venv/lib/python3.10/site-packages/urllib3-2.3.0.dist-info/WHEEL +0 -4
  1292. package/venv/lib/python3.10/site-packages/urllib3-2.3.0.dist-info/licenses/LICENSE.txt +0 -21
  1293. package/venv/lib/python3.10/site-packages/yarl/__init__.py +0 -14
  1294. package/venv/lib/python3.10/site-packages/yarl/_parse.py +0 -189
  1295. package/venv/lib/python3.10/site-packages/yarl/_path.py +0 -41
  1296. package/venv/lib/python3.10/site-packages/yarl/_query.py +0 -118
  1297. package/venv/lib/python3.10/site-packages/yarl/_quoters.py +0 -32
  1298. package/venv/lib/python3.10/site-packages/yarl/_quoting.py +0 -18
  1299. package/venv/lib/python3.10/site-packages/yarl/_quoting_c.cpython-310-x86_64-linux-gnu.so +0 -0
  1300. package/venv/lib/python3.10/site-packages/yarl/_quoting_c.pyi +0 -16
  1301. package/venv/lib/python3.10/site-packages/yarl/_quoting_c.pyx +0 -423
  1302. package/venv/lib/python3.10/site-packages/yarl/_quoting_py.py +0 -197
  1303. package/venv/lib/python3.10/site-packages/yarl/_url.py +0 -1584
  1304. package/venv/lib/python3.10/site-packages/yarl/py.typed +0 -1
  1305. package/venv/lib/python3.10/site-packages/yarl-1.18.3.dist-info/INSTALLER +0 -1
  1306. package/venv/lib/python3.10/site-packages/yarl-1.18.3.dist-info/LICENSE +0 -202
  1307. package/venv/lib/python3.10/site-packages/yarl-1.18.3.dist-info/METADATA +0 -2279
  1308. package/venv/lib/python3.10/site-packages/yarl-1.18.3.dist-info/NOTICE +0 -13
  1309. package/venv/lib/python3.10/site-packages/yarl-1.18.3.dist-info/RECORD +0 -27
  1310. package/venv/lib/python3.10/site-packages/yarl-1.18.3.dist-info/WHEEL +0 -6
  1311. package/venv/lib/python3.10/site-packages/yarl-1.18.3.dist-info/top_level.txt +0 -1
  1312. package/venv/pyvenv.cfg +0 -3
@@ -1,1950 +0,0 @@
1
- #------------------------------------------------------------------------------
2
- # pycparser: c_parser.py
3
- #
4
- # CParser class: Parser and AST builder for the C language
5
- #
6
- # Eli Bendersky [https://eli.thegreenplace.net/]
7
- # License: BSD
8
- #------------------------------------------------------------------------------
9
- from .ply import yacc
10
-
11
- from . import c_ast
12
- from .c_lexer import CLexer
13
- from .plyparser import PLYParser, ParseError, parameterized, template
14
- from .ast_transforms import fix_switch_cases, fix_atomic_specifiers
15
-
16
-
17
- @template
18
- class CParser(PLYParser):
19
- def __init__(
20
- self,
21
- lex_optimize=True,
22
- lexer=CLexer,
23
- lextab='pycparser.lextab',
24
- yacc_optimize=True,
25
- yacctab='pycparser.yacctab',
26
- yacc_debug=False,
27
- taboutputdir=''):
28
- """ Create a new CParser.
29
-
30
- Some arguments for controlling the debug/optimization
31
- level of the parser are provided. The defaults are
32
- tuned for release/performance mode.
33
- The simple rules for using them are:
34
- *) When tweaking CParser/CLexer, set these to False
35
- *) When releasing a stable parser, set to True
36
-
37
- lex_optimize:
38
- Set to False when you're modifying the lexer.
39
- Otherwise, changes in the lexer won't be used, if
40
- some lextab.py file exists.
41
- When releasing with a stable lexer, set to True
42
- to save the re-generation of the lexer table on
43
- each run.
44
-
45
- lexer:
46
- Set this parameter to define the lexer to use if
47
- you're not using the default CLexer.
48
-
49
- lextab:
50
- Points to the lex table that's used for optimized
51
- mode. Only if you're modifying the lexer and want
52
- some tests to avoid re-generating the table, make
53
- this point to a local lex table file (that's been
54
- earlier generated with lex_optimize=True)
55
-
56
- yacc_optimize:
57
- Set to False when you're modifying the parser.
58
- Otherwise, changes in the parser won't be used, if
59
- some parsetab.py file exists.
60
- When releasing with a stable parser, set to True
61
- to save the re-generation of the parser table on
62
- each run.
63
-
64
- yacctab:
65
- Points to the yacc table that's used for optimized
66
- mode. Only if you're modifying the parser, make
67
- this point to a local yacc table file
68
-
69
- yacc_debug:
70
- Generate a parser.out file that explains how yacc
71
- built the parsing table from the grammar.
72
-
73
- taboutputdir:
74
- Set this parameter to control the location of generated
75
- lextab and yacctab files.
76
- """
77
- self.clex = lexer(
78
- error_func=self._lex_error_func,
79
- on_lbrace_func=self._lex_on_lbrace_func,
80
- on_rbrace_func=self._lex_on_rbrace_func,
81
- type_lookup_func=self._lex_type_lookup_func)
82
-
83
- self.clex.build(
84
- optimize=lex_optimize,
85
- lextab=lextab,
86
- outputdir=taboutputdir)
87
- self.tokens = self.clex.tokens
88
-
89
- rules_with_opt = [
90
- 'abstract_declarator',
91
- 'assignment_expression',
92
- 'declaration_list',
93
- 'declaration_specifiers_no_type',
94
- 'designation',
95
- 'expression',
96
- 'identifier_list',
97
- 'init_declarator_list',
98
- 'id_init_declarator_list',
99
- 'initializer_list',
100
- 'parameter_type_list',
101
- 'block_item_list',
102
- 'type_qualifier_list',
103
- 'struct_declarator_list'
104
- ]
105
-
106
- for rule in rules_with_opt:
107
- self._create_opt_rule(rule)
108
-
109
- self.cparser = yacc.yacc(
110
- module=self,
111
- start='translation_unit_or_empty',
112
- debug=yacc_debug,
113
- optimize=yacc_optimize,
114
- tabmodule=yacctab,
115
- outputdir=taboutputdir)
116
-
117
- # Stack of scopes for keeping track of symbols. _scope_stack[-1] is
118
- # the current (topmost) scope. Each scope is a dictionary that
119
- # specifies whether a name is a type. If _scope_stack[n][name] is
120
- # True, 'name' is currently a type in the scope. If it's False,
121
- # 'name' is used in the scope but not as a type (for instance, if we
122
- # saw: int name;
123
- # If 'name' is not a key in _scope_stack[n] then 'name' was not defined
124
- # in this scope at all.
125
- self._scope_stack = [dict()]
126
-
127
- # Keeps track of the last token given to yacc (the lookahead token)
128
- self._last_yielded_token = None
129
-
130
- def parse(self, text, filename='', debug=False):
131
- """ Parses C code and returns an AST.
132
-
133
- text:
134
- A string containing the C source code
135
-
136
- filename:
137
- Name of the file being parsed (for meaningful
138
- error messages)
139
-
140
- debug:
141
- Debug flag to YACC
142
- """
143
- self.clex.filename = filename
144
- self.clex.reset_lineno()
145
- self._scope_stack = [dict()]
146
- self._last_yielded_token = None
147
- return self.cparser.parse(
148
- input=text,
149
- lexer=self.clex,
150
- debug=debug)
151
-
152
- ######################-- PRIVATE --######################
153
-
154
- def _push_scope(self):
155
- self._scope_stack.append(dict())
156
-
157
- def _pop_scope(self):
158
- assert len(self._scope_stack) > 1
159
- self._scope_stack.pop()
160
-
161
- def _add_typedef_name(self, name, coord):
162
- """ Add a new typedef name (ie a TYPEID) to the current scope
163
- """
164
- if not self._scope_stack[-1].get(name, True):
165
- self._parse_error(
166
- "Typedef %r previously declared as non-typedef "
167
- "in this scope" % name, coord)
168
- self._scope_stack[-1][name] = True
169
-
170
- def _add_identifier(self, name, coord):
171
- """ Add a new object, function, or enum member name (ie an ID) to the
172
- current scope
173
- """
174
- if self._scope_stack[-1].get(name, False):
175
- self._parse_error(
176
- "Non-typedef %r previously declared as typedef "
177
- "in this scope" % name, coord)
178
- self._scope_stack[-1][name] = False
179
-
180
- def _is_type_in_scope(self, name):
181
- """ Is *name* a typedef-name in the current scope?
182
- """
183
- for scope in reversed(self._scope_stack):
184
- # If name is an identifier in this scope it shadows typedefs in
185
- # higher scopes.
186
- in_scope = scope.get(name)
187
- if in_scope is not None: return in_scope
188
- return False
189
-
190
- def _lex_error_func(self, msg, line, column):
191
- self._parse_error(msg, self._coord(line, column))
192
-
193
- def _lex_on_lbrace_func(self):
194
- self._push_scope()
195
-
196
- def _lex_on_rbrace_func(self):
197
- self._pop_scope()
198
-
199
- def _lex_type_lookup_func(self, name):
200
- """ Looks up types that were previously defined with
201
- typedef.
202
- Passed to the lexer for recognizing identifiers that
203
- are types.
204
- """
205
- is_type = self._is_type_in_scope(name)
206
- return is_type
207
-
208
- def _get_yacc_lookahead_token(self):
209
- """ We need access to yacc's lookahead token in certain cases.
210
- This is the last token yacc requested from the lexer, so we
211
- ask the lexer.
212
- """
213
- return self.clex.last_token
214
-
215
- # To understand what's going on here, read sections A.8.5 and
216
- # A.8.6 of K&R2 very carefully.
217
- #
218
- # A C type consists of a basic type declaration, with a list
219
- # of modifiers. For example:
220
- #
221
- # int *c[5];
222
- #
223
- # The basic declaration here is 'int c', and the pointer and
224
- # the array are the modifiers.
225
- #
226
- # Basic declarations are represented by TypeDecl (from module c_ast) and the
227
- # modifiers are FuncDecl, PtrDecl and ArrayDecl.
228
- #
229
- # The standard states that whenever a new modifier is parsed, it should be
230
- # added to the end of the list of modifiers. For example:
231
- #
232
- # K&R2 A.8.6.2: Array Declarators
233
- #
234
- # In a declaration T D where D has the form
235
- # D1 [constant-expression-opt]
236
- # and the type of the identifier in the declaration T D1 is
237
- # "type-modifier T", the type of the
238
- # identifier of D is "type-modifier array of T"
239
- #
240
- # This is what this method does. The declarator it receives
241
- # can be a list of declarators ending with TypeDecl. It
242
- # tacks the modifier to the end of this list, just before
243
- # the TypeDecl.
244
- #
245
- # Additionally, the modifier may be a list itself. This is
246
- # useful for pointers, that can come as a chain from the rule
247
- # p_pointer. In this case, the whole modifier list is spliced
248
- # into the new location.
249
- def _type_modify_decl(self, decl, modifier):
250
- """ Tacks a type modifier on a declarator, and returns
251
- the modified declarator.
252
-
253
- Note: the declarator and modifier may be modified
254
- """
255
- #~ print '****'
256
- #~ decl.show(offset=3)
257
- #~ modifier.show(offset=3)
258
- #~ print '****'
259
-
260
- modifier_head = modifier
261
- modifier_tail = modifier
262
-
263
- # The modifier may be a nested list. Reach its tail.
264
- while modifier_tail.type:
265
- modifier_tail = modifier_tail.type
266
-
267
- # If the decl is a basic type, just tack the modifier onto it.
268
- if isinstance(decl, c_ast.TypeDecl):
269
- modifier_tail.type = decl
270
- return modifier
271
- else:
272
- # Otherwise, the decl is a list of modifiers. Reach
273
- # its tail and splice the modifier onto the tail,
274
- # pointing to the underlying basic type.
275
- decl_tail = decl
276
-
277
- while not isinstance(decl_tail.type, c_ast.TypeDecl):
278
- decl_tail = decl_tail.type
279
-
280
- modifier_tail.type = decl_tail.type
281
- decl_tail.type = modifier_head
282
- return decl
283
-
284
- # Due to the order in which declarators are constructed,
285
- # they have to be fixed in order to look like a normal AST.
286
- #
287
- # When a declaration arrives from syntax construction, it has
288
- # these problems:
289
- # * The innermost TypeDecl has no type (because the basic
290
- # type is only known at the uppermost declaration level)
291
- # * The declaration has no variable name, since that is saved
292
- # in the innermost TypeDecl
293
- # * The typename of the declaration is a list of type
294
- # specifiers, and not a node. Here, basic identifier types
295
- # should be separated from more complex types like enums
296
- # and structs.
297
- #
298
- # This method fixes these problems.
299
- def _fix_decl_name_type(self, decl, typename):
300
- """ Fixes a declaration. Modifies decl.
301
- """
302
- # Reach the underlying basic type
303
- #
304
- type = decl
305
- while not isinstance(type, c_ast.TypeDecl):
306
- type = type.type
307
-
308
- decl.name = type.declname
309
- type.quals = decl.quals[:]
310
-
311
- # The typename is a list of types. If any type in this
312
- # list isn't an IdentifierType, it must be the only
313
- # type in the list (it's illegal to declare "int enum ..")
314
- # If all the types are basic, they're collected in the
315
- # IdentifierType holder.
316
- for tn in typename:
317
- if not isinstance(tn, c_ast.IdentifierType):
318
- if len(typename) > 1:
319
- self._parse_error(
320
- "Invalid multiple types specified", tn.coord)
321
- else:
322
- type.type = tn
323
- return decl
324
-
325
- if not typename:
326
- # Functions default to returning int
327
- #
328
- if not isinstance(decl.type, c_ast.FuncDecl):
329
- self._parse_error(
330
- "Missing type in declaration", decl.coord)
331
- type.type = c_ast.IdentifierType(
332
- ['int'],
333
- coord=decl.coord)
334
- else:
335
- # At this point, we know that typename is a list of IdentifierType
336
- # nodes. Concatenate all the names into a single list.
337
- #
338
- type.type = c_ast.IdentifierType(
339
- [name for id in typename for name in id.names],
340
- coord=typename[0].coord)
341
- return decl
342
-
343
- def _add_declaration_specifier(self, declspec, newspec, kind, append=False):
344
- """ Declaration specifiers are represented by a dictionary
345
- with the entries:
346
- * qual: a list of type qualifiers
347
- * storage: a list of storage type qualifiers
348
- * type: a list of type specifiers
349
- * function: a list of function specifiers
350
- * alignment: a list of alignment specifiers
351
-
352
- This method is given a declaration specifier, and a
353
- new specifier of a given kind.
354
- If `append` is True, the new specifier is added to the end of
355
- the specifiers list, otherwise it's added at the beginning.
356
- Returns the declaration specifier, with the new
357
- specifier incorporated.
358
- """
359
- spec = declspec or dict(qual=[], storage=[], type=[], function=[], alignment=[])
360
-
361
- if append:
362
- spec[kind].append(newspec)
363
- else:
364
- spec[kind].insert(0, newspec)
365
-
366
- return spec
367
-
368
- def _build_declarations(self, spec, decls, typedef_namespace=False):
369
- """ Builds a list of declarations all sharing the given specifiers.
370
- If typedef_namespace is true, each declared name is added
371
- to the "typedef namespace", which also includes objects,
372
- functions, and enum constants.
373
- """
374
- is_typedef = 'typedef' in spec['storage']
375
- declarations = []
376
-
377
- # Bit-fields are allowed to be unnamed.
378
- if decls[0].get('bitsize') is not None:
379
- pass
380
-
381
- # When redeclaring typedef names as identifiers in inner scopes, a
382
- # problem can occur where the identifier gets grouped into
383
- # spec['type'], leaving decl as None. This can only occur for the
384
- # first declarator.
385
- elif decls[0]['decl'] is None:
386
- if len(spec['type']) < 2 or len(spec['type'][-1].names) != 1 or \
387
- not self._is_type_in_scope(spec['type'][-1].names[0]):
388
- coord = '?'
389
- for t in spec['type']:
390
- if hasattr(t, 'coord'):
391
- coord = t.coord
392
- break
393
- self._parse_error('Invalid declaration', coord)
394
-
395
- # Make this look as if it came from "direct_declarator:ID"
396
- decls[0]['decl'] = c_ast.TypeDecl(
397
- declname=spec['type'][-1].names[0],
398
- type=None,
399
- quals=None,
400
- align=spec['alignment'],
401
- coord=spec['type'][-1].coord)
402
- # Remove the "new" type's name from the end of spec['type']
403
- del spec['type'][-1]
404
-
405
- # A similar problem can occur where the declaration ends up looking
406
- # like an abstract declarator. Give it a name if this is the case.
407
- elif not isinstance(decls[0]['decl'], (
408
- c_ast.Enum, c_ast.Struct, c_ast.Union, c_ast.IdentifierType)):
409
- decls_0_tail = decls[0]['decl']
410
- while not isinstance(decls_0_tail, c_ast.TypeDecl):
411
- decls_0_tail = decls_0_tail.type
412
- if decls_0_tail.declname is None:
413
- decls_0_tail.declname = spec['type'][-1].names[0]
414
- del spec['type'][-1]
415
-
416
- for decl in decls:
417
- assert decl['decl'] is not None
418
- if is_typedef:
419
- declaration = c_ast.Typedef(
420
- name=None,
421
- quals=spec['qual'],
422
- storage=spec['storage'],
423
- type=decl['decl'],
424
- coord=decl['decl'].coord)
425
- else:
426
- declaration = c_ast.Decl(
427
- name=None,
428
- quals=spec['qual'],
429
- align=spec['alignment'],
430
- storage=spec['storage'],
431
- funcspec=spec['function'],
432
- type=decl['decl'],
433
- init=decl.get('init'),
434
- bitsize=decl.get('bitsize'),
435
- coord=decl['decl'].coord)
436
-
437
- if isinstance(declaration.type, (
438
- c_ast.Enum, c_ast.Struct, c_ast.Union,
439
- c_ast.IdentifierType)):
440
- fixed_decl = declaration
441
- else:
442
- fixed_decl = self._fix_decl_name_type(declaration, spec['type'])
443
-
444
- # Add the type name defined by typedef to a
445
- # symbol table (for usage in the lexer)
446
- if typedef_namespace:
447
- if is_typedef:
448
- self._add_typedef_name(fixed_decl.name, fixed_decl.coord)
449
- else:
450
- self._add_identifier(fixed_decl.name, fixed_decl.coord)
451
-
452
- fixed_decl = fix_atomic_specifiers(fixed_decl)
453
- declarations.append(fixed_decl)
454
-
455
- return declarations
456
-
457
- def _build_function_definition(self, spec, decl, param_decls, body):
458
- """ Builds a function definition.
459
- """
460
- if 'typedef' in spec['storage']:
461
- self._parse_error("Invalid typedef", decl.coord)
462
-
463
- declaration = self._build_declarations(
464
- spec=spec,
465
- decls=[dict(decl=decl, init=None)],
466
- typedef_namespace=True)[0]
467
-
468
- return c_ast.FuncDef(
469
- decl=declaration,
470
- param_decls=param_decls,
471
- body=body,
472
- coord=decl.coord)
473
-
474
- def _select_struct_union_class(self, token):
475
- """ Given a token (either STRUCT or UNION), selects the
476
- appropriate AST class.
477
- """
478
- if token == 'struct':
479
- return c_ast.Struct
480
- else:
481
- return c_ast.Union
482
-
483
- ##
484
- ## Precedence and associativity of operators
485
- ##
486
- # If this changes, c_generator.CGenerator.precedence_map needs to change as
487
- # well
488
- precedence = (
489
- ('left', 'LOR'),
490
- ('left', 'LAND'),
491
- ('left', 'OR'),
492
- ('left', 'XOR'),
493
- ('left', 'AND'),
494
- ('left', 'EQ', 'NE'),
495
- ('left', 'GT', 'GE', 'LT', 'LE'),
496
- ('left', 'RSHIFT', 'LSHIFT'),
497
- ('left', 'PLUS', 'MINUS'),
498
- ('left', 'TIMES', 'DIVIDE', 'MOD')
499
- )
500
-
501
- ##
502
- ## Grammar productions
503
- ## Implementation of the BNF defined in K&R2 A.13
504
- ##
505
-
506
- # Wrapper around a translation unit, to allow for empty input.
507
- # Not strictly part of the C99 Grammar, but useful in practice.
508
- def p_translation_unit_or_empty(self, p):
509
- """ translation_unit_or_empty : translation_unit
510
- | empty
511
- """
512
- if p[1] is None:
513
- p[0] = c_ast.FileAST([])
514
- else:
515
- p[0] = c_ast.FileAST(p[1])
516
-
517
- def p_translation_unit_1(self, p):
518
- """ translation_unit : external_declaration
519
- """
520
- # Note: external_declaration is already a list
521
- p[0] = p[1]
522
-
523
- def p_translation_unit_2(self, p):
524
- """ translation_unit : translation_unit external_declaration
525
- """
526
- p[1].extend(p[2])
527
- p[0] = p[1]
528
-
529
- # Declarations always come as lists (because they can be
530
- # several in one line), so we wrap the function definition
531
- # into a list as well, to make the return value of
532
- # external_declaration homogeneous.
533
- def p_external_declaration_1(self, p):
534
- """ external_declaration : function_definition
535
- """
536
- p[0] = [p[1]]
537
-
538
- def p_external_declaration_2(self, p):
539
- """ external_declaration : declaration
540
- """
541
- p[0] = p[1]
542
-
543
- def p_external_declaration_3(self, p):
544
- """ external_declaration : pp_directive
545
- | pppragma_directive
546
- """
547
- p[0] = [p[1]]
548
-
549
- def p_external_declaration_4(self, p):
550
- """ external_declaration : SEMI
551
- """
552
- p[0] = []
553
-
554
- def p_external_declaration_5(self, p):
555
- """ external_declaration : static_assert
556
- """
557
- p[0] = p[1]
558
-
559
- def p_static_assert_declaration(self, p):
560
- """ static_assert : _STATIC_ASSERT LPAREN constant_expression COMMA unified_string_literal RPAREN
561
- | _STATIC_ASSERT LPAREN constant_expression RPAREN
562
- """
563
- if len(p) == 5:
564
- p[0] = [c_ast.StaticAssert(p[3], None, self._token_coord(p, 1))]
565
- else:
566
- p[0] = [c_ast.StaticAssert(p[3], p[5], self._token_coord(p, 1))]
567
-
568
- def p_pp_directive(self, p):
569
- """ pp_directive : PPHASH
570
- """
571
- self._parse_error('Directives not supported yet',
572
- self._token_coord(p, 1))
573
-
574
- # This encompasses two types of C99-compatible pragmas:
575
- # - The #pragma directive:
576
- # # pragma character_sequence
577
- # - The _Pragma unary operator:
578
- # _Pragma ( " string_literal " )
579
- def p_pppragma_directive(self, p):
580
- """ pppragma_directive : PPPRAGMA
581
- | PPPRAGMA PPPRAGMASTR
582
- | _PRAGMA LPAREN unified_string_literal RPAREN
583
- """
584
- if len(p) == 5:
585
- p[0] = c_ast.Pragma(p[3], self._token_coord(p, 2))
586
- elif len(p) == 3:
587
- p[0] = c_ast.Pragma(p[2], self._token_coord(p, 2))
588
- else:
589
- p[0] = c_ast.Pragma("", self._token_coord(p, 1))
590
-
591
- def p_pppragma_directive_list(self, p):
592
- """ pppragma_directive_list : pppragma_directive
593
- | pppragma_directive_list pppragma_directive
594
- """
595
- p[0] = [p[1]] if len(p) == 2 else p[1] + [p[2]]
596
-
597
- # In function definitions, the declarator can be followed by
598
- # a declaration list, for old "K&R style" function definitios.
599
- def p_function_definition_1(self, p):
600
- """ function_definition : id_declarator declaration_list_opt compound_statement
601
- """
602
- # no declaration specifiers - 'int' becomes the default type
603
- spec = dict(
604
- qual=[],
605
- alignment=[],
606
- storage=[],
607
- type=[c_ast.IdentifierType(['int'],
608
- coord=self._token_coord(p, 1))],
609
- function=[])
610
-
611
- p[0] = self._build_function_definition(
612
- spec=spec,
613
- decl=p[1],
614
- param_decls=p[2],
615
- body=p[3])
616
-
617
- def p_function_definition_2(self, p):
618
- """ function_definition : declaration_specifiers id_declarator declaration_list_opt compound_statement
619
- """
620
- spec = p[1]
621
-
622
- p[0] = self._build_function_definition(
623
- spec=spec,
624
- decl=p[2],
625
- param_decls=p[3],
626
- body=p[4])
627
-
628
- # Note, according to C18 A.2.2 6.7.10 static_assert-declaration _Static_assert
629
- # is a declaration, not a statement. We additionally recognise it as a statement
630
- # to fix parsing of _Static_assert inside the functions.
631
- #
632
- def p_statement(self, p):
633
- """ statement : labeled_statement
634
- | expression_statement
635
- | compound_statement
636
- | selection_statement
637
- | iteration_statement
638
- | jump_statement
639
- | pppragma_directive
640
- | static_assert
641
- """
642
- p[0] = p[1]
643
-
644
- # A pragma is generally considered a decorator rather than an actual
645
- # statement. Still, for the purposes of analyzing an abstract syntax tree of
646
- # C code, pragma's should not be ignored and were previously treated as a
647
- # statement. This presents a problem for constructs that take a statement
648
- # such as labeled_statements, selection_statements, and
649
- # iteration_statements, causing a misleading structure in the AST. For
650
- # example, consider the following C code.
651
- #
652
- # for (int i = 0; i < 3; i++)
653
- # #pragma omp critical
654
- # sum += 1;
655
- #
656
- # This code will compile and execute "sum += 1;" as the body of the for
657
- # loop. Previous implementations of PyCParser would render the AST for this
658
- # block of code as follows:
659
- #
660
- # For:
661
- # DeclList:
662
- # Decl: i, [], [], []
663
- # TypeDecl: i, []
664
- # IdentifierType: ['int']
665
- # Constant: int, 0
666
- # BinaryOp: <
667
- # ID: i
668
- # Constant: int, 3
669
- # UnaryOp: p++
670
- # ID: i
671
- # Pragma: omp critical
672
- # Assignment: +=
673
- # ID: sum
674
- # Constant: int, 1
675
- #
676
- # This AST misleadingly takes the Pragma as the body of the loop and the
677
- # assignment then becomes a sibling of the loop.
678
- #
679
- # To solve edge cases like these, the pragmacomp_or_statement rule groups
680
- # a pragma and its following statement (which would otherwise be orphaned)
681
- # using a compound block, effectively turning the above code into:
682
- #
683
- # for (int i = 0; i < 3; i++) {
684
- # #pragma omp critical
685
- # sum += 1;
686
- # }
687
- def p_pragmacomp_or_statement(self, p):
688
- """ pragmacomp_or_statement : pppragma_directive_list statement
689
- | statement
690
- """
691
- if len(p) == 3:
692
- p[0] = c_ast.Compound(
693
- block_items=p[1]+[p[2]],
694
- coord=self._token_coord(p, 1))
695
- else:
696
- p[0] = p[1]
697
-
698
- # In C, declarations can come several in a line:
699
- # int x, *px, romulo = 5;
700
- #
701
- # However, for the AST, we will split them to separate Decl
702
- # nodes.
703
- #
704
- # This rule splits its declarations and always returns a list
705
- # of Decl nodes, even if it's one element long.
706
- #
707
- def p_decl_body(self, p):
708
- """ decl_body : declaration_specifiers init_declarator_list_opt
709
- | declaration_specifiers_no_type id_init_declarator_list_opt
710
- """
711
- spec = p[1]
712
-
713
- # p[2] (init_declarator_list_opt) is either a list or None
714
- #
715
- if p[2] is None:
716
- # By the standard, you must have at least one declarator unless
717
- # declaring a structure tag, a union tag, or the members of an
718
- # enumeration.
719
- #
720
- ty = spec['type']
721
- s_u_or_e = (c_ast.Struct, c_ast.Union, c_ast.Enum)
722
- if len(ty) == 1 and isinstance(ty[0], s_u_or_e):
723
- decls = [c_ast.Decl(
724
- name=None,
725
- quals=spec['qual'],
726
- align=spec['alignment'],
727
- storage=spec['storage'],
728
- funcspec=spec['function'],
729
- type=ty[0],
730
- init=None,
731
- bitsize=None,
732
- coord=ty[0].coord)]
733
-
734
- # However, this case can also occur on redeclared identifiers in
735
- # an inner scope. The trouble is that the redeclared type's name
736
- # gets grouped into declaration_specifiers; _build_declarations
737
- # compensates for this.
738
- #
739
- else:
740
- decls = self._build_declarations(
741
- spec=spec,
742
- decls=[dict(decl=None, init=None)],
743
- typedef_namespace=True)
744
-
745
- else:
746
- decls = self._build_declarations(
747
- spec=spec,
748
- decls=p[2],
749
- typedef_namespace=True)
750
-
751
- p[0] = decls
752
-
753
- # The declaration has been split to a decl_body sub-rule and
754
- # SEMI, because having them in a single rule created a problem
755
- # for defining typedefs.
756
- #
757
- # If a typedef line was directly followed by a line using the
758
- # type defined with the typedef, the type would not be
759
- # recognized. This is because to reduce the declaration rule,
760
- # the parser's lookahead asked for the token after SEMI, which
761
- # was the type from the next line, and the lexer had no chance
762
- # to see the updated type symbol table.
763
- #
764
- # Splitting solves this problem, because after seeing SEMI,
765
- # the parser reduces decl_body, which actually adds the new
766
- # type into the table to be seen by the lexer before the next
767
- # line is reached.
768
- def p_declaration(self, p):
769
- """ declaration : decl_body SEMI
770
- """
771
- p[0] = p[1]
772
-
773
- # Since each declaration is a list of declarations, this
774
- # rule will combine all the declarations and return a single
775
- # list
776
- #
777
- def p_declaration_list(self, p):
778
- """ declaration_list : declaration
779
- | declaration_list declaration
780
- """
781
- p[0] = p[1] if len(p) == 2 else p[1] + p[2]
782
-
783
- # To know when declaration-specifiers end and declarators begin,
784
- # we require declaration-specifiers to have at least one
785
- # type-specifier, and disallow typedef-names after we've seen any
786
- # type-specifier. These are both required by the spec.
787
- #
788
- def p_declaration_specifiers_no_type_1(self, p):
789
- """ declaration_specifiers_no_type : type_qualifier declaration_specifiers_no_type_opt
790
- """
791
- p[0] = self._add_declaration_specifier(p[2], p[1], 'qual')
792
-
793
- def p_declaration_specifiers_no_type_2(self, p):
794
- """ declaration_specifiers_no_type : storage_class_specifier declaration_specifiers_no_type_opt
795
- """
796
- p[0] = self._add_declaration_specifier(p[2], p[1], 'storage')
797
-
798
- def p_declaration_specifiers_no_type_3(self, p):
799
- """ declaration_specifiers_no_type : function_specifier declaration_specifiers_no_type_opt
800
- """
801
- p[0] = self._add_declaration_specifier(p[2], p[1], 'function')
802
-
803
- # Without this, `typedef _Atomic(T) U` will parse incorrectly because the
804
- # _Atomic qualifier will match, instead of the specifier.
805
- def p_declaration_specifiers_no_type_4(self, p):
806
- """ declaration_specifiers_no_type : atomic_specifier declaration_specifiers_no_type_opt
807
- """
808
- p[0] = self._add_declaration_specifier(p[2], p[1], 'type')
809
-
810
- def p_declaration_specifiers_no_type_5(self, p):
811
- """ declaration_specifiers_no_type : alignment_specifier declaration_specifiers_no_type_opt
812
- """
813
- p[0] = self._add_declaration_specifier(p[2], p[1], 'alignment')
814
-
815
- def p_declaration_specifiers_1(self, p):
816
- """ declaration_specifiers : declaration_specifiers type_qualifier
817
- """
818
- p[0] = self._add_declaration_specifier(p[1], p[2], 'qual', append=True)
819
-
820
- def p_declaration_specifiers_2(self, p):
821
- """ declaration_specifiers : declaration_specifiers storage_class_specifier
822
- """
823
- p[0] = self._add_declaration_specifier(p[1], p[2], 'storage', append=True)
824
-
825
- def p_declaration_specifiers_3(self, p):
826
- """ declaration_specifiers : declaration_specifiers function_specifier
827
- """
828
- p[0] = self._add_declaration_specifier(p[1], p[2], 'function', append=True)
829
-
830
- def p_declaration_specifiers_4(self, p):
831
- """ declaration_specifiers : declaration_specifiers type_specifier_no_typeid
832
- """
833
- p[0] = self._add_declaration_specifier(p[1], p[2], 'type', append=True)
834
-
835
- def p_declaration_specifiers_5(self, p):
836
- """ declaration_specifiers : type_specifier
837
- """
838
- p[0] = self._add_declaration_specifier(None, p[1], 'type')
839
-
840
- def p_declaration_specifiers_6(self, p):
841
- """ declaration_specifiers : declaration_specifiers_no_type type_specifier
842
- """
843
- p[0] = self._add_declaration_specifier(p[1], p[2], 'type', append=True)
844
-
845
- def p_declaration_specifiers_7(self, p):
846
- """ declaration_specifiers : declaration_specifiers alignment_specifier
847
- """
848
- p[0] = self._add_declaration_specifier(p[1], p[2], 'alignment', append=True)
849
-
850
- def p_storage_class_specifier(self, p):
851
- """ storage_class_specifier : AUTO
852
- | REGISTER
853
- | STATIC
854
- | EXTERN
855
- | TYPEDEF
856
- | _THREAD_LOCAL
857
- """
858
- p[0] = p[1]
859
-
860
- def p_function_specifier(self, p):
861
- """ function_specifier : INLINE
862
- | _NORETURN
863
- """
864
- p[0] = p[1]
865
-
866
- def p_type_specifier_no_typeid(self, p):
867
- """ type_specifier_no_typeid : VOID
868
- | _BOOL
869
- | CHAR
870
- | SHORT
871
- | INT
872
- | LONG
873
- | FLOAT
874
- | DOUBLE
875
- | _COMPLEX
876
- | SIGNED
877
- | UNSIGNED
878
- | __INT128
879
- """
880
- p[0] = c_ast.IdentifierType([p[1]], coord=self._token_coord(p, 1))
881
-
882
- def p_type_specifier(self, p):
883
- """ type_specifier : typedef_name
884
- | enum_specifier
885
- | struct_or_union_specifier
886
- | type_specifier_no_typeid
887
- | atomic_specifier
888
- """
889
- p[0] = p[1]
890
-
891
- # See section 6.7.2.4 of the C11 standard.
892
- def p_atomic_specifier(self, p):
893
- """ atomic_specifier : _ATOMIC LPAREN type_name RPAREN
894
- """
895
- typ = p[3]
896
- typ.quals.append('_Atomic')
897
- p[0] = typ
898
-
899
- def p_type_qualifier(self, p):
900
- """ type_qualifier : CONST
901
- | RESTRICT
902
- | VOLATILE
903
- | _ATOMIC
904
- """
905
- p[0] = p[1]
906
-
907
- def p_init_declarator_list(self, p):
908
- """ init_declarator_list : init_declarator
909
- | init_declarator_list COMMA init_declarator
910
- """
911
- p[0] = p[1] + [p[3]] if len(p) == 4 else [p[1]]
912
-
913
- # Returns a {decl=<declarator> : init=<initializer>} dictionary
914
- # If there's no initializer, uses None
915
- #
916
- def p_init_declarator(self, p):
917
- """ init_declarator : declarator
918
- | declarator EQUALS initializer
919
- """
920
- p[0] = dict(decl=p[1], init=(p[3] if len(p) > 2 else None))
921
-
922
- def p_id_init_declarator_list(self, p):
923
- """ id_init_declarator_list : id_init_declarator
924
- | id_init_declarator_list COMMA init_declarator
925
- """
926
- p[0] = p[1] + [p[3]] if len(p) == 4 else [p[1]]
927
-
928
- def p_id_init_declarator(self, p):
929
- """ id_init_declarator : id_declarator
930
- | id_declarator EQUALS initializer
931
- """
932
- p[0] = dict(decl=p[1], init=(p[3] if len(p) > 2 else None))
933
-
934
- # Require at least one type specifier in a specifier-qualifier-list
935
- #
936
- def p_specifier_qualifier_list_1(self, p):
937
- """ specifier_qualifier_list : specifier_qualifier_list type_specifier_no_typeid
938
- """
939
- p[0] = self._add_declaration_specifier(p[1], p[2], 'type', append=True)
940
-
941
- def p_specifier_qualifier_list_2(self, p):
942
- """ specifier_qualifier_list : specifier_qualifier_list type_qualifier
943
- """
944
- p[0] = self._add_declaration_specifier(p[1], p[2], 'qual', append=True)
945
-
946
- def p_specifier_qualifier_list_3(self, p):
947
- """ specifier_qualifier_list : type_specifier
948
- """
949
- p[0] = self._add_declaration_specifier(None, p[1], 'type')
950
-
951
- def p_specifier_qualifier_list_4(self, p):
952
- """ specifier_qualifier_list : type_qualifier_list type_specifier
953
- """
954
- p[0] = dict(qual=p[1], alignment=[], storage=[], type=[p[2]], function=[])
955
-
956
- def p_specifier_qualifier_list_5(self, p):
957
- """ specifier_qualifier_list : alignment_specifier
958
- """
959
- p[0] = dict(qual=[], alignment=[p[1]], storage=[], type=[], function=[])
960
-
961
- def p_specifier_qualifier_list_6(self, p):
962
- """ specifier_qualifier_list : specifier_qualifier_list alignment_specifier
963
- """
964
- p[0] = self._add_declaration_specifier(p[1], p[2], 'alignment')
965
-
966
- # TYPEID is allowed here (and in other struct/enum related tag names), because
967
- # struct/enum tags reside in their own namespace and can be named the same as types
968
- #
969
- def p_struct_or_union_specifier_1(self, p):
970
- """ struct_or_union_specifier : struct_or_union ID
971
- | struct_or_union TYPEID
972
- """
973
- klass = self._select_struct_union_class(p[1])
974
- # None means no list of members
975
- p[0] = klass(
976
- name=p[2],
977
- decls=None,
978
- coord=self._token_coord(p, 2))
979
-
980
- def p_struct_or_union_specifier_2(self, p):
981
- """ struct_or_union_specifier : struct_or_union brace_open struct_declaration_list brace_close
982
- | struct_or_union brace_open brace_close
983
- """
984
- klass = self._select_struct_union_class(p[1])
985
- if len(p) == 4:
986
- # Empty sequence means an empty list of members
987
- p[0] = klass(
988
- name=None,
989
- decls=[],
990
- coord=self._token_coord(p, 2))
991
- else:
992
- p[0] = klass(
993
- name=None,
994
- decls=p[3],
995
- coord=self._token_coord(p, 2))
996
-
997
-
998
- def p_struct_or_union_specifier_3(self, p):
999
- """ struct_or_union_specifier : struct_or_union ID brace_open struct_declaration_list brace_close
1000
- | struct_or_union ID brace_open brace_close
1001
- | struct_or_union TYPEID brace_open struct_declaration_list brace_close
1002
- | struct_or_union TYPEID brace_open brace_close
1003
- """
1004
- klass = self._select_struct_union_class(p[1])
1005
- if len(p) == 5:
1006
- # Empty sequence means an empty list of members
1007
- p[0] = klass(
1008
- name=p[2],
1009
- decls=[],
1010
- coord=self._token_coord(p, 2))
1011
- else:
1012
- p[0] = klass(
1013
- name=p[2],
1014
- decls=p[4],
1015
- coord=self._token_coord(p, 2))
1016
-
1017
- def p_struct_or_union(self, p):
1018
- """ struct_or_union : STRUCT
1019
- | UNION
1020
- """
1021
- p[0] = p[1]
1022
-
1023
- # Combine all declarations into a single list
1024
- #
1025
- def p_struct_declaration_list(self, p):
1026
- """ struct_declaration_list : struct_declaration
1027
- | struct_declaration_list struct_declaration
1028
- """
1029
- if len(p) == 2:
1030
- p[0] = p[1] or []
1031
- else:
1032
- p[0] = p[1] + (p[2] or [])
1033
-
1034
- def p_struct_declaration_1(self, p):
1035
- """ struct_declaration : specifier_qualifier_list struct_declarator_list_opt SEMI
1036
- """
1037
- spec = p[1]
1038
- assert 'typedef' not in spec['storage']
1039
-
1040
- if p[2] is not None:
1041
- decls = self._build_declarations(
1042
- spec=spec,
1043
- decls=p[2])
1044
-
1045
- elif len(spec['type']) == 1:
1046
- # Anonymous struct/union, gcc extension, C1x feature.
1047
- # Although the standard only allows structs/unions here, I see no
1048
- # reason to disallow other types since some compilers have typedefs
1049
- # here, and pycparser isn't about rejecting all invalid code.
1050
- #
1051
- node = spec['type'][0]
1052
- if isinstance(node, c_ast.Node):
1053
- decl_type = node
1054
- else:
1055
- decl_type = c_ast.IdentifierType(node)
1056
-
1057
- decls = self._build_declarations(
1058
- spec=spec,
1059
- decls=[dict(decl=decl_type)])
1060
-
1061
- else:
1062
- # Structure/union members can have the same names as typedefs.
1063
- # The trouble is that the member's name gets grouped into
1064
- # specifier_qualifier_list; _build_declarations compensates.
1065
- #
1066
- decls = self._build_declarations(
1067
- spec=spec,
1068
- decls=[dict(decl=None, init=None)])
1069
-
1070
- p[0] = decls
1071
-
1072
- def p_struct_declaration_2(self, p):
1073
- """ struct_declaration : SEMI
1074
- """
1075
- p[0] = None
1076
-
1077
- def p_struct_declaration_3(self, p):
1078
- """ struct_declaration : pppragma_directive
1079
- """
1080
- p[0] = [p[1]]
1081
-
1082
- def p_struct_declarator_list(self, p):
1083
- """ struct_declarator_list : struct_declarator
1084
- | struct_declarator_list COMMA struct_declarator
1085
- """
1086
- p[0] = p[1] + [p[3]] if len(p) == 4 else [p[1]]
1087
-
1088
- # struct_declarator passes up a dict with the keys: decl (for
1089
- # the underlying declarator) and bitsize (for the bitsize)
1090
- #
1091
- def p_struct_declarator_1(self, p):
1092
- """ struct_declarator : declarator
1093
- """
1094
- p[0] = {'decl': p[1], 'bitsize': None}
1095
-
1096
- def p_struct_declarator_2(self, p):
1097
- """ struct_declarator : declarator COLON constant_expression
1098
- | COLON constant_expression
1099
- """
1100
- if len(p) > 3:
1101
- p[0] = {'decl': p[1], 'bitsize': p[3]}
1102
- else:
1103
- p[0] = {'decl': c_ast.TypeDecl(None, None, None, None), 'bitsize': p[2]}
1104
-
1105
- def p_enum_specifier_1(self, p):
1106
- """ enum_specifier : ENUM ID
1107
- | ENUM TYPEID
1108
- """
1109
- p[0] = c_ast.Enum(p[2], None, self._token_coord(p, 1))
1110
-
1111
- def p_enum_specifier_2(self, p):
1112
- """ enum_specifier : ENUM brace_open enumerator_list brace_close
1113
- """
1114
- p[0] = c_ast.Enum(None, p[3], self._token_coord(p, 1))
1115
-
1116
- def p_enum_specifier_3(self, p):
1117
- """ enum_specifier : ENUM ID brace_open enumerator_list brace_close
1118
- | ENUM TYPEID brace_open enumerator_list brace_close
1119
- """
1120
- p[0] = c_ast.Enum(p[2], p[4], self._token_coord(p, 1))
1121
-
1122
- def p_enumerator_list(self, p):
1123
- """ enumerator_list : enumerator
1124
- | enumerator_list COMMA
1125
- | enumerator_list COMMA enumerator
1126
- """
1127
- if len(p) == 2:
1128
- p[0] = c_ast.EnumeratorList([p[1]], p[1].coord)
1129
- elif len(p) == 3:
1130
- p[0] = p[1]
1131
- else:
1132
- p[1].enumerators.append(p[3])
1133
- p[0] = p[1]
1134
-
1135
- def p_alignment_specifier(self, p):
1136
- """ alignment_specifier : _ALIGNAS LPAREN type_name RPAREN
1137
- | _ALIGNAS LPAREN constant_expression RPAREN
1138
- """
1139
- p[0] = c_ast.Alignas(p[3], self._token_coord(p, 1))
1140
-
1141
- def p_enumerator(self, p):
1142
- """ enumerator : ID
1143
- | ID EQUALS constant_expression
1144
- """
1145
- if len(p) == 2:
1146
- enumerator = c_ast.Enumerator(
1147
- p[1], None,
1148
- self._token_coord(p, 1))
1149
- else:
1150
- enumerator = c_ast.Enumerator(
1151
- p[1], p[3],
1152
- self._token_coord(p, 1))
1153
- self._add_identifier(enumerator.name, enumerator.coord)
1154
-
1155
- p[0] = enumerator
1156
-
1157
- def p_declarator(self, p):
1158
- """ declarator : id_declarator
1159
- | typeid_declarator
1160
- """
1161
- p[0] = p[1]
1162
-
1163
- @parameterized(('id', 'ID'), ('typeid', 'TYPEID'), ('typeid_noparen', 'TYPEID'))
1164
- def p_xxx_declarator_1(self, p):
1165
- """ xxx_declarator : direct_xxx_declarator
1166
- """
1167
- p[0] = p[1]
1168
-
1169
- @parameterized(('id', 'ID'), ('typeid', 'TYPEID'), ('typeid_noparen', 'TYPEID'))
1170
- def p_xxx_declarator_2(self, p):
1171
- """ xxx_declarator : pointer direct_xxx_declarator
1172
- """
1173
- p[0] = self._type_modify_decl(p[2], p[1])
1174
-
1175
- @parameterized(('id', 'ID'), ('typeid', 'TYPEID'), ('typeid_noparen', 'TYPEID'))
1176
- def p_direct_xxx_declarator_1(self, p):
1177
- """ direct_xxx_declarator : yyy
1178
- """
1179
- p[0] = c_ast.TypeDecl(
1180
- declname=p[1],
1181
- type=None,
1182
- quals=None,
1183
- align=None,
1184
- coord=self._token_coord(p, 1))
1185
-
1186
- @parameterized(('id', 'ID'), ('typeid', 'TYPEID'))
1187
- def p_direct_xxx_declarator_2(self, p):
1188
- """ direct_xxx_declarator : LPAREN xxx_declarator RPAREN
1189
- """
1190
- p[0] = p[2]
1191
-
1192
- @parameterized(('id', 'ID'), ('typeid', 'TYPEID'), ('typeid_noparen', 'TYPEID'))
1193
- def p_direct_xxx_declarator_3(self, p):
1194
- """ direct_xxx_declarator : direct_xxx_declarator LBRACKET type_qualifier_list_opt assignment_expression_opt RBRACKET
1195
- """
1196
- quals = (p[3] if len(p) > 5 else []) or []
1197
- # Accept dimension qualifiers
1198
- # Per C99 6.7.5.3 p7
1199
- arr = c_ast.ArrayDecl(
1200
- type=None,
1201
- dim=p[4] if len(p) > 5 else p[3],
1202
- dim_quals=quals,
1203
- coord=p[1].coord)
1204
-
1205
- p[0] = self._type_modify_decl(decl=p[1], modifier=arr)
1206
-
1207
- @parameterized(('id', 'ID'), ('typeid', 'TYPEID'), ('typeid_noparen', 'TYPEID'))
1208
- def p_direct_xxx_declarator_4(self, p):
1209
- """ direct_xxx_declarator : direct_xxx_declarator LBRACKET STATIC type_qualifier_list_opt assignment_expression RBRACKET
1210
- | direct_xxx_declarator LBRACKET type_qualifier_list STATIC assignment_expression RBRACKET
1211
- """
1212
- # Using slice notation for PLY objects doesn't work in Python 3 for the
1213
- # version of PLY embedded with pycparser; see PLY Google Code issue 30.
1214
- # Work around that here by listing the two elements separately.
1215
- listed_quals = [item if isinstance(item, list) else [item]
1216
- for item in [p[3],p[4]]]
1217
- dim_quals = [qual for sublist in listed_quals for qual in sublist
1218
- if qual is not None]
1219
- arr = c_ast.ArrayDecl(
1220
- type=None,
1221
- dim=p[5],
1222
- dim_quals=dim_quals,
1223
- coord=p[1].coord)
1224
-
1225
- p[0] = self._type_modify_decl(decl=p[1], modifier=arr)
1226
-
1227
- # Special for VLAs
1228
- #
1229
- @parameterized(('id', 'ID'), ('typeid', 'TYPEID'), ('typeid_noparen', 'TYPEID'))
1230
- def p_direct_xxx_declarator_5(self, p):
1231
- """ direct_xxx_declarator : direct_xxx_declarator LBRACKET type_qualifier_list_opt TIMES RBRACKET
1232
- """
1233
- arr = c_ast.ArrayDecl(
1234
- type=None,
1235
- dim=c_ast.ID(p[4], self._token_coord(p, 4)),
1236
- dim_quals=p[3] if p[3] is not None else [],
1237
- coord=p[1].coord)
1238
-
1239
- p[0] = self._type_modify_decl(decl=p[1], modifier=arr)
1240
-
1241
- @parameterized(('id', 'ID'), ('typeid', 'TYPEID'), ('typeid_noparen', 'TYPEID'))
1242
- def p_direct_xxx_declarator_6(self, p):
1243
- """ direct_xxx_declarator : direct_xxx_declarator LPAREN parameter_type_list RPAREN
1244
- | direct_xxx_declarator LPAREN identifier_list_opt RPAREN
1245
- """
1246
- func = c_ast.FuncDecl(
1247
- args=p[3],
1248
- type=None,
1249
- coord=p[1].coord)
1250
-
1251
- # To see why _get_yacc_lookahead_token is needed, consider:
1252
- # typedef char TT;
1253
- # void foo(int TT) { TT = 10; }
1254
- # Outside the function, TT is a typedef, but inside (starting and
1255
- # ending with the braces) it's a parameter. The trouble begins with
1256
- # yacc's lookahead token. We don't know if we're declaring or
1257
- # defining a function until we see LBRACE, but if we wait for yacc to
1258
- # trigger a rule on that token, then TT will have already been read
1259
- # and incorrectly interpreted as TYPEID. We need to add the
1260
- # parameters to the scope the moment the lexer sees LBRACE.
1261
- #
1262
- if self._get_yacc_lookahead_token().type == "LBRACE":
1263
- if func.args is not None:
1264
- for param in func.args.params:
1265
- if isinstance(param, c_ast.EllipsisParam): break
1266
- self._add_identifier(param.name, param.coord)
1267
-
1268
- p[0] = self._type_modify_decl(decl=p[1], modifier=func)
1269
-
1270
- def p_pointer(self, p):
1271
- """ pointer : TIMES type_qualifier_list_opt
1272
- | TIMES type_qualifier_list_opt pointer
1273
- """
1274
- coord = self._token_coord(p, 1)
1275
- # Pointer decls nest from inside out. This is important when different
1276
- # levels have different qualifiers. For example:
1277
- #
1278
- # char * const * p;
1279
- #
1280
- # Means "pointer to const pointer to char"
1281
- #
1282
- # While:
1283
- #
1284
- # char ** const p;
1285
- #
1286
- # Means "const pointer to pointer to char"
1287
- #
1288
- # So when we construct PtrDecl nestings, the leftmost pointer goes in
1289
- # as the most nested type.
1290
- nested_type = c_ast.PtrDecl(quals=p[2] or [], type=None, coord=coord)
1291
- if len(p) > 3:
1292
- tail_type = p[3]
1293
- while tail_type.type is not None:
1294
- tail_type = tail_type.type
1295
- tail_type.type = nested_type
1296
- p[0] = p[3]
1297
- else:
1298
- p[0] = nested_type
1299
-
1300
- def p_type_qualifier_list(self, p):
1301
- """ type_qualifier_list : type_qualifier
1302
- | type_qualifier_list type_qualifier
1303
- """
1304
- p[0] = [p[1]] if len(p) == 2 else p[1] + [p[2]]
1305
-
1306
- def p_parameter_type_list(self, p):
1307
- """ parameter_type_list : parameter_list
1308
- | parameter_list COMMA ELLIPSIS
1309
- """
1310
- if len(p) > 2:
1311
- p[1].params.append(c_ast.EllipsisParam(self._token_coord(p, 3)))
1312
-
1313
- p[0] = p[1]
1314
-
1315
- def p_parameter_list(self, p):
1316
- """ parameter_list : parameter_declaration
1317
- | parameter_list COMMA parameter_declaration
1318
- """
1319
- if len(p) == 2: # single parameter
1320
- p[0] = c_ast.ParamList([p[1]], p[1].coord)
1321
- else:
1322
- p[1].params.append(p[3])
1323
- p[0] = p[1]
1324
-
1325
- # From ISO/IEC 9899:TC2, 6.7.5.3.11:
1326
- # "If, in a parameter declaration, an identifier can be treated either
1327
- # as a typedef name or as a parameter name, it shall be taken as a
1328
- # typedef name."
1329
- #
1330
- # Inside a parameter declaration, once we've reduced declaration specifiers,
1331
- # if we shift in an LPAREN and see a TYPEID, it could be either an abstract
1332
- # declarator or a declarator nested inside parens. This rule tells us to
1333
- # always treat it as an abstract declarator. Therefore, we only accept
1334
- # `id_declarator`s and `typeid_noparen_declarator`s.
1335
- def p_parameter_declaration_1(self, p):
1336
- """ parameter_declaration : declaration_specifiers id_declarator
1337
- | declaration_specifiers typeid_noparen_declarator
1338
- """
1339
- spec = p[1]
1340
- if not spec['type']:
1341
- spec['type'] = [c_ast.IdentifierType(['int'],
1342
- coord=self._token_coord(p, 1))]
1343
- p[0] = self._build_declarations(
1344
- spec=spec,
1345
- decls=[dict(decl=p[2])])[0]
1346
-
1347
- def p_parameter_declaration_2(self, p):
1348
- """ parameter_declaration : declaration_specifiers abstract_declarator_opt
1349
- """
1350
- spec = p[1]
1351
- if not spec['type']:
1352
- spec['type'] = [c_ast.IdentifierType(['int'],
1353
- coord=self._token_coord(p, 1))]
1354
-
1355
- # Parameters can have the same names as typedefs. The trouble is that
1356
- # the parameter's name gets grouped into declaration_specifiers, making
1357
- # it look like an old-style declaration; compensate.
1358
- #
1359
- if len(spec['type']) > 1 and len(spec['type'][-1].names) == 1 and \
1360
- self._is_type_in_scope(spec['type'][-1].names[0]):
1361
- decl = self._build_declarations(
1362
- spec=spec,
1363
- decls=[dict(decl=p[2], init=None)])[0]
1364
-
1365
- # This truly is an old-style parameter declaration
1366
- #
1367
- else:
1368
- decl = c_ast.Typename(
1369
- name='',
1370
- quals=spec['qual'],
1371
- align=None,
1372
- type=p[2] or c_ast.TypeDecl(None, None, None, None),
1373
- coord=self._token_coord(p, 2))
1374
- typename = spec['type']
1375
- decl = self._fix_decl_name_type(decl, typename)
1376
-
1377
- p[0] = decl
1378
-
1379
- def p_identifier_list(self, p):
1380
- """ identifier_list : identifier
1381
- | identifier_list COMMA identifier
1382
- """
1383
- if len(p) == 2: # single parameter
1384
- p[0] = c_ast.ParamList([p[1]], p[1].coord)
1385
- else:
1386
- p[1].params.append(p[3])
1387
- p[0] = p[1]
1388
-
1389
- def p_initializer_1(self, p):
1390
- """ initializer : assignment_expression
1391
- """
1392
- p[0] = p[1]
1393
-
1394
- def p_initializer_2(self, p):
1395
- """ initializer : brace_open initializer_list_opt brace_close
1396
- | brace_open initializer_list COMMA brace_close
1397
- """
1398
- if p[2] is None:
1399
- p[0] = c_ast.InitList([], self._token_coord(p, 1))
1400
- else:
1401
- p[0] = p[2]
1402
-
1403
- def p_initializer_list(self, p):
1404
- """ initializer_list : designation_opt initializer
1405
- | initializer_list COMMA designation_opt initializer
1406
- """
1407
- if len(p) == 3: # single initializer
1408
- init = p[2] if p[1] is None else c_ast.NamedInitializer(p[1], p[2])
1409
- p[0] = c_ast.InitList([init], p[2].coord)
1410
- else:
1411
- init = p[4] if p[3] is None else c_ast.NamedInitializer(p[3], p[4])
1412
- p[1].exprs.append(init)
1413
- p[0] = p[1]
1414
-
1415
- def p_designation(self, p):
1416
- """ designation : designator_list EQUALS
1417
- """
1418
- p[0] = p[1]
1419
-
1420
- # Designators are represented as a list of nodes, in the order in which
1421
- # they're written in the code.
1422
- #
1423
- def p_designator_list(self, p):
1424
- """ designator_list : designator
1425
- | designator_list designator
1426
- """
1427
- p[0] = [p[1]] if len(p) == 2 else p[1] + [p[2]]
1428
-
1429
- def p_designator(self, p):
1430
- """ designator : LBRACKET constant_expression RBRACKET
1431
- | PERIOD identifier
1432
- """
1433
- p[0] = p[2]
1434
-
1435
- def p_type_name(self, p):
1436
- """ type_name : specifier_qualifier_list abstract_declarator_opt
1437
- """
1438
- typename = c_ast.Typename(
1439
- name='',
1440
- quals=p[1]['qual'][:],
1441
- align=None,
1442
- type=p[2] or c_ast.TypeDecl(None, None, None, None),
1443
- coord=self._token_coord(p, 2))
1444
-
1445
- p[0] = self._fix_decl_name_type(typename, p[1]['type'])
1446
-
1447
- def p_abstract_declarator_1(self, p):
1448
- """ abstract_declarator : pointer
1449
- """
1450
- dummytype = c_ast.TypeDecl(None, None, None, None)
1451
- p[0] = self._type_modify_decl(
1452
- decl=dummytype,
1453
- modifier=p[1])
1454
-
1455
- def p_abstract_declarator_2(self, p):
1456
- """ abstract_declarator : pointer direct_abstract_declarator
1457
- """
1458
- p[0] = self._type_modify_decl(p[2], p[1])
1459
-
1460
- def p_abstract_declarator_3(self, p):
1461
- """ abstract_declarator : direct_abstract_declarator
1462
- """
1463
- p[0] = p[1]
1464
-
1465
- # Creating and using direct_abstract_declarator_opt here
1466
- # instead of listing both direct_abstract_declarator and the
1467
- # lack of it in the beginning of _1 and _2 caused two
1468
- # shift/reduce errors.
1469
- #
1470
- def p_direct_abstract_declarator_1(self, p):
1471
- """ direct_abstract_declarator : LPAREN abstract_declarator RPAREN """
1472
- p[0] = p[2]
1473
-
1474
- def p_direct_abstract_declarator_2(self, p):
1475
- """ direct_abstract_declarator : direct_abstract_declarator LBRACKET assignment_expression_opt RBRACKET
1476
- """
1477
- arr = c_ast.ArrayDecl(
1478
- type=None,
1479
- dim=p[3],
1480
- dim_quals=[],
1481
- coord=p[1].coord)
1482
-
1483
- p[0] = self._type_modify_decl(decl=p[1], modifier=arr)
1484
-
1485
- def p_direct_abstract_declarator_3(self, p):
1486
- """ direct_abstract_declarator : LBRACKET type_qualifier_list_opt assignment_expression_opt RBRACKET
1487
- """
1488
- quals = (p[2] if len(p) > 4 else []) or []
1489
- p[0] = c_ast.ArrayDecl(
1490
- type=c_ast.TypeDecl(None, None, None, None),
1491
- dim=p[3] if len(p) > 4 else p[2],
1492
- dim_quals=quals,
1493
- coord=self._token_coord(p, 1))
1494
-
1495
- def p_direct_abstract_declarator_4(self, p):
1496
- """ direct_abstract_declarator : direct_abstract_declarator LBRACKET TIMES RBRACKET
1497
- """
1498
- arr = c_ast.ArrayDecl(
1499
- type=None,
1500
- dim=c_ast.ID(p[3], self._token_coord(p, 3)),
1501
- dim_quals=[],
1502
- coord=p[1].coord)
1503
-
1504
- p[0] = self._type_modify_decl(decl=p[1], modifier=arr)
1505
-
1506
- def p_direct_abstract_declarator_5(self, p):
1507
- """ direct_abstract_declarator : LBRACKET TIMES RBRACKET
1508
- """
1509
- p[0] = c_ast.ArrayDecl(
1510
- type=c_ast.TypeDecl(None, None, None, None),
1511
- dim=c_ast.ID(p[3], self._token_coord(p, 3)),
1512
- dim_quals=[],
1513
- coord=self._token_coord(p, 1))
1514
-
1515
- def p_direct_abstract_declarator_6(self, p):
1516
- """ direct_abstract_declarator : direct_abstract_declarator LPAREN parameter_type_list_opt RPAREN
1517
- """
1518
- func = c_ast.FuncDecl(
1519
- args=p[3],
1520
- type=None,
1521
- coord=p[1].coord)
1522
-
1523
- p[0] = self._type_modify_decl(decl=p[1], modifier=func)
1524
-
1525
- def p_direct_abstract_declarator_7(self, p):
1526
- """ direct_abstract_declarator : LPAREN parameter_type_list_opt RPAREN
1527
- """
1528
- p[0] = c_ast.FuncDecl(
1529
- args=p[2],
1530
- type=c_ast.TypeDecl(None, None, None, None),
1531
- coord=self._token_coord(p, 1))
1532
-
1533
- # declaration is a list, statement isn't. To make it consistent, block_item
1534
- # will always be a list
1535
- #
1536
- def p_block_item(self, p):
1537
- """ block_item : declaration
1538
- | statement
1539
- """
1540
- p[0] = p[1] if isinstance(p[1], list) else [p[1]]
1541
-
1542
- # Since we made block_item a list, this just combines lists
1543
- #
1544
- def p_block_item_list(self, p):
1545
- """ block_item_list : block_item
1546
- | block_item_list block_item
1547
- """
1548
- # Empty block items (plain ';') produce [None], so ignore them
1549
- p[0] = p[1] if (len(p) == 2 or p[2] == [None]) else p[1] + p[2]
1550
-
1551
- def p_compound_statement_1(self, p):
1552
- """ compound_statement : brace_open block_item_list_opt brace_close """
1553
- p[0] = c_ast.Compound(
1554
- block_items=p[2],
1555
- coord=self._token_coord(p, 1))
1556
-
1557
- def p_labeled_statement_1(self, p):
1558
- """ labeled_statement : ID COLON pragmacomp_or_statement """
1559
- p[0] = c_ast.Label(p[1], p[3], self._token_coord(p, 1))
1560
-
1561
- def p_labeled_statement_2(self, p):
1562
- """ labeled_statement : CASE constant_expression COLON pragmacomp_or_statement """
1563
- p[0] = c_ast.Case(p[2], [p[4]], self._token_coord(p, 1))
1564
-
1565
- def p_labeled_statement_3(self, p):
1566
- """ labeled_statement : DEFAULT COLON pragmacomp_or_statement """
1567
- p[0] = c_ast.Default([p[3]], self._token_coord(p, 1))
1568
-
1569
- def p_selection_statement_1(self, p):
1570
- """ selection_statement : IF LPAREN expression RPAREN pragmacomp_or_statement """
1571
- p[0] = c_ast.If(p[3], p[5], None, self._token_coord(p, 1))
1572
-
1573
- def p_selection_statement_2(self, p):
1574
- """ selection_statement : IF LPAREN expression RPAREN statement ELSE pragmacomp_or_statement """
1575
- p[0] = c_ast.If(p[3], p[5], p[7], self._token_coord(p, 1))
1576
-
1577
- def p_selection_statement_3(self, p):
1578
- """ selection_statement : SWITCH LPAREN expression RPAREN pragmacomp_or_statement """
1579
- p[0] = fix_switch_cases(
1580
- c_ast.Switch(p[3], p[5], self._token_coord(p, 1)))
1581
-
1582
- def p_iteration_statement_1(self, p):
1583
- """ iteration_statement : WHILE LPAREN expression RPAREN pragmacomp_or_statement """
1584
- p[0] = c_ast.While(p[3], p[5], self._token_coord(p, 1))
1585
-
1586
- def p_iteration_statement_2(self, p):
1587
- """ iteration_statement : DO pragmacomp_or_statement WHILE LPAREN expression RPAREN SEMI """
1588
- p[0] = c_ast.DoWhile(p[5], p[2], self._token_coord(p, 1))
1589
-
1590
- def p_iteration_statement_3(self, p):
1591
- """ iteration_statement : FOR LPAREN expression_opt SEMI expression_opt SEMI expression_opt RPAREN pragmacomp_or_statement """
1592
- p[0] = c_ast.For(p[3], p[5], p[7], p[9], self._token_coord(p, 1))
1593
-
1594
- def p_iteration_statement_4(self, p):
1595
- """ iteration_statement : FOR LPAREN declaration expression_opt SEMI expression_opt RPAREN pragmacomp_or_statement """
1596
- p[0] = c_ast.For(c_ast.DeclList(p[3], self._token_coord(p, 1)),
1597
- p[4], p[6], p[8], self._token_coord(p, 1))
1598
-
1599
- def p_jump_statement_1(self, p):
1600
- """ jump_statement : GOTO ID SEMI """
1601
- p[0] = c_ast.Goto(p[2], self._token_coord(p, 1))
1602
-
1603
- def p_jump_statement_2(self, p):
1604
- """ jump_statement : BREAK SEMI """
1605
- p[0] = c_ast.Break(self._token_coord(p, 1))
1606
-
1607
- def p_jump_statement_3(self, p):
1608
- """ jump_statement : CONTINUE SEMI """
1609
- p[0] = c_ast.Continue(self._token_coord(p, 1))
1610
-
1611
- def p_jump_statement_4(self, p):
1612
- """ jump_statement : RETURN expression SEMI
1613
- | RETURN SEMI
1614
- """
1615
- p[0] = c_ast.Return(p[2] if len(p) == 4 else None, self._token_coord(p, 1))
1616
-
1617
- def p_expression_statement(self, p):
1618
- """ expression_statement : expression_opt SEMI """
1619
- if p[1] is None:
1620
- p[0] = c_ast.EmptyStatement(self._token_coord(p, 2))
1621
- else:
1622
- p[0] = p[1]
1623
-
1624
- def p_expression(self, p):
1625
- """ expression : assignment_expression
1626
- | expression COMMA assignment_expression
1627
- """
1628
- if len(p) == 2:
1629
- p[0] = p[1]
1630
- else:
1631
- if not isinstance(p[1], c_ast.ExprList):
1632
- p[1] = c_ast.ExprList([p[1]], p[1].coord)
1633
-
1634
- p[1].exprs.append(p[3])
1635
- p[0] = p[1]
1636
-
1637
- def p_parenthesized_compound_expression(self, p):
1638
- """ assignment_expression : LPAREN compound_statement RPAREN """
1639
- p[0] = p[2]
1640
-
1641
- def p_typedef_name(self, p):
1642
- """ typedef_name : TYPEID """
1643
- p[0] = c_ast.IdentifierType([p[1]], coord=self._token_coord(p, 1))
1644
-
1645
- def p_assignment_expression(self, p):
1646
- """ assignment_expression : conditional_expression
1647
- | unary_expression assignment_operator assignment_expression
1648
- """
1649
- if len(p) == 2:
1650
- p[0] = p[1]
1651
- else:
1652
- p[0] = c_ast.Assignment(p[2], p[1], p[3], p[1].coord)
1653
-
1654
- # K&R2 defines these as many separate rules, to encode
1655
- # precedence and associativity. Why work hard ? I'll just use
1656
- # the built in precedence/associativity specification feature
1657
- # of PLY. (see precedence declaration above)
1658
- #
1659
- def p_assignment_operator(self, p):
1660
- """ assignment_operator : EQUALS
1661
- | XOREQUAL
1662
- | TIMESEQUAL
1663
- | DIVEQUAL
1664
- | MODEQUAL
1665
- | PLUSEQUAL
1666
- | MINUSEQUAL
1667
- | LSHIFTEQUAL
1668
- | RSHIFTEQUAL
1669
- | ANDEQUAL
1670
- | OREQUAL
1671
- """
1672
- p[0] = p[1]
1673
-
1674
- def p_constant_expression(self, p):
1675
- """ constant_expression : conditional_expression """
1676
- p[0] = p[1]
1677
-
1678
- def p_conditional_expression(self, p):
1679
- """ conditional_expression : binary_expression
1680
- | binary_expression CONDOP expression COLON conditional_expression
1681
- """
1682
- if len(p) == 2:
1683
- p[0] = p[1]
1684
- else:
1685
- p[0] = c_ast.TernaryOp(p[1], p[3], p[5], p[1].coord)
1686
-
1687
- def p_binary_expression(self, p):
1688
- """ binary_expression : cast_expression
1689
- | binary_expression TIMES binary_expression
1690
- | binary_expression DIVIDE binary_expression
1691
- | binary_expression MOD binary_expression
1692
- | binary_expression PLUS binary_expression
1693
- | binary_expression MINUS binary_expression
1694
- | binary_expression RSHIFT binary_expression
1695
- | binary_expression LSHIFT binary_expression
1696
- | binary_expression LT binary_expression
1697
- | binary_expression LE binary_expression
1698
- | binary_expression GE binary_expression
1699
- | binary_expression GT binary_expression
1700
- | binary_expression EQ binary_expression
1701
- | binary_expression NE binary_expression
1702
- | binary_expression AND binary_expression
1703
- | binary_expression OR binary_expression
1704
- | binary_expression XOR binary_expression
1705
- | binary_expression LAND binary_expression
1706
- | binary_expression LOR binary_expression
1707
- """
1708
- if len(p) == 2:
1709
- p[0] = p[1]
1710
- else:
1711
- p[0] = c_ast.BinaryOp(p[2], p[1], p[3], p[1].coord)
1712
-
1713
- def p_cast_expression_1(self, p):
1714
- """ cast_expression : unary_expression """
1715
- p[0] = p[1]
1716
-
1717
- def p_cast_expression_2(self, p):
1718
- """ cast_expression : LPAREN type_name RPAREN cast_expression """
1719
- p[0] = c_ast.Cast(p[2], p[4], self._token_coord(p, 1))
1720
-
1721
- def p_unary_expression_1(self, p):
1722
- """ unary_expression : postfix_expression """
1723
- p[0] = p[1]
1724
-
1725
- def p_unary_expression_2(self, p):
1726
- """ unary_expression : PLUSPLUS unary_expression
1727
- | MINUSMINUS unary_expression
1728
- | unary_operator cast_expression
1729
- """
1730
- p[0] = c_ast.UnaryOp(p[1], p[2], p[2].coord)
1731
-
1732
- def p_unary_expression_3(self, p):
1733
- """ unary_expression : SIZEOF unary_expression
1734
- | SIZEOF LPAREN type_name RPAREN
1735
- | _ALIGNOF LPAREN type_name RPAREN
1736
- """
1737
- p[0] = c_ast.UnaryOp(
1738
- p[1],
1739
- p[2] if len(p) == 3 else p[3],
1740
- self._token_coord(p, 1))
1741
-
1742
- def p_unary_operator(self, p):
1743
- """ unary_operator : AND
1744
- | TIMES
1745
- | PLUS
1746
- | MINUS
1747
- | NOT
1748
- | LNOT
1749
- """
1750
- p[0] = p[1]
1751
-
1752
- def p_postfix_expression_1(self, p):
1753
- """ postfix_expression : primary_expression """
1754
- p[0] = p[1]
1755
-
1756
- def p_postfix_expression_2(self, p):
1757
- """ postfix_expression : postfix_expression LBRACKET expression RBRACKET """
1758
- p[0] = c_ast.ArrayRef(p[1], p[3], p[1].coord)
1759
-
1760
- def p_postfix_expression_3(self, p):
1761
- """ postfix_expression : postfix_expression LPAREN argument_expression_list RPAREN
1762
- | postfix_expression LPAREN RPAREN
1763
- """
1764
- p[0] = c_ast.FuncCall(p[1], p[3] if len(p) == 5 else None, p[1].coord)
1765
-
1766
- def p_postfix_expression_4(self, p):
1767
- """ postfix_expression : postfix_expression PERIOD ID
1768
- | postfix_expression PERIOD TYPEID
1769
- | postfix_expression ARROW ID
1770
- | postfix_expression ARROW TYPEID
1771
- """
1772
- field = c_ast.ID(p[3], self._token_coord(p, 3))
1773
- p[0] = c_ast.StructRef(p[1], p[2], field, p[1].coord)
1774
-
1775
- def p_postfix_expression_5(self, p):
1776
- """ postfix_expression : postfix_expression PLUSPLUS
1777
- | postfix_expression MINUSMINUS
1778
- """
1779
- p[0] = c_ast.UnaryOp('p' + p[2], p[1], p[1].coord)
1780
-
1781
- def p_postfix_expression_6(self, p):
1782
- """ postfix_expression : LPAREN type_name RPAREN brace_open initializer_list brace_close
1783
- | LPAREN type_name RPAREN brace_open initializer_list COMMA brace_close
1784
- """
1785
- p[0] = c_ast.CompoundLiteral(p[2], p[5])
1786
-
1787
- def p_primary_expression_1(self, p):
1788
- """ primary_expression : identifier """
1789
- p[0] = p[1]
1790
-
1791
- def p_primary_expression_2(self, p):
1792
- """ primary_expression : constant """
1793
- p[0] = p[1]
1794
-
1795
- def p_primary_expression_3(self, p):
1796
- """ primary_expression : unified_string_literal
1797
- | unified_wstring_literal
1798
- """
1799
- p[0] = p[1]
1800
-
1801
- def p_primary_expression_4(self, p):
1802
- """ primary_expression : LPAREN expression RPAREN """
1803
- p[0] = p[2]
1804
-
1805
- def p_primary_expression_5(self, p):
1806
- """ primary_expression : OFFSETOF LPAREN type_name COMMA offsetof_member_designator RPAREN
1807
- """
1808
- coord = self._token_coord(p, 1)
1809
- p[0] = c_ast.FuncCall(c_ast.ID(p[1], coord),
1810
- c_ast.ExprList([p[3], p[5]], coord),
1811
- coord)
1812
-
1813
- def p_offsetof_member_designator(self, p):
1814
- """ offsetof_member_designator : identifier
1815
- | offsetof_member_designator PERIOD identifier
1816
- | offsetof_member_designator LBRACKET expression RBRACKET
1817
- """
1818
- if len(p) == 2:
1819
- p[0] = p[1]
1820
- elif len(p) == 4:
1821
- p[0] = c_ast.StructRef(p[1], p[2], p[3], p[1].coord)
1822
- elif len(p) == 5:
1823
- p[0] = c_ast.ArrayRef(p[1], p[3], p[1].coord)
1824
- else:
1825
- raise NotImplementedError("Unexpected parsing state. len(p): %u" % len(p))
1826
-
1827
- def p_argument_expression_list(self, p):
1828
- """ argument_expression_list : assignment_expression
1829
- | argument_expression_list COMMA assignment_expression
1830
- """
1831
- if len(p) == 2: # single expr
1832
- p[0] = c_ast.ExprList([p[1]], p[1].coord)
1833
- else:
1834
- p[1].exprs.append(p[3])
1835
- p[0] = p[1]
1836
-
1837
- def p_identifier(self, p):
1838
- """ identifier : ID """
1839
- p[0] = c_ast.ID(p[1], self._token_coord(p, 1))
1840
-
1841
- def p_constant_1(self, p):
1842
- """ constant : INT_CONST_DEC
1843
- | INT_CONST_OCT
1844
- | INT_CONST_HEX
1845
- | INT_CONST_BIN
1846
- | INT_CONST_CHAR
1847
- """
1848
- uCount = 0
1849
- lCount = 0
1850
- for x in p[1][-3:]:
1851
- if x in ('l', 'L'):
1852
- lCount += 1
1853
- elif x in ('u', 'U'):
1854
- uCount += 1
1855
- t = ''
1856
- if uCount > 1:
1857
- raise ValueError('Constant cannot have more than one u/U suffix.')
1858
- elif lCount > 2:
1859
- raise ValueError('Constant cannot have more than two l/L suffix.')
1860
- prefix = 'unsigned ' * uCount + 'long ' * lCount
1861
- p[0] = c_ast.Constant(
1862
- prefix + 'int', p[1], self._token_coord(p, 1))
1863
-
1864
- def p_constant_2(self, p):
1865
- """ constant : FLOAT_CONST
1866
- | HEX_FLOAT_CONST
1867
- """
1868
- if 'x' in p[1].lower():
1869
- t = 'float'
1870
- else:
1871
- if p[1][-1] in ('f', 'F'):
1872
- t = 'float'
1873
- elif p[1][-1] in ('l', 'L'):
1874
- t = 'long double'
1875
- else:
1876
- t = 'double'
1877
-
1878
- p[0] = c_ast.Constant(
1879
- t, p[1], self._token_coord(p, 1))
1880
-
1881
- def p_constant_3(self, p):
1882
- """ constant : CHAR_CONST
1883
- | WCHAR_CONST
1884
- | U8CHAR_CONST
1885
- | U16CHAR_CONST
1886
- | U32CHAR_CONST
1887
- """
1888
- p[0] = c_ast.Constant(
1889
- 'char', p[1], self._token_coord(p, 1))
1890
-
1891
- # The "unified" string and wstring literal rules are for supporting
1892
- # concatenation of adjacent string literals.
1893
- # I.e. "hello " "world" is seen by the C compiler as a single string literal
1894
- # with the value "hello world"
1895
- #
1896
- def p_unified_string_literal(self, p):
1897
- """ unified_string_literal : STRING_LITERAL
1898
- | unified_string_literal STRING_LITERAL
1899
- """
1900
- if len(p) == 2: # single literal
1901
- p[0] = c_ast.Constant(
1902
- 'string', p[1], self._token_coord(p, 1))
1903
- else:
1904
- p[1].value = p[1].value[:-1] + p[2][1:]
1905
- p[0] = p[1]
1906
-
1907
- def p_unified_wstring_literal(self, p):
1908
- """ unified_wstring_literal : WSTRING_LITERAL
1909
- | U8STRING_LITERAL
1910
- | U16STRING_LITERAL
1911
- | U32STRING_LITERAL
1912
- | unified_wstring_literal WSTRING_LITERAL
1913
- | unified_wstring_literal U8STRING_LITERAL
1914
- | unified_wstring_literal U16STRING_LITERAL
1915
- | unified_wstring_literal U32STRING_LITERAL
1916
- """
1917
- if len(p) == 2: # single literal
1918
- p[0] = c_ast.Constant(
1919
- 'string', p[1], self._token_coord(p, 1))
1920
- else:
1921
- p[1].value = p[1].value.rstrip()[:-1] + p[2][2:]
1922
- p[0] = p[1]
1923
-
1924
- def p_brace_open(self, p):
1925
- """ brace_open : LBRACE
1926
- """
1927
- p[0] = p[1]
1928
- p.set_lineno(0, p.lineno(1))
1929
-
1930
- def p_brace_close(self, p):
1931
- """ brace_close : RBRACE
1932
- """
1933
- p[0] = p[1]
1934
- p.set_lineno(0, p.lineno(1))
1935
-
1936
- def p_empty(self, p):
1937
- 'empty : '
1938
- p[0] = None
1939
-
1940
- def p_error(self, p):
1941
- # If error recovery is added here in the future, make sure
1942
- # _get_yacc_lookahead_token still works!
1943
- #
1944
- if p:
1945
- self._parse_error(
1946
- 'before: %s' % p.value,
1947
- self._coord(lineno=p.lineno,
1948
- column=self.clex.find_tok_column(p)))
1949
- else:
1950
- self._parse_error('At end of input', self.clex.filename)