create-writerkit 1.0.0 → 1.1.1

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 (1020) hide show
  1. package/bin/cli.js +109 -33
  2. package/package.json +4 -3
  3. package/src/interactiveMenu.js +97 -0
  4. package/src/templateProcessor.js +102 -0
  5. package/livro-final/main.tex +0 -51
  6. package/livro-final/memory/memory.json +0 -23
  7. package/livro-final/memory/schema.md +0 -18
  8. package/livro-final/venv/bin/Activate.ps1 +0 -247
  9. package/livro-final/venv/bin/activate +0 -70
  10. package/livro-final/venv/bin/activate.csh +0 -27
  11. package/livro-final/venv/bin/activate.fish +0 -69
  12. package/livro-final/venv/bin/pip +0 -8
  13. package/livro-final/venv/bin/pip3 +0 -8
  14. package/livro-final/venv/bin/pip3.12 +0 -8
  15. package/livro-final/venv/lib/python3.12/site-packages/pip/__init__.py +0 -13
  16. package/livro-final/venv/lib/python3.12/site-packages/pip/__main__.py +0 -24
  17. package/livro-final/venv/lib/python3.12/site-packages/pip/__pip-runner__.py +0 -50
  18. package/livro-final/venv/lib/python3.12/site-packages/pip/__pycache__/__init__.cpython-312.pyc +0 -0
  19. package/livro-final/venv/lib/python3.12/site-packages/pip/__pycache__/__main__.cpython-312.pyc +0 -0
  20. package/livro-final/venv/lib/python3.12/site-packages/pip/__pycache__/__pip-runner__.cpython-312.pyc +0 -0
  21. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/__init__.py +0 -18
  22. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/__pycache__/__init__.cpython-312.pyc +0 -0
  23. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/__pycache__/build_env.cpython-312.pyc +0 -0
  24. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/__pycache__/cache.cpython-312.pyc +0 -0
  25. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/__pycache__/configuration.cpython-312.pyc +0 -0
  26. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/__pycache__/exceptions.cpython-312.pyc +0 -0
  27. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/__pycache__/main.cpython-312.pyc +0 -0
  28. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/__pycache__/pyproject.cpython-312.pyc +0 -0
  29. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/__pycache__/self_outdated_check.cpython-312.pyc +0 -0
  30. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/__pycache__/wheel_builder.cpython-312.pyc +0 -0
  31. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/build_env.py +0 -311
  32. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/cache.py +0 -290
  33. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/cli/__init__.py +0 -4
  34. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/cli/__pycache__/__init__.cpython-312.pyc +0 -0
  35. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/cli/__pycache__/autocompletion.cpython-312.pyc +0 -0
  36. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/cli/__pycache__/base_command.cpython-312.pyc +0 -0
  37. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/cli/__pycache__/cmdoptions.cpython-312.pyc +0 -0
  38. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/cli/__pycache__/command_context.cpython-312.pyc +0 -0
  39. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/cli/__pycache__/main.cpython-312.pyc +0 -0
  40. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/cli/__pycache__/main_parser.cpython-312.pyc +0 -0
  41. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/cli/__pycache__/parser.cpython-312.pyc +0 -0
  42. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/cli/__pycache__/progress_bars.cpython-312.pyc +0 -0
  43. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/cli/__pycache__/req_command.cpython-312.pyc +0 -0
  44. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/cli/__pycache__/spinners.cpython-312.pyc +0 -0
  45. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/cli/__pycache__/status_codes.cpython-312.pyc +0 -0
  46. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/cli/autocompletion.py +0 -172
  47. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/cli/base_command.py +0 -236
  48. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/cli/cmdoptions.py +0 -1074
  49. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/cli/command_context.py +0 -27
  50. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/cli/main.py +0 -79
  51. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/cli/main_parser.py +0 -134
  52. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/cli/parser.py +0 -294
  53. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/cli/progress_bars.py +0 -68
  54. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/cli/req_command.py +0 -505
  55. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/cli/spinners.py +0 -159
  56. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/cli/status_codes.py +0 -6
  57. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/commands/__init__.py +0 -132
  58. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/commands/__pycache__/__init__.cpython-312.pyc +0 -0
  59. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/commands/__pycache__/cache.cpython-312.pyc +0 -0
  60. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/commands/__pycache__/check.cpython-312.pyc +0 -0
  61. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/commands/__pycache__/completion.cpython-312.pyc +0 -0
  62. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/commands/__pycache__/configuration.cpython-312.pyc +0 -0
  63. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/commands/__pycache__/debug.cpython-312.pyc +0 -0
  64. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/commands/__pycache__/download.cpython-312.pyc +0 -0
  65. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/commands/__pycache__/freeze.cpython-312.pyc +0 -0
  66. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/commands/__pycache__/hash.cpython-312.pyc +0 -0
  67. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/commands/__pycache__/help.cpython-312.pyc +0 -0
  68. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/commands/__pycache__/index.cpython-312.pyc +0 -0
  69. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/commands/__pycache__/inspect.cpython-312.pyc +0 -0
  70. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/commands/__pycache__/install.cpython-312.pyc +0 -0
  71. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/commands/__pycache__/list.cpython-312.pyc +0 -0
  72. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/commands/__pycache__/search.cpython-312.pyc +0 -0
  73. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/commands/__pycache__/show.cpython-312.pyc +0 -0
  74. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/commands/__pycache__/uninstall.cpython-312.pyc +0 -0
  75. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/commands/__pycache__/wheel.cpython-312.pyc +0 -0
  76. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/commands/cache.py +0 -225
  77. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/commands/check.py +0 -54
  78. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/commands/completion.py +0 -130
  79. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/commands/configuration.py +0 -280
  80. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/commands/debug.py +0 -201
  81. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/commands/download.py +0 -147
  82. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/commands/freeze.py +0 -109
  83. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/commands/hash.py +0 -59
  84. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/commands/help.py +0 -41
  85. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/commands/index.py +0 -139
  86. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/commands/inspect.py +0 -92
  87. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/commands/install.py +0 -774
  88. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/commands/list.py +0 -370
  89. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/commands/search.py +0 -174
  90. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/commands/show.py +0 -189
  91. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/commands/uninstall.py +0 -113
  92. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/commands/wheel.py +0 -183
  93. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/configuration.py +0 -383
  94. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/distributions/__init__.py +0 -21
  95. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/distributions/__pycache__/__init__.cpython-312.pyc +0 -0
  96. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/distributions/__pycache__/base.cpython-312.pyc +0 -0
  97. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/distributions/__pycache__/installed.cpython-312.pyc +0 -0
  98. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/distributions/__pycache__/sdist.cpython-312.pyc +0 -0
  99. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/distributions/__pycache__/wheel.cpython-312.pyc +0 -0
  100. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/distributions/base.py +0 -51
  101. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/distributions/installed.py +0 -29
  102. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/distributions/sdist.py +0 -156
  103. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/distributions/wheel.py +0 -40
  104. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/exceptions.py +0 -728
  105. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/index/__init__.py +0 -2
  106. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/index/__pycache__/__init__.cpython-312.pyc +0 -0
  107. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/index/__pycache__/collector.cpython-312.pyc +0 -0
  108. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/index/__pycache__/package_finder.cpython-312.pyc +0 -0
  109. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/index/__pycache__/sources.cpython-312.pyc +0 -0
  110. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/index/collector.py +0 -507
  111. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/index/package_finder.py +0 -1027
  112. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/index/sources.py +0 -285
  113. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/locations/__init__.py +0 -467
  114. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/locations/__pycache__/__init__.cpython-312.pyc +0 -0
  115. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/locations/__pycache__/_distutils.cpython-312.pyc +0 -0
  116. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/locations/__pycache__/_sysconfig.cpython-312.pyc +0 -0
  117. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/locations/__pycache__/base.cpython-312.pyc +0 -0
  118. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/locations/_distutils.py +0 -172
  119. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/locations/_sysconfig.py +0 -213
  120. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/locations/base.py +0 -81
  121. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/main.py +0 -12
  122. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/metadata/__init__.py +0 -128
  123. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/metadata/__pycache__/__init__.cpython-312.pyc +0 -0
  124. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/metadata/__pycache__/_json.cpython-312.pyc +0 -0
  125. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/metadata/__pycache__/base.cpython-312.pyc +0 -0
  126. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/metadata/__pycache__/pkg_resources.cpython-312.pyc +0 -0
  127. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/metadata/_json.py +0 -84
  128. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/metadata/base.py +0 -702
  129. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/metadata/importlib/__init__.py +0 -6
  130. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/metadata/importlib/__pycache__/__init__.cpython-312.pyc +0 -0
  131. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/metadata/importlib/__pycache__/_compat.cpython-312.pyc +0 -0
  132. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/metadata/importlib/__pycache__/_dists.cpython-312.pyc +0 -0
  133. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/metadata/importlib/__pycache__/_envs.cpython-312.pyc +0 -0
  134. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/metadata/importlib/_compat.py +0 -55
  135. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/metadata/importlib/_dists.py +0 -227
  136. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/metadata/importlib/_envs.py +0 -189
  137. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/metadata/pkg_resources.py +0 -278
  138. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/models/__init__.py +0 -2
  139. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/models/__pycache__/__init__.cpython-312.pyc +0 -0
  140. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/models/__pycache__/candidate.cpython-312.pyc +0 -0
  141. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/models/__pycache__/direct_url.cpython-312.pyc +0 -0
  142. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/models/__pycache__/format_control.cpython-312.pyc +0 -0
  143. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/models/__pycache__/index.cpython-312.pyc +0 -0
  144. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/models/__pycache__/installation_report.cpython-312.pyc +0 -0
  145. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/models/__pycache__/link.cpython-312.pyc +0 -0
  146. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/models/__pycache__/scheme.cpython-312.pyc +0 -0
  147. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/models/__pycache__/search_scope.cpython-312.pyc +0 -0
  148. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/models/__pycache__/selection_prefs.cpython-312.pyc +0 -0
  149. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/models/__pycache__/target_python.cpython-312.pyc +0 -0
  150. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/models/__pycache__/wheel.cpython-312.pyc +0 -0
  151. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/models/candidate.py +0 -30
  152. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/models/direct_url.py +0 -235
  153. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/models/format_control.py +0 -78
  154. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/models/index.py +0 -28
  155. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/models/installation_report.py +0 -56
  156. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/models/link.py +0 -579
  157. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/models/scheme.py +0 -31
  158. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/models/search_scope.py +0 -132
  159. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/models/selection_prefs.py +0 -51
  160. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/models/target_python.py +0 -122
  161. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/models/wheel.py +0 -92
  162. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/network/__init__.py +0 -2
  163. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/network/__pycache__/__init__.cpython-312.pyc +0 -0
  164. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/network/__pycache__/auth.cpython-312.pyc +0 -0
  165. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/network/__pycache__/cache.cpython-312.pyc +0 -0
  166. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/network/__pycache__/download.cpython-312.pyc +0 -0
  167. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/network/__pycache__/lazy_wheel.cpython-312.pyc +0 -0
  168. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/network/__pycache__/session.cpython-312.pyc +0 -0
  169. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/network/__pycache__/utils.cpython-312.pyc +0 -0
  170. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/network/__pycache__/xmlrpc.cpython-312.pyc +0 -0
  171. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/network/auth.py +0 -561
  172. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/network/cache.py +0 -106
  173. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/network/download.py +0 -186
  174. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/network/lazy_wheel.py +0 -210
  175. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/network/session.py +0 -520
  176. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/network/utils.py +0 -96
  177. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/network/xmlrpc.py +0 -62
  178. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/operations/__init__.py +0 -0
  179. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/operations/__pycache__/__init__.cpython-312.pyc +0 -0
  180. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/operations/__pycache__/check.cpython-312.pyc +0 -0
  181. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/operations/__pycache__/freeze.cpython-312.pyc +0 -0
  182. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/operations/__pycache__/prepare.cpython-312.pyc +0 -0
  183. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/operations/build/__init__.py +0 -0
  184. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/operations/build/__pycache__/__init__.cpython-312.pyc +0 -0
  185. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/operations/build/__pycache__/build_tracker.cpython-312.pyc +0 -0
  186. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/operations/build/__pycache__/metadata.cpython-312.pyc +0 -0
  187. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/operations/build/__pycache__/metadata_editable.cpython-312.pyc +0 -0
  188. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/operations/build/__pycache__/metadata_legacy.cpython-312.pyc +0 -0
  189. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/operations/build/__pycache__/wheel.cpython-312.pyc +0 -0
  190. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/operations/build/__pycache__/wheel_editable.cpython-312.pyc +0 -0
  191. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/operations/build/__pycache__/wheel_legacy.cpython-312.pyc +0 -0
  192. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/operations/build/build_tracker.py +0 -139
  193. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/operations/build/metadata.py +0 -39
  194. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/operations/build/metadata_editable.py +0 -41
  195. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/operations/build/metadata_legacy.py +0 -74
  196. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/operations/build/wheel.py +0 -37
  197. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/operations/build/wheel_editable.py +0 -46
  198. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/operations/build/wheel_legacy.py +0 -102
  199. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/operations/check.py +0 -187
  200. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/operations/freeze.py +0 -255
  201. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/operations/install/__init__.py +0 -2
  202. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/operations/install/__pycache__/__init__.cpython-312.pyc +0 -0
  203. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/operations/install/__pycache__/editable_legacy.cpython-312.pyc +0 -0
  204. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/operations/install/__pycache__/wheel.cpython-312.pyc +0 -0
  205. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/operations/install/editable_legacy.py +0 -46
  206. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/operations/install/wheel.py +0 -734
  207. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/operations/prepare.py +0 -730
  208. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/pyproject.py +0 -179
  209. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/req/__init__.py +0 -92
  210. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/req/__pycache__/__init__.cpython-312.pyc +0 -0
  211. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/req/__pycache__/constructors.cpython-312.pyc +0 -0
  212. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/req/__pycache__/req_file.cpython-312.pyc +0 -0
  213. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/req/__pycache__/req_install.cpython-312.pyc +0 -0
  214. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/req/__pycache__/req_set.cpython-312.pyc +0 -0
  215. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/req/__pycache__/req_uninstall.cpython-312.pyc +0 -0
  216. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/req/constructors.py +0 -576
  217. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/req/req_file.py +0 -554
  218. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/req/req_install.py +0 -923
  219. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/req/req_set.py +0 -119
  220. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/req/req_uninstall.py +0 -649
  221. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/resolution/__init__.py +0 -0
  222. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/resolution/__pycache__/__init__.cpython-312.pyc +0 -0
  223. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/resolution/__pycache__/base.cpython-312.pyc +0 -0
  224. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/resolution/base.py +0 -20
  225. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/resolution/legacy/__init__.py +0 -0
  226. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/resolution/legacy/__pycache__/__init__.cpython-312.pyc +0 -0
  227. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/resolution/legacy/__pycache__/resolver.cpython-312.pyc +0 -0
  228. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/resolution/legacy/resolver.py +0 -598
  229. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/resolution/resolvelib/__init__.py +0 -0
  230. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/resolution/resolvelib/__pycache__/__init__.cpython-312.pyc +0 -0
  231. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/resolution/resolvelib/__pycache__/base.cpython-312.pyc +0 -0
  232. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/resolution/resolvelib/__pycache__/candidates.cpython-312.pyc +0 -0
  233. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/resolution/resolvelib/__pycache__/factory.cpython-312.pyc +0 -0
  234. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/resolution/resolvelib/__pycache__/found_candidates.cpython-312.pyc +0 -0
  235. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/resolution/resolvelib/__pycache__/provider.cpython-312.pyc +0 -0
  236. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/resolution/resolvelib/__pycache__/reporter.cpython-312.pyc +0 -0
  237. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/resolution/resolvelib/__pycache__/requirements.cpython-312.pyc +0 -0
  238. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/resolution/resolvelib/__pycache__/resolver.cpython-312.pyc +0 -0
  239. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/resolution/resolvelib/base.py +0 -141
  240. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/resolution/resolvelib/candidates.py +0 -597
  241. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/resolution/resolvelib/factory.py +0 -812
  242. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/resolution/resolvelib/found_candidates.py +0 -155
  243. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/resolution/resolvelib/provider.py +0 -255
  244. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/resolution/resolvelib/reporter.py +0 -80
  245. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/resolution/resolvelib/requirements.py +0 -166
  246. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/resolution/resolvelib/resolver.py +0 -317
  247. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/self_outdated_check.py +0 -248
  248. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/utils/__init__.py +0 -0
  249. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/utils/__pycache__/__init__.cpython-312.pyc +0 -0
  250. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/utils/__pycache__/_jaraco_text.cpython-312.pyc +0 -0
  251. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/utils/__pycache__/_log.cpython-312.pyc +0 -0
  252. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/utils/__pycache__/appdirs.cpython-312.pyc +0 -0
  253. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/utils/__pycache__/compat.cpython-312.pyc +0 -0
  254. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/utils/__pycache__/compatibility_tags.cpython-312.pyc +0 -0
  255. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/utils/__pycache__/datetime.cpython-312.pyc +0 -0
  256. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/utils/__pycache__/deprecation.cpython-312.pyc +0 -0
  257. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/utils/__pycache__/direct_url_helpers.cpython-312.pyc +0 -0
  258. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/utils/__pycache__/egg_link.cpython-312.pyc +0 -0
  259. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/utils/__pycache__/encoding.cpython-312.pyc +0 -0
  260. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/utils/__pycache__/entrypoints.cpython-312.pyc +0 -0
  261. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/utils/__pycache__/filesystem.cpython-312.pyc +0 -0
  262. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/utils/__pycache__/filetypes.cpython-312.pyc +0 -0
  263. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/utils/__pycache__/glibc.cpython-312.pyc +0 -0
  264. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/utils/__pycache__/hashes.cpython-312.pyc +0 -0
  265. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/utils/__pycache__/logging.cpython-312.pyc +0 -0
  266. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/utils/__pycache__/misc.cpython-312.pyc +0 -0
  267. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/utils/__pycache__/models.cpython-312.pyc +0 -0
  268. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/utils/__pycache__/packaging.cpython-312.pyc +0 -0
  269. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/utils/__pycache__/setuptools_build.cpython-312.pyc +0 -0
  270. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/utils/__pycache__/subprocess.cpython-312.pyc +0 -0
  271. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/utils/__pycache__/temp_dir.cpython-312.pyc +0 -0
  272. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/utils/__pycache__/unpacking.cpython-312.pyc +0 -0
  273. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/utils/__pycache__/urls.cpython-312.pyc +0 -0
  274. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/utils/__pycache__/virtualenv.cpython-312.pyc +0 -0
  275. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/utils/__pycache__/wheel.cpython-312.pyc +0 -0
  276. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/utils/_jaraco_text.py +0 -109
  277. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/utils/_log.py +0 -38
  278. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/utils/appdirs.py +0 -52
  279. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/utils/compat.py +0 -63
  280. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/utils/compatibility_tags.py +0 -165
  281. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/utils/datetime.py +0 -11
  282. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/utils/deprecation.py +0 -120
  283. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/utils/direct_url_helpers.py +0 -87
  284. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/utils/egg_link.py +0 -80
  285. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/utils/encoding.py +0 -36
  286. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/utils/entrypoints.py +0 -84
  287. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/utils/filesystem.py +0 -153
  288. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/utils/filetypes.py +0 -27
  289. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/utils/glibc.py +0 -88
  290. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/utils/hashes.py +0 -151
  291. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/utils/logging.py +0 -348
  292. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/utils/misc.py +0 -783
  293. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/utils/models.py +0 -39
  294. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/utils/packaging.py +0 -57
  295. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/utils/setuptools_build.py +0 -146
  296. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/utils/subprocess.py +0 -260
  297. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/utils/temp_dir.py +0 -296
  298. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/utils/unpacking.py +0 -257
  299. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/utils/urls.py +0 -62
  300. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/utils/virtualenv.py +0 -104
  301. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/utils/wheel.py +0 -134
  302. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/vcs/__init__.py +0 -15
  303. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/vcs/__pycache__/__init__.cpython-312.pyc +0 -0
  304. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/vcs/__pycache__/bazaar.cpython-312.pyc +0 -0
  305. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/vcs/__pycache__/git.cpython-312.pyc +0 -0
  306. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/vcs/__pycache__/mercurial.cpython-312.pyc +0 -0
  307. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/vcs/__pycache__/subversion.cpython-312.pyc +0 -0
  308. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/vcs/__pycache__/versioncontrol.cpython-312.pyc +0 -0
  309. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/vcs/bazaar.py +0 -112
  310. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/vcs/git.py +0 -526
  311. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/vcs/mercurial.py +0 -163
  312. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/vcs/subversion.py +0 -324
  313. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/vcs/versioncontrol.py +0 -705
  314. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/wheel_builder.py +0 -354
  315. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/__init__.py +0 -121
  316. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/__pycache__/__init__.cpython-312.pyc +0 -0
  317. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/__pycache__/six.cpython-312.pyc +0 -0
  318. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/__pycache__/typing_extensions.cpython-312.pyc +0 -0
  319. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/cachecontrol/__init__.py +0 -28
  320. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/cachecontrol/__pycache__/__init__.cpython-312.pyc +0 -0
  321. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/cachecontrol/__pycache__/_cmd.cpython-312.pyc +0 -0
  322. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/cachecontrol/__pycache__/adapter.cpython-312.pyc +0 -0
  323. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/cachecontrol/__pycache__/cache.cpython-312.pyc +0 -0
  324. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/cachecontrol/__pycache__/controller.cpython-312.pyc +0 -0
  325. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/cachecontrol/__pycache__/filewrapper.cpython-312.pyc +0 -0
  326. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/cachecontrol/__pycache__/heuristics.cpython-312.pyc +0 -0
  327. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/cachecontrol/__pycache__/serialize.cpython-312.pyc +0 -0
  328. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/cachecontrol/__pycache__/wrapper.cpython-312.pyc +0 -0
  329. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/cachecontrol/_cmd.py +0 -70
  330. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/cachecontrol/adapter.py +0 -161
  331. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/cachecontrol/cache.py +0 -74
  332. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/cachecontrol/caches/__init__.py +0 -8
  333. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/cachecontrol/caches/__pycache__/__init__.cpython-312.pyc +0 -0
  334. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/cachecontrol/caches/__pycache__/file_cache.cpython-312.pyc +0 -0
  335. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/cachecontrol/caches/__pycache__/redis_cache.cpython-312.pyc +0 -0
  336. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/cachecontrol/caches/file_cache.py +0 -181
  337. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/cachecontrol/caches/redis_cache.py +0 -48
  338. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/cachecontrol/controller.py +0 -494
  339. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/cachecontrol/filewrapper.py +0 -119
  340. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/cachecontrol/heuristics.py +0 -154
  341. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/cachecontrol/serialize.py +0 -206
  342. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/cachecontrol/wrapper.py +0 -43
  343. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/certifi/__init__.py +0 -4
  344. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/certifi/__main__.py +0 -12
  345. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/certifi/__pycache__/__init__.cpython-312.pyc +0 -0
  346. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/certifi/__pycache__/__main__.cpython-312.pyc +0 -0
  347. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/certifi/__pycache__/core.cpython-312.pyc +0 -0
  348. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/certifi/cacert.pem +0 -4635
  349. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/certifi/core.py +0 -119
  350. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/chardet/__init__.py +0 -115
  351. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/chardet/__pycache__/__init__.cpython-312.pyc +0 -0
  352. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/chardet/__pycache__/big5freq.cpython-312.pyc +0 -0
  353. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/chardet/__pycache__/big5prober.cpython-312.pyc +0 -0
  354. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/chardet/__pycache__/chardistribution.cpython-312.pyc +0 -0
  355. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/chardet/__pycache__/charsetgroupprober.cpython-312.pyc +0 -0
  356. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/chardet/__pycache__/charsetprober.cpython-312.pyc +0 -0
  357. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/chardet/__pycache__/codingstatemachine.cpython-312.pyc +0 -0
  358. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/chardet/__pycache__/codingstatemachinedict.cpython-312.pyc +0 -0
  359. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/chardet/__pycache__/cp949prober.cpython-312.pyc +0 -0
  360. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/chardet/__pycache__/enums.cpython-312.pyc +0 -0
  361. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/chardet/__pycache__/escprober.cpython-312.pyc +0 -0
  362. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/chardet/__pycache__/escsm.cpython-312.pyc +0 -0
  363. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/chardet/__pycache__/eucjpprober.cpython-312.pyc +0 -0
  364. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/chardet/__pycache__/euckrfreq.cpython-312.pyc +0 -0
  365. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/chardet/__pycache__/euckrprober.cpython-312.pyc +0 -0
  366. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/chardet/__pycache__/euctwfreq.cpython-312.pyc +0 -0
  367. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/chardet/__pycache__/euctwprober.cpython-312.pyc +0 -0
  368. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/chardet/__pycache__/gb2312freq.cpython-312.pyc +0 -0
  369. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/chardet/__pycache__/gb2312prober.cpython-312.pyc +0 -0
  370. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/chardet/__pycache__/hebrewprober.cpython-312.pyc +0 -0
  371. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/chardet/__pycache__/jisfreq.cpython-312.pyc +0 -0
  372. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/chardet/__pycache__/johabfreq.cpython-312.pyc +0 -0
  373. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/chardet/__pycache__/johabprober.cpython-312.pyc +0 -0
  374. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/chardet/__pycache__/jpcntx.cpython-312.pyc +0 -0
  375. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/chardet/__pycache__/langbulgarianmodel.cpython-312.pyc +0 -0
  376. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/chardet/__pycache__/langgreekmodel.cpython-312.pyc +0 -0
  377. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/chardet/__pycache__/langhebrewmodel.cpython-312.pyc +0 -0
  378. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/chardet/__pycache__/langhungarianmodel.cpython-312.pyc +0 -0
  379. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/chardet/__pycache__/langrussianmodel.cpython-312.pyc +0 -0
  380. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/chardet/__pycache__/langthaimodel.cpython-312.pyc +0 -0
  381. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/chardet/__pycache__/langturkishmodel.cpython-312.pyc +0 -0
  382. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/chardet/__pycache__/latin1prober.cpython-312.pyc +0 -0
  383. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/chardet/__pycache__/macromanprober.cpython-312.pyc +0 -0
  384. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/chardet/__pycache__/mbcharsetprober.cpython-312.pyc +0 -0
  385. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/chardet/__pycache__/mbcsgroupprober.cpython-312.pyc +0 -0
  386. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/chardet/__pycache__/mbcssm.cpython-312.pyc +0 -0
  387. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/chardet/__pycache__/resultdict.cpython-312.pyc +0 -0
  388. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/chardet/__pycache__/sbcharsetprober.cpython-312.pyc +0 -0
  389. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/chardet/__pycache__/sbcsgroupprober.cpython-312.pyc +0 -0
  390. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/chardet/__pycache__/sjisprober.cpython-312.pyc +0 -0
  391. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/chardet/__pycache__/universaldetector.cpython-312.pyc +0 -0
  392. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/chardet/__pycache__/utf1632prober.cpython-312.pyc +0 -0
  393. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/chardet/__pycache__/utf8prober.cpython-312.pyc +0 -0
  394. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/chardet/__pycache__/version.cpython-312.pyc +0 -0
  395. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/chardet/big5freq.py +0 -386
  396. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/chardet/big5prober.py +0 -47
  397. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/chardet/chardistribution.py +0 -261
  398. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/chardet/charsetgroupprober.py +0 -106
  399. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/chardet/charsetprober.py +0 -147
  400. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/chardet/cli/__init__.py +0 -0
  401. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/chardet/cli/__pycache__/__init__.cpython-312.pyc +0 -0
  402. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/chardet/cli/__pycache__/chardetect.cpython-312.pyc +0 -0
  403. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/chardet/cli/chardetect.py +0 -112
  404. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/chardet/codingstatemachine.py +0 -90
  405. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/chardet/codingstatemachinedict.py +0 -19
  406. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/chardet/cp949prober.py +0 -49
  407. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/chardet/enums.py +0 -85
  408. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/chardet/escprober.py +0 -102
  409. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/chardet/escsm.py +0 -261
  410. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/chardet/eucjpprober.py +0 -102
  411. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/chardet/euckrfreq.py +0 -196
  412. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/chardet/euckrprober.py +0 -47
  413. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/chardet/euctwfreq.py +0 -388
  414. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/chardet/euctwprober.py +0 -47
  415. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/chardet/gb2312freq.py +0 -284
  416. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/chardet/gb2312prober.py +0 -47
  417. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/chardet/hebrewprober.py +0 -316
  418. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/chardet/jisfreq.py +0 -325
  419. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/chardet/johabfreq.py +0 -2382
  420. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/chardet/johabprober.py +0 -47
  421. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/chardet/jpcntx.py +0 -238
  422. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/chardet/langbulgarianmodel.py +0 -4649
  423. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/chardet/langgreekmodel.py +0 -4397
  424. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/chardet/langhebrewmodel.py +0 -4380
  425. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/chardet/langhungarianmodel.py +0 -4649
  426. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/chardet/langrussianmodel.py +0 -5725
  427. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/chardet/langthaimodel.py +0 -4380
  428. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/chardet/langturkishmodel.py +0 -4380
  429. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/chardet/latin1prober.py +0 -147
  430. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/chardet/macromanprober.py +0 -162
  431. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/chardet/mbcharsetprober.py +0 -95
  432. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/chardet/mbcsgroupprober.py +0 -57
  433. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/chardet/mbcssm.py +0 -661
  434. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/chardet/metadata/__init__.py +0 -0
  435. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/chardet/metadata/__pycache__/__init__.cpython-312.pyc +0 -0
  436. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/chardet/metadata/__pycache__/languages.cpython-312.pyc +0 -0
  437. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/chardet/metadata/languages.py +0 -352
  438. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/chardet/resultdict.py +0 -16
  439. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/chardet/sbcharsetprober.py +0 -162
  440. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/chardet/sbcsgroupprober.py +0 -88
  441. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/chardet/sjisprober.py +0 -105
  442. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/chardet/universaldetector.py +0 -362
  443. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/chardet/utf1632prober.py +0 -225
  444. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/chardet/utf8prober.py +0 -82
  445. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/chardet/version.py +0 -9
  446. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/colorama/__init__.py +0 -7
  447. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/colorama/__pycache__/__init__.cpython-312.pyc +0 -0
  448. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/colorama/__pycache__/ansi.cpython-312.pyc +0 -0
  449. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/colorama/__pycache__/ansitowin32.cpython-312.pyc +0 -0
  450. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/colorama/__pycache__/initialise.cpython-312.pyc +0 -0
  451. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/colorama/__pycache__/win32.cpython-312.pyc +0 -0
  452. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/colorama/__pycache__/winterm.cpython-312.pyc +0 -0
  453. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/colorama/ansi.py +0 -102
  454. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/colorama/ansitowin32.py +0 -277
  455. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/colorama/initialise.py +0 -121
  456. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/colorama/tests/__init__.py +0 -1
  457. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/colorama/tests/__pycache__/__init__.cpython-312.pyc +0 -0
  458. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/colorama/tests/__pycache__/ansi_test.cpython-312.pyc +0 -0
  459. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/colorama/tests/__pycache__/ansitowin32_test.cpython-312.pyc +0 -0
  460. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/colorama/tests/__pycache__/initialise_test.cpython-312.pyc +0 -0
  461. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/colorama/tests/__pycache__/isatty_test.cpython-312.pyc +0 -0
  462. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/colorama/tests/__pycache__/utils.cpython-312.pyc +0 -0
  463. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/colorama/tests/__pycache__/winterm_test.cpython-312.pyc +0 -0
  464. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/colorama/tests/ansi_test.py +0 -76
  465. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/colorama/tests/ansitowin32_test.py +0 -294
  466. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/colorama/tests/initialise_test.py +0 -189
  467. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/colorama/tests/isatty_test.py +0 -57
  468. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/colorama/tests/utils.py +0 -49
  469. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/colorama/tests/winterm_test.py +0 -131
  470. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/colorama/win32.py +0 -180
  471. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/colorama/winterm.py +0 -195
  472. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/distlib/__init__.py +0 -33
  473. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/distlib/__pycache__/__init__.cpython-312.pyc +0 -0
  474. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/distlib/__pycache__/compat.cpython-312.pyc +0 -0
  475. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/distlib/__pycache__/database.cpython-312.pyc +0 -0
  476. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/distlib/__pycache__/index.cpython-312.pyc +0 -0
  477. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/distlib/__pycache__/locators.cpython-312.pyc +0 -0
  478. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/distlib/__pycache__/manifest.cpython-312.pyc +0 -0
  479. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/distlib/__pycache__/markers.cpython-312.pyc +0 -0
  480. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/distlib/__pycache__/metadata.cpython-312.pyc +0 -0
  481. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/distlib/__pycache__/resources.cpython-312.pyc +0 -0
  482. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/distlib/__pycache__/scripts.cpython-312.pyc +0 -0
  483. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/distlib/__pycache__/util.cpython-312.pyc +0 -0
  484. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/distlib/__pycache__/version.cpython-312.pyc +0 -0
  485. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/distlib/__pycache__/wheel.cpython-312.pyc +0 -0
  486. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/distlib/compat.py +0 -1138
  487. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/distlib/database.py +0 -1359
  488. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/distlib/index.py +0 -508
  489. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/distlib/locators.py +0 -1303
  490. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/distlib/manifest.py +0 -384
  491. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/distlib/markers.py +0 -167
  492. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/distlib/metadata.py +0 -1068
  493. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/distlib/resources.py +0 -358
  494. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/distlib/scripts.py +0 -452
  495. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/distlib/util.py +0 -2025
  496. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/distlib/version.py +0 -751
  497. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/distlib/wheel.py +0 -1099
  498. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/distro/__init__.py +0 -54
  499. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/distro/__main__.py +0 -4
  500. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/distro/__pycache__/__init__.cpython-312.pyc +0 -0
  501. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/distro/__pycache__/__main__.cpython-312.pyc +0 -0
  502. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/distro/__pycache__/distro.cpython-312.pyc +0 -0
  503. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/distro/distro.py +0 -1399
  504. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/idna/__init__.py +0 -44
  505. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/idna/__pycache__/__init__.cpython-312.pyc +0 -0
  506. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/idna/__pycache__/codec.cpython-312.pyc +0 -0
  507. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/idna/__pycache__/compat.cpython-312.pyc +0 -0
  508. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/idna/__pycache__/core.cpython-312.pyc +0 -0
  509. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/idna/__pycache__/idnadata.cpython-312.pyc +0 -0
  510. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/idna/__pycache__/intranges.cpython-312.pyc +0 -0
  511. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/idna/__pycache__/package_data.cpython-312.pyc +0 -0
  512. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/idna/__pycache__/uts46data.cpython-312.pyc +0 -0
  513. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/idna/codec.py +0 -112
  514. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/idna/compat.py +0 -13
  515. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/idna/core.py +0 -400
  516. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/idna/idnadata.py +0 -4246
  517. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/idna/intranges.py +0 -54
  518. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/idna/package_data.py +0 -2
  519. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/idna/uts46data.py +0 -8600
  520. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/msgpack/__init__.py +0 -57
  521. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/msgpack/__pycache__/__init__.cpython-312.pyc +0 -0
  522. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/msgpack/__pycache__/exceptions.cpython-312.pyc +0 -0
  523. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/msgpack/__pycache__/ext.cpython-312.pyc +0 -0
  524. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/msgpack/__pycache__/fallback.cpython-312.pyc +0 -0
  525. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/msgpack/exceptions.py +0 -48
  526. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/msgpack/ext.py +0 -193
  527. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/msgpack/fallback.py +0 -1010
  528. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/packaging/__about__.py +0 -26
  529. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/packaging/__init__.py +0 -25
  530. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/packaging/__pycache__/__about__.cpython-312.pyc +0 -0
  531. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/packaging/__pycache__/__init__.cpython-312.pyc +0 -0
  532. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/packaging/__pycache__/_manylinux.cpython-312.pyc +0 -0
  533. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/packaging/__pycache__/_musllinux.cpython-312.pyc +0 -0
  534. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/packaging/__pycache__/_structures.cpython-312.pyc +0 -0
  535. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/packaging/__pycache__/markers.cpython-312.pyc +0 -0
  536. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/packaging/__pycache__/requirements.cpython-312.pyc +0 -0
  537. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/packaging/__pycache__/specifiers.cpython-312.pyc +0 -0
  538. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/packaging/__pycache__/tags.cpython-312.pyc +0 -0
  539. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/packaging/__pycache__/utils.cpython-312.pyc +0 -0
  540. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/packaging/__pycache__/version.cpython-312.pyc +0 -0
  541. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/packaging/_manylinux.py +0 -301
  542. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/packaging/_musllinux.py +0 -136
  543. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/packaging/_structures.py +0 -61
  544. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/packaging/markers.py +0 -304
  545. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/packaging/requirements.py +0 -146
  546. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/packaging/specifiers.py +0 -802
  547. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/packaging/tags.py +0 -487
  548. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/packaging/utils.py +0 -136
  549. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/packaging/version.py +0 -504
  550. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/pkg_resources/__init__.py +0 -3361
  551. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/pkg_resources/__pycache__/__init__.cpython-312.pyc +0 -0
  552. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/platformdirs/__init__.py +0 -566
  553. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/platformdirs/__main__.py +0 -53
  554. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/platformdirs/__pycache__/__init__.cpython-312.pyc +0 -0
  555. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/platformdirs/__pycache__/__main__.cpython-312.pyc +0 -0
  556. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/platformdirs/__pycache__/android.cpython-312.pyc +0 -0
  557. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/platformdirs/__pycache__/api.cpython-312.pyc +0 -0
  558. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/platformdirs/__pycache__/macos.cpython-312.pyc +0 -0
  559. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/platformdirs/__pycache__/unix.cpython-312.pyc +0 -0
  560. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/platformdirs/__pycache__/version.cpython-312.pyc +0 -0
  561. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/platformdirs/__pycache__/windows.cpython-312.pyc +0 -0
  562. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/platformdirs/android.py +0 -210
  563. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/platformdirs/api.py +0 -223
  564. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/platformdirs/macos.py +0 -91
  565. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/platformdirs/unix.py +0 -223
  566. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/platformdirs/version.py +0 -4
  567. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/platformdirs/windows.py +0 -255
  568. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/pygments/__init__.py +0 -82
  569. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/pygments/__main__.py +0 -17
  570. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/pygments/__pycache__/__init__.cpython-312.pyc +0 -0
  571. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/pygments/__pycache__/__main__.cpython-312.pyc +0 -0
  572. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/pygments/__pycache__/cmdline.cpython-312.pyc +0 -0
  573. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/pygments/__pycache__/console.cpython-312.pyc +0 -0
  574. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/pygments/__pycache__/filter.cpython-312.pyc +0 -0
  575. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/pygments/__pycache__/formatter.cpython-312.pyc +0 -0
  576. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/pygments/__pycache__/lexer.cpython-312.pyc +0 -0
  577. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/pygments/__pycache__/modeline.cpython-312.pyc +0 -0
  578. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/pygments/__pycache__/plugin.cpython-312.pyc +0 -0
  579. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/pygments/__pycache__/regexopt.cpython-312.pyc +0 -0
  580. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/pygments/__pycache__/scanner.cpython-312.pyc +0 -0
  581. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/pygments/__pycache__/sphinxext.cpython-312.pyc +0 -0
  582. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/pygments/__pycache__/style.cpython-312.pyc +0 -0
  583. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/pygments/__pycache__/token.cpython-312.pyc +0 -0
  584. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/pygments/__pycache__/unistring.cpython-312.pyc +0 -0
  585. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/pygments/__pycache__/util.cpython-312.pyc +0 -0
  586. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/pygments/cmdline.py +0 -668
  587. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/pygments/console.py +0 -70
  588. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/pygments/filter.py +0 -71
  589. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/pygments/filters/__init__.py +0 -940
  590. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/pygments/filters/__pycache__/__init__.cpython-312.pyc +0 -0
  591. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/pygments/formatter.py +0 -124
  592. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/pygments/formatters/__init__.py +0 -158
  593. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/pygments/formatters/__pycache__/__init__.cpython-312.pyc +0 -0
  594. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/pygments/formatters/__pycache__/_mapping.cpython-312.pyc +0 -0
  595. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/pygments/formatters/__pycache__/bbcode.cpython-312.pyc +0 -0
  596. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/pygments/formatters/__pycache__/groff.cpython-312.pyc +0 -0
  597. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/pygments/formatters/__pycache__/html.cpython-312.pyc +0 -0
  598. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/pygments/formatters/__pycache__/img.cpython-312.pyc +0 -0
  599. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/pygments/formatters/__pycache__/irc.cpython-312.pyc +0 -0
  600. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/pygments/formatters/__pycache__/latex.cpython-312.pyc +0 -0
  601. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/pygments/formatters/__pycache__/other.cpython-312.pyc +0 -0
  602. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/pygments/formatters/__pycache__/pangomarkup.cpython-312.pyc +0 -0
  603. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/pygments/formatters/__pycache__/rtf.cpython-312.pyc +0 -0
  604. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/pygments/formatters/__pycache__/svg.cpython-312.pyc +0 -0
  605. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/pygments/formatters/__pycache__/terminal.cpython-312.pyc +0 -0
  606. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/pygments/formatters/__pycache__/terminal256.cpython-312.pyc +0 -0
  607. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/pygments/formatters/_mapping.py +0 -23
  608. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/pygments/formatters/bbcode.py +0 -108
  609. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/pygments/formatters/groff.py +0 -170
  610. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/pygments/formatters/html.py +0 -989
  611. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/pygments/formatters/img.py +0 -645
  612. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/pygments/formatters/irc.py +0 -154
  613. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/pygments/formatters/latex.py +0 -521
  614. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/pygments/formatters/other.py +0 -161
  615. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/pygments/formatters/pangomarkup.py +0 -83
  616. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/pygments/formatters/rtf.py +0 -146
  617. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/pygments/formatters/svg.py +0 -188
  618. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/pygments/formatters/terminal.py +0 -127
  619. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/pygments/formatters/terminal256.py +0 -338
  620. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/pygments/lexer.py +0 -943
  621. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/pygments/lexers/__init__.py +0 -362
  622. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/pygments/lexers/__pycache__/__init__.cpython-312.pyc +0 -0
  623. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/pygments/lexers/__pycache__/_mapping.cpython-312.pyc +0 -0
  624. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/pygments/lexers/__pycache__/python.cpython-312.pyc +0 -0
  625. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/pygments/lexers/_mapping.py +0 -559
  626. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/pygments/lexers/python.py +0 -1198
  627. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/pygments/modeline.py +0 -43
  628. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/pygments/plugin.py +0 -88
  629. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/pygments/regexopt.py +0 -91
  630. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/pygments/scanner.py +0 -104
  631. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/pygments/sphinxext.py +0 -217
  632. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/pygments/style.py +0 -197
  633. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/pygments/styles/__init__.py +0 -103
  634. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/pygments/styles/__pycache__/__init__.cpython-312.pyc +0 -0
  635. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/pygments/token.py +0 -213
  636. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/pygments/unistring.py +0 -153
  637. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/pygments/util.py +0 -330
  638. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/pyparsing/__init__.py +0 -322
  639. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/pyparsing/__pycache__/__init__.cpython-312.pyc +0 -0
  640. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/pyparsing/__pycache__/actions.cpython-312.pyc +0 -0
  641. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/pyparsing/__pycache__/common.cpython-312.pyc +0 -0
  642. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/pyparsing/__pycache__/core.cpython-312.pyc +0 -0
  643. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/pyparsing/__pycache__/exceptions.cpython-312.pyc +0 -0
  644. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/pyparsing/__pycache__/helpers.cpython-312.pyc +0 -0
  645. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/pyparsing/__pycache__/results.cpython-312.pyc +0 -0
  646. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/pyparsing/__pycache__/testing.cpython-312.pyc +0 -0
  647. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/pyparsing/__pycache__/unicode.cpython-312.pyc +0 -0
  648. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/pyparsing/__pycache__/util.cpython-312.pyc +0 -0
  649. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/pyparsing/actions.py +0 -217
  650. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/pyparsing/common.py +0 -432
  651. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/pyparsing/core.py +0 -6115
  652. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/pyparsing/diagram/__init__.py +0 -656
  653. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/pyparsing/diagram/__pycache__/__init__.cpython-312.pyc +0 -0
  654. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/pyparsing/exceptions.py +0 -299
  655. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/pyparsing/helpers.py +0 -1100
  656. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/pyparsing/results.py +0 -796
  657. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/pyparsing/testing.py +0 -331
  658. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/pyparsing/unicode.py +0 -361
  659. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/pyparsing/util.py +0 -284
  660. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/pyproject_hooks/__init__.py +0 -23
  661. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/pyproject_hooks/__pycache__/__init__.cpython-312.pyc +0 -0
  662. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/pyproject_hooks/__pycache__/_compat.cpython-312.pyc +0 -0
  663. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/pyproject_hooks/__pycache__/_impl.cpython-312.pyc +0 -0
  664. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/pyproject_hooks/_compat.py +0 -8
  665. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/pyproject_hooks/_impl.py +0 -330
  666. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/pyproject_hooks/_in_process/__init__.py +0 -18
  667. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/pyproject_hooks/_in_process/__pycache__/__init__.cpython-312.pyc +0 -0
  668. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/pyproject_hooks/_in_process/__pycache__/_in_process.cpython-312.pyc +0 -0
  669. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py +0 -353
  670. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/requests/__init__.py +0 -182
  671. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/requests/__pycache__/__init__.cpython-312.pyc +0 -0
  672. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/requests/__pycache__/__version__.cpython-312.pyc +0 -0
  673. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/requests/__pycache__/_internal_utils.cpython-312.pyc +0 -0
  674. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/requests/__pycache__/adapters.cpython-312.pyc +0 -0
  675. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/requests/__pycache__/api.cpython-312.pyc +0 -0
  676. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/requests/__pycache__/auth.cpython-312.pyc +0 -0
  677. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/requests/__pycache__/certs.cpython-312.pyc +0 -0
  678. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/requests/__pycache__/compat.cpython-312.pyc +0 -0
  679. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/requests/__pycache__/cookies.cpython-312.pyc +0 -0
  680. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/requests/__pycache__/exceptions.cpython-312.pyc +0 -0
  681. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/requests/__pycache__/help.cpython-312.pyc +0 -0
  682. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/requests/__pycache__/hooks.cpython-312.pyc +0 -0
  683. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/requests/__pycache__/models.cpython-312.pyc +0 -0
  684. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/requests/__pycache__/packages.cpython-312.pyc +0 -0
  685. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/requests/__pycache__/sessions.cpython-312.pyc +0 -0
  686. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/requests/__pycache__/status_codes.cpython-312.pyc +0 -0
  687. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/requests/__pycache__/structures.cpython-312.pyc +0 -0
  688. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/requests/__pycache__/utils.cpython-312.pyc +0 -0
  689. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/requests/__version__.py +0 -14
  690. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/requests/_internal_utils.py +0 -50
  691. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/requests/adapters.py +0 -538
  692. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/requests/api.py +0 -157
  693. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/requests/auth.py +0 -315
  694. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/requests/certs.py +0 -24
  695. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/requests/compat.py +0 -67
  696. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/requests/cookies.py +0 -561
  697. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/requests/exceptions.py +0 -141
  698. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/requests/help.py +0 -131
  699. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/requests/hooks.py +0 -33
  700. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/requests/models.py +0 -1034
  701. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/requests/packages.py +0 -16
  702. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/requests/sessions.py +0 -833
  703. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/requests/status_codes.py +0 -128
  704. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/requests/structures.py +0 -99
  705. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/requests/utils.py +0 -1088
  706. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/resolvelib/__init__.py +0 -26
  707. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/resolvelib/__pycache__/__init__.cpython-312.pyc +0 -0
  708. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/resolvelib/__pycache__/providers.cpython-312.pyc +0 -0
  709. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/resolvelib/__pycache__/reporters.cpython-312.pyc +0 -0
  710. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/resolvelib/__pycache__/resolvers.cpython-312.pyc +0 -0
  711. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/resolvelib/__pycache__/structs.cpython-312.pyc +0 -0
  712. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/resolvelib/compat/__init__.py +0 -0
  713. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/resolvelib/compat/__pycache__/__init__.cpython-312.pyc +0 -0
  714. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/resolvelib/compat/__pycache__/collections_abc.cpython-312.pyc +0 -0
  715. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/resolvelib/compat/collections_abc.py +0 -6
  716. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/resolvelib/providers.py +0 -133
  717. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/resolvelib/reporters.py +0 -43
  718. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/resolvelib/resolvers.py +0 -547
  719. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/resolvelib/structs.py +0 -170
  720. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/__init__.py +0 -177
  721. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/__main__.py +0 -274
  722. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/__init__.cpython-312.pyc +0 -0
  723. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/__main__.cpython-312.pyc +0 -0
  724. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/_cell_widths.cpython-312.pyc +0 -0
  725. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/_emoji_codes.cpython-312.pyc +0 -0
  726. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/_emoji_replace.cpython-312.pyc +0 -0
  727. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/_export_format.cpython-312.pyc +0 -0
  728. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/_extension.cpython-312.pyc +0 -0
  729. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/_fileno.cpython-312.pyc +0 -0
  730. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/_inspect.cpython-312.pyc +0 -0
  731. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/_log_render.cpython-312.pyc +0 -0
  732. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/_loop.cpython-312.pyc +0 -0
  733. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/_null_file.cpython-312.pyc +0 -0
  734. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/_palettes.cpython-312.pyc +0 -0
  735. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/_pick.cpython-312.pyc +0 -0
  736. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/_ratio.cpython-312.pyc +0 -0
  737. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/_spinners.cpython-312.pyc +0 -0
  738. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/_stack.cpython-312.pyc +0 -0
  739. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/_timer.cpython-312.pyc +0 -0
  740. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/_win32_console.cpython-312.pyc +0 -0
  741. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/_windows.cpython-312.pyc +0 -0
  742. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/_windows_renderer.cpython-312.pyc +0 -0
  743. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/_wrap.cpython-312.pyc +0 -0
  744. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/abc.cpython-312.pyc +0 -0
  745. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/align.cpython-312.pyc +0 -0
  746. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/ansi.cpython-312.pyc +0 -0
  747. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/bar.cpython-312.pyc +0 -0
  748. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/box.cpython-312.pyc +0 -0
  749. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/cells.cpython-312.pyc +0 -0
  750. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/color.cpython-312.pyc +0 -0
  751. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/color_triplet.cpython-312.pyc +0 -0
  752. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/columns.cpython-312.pyc +0 -0
  753. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/console.cpython-312.pyc +0 -0
  754. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/constrain.cpython-312.pyc +0 -0
  755. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/containers.cpython-312.pyc +0 -0
  756. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/control.cpython-312.pyc +0 -0
  757. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/default_styles.cpython-312.pyc +0 -0
  758. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/diagnose.cpython-312.pyc +0 -0
  759. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/emoji.cpython-312.pyc +0 -0
  760. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/errors.cpython-312.pyc +0 -0
  761. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/file_proxy.cpython-312.pyc +0 -0
  762. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/filesize.cpython-312.pyc +0 -0
  763. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/highlighter.cpython-312.pyc +0 -0
  764. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/json.cpython-312.pyc +0 -0
  765. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/jupyter.cpython-312.pyc +0 -0
  766. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/layout.cpython-312.pyc +0 -0
  767. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/live.cpython-312.pyc +0 -0
  768. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/live_render.cpython-312.pyc +0 -0
  769. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/logging.cpython-312.pyc +0 -0
  770. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/markup.cpython-312.pyc +0 -0
  771. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/measure.cpython-312.pyc +0 -0
  772. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/padding.cpython-312.pyc +0 -0
  773. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/pager.cpython-312.pyc +0 -0
  774. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/palette.cpython-312.pyc +0 -0
  775. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/panel.cpython-312.pyc +0 -0
  776. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/pretty.cpython-312.pyc +0 -0
  777. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/progress.cpython-312.pyc +0 -0
  778. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/progress_bar.cpython-312.pyc +0 -0
  779. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/prompt.cpython-312.pyc +0 -0
  780. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/protocol.cpython-312.pyc +0 -0
  781. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/region.cpython-312.pyc +0 -0
  782. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/repr.cpython-312.pyc +0 -0
  783. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/rule.cpython-312.pyc +0 -0
  784. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/scope.cpython-312.pyc +0 -0
  785. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/screen.cpython-312.pyc +0 -0
  786. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/segment.cpython-312.pyc +0 -0
  787. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/spinner.cpython-312.pyc +0 -0
  788. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/status.cpython-312.pyc +0 -0
  789. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/style.cpython-312.pyc +0 -0
  790. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/styled.cpython-312.pyc +0 -0
  791. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/syntax.cpython-312.pyc +0 -0
  792. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/table.cpython-312.pyc +0 -0
  793. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/terminal_theme.cpython-312.pyc +0 -0
  794. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/text.cpython-312.pyc +0 -0
  795. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/theme.cpython-312.pyc +0 -0
  796. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/themes.cpython-312.pyc +0 -0
  797. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/traceback.cpython-312.pyc +0 -0
  798. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/tree.cpython-312.pyc +0 -0
  799. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/_cell_widths.py +0 -451
  800. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/_emoji_codes.py +0 -3610
  801. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/_emoji_replace.py +0 -32
  802. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/_export_format.py +0 -76
  803. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/_extension.py +0 -10
  804. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/_fileno.py +0 -24
  805. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/_inspect.py +0 -270
  806. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/_log_render.py +0 -94
  807. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/_loop.py +0 -43
  808. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/_null_file.py +0 -69
  809. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/_palettes.py +0 -309
  810. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/_pick.py +0 -17
  811. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/_ratio.py +0 -160
  812. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/_spinners.py +0 -482
  813. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/_stack.py +0 -16
  814. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/_timer.py +0 -19
  815. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/_win32_console.py +0 -662
  816. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/_windows.py +0 -72
  817. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/_windows_renderer.py +0 -56
  818. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/_wrap.py +0 -56
  819. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/abc.py +0 -33
  820. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/align.py +0 -311
  821. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/ansi.py +0 -240
  822. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/bar.py +0 -94
  823. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/box.py +0 -517
  824. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/cells.py +0 -154
  825. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/color.py +0 -622
  826. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/color_triplet.py +0 -38
  827. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/columns.py +0 -187
  828. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/console.py +0 -2633
  829. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/constrain.py +0 -37
  830. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/containers.py +0 -167
  831. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/control.py +0 -225
  832. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/default_styles.py +0 -190
  833. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/diagnose.py +0 -37
  834. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/emoji.py +0 -96
  835. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/errors.py +0 -34
  836. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/file_proxy.py +0 -57
  837. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/filesize.py +0 -89
  838. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/highlighter.py +0 -232
  839. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/json.py +0 -140
  840. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/jupyter.py +0 -101
  841. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/layout.py +0 -443
  842. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/live.py +0 -375
  843. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/live_render.py +0 -113
  844. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/logging.py +0 -289
  845. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/markup.py +0 -246
  846. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/measure.py +0 -151
  847. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/padding.py +0 -141
  848. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/pager.py +0 -34
  849. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/palette.py +0 -100
  850. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/panel.py +0 -308
  851. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/pretty.py +0 -994
  852. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/progress.py +0 -1702
  853. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/progress_bar.py +0 -224
  854. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/prompt.py +0 -376
  855. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/protocol.py +0 -42
  856. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/region.py +0 -10
  857. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/repr.py +0 -149
  858. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/rule.py +0 -130
  859. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/scope.py +0 -86
  860. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/screen.py +0 -54
  861. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/segment.py +0 -739
  862. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/spinner.py +0 -137
  863. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/status.py +0 -132
  864. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/style.py +0 -796
  865. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/styled.py +0 -42
  866. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/syntax.py +0 -948
  867. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/table.py +0 -1002
  868. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/terminal_theme.py +0 -153
  869. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/text.py +0 -1307
  870. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/theme.py +0 -115
  871. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/themes.py +0 -5
  872. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/traceback.py +0 -756
  873. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/tree.py +0 -251
  874. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/six.py +0 -998
  875. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/tenacity/__init__.py +0 -608
  876. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/tenacity/__pycache__/__init__.cpython-312.pyc +0 -0
  877. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/tenacity/__pycache__/_asyncio.cpython-312.pyc +0 -0
  878. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/tenacity/__pycache__/_utils.cpython-312.pyc +0 -0
  879. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/tenacity/__pycache__/after.cpython-312.pyc +0 -0
  880. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/tenacity/__pycache__/before.cpython-312.pyc +0 -0
  881. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/tenacity/__pycache__/before_sleep.cpython-312.pyc +0 -0
  882. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/tenacity/__pycache__/nap.cpython-312.pyc +0 -0
  883. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/tenacity/__pycache__/retry.cpython-312.pyc +0 -0
  884. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/tenacity/__pycache__/stop.cpython-312.pyc +0 -0
  885. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/tenacity/__pycache__/tornadoweb.cpython-312.pyc +0 -0
  886. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/tenacity/__pycache__/wait.cpython-312.pyc +0 -0
  887. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/tenacity/_asyncio.py +0 -94
  888. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/tenacity/_utils.py +0 -76
  889. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/tenacity/after.py +0 -51
  890. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/tenacity/before.py +0 -46
  891. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/tenacity/before_sleep.py +0 -71
  892. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/tenacity/nap.py +0 -43
  893. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/tenacity/retry.py +0 -272
  894. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/tenacity/stop.py +0 -103
  895. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/tenacity/tornadoweb.py +0 -59
  896. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/tenacity/wait.py +0 -228
  897. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/tomli/__init__.py +0 -11
  898. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/tomli/__pycache__/__init__.cpython-312.pyc +0 -0
  899. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/tomli/__pycache__/_parser.cpython-312.pyc +0 -0
  900. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/tomli/__pycache__/_re.cpython-312.pyc +0 -0
  901. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/tomli/__pycache__/_types.cpython-312.pyc +0 -0
  902. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/tomli/_parser.py +0 -691
  903. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/tomli/_re.py +0 -107
  904. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/tomli/_types.py +0 -10
  905. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/truststore/__init__.py +0 -13
  906. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/truststore/__pycache__/__init__.cpython-312.pyc +0 -0
  907. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/truststore/__pycache__/_api.cpython-312.pyc +0 -0
  908. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/truststore/__pycache__/_macos.cpython-312.pyc +0 -0
  909. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/truststore/__pycache__/_openssl.cpython-312.pyc +0 -0
  910. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/truststore/__pycache__/_ssl_constants.cpython-312.pyc +0 -0
  911. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/truststore/__pycache__/_windows.cpython-312.pyc +0 -0
  912. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/truststore/_api.py +0 -302
  913. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/truststore/_macos.py +0 -501
  914. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/truststore/_openssl.py +0 -66
  915. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/truststore/_ssl_constants.py +0 -31
  916. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/truststore/_windows.py +0 -554
  917. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/typing_extensions.py +0 -3072
  918. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/urllib3/__init__.py +0 -102
  919. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/urllib3/__pycache__/__init__.cpython-312.pyc +0 -0
  920. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/urllib3/__pycache__/_collections.cpython-312.pyc +0 -0
  921. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/urllib3/__pycache__/_version.cpython-312.pyc +0 -0
  922. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/urllib3/__pycache__/connection.cpython-312.pyc +0 -0
  923. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/urllib3/__pycache__/connectionpool.cpython-312.pyc +0 -0
  924. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/urllib3/__pycache__/exceptions.cpython-312.pyc +0 -0
  925. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/urllib3/__pycache__/fields.cpython-312.pyc +0 -0
  926. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/urllib3/__pycache__/filepost.cpython-312.pyc +0 -0
  927. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/urllib3/__pycache__/poolmanager.cpython-312.pyc +0 -0
  928. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/urllib3/__pycache__/request.cpython-312.pyc +0 -0
  929. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/urllib3/__pycache__/response.cpython-312.pyc +0 -0
  930. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/urllib3/_collections.py +0 -355
  931. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/urllib3/_version.py +0 -2
  932. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/urllib3/connection.py +0 -572
  933. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/urllib3/connectionpool.py +0 -1137
  934. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/urllib3/contrib/__init__.py +0 -0
  935. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/urllib3/contrib/__pycache__/__init__.cpython-312.pyc +0 -0
  936. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/urllib3/contrib/__pycache__/_appengine_environ.cpython-312.pyc +0 -0
  937. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/urllib3/contrib/__pycache__/appengine.cpython-312.pyc +0 -0
  938. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/urllib3/contrib/__pycache__/ntlmpool.cpython-312.pyc +0 -0
  939. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/urllib3/contrib/__pycache__/pyopenssl.cpython-312.pyc +0 -0
  940. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/urllib3/contrib/__pycache__/securetransport.cpython-312.pyc +0 -0
  941. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/urllib3/contrib/__pycache__/socks.cpython-312.pyc +0 -0
  942. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/urllib3/contrib/_appengine_environ.py +0 -36
  943. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/urllib3/contrib/_securetransport/__init__.py +0 -0
  944. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/urllib3/contrib/_securetransport/__pycache__/__init__.cpython-312.pyc +0 -0
  945. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/urllib3/contrib/_securetransport/__pycache__/bindings.cpython-312.pyc +0 -0
  946. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/urllib3/contrib/_securetransport/__pycache__/low_level.cpython-312.pyc +0 -0
  947. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/urllib3/contrib/_securetransport/bindings.py +0 -519
  948. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/urllib3/contrib/_securetransport/low_level.py +0 -397
  949. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/urllib3/contrib/appengine.py +0 -314
  950. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/urllib3/contrib/ntlmpool.py +0 -130
  951. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/urllib3/contrib/pyopenssl.py +0 -518
  952. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/urllib3/contrib/securetransport.py +0 -921
  953. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/urllib3/contrib/socks.py +0 -216
  954. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/urllib3/exceptions.py +0 -323
  955. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/urllib3/fields.py +0 -274
  956. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/urllib3/filepost.py +0 -98
  957. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/urllib3/packages/__init__.py +0 -0
  958. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/urllib3/packages/__pycache__/__init__.cpython-312.pyc +0 -0
  959. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/urllib3/packages/__pycache__/six.cpython-312.pyc +0 -0
  960. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/urllib3/packages/backports/__init__.py +0 -0
  961. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/urllib3/packages/backports/__pycache__/__init__.cpython-312.pyc +0 -0
  962. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/urllib3/packages/backports/__pycache__/makefile.cpython-312.pyc +0 -0
  963. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/urllib3/packages/backports/__pycache__/weakref_finalize.cpython-312.pyc +0 -0
  964. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/urllib3/packages/backports/makefile.py +0 -51
  965. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/urllib3/packages/backports/weakref_finalize.py +0 -155
  966. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/urllib3/packages/six.py +0 -1076
  967. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/urllib3/poolmanager.py +0 -556
  968. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/urllib3/request.py +0 -191
  969. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/urllib3/response.py +0 -879
  970. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/urllib3/util/__init__.py +0 -49
  971. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/urllib3/util/__pycache__/__init__.cpython-312.pyc +0 -0
  972. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/urllib3/util/__pycache__/connection.cpython-312.pyc +0 -0
  973. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/urllib3/util/__pycache__/proxy.cpython-312.pyc +0 -0
  974. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/urllib3/util/__pycache__/queue.cpython-312.pyc +0 -0
  975. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/urllib3/util/__pycache__/request.cpython-312.pyc +0 -0
  976. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/urllib3/util/__pycache__/response.cpython-312.pyc +0 -0
  977. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/urllib3/util/__pycache__/retry.cpython-312.pyc +0 -0
  978. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/urllib3/util/__pycache__/ssl_.cpython-312.pyc +0 -0
  979. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/urllib3/util/__pycache__/ssl_match_hostname.cpython-312.pyc +0 -0
  980. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/urllib3/util/__pycache__/ssltransport.cpython-312.pyc +0 -0
  981. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/urllib3/util/__pycache__/timeout.cpython-312.pyc +0 -0
  982. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/urllib3/util/__pycache__/url.cpython-312.pyc +0 -0
  983. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/urllib3/util/__pycache__/wait.cpython-312.pyc +0 -0
  984. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/urllib3/util/connection.py +0 -149
  985. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/urllib3/util/proxy.py +0 -57
  986. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/urllib3/util/queue.py +0 -22
  987. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/urllib3/util/request.py +0 -137
  988. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/urllib3/util/response.py +0 -107
  989. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/urllib3/util/retry.py +0 -622
  990. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/urllib3/util/ssl_.py +0 -495
  991. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/urllib3/util/ssl_match_hostname.py +0 -159
  992. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/urllib3/util/ssltransport.py +0 -221
  993. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/urllib3/util/timeout.py +0 -271
  994. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/urllib3/util/url.py +0 -435
  995. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/urllib3/util/wait.py +0 -152
  996. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/vendor.txt +0 -24
  997. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/webencodings/__init__.py +0 -342
  998. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/webencodings/__pycache__/__init__.cpython-312.pyc +0 -0
  999. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/webencodings/__pycache__/labels.cpython-312.pyc +0 -0
  1000. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/webencodings/__pycache__/mklabels.cpython-312.pyc +0 -0
  1001. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/webencodings/__pycache__/tests.cpython-312.pyc +0 -0
  1002. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/webencodings/__pycache__/x_user_defined.cpython-312.pyc +0 -0
  1003. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/webencodings/labels.py +0 -231
  1004. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/webencodings/mklabels.py +0 -59
  1005. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/webencodings/tests.py +0 -153
  1006. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/webencodings/x_user_defined.py +0 -325
  1007. package/livro-final/venv/lib/python3.12/site-packages/pip/py.typed +0 -4
  1008. package/livro-final/venv/lib/python3.12/site-packages/pip-24.0.dist-info/AUTHORS.txt +0 -760
  1009. package/livro-final/venv/lib/python3.12/site-packages/pip-24.0.dist-info/INSTALLER +0 -1
  1010. package/livro-final/venv/lib/python3.12/site-packages/pip-24.0.dist-info/LICENSE.txt +0 -20
  1011. package/livro-final/venv/lib/python3.12/site-packages/pip-24.0.dist-info/METADATA +0 -88
  1012. package/livro-final/venv/lib/python3.12/site-packages/pip-24.0.dist-info/RECORD +0 -1005
  1013. package/livro-final/venv/lib/python3.12/site-packages/pip-24.0.dist-info/REQUESTED +0 -0
  1014. package/livro-final/venv/lib/python3.12/site-packages/pip-24.0.dist-info/WHEEL +0 -5
  1015. package/livro-final/venv/lib/python3.12/site-packages/pip-24.0.dist-info/entry_points.txt +0 -4
  1016. package/livro-final/venv/lib/python3.12/site-packages/pip-24.0.dist-info/top_level.txt +0 -1
  1017. package/livro-final/venv/pyvenv.cfg +0 -5
  1018. package/teste-injecao/main.tex +0 -62
  1019. package/teste-injecao/memory/memory.json +0 -22
  1020. package/teste-injecao/memory/schema.md +0 -18
@@ -1,1303 +0,0 @@
1
- # -*- coding: utf-8 -*-
2
- #
3
- # Copyright (C) 2012-2023 Vinay Sajip.
4
- # Licensed to the Python Software Foundation under a contributor agreement.
5
- # See LICENSE.txt and CONTRIBUTORS.txt.
6
- #
7
-
8
- import gzip
9
- from io import BytesIO
10
- import json
11
- import logging
12
- import os
13
- import posixpath
14
- import re
15
- try:
16
- import threading
17
- except ImportError: # pragma: no cover
18
- import dummy_threading as threading
19
- import zlib
20
-
21
- from . import DistlibException
22
- from .compat import (urljoin, urlparse, urlunparse, url2pathname, pathname2url,
23
- queue, quote, unescape, build_opener,
24
- HTTPRedirectHandler as BaseRedirectHandler, text_type,
25
- Request, HTTPError, URLError)
26
- from .database import Distribution, DistributionPath, make_dist
27
- from .metadata import Metadata, MetadataInvalidError
28
- from .util import (cached_property, ensure_slash, split_filename, get_project_data,
29
- parse_requirement, parse_name_and_version, ServerProxy,
30
- normalize_name)
31
- from .version import get_scheme, UnsupportedVersionError
32
- from .wheel import Wheel, is_compatible
33
-
34
- logger = logging.getLogger(__name__)
35
-
36
- HASHER_HASH = re.compile(r'^(\w+)=([a-f0-9]+)')
37
- CHARSET = re.compile(r';\s*charset\s*=\s*(.*)\s*$', re.I)
38
- HTML_CONTENT_TYPE = re.compile('text/html|application/x(ht)?ml')
39
- DEFAULT_INDEX = 'https://pypi.org/pypi'
40
-
41
-
42
- def get_all_distribution_names(url=None):
43
- """
44
- Return all distribution names known by an index.
45
- :param url: The URL of the index.
46
- :return: A list of all known distribution names.
47
- """
48
- if url is None:
49
- url = DEFAULT_INDEX
50
- client = ServerProxy(url, timeout=3.0)
51
- try:
52
- return client.list_packages()
53
- finally:
54
- client('close')()
55
-
56
-
57
- class RedirectHandler(BaseRedirectHandler):
58
- """
59
- A class to work around a bug in some Python 3.2.x releases.
60
- """
61
- # There's a bug in the base version for some 3.2.x
62
- # (e.g. 3.2.2 on Ubuntu Oneiric). If a Location header
63
- # returns e.g. /abc, it bails because it says the scheme ''
64
- # is bogus, when actually it should use the request's
65
- # URL for the scheme. See Python issue #13696.
66
- def http_error_302(self, req, fp, code, msg, headers):
67
- # Some servers (incorrectly) return multiple Location headers
68
- # (so probably same goes for URI). Use first header.
69
- newurl = None
70
- for key in ('location', 'uri'):
71
- if key in headers:
72
- newurl = headers[key]
73
- break
74
- if newurl is None: # pragma: no cover
75
- return
76
- urlparts = urlparse(newurl)
77
- if urlparts.scheme == '':
78
- newurl = urljoin(req.get_full_url(), newurl)
79
- if hasattr(headers, 'replace_header'):
80
- headers.replace_header(key, newurl)
81
- else:
82
- headers[key] = newurl
83
- return BaseRedirectHandler.http_error_302(self, req, fp, code, msg,
84
- headers)
85
-
86
- http_error_301 = http_error_303 = http_error_307 = http_error_302
87
-
88
-
89
- class Locator(object):
90
- """
91
- A base class for locators - things that locate distributions.
92
- """
93
- source_extensions = ('.tar.gz', '.tar.bz2', '.tar', '.zip', '.tgz', '.tbz')
94
- binary_extensions = ('.egg', '.exe', '.whl')
95
- excluded_extensions = ('.pdf',)
96
-
97
- # A list of tags indicating which wheels you want to match. The default
98
- # value of None matches against the tags compatible with the running
99
- # Python. If you want to match other values, set wheel_tags on a locator
100
- # instance to a list of tuples (pyver, abi, arch) which you want to match.
101
- wheel_tags = None
102
-
103
- downloadable_extensions = source_extensions + ('.whl',)
104
-
105
- def __init__(self, scheme='default'):
106
- """
107
- Initialise an instance.
108
- :param scheme: Because locators look for most recent versions, they
109
- need to know the version scheme to use. This specifies
110
- the current PEP-recommended scheme - use ``'legacy'``
111
- if you need to support existing distributions on PyPI.
112
- """
113
- self._cache = {}
114
- self.scheme = scheme
115
- # Because of bugs in some of the handlers on some of the platforms,
116
- # we use our own opener rather than just using urlopen.
117
- self.opener = build_opener(RedirectHandler())
118
- # If get_project() is called from locate(), the matcher instance
119
- # is set from the requirement passed to locate(). See issue #18 for
120
- # why this can be useful to know.
121
- self.matcher = None
122
- self.errors = queue.Queue()
123
-
124
- def get_errors(self):
125
- """
126
- Return any errors which have occurred.
127
- """
128
- result = []
129
- while not self.errors.empty(): # pragma: no cover
130
- try:
131
- e = self.errors.get(False)
132
- result.append(e)
133
- except self.errors.Empty:
134
- continue
135
- self.errors.task_done()
136
- return result
137
-
138
- def clear_errors(self):
139
- """
140
- Clear any errors which may have been logged.
141
- """
142
- # Just get the errors and throw them away
143
- self.get_errors()
144
-
145
- def clear_cache(self):
146
- self._cache.clear()
147
-
148
- def _get_scheme(self):
149
- return self._scheme
150
-
151
- def _set_scheme(self, value):
152
- self._scheme = value
153
-
154
- scheme = property(_get_scheme, _set_scheme)
155
-
156
- def _get_project(self, name):
157
- """
158
- For a given project, get a dictionary mapping available versions to Distribution
159
- instances.
160
-
161
- This should be implemented in subclasses.
162
-
163
- If called from a locate() request, self.matcher will be set to a
164
- matcher for the requirement to satisfy, otherwise it will be None.
165
- """
166
- raise NotImplementedError('Please implement in the subclass')
167
-
168
- def get_distribution_names(self):
169
- """
170
- Return all the distribution names known to this locator.
171
- """
172
- raise NotImplementedError('Please implement in the subclass')
173
-
174
- def get_project(self, name):
175
- """
176
- For a given project, get a dictionary mapping available versions to Distribution
177
- instances.
178
-
179
- This calls _get_project to do all the work, and just implements a caching layer on top.
180
- """
181
- if self._cache is None: # pragma: no cover
182
- result = self._get_project(name)
183
- elif name in self._cache:
184
- result = self._cache[name]
185
- else:
186
- self.clear_errors()
187
- result = self._get_project(name)
188
- self._cache[name] = result
189
- return result
190
-
191
- def score_url(self, url):
192
- """
193
- Give an url a score which can be used to choose preferred URLs
194
- for a given project release.
195
- """
196
- t = urlparse(url)
197
- basename = posixpath.basename(t.path)
198
- compatible = True
199
- is_wheel = basename.endswith('.whl')
200
- is_downloadable = basename.endswith(self.downloadable_extensions)
201
- if is_wheel:
202
- compatible = is_compatible(Wheel(basename), self.wheel_tags)
203
- return (t.scheme == 'https', 'pypi.org' in t.netloc,
204
- is_downloadable, is_wheel, compatible, basename)
205
-
206
- def prefer_url(self, url1, url2):
207
- """
208
- Choose one of two URLs where both are candidates for distribution
209
- archives for the same version of a distribution (for example,
210
- .tar.gz vs. zip).
211
-
212
- The current implementation favours https:// URLs over http://, archives
213
- from PyPI over those from other locations, wheel compatibility (if a
214
- wheel) and then the archive name.
215
- """
216
- result = url2
217
- if url1:
218
- s1 = self.score_url(url1)
219
- s2 = self.score_url(url2)
220
- if s1 > s2:
221
- result = url1
222
- if result != url2:
223
- logger.debug('Not replacing %r with %r', url1, url2)
224
- else:
225
- logger.debug('Replacing %r with %r', url1, url2)
226
- return result
227
-
228
- def split_filename(self, filename, project_name):
229
- """
230
- Attempt to split a filename in project name, version and Python version.
231
- """
232
- return split_filename(filename, project_name)
233
-
234
- def convert_url_to_download_info(self, url, project_name):
235
- """
236
- See if a URL is a candidate for a download URL for a project (the URL
237
- has typically been scraped from an HTML page).
238
-
239
- If it is, a dictionary is returned with keys "name", "version",
240
- "filename" and "url"; otherwise, None is returned.
241
- """
242
- def same_project(name1, name2):
243
- return normalize_name(name1) == normalize_name(name2)
244
-
245
- result = None
246
- scheme, netloc, path, params, query, frag = urlparse(url)
247
- if frag.lower().startswith('egg='): # pragma: no cover
248
- logger.debug('%s: version hint in fragment: %r',
249
- project_name, frag)
250
- m = HASHER_HASH.match(frag)
251
- if m:
252
- algo, digest = m.groups()
253
- else:
254
- algo, digest = None, None
255
- origpath = path
256
- if path and path[-1] == '/': # pragma: no cover
257
- path = path[:-1]
258
- if path.endswith('.whl'):
259
- try:
260
- wheel = Wheel(path)
261
- if not is_compatible(wheel, self.wheel_tags):
262
- logger.debug('Wheel not compatible: %s', path)
263
- else:
264
- if project_name is None:
265
- include = True
266
- else:
267
- include = same_project(wheel.name, project_name)
268
- if include:
269
- result = {
270
- 'name': wheel.name,
271
- 'version': wheel.version,
272
- 'filename': wheel.filename,
273
- 'url': urlunparse((scheme, netloc, origpath,
274
- params, query, '')),
275
- 'python-version': ', '.join(
276
- ['.'.join(list(v[2:])) for v in wheel.pyver]),
277
- }
278
- except Exception: # pragma: no cover
279
- logger.warning('invalid path for wheel: %s', path)
280
- elif not path.endswith(self.downloadable_extensions): # pragma: no cover
281
- logger.debug('Not downloadable: %s', path)
282
- else: # downloadable extension
283
- path = filename = posixpath.basename(path)
284
- for ext in self.downloadable_extensions:
285
- if path.endswith(ext):
286
- path = path[:-len(ext)]
287
- t = self.split_filename(path, project_name)
288
- if not t: # pragma: no cover
289
- logger.debug('No match for project/version: %s', path)
290
- else:
291
- name, version, pyver = t
292
- if not project_name or same_project(project_name, name):
293
- result = {
294
- 'name': name,
295
- 'version': version,
296
- 'filename': filename,
297
- 'url': urlunparse((scheme, netloc, origpath,
298
- params, query, '')),
299
- }
300
- if pyver: # pragma: no cover
301
- result['python-version'] = pyver
302
- break
303
- if result and algo:
304
- result['%s_digest' % algo] = digest
305
- return result
306
-
307
- def _get_digest(self, info):
308
- """
309
- Get a digest from a dictionary by looking at a "digests" dictionary
310
- or keys of the form 'algo_digest'.
311
-
312
- Returns a 2-tuple (algo, digest) if found, else None. Currently
313
- looks only for SHA256, then MD5.
314
- """
315
- result = None
316
- if 'digests' in info:
317
- digests = info['digests']
318
- for algo in ('sha256', 'md5'):
319
- if algo in digests:
320
- result = (algo, digests[algo])
321
- break
322
- if not result:
323
- for algo in ('sha256', 'md5'):
324
- key = '%s_digest' % algo
325
- if key in info:
326
- result = (algo, info[key])
327
- break
328
- return result
329
-
330
- def _update_version_data(self, result, info):
331
- """
332
- Update a result dictionary (the final result from _get_project) with a
333
- dictionary for a specific version, which typically holds information
334
- gleaned from a filename or URL for an archive for the distribution.
335
- """
336
- name = info.pop('name')
337
- version = info.pop('version')
338
- if version in result:
339
- dist = result[version]
340
- md = dist.metadata
341
- else:
342
- dist = make_dist(name, version, scheme=self.scheme)
343
- md = dist.metadata
344
- dist.digest = digest = self._get_digest(info)
345
- url = info['url']
346
- result['digests'][url] = digest
347
- if md.source_url != info['url']:
348
- md.source_url = self.prefer_url(md.source_url, url)
349
- result['urls'].setdefault(version, set()).add(url)
350
- dist.locator = self
351
- result[version] = dist
352
-
353
- def locate(self, requirement, prereleases=False):
354
- """
355
- Find the most recent distribution which matches the given
356
- requirement.
357
-
358
- :param requirement: A requirement of the form 'foo (1.0)' or perhaps
359
- 'foo (>= 1.0, < 2.0, != 1.3)'
360
- :param prereleases: If ``True``, allow pre-release versions
361
- to be located. Otherwise, pre-release versions
362
- are not returned.
363
- :return: A :class:`Distribution` instance, or ``None`` if no such
364
- distribution could be located.
365
- """
366
- result = None
367
- r = parse_requirement(requirement)
368
- if r is None: # pragma: no cover
369
- raise DistlibException('Not a valid requirement: %r' % requirement)
370
- scheme = get_scheme(self.scheme)
371
- self.matcher = matcher = scheme.matcher(r.requirement)
372
- logger.debug('matcher: %s (%s)', matcher, type(matcher).__name__)
373
- versions = self.get_project(r.name)
374
- if len(versions) > 2: # urls and digests keys are present
375
- # sometimes, versions are invalid
376
- slist = []
377
- vcls = matcher.version_class
378
- for k in versions:
379
- if k in ('urls', 'digests'):
380
- continue
381
- try:
382
- if not matcher.match(k):
383
- pass # logger.debug('%s did not match %r', matcher, k)
384
- else:
385
- if prereleases or not vcls(k).is_prerelease:
386
- slist.append(k)
387
- except Exception: # pragma: no cover
388
- logger.warning('error matching %s with %r', matcher, k)
389
- pass # slist.append(k)
390
- if len(slist) > 1:
391
- slist = sorted(slist, key=scheme.key)
392
- if slist:
393
- logger.debug('sorted list: %s', slist)
394
- version = slist[-1]
395
- result = versions[version]
396
- if result:
397
- if r.extras:
398
- result.extras = r.extras
399
- result.download_urls = versions.get('urls', {}).get(version, set())
400
- d = {}
401
- sd = versions.get('digests', {})
402
- for url in result.download_urls:
403
- if url in sd: # pragma: no cover
404
- d[url] = sd[url]
405
- result.digests = d
406
- self.matcher = None
407
- return result
408
-
409
-
410
- class PyPIRPCLocator(Locator):
411
- """
412
- This locator uses XML-RPC to locate distributions. It therefore
413
- cannot be used with simple mirrors (that only mirror file content).
414
- """
415
- def __init__(self, url, **kwargs):
416
- """
417
- Initialise an instance.
418
-
419
- :param url: The URL to use for XML-RPC.
420
- :param kwargs: Passed to the superclass constructor.
421
- """
422
- super(PyPIRPCLocator, self).__init__(**kwargs)
423
- self.base_url = url
424
- self.client = ServerProxy(url, timeout=3.0)
425
-
426
- def get_distribution_names(self):
427
- """
428
- Return all the distribution names known to this locator.
429
- """
430
- return set(self.client.list_packages())
431
-
432
- def _get_project(self, name):
433
- result = {'urls': {}, 'digests': {}}
434
- versions = self.client.package_releases(name, True)
435
- for v in versions:
436
- urls = self.client.release_urls(name, v)
437
- data = self.client.release_data(name, v)
438
- metadata = Metadata(scheme=self.scheme)
439
- metadata.name = data['name']
440
- metadata.version = data['version']
441
- metadata.license = data.get('license')
442
- metadata.keywords = data.get('keywords', [])
443
- metadata.summary = data.get('summary')
444
- dist = Distribution(metadata)
445
- if urls:
446
- info = urls[0]
447
- metadata.source_url = info['url']
448
- dist.digest = self._get_digest(info)
449
- dist.locator = self
450
- result[v] = dist
451
- for info in urls:
452
- url = info['url']
453
- digest = self._get_digest(info)
454
- result['urls'].setdefault(v, set()).add(url)
455
- result['digests'][url] = digest
456
- return result
457
-
458
-
459
- class PyPIJSONLocator(Locator):
460
- """
461
- This locator uses PyPI's JSON interface. It's very limited in functionality
462
- and probably not worth using.
463
- """
464
- def __init__(self, url, **kwargs):
465
- super(PyPIJSONLocator, self).__init__(**kwargs)
466
- self.base_url = ensure_slash(url)
467
-
468
- def get_distribution_names(self):
469
- """
470
- Return all the distribution names known to this locator.
471
- """
472
- raise NotImplementedError('Not available from this locator')
473
-
474
- def _get_project(self, name):
475
- result = {'urls': {}, 'digests': {}}
476
- url = urljoin(self.base_url, '%s/json' % quote(name))
477
- try:
478
- resp = self.opener.open(url)
479
- data = resp.read().decode() # for now
480
- d = json.loads(data)
481
- md = Metadata(scheme=self.scheme)
482
- data = d['info']
483
- md.name = data['name']
484
- md.version = data['version']
485
- md.license = data.get('license')
486
- md.keywords = data.get('keywords', [])
487
- md.summary = data.get('summary')
488
- dist = Distribution(md)
489
- dist.locator = self
490
- # urls = d['urls']
491
- result[md.version] = dist
492
- for info in d['urls']:
493
- url = info['url']
494
- dist.download_urls.add(url)
495
- dist.digests[url] = self._get_digest(info)
496
- result['urls'].setdefault(md.version, set()).add(url)
497
- result['digests'][url] = self._get_digest(info)
498
- # Now get other releases
499
- for version, infos in d['releases'].items():
500
- if version == md.version:
501
- continue # already done
502
- omd = Metadata(scheme=self.scheme)
503
- omd.name = md.name
504
- omd.version = version
505
- odist = Distribution(omd)
506
- odist.locator = self
507
- result[version] = odist
508
- for info in infos:
509
- url = info['url']
510
- odist.download_urls.add(url)
511
- odist.digests[url] = self._get_digest(info)
512
- result['urls'].setdefault(version, set()).add(url)
513
- result['digests'][url] = self._get_digest(info)
514
- # for info in urls:
515
- # md.source_url = info['url']
516
- # dist.digest = self._get_digest(info)
517
- # dist.locator = self
518
- # for info in urls:
519
- # url = info['url']
520
- # result['urls'].setdefault(md.version, set()).add(url)
521
- # result['digests'][url] = self._get_digest(info)
522
- except Exception as e:
523
- self.errors.put(text_type(e))
524
- logger.exception('JSON fetch failed: %s', e)
525
- return result
526
-
527
-
528
- class Page(object):
529
- """
530
- This class represents a scraped HTML page.
531
- """
532
- # The following slightly hairy-looking regex just looks for the contents of
533
- # an anchor link, which has an attribute "href" either immediately preceded
534
- # or immediately followed by a "rel" attribute. The attribute values can be
535
- # declared with double quotes, single quotes or no quotes - which leads to
536
- # the length of the expression.
537
- _href = re.compile("""
538
- (rel\\s*=\\s*(?:"(?P<rel1>[^"]*)"|'(?P<rel2>[^']*)'|(?P<rel3>[^>\\s\n]*))\\s+)?
539
- href\\s*=\\s*(?:"(?P<url1>[^"]*)"|'(?P<url2>[^']*)'|(?P<url3>[^>\\s\n]*))
540
- (\\s+rel\\s*=\\s*(?:"(?P<rel4>[^"]*)"|'(?P<rel5>[^']*)'|(?P<rel6>[^>\\s\n]*)))?
541
- """, re.I | re.S | re.X)
542
- _base = re.compile(r"""<base\s+href\s*=\s*['"]?([^'">]+)""", re.I | re.S)
543
-
544
- def __init__(self, data, url):
545
- """
546
- Initialise an instance with the Unicode page contents and the URL they
547
- came from.
548
- """
549
- self.data = data
550
- self.base_url = self.url = url
551
- m = self._base.search(self.data)
552
- if m:
553
- self.base_url = m.group(1)
554
-
555
- _clean_re = re.compile(r'[^a-z0-9$&+,/:;=?@.#%_\\|-]', re.I)
556
-
557
- @cached_property
558
- def links(self):
559
- """
560
- Return the URLs of all the links on a page together with information
561
- about their "rel" attribute, for determining which ones to treat as
562
- downloads and which ones to queue for further scraping.
563
- """
564
- def clean(url):
565
- "Tidy up an URL."
566
- scheme, netloc, path, params, query, frag = urlparse(url)
567
- return urlunparse((scheme, netloc, quote(path),
568
- params, query, frag))
569
-
570
- result = set()
571
- for match in self._href.finditer(self.data):
572
- d = match.groupdict('')
573
- rel = (d['rel1'] or d['rel2'] or d['rel3'] or
574
- d['rel4'] or d['rel5'] or d['rel6'])
575
- url = d['url1'] or d['url2'] or d['url3']
576
- url = urljoin(self.base_url, url)
577
- url = unescape(url)
578
- url = self._clean_re.sub(lambda m: '%%%2x' % ord(m.group(0)), url)
579
- result.add((url, rel))
580
- # We sort the result, hoping to bring the most recent versions
581
- # to the front
582
- result = sorted(result, key=lambda t: t[0], reverse=True)
583
- return result
584
-
585
-
586
- class SimpleScrapingLocator(Locator):
587
- """
588
- A locator which scrapes HTML pages to locate downloads for a distribution.
589
- This runs multiple threads to do the I/O; performance is at least as good
590
- as pip's PackageFinder, which works in an analogous fashion.
591
- """
592
-
593
- # These are used to deal with various Content-Encoding schemes.
594
- decoders = {
595
- 'deflate': zlib.decompress,
596
- 'gzip': lambda b: gzip.GzipFile(fileobj=BytesIO(b)).read(),
597
- 'none': lambda b: b,
598
- }
599
-
600
- def __init__(self, url, timeout=None, num_workers=10, **kwargs):
601
- """
602
- Initialise an instance.
603
- :param url: The root URL to use for scraping.
604
- :param timeout: The timeout, in seconds, to be applied to requests.
605
- This defaults to ``None`` (no timeout specified).
606
- :param num_workers: The number of worker threads you want to do I/O,
607
- This defaults to 10.
608
- :param kwargs: Passed to the superclass.
609
- """
610
- super(SimpleScrapingLocator, self).__init__(**kwargs)
611
- self.base_url = ensure_slash(url)
612
- self.timeout = timeout
613
- self._page_cache = {}
614
- self._seen = set()
615
- self._to_fetch = queue.Queue()
616
- self._bad_hosts = set()
617
- self.skip_externals = False
618
- self.num_workers = num_workers
619
- self._lock = threading.RLock()
620
- # See issue #45: we need to be resilient when the locator is used
621
- # in a thread, e.g. with concurrent.futures. We can't use self._lock
622
- # as it is for coordinating our internal threads - the ones created
623
- # in _prepare_threads.
624
- self._gplock = threading.RLock()
625
- self.platform_check = False # See issue #112
626
-
627
- def _prepare_threads(self):
628
- """
629
- Threads are created only when get_project is called, and terminate
630
- before it returns. They are there primarily to parallelise I/O (i.e.
631
- fetching web pages).
632
- """
633
- self._threads = []
634
- for i in range(self.num_workers):
635
- t = threading.Thread(target=self._fetch)
636
- t.daemon = True
637
- t.start()
638
- self._threads.append(t)
639
-
640
- def _wait_threads(self):
641
- """
642
- Tell all the threads to terminate (by sending a sentinel value) and
643
- wait for them to do so.
644
- """
645
- # Note that you need two loops, since you can't say which
646
- # thread will get each sentinel
647
- for t in self._threads:
648
- self._to_fetch.put(None) # sentinel
649
- for t in self._threads:
650
- t.join()
651
- self._threads = []
652
-
653
- def _get_project(self, name):
654
- result = {'urls': {}, 'digests': {}}
655
- with self._gplock:
656
- self.result = result
657
- self.project_name = name
658
- url = urljoin(self.base_url, '%s/' % quote(name))
659
- self._seen.clear()
660
- self._page_cache.clear()
661
- self._prepare_threads()
662
- try:
663
- logger.debug('Queueing %s', url)
664
- self._to_fetch.put(url)
665
- self._to_fetch.join()
666
- finally:
667
- self._wait_threads()
668
- del self.result
669
- return result
670
-
671
- platform_dependent = re.compile(r'\b(linux_(i\d86|x86_64|arm\w+)|'
672
- r'win(32|_amd64)|macosx_?\d+)\b', re.I)
673
-
674
- def _is_platform_dependent(self, url):
675
- """
676
- Does an URL refer to a platform-specific download?
677
- """
678
- return self.platform_dependent.search(url)
679
-
680
- def _process_download(self, url):
681
- """
682
- See if an URL is a suitable download for a project.
683
-
684
- If it is, register information in the result dictionary (for
685
- _get_project) about the specific version it's for.
686
-
687
- Note that the return value isn't actually used other than as a boolean
688
- value.
689
- """
690
- if self.platform_check and self._is_platform_dependent(url):
691
- info = None
692
- else:
693
- info = self.convert_url_to_download_info(url, self.project_name)
694
- logger.debug('process_download: %s -> %s', url, info)
695
- if info:
696
- with self._lock: # needed because self.result is shared
697
- self._update_version_data(self.result, info)
698
- return info
699
-
700
- def _should_queue(self, link, referrer, rel):
701
- """
702
- Determine whether a link URL from a referring page and with a
703
- particular "rel" attribute should be queued for scraping.
704
- """
705
- scheme, netloc, path, _, _, _ = urlparse(link)
706
- if path.endswith(self.source_extensions + self.binary_extensions +
707
- self.excluded_extensions):
708
- result = False
709
- elif self.skip_externals and not link.startswith(self.base_url):
710
- result = False
711
- elif not referrer.startswith(self.base_url):
712
- result = False
713
- elif rel not in ('homepage', 'download'):
714
- result = False
715
- elif scheme not in ('http', 'https', 'ftp'):
716
- result = False
717
- elif self._is_platform_dependent(link):
718
- result = False
719
- else:
720
- host = netloc.split(':', 1)[0]
721
- if host.lower() == 'localhost':
722
- result = False
723
- else:
724
- result = True
725
- logger.debug('should_queue: %s (%s) from %s -> %s', link, rel,
726
- referrer, result)
727
- return result
728
-
729
- def _fetch(self):
730
- """
731
- Get a URL to fetch from the work queue, get the HTML page, examine its
732
- links for download candidates and candidates for further scraping.
733
-
734
- This is a handy method to run in a thread.
735
- """
736
- while True:
737
- url = self._to_fetch.get()
738
- try:
739
- if url:
740
- page = self.get_page(url)
741
- if page is None: # e.g. after an error
742
- continue
743
- for link, rel in page.links:
744
- if link not in self._seen:
745
- try:
746
- self._seen.add(link)
747
- if (not self._process_download(link) and
748
- self._should_queue(link, url, rel)):
749
- logger.debug('Queueing %s from %s', link, url)
750
- self._to_fetch.put(link)
751
- except MetadataInvalidError: # e.g. invalid versions
752
- pass
753
- except Exception as e: # pragma: no cover
754
- self.errors.put(text_type(e))
755
- finally:
756
- # always do this, to avoid hangs :-)
757
- self._to_fetch.task_done()
758
- if not url:
759
- # logger.debug('Sentinel seen, quitting.')
760
- break
761
-
762
- def get_page(self, url):
763
- """
764
- Get the HTML for an URL, possibly from an in-memory cache.
765
-
766
- XXX TODO Note: this cache is never actually cleared. It's assumed that
767
- the data won't get stale over the lifetime of a locator instance (not
768
- necessarily true for the default_locator).
769
- """
770
- # http://peak.telecommunity.com/DevCenter/EasyInstall#package-index-api
771
- scheme, netloc, path, _, _, _ = urlparse(url)
772
- if scheme == 'file' and os.path.isdir(url2pathname(path)):
773
- url = urljoin(ensure_slash(url), 'index.html')
774
-
775
- if url in self._page_cache:
776
- result = self._page_cache[url]
777
- logger.debug('Returning %s from cache: %s', url, result)
778
- else:
779
- host = netloc.split(':', 1)[0]
780
- result = None
781
- if host in self._bad_hosts:
782
- logger.debug('Skipping %s due to bad host %s', url, host)
783
- else:
784
- req = Request(url, headers={'Accept-encoding': 'identity'})
785
- try:
786
- logger.debug('Fetching %s', url)
787
- resp = self.opener.open(req, timeout=self.timeout)
788
- logger.debug('Fetched %s', url)
789
- headers = resp.info()
790
- content_type = headers.get('Content-Type', '')
791
- if HTML_CONTENT_TYPE.match(content_type):
792
- final_url = resp.geturl()
793
- data = resp.read()
794
- encoding = headers.get('Content-Encoding')
795
- if encoding:
796
- decoder = self.decoders[encoding] # fail if not found
797
- data = decoder(data)
798
- encoding = 'utf-8'
799
- m = CHARSET.search(content_type)
800
- if m:
801
- encoding = m.group(1)
802
- try:
803
- data = data.decode(encoding)
804
- except UnicodeError: # pragma: no cover
805
- data = data.decode('latin-1') # fallback
806
- result = Page(data, final_url)
807
- self._page_cache[final_url] = result
808
- except HTTPError as e:
809
- if e.code != 404:
810
- logger.exception('Fetch failed: %s: %s', url, e)
811
- except URLError as e: # pragma: no cover
812
- logger.exception('Fetch failed: %s: %s', url, e)
813
- with self._lock:
814
- self._bad_hosts.add(host)
815
- except Exception as e: # pragma: no cover
816
- logger.exception('Fetch failed: %s: %s', url, e)
817
- finally:
818
- self._page_cache[url] = result # even if None (failure)
819
- return result
820
-
821
- _distname_re = re.compile('<a href=[^>]*>([^<]+)<')
822
-
823
- def get_distribution_names(self):
824
- """
825
- Return all the distribution names known to this locator.
826
- """
827
- result = set()
828
- page = self.get_page(self.base_url)
829
- if not page:
830
- raise DistlibException('Unable to get %s' % self.base_url)
831
- for match in self._distname_re.finditer(page.data):
832
- result.add(match.group(1))
833
- return result
834
-
835
-
836
- class DirectoryLocator(Locator):
837
- """
838
- This class locates distributions in a directory tree.
839
- """
840
-
841
- def __init__(self, path, **kwargs):
842
- """
843
- Initialise an instance.
844
- :param path: The root of the directory tree to search.
845
- :param kwargs: Passed to the superclass constructor,
846
- except for:
847
- * recursive - if True (the default), subdirectories are
848
- recursed into. If False, only the top-level directory
849
- is searched,
850
- """
851
- self.recursive = kwargs.pop('recursive', True)
852
- super(DirectoryLocator, self).__init__(**kwargs)
853
- path = os.path.abspath(path)
854
- if not os.path.isdir(path): # pragma: no cover
855
- raise DistlibException('Not a directory: %r' % path)
856
- self.base_dir = path
857
-
858
- def should_include(self, filename, parent):
859
- """
860
- Should a filename be considered as a candidate for a distribution
861
- archive? As well as the filename, the directory which contains it
862
- is provided, though not used by the current implementation.
863
- """
864
- return filename.endswith(self.downloadable_extensions)
865
-
866
- def _get_project(self, name):
867
- result = {'urls': {}, 'digests': {}}
868
- for root, dirs, files in os.walk(self.base_dir):
869
- for fn in files:
870
- if self.should_include(fn, root):
871
- fn = os.path.join(root, fn)
872
- url = urlunparse(('file', '',
873
- pathname2url(os.path.abspath(fn)),
874
- '', '', ''))
875
- info = self.convert_url_to_download_info(url, name)
876
- if info:
877
- self._update_version_data(result, info)
878
- if not self.recursive:
879
- break
880
- return result
881
-
882
- def get_distribution_names(self):
883
- """
884
- Return all the distribution names known to this locator.
885
- """
886
- result = set()
887
- for root, dirs, files in os.walk(self.base_dir):
888
- for fn in files:
889
- if self.should_include(fn, root):
890
- fn = os.path.join(root, fn)
891
- url = urlunparse(('file', '',
892
- pathname2url(os.path.abspath(fn)),
893
- '', '', ''))
894
- info = self.convert_url_to_download_info(url, None)
895
- if info:
896
- result.add(info['name'])
897
- if not self.recursive:
898
- break
899
- return result
900
-
901
-
902
- class JSONLocator(Locator):
903
- """
904
- This locator uses special extended metadata (not available on PyPI) and is
905
- the basis of performant dependency resolution in distlib. Other locators
906
- require archive downloads before dependencies can be determined! As you
907
- might imagine, that can be slow.
908
- """
909
- def get_distribution_names(self):
910
- """
911
- Return all the distribution names known to this locator.
912
- """
913
- raise NotImplementedError('Not available from this locator')
914
-
915
- def _get_project(self, name):
916
- result = {'urls': {}, 'digests': {}}
917
- data = get_project_data(name)
918
- if data:
919
- for info in data.get('files', []):
920
- if info['ptype'] != 'sdist' or info['pyversion'] != 'source':
921
- continue
922
- # We don't store summary in project metadata as it makes
923
- # the data bigger for no benefit during dependency
924
- # resolution
925
- dist = make_dist(data['name'], info['version'],
926
- summary=data.get('summary',
927
- 'Placeholder for summary'),
928
- scheme=self.scheme)
929
- md = dist.metadata
930
- md.source_url = info['url']
931
- # TODO SHA256 digest
932
- if 'digest' in info and info['digest']:
933
- dist.digest = ('md5', info['digest'])
934
- md.dependencies = info.get('requirements', {})
935
- dist.exports = info.get('exports', {})
936
- result[dist.version] = dist
937
- result['urls'].setdefault(dist.version, set()).add(info['url'])
938
- return result
939
-
940
-
941
- class DistPathLocator(Locator):
942
- """
943
- This locator finds installed distributions in a path. It can be useful for
944
- adding to an :class:`AggregatingLocator`.
945
- """
946
- def __init__(self, distpath, **kwargs):
947
- """
948
- Initialise an instance.
949
-
950
- :param distpath: A :class:`DistributionPath` instance to search.
951
- """
952
- super(DistPathLocator, self).__init__(**kwargs)
953
- assert isinstance(distpath, DistributionPath)
954
- self.distpath = distpath
955
-
956
- def _get_project(self, name):
957
- dist = self.distpath.get_distribution(name)
958
- if dist is None:
959
- result = {'urls': {}, 'digests': {}}
960
- else:
961
- result = {
962
- dist.version: dist,
963
- 'urls': {dist.version: set([dist.source_url])},
964
- 'digests': {dist.version: set([None])}
965
- }
966
- return result
967
-
968
-
969
- class AggregatingLocator(Locator):
970
- """
971
- This class allows you to chain and/or merge a list of locators.
972
- """
973
- def __init__(self, *locators, **kwargs):
974
- """
975
- Initialise an instance.
976
-
977
- :param locators: The list of locators to search.
978
- :param kwargs: Passed to the superclass constructor,
979
- except for:
980
- * merge - if False (the default), the first successful
981
- search from any of the locators is returned. If True,
982
- the results from all locators are merged (this can be
983
- slow).
984
- """
985
- self.merge = kwargs.pop('merge', False)
986
- self.locators = locators
987
- super(AggregatingLocator, self).__init__(**kwargs)
988
-
989
- def clear_cache(self):
990
- super(AggregatingLocator, self).clear_cache()
991
- for locator in self.locators:
992
- locator.clear_cache()
993
-
994
- def _set_scheme(self, value):
995
- self._scheme = value
996
- for locator in self.locators:
997
- locator.scheme = value
998
-
999
- scheme = property(Locator.scheme.fget, _set_scheme)
1000
-
1001
- def _get_project(self, name):
1002
- result = {}
1003
- for locator in self.locators:
1004
- d = locator.get_project(name)
1005
- if d:
1006
- if self.merge:
1007
- files = result.get('urls', {})
1008
- digests = result.get('digests', {})
1009
- # next line could overwrite result['urls'], result['digests']
1010
- result.update(d)
1011
- df = result.get('urls')
1012
- if files and df:
1013
- for k, v in files.items():
1014
- if k in df:
1015
- df[k] |= v
1016
- else:
1017
- df[k] = v
1018
- dd = result.get('digests')
1019
- if digests and dd:
1020
- dd.update(digests)
1021
- else:
1022
- # See issue #18. If any dists are found and we're looking
1023
- # for specific constraints, we only return something if
1024
- # a match is found. For example, if a DirectoryLocator
1025
- # returns just foo (1.0) while we're looking for
1026
- # foo (>= 2.0), we'll pretend there was nothing there so
1027
- # that subsequent locators can be queried. Otherwise we
1028
- # would just return foo (1.0) which would then lead to a
1029
- # failure to find foo (>= 2.0), because other locators
1030
- # weren't searched. Note that this only matters when
1031
- # merge=False.
1032
- if self.matcher is None:
1033
- found = True
1034
- else:
1035
- found = False
1036
- for k in d:
1037
- if self.matcher.match(k):
1038
- found = True
1039
- break
1040
- if found:
1041
- result = d
1042
- break
1043
- return result
1044
-
1045
- def get_distribution_names(self):
1046
- """
1047
- Return all the distribution names known to this locator.
1048
- """
1049
- result = set()
1050
- for locator in self.locators:
1051
- try:
1052
- result |= locator.get_distribution_names()
1053
- except NotImplementedError:
1054
- pass
1055
- return result
1056
-
1057
-
1058
- # We use a legacy scheme simply because most of the dists on PyPI use legacy
1059
- # versions which don't conform to PEP 440.
1060
- default_locator = AggregatingLocator(
1061
- # JSONLocator(), # don't use as PEP 426 is withdrawn
1062
- SimpleScrapingLocator('https://pypi.org/simple/',
1063
- timeout=3.0),
1064
- scheme='legacy')
1065
-
1066
- locate = default_locator.locate
1067
-
1068
-
1069
- class DependencyFinder(object):
1070
- """
1071
- Locate dependencies for distributions.
1072
- """
1073
-
1074
- def __init__(self, locator=None):
1075
- """
1076
- Initialise an instance, using the specified locator
1077
- to locate distributions.
1078
- """
1079
- self.locator = locator or default_locator
1080
- self.scheme = get_scheme(self.locator.scheme)
1081
-
1082
- def add_distribution(self, dist):
1083
- """
1084
- Add a distribution to the finder. This will update internal information
1085
- about who provides what.
1086
- :param dist: The distribution to add.
1087
- """
1088
- logger.debug('adding distribution %s', dist)
1089
- name = dist.key
1090
- self.dists_by_name[name] = dist
1091
- self.dists[(name, dist.version)] = dist
1092
- for p in dist.provides:
1093
- name, version = parse_name_and_version(p)
1094
- logger.debug('Add to provided: %s, %s, %s', name, version, dist)
1095
- self.provided.setdefault(name, set()).add((version, dist))
1096
-
1097
- def remove_distribution(self, dist):
1098
- """
1099
- Remove a distribution from the finder. This will update internal
1100
- information about who provides what.
1101
- :param dist: The distribution to remove.
1102
- """
1103
- logger.debug('removing distribution %s', dist)
1104
- name = dist.key
1105
- del self.dists_by_name[name]
1106
- del self.dists[(name, dist.version)]
1107
- for p in dist.provides:
1108
- name, version = parse_name_and_version(p)
1109
- logger.debug('Remove from provided: %s, %s, %s', name, version, dist)
1110
- s = self.provided[name]
1111
- s.remove((version, dist))
1112
- if not s:
1113
- del self.provided[name]
1114
-
1115
- def get_matcher(self, reqt):
1116
- """
1117
- Get a version matcher for a requirement.
1118
- :param reqt: The requirement
1119
- :type reqt: str
1120
- :return: A version matcher (an instance of
1121
- :class:`distlib.version.Matcher`).
1122
- """
1123
- try:
1124
- matcher = self.scheme.matcher(reqt)
1125
- except UnsupportedVersionError: # pragma: no cover
1126
- # XXX compat-mode if cannot read the version
1127
- name = reqt.split()[0]
1128
- matcher = self.scheme.matcher(name)
1129
- return matcher
1130
-
1131
- def find_providers(self, reqt):
1132
- """
1133
- Find the distributions which can fulfill a requirement.
1134
-
1135
- :param reqt: The requirement.
1136
- :type reqt: str
1137
- :return: A set of distribution which can fulfill the requirement.
1138
- """
1139
- matcher = self.get_matcher(reqt)
1140
- name = matcher.key # case-insensitive
1141
- result = set()
1142
- provided = self.provided
1143
- if name in provided:
1144
- for version, provider in provided[name]:
1145
- try:
1146
- match = matcher.match(version)
1147
- except UnsupportedVersionError:
1148
- match = False
1149
-
1150
- if match:
1151
- result.add(provider)
1152
- break
1153
- return result
1154
-
1155
- def try_to_replace(self, provider, other, problems):
1156
- """
1157
- Attempt to replace one provider with another. This is typically used
1158
- when resolving dependencies from multiple sources, e.g. A requires
1159
- (B >= 1.0) while C requires (B >= 1.1).
1160
-
1161
- For successful replacement, ``provider`` must meet all the requirements
1162
- which ``other`` fulfills.
1163
-
1164
- :param provider: The provider we are trying to replace with.
1165
- :param other: The provider we're trying to replace.
1166
- :param problems: If False is returned, this will contain what
1167
- problems prevented replacement. This is currently
1168
- a tuple of the literal string 'cantreplace',
1169
- ``provider``, ``other`` and the set of requirements
1170
- that ``provider`` couldn't fulfill.
1171
- :return: True if we can replace ``other`` with ``provider``, else
1172
- False.
1173
- """
1174
- rlist = self.reqts[other]
1175
- unmatched = set()
1176
- for s in rlist:
1177
- matcher = self.get_matcher(s)
1178
- if not matcher.match(provider.version):
1179
- unmatched.add(s)
1180
- if unmatched:
1181
- # can't replace other with provider
1182
- problems.add(('cantreplace', provider, other,
1183
- frozenset(unmatched)))
1184
- result = False
1185
- else:
1186
- # can replace other with provider
1187
- self.remove_distribution(other)
1188
- del self.reqts[other]
1189
- for s in rlist:
1190
- self.reqts.setdefault(provider, set()).add(s)
1191
- self.add_distribution(provider)
1192
- result = True
1193
- return result
1194
-
1195
- def find(self, requirement, meta_extras=None, prereleases=False):
1196
- """
1197
- Find a distribution and all distributions it depends on.
1198
-
1199
- :param requirement: The requirement specifying the distribution to
1200
- find, or a Distribution instance.
1201
- :param meta_extras: A list of meta extras such as :test:, :build: and
1202
- so on.
1203
- :param prereleases: If ``True``, allow pre-release versions to be
1204
- returned - otherwise, don't return prereleases
1205
- unless they're all that's available.
1206
-
1207
- Return a set of :class:`Distribution` instances and a set of
1208
- problems.
1209
-
1210
- The distributions returned should be such that they have the
1211
- :attr:`required` attribute set to ``True`` if they were
1212
- from the ``requirement`` passed to ``find()``, and they have the
1213
- :attr:`build_time_dependency` attribute set to ``True`` unless they
1214
- are post-installation dependencies of the ``requirement``.
1215
-
1216
- The problems should be a tuple consisting of the string
1217
- ``'unsatisfied'`` and the requirement which couldn't be satisfied
1218
- by any distribution known to the locator.
1219
- """
1220
-
1221
- self.provided = {}
1222
- self.dists = {}
1223
- self.dists_by_name = {}
1224
- self.reqts = {}
1225
-
1226
- meta_extras = set(meta_extras or [])
1227
- if ':*:' in meta_extras:
1228
- meta_extras.remove(':*:')
1229
- # :meta: and :run: are implicitly included
1230
- meta_extras |= set([':test:', ':build:', ':dev:'])
1231
-
1232
- if isinstance(requirement, Distribution):
1233
- dist = odist = requirement
1234
- logger.debug('passed %s as requirement', odist)
1235
- else:
1236
- dist = odist = self.locator.locate(requirement,
1237
- prereleases=prereleases)
1238
- if dist is None:
1239
- raise DistlibException('Unable to locate %r' % requirement)
1240
- logger.debug('located %s', odist)
1241
- dist.requested = True
1242
- problems = set()
1243
- todo = set([dist])
1244
- install_dists = set([odist])
1245
- while todo:
1246
- dist = todo.pop()
1247
- name = dist.key # case-insensitive
1248
- if name not in self.dists_by_name:
1249
- self.add_distribution(dist)
1250
- else:
1251
- # import pdb; pdb.set_trace()
1252
- other = self.dists_by_name[name]
1253
- if other != dist:
1254
- self.try_to_replace(dist, other, problems)
1255
-
1256
- ireqts = dist.run_requires | dist.meta_requires
1257
- sreqts = dist.build_requires
1258
- ereqts = set()
1259
- if meta_extras and dist in install_dists:
1260
- for key in ('test', 'build', 'dev'):
1261
- e = ':%s:' % key
1262
- if e in meta_extras:
1263
- ereqts |= getattr(dist, '%s_requires' % key)
1264
- all_reqts = ireqts | sreqts | ereqts
1265
- for r in all_reqts:
1266
- providers = self.find_providers(r)
1267
- if not providers:
1268
- logger.debug('No providers found for %r', r)
1269
- provider = self.locator.locate(r, prereleases=prereleases)
1270
- # If no provider is found and we didn't consider
1271
- # prereleases, consider them now.
1272
- if provider is None and not prereleases:
1273
- provider = self.locator.locate(r, prereleases=True)
1274
- if provider is None:
1275
- logger.debug('Cannot satisfy %r', r)
1276
- problems.add(('unsatisfied', r))
1277
- else:
1278
- n, v = provider.key, provider.version
1279
- if (n, v) not in self.dists:
1280
- todo.add(provider)
1281
- providers.add(provider)
1282
- if r in ireqts and dist in install_dists:
1283
- install_dists.add(provider)
1284
- logger.debug('Adding %s to install_dists',
1285
- provider.name_and_version)
1286
- for p in providers:
1287
- name = p.key
1288
- if name not in self.dists_by_name:
1289
- self.reqts.setdefault(p, set()).add(r)
1290
- else:
1291
- other = self.dists_by_name[name]
1292
- if other != p:
1293
- # see if other can be replaced by p
1294
- self.try_to_replace(p, other, problems)
1295
-
1296
- dists = set(self.dists.values())
1297
- for dist in dists:
1298
- dist.build_time_dependency = dist not in install_dists
1299
- if dist.build_time_dependency:
1300
- logger.debug('%s is a build-time dependency only.',
1301
- dist.name_and_version)
1302
- logger.debug('find done for %s', odist)
1303
- return dists, problems