From 70047ece4ad2dc7667a4e60a26b882993b1bed00 Mon Sep 17 00:00:00 2001 From: "ivan.rigo" <ivan.rigo@etu.hesge.ch> Date: Tue, 2 May 2023 11:37:45 +0200 Subject: [PATCH] Finished 5, 4 on forever hold --- .venv/bin/Activate.ps1 | 241 - .venv/bin/activate | 76 - .venv/bin/activate.csh | 37 - .venv/bin/activate.fish | 75 - .venv/bin/easy_install | 8 - .venv/bin/easy_install-3.8 | 8 - .venv/bin/pip | 8 - .venv/bin/pip3 | 8 - .venv/bin/pip3.8 | 8 - .venv/bin/python | 1 - .venv/bin/python3 | 1 - .../__pycache__/easy_install.cpython-38.pyc | Bin 281 -> 0 bytes .../python3.8/site-packages/easy_install.py | 5 - .../pip-20.0.2.dist-info/INSTALLER | 1 - .../pip-20.0.2.dist-info/LICENSE.txt | 20 - .../pip-20.0.2.dist-info/METADATA | 84 - .../site-packages/pip-20.0.2.dist-info/RECORD | 246 - .../site-packages/pip-20.0.2.dist-info/WHEEL | 6 - .../pip-20.0.2.dist-info/entry_points.txt | 5 - .../pip-20.0.2.dist-info/top_level.txt | 1 - .../python3.8/site-packages/pip/__init__.py | 18 - .../python3.8/site-packages/pip/__main__.py | 19 - .../pip/__pycache__/__init__.cpython-38.pyc | Bin 629 -> 0 bytes .../pip/__pycache__/__main__.cpython-38.pyc | Bin 422 -> 0 bytes .../site-packages/pip/_internal/__init__.py | 18 - .../__pycache__/__init__.cpython-38.pyc | Bin 678 -> 0 bytes .../__pycache__/build_env.cpython-38.pyc | Bin 7483 -> 0 bytes .../__pycache__/cache.cpython-38.pyc | Bin 8700 -> 0 bytes .../__pycache__/configuration.cpython-38.pyc | Bin 10645 -> 0 bytes .../__pycache__/exceptions.cpython-38.pyc | Bin 12482 -> 0 bytes .../__pycache__/legacy_resolve.cpython-38.pyc | Bin 9898 -> 0 bytes .../__pycache__/locations.cpython-38.pyc | Bin 4492 -> 0 bytes .../_internal/__pycache__/main.cpython-38.pyc | Bin 615 -> 0 bytes .../__pycache__/pep425tags.cpython-38.pyc | Bin 3584 -> 0 bytes .../__pycache__/pyproject.cpython-38.pyc | Bin 3732 -> 0 bytes .../self_outdated_check.cpython-38.pyc | Bin 5493 -> 0 bytes .../__pycache__/wheel_builder.cpython-38.pyc | Bin 6699 -> 0 bytes .../site-packages/pip/_internal/build_env.py | 221 - .../site-packages/pip/_internal/cache.py | 329 - .../pip/_internal/cli/__init__.py | 4 - .../cli/__pycache__/__init__.cpython-38.pyc | Bin 236 -> 0 bytes .../__pycache__/autocompletion.cpython-38.pyc | Bin 4953 -> 0 bytes .../__pycache__/base_command.cpython-38.pyc | Bin 5847 -> 0 bytes .../cli/__pycache__/cmdoptions.cpython-38.pyc | Bin 20328 -> 0 bytes .../command_context.cpython-38.pyc | Bin 1311 -> 0 bytes .../cli/__pycache__/main.cpython-38.pyc | Bin 1406 -> 0 bytes .../__pycache__/main_parser.cpython-38.pyc | Bin 2159 -> 0 bytes .../cli/__pycache__/parser.cpython-38.pyc | Bin 8977 -> 0 bytes .../__pycache__/req_command.cpython-38.pyc | Bin 8289 -> 0 bytes .../__pycache__/status_codes.cpython-38.pyc | Bin 365 -> 0 bytes .../pip/_internal/cli/autocompletion.py | 164 - .../pip/_internal/cli/base_command.py | 226 - .../pip/_internal/cli/cmdoptions.py | 957 --- .../pip/_internal/cli/command_context.py | 36 - .../site-packages/pip/_internal/cli/main.py | 75 - .../pip/_internal/cli/main_parser.py | 99 - .../site-packages/pip/_internal/cli/parser.py | 265 - .../pip/_internal/cli/req_command.py | 333 - .../pip/_internal/cli/status_codes.py | 8 - .../pip/_internal/commands/__init__.py | 114 - .../__pycache__/__init__.cpython-38.pyc | Bin 2852 -> 0 bytes .../commands/__pycache__/check.cpython-38.pyc | Bin 1312 -> 0 bytes .../__pycache__/completion.cpython-38.pyc | Bin 3013 -> 0 bytes .../__pycache__/configuration.cpython-38.pyc | Bin 6575 -> 0 bytes .../commands/__pycache__/debug.cpython-38.pyc | Bin 4089 -> 0 bytes .../__pycache__/download.cpython-38.pyc | Bin 3921 -> 0 bytes .../__pycache__/freeze.cpython-38.pyc | Bin 2929 -> 0 bytes .../commands/__pycache__/hash.cpython-38.pyc | Bin 1990 -> 0 bytes .../commands/__pycache__/help.cpython-38.pyc | Bin 1186 -> 0 bytes .../__pycache__/install.cpython-38.pyc | Bin 16661 -> 0 bytes .../commands/__pycache__/list.cpython-38.pyc | Bin 9042 -> 0 bytes .../__pycache__/search.cpython-38.pyc | Bin 4484 -> 0 bytes .../commands/__pycache__/show.cpython-38.pyc | Bin 6325 -> 0 bytes .../__pycache__/uninstall.cpython-38.pyc | Bin 2694 -> 0 bytes .../commands/__pycache__/wheel.cpython-38.pyc | Bin 5246 -> 0 bytes .../pip/_internal/commands/check.py | 45 - .../pip/_internal/commands/completion.py | 96 - .../pip/_internal/commands/configuration.py | 233 - .../pip/_internal/commands/debug.py | 142 - .../pip/_internal/commands/download.py | 147 - .../pip/_internal/commands/freeze.py | 103 - .../pip/_internal/commands/hash.py | 58 - .../pip/_internal/commands/help.py | 41 - .../pip/_internal/commands/install.py | 727 --- .../pip/_internal/commands/list.py | 315 - .../pip/_internal/commands/search.py | 145 - .../pip/_internal/commands/show.py | 180 - .../pip/_internal/commands/uninstall.py | 82 - .../pip/_internal/commands/wheel.py | 197 - .../pip/_internal/configuration.py | 422 -- .../pip/_internal/distributions/__init__.py | 24 - .../__pycache__/__init__.cpython-38.pyc | Bin 812 -> 0 bytes .../__pycache__/base.cpython-38.pyc | Bin 1928 -> 0 bytes .../__pycache__/installed.cpython-38.pyc | Bin 1208 -> 0 bytes .../__pycache__/sdist.cpython-38.pyc | Bin 3471 -> 0 bytes .../__pycache__/wheel.cpython-38.pyc | Bin 1560 -> 0 bytes .../pip/_internal/distributions/base.py | 45 - .../pip/_internal/distributions/installed.py | 24 - .../pip/_internal/distributions/sdist.py | 104 - .../pip/_internal/distributions/wheel.py | 36 - .../site-packages/pip/_internal/exceptions.py | 308 - .../pip/_internal/index/__init__.py | 2 - .../index/__pycache__/__init__.cpython-38.pyc | Bin 190 -> 0 bytes .../__pycache__/collector.cpython-38.pyc | Bin 14156 -> 0 bytes .../__pycache__/package_finder.cpython-38.pyc | Bin 25749 -> 0 bytes .../pip/_internal/index/collector.py | 544 -- .../pip/_internal/index/package_finder.py | 1013 --- .../pip/_internal/legacy_resolve.py | 430 -- .../site-packages/pip/_internal/locations.py | 194 - .../site-packages/pip/_internal/main.py | 16 - .../pip/_internal/models/__init__.py | 2 - .../__pycache__/__init__.cpython-38.pyc | Bin 224 -> 0 bytes .../__pycache__/candidate.cpython-38.pyc | Bin 1421 -> 0 bytes .../__pycache__/format_control.cpython-38.pyc | Bin 2416 -> 0 bytes .../models/__pycache__/index.cpython-38.pyc | Bin 1146 -> 0 bytes .../models/__pycache__/link.cpython-38.pyc | Bin 6659 -> 0 bytes .../models/__pycache__/scheme.cpython-38.pyc | Bin 862 -> 0 bytes .../__pycache__/search_scope.cpython-38.pyc | Bin 3253 -> 0 bytes .../selection_prefs.cpython-38.pyc | Bin 1596 -> 0 bytes .../__pycache__/target_python.cpython-38.pyc | Bin 3219 -> 0 bytes .../models/__pycache__/wheel.cpython-38.pyc | Bin 3182 -> 0 bytes .../pip/_internal/models/candidate.py | 36 - .../pip/_internal/models/format_control.py | 84 - .../pip/_internal/models/index.py | 31 - .../pip/_internal/models/link.py | 227 - .../pip/_internal/models/scheme.py | 25 - .../pip/_internal/models/search_scope.py | 114 - .../pip/_internal/models/selection_prefs.py | 47 - .../pip/_internal/models/target_python.py | 107 - .../pip/_internal/models/wheel.py | 78 - .../pip/_internal/network/__init__.py | 2 - .../__pycache__/__init__.cpython-38.pyc | Bin 212 -> 0 bytes .../network/__pycache__/auth.cpython-38.pyc | Bin 6978 -> 0 bytes .../network/__pycache__/cache.cpython-38.pyc | Bin 2691 -> 0 bytes .../__pycache__/download.cpython-38.pyc | Bin 4370 -> 0 bytes .../__pycache__/session.cpython-38.pyc | Bin 8851 -> 0 bytes .../network/__pycache__/utils.cpython-38.pyc | Bin 706 -> 0 bytes .../network/__pycache__/xmlrpc.cpython-38.pyc | Bin 1574 -> 0 bytes .../pip/_internal/network/auth.py | 298 - .../pip/_internal/network/cache.py | 81 - .../pip/_internal/network/download.py | 200 - .../pip/_internal/network/session.py | 405 -- .../pip/_internal/network/utils.py | 48 - .../pip/_internal/network/xmlrpc.py | 44 - .../pip/_internal/operations/__init__.py | 0 .../__pycache__/__init__.cpython-38.pyc | Bin 160 -> 0 bytes .../__pycache__/check.cpython-38.pyc | Bin 3656 -> 0 bytes .../__pycache__/freeze.cpython-38.pyc | Bin 5803 -> 0 bytes .../__pycache__/prepare.cpython-38.pyc | Bin 11162 -> 0 bytes .../_internal/operations/build/__init__.py | 0 .../build/__pycache__/__init__.cpython-38.pyc | Bin 166 -> 0 bytes .../build/__pycache__/metadata.cpython-38.pyc | Bin 1208 -> 0 bytes .../metadata_legacy.cpython-38.pyc | Bin 3268 -> 0 bytes .../build/__pycache__/wheel.cpython-38.pyc | Bin 1306 -> 0 bytes .../__pycache__/wheel_legacy.cpython-38.pyc | Bin 2567 -> 0 bytes .../_internal/operations/build/metadata.py | 40 - .../operations/build/metadata_legacy.py | 122 - .../pip/_internal/operations/build/wheel.py | 46 - .../operations/build/wheel_legacy.py | 115 - .../pip/_internal/operations/check.py | 163 - .../pip/_internal/operations/freeze.py | 265 - .../_internal/operations/install/__init__.py | 2 - .../__pycache__/__init__.cpython-38.pyc | Bin 224 -> 0 bytes .../editable_legacy.cpython-38.pyc | Bin 1302 -> 0 bytes .../install/__pycache__/legacy.cpython-38.pyc | Bin 3048 -> 0 bytes .../install/__pycache__/wheel.cpython-38.pyc | Bin 14582 -> 0 bytes .../operations/install/editable_legacy.py | 52 - .../_internal/operations/install/legacy.py | 129 - .../pip/_internal/operations/install/wheel.py | 615 -- .../pip/_internal/operations/prepare.py | 591 -- .../site-packages/pip/_internal/pep425tags.py | 167 - .../site-packages/pip/_internal/pyproject.py | 196 - .../pip/_internal/req/__init__.py | 92 - .../req/__pycache__/__init__.cpython-38.pyc | Bin 2194 -> 0 bytes .../__pycache__/constructors.cpython-38.pyc | Bin 10363 -> 0 bytes .../req/__pycache__/req_file.cpython-38.pyc | Bin 12702 -> 0 bytes .../__pycache__/req_install.cpython-38.pyc | Bin 21338 -> 0 bytes .../req/__pycache__/req_set.cpython-38.pyc | Bin 6021 -> 0 bytes .../__pycache__/req_tracker.cpython-38.pyc | Bin 4041 -> 0 bytes .../__pycache__/req_uninstall.cpython-38.pyc | Bin 17427 -> 0 bytes .../pip/_internal/req/constructors.py | 436 -- .../pip/_internal/req/req_file.py | 546 -- .../pip/_internal/req/req_install.py | 830 --- .../pip/_internal/req/req_set.py | 209 - .../pip/_internal/req/req_tracker.py | 150 - .../pip/_internal/req/req_uninstall.py | 644 -- .../pip/_internal/self_outdated_check.py | 242 - .../pip/_internal/utils/__init__.py | 0 .../utils/__pycache__/__init__.cpython-38.pyc | Bin 155 -> 0 bytes .../utils/__pycache__/appdirs.cpython-38.pyc | Bin 1351 -> 0 bytes .../utils/__pycache__/compat.cpython-38.pyc | Bin 6120 -> 0 bytes .../__pycache__/deprecation.cpython-38.pyc | Bin 2826 -> 0 bytes .../__pycache__/distutils_args.cpython-38.pyc | Bin 1139 -> 0 bytes .../utils/__pycache__/encoding.cpython-38.pyc | Bin 1247 -> 0 bytes .../__pycache__/entrypoints.cpython-38.pyc | Bin 1299 -> 0 bytes .../__pycache__/filesystem.cpython-38.pyc | Bin 4035 -> 0 bytes .../__pycache__/filetypes.cpython-38.pyc | Bin 556 -> 0 bytes .../utils/__pycache__/glibc.cpython-38.pyc | Bin 1708 -> 0 bytes .../utils/__pycache__/hashes.cpython-38.pyc | Bin 4144 -> 0 bytes .../inject_securetransport.cpython-38.pyc | Bin 932 -> 0 bytes .../utils/__pycache__/logging.cpython-38.pyc | Bin 9159 -> 0 bytes .../__pycache__/marker_files.cpython-38.pyc | Bin 928 -> 0 bytes .../utils/__pycache__/misc.cpython-38.pyc | Bin 23778 -> 0 bytes .../utils/__pycache__/models.cpython-38.pyc | Bin 1924 -> 0 bytes .../__pycache__/packaging.cpython-38.pyc | Bin 2608 -> 0 bytes .../__pycache__/pkg_resources.cpython-38.pyc | Bin 1822 -> 0 bytes .../setuptools_build.cpython-38.pyc | Bin 2927 -> 0 bytes .../__pycache__/subprocess.cpython-38.pyc | Bin 5598 -> 0 bytes .../utils/__pycache__/temp_dir.cpython-38.pyc | Bin 6711 -> 0 bytes .../utils/__pycache__/typing.cpython-38.pyc | Bin 1437 -> 0 bytes .../utils/__pycache__/ui.cpython-38.pyc | Bin 11802 -> 0 bytes .../__pycache__/unpacking.cpython-38.pyc | Bin 6075 -> 0 bytes .../utils/__pycache__/urls.cpython-38.pyc | Bin 1465 -> 0 bytes .../__pycache__/virtualenv.cpython-38.pyc | Bin 3280 -> 0 bytes .../utils/__pycache__/wheel.cpython-38.pyc | Bin 6325 -> 0 bytes .../pip/_internal/utils/appdirs.py | 44 - .../pip/_internal/utils/compat.py | 269 - .../pip/_internal/utils/deprecation.py | 104 - .../pip/_internal/utils/distutils_args.py | 48 - .../pip/_internal/utils/encoding.py | 42 - .../pip/_internal/utils/entrypoints.py | 31 - .../pip/_internal/utils/filesystem.py | 171 - .../pip/_internal/utils/filetypes.py | 16 - .../pip/_internal/utils/glibc.py | 98 - .../pip/_internal/utils/hashes.py | 131 - .../_internal/utils/inject_securetransport.py | 36 - .../pip/_internal/utils/logging.py | 398 -- .../pip/_internal/utils/marker_files.py | 25 - .../site-packages/pip/_internal/utils/misc.py | 904 --- .../pip/_internal/utils/models.py | 42 - .../pip/_internal/utils/packaging.py | 94 - .../pip/_internal/utils/pkg_resources.py | 44 - .../pip/_internal/utils/setuptools_build.py | 181 - .../pip/_internal/utils/subprocess.py | 278 - .../pip/_internal/utils/temp_dir.py | 250 - .../pip/_internal/utils/typing.py | 38 - .../site-packages/pip/_internal/utils/ui.py | 428 -- .../pip/_internal/utils/unpacking.py | 272 - .../site-packages/pip/_internal/utils/urls.py | 54 - .../pip/_internal/utils/virtualenv.py | 115 - .../pip/_internal/utils/wheel.py | 225 - .../pip/_internal/vcs/__init__.py | 15 - .../vcs/__pycache__/__init__.cpython-38.pyc | Bin 448 -> 0 bytes .../vcs/__pycache__/bazaar.cpython-38.pyc | Bin 3747 -> 0 bytes .../vcs/__pycache__/git.cpython-38.pyc | Bin 9559 -> 0 bytes .../vcs/__pycache__/mercurial.cpython-38.pyc | Bin 4888 -> 0 bytes .../vcs/__pycache__/subversion.cpython-38.pyc | Bin 8487 -> 0 bytes .../__pycache__/versioncontrol.cpython-38.pyc | Bin 19216 -> 0 bytes .../site-packages/pip/_internal/vcs/bazaar.py | 120 - .../site-packages/pip/_internal/vcs/git.py | 395 -- .../pip/_internal/vcs/mercurial.py | 155 - .../pip/_internal/vcs/subversion.py | 333 - .../pip/_internal/vcs/versioncontrol.py | 700 -- .../pip/_internal/wheel_builder.py | 305 - .../site-packages/pip/_vendor/__init__.py | 119 - .../__pycache__/__init__.cpython-38.pyc | Bin 3037 -> 0 bytes .../pkg_resources-0.0.0.dist-info/AUTHORS.txt | 562 -- .../pkg_resources-0.0.0.dist-info/INSTALLER | 1 - .../pkg_resources-0.0.0.dist-info/LICENSE.txt | 20 - .../pkg_resources-0.0.0.dist-info/METADATA | 13 - .../pkg_resources-0.0.0.dist-info/RECORD | 38 - .../pkg_resources-0.0.0.dist-info/WHEEL | 6 - .../site-packages/pkg_resources/__init__.py | 3296 ---------- .../__pycache__/__init__.cpython-38.pyc | Bin 100356 -> 0 bytes .../__pycache__/py31compat.cpython-38.pyc | Bin 600 -> 0 bytes .../pkg_resources/_vendor/__init__.py | 0 .../__pycache__/__init__.cpython-38.pyc | Bin 157 -> 0 bytes .../__pycache__/appdirs.cpython-38.pyc | Bin 20510 -> 0 bytes .../__pycache__/pyparsing.cpython-38.pyc | Bin 201634 -> 0 bytes .../_vendor/__pycache__/six.cpython-38.pyc | Bin 24430 -> 0 bytes .../pkg_resources/_vendor/appdirs.py | 608 -- .../_vendor/packaging/__about__.py | 21 - .../_vendor/packaging/__init__.py | 14 - .../__pycache__/__about__.cpython-38.pyc | Bin 707 -> 0 bytes .../__pycache__/__init__.cpython-38.pyc | Bin 545 -> 0 bytes .../__pycache__/_compat.cpython-38.pyc | Bin 981 -> 0 bytes .../__pycache__/_structures.cpython-38.pyc | Bin 2763 -> 0 bytes .../__pycache__/markers.cpython-38.pyc | Bin 8919 -> 0 bytes .../__pycache__/requirements.cpython-38.pyc | Bin 3878 -> 0 bytes .../__pycache__/specifiers.cpython-38.pyc | Bin 19787 -> 0 bytes .../__pycache__/utils.cpython-38.pyc | Bin 466 -> 0 bytes .../__pycache__/version.cpython-38.pyc | Bin 10634 -> 0 bytes .../_vendor/packaging/_compat.py | 30 - .../_vendor/packaging/_structures.py | 68 - .../_vendor/packaging/markers.py | 301 - .../_vendor/packaging/requirements.py | 127 - .../_vendor/packaging/specifiers.py | 774 --- .../pkg_resources/_vendor/packaging/utils.py | 14 - .../_vendor/packaging/version.py | 393 -- .../pkg_resources/_vendor/pyparsing.py | 5742 ----------------- .../pkg_resources/_vendor/six.py | 868 --- .../pkg_resources/extern/__init__.py | 73 - .../__pycache__/__init__.cpython-38.pyc | Bin 2406 -> 0 bytes .../site-packages/pkg_resources/py31compat.py | 23 - .../setuptools-44.0.0.dist-info/AUTHORS.txt | 562 -- .../setuptools-44.0.0.dist-info/INSTALLER | 1 - .../setuptools-44.0.0.dist-info/LICENSE.txt | 20 - .../setuptools-44.0.0.dist-info/METADATA | 82 - .../setuptools-44.0.0.dist-info/RECORD | 163 - .../setuptools-44.0.0.dist-info/WHEEL | 6 - .../dependency_links.txt | 2 - .../entry_points.txt | 68 - .../setuptools-44.0.0.dist-info/top_level.txt | 3 - .../setuptools-44.0.0.dist-info/zip-safe | 1 - .../site-packages/setuptools/__init__.py | 228 - .../__pycache__/__init__.cpython-38.pyc | Bin 7768 -> 0 bytes .../_deprecation_warning.cpython-38.pyc | Bin 516 -> 0 bytes .../__pycache__/_imp.cpython-38.pyc | Bin 1890 -> 0 bytes .../__pycache__/archive_util.cpython-38.pyc | Bin 5128 -> 0 bytes .../__pycache__/build_meta.cpython-38.pyc | Bin 8495 -> 0 bytes .../__pycache__/config.cpython-38.pyc | Bin 17896 -> 0 bytes .../__pycache__/dep_util.cpython-38.pyc | Bin 819 -> 0 bytes .../__pycache__/depends.cpython-38.pyc | Bin 5216 -> 0 bytes .../__pycache__/dist.cpython-38.pyc | Bin 42326 -> 0 bytes .../__pycache__/errors.cpython-38.pyc | Bin 816 -> 0 bytes .../__pycache__/extension.cpython-38.pyc | Bin 1961 -> 0 bytes .../__pycache__/glob.cpython-38.pyc | Bin 3733 -> 0 bytes .../__pycache__/installer.cpython-38.pyc | Bin 4102 -> 0 bytes .../__pycache__/launch.cpython-38.pyc | Bin 824 -> 0 bytes .../__pycache__/lib2to3_ex.cpython-38.pyc | Bin 2411 -> 0 bytes .../__pycache__/monkey.cpython-38.pyc | Bin 4644 -> 0 bytes .../__pycache__/msvc.cpython-38.pyc | Bin 39631 -> 0 bytes .../__pycache__/namespaces.cpython-38.pyc | Bin 3616 -> 0 bytes .../__pycache__/package_index.cpython-38.pyc | Bin 32981 -> 0 bytes .../__pycache__/py27compat.cpython-38.pyc | Bin 1749 -> 0 bytes .../__pycache__/py31compat.cpython-38.pyc | Bin 1191 -> 0 bytes .../__pycache__/py33compat.cpython-38.pyc | Bin 1408 -> 0 bytes .../__pycache__/py34compat.cpython-38.pyc | Bin 450 -> 0 bytes .../__pycache__/sandbox.cpython-38.pyc | Bin 15536 -> 0 bytes .../__pycache__/site-patch.cpython-38.pyc | Bin 1474 -> 0 bytes .../__pycache__/ssl_support.cpython-38.pyc | Bin 6855 -> 0 bytes .../__pycache__/unicode_utils.cpython-38.pyc | Bin 1151 -> 0 bytes .../__pycache__/version.cpython-38.pyc | Bin 292 -> 0 bytes .../__pycache__/wheel.cpython-38.pyc | Bin 7383 -> 0 bytes .../windows_support.cpython-38.pyc | Bin 989 -> 0 bytes .../setuptools/_deprecation_warning.py | 7 - .../site-packages/setuptools/_imp.py | 73 - .../setuptools/_vendor/__init__.py | 0 .../__pycache__/__init__.cpython-38.pyc | Bin 154 -> 0 bytes .../__pycache__/ordered_set.cpython-38.pyc | Bin 16412 -> 0 bytes .../__pycache__/pyparsing.cpython-38.pyc | Bin 201631 -> 0 bytes .../_vendor/__pycache__/six.cpython-38.pyc | Bin 24427 -> 0 bytes .../setuptools/_vendor/ordered_set.py | 488 -- .../setuptools/_vendor/packaging/__about__.py | 27 - .../setuptools/_vendor/packaging/__init__.py | 26 - .../__pycache__/__about__.cpython-38.pyc | Bin 704 -> 0 bytes .../__pycache__/__init__.cpython-38.pyc | Bin 542 -> 0 bytes .../__pycache__/_compat.cpython-38.pyc | Bin 978 -> 0 bytes .../__pycache__/_structures.cpython-38.pyc | Bin 2760 -> 0 bytes .../__pycache__/markers.cpython-38.pyc | Bin 8927 -> 0 bytes .../__pycache__/requirements.cpython-38.pyc | Bin 3995 -> 0 bytes .../__pycache__/specifiers.cpython-38.pyc | Bin 19734 -> 0 bytes .../packaging/__pycache__/tags.cpython-38.pyc | Bin 10811 -> 0 bytes .../__pycache__/utils.cpython-38.pyc | Bin 1435 -> 0 bytes .../__pycache__/version.cpython-38.pyc | Bin 12065 -> 0 bytes .../setuptools/_vendor/packaging/_compat.py | 31 - .../_vendor/packaging/_structures.py | 68 - .../setuptools/_vendor/packaging/markers.py | 296 - .../_vendor/packaging/requirements.py | 138 - .../_vendor/packaging/specifiers.py | 749 --- .../setuptools/_vendor/packaging/tags.py | 404 -- .../setuptools/_vendor/packaging/utils.py | 57 - .../setuptools/_vendor/packaging/version.py | 420 -- .../setuptools/_vendor/pyparsing.py | 5742 ----------------- .../site-packages/setuptools/_vendor/six.py | 868 --- .../site-packages/setuptools/archive_util.py | 173 - .../site-packages/setuptools/build_meta.py | 257 - .../site-packages/setuptools/cli-32.exe | Bin 65536 -> 0 bytes .../site-packages/setuptools/cli-64.exe | Bin 74752 -> 0 bytes .../site-packages/setuptools/cli.exe | Bin 65536 -> 0 bytes .../setuptools/command/__init__.py | 17 - .../__pycache__/__init__.cpython-38.pyc | Bin 712 -> 0 bytes .../command/__pycache__/alias.cpython-38.pyc | Bin 2392 -> 0 bytes .../__pycache__/bdist_egg.cpython-38.pyc | Bin 14182 -> 0 bytes .../__pycache__/bdist_rpm.cpython-38.pyc | Bin 1784 -> 0 bytes .../__pycache__/bdist_wininst.cpython-38.pyc | Bin 954 -> 0 bytes .../__pycache__/build_clib.cpython-38.pyc | Bin 2437 -> 0 bytes .../__pycache__/build_ext.cpython-38.pyc | Bin 9895 -> 0 bytes .../__pycache__/build_py.cpython-38.pyc | Bin 8641 -> 0 bytes .../__pycache__/develop.cpython-38.pyc | Bin 6501 -> 0 bytes .../__pycache__/dist_info.cpython-38.pyc | Bin 1361 -> 0 bytes .../__pycache__/easy_install.cpython-38.pyc | Bin 66694 -> 0 bytes .../__pycache__/egg_info.cpython-38.pyc | Bin 21773 -> 0 bytes .../__pycache__/install.cpython-38.pyc | Bin 4016 -> 0 bytes .../install_egg_info.cpython-38.pyc | Bin 2900 -> 0 bytes .../__pycache__/install_lib.cpython-38.pyc | Bin 5083 -> 0 bytes .../install_scripts.cpython-38.pyc | Bin 2273 -> 0 bytes .../__pycache__/py36compat.cpython-38.pyc | Bin 4610 -> 0 bytes .../__pycache__/register.cpython-38.pyc | Bin 811 -> 0 bytes .../command/__pycache__/rotate.cpython-38.pyc | Bin 2520 -> 0 bytes .../__pycache__/saveopts.cpython-38.pyc | Bin 889 -> 0 bytes .../command/__pycache__/sdist.cpython-38.pyc | Bin 7859 -> 0 bytes .../command/__pycache__/setopt.cpython-38.pyc | Bin 4537 -> 0 bytes .../command/__pycache__/test.cpython-38.pyc | Bin 8475 -> 0 bytes .../command/__pycache__/upload.cpython-38.pyc | Bin 784 -> 0 bytes .../__pycache__/upload_docs.cpython-38.pyc | Bin 6140 -> 0 bytes .../site-packages/setuptools/command/alias.py | 80 - .../setuptools/command/bdist_egg.py | 502 -- .../setuptools/command/bdist_rpm.py | 43 - .../setuptools/command/bdist_wininst.py | 21 - .../setuptools/command/build_clib.py | 98 - .../setuptools/command/build_ext.py | 327 - .../setuptools/command/build_py.py | 270 - .../setuptools/command/develop.py | 221 - .../setuptools/command/dist_info.py | 36 - .../setuptools/command/easy_install.py | 2402 ------- .../setuptools/command/egg_info.py | 717 -- .../setuptools/command/install.py | 125 - .../setuptools/command/install_egg_info.py | 82 - .../setuptools/command/install_lib.py | 147 - .../setuptools/command/install_scripts.py | 65 - .../setuptools/command/launcher manifest.xml | 15 - .../setuptools/command/py36compat.py | 136 - .../setuptools/command/register.py | 18 - .../setuptools/command/rotate.py | 66 - .../setuptools/command/saveopts.py | 22 - .../site-packages/setuptools/command/sdist.py | 252 - .../setuptools/command/setopt.py | 149 - .../site-packages/setuptools/command/test.py | 279 - .../setuptools/command/upload.py | 17 - .../setuptools/command/upload_docs.py | 206 - .../site-packages/setuptools/config.py | 659 -- .../site-packages/setuptools/dep_util.py | 23 - .../site-packages/setuptools/depends.py | 176 - .../site-packages/setuptools/dist.py | 1274 ---- .../site-packages/setuptools/errors.py | 16 - .../site-packages/setuptools/extension.py | 57 - .../setuptools/extern/__init__.py | 73 - .../__pycache__/__init__.cpython-38.pyc | Bin 2420 -> 0 bytes .../site-packages/setuptools/glob.py | 174 - .../site-packages/setuptools/gui-32.exe | Bin 65536 -> 0 bytes .../site-packages/setuptools/gui-64.exe | Bin 75264 -> 0 bytes .../site-packages/setuptools/gui.exe | Bin 65536 -> 0 bytes .../site-packages/setuptools/installer.py | 150 - .../site-packages/setuptools/launch.py | 35 - .../site-packages/setuptools/lib2to3_ex.py | 62 - .../site-packages/setuptools/monkey.py | 179 - .../site-packages/setuptools/msvc.py | 1679 ----- .../site-packages/setuptools/namespaces.py | 107 - .../site-packages/setuptools/package_index.py | 1136 ---- .../site-packages/setuptools/py27compat.py | 60 - .../site-packages/setuptools/py31compat.py | 32 - .../site-packages/setuptools/py33compat.py | 59 - .../site-packages/setuptools/py34compat.py | 13 - .../site-packages/setuptools/sandbox.py | 491 -- .../setuptools/script (dev).tmpl | 6 - .../site-packages/setuptools/script.tmpl | 3 - .../site-packages/setuptools/site-patch.py | 74 - .../site-packages/setuptools/ssl_support.py | 260 - .../site-packages/setuptools/unicode_utils.py | 44 - .../site-packages/setuptools/version.py | 6 - .../site-packages/setuptools/wheel.py | 220 - .../setuptools/windows_support.py | 29 - .venv/lib64 | 1 - .venv/pyvenv.cfg | 3 - .../CacheControl-0.12.6-py2.py3-none-any.whl | Bin 28023 -> 0 bytes .../appdirs-1.4.3-py2.py3-none-any.whl | Bin 18776 -> 0 bytes .../certifi-2019.11.28-py2.py3-none-any.whl | Bin 164552 -> 0 bytes .../chardet-3.0.4-py2.py3-none-any.whl | Bin 141487 -> 0 bytes .../colorama-0.4.3-py2.py3-none-any.whl | Bin 25094 -> 0 bytes .../contextlib2-0.6.0-py2.py3-none-any.whl | Bin 17188 -> 0 bytes .../distlib-0.3.0-py2.py3-none-any.whl | Bin 152027 -> 0 bytes .../distro-1.4.0-py2.py3-none-any.whl | Bin 23898 -> 0 bytes .../html5lib-1.0.1-py2.py3-none-any.whl | Bin 120020 -> 0 bytes .../idna-2.8-py2.py3-none-any.whl | Bin 66836 -> 0 bytes .../ipaddr-2.2.0-py2.py3-none-any.whl | Bin 24287 -> 0 bytes .../lockfile-0.12.2-py2.py3-none-any.whl | Bin 21972 -> 0 bytes .../msgpack-0.6.2-py2.py3-none-any.whl | Bin 92927 -> 0 bytes .../packaging-20.3-py2.py3-none-any.whl | Bin 42242 -> 0 bytes .../pep517-0.8.2-py2.py3-none-any.whl | Bin 26686 -> 0 bytes .../pip-20.0.2-py2.py3-none-any.whl | Bin 262434 -> 0 bytes .../pkg_resources-0.0.0-py2.py3-none-any.whl | Bin 127312 -> 0 bytes .../progress-1.5-py2.py3-none-any.whl | Bin 17547 -> 0 bytes .../pyparsing-2.4.6-py2.py3-none-any.whl | Bin 77093 -> 0 bytes .../requests-2.22.0-py2.py3-none-any.whl | Bin 67470 -> 0 bytes .../retrying-1.3.3-py2.py3-none-any.whl | Bin 16358 -> 0 bytes .../setuptools-44.0.0-py2.py3-none-any.whl | Bin 477455 -> 0 bytes .../six-1.14.0-py2.py3-none-any.whl | Bin 20256 -> 0 bytes .../toml-0.10.0-py2.py3-none-any.whl | Bin 24106 -> 0 bytes .../urllib3-1.25.8-py2.py3-none-any.whl | Bin 127068 -> 0 bytes .../webencodings-0.5.1-py2.py3-none-any.whl | Bin 20484 -> 0 bytes .../wheel-0.34.2-py2.py3-none-any.whl | Bin 35613 -> 0 bytes Serie1/Ex7.py | 8 +- Serie4/Ex4.py | 100 + Serie5/05_morphologies.pdf | Bin 0 -> 287439 bytes Serie5/Ex1.py | 54 + Serie5/hepia.png | Bin 0 -> 3422 bytes 487 files changed, 158 insertions(+), 60729 deletions(-) delete mode 100644 .venv/bin/Activate.ps1 delete mode 100644 .venv/bin/activate delete mode 100644 .venv/bin/activate.csh delete mode 100644 .venv/bin/activate.fish delete mode 100755 .venv/bin/easy_install delete mode 100755 .venv/bin/easy_install-3.8 delete mode 100755 .venv/bin/pip delete mode 100755 .venv/bin/pip3 delete mode 100755 .venv/bin/pip3.8 delete mode 120000 .venv/bin/python delete mode 120000 .venv/bin/python3 delete mode 100644 .venv/lib/python3.8/site-packages/__pycache__/easy_install.cpython-38.pyc delete mode 100644 .venv/lib/python3.8/site-packages/easy_install.py delete mode 100644 .venv/lib/python3.8/site-packages/pip-20.0.2.dist-info/INSTALLER delete mode 100644 .venv/lib/python3.8/site-packages/pip-20.0.2.dist-info/LICENSE.txt delete mode 100644 .venv/lib/python3.8/site-packages/pip-20.0.2.dist-info/METADATA delete mode 100644 .venv/lib/python3.8/site-packages/pip-20.0.2.dist-info/RECORD delete mode 100644 .venv/lib/python3.8/site-packages/pip-20.0.2.dist-info/WHEEL delete mode 100644 .venv/lib/python3.8/site-packages/pip-20.0.2.dist-info/entry_points.txt delete mode 100644 .venv/lib/python3.8/site-packages/pip-20.0.2.dist-info/top_level.txt delete mode 100644 .venv/lib/python3.8/site-packages/pip/__init__.py delete mode 100644 .venv/lib/python3.8/site-packages/pip/__main__.py delete mode 100644 .venv/lib/python3.8/site-packages/pip/__pycache__/__init__.cpython-38.pyc delete mode 100644 .venv/lib/python3.8/site-packages/pip/__pycache__/__main__.cpython-38.pyc delete mode 100644 .venv/lib/python3.8/site-packages/pip/_internal/__init__.py delete mode 100644 .venv/lib/python3.8/site-packages/pip/_internal/__pycache__/__init__.cpython-38.pyc delete mode 100644 .venv/lib/python3.8/site-packages/pip/_internal/__pycache__/build_env.cpython-38.pyc delete mode 100644 .venv/lib/python3.8/site-packages/pip/_internal/__pycache__/cache.cpython-38.pyc delete mode 100644 .venv/lib/python3.8/site-packages/pip/_internal/__pycache__/configuration.cpython-38.pyc delete mode 100644 .venv/lib/python3.8/site-packages/pip/_internal/__pycache__/exceptions.cpython-38.pyc delete mode 100644 .venv/lib/python3.8/site-packages/pip/_internal/__pycache__/legacy_resolve.cpython-38.pyc delete mode 100644 .venv/lib/python3.8/site-packages/pip/_internal/__pycache__/locations.cpython-38.pyc delete mode 100644 .venv/lib/python3.8/site-packages/pip/_internal/__pycache__/main.cpython-38.pyc delete mode 100644 .venv/lib/python3.8/site-packages/pip/_internal/__pycache__/pep425tags.cpython-38.pyc delete mode 100644 .venv/lib/python3.8/site-packages/pip/_internal/__pycache__/pyproject.cpython-38.pyc delete mode 100644 .venv/lib/python3.8/site-packages/pip/_internal/__pycache__/self_outdated_check.cpython-38.pyc delete mode 100644 .venv/lib/python3.8/site-packages/pip/_internal/__pycache__/wheel_builder.cpython-38.pyc delete mode 100644 .venv/lib/python3.8/site-packages/pip/_internal/build_env.py delete mode 100644 .venv/lib/python3.8/site-packages/pip/_internal/cache.py delete mode 100644 .venv/lib/python3.8/site-packages/pip/_internal/cli/__init__.py delete mode 100644 .venv/lib/python3.8/site-packages/pip/_internal/cli/__pycache__/__init__.cpython-38.pyc delete mode 100644 .venv/lib/python3.8/site-packages/pip/_internal/cli/__pycache__/autocompletion.cpython-38.pyc delete mode 100644 .venv/lib/python3.8/site-packages/pip/_internal/cli/__pycache__/base_command.cpython-38.pyc delete mode 100644 .venv/lib/python3.8/site-packages/pip/_internal/cli/__pycache__/cmdoptions.cpython-38.pyc delete mode 100644 .venv/lib/python3.8/site-packages/pip/_internal/cli/__pycache__/command_context.cpython-38.pyc delete mode 100644 .venv/lib/python3.8/site-packages/pip/_internal/cli/__pycache__/main.cpython-38.pyc delete mode 100644 .venv/lib/python3.8/site-packages/pip/_internal/cli/__pycache__/main_parser.cpython-38.pyc delete mode 100644 .venv/lib/python3.8/site-packages/pip/_internal/cli/__pycache__/parser.cpython-38.pyc delete mode 100644 .venv/lib/python3.8/site-packages/pip/_internal/cli/__pycache__/req_command.cpython-38.pyc delete mode 100644 .venv/lib/python3.8/site-packages/pip/_internal/cli/__pycache__/status_codes.cpython-38.pyc delete mode 100644 .venv/lib/python3.8/site-packages/pip/_internal/cli/autocompletion.py delete mode 100644 .venv/lib/python3.8/site-packages/pip/_internal/cli/base_command.py delete mode 100644 .venv/lib/python3.8/site-packages/pip/_internal/cli/cmdoptions.py delete mode 100644 .venv/lib/python3.8/site-packages/pip/_internal/cli/command_context.py delete mode 100644 .venv/lib/python3.8/site-packages/pip/_internal/cli/main.py delete mode 100644 .venv/lib/python3.8/site-packages/pip/_internal/cli/main_parser.py delete mode 100644 .venv/lib/python3.8/site-packages/pip/_internal/cli/parser.py delete mode 100644 .venv/lib/python3.8/site-packages/pip/_internal/cli/req_command.py delete mode 100644 .venv/lib/python3.8/site-packages/pip/_internal/cli/status_codes.py delete mode 100644 .venv/lib/python3.8/site-packages/pip/_internal/commands/__init__.py delete mode 100644 .venv/lib/python3.8/site-packages/pip/_internal/commands/__pycache__/__init__.cpython-38.pyc delete mode 100644 .venv/lib/python3.8/site-packages/pip/_internal/commands/__pycache__/check.cpython-38.pyc delete mode 100644 .venv/lib/python3.8/site-packages/pip/_internal/commands/__pycache__/completion.cpython-38.pyc delete mode 100644 .venv/lib/python3.8/site-packages/pip/_internal/commands/__pycache__/configuration.cpython-38.pyc delete mode 100644 .venv/lib/python3.8/site-packages/pip/_internal/commands/__pycache__/debug.cpython-38.pyc delete mode 100644 .venv/lib/python3.8/site-packages/pip/_internal/commands/__pycache__/download.cpython-38.pyc delete mode 100644 .venv/lib/python3.8/site-packages/pip/_internal/commands/__pycache__/freeze.cpython-38.pyc delete mode 100644 .venv/lib/python3.8/site-packages/pip/_internal/commands/__pycache__/hash.cpython-38.pyc delete mode 100644 .venv/lib/python3.8/site-packages/pip/_internal/commands/__pycache__/help.cpython-38.pyc delete mode 100644 .venv/lib/python3.8/site-packages/pip/_internal/commands/__pycache__/install.cpython-38.pyc delete mode 100644 .venv/lib/python3.8/site-packages/pip/_internal/commands/__pycache__/list.cpython-38.pyc delete mode 100644 .venv/lib/python3.8/site-packages/pip/_internal/commands/__pycache__/search.cpython-38.pyc delete mode 100644 .venv/lib/python3.8/site-packages/pip/_internal/commands/__pycache__/show.cpython-38.pyc delete mode 100644 .venv/lib/python3.8/site-packages/pip/_internal/commands/__pycache__/uninstall.cpython-38.pyc delete mode 100644 .venv/lib/python3.8/site-packages/pip/_internal/commands/__pycache__/wheel.cpython-38.pyc delete mode 100644 .venv/lib/python3.8/site-packages/pip/_internal/commands/check.py delete mode 100644 .venv/lib/python3.8/site-packages/pip/_internal/commands/completion.py delete mode 100644 .venv/lib/python3.8/site-packages/pip/_internal/commands/configuration.py delete mode 100644 .venv/lib/python3.8/site-packages/pip/_internal/commands/debug.py delete mode 100644 .venv/lib/python3.8/site-packages/pip/_internal/commands/download.py delete mode 100644 .venv/lib/python3.8/site-packages/pip/_internal/commands/freeze.py delete mode 100644 .venv/lib/python3.8/site-packages/pip/_internal/commands/hash.py delete mode 100644 .venv/lib/python3.8/site-packages/pip/_internal/commands/help.py delete mode 100644 .venv/lib/python3.8/site-packages/pip/_internal/commands/install.py delete mode 100644 .venv/lib/python3.8/site-packages/pip/_internal/commands/list.py delete mode 100644 .venv/lib/python3.8/site-packages/pip/_internal/commands/search.py delete mode 100644 .venv/lib/python3.8/site-packages/pip/_internal/commands/show.py delete mode 100644 .venv/lib/python3.8/site-packages/pip/_internal/commands/uninstall.py delete mode 100644 .venv/lib/python3.8/site-packages/pip/_internal/commands/wheel.py delete mode 100644 .venv/lib/python3.8/site-packages/pip/_internal/configuration.py delete mode 100644 .venv/lib/python3.8/site-packages/pip/_internal/distributions/__init__.py delete mode 100644 .venv/lib/python3.8/site-packages/pip/_internal/distributions/__pycache__/__init__.cpython-38.pyc delete mode 100644 .venv/lib/python3.8/site-packages/pip/_internal/distributions/__pycache__/base.cpython-38.pyc delete mode 100644 .venv/lib/python3.8/site-packages/pip/_internal/distributions/__pycache__/installed.cpython-38.pyc delete mode 100644 .venv/lib/python3.8/site-packages/pip/_internal/distributions/__pycache__/sdist.cpython-38.pyc delete mode 100644 .venv/lib/python3.8/site-packages/pip/_internal/distributions/__pycache__/wheel.cpython-38.pyc delete mode 100644 .venv/lib/python3.8/site-packages/pip/_internal/distributions/base.py delete mode 100644 .venv/lib/python3.8/site-packages/pip/_internal/distributions/installed.py delete mode 100644 .venv/lib/python3.8/site-packages/pip/_internal/distributions/sdist.py delete mode 100644 .venv/lib/python3.8/site-packages/pip/_internal/distributions/wheel.py delete mode 100644 .venv/lib/python3.8/site-packages/pip/_internal/exceptions.py delete mode 100644 .venv/lib/python3.8/site-packages/pip/_internal/index/__init__.py delete mode 100644 .venv/lib/python3.8/site-packages/pip/_internal/index/__pycache__/__init__.cpython-38.pyc delete mode 100644 .venv/lib/python3.8/site-packages/pip/_internal/index/__pycache__/collector.cpython-38.pyc delete mode 100644 .venv/lib/python3.8/site-packages/pip/_internal/index/__pycache__/package_finder.cpython-38.pyc delete mode 100644 .venv/lib/python3.8/site-packages/pip/_internal/index/collector.py delete mode 100644 .venv/lib/python3.8/site-packages/pip/_internal/index/package_finder.py delete mode 100644 .venv/lib/python3.8/site-packages/pip/_internal/legacy_resolve.py delete mode 100644 .venv/lib/python3.8/site-packages/pip/_internal/locations.py delete mode 100644 .venv/lib/python3.8/site-packages/pip/_internal/main.py delete mode 100644 .venv/lib/python3.8/site-packages/pip/_internal/models/__init__.py delete mode 100644 .venv/lib/python3.8/site-packages/pip/_internal/models/__pycache__/__init__.cpython-38.pyc delete mode 100644 .venv/lib/python3.8/site-packages/pip/_internal/models/__pycache__/candidate.cpython-38.pyc delete mode 100644 .venv/lib/python3.8/site-packages/pip/_internal/models/__pycache__/format_control.cpython-38.pyc delete mode 100644 .venv/lib/python3.8/site-packages/pip/_internal/models/__pycache__/index.cpython-38.pyc delete mode 100644 .venv/lib/python3.8/site-packages/pip/_internal/models/__pycache__/link.cpython-38.pyc delete mode 100644 .venv/lib/python3.8/site-packages/pip/_internal/models/__pycache__/scheme.cpython-38.pyc delete mode 100644 .venv/lib/python3.8/site-packages/pip/_internal/models/__pycache__/search_scope.cpython-38.pyc delete mode 100644 .venv/lib/python3.8/site-packages/pip/_internal/models/__pycache__/selection_prefs.cpython-38.pyc delete mode 100644 .venv/lib/python3.8/site-packages/pip/_internal/models/__pycache__/target_python.cpython-38.pyc delete mode 100644 .venv/lib/python3.8/site-packages/pip/_internal/models/__pycache__/wheel.cpython-38.pyc delete mode 100644 .venv/lib/python3.8/site-packages/pip/_internal/models/candidate.py delete mode 100644 .venv/lib/python3.8/site-packages/pip/_internal/models/format_control.py delete mode 100644 .venv/lib/python3.8/site-packages/pip/_internal/models/index.py delete mode 100644 .venv/lib/python3.8/site-packages/pip/_internal/models/link.py delete mode 100644 .venv/lib/python3.8/site-packages/pip/_internal/models/scheme.py delete mode 100644 .venv/lib/python3.8/site-packages/pip/_internal/models/search_scope.py delete mode 100644 .venv/lib/python3.8/site-packages/pip/_internal/models/selection_prefs.py delete mode 100644 .venv/lib/python3.8/site-packages/pip/_internal/models/target_python.py delete mode 100644 .venv/lib/python3.8/site-packages/pip/_internal/models/wheel.py delete mode 100644 .venv/lib/python3.8/site-packages/pip/_internal/network/__init__.py delete mode 100644 .venv/lib/python3.8/site-packages/pip/_internal/network/__pycache__/__init__.cpython-38.pyc delete mode 100644 .venv/lib/python3.8/site-packages/pip/_internal/network/__pycache__/auth.cpython-38.pyc delete mode 100644 .venv/lib/python3.8/site-packages/pip/_internal/network/__pycache__/cache.cpython-38.pyc delete mode 100644 .venv/lib/python3.8/site-packages/pip/_internal/network/__pycache__/download.cpython-38.pyc delete mode 100644 .venv/lib/python3.8/site-packages/pip/_internal/network/__pycache__/session.cpython-38.pyc delete mode 100644 .venv/lib/python3.8/site-packages/pip/_internal/network/__pycache__/utils.cpython-38.pyc delete mode 100644 .venv/lib/python3.8/site-packages/pip/_internal/network/__pycache__/xmlrpc.cpython-38.pyc delete mode 100644 .venv/lib/python3.8/site-packages/pip/_internal/network/auth.py delete mode 100644 .venv/lib/python3.8/site-packages/pip/_internal/network/cache.py delete mode 100644 .venv/lib/python3.8/site-packages/pip/_internal/network/download.py delete mode 100644 .venv/lib/python3.8/site-packages/pip/_internal/network/session.py delete mode 100644 .venv/lib/python3.8/site-packages/pip/_internal/network/utils.py delete mode 100644 .venv/lib/python3.8/site-packages/pip/_internal/network/xmlrpc.py delete mode 100644 .venv/lib/python3.8/site-packages/pip/_internal/operations/__init__.py delete mode 100644 .venv/lib/python3.8/site-packages/pip/_internal/operations/__pycache__/__init__.cpython-38.pyc delete mode 100644 .venv/lib/python3.8/site-packages/pip/_internal/operations/__pycache__/check.cpython-38.pyc delete mode 100644 .venv/lib/python3.8/site-packages/pip/_internal/operations/__pycache__/freeze.cpython-38.pyc delete mode 100644 .venv/lib/python3.8/site-packages/pip/_internal/operations/__pycache__/prepare.cpython-38.pyc delete mode 100644 .venv/lib/python3.8/site-packages/pip/_internal/operations/build/__init__.py delete mode 100644 .venv/lib/python3.8/site-packages/pip/_internal/operations/build/__pycache__/__init__.cpython-38.pyc delete mode 100644 .venv/lib/python3.8/site-packages/pip/_internal/operations/build/__pycache__/metadata.cpython-38.pyc delete mode 100644 .venv/lib/python3.8/site-packages/pip/_internal/operations/build/__pycache__/metadata_legacy.cpython-38.pyc delete mode 100644 .venv/lib/python3.8/site-packages/pip/_internal/operations/build/__pycache__/wheel.cpython-38.pyc delete mode 100644 .venv/lib/python3.8/site-packages/pip/_internal/operations/build/__pycache__/wheel_legacy.cpython-38.pyc delete mode 100644 .venv/lib/python3.8/site-packages/pip/_internal/operations/build/metadata.py delete mode 100644 .venv/lib/python3.8/site-packages/pip/_internal/operations/build/metadata_legacy.py delete mode 100644 .venv/lib/python3.8/site-packages/pip/_internal/operations/build/wheel.py delete mode 100644 .venv/lib/python3.8/site-packages/pip/_internal/operations/build/wheel_legacy.py delete mode 100644 .venv/lib/python3.8/site-packages/pip/_internal/operations/check.py delete mode 100644 .venv/lib/python3.8/site-packages/pip/_internal/operations/freeze.py delete mode 100644 .venv/lib/python3.8/site-packages/pip/_internal/operations/install/__init__.py delete mode 100644 .venv/lib/python3.8/site-packages/pip/_internal/operations/install/__pycache__/__init__.cpython-38.pyc delete mode 100644 .venv/lib/python3.8/site-packages/pip/_internal/operations/install/__pycache__/editable_legacy.cpython-38.pyc delete mode 100644 .venv/lib/python3.8/site-packages/pip/_internal/operations/install/__pycache__/legacy.cpython-38.pyc delete mode 100644 .venv/lib/python3.8/site-packages/pip/_internal/operations/install/__pycache__/wheel.cpython-38.pyc delete mode 100644 .venv/lib/python3.8/site-packages/pip/_internal/operations/install/editable_legacy.py delete mode 100644 .venv/lib/python3.8/site-packages/pip/_internal/operations/install/legacy.py delete mode 100644 .venv/lib/python3.8/site-packages/pip/_internal/operations/install/wheel.py delete mode 100644 .venv/lib/python3.8/site-packages/pip/_internal/operations/prepare.py delete mode 100644 .venv/lib/python3.8/site-packages/pip/_internal/pep425tags.py delete mode 100644 .venv/lib/python3.8/site-packages/pip/_internal/pyproject.py delete mode 100644 .venv/lib/python3.8/site-packages/pip/_internal/req/__init__.py delete mode 100644 .venv/lib/python3.8/site-packages/pip/_internal/req/__pycache__/__init__.cpython-38.pyc delete mode 100644 .venv/lib/python3.8/site-packages/pip/_internal/req/__pycache__/constructors.cpython-38.pyc delete mode 100644 .venv/lib/python3.8/site-packages/pip/_internal/req/__pycache__/req_file.cpython-38.pyc delete mode 100644 .venv/lib/python3.8/site-packages/pip/_internal/req/__pycache__/req_install.cpython-38.pyc delete mode 100644 .venv/lib/python3.8/site-packages/pip/_internal/req/__pycache__/req_set.cpython-38.pyc delete mode 100644 .venv/lib/python3.8/site-packages/pip/_internal/req/__pycache__/req_tracker.cpython-38.pyc delete mode 100644 .venv/lib/python3.8/site-packages/pip/_internal/req/__pycache__/req_uninstall.cpython-38.pyc delete mode 100644 .venv/lib/python3.8/site-packages/pip/_internal/req/constructors.py delete mode 100644 .venv/lib/python3.8/site-packages/pip/_internal/req/req_file.py delete mode 100644 .venv/lib/python3.8/site-packages/pip/_internal/req/req_install.py delete mode 100644 .venv/lib/python3.8/site-packages/pip/_internal/req/req_set.py delete mode 100644 .venv/lib/python3.8/site-packages/pip/_internal/req/req_tracker.py delete mode 100644 .venv/lib/python3.8/site-packages/pip/_internal/req/req_uninstall.py delete mode 100644 .venv/lib/python3.8/site-packages/pip/_internal/self_outdated_check.py delete mode 100644 .venv/lib/python3.8/site-packages/pip/_internal/utils/__init__.py delete mode 100644 .venv/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/__init__.cpython-38.pyc delete mode 100644 .venv/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/appdirs.cpython-38.pyc delete mode 100644 .venv/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/compat.cpython-38.pyc delete mode 100644 .venv/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/deprecation.cpython-38.pyc delete mode 100644 .venv/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/distutils_args.cpython-38.pyc delete mode 100644 .venv/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/encoding.cpython-38.pyc delete mode 100644 .venv/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/entrypoints.cpython-38.pyc delete mode 100644 .venv/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/filesystem.cpython-38.pyc delete mode 100644 .venv/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/filetypes.cpython-38.pyc delete mode 100644 .venv/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/glibc.cpython-38.pyc delete mode 100644 .venv/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/hashes.cpython-38.pyc delete mode 100644 .venv/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/inject_securetransport.cpython-38.pyc delete mode 100644 .venv/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/logging.cpython-38.pyc delete mode 100644 .venv/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/marker_files.cpython-38.pyc delete mode 100644 .venv/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/misc.cpython-38.pyc delete mode 100644 .venv/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/models.cpython-38.pyc delete mode 100644 .venv/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/packaging.cpython-38.pyc delete mode 100644 .venv/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/pkg_resources.cpython-38.pyc delete mode 100644 .venv/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/setuptools_build.cpython-38.pyc delete mode 100644 .venv/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/subprocess.cpython-38.pyc delete mode 100644 .venv/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/temp_dir.cpython-38.pyc delete mode 100644 .venv/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/typing.cpython-38.pyc delete mode 100644 .venv/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/ui.cpython-38.pyc delete mode 100644 .venv/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/unpacking.cpython-38.pyc delete mode 100644 .venv/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/urls.cpython-38.pyc delete mode 100644 .venv/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/virtualenv.cpython-38.pyc delete mode 100644 .venv/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/wheel.cpython-38.pyc delete mode 100644 .venv/lib/python3.8/site-packages/pip/_internal/utils/appdirs.py delete mode 100644 .venv/lib/python3.8/site-packages/pip/_internal/utils/compat.py delete mode 100644 .venv/lib/python3.8/site-packages/pip/_internal/utils/deprecation.py delete mode 100644 .venv/lib/python3.8/site-packages/pip/_internal/utils/distutils_args.py delete mode 100644 .venv/lib/python3.8/site-packages/pip/_internal/utils/encoding.py delete mode 100644 .venv/lib/python3.8/site-packages/pip/_internal/utils/entrypoints.py delete mode 100644 .venv/lib/python3.8/site-packages/pip/_internal/utils/filesystem.py delete mode 100644 .venv/lib/python3.8/site-packages/pip/_internal/utils/filetypes.py delete mode 100644 .venv/lib/python3.8/site-packages/pip/_internal/utils/glibc.py delete mode 100644 .venv/lib/python3.8/site-packages/pip/_internal/utils/hashes.py delete mode 100644 .venv/lib/python3.8/site-packages/pip/_internal/utils/inject_securetransport.py delete mode 100644 .venv/lib/python3.8/site-packages/pip/_internal/utils/logging.py delete mode 100644 .venv/lib/python3.8/site-packages/pip/_internal/utils/marker_files.py delete mode 100644 .venv/lib/python3.8/site-packages/pip/_internal/utils/misc.py delete mode 100644 .venv/lib/python3.8/site-packages/pip/_internal/utils/models.py delete mode 100644 .venv/lib/python3.8/site-packages/pip/_internal/utils/packaging.py delete mode 100644 .venv/lib/python3.8/site-packages/pip/_internal/utils/pkg_resources.py delete mode 100644 .venv/lib/python3.8/site-packages/pip/_internal/utils/setuptools_build.py delete mode 100644 .venv/lib/python3.8/site-packages/pip/_internal/utils/subprocess.py delete mode 100644 .venv/lib/python3.8/site-packages/pip/_internal/utils/temp_dir.py delete mode 100644 .venv/lib/python3.8/site-packages/pip/_internal/utils/typing.py delete mode 100644 .venv/lib/python3.8/site-packages/pip/_internal/utils/ui.py delete mode 100644 .venv/lib/python3.8/site-packages/pip/_internal/utils/unpacking.py delete mode 100644 .venv/lib/python3.8/site-packages/pip/_internal/utils/urls.py delete mode 100644 .venv/lib/python3.8/site-packages/pip/_internal/utils/virtualenv.py delete mode 100644 .venv/lib/python3.8/site-packages/pip/_internal/utils/wheel.py delete mode 100644 .venv/lib/python3.8/site-packages/pip/_internal/vcs/__init__.py delete mode 100644 .venv/lib/python3.8/site-packages/pip/_internal/vcs/__pycache__/__init__.cpython-38.pyc delete mode 100644 .venv/lib/python3.8/site-packages/pip/_internal/vcs/__pycache__/bazaar.cpython-38.pyc delete mode 100644 .venv/lib/python3.8/site-packages/pip/_internal/vcs/__pycache__/git.cpython-38.pyc delete mode 100644 .venv/lib/python3.8/site-packages/pip/_internal/vcs/__pycache__/mercurial.cpython-38.pyc delete mode 100644 .venv/lib/python3.8/site-packages/pip/_internal/vcs/__pycache__/subversion.cpython-38.pyc delete mode 100644 .venv/lib/python3.8/site-packages/pip/_internal/vcs/__pycache__/versioncontrol.cpython-38.pyc delete mode 100644 .venv/lib/python3.8/site-packages/pip/_internal/vcs/bazaar.py delete mode 100644 .venv/lib/python3.8/site-packages/pip/_internal/vcs/git.py delete mode 100644 .venv/lib/python3.8/site-packages/pip/_internal/vcs/mercurial.py delete mode 100644 .venv/lib/python3.8/site-packages/pip/_internal/vcs/subversion.py delete mode 100644 .venv/lib/python3.8/site-packages/pip/_internal/vcs/versioncontrol.py delete mode 100644 .venv/lib/python3.8/site-packages/pip/_internal/wheel_builder.py delete mode 100644 .venv/lib/python3.8/site-packages/pip/_vendor/__init__.py delete mode 100644 .venv/lib/python3.8/site-packages/pip/_vendor/__pycache__/__init__.cpython-38.pyc delete mode 100644 .venv/lib/python3.8/site-packages/pkg_resources-0.0.0.dist-info/AUTHORS.txt delete mode 100644 .venv/lib/python3.8/site-packages/pkg_resources-0.0.0.dist-info/INSTALLER delete mode 100644 .venv/lib/python3.8/site-packages/pkg_resources-0.0.0.dist-info/LICENSE.txt delete mode 100644 .venv/lib/python3.8/site-packages/pkg_resources-0.0.0.dist-info/METADATA delete mode 100644 .venv/lib/python3.8/site-packages/pkg_resources-0.0.0.dist-info/RECORD delete mode 100644 .venv/lib/python3.8/site-packages/pkg_resources-0.0.0.dist-info/WHEEL delete mode 100644 .venv/lib/python3.8/site-packages/pkg_resources/__init__.py delete mode 100644 .venv/lib/python3.8/site-packages/pkg_resources/__pycache__/__init__.cpython-38.pyc delete mode 100644 .venv/lib/python3.8/site-packages/pkg_resources/__pycache__/py31compat.cpython-38.pyc delete mode 100644 .venv/lib/python3.8/site-packages/pkg_resources/_vendor/__init__.py delete mode 100644 .venv/lib/python3.8/site-packages/pkg_resources/_vendor/__pycache__/__init__.cpython-38.pyc delete mode 100644 .venv/lib/python3.8/site-packages/pkg_resources/_vendor/__pycache__/appdirs.cpython-38.pyc delete mode 100644 .venv/lib/python3.8/site-packages/pkg_resources/_vendor/__pycache__/pyparsing.cpython-38.pyc delete mode 100644 .venv/lib/python3.8/site-packages/pkg_resources/_vendor/__pycache__/six.cpython-38.pyc delete mode 100644 .venv/lib/python3.8/site-packages/pkg_resources/_vendor/appdirs.py delete mode 100644 .venv/lib/python3.8/site-packages/pkg_resources/_vendor/packaging/__about__.py delete mode 100644 .venv/lib/python3.8/site-packages/pkg_resources/_vendor/packaging/__init__.py delete mode 100644 .venv/lib/python3.8/site-packages/pkg_resources/_vendor/packaging/__pycache__/__about__.cpython-38.pyc delete mode 100644 .venv/lib/python3.8/site-packages/pkg_resources/_vendor/packaging/__pycache__/__init__.cpython-38.pyc delete mode 100644 .venv/lib/python3.8/site-packages/pkg_resources/_vendor/packaging/__pycache__/_compat.cpython-38.pyc delete mode 100644 .venv/lib/python3.8/site-packages/pkg_resources/_vendor/packaging/__pycache__/_structures.cpython-38.pyc delete mode 100644 .venv/lib/python3.8/site-packages/pkg_resources/_vendor/packaging/__pycache__/markers.cpython-38.pyc delete mode 100644 .venv/lib/python3.8/site-packages/pkg_resources/_vendor/packaging/__pycache__/requirements.cpython-38.pyc delete mode 100644 .venv/lib/python3.8/site-packages/pkg_resources/_vendor/packaging/__pycache__/specifiers.cpython-38.pyc delete mode 100644 .venv/lib/python3.8/site-packages/pkg_resources/_vendor/packaging/__pycache__/utils.cpython-38.pyc delete mode 100644 .venv/lib/python3.8/site-packages/pkg_resources/_vendor/packaging/__pycache__/version.cpython-38.pyc delete mode 100644 .venv/lib/python3.8/site-packages/pkg_resources/_vendor/packaging/_compat.py delete mode 100644 .venv/lib/python3.8/site-packages/pkg_resources/_vendor/packaging/_structures.py delete mode 100644 .venv/lib/python3.8/site-packages/pkg_resources/_vendor/packaging/markers.py delete mode 100644 .venv/lib/python3.8/site-packages/pkg_resources/_vendor/packaging/requirements.py delete mode 100644 .venv/lib/python3.8/site-packages/pkg_resources/_vendor/packaging/specifiers.py delete mode 100644 .venv/lib/python3.8/site-packages/pkg_resources/_vendor/packaging/utils.py delete mode 100644 .venv/lib/python3.8/site-packages/pkg_resources/_vendor/packaging/version.py delete mode 100644 .venv/lib/python3.8/site-packages/pkg_resources/_vendor/pyparsing.py delete mode 100644 .venv/lib/python3.8/site-packages/pkg_resources/_vendor/six.py delete mode 100644 .venv/lib/python3.8/site-packages/pkg_resources/extern/__init__.py delete mode 100644 .venv/lib/python3.8/site-packages/pkg_resources/extern/__pycache__/__init__.cpython-38.pyc delete mode 100644 .venv/lib/python3.8/site-packages/pkg_resources/py31compat.py delete mode 100644 .venv/lib/python3.8/site-packages/setuptools-44.0.0.dist-info/AUTHORS.txt delete mode 100644 .venv/lib/python3.8/site-packages/setuptools-44.0.0.dist-info/INSTALLER delete mode 100644 .venv/lib/python3.8/site-packages/setuptools-44.0.0.dist-info/LICENSE.txt delete mode 100644 .venv/lib/python3.8/site-packages/setuptools-44.0.0.dist-info/METADATA delete mode 100644 .venv/lib/python3.8/site-packages/setuptools-44.0.0.dist-info/RECORD delete mode 100644 .venv/lib/python3.8/site-packages/setuptools-44.0.0.dist-info/WHEEL delete mode 100644 .venv/lib/python3.8/site-packages/setuptools-44.0.0.dist-info/dependency_links.txt delete mode 100644 .venv/lib/python3.8/site-packages/setuptools-44.0.0.dist-info/entry_points.txt delete mode 100644 .venv/lib/python3.8/site-packages/setuptools-44.0.0.dist-info/top_level.txt delete mode 100644 .venv/lib/python3.8/site-packages/setuptools-44.0.0.dist-info/zip-safe delete mode 100644 .venv/lib/python3.8/site-packages/setuptools/__init__.py delete mode 100644 .venv/lib/python3.8/site-packages/setuptools/__pycache__/__init__.cpython-38.pyc delete mode 100644 .venv/lib/python3.8/site-packages/setuptools/__pycache__/_deprecation_warning.cpython-38.pyc delete mode 100644 .venv/lib/python3.8/site-packages/setuptools/__pycache__/_imp.cpython-38.pyc delete mode 100644 .venv/lib/python3.8/site-packages/setuptools/__pycache__/archive_util.cpython-38.pyc delete mode 100644 .venv/lib/python3.8/site-packages/setuptools/__pycache__/build_meta.cpython-38.pyc delete mode 100644 .venv/lib/python3.8/site-packages/setuptools/__pycache__/config.cpython-38.pyc delete mode 100644 .venv/lib/python3.8/site-packages/setuptools/__pycache__/dep_util.cpython-38.pyc delete mode 100644 .venv/lib/python3.8/site-packages/setuptools/__pycache__/depends.cpython-38.pyc delete mode 100644 .venv/lib/python3.8/site-packages/setuptools/__pycache__/dist.cpython-38.pyc delete mode 100644 .venv/lib/python3.8/site-packages/setuptools/__pycache__/errors.cpython-38.pyc delete mode 100644 .venv/lib/python3.8/site-packages/setuptools/__pycache__/extension.cpython-38.pyc delete mode 100644 .venv/lib/python3.8/site-packages/setuptools/__pycache__/glob.cpython-38.pyc delete mode 100644 .venv/lib/python3.8/site-packages/setuptools/__pycache__/installer.cpython-38.pyc delete mode 100644 .venv/lib/python3.8/site-packages/setuptools/__pycache__/launch.cpython-38.pyc delete mode 100644 .venv/lib/python3.8/site-packages/setuptools/__pycache__/lib2to3_ex.cpython-38.pyc delete mode 100644 .venv/lib/python3.8/site-packages/setuptools/__pycache__/monkey.cpython-38.pyc delete mode 100644 .venv/lib/python3.8/site-packages/setuptools/__pycache__/msvc.cpython-38.pyc delete mode 100644 .venv/lib/python3.8/site-packages/setuptools/__pycache__/namespaces.cpython-38.pyc delete mode 100644 .venv/lib/python3.8/site-packages/setuptools/__pycache__/package_index.cpython-38.pyc delete mode 100644 .venv/lib/python3.8/site-packages/setuptools/__pycache__/py27compat.cpython-38.pyc delete mode 100644 .venv/lib/python3.8/site-packages/setuptools/__pycache__/py31compat.cpython-38.pyc delete mode 100644 .venv/lib/python3.8/site-packages/setuptools/__pycache__/py33compat.cpython-38.pyc delete mode 100644 .venv/lib/python3.8/site-packages/setuptools/__pycache__/py34compat.cpython-38.pyc delete mode 100644 .venv/lib/python3.8/site-packages/setuptools/__pycache__/sandbox.cpython-38.pyc delete mode 100644 .venv/lib/python3.8/site-packages/setuptools/__pycache__/site-patch.cpython-38.pyc delete mode 100644 .venv/lib/python3.8/site-packages/setuptools/__pycache__/ssl_support.cpython-38.pyc delete mode 100644 .venv/lib/python3.8/site-packages/setuptools/__pycache__/unicode_utils.cpython-38.pyc delete mode 100644 .venv/lib/python3.8/site-packages/setuptools/__pycache__/version.cpython-38.pyc delete mode 100644 .venv/lib/python3.8/site-packages/setuptools/__pycache__/wheel.cpython-38.pyc delete mode 100644 .venv/lib/python3.8/site-packages/setuptools/__pycache__/windows_support.cpython-38.pyc delete mode 100644 .venv/lib/python3.8/site-packages/setuptools/_deprecation_warning.py delete mode 100644 .venv/lib/python3.8/site-packages/setuptools/_imp.py delete mode 100644 .venv/lib/python3.8/site-packages/setuptools/_vendor/__init__.py delete mode 100644 .venv/lib/python3.8/site-packages/setuptools/_vendor/__pycache__/__init__.cpython-38.pyc delete mode 100644 .venv/lib/python3.8/site-packages/setuptools/_vendor/__pycache__/ordered_set.cpython-38.pyc delete mode 100644 .venv/lib/python3.8/site-packages/setuptools/_vendor/__pycache__/pyparsing.cpython-38.pyc delete mode 100644 .venv/lib/python3.8/site-packages/setuptools/_vendor/__pycache__/six.cpython-38.pyc delete mode 100644 .venv/lib/python3.8/site-packages/setuptools/_vendor/ordered_set.py delete mode 100644 .venv/lib/python3.8/site-packages/setuptools/_vendor/packaging/__about__.py delete mode 100644 .venv/lib/python3.8/site-packages/setuptools/_vendor/packaging/__init__.py delete mode 100644 .venv/lib/python3.8/site-packages/setuptools/_vendor/packaging/__pycache__/__about__.cpython-38.pyc delete mode 100644 .venv/lib/python3.8/site-packages/setuptools/_vendor/packaging/__pycache__/__init__.cpython-38.pyc delete mode 100644 .venv/lib/python3.8/site-packages/setuptools/_vendor/packaging/__pycache__/_compat.cpython-38.pyc delete mode 100644 .venv/lib/python3.8/site-packages/setuptools/_vendor/packaging/__pycache__/_structures.cpython-38.pyc delete mode 100644 .venv/lib/python3.8/site-packages/setuptools/_vendor/packaging/__pycache__/markers.cpython-38.pyc delete mode 100644 .venv/lib/python3.8/site-packages/setuptools/_vendor/packaging/__pycache__/requirements.cpython-38.pyc delete mode 100644 .venv/lib/python3.8/site-packages/setuptools/_vendor/packaging/__pycache__/specifiers.cpython-38.pyc delete mode 100644 .venv/lib/python3.8/site-packages/setuptools/_vendor/packaging/__pycache__/tags.cpython-38.pyc delete mode 100644 .venv/lib/python3.8/site-packages/setuptools/_vendor/packaging/__pycache__/utils.cpython-38.pyc delete mode 100644 .venv/lib/python3.8/site-packages/setuptools/_vendor/packaging/__pycache__/version.cpython-38.pyc delete mode 100644 .venv/lib/python3.8/site-packages/setuptools/_vendor/packaging/_compat.py delete mode 100644 .venv/lib/python3.8/site-packages/setuptools/_vendor/packaging/_structures.py delete mode 100644 .venv/lib/python3.8/site-packages/setuptools/_vendor/packaging/markers.py delete mode 100644 .venv/lib/python3.8/site-packages/setuptools/_vendor/packaging/requirements.py delete mode 100644 .venv/lib/python3.8/site-packages/setuptools/_vendor/packaging/specifiers.py delete mode 100644 .venv/lib/python3.8/site-packages/setuptools/_vendor/packaging/tags.py delete mode 100644 .venv/lib/python3.8/site-packages/setuptools/_vendor/packaging/utils.py delete mode 100644 .venv/lib/python3.8/site-packages/setuptools/_vendor/packaging/version.py delete mode 100644 .venv/lib/python3.8/site-packages/setuptools/_vendor/pyparsing.py delete mode 100644 .venv/lib/python3.8/site-packages/setuptools/_vendor/six.py delete mode 100644 .venv/lib/python3.8/site-packages/setuptools/archive_util.py delete mode 100644 .venv/lib/python3.8/site-packages/setuptools/build_meta.py delete mode 100644 .venv/lib/python3.8/site-packages/setuptools/cli-32.exe delete mode 100644 .venv/lib/python3.8/site-packages/setuptools/cli-64.exe delete mode 100644 .venv/lib/python3.8/site-packages/setuptools/cli.exe delete mode 100644 .venv/lib/python3.8/site-packages/setuptools/command/__init__.py delete mode 100644 .venv/lib/python3.8/site-packages/setuptools/command/__pycache__/__init__.cpython-38.pyc delete mode 100644 .venv/lib/python3.8/site-packages/setuptools/command/__pycache__/alias.cpython-38.pyc delete mode 100644 .venv/lib/python3.8/site-packages/setuptools/command/__pycache__/bdist_egg.cpython-38.pyc delete mode 100644 .venv/lib/python3.8/site-packages/setuptools/command/__pycache__/bdist_rpm.cpython-38.pyc delete mode 100644 .venv/lib/python3.8/site-packages/setuptools/command/__pycache__/bdist_wininst.cpython-38.pyc delete mode 100644 .venv/lib/python3.8/site-packages/setuptools/command/__pycache__/build_clib.cpython-38.pyc delete mode 100644 .venv/lib/python3.8/site-packages/setuptools/command/__pycache__/build_ext.cpython-38.pyc delete mode 100644 .venv/lib/python3.8/site-packages/setuptools/command/__pycache__/build_py.cpython-38.pyc delete mode 100644 .venv/lib/python3.8/site-packages/setuptools/command/__pycache__/develop.cpython-38.pyc delete mode 100644 .venv/lib/python3.8/site-packages/setuptools/command/__pycache__/dist_info.cpython-38.pyc delete mode 100644 .venv/lib/python3.8/site-packages/setuptools/command/__pycache__/easy_install.cpython-38.pyc delete mode 100644 .venv/lib/python3.8/site-packages/setuptools/command/__pycache__/egg_info.cpython-38.pyc delete mode 100644 .venv/lib/python3.8/site-packages/setuptools/command/__pycache__/install.cpython-38.pyc delete mode 100644 .venv/lib/python3.8/site-packages/setuptools/command/__pycache__/install_egg_info.cpython-38.pyc delete mode 100644 .venv/lib/python3.8/site-packages/setuptools/command/__pycache__/install_lib.cpython-38.pyc delete mode 100644 .venv/lib/python3.8/site-packages/setuptools/command/__pycache__/install_scripts.cpython-38.pyc delete mode 100644 .venv/lib/python3.8/site-packages/setuptools/command/__pycache__/py36compat.cpython-38.pyc delete mode 100644 .venv/lib/python3.8/site-packages/setuptools/command/__pycache__/register.cpython-38.pyc delete mode 100644 .venv/lib/python3.8/site-packages/setuptools/command/__pycache__/rotate.cpython-38.pyc delete mode 100644 .venv/lib/python3.8/site-packages/setuptools/command/__pycache__/saveopts.cpython-38.pyc delete mode 100644 .venv/lib/python3.8/site-packages/setuptools/command/__pycache__/sdist.cpython-38.pyc delete mode 100644 .venv/lib/python3.8/site-packages/setuptools/command/__pycache__/setopt.cpython-38.pyc delete mode 100644 .venv/lib/python3.8/site-packages/setuptools/command/__pycache__/test.cpython-38.pyc delete mode 100644 .venv/lib/python3.8/site-packages/setuptools/command/__pycache__/upload.cpython-38.pyc delete mode 100644 .venv/lib/python3.8/site-packages/setuptools/command/__pycache__/upload_docs.cpython-38.pyc delete mode 100644 .venv/lib/python3.8/site-packages/setuptools/command/alias.py delete mode 100644 .venv/lib/python3.8/site-packages/setuptools/command/bdist_egg.py delete mode 100644 .venv/lib/python3.8/site-packages/setuptools/command/bdist_rpm.py delete mode 100644 .venv/lib/python3.8/site-packages/setuptools/command/bdist_wininst.py delete mode 100644 .venv/lib/python3.8/site-packages/setuptools/command/build_clib.py delete mode 100644 .venv/lib/python3.8/site-packages/setuptools/command/build_ext.py delete mode 100644 .venv/lib/python3.8/site-packages/setuptools/command/build_py.py delete mode 100644 .venv/lib/python3.8/site-packages/setuptools/command/develop.py delete mode 100644 .venv/lib/python3.8/site-packages/setuptools/command/dist_info.py delete mode 100644 .venv/lib/python3.8/site-packages/setuptools/command/easy_install.py delete mode 100644 .venv/lib/python3.8/site-packages/setuptools/command/egg_info.py delete mode 100644 .venv/lib/python3.8/site-packages/setuptools/command/install.py delete mode 100644 .venv/lib/python3.8/site-packages/setuptools/command/install_egg_info.py delete mode 100644 .venv/lib/python3.8/site-packages/setuptools/command/install_lib.py delete mode 100644 .venv/lib/python3.8/site-packages/setuptools/command/install_scripts.py delete mode 100644 .venv/lib/python3.8/site-packages/setuptools/command/launcher manifest.xml delete mode 100644 .venv/lib/python3.8/site-packages/setuptools/command/py36compat.py delete mode 100644 .venv/lib/python3.8/site-packages/setuptools/command/register.py delete mode 100644 .venv/lib/python3.8/site-packages/setuptools/command/rotate.py delete mode 100644 .venv/lib/python3.8/site-packages/setuptools/command/saveopts.py delete mode 100644 .venv/lib/python3.8/site-packages/setuptools/command/sdist.py delete mode 100644 .venv/lib/python3.8/site-packages/setuptools/command/setopt.py delete mode 100644 .venv/lib/python3.8/site-packages/setuptools/command/test.py delete mode 100644 .venv/lib/python3.8/site-packages/setuptools/command/upload.py delete mode 100644 .venv/lib/python3.8/site-packages/setuptools/command/upload_docs.py delete mode 100644 .venv/lib/python3.8/site-packages/setuptools/config.py delete mode 100644 .venv/lib/python3.8/site-packages/setuptools/dep_util.py delete mode 100644 .venv/lib/python3.8/site-packages/setuptools/depends.py delete mode 100644 .venv/lib/python3.8/site-packages/setuptools/dist.py delete mode 100644 .venv/lib/python3.8/site-packages/setuptools/errors.py delete mode 100644 .venv/lib/python3.8/site-packages/setuptools/extension.py delete mode 100644 .venv/lib/python3.8/site-packages/setuptools/extern/__init__.py delete mode 100644 .venv/lib/python3.8/site-packages/setuptools/extern/__pycache__/__init__.cpython-38.pyc delete mode 100644 .venv/lib/python3.8/site-packages/setuptools/glob.py delete mode 100644 .venv/lib/python3.8/site-packages/setuptools/gui-32.exe delete mode 100644 .venv/lib/python3.8/site-packages/setuptools/gui-64.exe delete mode 100644 .venv/lib/python3.8/site-packages/setuptools/gui.exe delete mode 100644 .venv/lib/python3.8/site-packages/setuptools/installer.py delete mode 100644 .venv/lib/python3.8/site-packages/setuptools/launch.py delete mode 100644 .venv/lib/python3.8/site-packages/setuptools/lib2to3_ex.py delete mode 100644 .venv/lib/python3.8/site-packages/setuptools/monkey.py delete mode 100644 .venv/lib/python3.8/site-packages/setuptools/msvc.py delete mode 100644 .venv/lib/python3.8/site-packages/setuptools/namespaces.py delete mode 100644 .venv/lib/python3.8/site-packages/setuptools/package_index.py delete mode 100644 .venv/lib/python3.8/site-packages/setuptools/py27compat.py delete mode 100644 .venv/lib/python3.8/site-packages/setuptools/py31compat.py delete mode 100644 .venv/lib/python3.8/site-packages/setuptools/py33compat.py delete mode 100644 .venv/lib/python3.8/site-packages/setuptools/py34compat.py delete mode 100644 .venv/lib/python3.8/site-packages/setuptools/sandbox.py delete mode 100644 .venv/lib/python3.8/site-packages/setuptools/script (dev).tmpl delete mode 100644 .venv/lib/python3.8/site-packages/setuptools/script.tmpl delete mode 100644 .venv/lib/python3.8/site-packages/setuptools/site-patch.py delete mode 100644 .venv/lib/python3.8/site-packages/setuptools/ssl_support.py delete mode 100644 .venv/lib/python3.8/site-packages/setuptools/unicode_utils.py delete mode 100644 .venv/lib/python3.8/site-packages/setuptools/version.py delete mode 100644 .venv/lib/python3.8/site-packages/setuptools/wheel.py delete mode 100644 .venv/lib/python3.8/site-packages/setuptools/windows_support.py delete mode 120000 .venv/lib64 delete mode 100644 .venv/pyvenv.cfg delete mode 100644 .venv/share/python-wheels/CacheControl-0.12.6-py2.py3-none-any.whl delete mode 100644 .venv/share/python-wheels/appdirs-1.4.3-py2.py3-none-any.whl delete mode 100644 .venv/share/python-wheels/certifi-2019.11.28-py2.py3-none-any.whl delete mode 100644 .venv/share/python-wheels/chardet-3.0.4-py2.py3-none-any.whl delete mode 100644 .venv/share/python-wheels/colorama-0.4.3-py2.py3-none-any.whl delete mode 100644 .venv/share/python-wheels/contextlib2-0.6.0-py2.py3-none-any.whl delete mode 100644 .venv/share/python-wheels/distlib-0.3.0-py2.py3-none-any.whl delete mode 100644 .venv/share/python-wheels/distro-1.4.0-py2.py3-none-any.whl delete mode 100644 .venv/share/python-wheels/html5lib-1.0.1-py2.py3-none-any.whl delete mode 100644 .venv/share/python-wheels/idna-2.8-py2.py3-none-any.whl delete mode 100644 .venv/share/python-wheels/ipaddr-2.2.0-py2.py3-none-any.whl delete mode 100644 .venv/share/python-wheels/lockfile-0.12.2-py2.py3-none-any.whl delete mode 100644 .venv/share/python-wheels/msgpack-0.6.2-py2.py3-none-any.whl delete mode 100644 .venv/share/python-wheels/packaging-20.3-py2.py3-none-any.whl delete mode 100644 .venv/share/python-wheels/pep517-0.8.2-py2.py3-none-any.whl delete mode 100644 .venv/share/python-wheels/pip-20.0.2-py2.py3-none-any.whl delete mode 100644 .venv/share/python-wheels/pkg_resources-0.0.0-py2.py3-none-any.whl delete mode 100644 .venv/share/python-wheels/progress-1.5-py2.py3-none-any.whl delete mode 100644 .venv/share/python-wheels/pyparsing-2.4.6-py2.py3-none-any.whl delete mode 100644 .venv/share/python-wheels/requests-2.22.0-py2.py3-none-any.whl delete mode 100644 .venv/share/python-wheels/retrying-1.3.3-py2.py3-none-any.whl delete mode 100644 .venv/share/python-wheels/setuptools-44.0.0-py2.py3-none-any.whl delete mode 100644 .venv/share/python-wheels/six-1.14.0-py2.py3-none-any.whl delete mode 100644 .venv/share/python-wheels/toml-0.10.0-py2.py3-none-any.whl delete mode 100644 .venv/share/python-wheels/urllib3-1.25.8-py2.py3-none-any.whl delete mode 100644 .venv/share/python-wheels/webencodings-0.5.1-py2.py3-none-any.whl delete mode 100644 .venv/share/python-wheels/wheel-0.34.2-py2.py3-none-any.whl create mode 100644 Serie4/Ex4.py create mode 100644 Serie5/05_morphologies.pdf create mode 100644 Serie5/Ex1.py create mode 100644 Serie5/hepia.png diff --git a/.venv/bin/Activate.ps1 b/.venv/bin/Activate.ps1 deleted file mode 100644 index 2fb3852..0000000 --- a/.venv/bin/Activate.ps1 +++ /dev/null @@ -1,241 +0,0 @@ -<# -.Synopsis -Activate a Python virtual environment for the current PowerShell session. - -.Description -Pushes the python executable for a virtual environment to the front of the -$Env:PATH environment variable and sets the prompt to signify that you are -in a Python virtual environment. Makes use of the command line switches as -well as the `pyvenv.cfg` file values present in the virtual environment. - -.Parameter VenvDir -Path to the directory that contains the virtual environment to activate. The -default value for this is the parent of the directory that the Activate.ps1 -script is located within. - -.Parameter Prompt -The prompt prefix to display when this virtual environment is activated. By -default, this prompt is the name of the virtual environment folder (VenvDir) -surrounded by parentheses and followed by a single space (ie. '(.venv) '). - -.Example -Activate.ps1 -Activates the Python virtual environment that contains the Activate.ps1 script. - -.Example -Activate.ps1 -Verbose -Activates the Python virtual environment that contains the Activate.ps1 script, -and shows extra information about the activation as it executes. - -.Example -Activate.ps1 -VenvDir C:\Users\MyUser\Common\.venv -Activates the Python virtual environment located in the specified location. - -.Example -Activate.ps1 -Prompt "MyPython" -Activates the Python virtual environment that contains the Activate.ps1 script, -and prefixes the current prompt with the specified string (surrounded in -parentheses) while the virtual environment is active. - -.Notes -On Windows, it may be required to enable this Activate.ps1 script by setting the -execution policy for the user. You can do this by issuing the following PowerShell -command: - -PS C:\> Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser - -For more information on Execution Policies: -https://go.microsoft.com/fwlink/?LinkID=135170 - -#> -Param( - [Parameter(Mandatory = $false)] - [String] - $VenvDir, - [Parameter(Mandatory = $false)] - [String] - $Prompt -) - -<# Function declarations --------------------------------------------------- #> - -<# -.Synopsis -Remove all shell session elements added by the Activate script, including the -addition of the virtual environment's Python executable from the beginning of -the PATH variable. - -.Parameter NonDestructive -If present, do not remove this function from the global namespace for the -session. - -#> -function global:deactivate ([switch]$NonDestructive) { - # Revert to original values - - # The prior prompt: - if (Test-Path -Path Function:_OLD_VIRTUAL_PROMPT) { - Copy-Item -Path Function:_OLD_VIRTUAL_PROMPT -Destination Function:prompt - Remove-Item -Path Function:_OLD_VIRTUAL_PROMPT - } - - # The prior PYTHONHOME: - if (Test-Path -Path Env:_OLD_VIRTUAL_PYTHONHOME) { - Copy-Item -Path Env:_OLD_VIRTUAL_PYTHONHOME -Destination Env:PYTHONHOME - Remove-Item -Path Env:_OLD_VIRTUAL_PYTHONHOME - } - - # The prior PATH: - if (Test-Path -Path Env:_OLD_VIRTUAL_PATH) { - Copy-Item -Path Env:_OLD_VIRTUAL_PATH -Destination Env:PATH - Remove-Item -Path Env:_OLD_VIRTUAL_PATH - } - - # Just remove the VIRTUAL_ENV altogether: - if (Test-Path -Path Env:VIRTUAL_ENV) { - Remove-Item -Path env:VIRTUAL_ENV - } - - # Just remove the _PYTHON_VENV_PROMPT_PREFIX altogether: - if (Get-Variable -Name "_PYTHON_VENV_PROMPT_PREFIX" -ErrorAction SilentlyContinue) { - Remove-Variable -Name _PYTHON_VENV_PROMPT_PREFIX -Scope Global -Force - } - - # Leave deactivate function in the global namespace if requested: - if (-not $NonDestructive) { - Remove-Item -Path function:deactivate - } -} - -<# -.Description -Get-PyVenvConfig parses the values from the pyvenv.cfg file located in the -given folder, and returns them in a map. - -For each line in the pyvenv.cfg file, if that line can be parsed into exactly -two strings separated by `=` (with any amount of whitespace surrounding the =) -then it is considered a `key = value` line. The left hand string is the key, -the right hand is the value. - -If the value starts with a `'` or a `"` then the first and last character is -stripped from the value before being captured. - -.Parameter ConfigDir -Path to the directory that contains the `pyvenv.cfg` file. -#> -function Get-PyVenvConfig( - [String] - $ConfigDir -) { - Write-Verbose "Given ConfigDir=$ConfigDir, obtain values in pyvenv.cfg" - - # Ensure the file exists, and issue a warning if it doesn't (but still allow the function to continue). - $pyvenvConfigPath = Join-Path -Resolve -Path $ConfigDir -ChildPath 'pyvenv.cfg' -ErrorAction Continue - - # An empty map will be returned if no config file is found. - $pyvenvConfig = @{ } - - if ($pyvenvConfigPath) { - - Write-Verbose "File exists, parse `key = value` lines" - $pyvenvConfigContent = Get-Content -Path $pyvenvConfigPath - - $pyvenvConfigContent | ForEach-Object { - $keyval = $PSItem -split "\s*=\s*", 2 - if ($keyval[0] -and $keyval[1]) { - $val = $keyval[1] - - # Remove extraneous quotations around a string value. - if ("'""".Contains($val.Substring(0, 1))) { - $val = $val.Substring(1, $val.Length - 2) - } - - $pyvenvConfig[$keyval[0]] = $val - Write-Verbose "Adding Key: '$($keyval[0])'='$val'" - } - } - } - return $pyvenvConfig -} - - -<# Begin Activate script --------------------------------------------------- #> - -# Determine the containing directory of this script -$VenvExecPath = Split-Path -Parent $MyInvocation.MyCommand.Definition -$VenvExecDir = Get-Item -Path $VenvExecPath - -Write-Verbose "Activation script is located in path: '$VenvExecPath'" -Write-Verbose "VenvExecDir Fullname: '$($VenvExecDir.FullName)" -Write-Verbose "VenvExecDir Name: '$($VenvExecDir.Name)" - -# Set values required in priority: CmdLine, ConfigFile, Default -# First, get the location of the virtual environment, it might not be -# VenvExecDir if specified on the command line. -if ($VenvDir) { - Write-Verbose "VenvDir given as parameter, using '$VenvDir' to determine values" -} -else { - Write-Verbose "VenvDir not given as a parameter, using parent directory name as VenvDir." - $VenvDir = $VenvExecDir.Parent.FullName.TrimEnd("\\/") - Write-Verbose "VenvDir=$VenvDir" -} - -# Next, read the `pyvenv.cfg` file to determine any required value such -# as `prompt`. -$pyvenvCfg = Get-PyVenvConfig -ConfigDir $VenvDir - -# Next, set the prompt from the command line, or the config file, or -# just use the name of the virtual environment folder. -if ($Prompt) { - Write-Verbose "Prompt specified as argument, using '$Prompt'" -} -else { - Write-Verbose "Prompt not specified as argument to script, checking pyvenv.cfg value" - if ($pyvenvCfg -and $pyvenvCfg['prompt']) { - Write-Verbose " Setting based on value in pyvenv.cfg='$($pyvenvCfg['prompt'])'" - $Prompt = $pyvenvCfg['prompt']; - } - else { - Write-Verbose " Setting prompt based on parent's directory's name. (Is the directory name passed to venv module when creating the virutal environment)" - Write-Verbose " Got leaf-name of $VenvDir='$(Split-Path -Path $venvDir -Leaf)'" - $Prompt = Split-Path -Path $venvDir -Leaf - } -} - -Write-Verbose "Prompt = '$Prompt'" -Write-Verbose "VenvDir='$VenvDir'" - -# Deactivate any currently active virtual environment, but leave the -# deactivate function in place. -deactivate -nondestructive - -# Now set the environment variable VIRTUAL_ENV, used by many tools to determine -# that there is an activated venv. -$env:VIRTUAL_ENV = $VenvDir - -if (-not $Env:VIRTUAL_ENV_DISABLE_PROMPT) { - - Write-Verbose "Setting prompt to '$Prompt'" - - # Set the prompt to include the env name - # Make sure _OLD_VIRTUAL_PROMPT is global - function global:_OLD_VIRTUAL_PROMPT { "" } - Copy-Item -Path function:prompt -Destination function:_OLD_VIRTUAL_PROMPT - New-Variable -Name _PYTHON_VENV_PROMPT_PREFIX -Description "Python virtual environment prompt prefix" -Scope Global -Option ReadOnly -Visibility Public -Value $Prompt - - function global:prompt { - Write-Host -NoNewline -ForegroundColor Green "($_PYTHON_VENV_PROMPT_PREFIX) " - _OLD_VIRTUAL_PROMPT - } -} - -# Clear PYTHONHOME -if (Test-Path -Path Env:PYTHONHOME) { - Copy-Item -Path Env:PYTHONHOME -Destination Env:_OLD_VIRTUAL_PYTHONHOME - Remove-Item -Path Env:PYTHONHOME -} - -# Add the venv to the PATH -Copy-Item -Path Env:PATH -Destination Env:_OLD_VIRTUAL_PATH -$Env:PATH = "$VenvExecDir$([System.IO.Path]::PathSeparator)$Env:PATH" diff --git a/.venv/bin/activate b/.venv/bin/activate deleted file mode 100644 index e723418..0000000 --- a/.venv/bin/activate +++ /dev/null @@ -1,76 +0,0 @@ -# This file must be used with "source bin/activate" *from bash* -# you cannot run it directly - -deactivate () { - # reset old environment variables - if [ -n "${_OLD_VIRTUAL_PATH:-}" ] ; then - PATH="${_OLD_VIRTUAL_PATH:-}" - export PATH - unset _OLD_VIRTUAL_PATH - fi - if [ -n "${_OLD_VIRTUAL_PYTHONHOME:-}" ] ; then - PYTHONHOME="${_OLD_VIRTUAL_PYTHONHOME:-}" - export PYTHONHOME - unset _OLD_VIRTUAL_PYTHONHOME - fi - - # This should detect bash and zsh, which have a hash command that must - # be called to get it to forget past commands. Without forgetting - # past commands the $PATH changes we made may not be respected - if [ -n "${BASH:-}" -o -n "${ZSH_VERSION:-}" ] ; then - hash -r - fi - - if [ -n "${_OLD_VIRTUAL_PS1:-}" ] ; then - PS1="${_OLD_VIRTUAL_PS1:-}" - export PS1 - unset _OLD_VIRTUAL_PS1 - fi - - unset VIRTUAL_ENV - if [ ! "${1:-}" = "nondestructive" ] ; then - # Self destruct! - unset -f deactivate - fi -} - -# unset irrelevant variables -deactivate nondestructive - -VIRTUAL_ENV="/home/ivan/Bureau/NoteHepia/Lundi/Visnum/Exercice/.venv" -export VIRTUAL_ENV - -_OLD_VIRTUAL_PATH="$PATH" -PATH="$VIRTUAL_ENV/bin:$PATH" -export PATH - -# unset PYTHONHOME if set -# this will fail if PYTHONHOME is set to the empty string (which is bad anyway) -# could use `if (set -u; : $PYTHONHOME) ;` in bash -if [ -n "${PYTHONHOME:-}" ] ; then - _OLD_VIRTUAL_PYTHONHOME="${PYTHONHOME:-}" - unset PYTHONHOME -fi - -if [ -z "${VIRTUAL_ENV_DISABLE_PROMPT:-}" ] ; then - _OLD_VIRTUAL_PS1="${PS1:-}" - if [ "x(.venv) " != x ] ; then - PS1="(.venv) ${PS1:-}" - else - if [ "`basename \"$VIRTUAL_ENV\"`" = "__" ] ; then - # special case for Aspen magic directories - # see https://aspen.io/ - PS1="[`basename \`dirname \"$VIRTUAL_ENV\"\``] $PS1" - else - PS1="(`basename \"$VIRTUAL_ENV\"`)$PS1" - fi - fi - export PS1 -fi - -# This should detect bash and zsh, which have a hash command that must -# be called to get it to forget past commands. Without forgetting -# past commands the $PATH changes we made may not be respected -if [ -n "${BASH:-}" -o -n "${ZSH_VERSION:-}" ] ; then - hash -r -fi diff --git a/.venv/bin/activate.csh b/.venv/bin/activate.csh deleted file mode 100644 index a7025aa..0000000 --- a/.venv/bin/activate.csh +++ /dev/null @@ -1,37 +0,0 @@ -# This file must be used with "source bin/activate.csh" *from csh*. -# You cannot run it directly. -# Created by Davide Di Blasi <davidedb@gmail.com>. -# Ported to Python 3.3 venv by Andrew Svetlov <andrew.svetlov@gmail.com> - -alias deactivate 'test $?_OLD_VIRTUAL_PATH != 0 && setenv PATH "$_OLD_VIRTUAL_PATH" && unset _OLD_VIRTUAL_PATH; rehash; test $?_OLD_VIRTUAL_PROMPT != 0 && set prompt="$_OLD_VIRTUAL_PROMPT" && unset _OLD_VIRTUAL_PROMPT; unsetenv VIRTUAL_ENV; test "\!:*" != "nondestructive" && unalias deactivate' - -# Unset irrelevant variables. -deactivate nondestructive - -setenv VIRTUAL_ENV "/home/ivan/Bureau/NoteHepia/Lundi/Visnum/Exercice/.venv" - -set _OLD_VIRTUAL_PATH="$PATH" -setenv PATH "$VIRTUAL_ENV/bin:$PATH" - - -set _OLD_VIRTUAL_PROMPT="$prompt" - -if (! "$?VIRTUAL_ENV_DISABLE_PROMPT") then - if (".venv" != "") then - set env_name = ".venv" - else - if (`basename "VIRTUAL_ENV"` == "__") then - # special case for Aspen magic directories - # see https://aspen.io/ - set env_name = `basename \`dirname "$VIRTUAL_ENV"\`` - else - set env_name = `basename "$VIRTUAL_ENV"` - endif - endif - set prompt = "[$env_name] $prompt" - unset env_name -endif - -alias pydoc python -m pydoc - -rehash diff --git a/.venv/bin/activate.fish b/.venv/bin/activate.fish deleted file mode 100644 index 33a7014..0000000 --- a/.venv/bin/activate.fish +++ /dev/null @@ -1,75 +0,0 @@ -# This file must be used with ". bin/activate.fish" *from fish* (http://fishshell.org) -# you cannot run it directly - -function deactivate -d "Exit virtualenv and return to normal shell environment" - # reset old environment variables - if test -n "$_OLD_VIRTUAL_PATH" - set -gx PATH $_OLD_VIRTUAL_PATH - set -e _OLD_VIRTUAL_PATH - end - if test -n "$_OLD_VIRTUAL_PYTHONHOME" - set -gx PYTHONHOME $_OLD_VIRTUAL_PYTHONHOME - set -e _OLD_VIRTUAL_PYTHONHOME - end - - if test -n "$_OLD_FISH_PROMPT_OVERRIDE" - functions -e fish_prompt - set -e _OLD_FISH_PROMPT_OVERRIDE - functions -c _old_fish_prompt fish_prompt - functions -e _old_fish_prompt - end - - set -e VIRTUAL_ENV - if test "$argv[1]" != "nondestructive" - # Self destruct! - functions -e deactivate - end -end - -# unset irrelevant variables -deactivate nondestructive - -set -gx VIRTUAL_ENV "/home/ivan/Bureau/NoteHepia/Lundi/Visnum/Exercice/.venv" - -set -gx _OLD_VIRTUAL_PATH $PATH -set -gx PATH "$VIRTUAL_ENV/bin" $PATH - -# unset PYTHONHOME if set -if set -q PYTHONHOME - set -gx _OLD_VIRTUAL_PYTHONHOME $PYTHONHOME - set -e PYTHONHOME -end - -if test -z "$VIRTUAL_ENV_DISABLE_PROMPT" - # fish uses a function instead of an env var to generate the prompt. - - # save the current fish_prompt function as the function _old_fish_prompt - functions -c fish_prompt _old_fish_prompt - - # with the original prompt function renamed, we can override with our own. - function fish_prompt - # Save the return status of the last command - set -l old_status $status - - # Prompt override? - if test -n "(.venv) " - printf "%s%s" "(.venv) " (set_color normal) - else - # ...Otherwise, prepend env - set -l _checkbase (basename "$VIRTUAL_ENV") - if test $_checkbase = "__" - # special case for Aspen magic directories - # see https://aspen.io/ - printf "%s[%s]%s " (set_color -b blue white) (basename (dirname "$VIRTUAL_ENV")) (set_color normal) - else - printf "%s(%s)%s" (set_color -b blue white) (basename "$VIRTUAL_ENV") (set_color normal) - end - end - - # Restore the return status of the previous command. - echo "exit $old_status" | . - _old_fish_prompt - end - - set -gx _OLD_FISH_PROMPT_OVERRIDE "$VIRTUAL_ENV" -end diff --git a/.venv/bin/easy_install b/.venv/bin/easy_install deleted file mode 100755 index 6f4e2fb..0000000 --- a/.venv/bin/easy_install +++ /dev/null @@ -1,8 +0,0 @@ -#!/home/ivan/Bureau/NoteHepia/Lundi/Visnum/Exercice/.venv/bin/python3 -# -*- coding: utf-8 -*- -import re -import sys -from setuptools.command.easy_install import main -if __name__ == '__main__': - sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0]) - sys.exit(main()) diff --git a/.venv/bin/easy_install-3.8 b/.venv/bin/easy_install-3.8 deleted file mode 100755 index 6f4e2fb..0000000 --- a/.venv/bin/easy_install-3.8 +++ /dev/null @@ -1,8 +0,0 @@ -#!/home/ivan/Bureau/NoteHepia/Lundi/Visnum/Exercice/.venv/bin/python3 -# -*- coding: utf-8 -*- -import re -import sys -from setuptools.command.easy_install import main -if __name__ == '__main__': - sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0]) - sys.exit(main()) diff --git a/.venv/bin/pip b/.venv/bin/pip deleted file mode 100755 index 4c3a7b8..0000000 --- a/.venv/bin/pip +++ /dev/null @@ -1,8 +0,0 @@ -#!/home/ivan/Bureau/NoteHepia/Lundi/Visnum/Exercice/.venv/bin/python3 -# -*- coding: utf-8 -*- -import re -import sys -from pip._internal.cli.main import main -if __name__ == '__main__': - sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0]) - sys.exit(main()) diff --git a/.venv/bin/pip3 b/.venv/bin/pip3 deleted file mode 100755 index 4c3a7b8..0000000 --- a/.venv/bin/pip3 +++ /dev/null @@ -1,8 +0,0 @@ -#!/home/ivan/Bureau/NoteHepia/Lundi/Visnum/Exercice/.venv/bin/python3 -# -*- coding: utf-8 -*- -import re -import sys -from pip._internal.cli.main import main -if __name__ == '__main__': - sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0]) - sys.exit(main()) diff --git a/.venv/bin/pip3.8 b/.venv/bin/pip3.8 deleted file mode 100755 index 4c3a7b8..0000000 --- a/.venv/bin/pip3.8 +++ /dev/null @@ -1,8 +0,0 @@ -#!/home/ivan/Bureau/NoteHepia/Lundi/Visnum/Exercice/.venv/bin/python3 -# -*- coding: utf-8 -*- -import re -import sys -from pip._internal.cli.main import main -if __name__ == '__main__': - sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0]) - sys.exit(main()) diff --git a/.venv/bin/python b/.venv/bin/python deleted file mode 120000 index b8a0adb..0000000 --- a/.venv/bin/python +++ /dev/null @@ -1 +0,0 @@ -python3 \ No newline at end of file diff --git a/.venv/bin/python3 b/.venv/bin/python3 deleted file mode 120000 index ae65fda..0000000 --- a/.venv/bin/python3 +++ /dev/null @@ -1 +0,0 @@ -/usr/bin/python3 \ No newline at end of file diff --git a/.venv/lib/python3.8/site-packages/__pycache__/easy_install.cpython-38.pyc b/.venv/lib/python3.8/site-packages/__pycache__/easy_install.cpython-38.pyc deleted file mode 100644 index 1a691263e9a7419753186a998a23e5108b24abcc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 281 zcmWIL<>g{vU|=}2?@w|a0|Ucj5C<7EF)%PVFfcF_D={!Iq%cG=q%x*3W-}GZr7)#1 z=P>0mM=>)pq%t=%FfydD1T$!|R!Iky<|&k9q$;>37FT-a6_+ID<R~QP=jJBnrQG6( zkIzla%!`kI39>|!@fHh+>!-<bi#<L*B|kYn9;75MF*h|nK1#kgwWPG5BtJi=SPyD| zUTR`-Wqc;Y)FNgE28NXkMQjWV5aO4Ceo1bDenDn|ZfRaYVsdtBif(yEYHE&dNpXIB kYG!7cKC*tjg34PQHo5sJr8%i~j37^fOk!c;VB}#00E<;kwEzGB diff --git a/.venv/lib/python3.8/site-packages/easy_install.py b/.venv/lib/python3.8/site-packages/easy_install.py deleted file mode 100644 index d87e984..0000000 --- a/.venv/lib/python3.8/site-packages/easy_install.py +++ /dev/null @@ -1,5 +0,0 @@ -"""Run the EasyInstall command""" - -if __name__ == '__main__': - from setuptools.command.easy_install import main - main() diff --git a/.venv/lib/python3.8/site-packages/pip-20.0.2.dist-info/INSTALLER b/.venv/lib/python3.8/site-packages/pip-20.0.2.dist-info/INSTALLER deleted file mode 100644 index a1b589e..0000000 --- a/.venv/lib/python3.8/site-packages/pip-20.0.2.dist-info/INSTALLER +++ /dev/null @@ -1 +0,0 @@ -pip diff --git a/.venv/lib/python3.8/site-packages/pip-20.0.2.dist-info/LICENSE.txt b/.venv/lib/python3.8/site-packages/pip-20.0.2.dist-info/LICENSE.txt deleted file mode 100644 index 737fec5..0000000 --- a/.venv/lib/python3.8/site-packages/pip-20.0.2.dist-info/LICENSE.txt +++ /dev/null @@ -1,20 +0,0 @@ -Copyright (c) 2008-2019 The pip developers (see AUTHORS.txt file) - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/.venv/lib/python3.8/site-packages/pip-20.0.2.dist-info/METADATA b/.venv/lib/python3.8/site-packages/pip-20.0.2.dist-info/METADATA deleted file mode 100644 index 5183c4e..0000000 --- a/.venv/lib/python3.8/site-packages/pip-20.0.2.dist-info/METADATA +++ /dev/null @@ -1,84 +0,0 @@ -Metadata-Version: 2.1 -Name: pip -Version: 20.0.2 -Summary: The PyPA recommended tool for installing Python packages. -Home-page: https://pip.pypa.io/ -Author: The pip developers -Author-email: pypa-dev@groups.google.com -License: MIT -Project-URL: Documentation, https://pip.pypa.io -Project-URL: Source, https://github.com/pypa/pip -Keywords: distutils easy_install egg setuptools wheel virtualenv -Platform: UNKNOWN -Classifier: Development Status :: 5 - Production/Stable -Classifier: Intended Audience :: Developers -Classifier: License :: OSI Approved :: MIT License -Classifier: Topic :: Software Development :: Build Tools -Classifier: Programming Language :: Python -Classifier: Programming Language :: Python :: 2 -Classifier: Programming Language :: Python :: 2.7 -Classifier: Programming Language :: Python :: 3 -Classifier: Programming Language :: Python :: 3.5 -Classifier: Programming Language :: Python :: 3.6 -Classifier: Programming Language :: Python :: 3.7 -Classifier: Programming Language :: Python :: 3.8 -Classifier: Programming Language :: Python :: Implementation :: CPython -Classifier: Programming Language :: Python :: Implementation :: PyPy -Requires-Python: >=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.* - -pip - The Python Package Installer -================================== - -.. image:: https://img.shields.io/pypi/v/pip.svg - :target: https://pypi.org/project/pip/ - -.. image:: https://readthedocs.org/projects/pip/badge/?version=latest - :target: https://pip.pypa.io/en/latest - -pip is the `package installer`_ for Python. You can use pip to install packages from the `Python Package Index`_ and other indexes. - -Please take a look at our documentation for how to install and use pip: - -* `Installation`_ -* `Usage`_ - -Updates are released regularly, with a new version every 3 months. More details can be found in our documentation: - -* `Release notes`_ -* `Release process`_ - -If you find bugs, need help, or want to talk to the developers please use our mailing lists or chat rooms: - -* `Issue tracking`_ -* `Discourse channel`_ -* `User IRC`_ - -If you want to get involved head over to GitHub to get the source code, look at our development documentation and feel free to jump on the developer mailing lists and chat rooms: - -* `GitHub page`_ -* `Dev documentation`_ -* `Dev mailing list`_ -* `Dev IRC`_ - -Code of Conduct ---------------- - -Everyone interacting in the pip project's codebases, issue trackers, chat -rooms, and mailing lists is expected to follow the `PyPA Code of Conduct`_. - -.. _package installer: https://packaging.python.org/guides/tool-recommendations/ -.. _Python Package Index: https://pypi.org -.. _Installation: https://pip.pypa.io/en/stable/installing.html -.. _Usage: https://pip.pypa.io/en/stable/ -.. _Release notes: https://pip.pypa.io/en/stable/news.html -.. _Release process: https://pip.pypa.io/en/latest/development/release-process/ -.. _GitHub page: https://github.com/pypa/pip -.. _Dev documentation: https://pip.pypa.io/en/latest/development -.. _Issue tracking: https://github.com/pypa/pip/issues -.. _Discourse channel: https://discuss.python.org/c/packaging -.. _Dev mailing list: https://groups.google.com/forum/#!forum/pypa-dev -.. _User IRC: https://webchat.freenode.net/?channels=%23pypa -.. _Dev IRC: https://webchat.freenode.net/?channels=%23pypa-dev -.. _PyPA Code of Conduct: https://www.pypa.io/en/latest/code-of-conduct/ - - diff --git a/.venv/lib/python3.8/site-packages/pip-20.0.2.dist-info/RECORD b/.venv/lib/python3.8/site-packages/pip-20.0.2.dist-info/RECORD deleted file mode 100644 index 6d7eed4..0000000 --- a/.venv/lib/python3.8/site-packages/pip-20.0.2.dist-info/RECORD +++ /dev/null @@ -1,246 +0,0 @@ -../../../bin/pip,sha256=FWnadrcKxUdqgbYXep3CFfJ9hg6LA3E9qdH-AlsE_x0,272 -../../../bin/pip3,sha256=FWnadrcKxUdqgbYXep3CFfJ9hg6LA3E9qdH-AlsE_x0,272 -../../../bin/pip3.8,sha256=FWnadrcKxUdqgbYXep3CFfJ9hg6LA3E9qdH-AlsE_x0,272 -pip-20.0.2.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 -pip-20.0.2.dist-info/LICENSE.txt,sha256=W6Ifuwlk-TatfRU2LR7W1JMcyMj5_y1NkRkOEJvnRDE,1090 -pip-20.0.2.dist-info/METADATA,sha256=MSgjT2JTt8usp4Hopp5AGEmc-7sKR2Jd7HTMJqCoRhw,3352 -pip-20.0.2.dist-info/RECORD,, -pip-20.0.2.dist-info/WHEEL,sha256=kGT74LWyRUZrL4VgLh6_g12IeVl_9u9ZVhadrgXZUEY,110 -pip-20.0.2.dist-info/entry_points.txt,sha256=HtfDOwpUlr9s73jqLQ6wF9V0_0qvUXJwCBz7Vwx0Ue0,125 -pip-20.0.2.dist-info/top_level.txt,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 -pip/__init__.py,sha256=U1AM82iShMaw90K6Yq0Q2-AZ1EsOcqQLQRB-rxwFtII,455 -pip/__main__.py,sha256=NM95x7KuQr-lwPoTjAC0d_QzLJsJjpmAoxZg0mP8s98,632 -pip/__pycache__/__init__.cpython-38.pyc,, -pip/__pycache__/__main__.cpython-38.pyc,, -pip/_internal/__init__.py,sha256=j5fiII6yCeZjpW7_7wAVRMM4DwE-gyARGVU4yAADDeE,517 -pip/_internal/__pycache__/__init__.cpython-38.pyc,, -pip/_internal/__pycache__/build_env.cpython-38.pyc,, -pip/_internal/__pycache__/cache.cpython-38.pyc,, -pip/_internal/__pycache__/configuration.cpython-38.pyc,, -pip/_internal/__pycache__/exceptions.cpython-38.pyc,, -pip/_internal/__pycache__/legacy_resolve.cpython-38.pyc,, -pip/_internal/__pycache__/locations.cpython-38.pyc,, -pip/_internal/__pycache__/main.cpython-38.pyc,, -pip/_internal/__pycache__/pep425tags.cpython-38.pyc,, -pip/_internal/__pycache__/pyproject.cpython-38.pyc,, -pip/_internal/__pycache__/self_outdated_check.cpython-38.pyc,, -pip/_internal/__pycache__/wheel_builder.cpython-38.pyc,, -pip/_internal/build_env.py,sha256=--aNgzIdYrCOclHMwoAdpclCpfdFE_jooRuCy5gczwg,7532 -pip/_internal/cache.py,sha256=16GrnDRLBQNlfKWIuIF6Sa-EFS78kez_w1WEjT3ykTI,11605 -pip/_internal/cli/__init__.py,sha256=FkHBgpxxb-_gd6r1FjnNhfMOzAUYyXoXKJ6abijfcFU,132 -pip/_internal/cli/__pycache__/__init__.cpython-38.pyc,, -pip/_internal/cli/__pycache__/autocompletion.cpython-38.pyc,, -pip/_internal/cli/__pycache__/base_command.cpython-38.pyc,, -pip/_internal/cli/__pycache__/cmdoptions.cpython-38.pyc,, -pip/_internal/cli/__pycache__/command_context.cpython-38.pyc,, -pip/_internal/cli/__pycache__/main.cpython-38.pyc,, -pip/_internal/cli/__pycache__/main_parser.cpython-38.pyc,, -pip/_internal/cli/__pycache__/parser.cpython-38.pyc,, -pip/_internal/cli/__pycache__/req_command.cpython-38.pyc,, -pip/_internal/cli/__pycache__/status_codes.cpython-38.pyc,, -pip/_internal/cli/autocompletion.py,sha256=ekGNtcDI0p7rFVc-7s4T9Tbss4Jgb7vsB649XJIblRg,6547 -pip/_internal/cli/base_command.py,sha256=v6yl5XNRqye8BT9ep8wvpMu6lylP_Hu6D95r_HqbpbQ,7948 -pip/_internal/cli/cmdoptions.py,sha256=f1TVHuu_fR3lLlMo6b367H_GsWFv26tLI9cAS-kZfE0,28114 -pip/_internal/cli/command_context.py,sha256=ygMVoTy2jpNilKT-6416gFSQpaBtrKRBbVbi2fy__EU,975 -pip/_internal/cli/main.py,sha256=8iq3bHe5lxJTB2EvKOqZ38NS0MmoS79_S1kgj4QuH8A,2610 -pip/_internal/cli/main_parser.py,sha256=W9OWeryh7ZkqELohaFh0Ko9sB98ZkSeDmnYbOZ1imBc,2819 -pip/_internal/cli/parser.py,sha256=O9djTuYQuSfObiY-NU6p4MJCfWsRUnDpE2YGA_fwols,9487 -pip/_internal/cli/req_command.py,sha256=pAUAglpTn0mUA6lRs7KN71yOm1KDabD0ySVTQTqWTSA,12463 -pip/_internal/cli/status_codes.py,sha256=F6uDG6Gj7RNKQJUDnd87QKqI16Us-t-B0wPF_4QMpWc,156 -pip/_internal/commands/__init__.py,sha256=uTSj58QlrSKeXqCUSdL-eAf_APzx5BHy1ABxb0j5ZNE,3714 -pip/_internal/commands/__pycache__/__init__.cpython-38.pyc,, -pip/_internal/commands/__pycache__/check.cpython-38.pyc,, -pip/_internal/commands/__pycache__/completion.cpython-38.pyc,, -pip/_internal/commands/__pycache__/configuration.cpython-38.pyc,, -pip/_internal/commands/__pycache__/debug.cpython-38.pyc,, -pip/_internal/commands/__pycache__/download.cpython-38.pyc,, -pip/_internal/commands/__pycache__/freeze.cpython-38.pyc,, -pip/_internal/commands/__pycache__/hash.cpython-38.pyc,, -pip/_internal/commands/__pycache__/help.cpython-38.pyc,, -pip/_internal/commands/__pycache__/install.cpython-38.pyc,, -pip/_internal/commands/__pycache__/list.cpython-38.pyc,, -pip/_internal/commands/__pycache__/search.cpython-38.pyc,, -pip/_internal/commands/__pycache__/show.cpython-38.pyc,, -pip/_internal/commands/__pycache__/uninstall.cpython-38.pyc,, -pip/_internal/commands/__pycache__/wheel.cpython-38.pyc,, -pip/_internal/commands/check.py,sha256=mgLNYT3bd6Kmynwh4zzcBmVlFZ-urMo40jTgk6U405E,1505 -pip/_internal/commands/completion.py,sha256=UFQvq0Q4_B96z1bvnQyMOq82aPSu05RejbLmqeTZjC0,2975 -pip/_internal/commands/configuration.py,sha256=6riioZjMhsNSEct7dE-X8SobGodk3WERKJvuyjBje4Q,7226 -pip/_internal/commands/debug.py,sha256=a8llax2hRkxgK-tvwdJgaCaZCYPIx0fDvrlMDoYr8bQ,4209 -pip/_internal/commands/download.py,sha256=zX_0-IeFb4C8dxSmGHxk-6H5kehtyTSsdWpjNpAhSww,5007 -pip/_internal/commands/freeze.py,sha256=QS-4ib8jbKJ2wrDaDbTuyaB3Y_iJ5CQC2gAVHuAv9QU,3481 -pip/_internal/commands/hash.py,sha256=47teimfAPhpkaVbSDaafck51BT3XXYuL83lAqc5lOcE,1735 -pip/_internal/commands/help.py,sha256=Nhecq--ydFn80Gm1Zvbf9943EcRJfO0TnXUhsF0RO7s,1181 -pip/_internal/commands/install.py,sha256=T4P3J1rw7CQrZX4OUamtcoWMkTrJBfUe6gWpTfZW1bQ,27286 -pip/_internal/commands/list.py,sha256=2l0JiqHxjxDHNTCb2HZOjwwdo4duS1R0MsqZb6HSMKk,10660 -pip/_internal/commands/search.py,sha256=7Il8nKZ9mM7qF5jlnBoPvSIFY9f-0-5IbYoX3miTuZY,5148 -pip/_internal/commands/show.py,sha256=Vzsj2oX0JBl94MPyF3LV8YoMcigl8B2UsMM8zp0pH2s,6792 -pip/_internal/commands/uninstall.py,sha256=8mldFbrQecSoWDZRqxBgJkrlvx6Y9Iy7cs-2BIgtXt4,2983 -pip/_internal/commands/wheel.py,sha256=TMU5ZhjLo7BIZQApGPsYfoCsbGTnvP-N9jkgPJXhj1Y,7170 -pip/_internal/configuration.py,sha256=MgKrLFBJBkF3t2VJM4tvlnEspfSuS4scp_LhHWh53nY,14222 -pip/_internal/distributions/__init__.py,sha256=ECBUW5Gtu9TjJwyFLvim-i6kUMYVuikNh9I5asL6tbA,959 -pip/_internal/distributions/__pycache__/__init__.cpython-38.pyc,, -pip/_internal/distributions/__pycache__/base.cpython-38.pyc,, -pip/_internal/distributions/__pycache__/installed.cpython-38.pyc,, -pip/_internal/distributions/__pycache__/sdist.cpython-38.pyc,, -pip/_internal/distributions/__pycache__/wheel.cpython-38.pyc,, -pip/_internal/distributions/base.py,sha256=ruprpM_L2T2HNi3KLUHlbHimZ1sWVw-3Q0Lb8O7TDAI,1425 -pip/_internal/distributions/installed.py,sha256=YqlkBKr6TVP1MAYS6SG8ojud21wVOYLMZ8jMLJe9MSU,760 -pip/_internal/distributions/sdist.py,sha256=D4XTMlCwgPlK69l62GLYkNSVTVe99fR5iAcVt2EbGok,4086 -pip/_internal/distributions/wheel.py,sha256=95uD-TfaYoq3KiKBdzk9YMN4RRqJ28LNoSTS2K46gek,1294 -pip/_internal/exceptions.py,sha256=6YRuwXAK6F1iyUWKIkCIpWWN2khkAn1sZOgrFA9S8Ro,10247 -pip/_internal/index/__init__.py,sha256=vpt-JeTZefh8a-FC22ZeBSXFVbuBcXSGiILhQZJaNpQ,30 -pip/_internal/index/__pycache__/__init__.cpython-38.pyc,, -pip/_internal/index/__pycache__/collector.cpython-38.pyc,, -pip/_internal/index/__pycache__/package_finder.cpython-38.pyc,, -pip/_internal/index/collector.py,sha256=YS7Ix4oylU7ZbPTPFugh-244GSRqMvdHsGUG6nmz2gE,17892 -pip/_internal/index/package_finder.py,sha256=2Rg75AOpLj8BN1jyL8EI-Iw-Hv6ibJkrYVARCht3bX8,37542 -pip/_internal/legacy_resolve.py,sha256=L7R72I7CjVgJlPTggmA1j4b-H8NmxNu_dKVhrpGXGps,16277 -pip/_internal/locations.py,sha256=VifFEqhc7FWFV8QGoEM3CpECRY8Doq7kTytytxsEgx0,6734 -pip/_internal/main.py,sha256=IVBnUQ-FG7DK6617uEXRB5_QJqspAsBFmTmTesYkbdQ,437 -pip/_internal/models/__init__.py,sha256=3DHUd_qxpPozfzouoqa9g9ts1Czr5qaHfFxbnxriepM,63 -pip/_internal/models/__pycache__/__init__.cpython-38.pyc,, -pip/_internal/models/__pycache__/candidate.cpython-38.pyc,, -pip/_internal/models/__pycache__/format_control.cpython-38.pyc,, -pip/_internal/models/__pycache__/index.cpython-38.pyc,, -pip/_internal/models/__pycache__/link.cpython-38.pyc,, -pip/_internal/models/__pycache__/scheme.cpython-38.pyc,, -pip/_internal/models/__pycache__/search_scope.cpython-38.pyc,, -pip/_internal/models/__pycache__/selection_prefs.cpython-38.pyc,, -pip/_internal/models/__pycache__/target_python.cpython-38.pyc,, -pip/_internal/models/__pycache__/wheel.cpython-38.pyc,, -pip/_internal/models/candidate.py,sha256=Y58Bcm6oXUj0iS-yhmerlGo5CQJI2p0Ww9h6hR9zQDw,1150 -pip/_internal/models/format_control.py,sha256=ICzVjjGwfZYdX-eLLKHjMHLutEJlAGpfj09OG_eMqac,2673 -pip/_internal/models/index.py,sha256=K59A8-hVhBM20Xkahr4dTwP7OjkJyEqXH11UwHFVgqM,1060 -pip/_internal/models/link.py,sha256=y0H2ZOk0P6d1lfGUL2Pl09xFgZcRt5HwN2LElMifOpI,6827 -pip/_internal/models/scheme.py,sha256=vvhBrrno7eVDXcdKHiZWwxhPHf4VG5uSCEkC0QDR2RU,679 -pip/_internal/models/search_scope.py,sha256=2LXbU4wV8LwqdtXQXNXFYKv-IxiDI_QwSz9ZgbwtAfk,3898 -pip/_internal/models/selection_prefs.py,sha256=rPeif2KKjhTPXeMoQYffjqh10oWpXhdkxRDaPT1HO8k,1908 -pip/_internal/models/target_python.py,sha256=c-cFi6zCuo5HYbXNS3rVVpKRaHVh5yQlYEjEW23SidQ,3799 -pip/_internal/models/wheel.py,sha256=6KLuLKH5b0C5goWQXGSISRaq2UZtkHUEAU1y1Zsrwms,2766 -pip/_internal/network/__init__.py,sha256=jf6Tt5nV_7zkARBrKojIXItgejvoegVJVKUbhAa5Ioc,50 -pip/_internal/network/__pycache__/__init__.cpython-38.pyc,, -pip/_internal/network/__pycache__/auth.cpython-38.pyc,, -pip/_internal/network/__pycache__/cache.cpython-38.pyc,, -pip/_internal/network/__pycache__/download.cpython-38.pyc,, -pip/_internal/network/__pycache__/session.cpython-38.pyc,, -pip/_internal/network/__pycache__/utils.cpython-38.pyc,, -pip/_internal/network/__pycache__/xmlrpc.cpython-38.pyc,, -pip/_internal/network/auth.py,sha256=K3G1ukKb3PiH8w_UnpXTz8qQsTULO-qdbfOE9zTo1fE,11119 -pip/_internal/network/cache.py,sha256=51CExcRkXWrgMZ7WsrZ6cmijKfViD5tVgKbBvJHO1IE,2394 -pip/_internal/network/download.py,sha256=3D9vdJmVwmCUMxzC-TaVI_GvVOpQna3BLEYNPCSx3Fc,6260 -pip/_internal/network/session.py,sha256=u1IXQfv21R1xv86ulyiB58-be4sYm90eFB0Wp8fVMYw,14702 -pip/_internal/network/utils.py,sha256=iiixo1OeaQ3niUWiBjg59PN6f1w7vvTww1vFriTD_IU,1959 -pip/_internal/network/xmlrpc.py,sha256=AL115M3vFJ8xiHVJneb8Hi0ZFeRvdPhblC89w25OG5s,1597 -pip/_internal/operations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -pip/_internal/operations/__pycache__/__init__.cpython-38.pyc,, -pip/_internal/operations/__pycache__/check.cpython-38.pyc,, -pip/_internal/operations/__pycache__/freeze.cpython-38.pyc,, -pip/_internal/operations/__pycache__/prepare.cpython-38.pyc,, -pip/_internal/operations/build/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -pip/_internal/operations/build/__pycache__/__init__.cpython-38.pyc,, -pip/_internal/operations/build/__pycache__/metadata.cpython-38.pyc,, -pip/_internal/operations/build/__pycache__/metadata_legacy.cpython-38.pyc,, -pip/_internal/operations/build/__pycache__/wheel.cpython-38.pyc,, -pip/_internal/operations/build/__pycache__/wheel_legacy.cpython-38.pyc,, -pip/_internal/operations/build/metadata.py,sha256=yHMi5gHYXcXyHcvUPWHdO-UyOo3McFWljn_nHfM1O9c,1307 -pip/_internal/operations/build/metadata_legacy.py,sha256=4n6N7BTysqVmEpITzT2UVClyt0Peij_Im8Qm965IWB4,3957 -pip/_internal/operations/build/wheel.py,sha256=ntltdNP6D2Tpr4V0agssu6rE0F9LaBpJkYT6zSdhEbw,1469 -pip/_internal/operations/build/wheel_legacy.py,sha256=DYSxQKutwSZnmNvWkwsl2HzE2XQBxV0i0wTphjtUe90,3349 -pip/_internal/operations/check.py,sha256=a6uHG0daoWpmSPCdL7iYJaGQYZ-CRvPvTnCv2PnIIs0,5353 -pip/_internal/operations/freeze.py,sha256=td4BeRnW10EXFTZrx6VgygO3CrjqD5B9f0BGzjQm-Ew,10180 -pip/_internal/operations/install/__init__.py,sha256=mX7hyD2GNBO2mFGokDQ30r_GXv7Y_PLdtxcUv144e-s,51 -pip/_internal/operations/install/__pycache__/__init__.cpython-38.pyc,, -pip/_internal/operations/install/__pycache__/editable_legacy.cpython-38.pyc,, -pip/_internal/operations/install/__pycache__/legacy.cpython-38.pyc,, -pip/_internal/operations/install/__pycache__/wheel.cpython-38.pyc,, -pip/_internal/operations/install/editable_legacy.py,sha256=rJ_xs2qtDUjpY2-n6eYlVyZiNoKbOtZXZrYrcnIELt4,1488 -pip/_internal/operations/install/legacy.py,sha256=eBV8gHbO9sBlBc-4nuR3Sd2nikHgEcnC9khfeLiypio,4566 -pip/_internal/operations/install/wheel.py,sha256=xdCjH6uIUyg39Pf8tUaMFUN4a7eozJAFMb_wKcgQlsY,23012 -pip/_internal/operations/prepare.py,sha256=ro2teBlbBpkRJhBKraP9CoJgVLpueSk62ziWhRToXww,20942 -pip/_internal/pep425tags.py,sha256=SlIQokevkoKnXhoK3PZvXiDoj8hFKoJ7thDifDtga3k,5490 -pip/_internal/pyproject.py,sha256=VJKsrXORGiGoDPVKCQhuu4tWlQSTOhoiRlVLRNu4rx4,7400 -pip/_internal/req/__init__.py,sha256=UVaYPlHZVGRBQQPjvGC_6jJDQtewXm0ws-8Lxhg_TiY,2671 -pip/_internal/req/__pycache__/__init__.cpython-38.pyc,, -pip/_internal/req/__pycache__/constructors.cpython-38.pyc,, -pip/_internal/req/__pycache__/req_file.cpython-38.pyc,, -pip/_internal/req/__pycache__/req_install.cpython-38.pyc,, -pip/_internal/req/__pycache__/req_set.cpython-38.pyc,, -pip/_internal/req/__pycache__/req_tracker.cpython-38.pyc,, -pip/_internal/req/__pycache__/req_uninstall.cpython-38.pyc,, -pip/_internal/req/constructors.py,sha256=w5-kWWVCqlSqcIBitw86yq7XGMPpKrHDfQZSE2mJ_xc,14388 -pip/_internal/req/req_file.py,sha256=ECqRUicCw5Y08R1YynZAAp8dSKQhDXoc1Q-mY3a9b6I,18485 -pip/_internal/req/req_install.py,sha256=wjsIr4lDpbVSLqANKJI9mXwRVHaRxcnj8q30UiHoLRA,30442 -pip/_internal/req/req_set.py,sha256=GsrKmupRKhNMhjkofVfCEHEHfgEvYBxClaQH5xLBQHg,8066 -pip/_internal/req/req_tracker.py,sha256=27fvVG8Y2MJS1KpU2rBMnQyUEMHG4lkHT_bzbzQK-c0,4723 -pip/_internal/req/req_uninstall.py,sha256=DWnOsuyYGju6-sylyoCm7GtUNevn9qMAVhjAGLcdXUE,23609 -pip/_internal/self_outdated_check.py,sha256=3KO1pTJUuYaiV9X0t87I9PimkGL82HbhLWbocqKZpBU,8009 -pip/_internal/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -pip/_internal/utils/__pycache__/__init__.cpython-38.pyc,, -pip/_internal/utils/__pycache__/appdirs.cpython-38.pyc,, -pip/_internal/utils/__pycache__/compat.cpython-38.pyc,, -pip/_internal/utils/__pycache__/deprecation.cpython-38.pyc,, -pip/_internal/utils/__pycache__/distutils_args.cpython-38.pyc,, -pip/_internal/utils/__pycache__/encoding.cpython-38.pyc,, -pip/_internal/utils/__pycache__/entrypoints.cpython-38.pyc,, -pip/_internal/utils/__pycache__/filesystem.cpython-38.pyc,, -pip/_internal/utils/__pycache__/filetypes.cpython-38.pyc,, -pip/_internal/utils/__pycache__/glibc.cpython-38.pyc,, -pip/_internal/utils/__pycache__/hashes.cpython-38.pyc,, -pip/_internal/utils/__pycache__/inject_securetransport.cpython-38.pyc,, -pip/_internal/utils/__pycache__/logging.cpython-38.pyc,, -pip/_internal/utils/__pycache__/marker_files.cpython-38.pyc,, -pip/_internal/utils/__pycache__/misc.cpython-38.pyc,, -pip/_internal/utils/__pycache__/models.cpython-38.pyc,, -pip/_internal/utils/__pycache__/packaging.cpython-38.pyc,, -pip/_internal/utils/__pycache__/pkg_resources.cpython-38.pyc,, -pip/_internal/utils/__pycache__/setuptools_build.cpython-38.pyc,, -pip/_internal/utils/__pycache__/subprocess.cpython-38.pyc,, -pip/_internal/utils/__pycache__/temp_dir.cpython-38.pyc,, -pip/_internal/utils/__pycache__/typing.cpython-38.pyc,, -pip/_internal/utils/__pycache__/ui.cpython-38.pyc,, -pip/_internal/utils/__pycache__/unpacking.cpython-38.pyc,, -pip/_internal/utils/__pycache__/urls.cpython-38.pyc,, -pip/_internal/utils/__pycache__/virtualenv.cpython-38.pyc,, -pip/_internal/utils/__pycache__/wheel.cpython-38.pyc,, -pip/_internal/utils/appdirs.py,sha256=PVo_7-IQWHa9qNuNbWSFiF2QGqeLbSAR4eLcYYhQ9ek,1307 -pip/_internal/utils/compat.py,sha256=D7FKGLBdQwWH-dHIGaoWMawDZWBYApvtJVL1kFPJ930,8869 -pip/_internal/utils/deprecation.py,sha256=pBnNogoA4UGTxa_JDnPXBRRYpKMbExAhXpBwAwklOBs,3318 -pip/_internal/utils/distutils_args.py,sha256=a56mblNxk9BGifbpEETG61mmBrqhjtjRkJ4HYn-oOEE,1350 -pip/_internal/utils/encoding.py,sha256=hxZz0t3Whw3d4MHQEiofxalTlfKwxFdLc8fpeGfhKo8,1320 -pip/_internal/utils/entrypoints.py,sha256=vHcNpnksCv6mllihU6hfifdsKPEjwcaJ1aLIXEaynaU,1152 -pip/_internal/utils/filesystem.py,sha256=PXa3vMcz4mbEKtkD0joFI8pBwddLQxhfPFOkVH5xjfE,5255 -pip/_internal/utils/filetypes.py,sha256=R2FwzoeX7b-rZALOXx5cuO8VPPMhUQ4ne7wm3n3IcWA,571 -pip/_internal/utils/glibc.py,sha256=LOeNGgawCKS-4ke9fii78fwXD73dtNav3uxz1Bf-Ab8,3297 -pip/_internal/utils/hashes.py,sha256=my-wSnAWEDvl_8rQaOQcVIWjwh1-f_QiEvGy9TPf53U,3942 -pip/_internal/utils/inject_securetransport.py,sha256=M17ZlFVY66ApgeASVjKKLKNz0LAfk-SyU0HZ4ZB6MmI,810 -pip/_internal/utils/logging.py,sha256=aJL7NldPhS5KGFof6Qt3o3MG5cjm5TOoo7bGRu9_wsg,13033 -pip/_internal/utils/marker_files.py,sha256=CO5djQlrPIozJpJybViH_insoAaBGY1aqEt6-cC-iW0,741 -pip/_internal/utils/misc.py,sha256=uIb58Hiu_g2HRORo2aMcgnW_7R5d-5wUAuoW0fA2ZME,26085 -pip/_internal/utils/models.py,sha256=IA0hw_T4awQzui0kqfIEASm5yLtgZAB08ag59Nip5G8,1148 -pip/_internal/utils/packaging.py,sha256=VtiwcAAL7LBi7tGL2je7LeW4bE11KMHGCsJ1NZY5XtM,3035 -pip/_internal/utils/pkg_resources.py,sha256=ZX-k7V5q_aNWyDse92nN7orN1aCpRLsaxzpkBZ1XKzU,1254 -pip/_internal/utils/setuptools_build.py,sha256=DouaVolV9olDDFIIN9IszaL-FHdNaZt10ufOZFH9ZAU,5070 -pip/_internal/utils/subprocess.py,sha256=Ph3x5eHQBxFotyGhpZN8asSMBud-BBkmgaNfARG-di8,9922 -pip/_internal/utils/temp_dir.py,sha256=87Ib8aNic_hoSDEmUYJHTQIn5-prL2AYL5u_yZ3s4sI,7768 -pip/_internal/utils/typing.py,sha256=xkYwOeHlf4zsHXBDC4310HtEqwhQcYXFPq2h35Tcrl0,1401 -pip/_internal/utils/ui.py,sha256=0FNxXlGtbpPtTviv2oXS9t8bQG_NBdfUgP4GbubhS9U,13911 -pip/_internal/utils/unpacking.py,sha256=M944JTSiapBOSKLWu7lbawpVHSE7flfzZTEr3TAG7v8,9438 -pip/_internal/utils/urls.py,sha256=aNV9wq5ClUmrz6sG-al7hEWJ4ToitOy7l82CmFGFNW8,1481 -pip/_internal/utils/virtualenv.py,sha256=Q3S1WPlI7JWpGOT2jUVJ8l2chm_k7VPJ9cHA_cUluEU,3396 -pip/_internal/utils/wheel.py,sha256=grTRwZtMQwApwbbSPmRVLtac6FKy6SVKeCXNkWyyePA,7302 -pip/_internal/vcs/__init__.py,sha256=viJxJRqRE_mVScum85bgQIXAd6o0ozFt18VpC-qIJrM,617 -pip/_internal/vcs/__pycache__/__init__.cpython-38.pyc,, -pip/_internal/vcs/__pycache__/bazaar.cpython-38.pyc,, -pip/_internal/vcs/__pycache__/git.cpython-38.pyc,, -pip/_internal/vcs/__pycache__/mercurial.cpython-38.pyc,, -pip/_internal/vcs/__pycache__/subversion.cpython-38.pyc,, -pip/_internal/vcs/__pycache__/versioncontrol.cpython-38.pyc,, -pip/_internal/vcs/bazaar.py,sha256=84q1-kj1_nJ9AMzMu8RmMp-riRZu81M7K9kowcYgi3U,3957 -pip/_internal/vcs/git.py,sha256=CdLz3DTsZsLMLPZpEuUwiS40npvDaVB1CNRzoXgcuJQ,14352 -pip/_internal/vcs/mercurial.py,sha256=2mg7BdYI_Fe00fF6omaNccFQLPHBsDBG5CAEzvqn5sA,5110 -pip/_internal/vcs/subversion.py,sha256=Fpwy71AmuqXnoKi6h1SrXRtPjEMn8fieuM1O4j01IBg,12292 -pip/_internal/vcs/versioncontrol.py,sha256=nqoaM1_rzx24WnHtihXA8RcPpnUae0sV2sR_LS_5HFA,22600 -pip/_internal/wheel_builder.py,sha256=gr9jE14W5ZuYblpldo-tpRuyG0e0AVmHLttImuAvXlE,9441 -pip/_vendor/__init__.py,sha256=RcHf8jwLPL0ZEaa6uMhTSfyCrA_TpWgDWAW5br9xD7Y,4975 -pip/_vendor/__pycache__/__init__.cpython-38.pyc,, diff --git a/.venv/lib/python3.8/site-packages/pip-20.0.2.dist-info/WHEEL b/.venv/lib/python3.8/site-packages/pip-20.0.2.dist-info/WHEEL deleted file mode 100644 index ef99c6c..0000000 --- a/.venv/lib/python3.8/site-packages/pip-20.0.2.dist-info/WHEEL +++ /dev/null @@ -1,6 +0,0 @@ -Wheel-Version: 1.0 -Generator: bdist_wheel (0.34.2) -Root-Is-Purelib: true -Tag: py2-none-any -Tag: py3-none-any - diff --git a/.venv/lib/python3.8/site-packages/pip-20.0.2.dist-info/entry_points.txt b/.venv/lib/python3.8/site-packages/pip-20.0.2.dist-info/entry_points.txt deleted file mode 100644 index d48bd8a..0000000 --- a/.venv/lib/python3.8/site-packages/pip-20.0.2.dist-info/entry_points.txt +++ /dev/null @@ -1,5 +0,0 @@ -[console_scripts] -pip = pip._internal.cli.main:main -pip3 = pip._internal.cli.main:main -pip3.8 = pip._internal.cli.main:main - diff --git a/.venv/lib/python3.8/site-packages/pip-20.0.2.dist-info/top_level.txt b/.venv/lib/python3.8/site-packages/pip-20.0.2.dist-info/top_level.txt deleted file mode 100644 index a1b589e..0000000 --- a/.venv/lib/python3.8/site-packages/pip-20.0.2.dist-info/top_level.txt +++ /dev/null @@ -1 +0,0 @@ -pip diff --git a/.venv/lib/python3.8/site-packages/pip/__init__.py b/.venv/lib/python3.8/site-packages/pip/__init__.py deleted file mode 100644 index 827a4e2..0000000 --- a/.venv/lib/python3.8/site-packages/pip/__init__.py +++ /dev/null @@ -1,18 +0,0 @@ -from pip._internal.utils.typing import MYPY_CHECK_RUNNING - -if MYPY_CHECK_RUNNING: - from typing import List, Optional - - -__version__ = "20.0.2" - - -def main(args=None): - # type: (Optional[List[str]]) -> int - """This is an internal API only meant for use by pip's own console scripts. - - For additional details, see https://github.com/pypa/pip/issues/7498. - """ - from pip._internal.utils.entrypoints import _wrapper - - return _wrapper(args) diff --git a/.venv/lib/python3.8/site-packages/pip/__main__.py b/.venv/lib/python3.8/site-packages/pip/__main__.py deleted file mode 100644 index e83b9e0..0000000 --- a/.venv/lib/python3.8/site-packages/pip/__main__.py +++ /dev/null @@ -1,19 +0,0 @@ -from __future__ import absolute_import - -import os -import sys - -# If we are running from a wheel, add the wheel to sys.path -# This allows the usage python pip-*.whl/pip install pip-*.whl -if __package__ == '': - # __file__ is pip-*.whl/pip/__main__.py - # first dirname call strips of '/__main__.py', second strips off '/pip' - # Resulting path is the name of the wheel itself - # Add that to sys.path so we can import pip - path = os.path.dirname(os.path.dirname(__file__)) - sys.path.insert(0, path) - -from pip._internal.cli.main import main as _main # isort:skip # noqa - -if __name__ == '__main__': - sys.exit(_main()) diff --git a/.venv/lib/python3.8/site-packages/pip/__pycache__/__init__.cpython-38.pyc b/.venv/lib/python3.8/site-packages/pip/__pycache__/__init__.cpython-38.pyc deleted file mode 100644 index 492a83dae876482b7206c32e6488e54b99d5d308..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 629 zcmWIL<>g{vU|=}A?@#h^Mh1q*APzESW?*1&U|?V<Hez64NMT4}%wfo7jACSDNM$Ti zNMT4}%3;c7j$+PbiDF@7NMVj*O<_-AO<`+cjABb+31-mbcnLC1lkt|2Z)8AZyt9X^ zvv+(@sGpywpSvd0Ef$~5;*wh&{skqO`FV*sRcuBEdIow%e#wj=ZBWd_z`y{)&LDS) zfZV~D!US?hEh8gC4Py;MGh;A=CUe#Fkc`Y?h0J1w#5{$}ypq(Syu=&@#{f@-{Jfk> zh1}G{yb^`9{33<Y;#7sCN`->V0`+2r{PH}7<ovwi{G3#U;^d;tf|6oAE-nQH1qHYK zB89}1luU@z6jD-45;Jp(brgzIQx!5wN(zdt^!3v-OEOB6^pf*)^$RKs67>r*3-mLK zi%V0B_03HzE%d+!6@fgX$#{z+zPu>0pdhtKlj)XxL1uwoJj|7Pr6rj;#d@iEB}J75 z`I&ho#YL<P3=E(EN-Ro;a8@!DaWF72{4&rl$t?g`q+6O-keHmEnxb2tk(!#LTb`R; zRGN}g43g82kI&4@EQycTE2zB1lAD;B2a4um7Ep+?@h}yEc$$oUn(VivusNipvLG`r zy$BTOx7eT@P)aBQ8E}g`KE5oqs5mn}FFqb@64+r#1SbOn!z~V*-29Z%oK!oI?~6fB N=V4-D6kujy1_1iuq|*QZ diff --git a/.venv/lib/python3.8/site-packages/pip/__pycache__/__main__.cpython-38.pyc b/.venv/lib/python3.8/site-packages/pip/__pycache__/__main__.cpython-38.pyc deleted file mode 100644 index 657cbc6bb55148b1a595dd3374d2e97017e493b2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 422 zcmWIL<>g{vU|=}A?@w|C69dCz5C<8vGB7YWFfcF_XE87^q%fo~<}l<kMlmvi*i1Q0 zQA{ZeDNH%cQOv0<Da_eSMQ*7~S*#1#pd|Z3#)XVgtf|adtP40&7*bgmGJ$on<Z$M4 zMR7ASr1GS&W-}F~r7|zzP33N8SO_wiDVRZ%?Ip++nvA#j6O)Sbb4p86<1=#$@{3CR zZZT*w-eSp3%*?yR5g!kt<Ks2?ZgIuOr<InJ7Ny3=7cns~Fx+CwFTTZGTv>dJJ3hW3 zF*!RiJvBc57E3{5NyaVql+2>M#N1Sn32B)*APKh2yyDcNl3QX0nFV_BnRz9tMR|!i zddWGNdLTQBSU_g7g6#w80_g@Bms*iovXY@lh=Bn@{4&rl$t}<?$Slw;%>!ARnxb2t zk(!#LTb`R;RGN}g43g7_Ib5%x@)n0pZhlH>PO2RvD4Yct7#Mh%I2butI9Np(`Ita# E09I3WvH$=8 diff --git a/.venv/lib/python3.8/site-packages/pip/_internal/__init__.py b/.venv/lib/python3.8/site-packages/pip/_internal/__init__.py deleted file mode 100644 index 3aa8a46..0000000 --- a/.venv/lib/python3.8/site-packages/pip/_internal/__init__.py +++ /dev/null @@ -1,18 +0,0 @@ -#!/usr/bin/env python -import pip._internal.utils.inject_securetransport # noqa -from pip._internal.utils.typing import MYPY_CHECK_RUNNING - -if MYPY_CHECK_RUNNING: - from typing import Optional, List - - -def main(args=None): - # type: (Optional[List[str]]) -> int - """This is preserved for old console scripts that may still be referencing - it. - - For additional details, see https://github.com/pypa/pip/issues/7498. - """ - from pip._internal.utils.entrypoints import _wrapper - - return _wrapper(args) diff --git a/.venv/lib/python3.8/site-packages/pip/_internal/__pycache__/__init__.cpython-38.pyc b/.venv/lib/python3.8/site-packages/pip/_internal/__pycache__/__init__.cpython-38.pyc deleted file mode 100644 index 31dd1f99575e9fddaf50bdf72606a19b5e93be61..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 678 zcmWIL<>g{vU|=}A?@ux-69dCz5C<7EGcYhXFfcF_n=vpjq%fo~<}gGtrZA*1<uK(k zM=>)pq%s$2q%fo~=dk3mMzQ9yMX@n5q_Cy1q_DOyMzN<b1~X`~zXX}+r^$Fr$Tu<| zGTzz4)!92fDAdo-)6ZR#=@y57K}lwQUSiHI7N5-Gl4M4ZawukEU|;}YXOJ62KyF}6 zVaj31WvpdnWT;`RVQ2=~z+5#iBqOs}A+uPapeVICwWusLMIkM}NFhHbMIkvquQ)#^ zRiQY!D6^oXSfL~%u|y#^u~MP9Br_*RAt_a%C^ap$C^auRGcTP>K|w(wvqX;z%y7#u zQb<fm$%HshAtkjWF*B!FN1-@1RUxCKq@dVJUq3ywB%?G*FF8L~zo4=pQNJLwKtHp% zxHPp`-`vE~LJw?E5y(%PjJG)A%Zm~V3Q~(SnQqA!WESYfXXcfp7Ud=8=#`da<`nCt z=9Lsx7UXB<l@u4TGB7Y`GTmZHEJ}xPRx%WEFfcIuveGZfEdW`hTbfspn4F!OqFbJk znwq0qo||1%nvzotlGBG9tsftsnU`4-AFo$Xd5a}CF*A=76q+ocAZF)bDgvbdO-4UW zj$2yToRpcDm6}`<U!0m;T9jH+l$cjskY7}Ci@6}P;Fc6N4JDNYnR)3&plG|r2IYX# oQ4z>Sux(&(AQ2$<+~Tmw%}*)KNwouMECzX$gOP`cg;9VR00OSKk^lez diff --git a/.venv/lib/python3.8/site-packages/pip/_internal/__pycache__/build_env.cpython-38.pyc b/.venv/lib/python3.8/site-packages/pip/_internal/__pycache__/build_env.cpython-38.pyc deleted file mode 100644 index e54d39c6dd78bd5d092280843caa4b0fa77d9b52..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7483 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 JB2dpD1prF;c0vFE diff --git a/.venv/lib/python3.8/site-packages/pip/_internal/__pycache__/cache.cpython-38.pyc b/.venv/lib/python3.8/site-packages/pip/_internal/__pycache__/cache.cpython-38.pyc deleted file mode 100644 index 1a73d75a29582701b89298dfd65060d877fda691..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8700 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 diff --git a/.venv/lib/python3.8/site-packages/pip/_internal/__pycache__/configuration.cpython-38.pyc b/.venv/lib/python3.8/site-packages/pip/_internal/__pycache__/configuration.cpython-38.pyc deleted file mode 100644 index e18075fc300b199e6be934010b46feada57dbac3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10645 zcmWIL<>g{vU|=}A?@w}{IRnFE5C<8vGcYhXFfcF_voJC+q%cG=q%fv1<uFDuf@!8G zCNRw$#SErdqF7QGQ<!sDbJ?QU7(r@Ta@cb@qBwFnqd38Q)*P-}?kH|Bn=OYYmp6(x zmoJJB%xBNx&lQLg$Q6td1oJs^gmQ(Wgc%u9g^M<%Fs5+kh~$b!iROw$iRFq%iRVg0 zN#sgKN#;sLN##mMNi#B}vSrCc$)rlAaHYyNGeyazGA)o#RanRvrI^B<!qdVKrIf;( z!q>tOrJO35!k;3LBA6nSBAg=9%NnJU%3Jg#MKq5oMJ!4+MLb2Kg&|7KogqasMXH4% zMJiRjnK?=$g(;XpQ#z5Gk%7TEKQApay|gH?Br`uxAvZBEF+DXmHLpaWIJKm-fQu_Q zKQ~pOB(*3vGcP|UKfTh5OIIN;F*lV<LBX+Dp}Z)wq$D*@Au~@Q8ElY3T4qjau^yMM zLRn%?DM(cqh*n4}F3wNROe{%FQ7F$W$xujy7^16?om$DIpx~F7o2rnUpPQ7K2UC$* zqF$^}oSF=Fmj;xf2eMidY<f{<VqOWz6$-_fdFeT+3g!7lDGDj6#mPmPNtt=+3gsE8 zMX3rU86bm^{g|CvsS9?TLP26?kwP-a>a?Q#T&|a(^x~(<c#8+(mx9Ei;?yEdrdvWN zf#h0LlwWj95k<@`GbhzKzceSsFTcbo)h9nOB{fBp@fLexK|xApQL!e|E%tCvKNtV- z;9Fd&6$OcTDWwpjxl;3rON&zDQ!<Ngv83je=4vwD67r1<h>UmkaCP>M4+{13^YnAq zWWUAim{)m=#U(Sj<Q9i#NorAIQcmhE7N5-Gl3VP4spTP+1*x|<{0l(Am6&sjHKeov zB=4P>my*l~@)#6@*enbT49=jupvAzzP{Xi*VIji;a6VYbR14xWr7$mKEK;jsNMT7~ zZDo>V0Eq@OXtGtg`6gzkLL(0p<Hec9C7{Gol$xGcl#-KLT&$3vrcj(;T9llspplwa zmRXda2To4;Mc|~N$)%v6pm2*Z{uiTe6_c*+OC|;e20u;aTdX<x<*7xt*o#sNauSnM zZ*diuBo>tvgA$7-<1H3Yysu;^l44+B_+_tOl3So(kXfKxnpcpRoSmAYTb_}cnxk8u zn_X0zl2Z(l(~r;0D@iTNOU%)S#3nR}>lIYq;*ZbEFUn2K$*f9^2N|pj3JVTU0I>)# zaxwBS7RfL$FrWk*$eHk9Q)6IYNMWpD$Yw8+N?}^SP{Xj0v6iufv4*jkv5B#UVF9Qx zVO|KzWGsHS81<@>yi+R`Qu0%a74q^+K;c%Bn3<=Lk`Kyd1&KxAYynN-3W<3spiH5s z5Rh7wkyucyP?=w<P@b4qlA5AWlCMx&oT{Lno|B)Hn4?!+tFDllS6q^sm}37D6tSAj zx7gA^UMneLW?*2r#adjDlUbt4R3r)F@uq@OZhUTPadBdLDmW}5gfvK2AU-9tII*}m zH8&|IH9kAF(i{{je4tQa;$UL>&&161mxYCcu}BG|ngx`8Z?Qofa*L%nvn2Hvb822$ z6?<x4nQmEPktXXcme63=pj&M2KK@RQKDStcJwse?F}wPO-C}q33yTkP460%;$Slyy z%*(9e05L%Elnk;DhCu-iD!0LDwE!IGDNHR4C7{&GypYj_p_#Fkp@b=mc>zlaYZhAx z`$DE#Mkt>ng{7IXgtN#Zg*lHYg|&ozA#*JgRE}W*7bt~;)ialHXYtf9lyGP9)-a|s zmT+hB)iBjCr!!?TgHpU7Mk-)qU|<La1q~=IrZdzq#0u3imM~;7E?}x*EMZ>AG?A&0 zB^Z)aHCb*k<rm*#DM&2IxW$r{pP6@y-`U^K&C@;J$uZc~&(YUalj#<do<R{P2|^+R zWNZ;QM!0NpGK))+^K%RA0znpnf`g5T>3@}WdTL2LD74@OcRZxnwaLj(PRuE`(?jUI z#axhC@Qbmoibby=vp|!-h!qrl0-y+k8UZSMii>m@7#JX~&;u!8F0L%T#a2+1nwD8n zqz{q<MMM$E^SAgxagU_=7Hf89UP^J121uDEh)`!>V9;c_B@9U(Fr{EO-a@e&By>wC zCpA4Wxe{5~E&jaJa%2JYuo1@*1pc6a0y%_%iH(Wl9~-LxBO4<dBNrpnUlvw2Mh*t1 z|12yl3`~qH3@nT+3~YakY(ZHamf~PED5yc~;%y8J45<uJj42GD7D5zrie@`Q8e<A` z3QG%T6iW(g3R??96l)553P%e=6k7^s3Req56g#w*=784HoS-_og&~RyR8O}sL~(=a z>K2A5o>blx(G;;3hGxbnK4@Ld52>l61X83^WLg-a1XE;F<XRY_gi_>F6j~Ufgi{n# zlv)^~L{gMfR9YCKL{n5#)LIy##8T8#G+G#<#M>EI7@{PC88o$S@uJjGiH{f=7(5d5 zK*cn2MW3GrDv=P406i{n868lRUzVAYTC9)=s@_Xdi_#L4Q$ZzAVsdh7F{sW37ggXE z1E{)1Nsr*Nz8Gp!NJeI{LUK-GaWTlEvecrIVub=E(;Wjm6-qJ^OB6~Hvr~%|l%OS{ z9;l)Q70*fv#U+(FptghpsAL4WC`F;TB)=%N7+k$WDs%J}MrMgZVzGh}!jRIul++@S z2C(;_mcVUOLUwFoPELM#u|isYkwT(Ea!x8r5P;hinRy_S6q52wGQbR&aiG$>Bm?eN zU6A_~5{pt53W`#TQ;W({Q$TH{#5{%6#NtX&XoABp6=YQ|NCvaH0?H!AU?)S(R!B)K zNrd=6MIp0TAu*>oUm-6uIaLp=$}bsI^n(&F2!j$bs9_8eD_+6Cz)-?a!dS!5%(Q@M zAp;{r33C=p33C=}33C=(3PU<eEi<U_%Vsa~Dq&AyT)>gSw1BgOtAx9TIfWsG8PpVL zW?IO&5K_-E)-c5L)G*aB#PdSU0GY*B!kood!kopQ&RW9|F92#nq=VE5rm&^3w=mQ& zWC?%@?iz-8p%e}@5n)hy8ZVN<5X_*-=~rdyo?oJnnOByWlbHf(PlCcpAtygEB|bkd zr&2*zp*RE7>QYEbRmjgv1+_h@Ypa-a6kh)S|Ns9j_OjHX;>`TKTPzu=IRzLcIVfzv zCAkm-14AaLB<HGStYJ)Nn9Kw(!NKLuN~R(MP@%|PmI!Wjf(0Q2w4hGOOokNHU7+#@ zR7$cjGBGeQRB54PLB06+%)HE!_;@`;Ne$OZtot%C+*jlTDs;gW2bcgks>p?bfuR@G zHJYNgSc^*wQj3c0K;Geixu(bhq#smhBbDKx6jLM*l7LhQxrqh0Sc*~$if(aa7U$=H z+AOy?;ZacpYDyMqgN)^m&o4_YD#}brjn6MiNiDi17@wJ*mtT|`pPE+&Zf_Oe;)sVd zu8VK6LreKvg7LZeDVb@RsVOiyO_p0M#i==IMV=s6c!A6ohzBQzc(}bQ8E<jM$Ab%( z_;^H=6uE(uIs-#7DB>8H_?UzkIT)E3Ss2CsGyMnE1Z*rU3{d!=jfIPujgjR)2b8Q5 z!yaoWF$8LFfm(&&#tA6cAq{CpPzq-(76Y{cK{+giF_=M<smc}9Cjgg!h=NuD)aw8h ziO52r?i09RMQS{Q^EIg53~DF~K|BvBZXxwPIDl@6K_rm$#g`=(6|ZD03IK&4$ccym zy2Szt!b!07!N9`7$i`TO+R@PiDZ%hFsGSV<vkkcOkj0R~n9W%%RKl3T1Zw?O@j-l^ z!Ys)U&JfJN!cfAT%~fQ^$N++o4509c0F#<5RSrR^C8b4qkYXHE&_Ozf8JX!Bsl_D< z1x1<pMVTd)pn?(NUuYv95g=8XeyNa#aZ;*6aY1S_I0Y#rf-4|U`I?lfkeZTNl9`uY z1d1_DmLhOM;&Uu6PAvj;mLT0Z(RfgU0+J}>OY$LUvGNv|XI@Hb1z1T@7?w~J0O<lb z9Ha+i&n!@gf*Z{&Jd8~LS(up^`55^atK?8q6uLHyP==>0P~ly}kj1coaUrNwWUNYn zg&C-3gH(N>er&NqPG)wh0;n|6%PdLFE!NOf0Oi)y;?z8l@4>YcC_+<H;Gu^-Of{Kq zamRzq$;{77EULW43N{X#_lsf~7#Nm;d<=3f18bEqsxQGBlfiPJx`=^+0mOzUAQJ`# zhAJMA=V}<?iG?wnt4I%&R2Ugbm{J%QFxNn<n@EN{rU(Y`$OUtij(ci}LL#hAD9X<T zdk@7wklGNGYkmp%<tr4ICTD<J4+^>p)wO<_EJZP(@`S@XwGtA$@ZwIB37lVUF=wY% zLh=hZ=YY!8Tb!VH1Bdxqkgq{LVPIim<N?L7II7>_Dp9IqP$L@D00(EFEN}(_^}a!c z1}K7Km};48S!!57S*pmZgbCE4jA5!}t!1lWS-@Pwx{$HhriNt!3y8(YP{Xo-wT88Z zt%hkKGb012BF<u~VaQ^aWT;`Z0rlfKYM5(S7BYdxpumNYt}m#Bt%L_0v=M_N*!(m( zZ;8c2$0srp%Tgib3#j5PiUj2aa7U0kBe6Ih+WNW0otTmW=P(zimK6Dc6oPY{V0><3 zQFeS{F(hwgrlx4JgG0I~0TdIg;9$MQng(hy-C~2}#9Qo8lffNWjMyknEdkXBrKzA+ zdNHULXJFxA;$h-o<YDGw<YMGw5@4)Cix;>alyu3-z`y{CO>n$iLXH>48ip(oW|9PT z_ti?6Qy3Spz|v$5!vfZY3^7c#Ots84%qdLSoJ9vp*r2h-Qp=jcT+3F&ynwxiWg%lx zLJji*jv7$hG1aowuodkn;jCd^zy*?PW~^ne;wj;-VQ*%v<p^iUlVD*e;mPJIng+=U zDNMB-kn~@}k;0VCQM9Utc>ym-CnG4H!97+`Jm+zgFoXKNpg{<jt7{l-A-RUNN+&e0 z7%AW2kN%=K(8!Eim5EzoNn(zICv-GL0X&GH5S^J~YZ$Ai5Rj9aSeyzfY4VG}4emsR zq|$UfP5z=JP|U-lA3PobX->e?P7$cHe~Y&$H8;O3H9j9abajg*vm~_$T(I0?$xE#$ zxy2h?l3xHG@B)?AxA>sSVF@D*)YarfB&4DYkiD580+heN3Fnp&ylGLKpPO2ek(rl% ziw9~#JjlXZ%w>r==;@2Q6ck*L6m}An-$8w3Pzn=Z<b$R%7Dg^69wrthK1N6>z{SMD z$i>9R!~`n)S*j#a%LF9zPzrodLljibgHvAwa_VEqVsv4Mb%|lBWdx00EMQJytYHMj zbP0IGV*xuPB{DLUaMXY*V5WWnP!oOuXASd0Mn;Bk22+MWh9HIrhC;p+(0B$*l~!<K z8FW;%w5SL)c9)r_o12=OUsS13T#{G<?L~mf%_`pTB5=(Ksz+6eZ!wnpX>vj071YhX z#g>zwo}OBCizPEJEx!nqeGsDvx7brMi@;f#CBGmw?-na)q&QWR1rky4IJ(7{h92rH z#ffF9A3(v)1FAGwIGFetd6)&5crcnLAcZL52&&*gVF?aL6>vCaF{ChLa}<G^C*V#? z3DW}R6edue0}4fOM}yg~N*&aQNKH{lgf$_Ok=qa8#8a7>m#$Z(5}uip1L|#*=NDyz zdcC0WNd?tn1!&Je0aQ9d+Zd1}Uj{DRQc{yj)3H{eplrg-$iPqx>NGGgaWQf*R;i#S z8|-B;iqAo{7rb5p`8<=M7F236xG=<u)H2mDE&%bEYM3M$K<T28s|M68WvsGs1h*I< zH9aU7gL<jx?FG~(DxzN1WG?as`Hro$ASJOR6<pS9GJ|9I7F$tj2`Ec}q5>_3!8I=@ z$jhK4!@$nM#KkDYgq~NBS|BJs1qBnR76lnxJOkXyuK_oXni)ZzH_!;5Bxt^d3Dj9F zVaZ}mXUt|QGAUtOzz!PoV`NBS31+BaT)?pq6gFY7vfG6r)}xlCh9QeHg(aJ_r~q7> za%M9Z6@YcJ*04Zo*+P#Rh6P+TOrUzTmbHc<iyIWC3wS`~dKwcrY&{BXKz3-dRhg2~ z=!dt;!0pr`IZ)#$DmXi{pa7K4KrJ^AjZ#;G6KSzRN-20;2C3n%UaSz{84wR0YIO7T zaaBl41!>PO)=Nn(%PY;v@vBmR8xCr~DyXX#t1D<g)3KF;YO$s!?=2QkJMfkexQv8$ z)Sz7saF-F>=>wIDx7eY^7J<@xQ7x$W1vL&KjcqPS%K>CfkuNyKBo-8;=A~$|K@tme zz6EMBC}wZ5f)p1c73SbZ7?=RH#EL=~7#PGsX$aH^VPN55lwxE7m$@uV0*oBYA|M_E z6KJ%LnTd&qxk>>oOM$`@#X~5~G?YZ<15RY136dH{NFo6BaB7$qGJ-1o1<c@tq*lvP z!@Ph6R3(Fx1uLjYyMV2R0aW?dur7oo4TTy|A<X1grS6tr1TQl{A+MuQ4k}qniYmdw z8=$xX32Sm70`!(3$ic-WMWx9l&@S>V4rnD-46ZT3Ik2b>6v6_CDUKA-V16+)tcyUQ zixjNjIuaaH;IIV~-~euBU|=u;1u(c2X5s@?bc|e#QcP76*n$!iT_`OoP&o{*(;A>b zxR3!<i-E@LLG@NqO%-1a(*jly8&p^2MX)fGuw`=<`9WGekRhlN&IMd4;6bMv#uVmW zrY6QnhCDqMh7yJ>?rg52Dn^D{W=4i8z7qBt<`kA*#wJEkt(U@3%Us7C!2oSFfu>?u z{i@`W^YcJcFU9atrRrLR<c!3k#N?9HqGC5qCQ!kZSe%~+4kAs)Tdd&bjwVkLsONHv zKPa&r;`;#b+#phY$Cg@=SzJ;K8X`$dxg`{umzkWOlIoHQA|X8tP>6tAK%j~<IWZ^o zmPmSP322BtwWugHB{eTOKLyk<VFfG4s49!PL7561L0|$LOYIB{47Q+H0!>&kFmbT* zFoHXrOrW6-4$z#<A1*c_CK<*md5F8A9cVp_q=Zt)f+|vYAq&c3pbE2uF^fr(VF7au z!vYr2>=&r%3rW||PMJB*;tr{3f~5MSoK(n|Cb*r!YL%K-X62{J21&r+q6IXR1Ww9D zouKqA2=1Rl%>j>VV69C<85kHsK;Z$(!JuM+?>|Ou3eNgalR#6GVAD{tKgjE#*aGF1 zV$kSUCIhHd<-!oF5W`f<Qp;Myn8GN|P{L5d(#$B%P|H@sTEkq!X2Vd(0m<N1*Zn}V zaG(jsVg+z77}SJH&d-D7UWG*DS{K}efKNz*C;wn0=b+F5kDeFhmzHGarGkcg!Nbqs z?k=c#RjiPdnhctv&rYp`42**Yn{yLWAZ@&2$V@%R90dieleD_1wL7#*$uCks3L!+5 zUnC1^ZbRlrVcj=)5ps(Q;R|rPyQmnHWI^3K^d<l(PGdmv1S%pJ*jX5P7(p|y=))xF zg&0aA1;r2ugL)CgLEsVwGzkYTj-4Pa<{Cy&i+Leqz5%Fp3>m;)z_JiDM8}%V4l2Hj zxX@&n(wM>+7#Rw=pzUS&5LKc=dTL&3QDRAc5oDAqF((H(kP>r1NxK*#2g=o%72rzv z77M5<ehG3ZD1}36OK9LiN^J>HD2agxP*nrV_~2jz1>h|~$RKxoQfho<W@=7KY6^OA zP6iENgMt%WSThSTaWRVgV`5>!%=VyR38>|ebPvkvpmsJ0gWL$h;1Hbv4^hyH7|_fr zD5SDEi_}1q2B5i8NJ!=JfcWVQ5MBvuGpLMb&SI-!0!=DNLd8Mj5<Cp~Ni~f52_+0! z91A!>r9KZRUojU|l`v;<fz@-t)R!=WT2>$uCIT&F>LWoxfM{@oCPlC{iW1QloMe_j zCwM@40i35Gp$clumlUOfhO;3fXprohpN5i25jo%%KPWnpT2_9VJdkQ&I;fmtPERd? z45x$JMxe<>$e6k(D1O1SyuBb6c(5HbR|<{pTig&&fZISttstYsAr6GJosgzn(IdZ+ zfq|hE6#1ZZ#K6hN$iXPU#KXkKEX2&g$oHRxnT1IRvjGI^^@1vaw9Is{oy9153sl>I zFt`L%fcB(7BO#KYeg$K(1ZZpyG~5eH6Oy2TNoGGhBLzmdM+%DUK_v<^xLpWtErPpE zut7L>$T(0jx}QN~2vb0Qh9r0%Mixkyo3%<At)2rVc!(jOAzDaR4yCXMC3sNx3G7vH zUB_6%lm;Hq0o8ih>_u`QdI2M(OAYQaGWuyU6@mJ|MJ*uLWAthTLCqm(8!f&Bv=Rs1 z1E67xMIaA=D=N^a0cKvs7%yY=)0Di$5f7e2iI2a<6%QIpE6qubkH5teA75CSm;<U3 z;^S|z$H%ASC&$Nwr$LIsK?yDzM1UK5i6B-sh$sOOH6Q}i3%$irP?TSgT2xXA?xBI3 z*hQdbU=gU5Q3R@5!F6#FsI(~pr8>wkAjm7Xc%hRp$*DOxu!$IOGX+#IgO@Xa=bS)l zi$OVqgOP=oPmY6wgNK8igOfv;L!CpIgN=!ii<d*1gPTK~gM)*YgNH+&gAc4vQ?qCh z$eo}<=@vU^+yOM84=PKGOc@v$qC`RKN8-y;^HTDQ^olbp^gu&O#gImu1XvEX8b~j- zA~_X2)Km;kX+@y;j}k^zQ(BUlQw&)tA%#Uo540vDv7`tTcSWGa!YwpA!20!aGmDcU z!y=rZ{EXG4l1fnbt_V~O-eQAtxIsPzCF~+z5DPS$P{a>n34jPe5YYoNkh!>|s0cLb z2_BdB0T0F$%?C+?J7J(EA$YM4q&xyI;sBLLx7hNNvQm>vzyXVtF2T_SYE|Ciu*uC& zDa}c>162;iW(*7rECL*iV93P7B)|fytOXc(m{=H9SlAf3n7CLtxHx#27~$|Y8z&Dl Ghd2P5u+T67 diff --git a/.venv/lib/python3.8/site-packages/pip/_internal/__pycache__/exceptions.cpython-38.pyc b/.venv/lib/python3.8/site-packages/pip/_internal/__pycache__/exceptions.cpython-38.pyc deleted file mode 100644 index 6b110c1e7df6ad2e017cc17eb94f8891d8c62f7a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12482 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 O0Zsu`0ZsvP0agHzGVm$@ diff --git a/.venv/lib/python3.8/site-packages/pip/_internal/__pycache__/legacy_resolve.cpython-38.pyc b/.venv/lib/python3.8/site-packages/pip/_internal/__pycache__/legacy_resolve.cpython-38.pyc deleted file mode 100644 index 29e7bdd77bedbfc8e8e835e4411d97946f23975b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9898 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 RBiDZxW&tKHHio}k1^|}{H8}tP diff --git a/.venv/lib/python3.8/site-packages/pip/_internal/__pycache__/locations.cpython-38.pyc b/.venv/lib/python3.8/site-packages/pip/_internal/__pycache__/locations.cpython-38.pyc deleted file mode 100644 index e41f0e1d616ddb6414fb12b9f86c24b2c496e865..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4492 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 W7En6_lmi$T{&P8j2Mj>{onHXVj{(R4 diff --git a/.venv/lib/python3.8/site-packages/pip/_internal/__pycache__/main.cpython-38.pyc b/.venv/lib/python3.8/site-packages/pip/_internal/__pycache__/main.cpython-38.pyc deleted file mode 100644 index 35d4895243d149828f98ec207b46d26b2ff5ffb4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 615 zcmWIL<>g{vU|=}A?@#hpMh1q*APzESW?*1&U|?V<)?;8`NMT4}%wfo7jACSDNM$Ti zNMT4}%3;c7j$+PbiDF@7NMTE1NnveajABh;4rb6~e+e>4lkt|2Z)8AZyt9X^vv+(@ zsGpywpSvd0Ee`*JlFa<P#GG3!KAFWOe#wj=<xtGTz`y{)&LF!*Kz1{xFoEo@Wn^Ti zVXR?jW(;P~WUiVQl95@gkXfuyP?TDnT2z*rqL7wfq>!JJqL7@QSDc@ds!*I<lvz+x ztWc7XSfY@dSgBB4l9`jEkd&%Wl$w@Wl$w{EnU~I`prD|TS)#`UX1L`SDI}((WJ27h zkdj)Gn3+?oqfnfhs*q7qQc!HAub-Y-l2MwZmz<xgUr<?)s9%s-pr2V>T$);}Z*F2~ zp$9go2;?VC##<cm<wc1F1*t`vOt<6<G7I$LGxJJPi}Dh4^h!%IbBgs+^Gb>;3-UAb zN{WkE85kHenQpNp7NtWtD;bJ77#J9Sndz707Jw|$EzK)POwLYC(JjwNP0i6Q&&@6> zP01++$?3z5*3V7M%+o8Vyu|`yu!BO91r)sOJWNHPSl49q(`36Ph0Qr7l?9o3=|!Lz wxWxwLfRaKH$N;cru#1ogP6h^sTO2mI`6;D2sdgZ57qc-iFz_(3FbXgO08FZ(v;Y7A diff --git a/.venv/lib/python3.8/site-packages/pip/_internal/__pycache__/pep425tags.cpython-38.pyc b/.venv/lib/python3.8/site-packages/pip/_internal/__pycache__/pep425tags.cpython-38.pyc deleted file mode 100644 index b453df7e5c4421be912f4f7c6de06df4dd771c58..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3584 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 QF%BLM4lXVRMlk#X01GUYod5s; diff --git a/.venv/lib/python3.8/site-packages/pip/_internal/__pycache__/pyproject.cpython-38.pyc b/.venv/lib/python3.8/site-packages/pip/_internal/__pycache__/pyproject.cpython-38.pyc deleted file mode 100644 index 7d6a483bff701ad239be1947c8743cafb6e670a1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3732 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 diff --git a/.venv/lib/python3.8/site-packages/pip/_internal/__pycache__/self_outdated_check.cpython-38.pyc b/.venv/lib/python3.8/site-packages/pip/_internal/__pycache__/self_outdated_check.cpython-38.pyc deleted file mode 100644 index d1d57ffc274bd459e55b0abd09009922369ffe0f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5493 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 Iz?y>(0B6V9!~g&Q diff --git a/.venv/lib/python3.8/site-packages/pip/_internal/__pycache__/wheel_builder.cpython-38.pyc b/.venv/lib/python3.8/site-packages/pip/_internal/__pycache__/wheel_builder.cpython-38.pyc deleted file mode 100644 index f360006783c2fdd816c5e0ef40aa2ace96b36444..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6699 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 diff --git a/.venv/lib/python3.8/site-packages/pip/_internal/build_env.py b/.venv/lib/python3.8/site-packages/pip/_internal/build_env.py deleted file mode 100644 index f55f0e6..0000000 --- a/.venv/lib/python3.8/site-packages/pip/_internal/build_env.py +++ /dev/null @@ -1,221 +0,0 @@ -"""Build Environment used for isolation during sdist building -""" - -# The following comment should be removed at some point in the future. -# mypy: strict-optional=False -# mypy: disallow-untyped-defs=False - -import logging -import os -import sys -import textwrap -from collections import OrderedDict -from distutils.sysconfig import get_python_lib -from sysconfig import get_paths - -from pip._vendor.pkg_resources import Requirement, VersionConflict, WorkingSet - -from pip import __file__ as pip_location -from pip._internal.utils.subprocess import call_subprocess -from pip._internal.utils.temp_dir import TempDirectory -from pip._internal.utils.typing import MYPY_CHECK_RUNNING -from pip._internal.utils.ui import open_spinner - -if MYPY_CHECK_RUNNING: - from typing import Tuple, Set, Iterable, Optional, List - from pip._internal.index.package_finder import PackageFinder - -logger = logging.getLogger(__name__) - - -class _Prefix: - - def __init__(self, path): - # type: (str) -> None - self.path = path - self.setup = False - self.bin_dir = get_paths( - 'nt' if os.name == 'nt' else 'posix_prefix', - vars={'base': path, 'platbase': path} - )['scripts'] - # Note: prefer distutils' sysconfig to get the - # library paths so PyPy is correctly supported. - purelib = get_python_lib(plat_specific=False, prefix=path) - platlib = get_python_lib(plat_specific=True, prefix=path) - if purelib == platlib: - self.lib_dirs = [purelib] - else: - self.lib_dirs = [purelib, platlib] - - -class BuildEnvironment(object): - """Creates and manages an isolated environment to install build deps - """ - - def __init__(self): - # type: () -> None - self._temp_dir = TempDirectory(kind="build-env") - - self._prefixes = OrderedDict(( - (name, _Prefix(os.path.join(self._temp_dir.path, name))) - for name in ('normal', 'overlay') - )) - - self._bin_dirs = [] # type: List[str] - self._lib_dirs = [] # type: List[str] - for prefix in reversed(list(self._prefixes.values())): - self._bin_dirs.append(prefix.bin_dir) - self._lib_dirs.extend(prefix.lib_dirs) - - # Customize site to: - # - ensure .pth files are honored - # - prevent access to system site packages - system_sites = { - os.path.normcase(site) for site in ( - get_python_lib(plat_specific=False), - get_python_lib(plat_specific=True), - ) - } - self._site_dir = os.path.join(self._temp_dir.path, 'site') - if not os.path.exists(self._site_dir): - os.mkdir(self._site_dir) - with open(os.path.join(self._site_dir, 'sitecustomize.py'), 'w') as fp: - fp.write(textwrap.dedent( - ''' - import os, site, sys - - # First, drop system-sites related paths. - original_sys_path = sys.path[:] - known_paths = set() - for path in {system_sites!r}: - site.addsitedir(path, known_paths=known_paths) - system_paths = set( - os.path.normcase(path) - for path in sys.path[len(original_sys_path):] - ) - original_sys_path = [ - path for path in original_sys_path - if os.path.normcase(path) not in system_paths - ] - sys.path = original_sys_path - - # Second, add lib directories. - # ensuring .pth file are processed. - for path in {lib_dirs!r}: - assert not path in sys.path - site.addsitedir(path) - ''' - ).format(system_sites=system_sites, lib_dirs=self._lib_dirs)) - - def __enter__(self): - self._save_env = { - name: os.environ.get(name, None) - for name in ('PATH', 'PYTHONNOUSERSITE', 'PYTHONPATH') - } - - path = self._bin_dirs[:] - old_path = self._save_env['PATH'] - if old_path: - path.extend(old_path.split(os.pathsep)) - - pythonpath = [self._site_dir] - - os.environ.update({ - 'PATH': os.pathsep.join(path), - 'PYTHONNOUSERSITE': '1', - 'PYTHONPATH': os.pathsep.join(pythonpath), - }) - - def __exit__(self, exc_type, exc_val, exc_tb): - for varname, old_value in self._save_env.items(): - if old_value is None: - os.environ.pop(varname, None) - else: - os.environ[varname] = old_value - - def cleanup(self): - # type: () -> None - self._temp_dir.cleanup() - - def check_requirements(self, reqs): - # type: (Iterable[str]) -> Tuple[Set[Tuple[str, str]], Set[str]] - """Return 2 sets: - - conflicting requirements: set of (installed, wanted) reqs tuples - - missing requirements: set of reqs - """ - missing = set() - conflicting = set() - if reqs: - ws = WorkingSet(self._lib_dirs) - for req in reqs: - try: - if ws.find(Requirement.parse(req)) is None: - missing.add(req) - except VersionConflict as e: - conflicting.add((str(e.args[0].as_requirement()), - str(e.args[1]))) - return conflicting, missing - - def install_requirements( - self, - finder, # type: PackageFinder - requirements, # type: Iterable[str] - prefix_as_string, # type: str - message # type: Optional[str] - ): - # type: (...) -> None - prefix = self._prefixes[prefix_as_string] - assert not prefix.setup - prefix.setup = True - if not requirements: - return - args = [ - sys.executable, os.path.dirname(pip_location), 'install', - '--ignore-installed', '--no-user', '--prefix', prefix.path, - '--no-warn-script-location', - ] # type: List[str] - if logger.getEffectiveLevel() <= logging.DEBUG: - args.append('-v') - for format_control in ('no_binary', 'only_binary'): - formats = getattr(finder.format_control, format_control) - args.extend(('--' + format_control.replace('_', '-'), - ','.join(sorted(formats or {':none:'})))) - - index_urls = finder.index_urls - if index_urls: - args.extend(['-i', index_urls[0]]) - for extra_index in index_urls[1:]: - args.extend(['--extra-index-url', extra_index]) - else: - args.append('--no-index') - for link in finder.find_links: - args.extend(['--find-links', link]) - - for host in finder.trusted_hosts: - args.extend(['--trusted-host', host]) - if finder.allow_all_prereleases: - args.append('--pre') - args.append('--') - args.extend(requirements) - with open_spinner(message) as spinner: - call_subprocess(args, spinner=spinner) - - -class NoOpBuildEnvironment(BuildEnvironment): - """A no-op drop-in replacement for BuildEnvironment - """ - - def __init__(self): - pass - - def __enter__(self): - pass - - def __exit__(self, exc_type, exc_val, exc_tb): - pass - - def cleanup(self): - pass - - def install_requirements(self, finder, requirements, prefix, message): - raise NotImplementedError() diff --git a/.venv/lib/python3.8/site-packages/pip/_internal/cache.py b/.venv/lib/python3.8/site-packages/pip/_internal/cache.py deleted file mode 100644 index abecd78..0000000 --- a/.venv/lib/python3.8/site-packages/pip/_internal/cache.py +++ /dev/null @@ -1,329 +0,0 @@ -"""Cache Management -""" - -# The following comment should be removed at some point in the future. -# mypy: strict-optional=False - -import hashlib -import json -import logging -import os - -from pip._vendor.packaging.tags import interpreter_name, interpreter_version -from pip._vendor.packaging.utils import canonicalize_name - -from pip._internal.exceptions import InvalidWheelFilename -from pip._internal.models.link import Link -from pip._internal.models.wheel import Wheel -from pip._internal.utils.temp_dir import TempDirectory -from pip._internal.utils.typing import MYPY_CHECK_RUNNING -from pip._internal.utils.urls import path_to_url - -if MYPY_CHECK_RUNNING: - from typing import Optional, Set, List, Any, Dict - - from pip._vendor.packaging.tags import Tag - - from pip._internal.models.format_control import FormatControl - -logger = logging.getLogger(__name__) - - -def _hash_dict(d): - # type: (Dict[str, str]) -> str - """Return a stable sha224 of a dictionary.""" - s = json.dumps(d, sort_keys=True, separators=(",", ":"), ensure_ascii=True) - return hashlib.sha224(s.encode("ascii")).hexdigest() - - -class Cache(object): - """An abstract class - provides cache directories for data from links - - - :param cache_dir: The root of the cache. - :param format_control: An object of FormatControl class to limit - binaries being read from the cache. - :param allowed_formats: which formats of files the cache should store. - ('binary' and 'source' are the only allowed values) - """ - - def __init__(self, cache_dir, format_control, allowed_formats): - # type: (str, FormatControl, Set[str]) -> None - super(Cache, self).__init__() - assert not cache_dir or os.path.isabs(cache_dir) - self.cache_dir = cache_dir or None - self.format_control = format_control - self.allowed_formats = allowed_formats - - _valid_formats = {"source", "binary"} - assert self.allowed_formats.union(_valid_formats) == _valid_formats - - def _get_cache_path_parts_legacy(self, link): - # type: (Link) -> List[str] - """Get parts of part that must be os.path.joined with cache_dir - - Legacy cache key (pip < 20) for compatibility with older caches. - """ - - # We want to generate an url to use as our cache key, we don't want to - # just re-use the URL because it might have other items in the fragment - # and we don't care about those. - key_parts = [link.url_without_fragment] - if link.hash_name is not None and link.hash is not None: - key_parts.append("=".join([link.hash_name, link.hash])) - key_url = "#".join(key_parts) - - # Encode our key url with sha224, we'll use this because it has similar - # security properties to sha256, but with a shorter total output (and - # thus less secure). However the differences don't make a lot of - # difference for our use case here. - hashed = hashlib.sha224(key_url.encode()).hexdigest() - - # We want to nest the directories some to prevent having a ton of top - # level directories where we might run out of sub directories on some - # FS. - parts = [hashed[:2], hashed[2:4], hashed[4:6], hashed[6:]] - - return parts - - def _get_cache_path_parts(self, link): - # type: (Link) -> List[str] - """Get parts of part that must be os.path.joined with cache_dir - """ - - # We want to generate an url to use as our cache key, we don't want to - # just re-use the URL because it might have other items in the fragment - # and we don't care about those. - key_parts = {"url": link.url_without_fragment} - if link.hash_name is not None and link.hash is not None: - key_parts[link.hash_name] = link.hash - if link.subdirectory_fragment: - key_parts["subdirectory"] = link.subdirectory_fragment - - # Include interpreter name, major and minor version in cache key - # to cope with ill-behaved sdists that build a different wheel - # depending on the python version their setup.py is being run on, - # and don't encode the difference in compatibility tags. - # https://github.com/pypa/pip/issues/7296 - key_parts["interpreter_name"] = interpreter_name() - key_parts["interpreter_version"] = interpreter_version() - - # Encode our key url with sha224, we'll use this because it has similar - # security properties to sha256, but with a shorter total output (and - # thus less secure). However the differences don't make a lot of - # difference for our use case here. - hashed = _hash_dict(key_parts) - - # We want to nest the directories some to prevent having a ton of top - # level directories where we might run out of sub directories on some - # FS. - parts = [hashed[:2], hashed[2:4], hashed[4:6], hashed[6:]] - - return parts - - def _get_candidates(self, link, canonical_package_name): - # type: (Link, Optional[str]) -> List[Any] - can_not_cache = ( - not self.cache_dir or - not canonical_package_name or - not link - ) - if can_not_cache: - return [] - - formats = self.format_control.get_allowed_formats( - canonical_package_name - ) - if not self.allowed_formats.intersection(formats): - return [] - - candidates = [] - path = self.get_path_for_link(link) - if os.path.isdir(path): - for candidate in os.listdir(path): - candidates.append((candidate, path)) - # TODO remove legacy path lookup in pip>=21 - legacy_path = self.get_path_for_link_legacy(link) - if os.path.isdir(legacy_path): - for candidate in os.listdir(legacy_path): - candidates.append((candidate, legacy_path)) - return candidates - - def get_path_for_link_legacy(self, link): - # type: (Link) -> str - raise NotImplementedError() - - def get_path_for_link(self, link): - # type: (Link) -> str - """Return a directory to store cached items in for link. - """ - raise NotImplementedError() - - def get( - self, - link, # type: Link - package_name, # type: Optional[str] - supported_tags, # type: List[Tag] - ): - # type: (...) -> Link - """Returns a link to a cached item if it exists, otherwise returns the - passed link. - """ - raise NotImplementedError() - - def cleanup(self): - # type: () -> None - pass - - -class SimpleWheelCache(Cache): - """A cache of wheels for future installs. - """ - - def __init__(self, cache_dir, format_control): - # type: (str, FormatControl) -> None - super(SimpleWheelCache, self).__init__( - cache_dir, format_control, {"binary"} - ) - - def get_path_for_link_legacy(self, link): - # type: (Link) -> str - parts = self._get_cache_path_parts_legacy(link) - return os.path.join(self.cache_dir, "wheels", *parts) - - def get_path_for_link(self, link): - # type: (Link) -> str - """Return a directory to store cached wheels for link - - Because there are M wheels for any one sdist, we provide a directory - to cache them in, and then consult that directory when looking up - cache hits. - - We only insert things into the cache if they have plausible version - numbers, so that we don't contaminate the cache with things that were - not unique. E.g. ./package might have dozens of installs done for it - and build a version of 0.0...and if we built and cached a wheel, we'd - end up using the same wheel even if the source has been edited. - - :param link: The link of the sdist for which this will cache wheels. - """ - parts = self._get_cache_path_parts(link) - - # Store wheels within the root cache_dir - return os.path.join(self.cache_dir, "wheels", *parts) - - def get( - self, - link, # type: Link - package_name, # type: Optional[str] - supported_tags, # type: List[Tag] - ): - # type: (...) -> Link - candidates = [] - - if not package_name: - return link - - canonical_package_name = canonicalize_name(package_name) - for wheel_name, wheel_dir in self._get_candidates( - link, canonical_package_name - ): - try: - wheel = Wheel(wheel_name) - except InvalidWheelFilename: - continue - if canonicalize_name(wheel.name) != canonical_package_name: - logger.debug( - "Ignoring cached wheel {} for {} as it " - "does not match the expected distribution name {}.".format( - wheel_name, link, package_name - ) - ) - continue - if not wheel.supported(supported_tags): - # Built for a different python/arch/etc - continue - candidates.append( - ( - wheel.support_index_min(supported_tags), - wheel_name, - wheel_dir, - ) - ) - - if not candidates: - return link - - _, wheel_name, wheel_dir = min(candidates) - return Link(path_to_url(os.path.join(wheel_dir, wheel_name))) - - -class EphemWheelCache(SimpleWheelCache): - """A SimpleWheelCache that creates it's own temporary cache directory - """ - - def __init__(self, format_control): - # type: (FormatControl) -> None - self._temp_dir = TempDirectory(kind="ephem-wheel-cache") - - super(EphemWheelCache, self).__init__( - self._temp_dir.path, format_control - ) - - def cleanup(self): - # type: () -> None - self._temp_dir.cleanup() - - -class WheelCache(Cache): - """Wraps EphemWheelCache and SimpleWheelCache into a single Cache - - This Cache allows for gracefully degradation, using the ephem wheel cache - when a certain link is not found in the simple wheel cache first. - """ - - def __init__(self, cache_dir, format_control): - # type: (str, FormatControl) -> None - super(WheelCache, self).__init__( - cache_dir, format_control, {'binary'} - ) - self._wheel_cache = SimpleWheelCache(cache_dir, format_control) - self._ephem_cache = EphemWheelCache(format_control) - - def get_path_for_link_legacy(self, link): - # type: (Link) -> str - return self._wheel_cache.get_path_for_link_legacy(link) - - def get_path_for_link(self, link): - # type: (Link) -> str - return self._wheel_cache.get_path_for_link(link) - - def get_ephem_path_for_link(self, link): - # type: (Link) -> str - return self._ephem_cache.get_path_for_link(link) - - def get( - self, - link, # type: Link - package_name, # type: Optional[str] - supported_tags, # type: List[Tag] - ): - # type: (...) -> Link - retval = self._wheel_cache.get( - link=link, - package_name=package_name, - supported_tags=supported_tags, - ) - if retval is not link: - return retval - - return self._ephem_cache.get( - link=link, - package_name=package_name, - supported_tags=supported_tags, - ) - - def cleanup(self): - # type: () -> None - self._wheel_cache.cleanup() - self._ephem_cache.cleanup() diff --git a/.venv/lib/python3.8/site-packages/pip/_internal/cli/__init__.py b/.venv/lib/python3.8/site-packages/pip/_internal/cli/__init__.py deleted file mode 100644 index e589bb9..0000000 --- a/.venv/lib/python3.8/site-packages/pip/_internal/cli/__init__.py +++ /dev/null @@ -1,4 +0,0 @@ -"""Subpackage containing all of pip's command line interface related code -""" - -# This file intentionally does not import submodules diff --git a/.venv/lib/python3.8/site-packages/pip/_internal/cli/__pycache__/__init__.cpython-38.pyc b/.venv/lib/python3.8/site-packages/pip/_internal/cli/__pycache__/__init__.cpython-38.pyc deleted file mode 100644 index 2fc115ccf32b02c155bc7a12e0e2ffb371a01ae8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 236 zcmWIL<>g{vU|=}A?@w|I0|Ucj5C<7EGB7YWFfcF_b1*P4q%cG=q%a0EXfjo~2bU%l zBqnDkrl%?-=jW9qX69w)r7I-n<S68)DHLQDs23|F=jY}o=A|g)WagzRWagEm7NsR7 zrz#Ys<|LM+rYI!mr=)WEX)@kokB?8uPmYgY$xy_^zyKkB+3A<$7U&mb7U-7dfh<Z* z(JjwNP0i6Q&&@6>P01++$?3;~jm=BU(NE6F)Q^wP%*!l^kJl@xyv1RYo1apelWGU@ I!Do<{0DyNz8UO$Q diff --git a/.venv/lib/python3.8/site-packages/pip/_internal/cli/__pycache__/autocompletion.cpython-38.pyc b/.venv/lib/python3.8/site-packages/pip/_internal/cli/__pycache__/autocompletion.cpython-38.pyc deleted file mode 100644 index 89cb0d8f686bd043292ab619ca8e77b086a59685..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4953 zcmWIL<>g{vU|=}A?@#h%Nd|_;APzESVqjo!U|?V<p2EPukirnfkiwY4l*1Us2&S2$ zn7}l16mtq=3UdxiE^8DkBS;NP4qGmJ6g!yBn!}OH8O52)6~zVSv*mE-@<j1~+3Y#I zxqMN4j0~xKMHMNGDI7WcxdKrFxq?xGxk6Dwxx!Jxj0`E9DO@cKQ6eeaDLgF<QKBil zDSRyqQDP}f!3>)GRZc$n>6yt2B^ik&3I+M)sYS&KiKQj^$@#ejIjJR?`FRSNdBr7( zIXS5*3Q3g;2?+(61quk+gakdVmmoj;X)@koP0mQn%+qANC6rv0nplz=pPQJO7hjNA zRGeC*$#jc1IX^cyF)yV!J|#1`<Q5-P5mZ!@@s@OYYDqlYy7-jL;*z4wq*9P8ib1CO zMg~O2JA1e~d&dWb`uTbKxofiAVs^}{yv5;Jl3J9Ql#_ak#V514<Q9j20Z3P3PBO@C zFf78rz`()4z`zWOlM74?3@MBy3|WlX>_vQ_&;YShm?aq&FfC+AVM$?XWs+p5Whh|= zi?d2HG&9yRRteNF)G(&7NH9n;bTWi9<VmnFl(1xT6-6;JfM5z+CqpDd9#aHE32QS$ zEmH|w341eREps|UElUbhEo%*f3q!0(En5v+4RbbIQCSUJEh{5KVNYRM4QmQhHs=JU zB8?i>6!vVUq7@|^3pi6)7BVt2)Uc*-WV7Y(>R?#FmBP7@k%ys{y@q`PW06ieLoG)K z!vgMw47HpkJSki$+`Wu046%B(Ts2%-ybHK$I2SS&-2ky`;C{+xFS=2~v49UG3NpR$ zMhyqZtQrm%hFHE@t`hzlu4YC?h6#*?LI^jM2-L7PGuCp~aAyf-3Ar%DTGaB?@MH;> zh-8UoGf!YFvZ>+86070K5*G*gQLL7?hGhX?4Q~xkmP8s8$esy|g;5h23vE((Qg~Y! zK<=plha@PRT^O1fI~m&<(->3uQg~Z9YFI!bwJhxnX^biS$RZ_@pcsI-qM5mtuZC{| zW6`4$sSbu3zGkLc{uBYQ>HHA=Aai2vY6WTpQUoO#Y6WWqQdlGzCNLFAK}1rRQiMSE zrwC^=fkg#VM9dj#1xxsA1fgN@EN@ndDA-J<ENQT*LN!7Q_-dH4WI(<ukzF8HBeamQ zRu~pL6PSwHYJ^=FVpUK=h^Z*9h8Yn?<_xvW6POC)@)V#x5{CMQsc2aV8_YkTv{S;L zBDO#t91`N-kYEP6Vj&~QeTeu0rC?2oDtp(wlA=n5fc(t75{0z<BBZ>kke{Xi%8?3* zc_|9TrAg3?r;rcME5&+T3JMAew*&(`1L7S+L;T~N{e1&`Tti&_ZgGK_@!|eKF2OGu z85kI#0?r_jTMV~YGE#F2G?{L(6ldg@-{LIIgXZC1jJhG3jJLRQ@{<#D;`8%zDw9FF zVc8K>JhCz{Fa(3LqZ9)JLpnnZL#$9OV-4d1h7^W{j46zg3=^3OS%MifnSL?a7J)Q_ zikaeqoXnDyOt+Zy3~n)2tYj#XW?*3W<)UAbTcBT%S)f~*SCE*TotmOso{^fGqg$Sv zT~wNqQw);RkI&32NiE7t%+XKI$<#+J>huaKZ*ke=WEPiz3OG9tkh@qI7#P?Xm>8;% zi^Wtu8?c{>?eq}JQTzrfVnAAjL1rkx{3a2@RLfY)RKwW8kj-AiQo~rol*R<{A=nRK zLX){jl7WGt2oxf>7|S#nZ*dkBrIy9#7nBr(6%@&Uq-7Zx7(79yvw>a6#=yaV;Q~<T zf?c2lbAc4h1q&ED7#1>Oal=Z+TU^B@iA5#F<(VZJP{-V2%r25+U|?9uc#A!`w5TXG zuLR90-pEejLUjr#qCtTHj%ZLJ4320XP(-INzyd&%5gfl@V>Ow;L2!$uAh9F^ECM0m z9uEQ81~L*9HDG-&L6%f8>FO4VF)(0S4~h@4^+K?a-~w5n1x;UI<24y?aYOP#JSYvo z9Ko0gmW2>-7sMgE;1{C;O4x(k0uOsoJc2z8P1&$;M~-(;3MrBRMXNH10HtR{Ea!r( zg2XZt0~dp)!Y!u!;#=&gd1aYJ`FTa+pbW{JnOAa)%QG(}wZgTiD8Hx(<l$Q^Ab%8r z!s!-sab@u>meh*Ok|ITr2G$%<WnTm`_7-z?YUM4q#Dap<yp&t41x1;8B}E|T-(rK* z-M9FWf+apNC#OgdWCTZkK?zvFE#BbJfPf&^;NW-<SD%1eT=6;idFkK;dy6~1I3vHP z1j1p>ODsw+z9j*w=Rr{$56WkdW=4ETWkKpKVNiyIiKfPb)D++1h1#B8lwVp<T%-;P zAy5e4;!P{c&yCN7SN&P}nR%Kbx7d=)^NUi7Z?S^uB2$oCxe?`E@hx_UfyKA@5u)*V ziMgq_SU@^&i56$%m*%8^Qvsqqa*GpMtfi*hV#-Or#R6)d+~PtQaf>;>pag7qd~r$9 zEq-**u|mAV2C@AXXMRCRd`@CgYR)YdP~N`9mzI-QQj(gNngR|jaDvlhDpCRYR~|%w z65lNzP!K_lP6egr;x15u%F4ya!YIbb$H>Gez{tnQ#l*(Q!N|hQ!pH%l8QGY)m^c`@ zm^m1^{xPwzF@nVT808rG!0LDyxtKVZco_K@1sElmr5J^ngqWBZnHZQD*#5JyvN3Wo z@`21@Qefm@<YN(F<YDAu<N>i6#hBR`nf|jdu`z;ZHf9;dB2eB;1|>g`vp^V>l-L;< z7@R@rcp3u(r~$>8%}^`_s>o9qK~1Rz3@J<t8H?pon1dN=m|PfQ^J<xEn6ns5n6j9& znTkvbl}cD@n41|Fu!0&yE)20gwJb=wSyNaSGN!OeGSskSGZi`2FlVt9HI%TYu%~de zFo1Y4ea(!`j1YMy21W)D4rVBHDpUg5tI3(@!^ptko?4<%l98$aN{^r#6BKF4m8eES zLRw}{YC?jJLPA1HW)Xw|Qk9UPkYA+Wm!Fra$px-UtqKy05_1*6$*|Z;p*S%&RUxq$ zY&taa=BDPAB<3iTB^G6ZTCWNT35c3DApye>Qp^BX&ZuU9Qkj)PNJgqcVp(El4%kLW zVk}lD$yZ3uNKMX$*jbcXQd*Q}r2z64vgg5pLR<)d8WTlopkxaw@%?@=>Vr#WaAA#6 zSb~yEF(`R}3hx?FE0nQ@F@+(UEsTMYp^zzs5!3|GWG+$#<z*I7_}^kq$t>~%=MhN3 z2`)3i1UQ>;+N7uErB)Oa*)@X91(ks;Oicf)v~iU^NL4yarzQuutOS>KMdl!{Sb*$j zE-op8l)CJ>sU?YJiAA@V6Z0xHS&JM&YMeks5Qy*rsb<WFI1=u(A{zz<hC+~|Km|Sn zrxZ9d@-Q+n3NcDC@-cD!<6stI1glC06?3301j3-63n&|bYKY=J3=9mQe#ru+8is|8 zF-)~goe(~A4bwu#TILdl1uQk7o(t<jreZx%_<>ckfhwO)hIUY^nkj|3g`<RF0ecPe zLPk)FvX%whT282C1*_$#VXk3a$W+S)=0Qk~8YYm~LdIHlP}@D5xo8$xma~R!A!E_3 z8g_7eg@MJmz+w<KM-6)l>p~`oEXXyQY>D}d3=E!W3JD3&!YngC4_pZ(Bq(GSE5LFY zC`%<IfYKo-qk-x(g~Xg3g`(8-(wxL11yE8b2B%q2qc$b8C^fkxzbG@cSOMII$;?Yv z05xMkwm_OK2?^E;`6U^tMdg{rsS2PrsRGzgB&}fMaB9~>&D#)DA-M`vd4MufQYtLZ zq^5ukgB1kuPBqx0*t3@gq<GO$fOs10e^4=_nF%opmNgv}K*_Wyu_V6;R7{}+2&jdx zpI@Ya?kPWvj0egW#-Owas%2^zVr6Q<UE&2yHH-@x7chg8OA%8IBRJxiQW%06G#ULg zS&Fnk$s3#*Ir8$0a+4E_Qz2Oel%!WO-r@ko3#dkgq<v71EQ(-YV3-NA3e@IcVPIku z`d_66s?5;pdn_5TC>&&;00RSqCO5)vXdX;VDh4HwTWpER$*IM~w^)MW{k@A~L3xiI z6tyXtMMa=dm|JX_#UN+hV$Cd0$t=?3fYhvhAcdT;kgB}J18v`e8y~kgK{~(<fm@7e zMc@q02}-Z=AaRK2KrKN?W6hR<fuRHBLr{~CflGjqhl!7og^`Czf{BBXk5P<8gpq@h zhp`BxPE-6AdwhIKesX*~q-X&LsXo{-pcYL@etu4I5h(xPk}b$A(1Z6|^pbNj^+4S? z=)el3r6-1_20GFLZu>#nauTR2N=q_xiuH0ci<2R3Kq+j}C6xu4dFe%<Qs)*MlmjY; zia0^>0UG=&;s&umRX(`D0(%V-Ea37EOn_ql7Kcr4eoARhsvW2kR}2au7G_Y>goBZX UiH8x?q~Kv<VU%Fzi02Ro0DvU+d;kCd diff --git a/.venv/lib/python3.8/site-packages/pip/_internal/cli/__pycache__/base_command.cpython-38.pyc b/.venv/lib/python3.8/site-packages/pip/_internal/cli/__pycache__/base_command.cpython-38.pyc deleted file mode 100644 index e0cff15c8e211e47af458ae8c009ba84157f9269..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5847 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 UViW*pMo{(?VdP<AW8z{40D75(xc~qF diff --git a/.venv/lib/python3.8/site-packages/pip/_internal/cli/__pycache__/cmdoptions.cpython-38.pyc b/.venv/lib/python3.8/site-packages/pip/_internal/cli/__pycache__/cmdoptions.cpython-38.pyc deleted file mode 100644 index 9adffb4c60a18c4e06768c106a34ca7cce47900e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20328 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 diff --git a/.venv/lib/python3.8/site-packages/pip/_internal/cli/__pycache__/command_context.cpython-38.pyc b/.venv/lib/python3.8/site-packages/pip/_internal/cli/__pycache__/command_context.cpython-38.pyc deleted file mode 100644 index bb61229d0a6daf24b933dea0f08ea0d7e6196d8a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1311 zcmWIL<>g{vU|=}A?@#i1W(J1GAPzESVPIfzU|?V<j$vS6NMT4}%wfo7jACR2v6*t1 za+#x;!EELnmR!~-Rz`+Y)*_D-h7^_@wp{io_FRrAj$F<tPDX}Q&J@-ZwiNbWrYJ6V zh7^tz&K8Cg&Q$JZ<|v*Nu3!dD?w25YH5qU5CFkdrq*j#VCgvrkrxs~4-r{tv$Sesi zNlebxWV|Kh8yOH8@9g2~>>VEz>gVU_=dQ_oi^H=dwJ5P9zvvd9Geo;DMEfoFkjjG8 zu*9NUOz|NhAj6XL%Myz+6Z1-vK^7uoW+<oFfPsM_l_82Tg&~Tmogs}eg)xPxg(HeN zl_iBag{6g|nK6nL<ee6VD7JP67KSMHU<OV0Tf)xyxw(mXDKHmgR(R$mGeQjoQ6M(R z5)dv{U|?V<VJKm&VQ6Mrz_gHoks*b#h9RE0gr%9Gh9RCcg&~+hlgZCblkFC3acMzn zQ4uJrZgIrNXXa&=#K+$fh|kQ6&rQtCi-(3-5y;$IyeMKT8E>%^r{<)sWW2>0AD^6) zSX>+*zmnmXtA0stfqp?|fo^GDL1J=tYKm@oMrvw~Zh3BYQE5s}F-T57J~OW*wJ0w! zM?X0yQ$HEvJ(zWR1(iiS3=9l>p!C58@*fi)BO7Ct43=QfgSi?bJUAH`7(g*mY{kI9 zP{WYLP{dWj*u)493x+D08ip*UejZR73u9np2xl;52xJIihyb%vm}(f}86p_KA;s($ z;-<-5#LK|IaEs5exHz?_Br`wHwWuh+s0if3B7O!2h9Y4&Ap%m!gB*Mykz$aC7?`=3 z*ch1@IT%HlsuZyK23cD&6UggO3}S;~!5I`LVo)CygM9?@$pYpY#)XW*44RC7nk-<q z7Kwsf1ajal-c(Rv!$Mb+sYn3iL;+~z#upUjmu04;7NPl}NSuLz0hE@CL3x#diHoU9 z5u1}y4d=MU5g(tIn420Oe~T+VJ~uz5GzY}yiH|QVP0WGFfMd4^<fS5zSHL#i;)SN7 z<kXy;_;@782!cEU3PW%@1;s-#2Ll5G2O|#~6C)QlSkzCG_ZAn_LphmAV6&sd3o;Az z;>%L=Qu2%R5Ryia<SYf2g{4Ei(vr-aV!e{eg3P@1B9M=7u|YYkAp1edu!tSR0@;0w pEk7wMHMs<AH<DAqsQ~2ETO2kJuiJsLCOGnWm_U$)QG|(y82~62J~99R diff --git a/.venv/lib/python3.8/site-packages/pip/_internal/cli/__pycache__/main.cpython-38.pyc b/.venv/lib/python3.8/site-packages/pip/_internal/cli/__pycache__/main.cpython-38.pyc deleted file mode 100644 index 226c621eb358c066df2bef0bb200cd385bfc6b39..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1406 zcmWIL<>g{vU|=}A?@zK37X!m%5C<7EGcYhXFfcF_FJWL{NMVR#NMTH2%3;i9ieh2} zv6*w2qnJ||Q<!sDqFBH*YZNP(W{YA=VN7AkVbA4=;sC2<&Ed@DisAyZ*>bpZd7^m0 zZ1x=9T)rqiFq<QXKUW}10L<ph5zG~e5@KXX6)NgUVNBu55zZBf63G>f5@lpaWmzDW zD!!00N+N|fg*%0(g)vGpg*li(ldno4peQppv8YlZv7jI)GdZy&Ge1uuHLs+ovLHV* zuSAdQCCG=GjJNm`lZx|mN=s7XGjj{_i%R@78E^3<mX_ov=jRsWq?V*=GT!1XNGvK& zjZe<c%}vZp(PX^Emt2&ZSb{9V5s+EnT2z!@q{(=TJ0-QCC>3I-CgUw3-^hT-cxMk+ zXYcr+P(MFUKX*;0TP!}A#U-~m{0l%XOUy}T1i1%_*%%lYKvCih3iNvn3=B04DGb>h zMPelkS&S)+DGaSlk_@#BB}@yL7cww1l&~~2FfvpLl(5z?G&9C9)iTyHg)`)Nu`rad zWpfqPF*4LLGcr`^lrUtmFW^XFs$mvmSjfo80O6N#W^qAy3%FAlL9B2FQ-&0VTIM?D z2!=?8Jf;YSDxngd1-vCZS$rwX3z--h!Wr@mSQtupviP&PiViU{)Utr>7g!*e!cxNm zQ2{oCrH%z=Mu|`jV+v~xQ#M-)TQ5^BYYpoH;TooejKK_=?0zpn-ml_x4GQuPvQkhj zzQs_b>Y1LGUzC}bu8;}}R|VB#h4PHlJcZ)ak`j<;PJVJ?PHGjGu5M;=eokUZDkx$& z;B1jw%*B<(w^$O3(#wk285kIDiDl*$mn7!o#Fr-)<z?oj$LHjyr>7Pbfs%I-3j+f~ z5h&bmu@#r3q!tz3Vl6MqEJ?k^lwW*{Jts3SwK%ol7E5YHX2~r!h}E|^i&IOWOg10q zct;<fTdd$T08#-m`W9<SYEo%>5i7`gmfXb5JWV#Ri;8b?B<H5Y=OyN*LRg7K>BYC0 zQ!A2hF{a*PhbFX@3`NQe3=F@l^h<IJ^b0ZzbW8IJ5|gu2Q*_HSQd4tu%X71fN>g%* zL2~->nRz9tMR|!i`pG$&`XI~n3Mz|a7#J7~LCHt~l(v{S82OkvnAn(@7zMzPk5Pt& ziBX7Ah)Ir7fC;QxlhIF8>K1!^d`f<DeEco0`1rKalG38o`1m3wP#}qcJi`tOyUe`w zB4LmaA4o`{AhSRZ?g+i)oJ>8WY?PUw2M*|4vY5(1ZjA?Lu_ACh+!8}m1Ic&AkZ_bh zl}xQjP6g+oVsP|D38PAvmSpA>L*icwi;P}LWdX<=93UUCK{=ctKY{Y!Ezb1R5+86X zxy2C=j;{FlA}NqGC|tp@gG8u+4B@cJ%}*)KNwou|=wdkr1_l-;9wrV(Fl6FkghM74 JMgb-+Spa(Ifqwu1 diff --git a/.venv/lib/python3.8/site-packages/pip/_internal/cli/__pycache__/main_parser.cpython-38.pyc b/.venv/lib/python3.8/site-packages/pip/_internal/cli/__pycache__/main_parser.cpython-38.pyc deleted file mode 100644 index 467c539349d362a8f19d9a974cd451a6362ee062..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2159 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 JGY2z=G61N;SBn4u diff --git a/.venv/lib/python3.8/site-packages/pip/_internal/cli/__pycache__/parser.cpython-38.pyc b/.venv/lib/python3.8/site-packages/pip/_internal/cli/__pycache__/parser.cpython-38.pyc deleted file mode 100644 index 83faada2ab68d44172d0bb7f8c1ebe33f67df09f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8977 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 VdJEKL768>>%tHPGyh5S^<p7vG9(Mo$ diff --git a/.venv/lib/python3.8/site-packages/pip/_internal/cli/__pycache__/req_command.cpython-38.pyc b/.venv/lib/python3.8/site-packages/pip/_internal/cli/__pycache__/req_command.cpython-38.pyc deleted file mode 100644 index a28f097e542affe124fda46a802d95d500f4d075..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8289 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 D1+^EZ diff --git a/.venv/lib/python3.8/site-packages/pip/_internal/cli/__pycache__/status_codes.cpython-38.pyc b/.venv/lib/python3.8/site-packages/pip/_internal/cli/__pycache__/status_codes.cpython-38.pyc deleted file mode 100644 index 93d9228d8f5699f98f651e21e06d64d3507d7a4d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 365 zcmWIL<>g{vU|=}A?@#g^1_p-5APzESVqjo!U|?V<)?i>@NMT4}%wfo7jACSDNMVR# zN@0p(PGOE>Nnwd%O<|2<OJR#*Phk&c(ByatGDDN`7Jp(=aehu|Noss%Zb5!g$xB8C z28Nd)Ltiq3SS%nyoPmMCPm|*oSA2Y0X-R2OYJ7YVNXaes;8160*Wln=tgb;p{z12R zL;bw{{KNg?AzYC#&!CV{M;}+euy{ZJka#!$P(PPj5&=Q3VV?e>!SPO^o<1(|E}lV9 z^#XqW@xG2B&K|D85Vb2Aiuf5AAjB^x{gT`Q{esK_-O{{*#N_PM6y5TS)YKf^^4#pA z(v+NHkeq&eW?o5ZQC?z>esWHxesM`+NojF>a(+r`v0g#tEe@O9{FKt1R6CG2i+LCr L7<iai7-0|q$a`So diff --git a/.venv/lib/python3.8/site-packages/pip/_internal/cli/autocompletion.py b/.venv/lib/python3.8/site-packages/pip/_internal/cli/autocompletion.py deleted file mode 100644 index 329de60..0000000 --- a/.venv/lib/python3.8/site-packages/pip/_internal/cli/autocompletion.py +++ /dev/null @@ -1,164 +0,0 @@ -"""Logic that powers autocompletion installed by ``pip completion``. -""" - -import optparse -import os -import sys -from itertools import chain - -from pip._internal.cli.main_parser import create_main_parser -from pip._internal.commands import commands_dict, create_command -from pip._internal.utils.misc import get_installed_distributions -from pip._internal.utils.typing import MYPY_CHECK_RUNNING - -if MYPY_CHECK_RUNNING: - from typing import Any, Iterable, List, Optional - - -def autocomplete(): - # type: () -> None - """Entry Point for completion of main and subcommand options. - """ - # Don't complete if user hasn't sourced bash_completion file. - if 'PIP_AUTO_COMPLETE' not in os.environ: - return - cwords = os.environ['COMP_WORDS'].split()[1:] - cword = int(os.environ['COMP_CWORD']) - try: - current = cwords[cword - 1] - except IndexError: - current = '' - - parser = create_main_parser() - subcommands = list(commands_dict) - options = [] - - # subcommand - subcommand_name = None # type: Optional[str] - for word in cwords: - if word in subcommands: - subcommand_name = word - break - # subcommand options - if subcommand_name is not None: - # special case: 'help' subcommand has no options - if subcommand_name == 'help': - sys.exit(1) - # special case: list locally installed dists for show and uninstall - should_list_installed = ( - subcommand_name in ['show', 'uninstall'] and - not current.startswith('-') - ) - if should_list_installed: - installed = [] - lc = current.lower() - for dist in get_installed_distributions(local_only=True): - if dist.key.startswith(lc) and dist.key not in cwords[1:]: - installed.append(dist.key) - # if there are no dists installed, fall back to option completion - if installed: - for dist in installed: - print(dist) - sys.exit(1) - - subcommand = create_command(subcommand_name) - - for opt in subcommand.parser.option_list_all: - if opt.help != optparse.SUPPRESS_HELP: - for opt_str in opt._long_opts + opt._short_opts: - options.append((opt_str, opt.nargs)) - - # filter out previously specified options from available options - prev_opts = [x.split('=')[0] for x in cwords[1:cword - 1]] - options = [(x, v) for (x, v) in options if x not in prev_opts] - # filter options by current input - options = [(k, v) for k, v in options if k.startswith(current)] - # get completion type given cwords and available subcommand options - completion_type = get_path_completion_type( - cwords, cword, subcommand.parser.option_list_all, - ) - # get completion files and directories if ``completion_type`` is - # ``<file>``, ``<dir>`` or ``<path>`` - if completion_type: - paths = auto_complete_paths(current, completion_type) - options = [(path, 0) for path in paths] - for option in options: - opt_label = option[0] - # append '=' to options which require args - if option[1] and option[0][:2] == "--": - opt_label += '=' - print(opt_label) - else: - # show main parser options only when necessary - - opts = [i.option_list for i in parser.option_groups] - opts.append(parser.option_list) - flattened_opts = chain.from_iterable(opts) - if current.startswith('-'): - for opt in flattened_opts: - if opt.help != optparse.SUPPRESS_HELP: - subcommands += opt._long_opts + opt._short_opts - else: - # get completion type given cwords and all available options - completion_type = get_path_completion_type(cwords, cword, - flattened_opts) - if completion_type: - subcommands = list(auto_complete_paths(current, - completion_type)) - - print(' '.join([x for x in subcommands if x.startswith(current)])) - sys.exit(1) - - -def get_path_completion_type(cwords, cword, opts): - # type: (List[str], int, Iterable[Any]) -> Optional[str] - """Get the type of path completion (``file``, ``dir``, ``path`` or None) - - :param cwords: same as the environmental variable ``COMP_WORDS`` - :param cword: same as the environmental variable ``COMP_CWORD`` - :param opts: The available options to check - :return: path completion type (``file``, ``dir``, ``path`` or None) - """ - if cword < 2 or not cwords[cword - 2].startswith('-'): - return None - for opt in opts: - if opt.help == optparse.SUPPRESS_HELP: - continue - for o in str(opt).split('/'): - if cwords[cword - 2].split('=')[0] == o: - if not opt.metavar or any( - x in ('path', 'file', 'dir') - for x in opt.metavar.split('/')): - return opt.metavar - return None - - -def auto_complete_paths(current, completion_type): - # type: (str, str) -> Iterable[str] - """If ``completion_type`` is ``file`` or ``path``, list all regular files - and directories starting with ``current``; otherwise only list directories - starting with ``current``. - - :param current: The word to be completed - :param completion_type: path completion type(`file`, `path` or `dir`)i - :return: A generator of regular files and/or directories - """ - directory, filename = os.path.split(current) - current_path = os.path.abspath(directory) - # Don't complete paths if they can't be accessed - if not os.access(current_path, os.R_OK): - return - filename = os.path.normcase(filename) - # list all files that start with ``filename`` - file_list = (x for x in os.listdir(current_path) - if os.path.normcase(x).startswith(filename)) - for f in file_list: - opt = os.path.join(current_path, f) - comp_file = os.path.normcase(os.path.join(directory, f)) - # complete regular files when there is not ``<dir>`` after option - # complete directories when there is ``<file>``, ``<path>`` or - # ``<dir>``after option - if completion_type != 'dir' and os.path.isfile(opt): - yield comp_file - elif os.path.isdir(opt): - yield os.path.join(comp_file, '') diff --git a/.venv/lib/python3.8/site-packages/pip/_internal/cli/base_command.py b/.venv/lib/python3.8/site-packages/pip/_internal/cli/base_command.py deleted file mode 100644 index 628faa3..0000000 --- a/.venv/lib/python3.8/site-packages/pip/_internal/cli/base_command.py +++ /dev/null @@ -1,226 +0,0 @@ -"""Base Command class, and related routines""" - -from __future__ import absolute_import, print_function - -import logging -import logging.config -import optparse -import os -import platform -import sys -import traceback - -from pip._internal.cli import cmdoptions -from pip._internal.cli.command_context import CommandContextMixIn -from pip._internal.cli.parser import ( - ConfigOptionParser, - UpdatingDefaultsHelpFormatter, -) -from pip._internal.cli.status_codes import ( - ERROR, - PREVIOUS_BUILD_DIR_ERROR, - SUCCESS, - UNKNOWN_ERROR, - VIRTUALENV_NOT_FOUND, -) -from pip._internal.exceptions import ( - BadCommand, - CommandError, - InstallationError, - PreviousBuildDirError, - UninstallationError, -) -from pip._internal.utils.deprecation import deprecated -from pip._internal.utils.filesystem import check_path_owner -from pip._internal.utils.logging import BrokenStdoutLoggingError, setup_logging -from pip._internal.utils.misc import get_prog, normalize_path -from pip._internal.utils.temp_dir import global_tempdir_manager -from pip._internal.utils.typing import MYPY_CHECK_RUNNING -from pip._internal.utils.virtualenv import running_under_virtualenv - -if MYPY_CHECK_RUNNING: - from typing import List, Tuple, Any - from optparse import Values - -__all__ = ['Command'] - -logger = logging.getLogger(__name__) - - -class Command(CommandContextMixIn): - usage = None # type: str - ignore_require_venv = False # type: bool - - def __init__(self, name, summary, isolated=False): - # type: (str, str, bool) -> None - super(Command, self).__init__() - parser_kw = { - 'usage': self.usage, - 'prog': '%s %s' % (get_prog(), name), - 'formatter': UpdatingDefaultsHelpFormatter(), - 'add_help_option': False, - 'name': name, - 'description': self.__doc__, - 'isolated': isolated, - } - - self.name = name - self.summary = summary - self.parser = ConfigOptionParser(**parser_kw) - - # Commands should add options to this option group - optgroup_name = '%s Options' % self.name.capitalize() - self.cmd_opts = optparse.OptionGroup(self.parser, optgroup_name) - - # Add the general options - gen_opts = cmdoptions.make_option_group( - cmdoptions.general_group, - self.parser, - ) - self.parser.add_option_group(gen_opts) - - def handle_pip_version_check(self, options): - # type: (Values) -> None - """ - This is a no-op so that commands by default do not do the pip version - check. - """ - # Make sure we do the pip version check if the index_group options - # are present. - assert not hasattr(options, 'no_index') - - def run(self, options, args): - # type: (Values, List[Any]) -> Any - raise NotImplementedError - - def parse_args(self, args): - # type: (List[str]) -> Tuple[Any, Any] - # factored out for testability - return self.parser.parse_args(args) - - def main(self, args): - # type: (List[str]) -> int - try: - with self.main_context(): - return self._main(args) - finally: - logging.shutdown() - - def _main(self, args): - # type: (List[str]) -> int - # Intentionally set as early as possible so globally-managed temporary - # directories are available to the rest of the code. - self.enter_context(global_tempdir_manager()) - - options, args = self.parse_args(args) - - # Set verbosity so that it can be used elsewhere. - self.verbosity = options.verbose - options.quiet - - level_number = setup_logging( - verbosity=self.verbosity, - no_color=options.no_color, - user_log_file=options.log, - ) - - if ( - sys.version_info[:2] == (2, 7) and - not options.no_python_version_warning - ): - message = ( - "A future version of pip will drop support for Python 2.7. " - "More details about Python 2 support in pip, can be found at " - "https://pip.pypa.io/en/latest/development/release-process/#python-2-support" # noqa - ) - if platform.python_implementation() == "CPython": - message = ( - "Python 2.7 reached the end of its life on January " - "1st, 2020. Please upgrade your Python as Python 2.7 " - "is no longer maintained. " - ) + message - deprecated(message, replacement=None, gone_in=None) - - if options.skip_requirements_regex: - deprecated( - "--skip-requirements-regex is unsupported and will be removed", - replacement=( - "manage requirements/constraints files explicitly, " - "possibly generating them from metadata" - ), - gone_in="20.1", - issue=7297, - ) - - # TODO: Try to get these passing down from the command? - # without resorting to os.environ to hold these. - # This also affects isolated builds and it should. - - if options.no_input: - os.environ['PIP_NO_INPUT'] = '1' - - if options.exists_action: - os.environ['PIP_EXISTS_ACTION'] = ' '.join(options.exists_action) - - if options.require_venv and not self.ignore_require_venv: - # If a venv is required check if it can really be found - if not running_under_virtualenv(): - logger.critical( - 'Could not find an activated virtualenv (required).' - ) - sys.exit(VIRTUALENV_NOT_FOUND) - - if options.cache_dir: - options.cache_dir = normalize_path(options.cache_dir) - if not check_path_owner(options.cache_dir): - logger.warning( - "The directory '%s' or its parent directory is not owned " - "or is not writable by the current user. The cache " - "has been disabled. Check the permissions and owner of " - "that directory. If executing pip with sudo, you may want " - "sudo's -H flag.", - options.cache_dir, - ) - options.cache_dir = None - - try: - status = self.run(options, args) - # FIXME: all commands should return an exit status - # and when it is done, isinstance is not needed anymore - if isinstance(status, int): - return status - except PreviousBuildDirError as exc: - logger.critical(str(exc)) - logger.debug('Exception information:', exc_info=True) - - return PREVIOUS_BUILD_DIR_ERROR - except (InstallationError, UninstallationError, BadCommand) as exc: - logger.critical(str(exc)) - logger.debug('Exception information:', exc_info=True) - - return ERROR - except CommandError as exc: - logger.critical('%s', exc) - logger.debug('Exception information:', exc_info=True) - - return ERROR - except BrokenStdoutLoggingError: - # Bypass our logger and write any remaining messages to stderr - # because stdout no longer works. - print('ERROR: Pipe to stdout was broken', file=sys.stderr) - if level_number <= logging.DEBUG: - traceback.print_exc(file=sys.stderr) - - return ERROR - except KeyboardInterrupt: - logger.critical('Operation cancelled by user') - logger.debug('Exception information:', exc_info=True) - - return ERROR - except BaseException: - logger.critical('Exception:', exc_info=True) - - return UNKNOWN_ERROR - finally: - self.handle_pip_version_check(options) - - return SUCCESS diff --git a/.venv/lib/python3.8/site-packages/pip/_internal/cli/cmdoptions.py b/.venv/lib/python3.8/site-packages/pip/_internal/cli/cmdoptions.py deleted file mode 100644 index 447f319..0000000 --- a/.venv/lib/python3.8/site-packages/pip/_internal/cli/cmdoptions.py +++ /dev/null @@ -1,957 +0,0 @@ -""" -shared options and groups - -The principle here is to define options once, but *not* instantiate them -globally. One reason being that options with action='append' can carry state -between parses. pip parses general options twice internally, and shouldn't -pass on state. To be consistent, all options will follow this design. -""" - -# The following comment should be removed at some point in the future. -# mypy: strict-optional=False - -from __future__ import absolute_import - -import logging -import os -import textwrap -import warnings -from distutils.util import strtobool -from functools import partial -from optparse import SUPPRESS_HELP, Option, OptionGroup -from textwrap import dedent - -from pip._internal.exceptions import CommandError -from pip._internal.locations import USER_CACHE_DIR, get_src_prefix -from pip._internal.models.format_control import FormatControl -from pip._internal.models.index import PyPI -from pip._internal.models.target_python import TargetPython -from pip._internal.utils.hashes import STRONG_HASHES -from pip._internal.utils.typing import MYPY_CHECK_RUNNING -from pip._internal.utils.ui import BAR_TYPES - -if MYPY_CHECK_RUNNING: - from typing import Any, Callable, Dict, Optional, Tuple - from optparse import OptionParser, Values - from pip._internal.cli.parser import ConfigOptionParser - -logger = logging.getLogger(__name__) - - -def raise_option_error(parser, option, msg): - # type: (OptionParser, Option, str) -> None - """ - Raise an option parsing error using parser.error(). - - Args: - parser: an OptionParser instance. - option: an Option instance. - msg: the error text. - """ - msg = '{} error: {}'.format(option, msg) - msg = textwrap.fill(' '.join(msg.split())) - parser.error(msg) - - -def make_option_group(group, parser): - # type: (Dict[str, Any], ConfigOptionParser) -> OptionGroup - """ - Return an OptionGroup object - group -- assumed to be dict with 'name' and 'options' keys - parser -- an optparse Parser - """ - option_group = OptionGroup(parser, group['name']) - for option in group['options']: - option_group.add_option(option()) - return option_group - - -def check_install_build_global(options, check_options=None): - # type: (Values, Optional[Values]) -> None - """Disable wheels if per-setup.py call options are set. - - :param options: The OptionParser options to update. - :param check_options: The options to check, if not supplied defaults to - options. - """ - if check_options is None: - check_options = options - - def getname(n): - # type: (str) -> Optional[Any] - return getattr(check_options, n, None) - names = ["build_options", "global_options", "install_options"] - if any(map(getname, names)): - control = options.format_control - control.disallow_binaries() - warnings.warn( - 'Disabling all use of wheels due to the use of --build-option ' - '/ --global-option / --install-option.', stacklevel=2, - ) - - -def check_dist_restriction(options, check_target=False): - # type: (Values, bool) -> None - """Function for determining if custom platform options are allowed. - - :param options: The OptionParser options. - :param check_target: Whether or not to check if --target is being used. - """ - dist_restriction_set = any([ - options.python_version, - options.platform, - options.abi, - options.implementation, - ]) - - binary_only = FormatControl(set(), {':all:'}) - sdist_dependencies_allowed = ( - options.format_control != binary_only and - not options.ignore_dependencies - ) - - # Installations or downloads using dist restrictions must not combine - # source distributions and dist-specific wheels, as they are not - # guaranteed to be locally compatible. - if dist_restriction_set and sdist_dependencies_allowed: - raise CommandError( - "When restricting platform and interpreter constraints using " - "--python-version, --platform, --abi, or --implementation, " - "either --no-deps must be set, or --only-binary=:all: must be " - "set and --no-binary must not be set (or must be set to " - ":none:)." - ) - - if check_target: - if dist_restriction_set and not options.target_dir: - raise CommandError( - "Can not use any platform or abi specific options unless " - "installing via '--target'" - ) - - -def _path_option_check(option, opt, value): - # type: (Option, str, str) -> str - return os.path.expanduser(value) - - -class PipOption(Option): - TYPES = Option.TYPES + ("path",) - TYPE_CHECKER = Option.TYPE_CHECKER.copy() - TYPE_CHECKER["path"] = _path_option_check - - -########### -# options # -########### - -help_ = partial( - Option, - '-h', '--help', - dest='help', - action='help', - help='Show help.', -) # type: Callable[..., Option] - -isolated_mode = partial( - Option, - "--isolated", - dest="isolated_mode", - action="store_true", - default=False, - help=( - "Run pip in an isolated mode, ignoring environment variables and user " - "configuration." - ), -) # type: Callable[..., Option] - -require_virtualenv = partial( - Option, - # Run only if inside a virtualenv, bail if not. - '--require-virtualenv', '--require-venv', - dest='require_venv', - action='store_true', - default=False, - help=SUPPRESS_HELP -) # type: Callable[..., Option] - -verbose = partial( - Option, - '-v', '--verbose', - dest='verbose', - action='count', - default=0, - help='Give more output. Option is additive, and can be used up to 3 times.' -) # type: Callable[..., Option] - -no_color = partial( - Option, - '--no-color', - dest='no_color', - action='store_true', - default=False, - help="Suppress colored output", -) # type: Callable[..., Option] - -version = partial( - Option, - '-V', '--version', - dest='version', - action='store_true', - help='Show version and exit.', -) # type: Callable[..., Option] - -quiet = partial( - Option, - '-q', '--quiet', - dest='quiet', - action='count', - default=0, - help=( - 'Give less output. Option is additive, and can be used up to 3' - ' times (corresponding to WARNING, ERROR, and CRITICAL logging' - ' levels).' - ), -) # type: Callable[..., Option] - -progress_bar = partial( - Option, - '--progress-bar', - dest='progress_bar', - type='choice', - choices=list(BAR_TYPES.keys()), - default='on', - help=( - 'Specify type of progress to be displayed [' + - '|'.join(BAR_TYPES.keys()) + '] (default: %default)' - ), -) # type: Callable[..., Option] - -log = partial( - PipOption, - "--log", "--log-file", "--local-log", - dest="log", - metavar="path", - type="path", - help="Path to a verbose appending log." -) # type: Callable[..., Option] - -no_input = partial( - Option, - # Don't ask for input - '--no-input', - dest='no_input', - action='store_true', - default=False, - help=SUPPRESS_HELP -) # type: Callable[..., Option] - -proxy = partial( - Option, - '--proxy', - dest='proxy', - type='str', - default='', - help="Specify a proxy in the form [user:passwd@]proxy.server:port." -) # type: Callable[..., Option] - -retries = partial( - Option, - '--retries', - dest='retries', - type='int', - default=5, - help="Maximum number of retries each connection should attempt " - "(default %default times).", -) # type: Callable[..., Option] - -timeout = partial( - Option, - '--timeout', '--default-timeout', - metavar='sec', - dest='timeout', - type='float', - default=15, - help='Set the socket timeout (default %default seconds).', -) # type: Callable[..., Option] - -skip_requirements_regex = partial( - Option, - # A regex to be used to skip requirements - '--skip-requirements-regex', - dest='skip_requirements_regex', - type='str', - default='', - help=SUPPRESS_HELP, -) # type: Callable[..., Option] - - -def exists_action(): - # type: () -> Option - return Option( - # Option when path already exist - '--exists-action', - dest='exists_action', - type='choice', - choices=['s', 'i', 'w', 'b', 'a'], - default=[], - action='append', - metavar='action', - help="Default action when a path already exists: " - "(s)witch, (i)gnore, (w)ipe, (b)ackup, (a)bort.", - ) - - -cert = partial( - PipOption, - '--cert', - dest='cert', - type='path', - metavar='path', - help="Path to alternate CA bundle.", -) # type: Callable[..., Option] - -client_cert = partial( - PipOption, - '--client-cert', - dest='client_cert', - type='path', - default=None, - metavar='path', - help="Path to SSL client certificate, a single file containing the " - "private key and the certificate in PEM format.", -) # type: Callable[..., Option] - -index_url = partial( - Option, - '-i', '--index-url', '--pypi-url', - dest='index_url', - metavar='URL', - default=PyPI.simple_url, - help="Base URL of the Python Package Index (default %default). " - "This should point to a repository compliant with PEP 503 " - "(the simple repository API) or a local directory laid out " - "in the same format.", -) # type: Callable[..., Option] - - -def extra_index_url(): - # type: () -> Option - return Option( - '--extra-index-url', - dest='extra_index_urls', - metavar='URL', - action='append', - default=[], - help="Extra URLs of package indexes to use in addition to " - "--index-url. Should follow the same rules as " - "--index-url.", - ) - - -no_index = partial( - Option, - '--no-index', - dest='no_index', - action='store_true', - default=False, - help='Ignore package index (only looking at --find-links URLs instead).', -) # type: Callable[..., Option] - - -def find_links(): - # type: () -> Option - return Option( - '-f', '--find-links', - dest='find_links', - action='append', - default=[], - metavar='url', - help="If a url or path to an html file, then parse for links to " - "archives. If a local path or file:// url that's a directory, " - "then look for archives in the directory listing.", - ) - - -def trusted_host(): - # type: () -> Option - return Option( - "--trusted-host", - dest="trusted_hosts", - action="append", - metavar="HOSTNAME", - default=[], - help="Mark this host or host:port pair as trusted, even though it " - "does not have valid or any HTTPS.", - ) - - -def constraints(): - # type: () -> Option - return Option( - '-c', '--constraint', - dest='constraints', - action='append', - default=[], - metavar='file', - help='Constrain versions using the given constraints file. ' - 'This option can be used multiple times.' - ) - - -def requirements(): - # type: () -> Option - return Option( - '-r', '--requirement', - dest='requirements', - action='append', - default=[], - metavar='file', - help='Install from the given requirements file. ' - 'This option can be used multiple times.' - ) - - -def editable(): - # type: () -> Option - return Option( - '-e', '--editable', - dest='editables', - action='append', - default=[], - metavar='path/url', - help=('Install a project in editable mode (i.e. setuptools ' - '"develop mode") from a local project path or a VCS url.'), - ) - - -def _handle_src(option, opt_str, value, parser): - # type: (Option, str, str, OptionParser) -> None - value = os.path.abspath(value) - setattr(parser.values, option.dest, value) - - -src = partial( - PipOption, - '--src', '--source', '--source-dir', '--source-directory', - dest='src_dir', - type='path', - metavar='dir', - default=get_src_prefix(), - action='callback', - callback=_handle_src, - help='Directory to check out editable projects into. ' - 'The default in a virtualenv is "<venv path>/src". ' - 'The default for global installs is "<current dir>/src".' -) # type: Callable[..., Option] - - -def _get_format_control(values, option): - # type: (Values, Option) -> Any - """Get a format_control object.""" - return getattr(values, option.dest) - - -def _handle_no_binary(option, opt_str, value, parser): - # type: (Option, str, str, OptionParser) -> None - existing = _get_format_control(parser.values, option) - FormatControl.handle_mutual_excludes( - value, existing.no_binary, existing.only_binary, - ) - - -def _handle_only_binary(option, opt_str, value, parser): - # type: (Option, str, str, OptionParser) -> None - existing = _get_format_control(parser.values, option) - FormatControl.handle_mutual_excludes( - value, existing.only_binary, existing.no_binary, - ) - - -def no_binary(): - # type: () -> Option - format_control = FormatControl(set(), set()) - return Option( - "--no-binary", dest="format_control", action="callback", - callback=_handle_no_binary, type="str", - default=format_control, - help="Do not use binary packages. Can be supplied multiple times, and " - "each time adds to the existing value. Accepts either :all: to " - "disable all binary packages, :none: to empty the set, or one or " - "more package names with commas between them (no colons). Note " - "that some packages are tricky to compile and may fail to " - "install when this option is used on them.", - ) - - -def only_binary(): - # type: () -> Option - format_control = FormatControl(set(), set()) - return Option( - "--only-binary", dest="format_control", action="callback", - callback=_handle_only_binary, type="str", - default=format_control, - help="Do not use source packages. Can be supplied multiple times, and " - "each time adds to the existing value. Accepts either :all: to " - "disable all source packages, :none: to empty the set, or one or " - "more package names with commas between them. Packages without " - "binary distributions will fail to install when this option is " - "used on them.", - ) - - -platform = partial( - Option, - '--platform', - dest='platform', - metavar='platform', - default=None, - help=("Only use wheels compatible with <platform>. " - "Defaults to the platform of the running system."), -) # type: Callable[..., Option] - - -# This was made a separate function for unit-testing purposes. -def _convert_python_version(value): - # type: (str) -> Tuple[Tuple[int, ...], Optional[str]] - """ - Convert a version string like "3", "37", or "3.7.3" into a tuple of ints. - - :return: A 2-tuple (version_info, error_msg), where `error_msg` is - non-None if and only if there was a parsing error. - """ - if not value: - # The empty string is the same as not providing a value. - return (None, None) - - parts = value.split('.') - if len(parts) > 3: - return ((), 'at most three version parts are allowed') - - if len(parts) == 1: - # Then we are in the case of "3" or "37". - value = parts[0] - if len(value) > 1: - parts = [value[0], value[1:]] - - try: - version_info = tuple(int(part) for part in parts) - except ValueError: - return ((), 'each version part must be an integer') - - return (version_info, None) - - -def _handle_python_version(option, opt_str, value, parser): - # type: (Option, str, str, OptionParser) -> None - """ - Handle a provided --python-version value. - """ - version_info, error_msg = _convert_python_version(value) - if error_msg is not None: - msg = ( - 'invalid --python-version value: {!r}: {}'.format( - value, error_msg, - ) - ) - raise_option_error(parser, option=option, msg=msg) - - parser.values.python_version = version_info - - -python_version = partial( - Option, - '--python-version', - dest='python_version', - metavar='python_version', - action='callback', - callback=_handle_python_version, type='str', - default=None, - help=dedent("""\ - The Python interpreter version to use for wheel and "Requires-Python" - compatibility checks. Defaults to a version derived from the running - interpreter. The version can be specified using up to three dot-separated - integers (e.g. "3" for 3.0.0, "3.7" for 3.7.0, or "3.7.3"). A major-minor - version can also be given as a string without dots (e.g. "37" for 3.7.0). - """), -) # type: Callable[..., Option] - - -implementation = partial( - Option, - '--implementation', - dest='implementation', - metavar='implementation', - default=None, - help=("Only use wheels compatible with Python " - "implementation <implementation>, e.g. 'pp', 'jy', 'cp', " - " or 'ip'. If not specified, then the current " - "interpreter implementation is used. Use 'py' to force " - "implementation-agnostic wheels."), -) # type: Callable[..., Option] - - -abi = partial( - Option, - '--abi', - dest='abi', - metavar='abi', - default=None, - help=("Only use wheels compatible with Python " - "abi <abi>, e.g. 'pypy_41'. If not specified, then the " - "current interpreter abi tag is used. Generally " - "you will need to specify --implementation, " - "--platform, and --python-version when using " - "this option."), -) # type: Callable[..., Option] - - -def add_target_python_options(cmd_opts): - # type: (OptionGroup) -> None - cmd_opts.add_option(platform()) - cmd_opts.add_option(python_version()) - cmd_opts.add_option(implementation()) - cmd_opts.add_option(abi()) - - -def make_target_python(options): - # type: (Values) -> TargetPython - target_python = TargetPython( - platform=options.platform, - py_version_info=options.python_version, - abi=options.abi, - implementation=options.implementation, - ) - - return target_python - - -def prefer_binary(): - # type: () -> Option - return Option( - "--prefer-binary", - dest="prefer_binary", - action="store_true", - default=False, - help="Prefer older binary packages over newer source packages." - ) - - -cache_dir = partial( - PipOption, - "--cache-dir", - dest="cache_dir", - default=USER_CACHE_DIR, - metavar="dir", - type='path', - help="Store the cache data in <dir>." -) # type: Callable[..., Option] - - -def _handle_no_cache_dir(option, opt, value, parser): - # type: (Option, str, str, OptionParser) -> None - """ - Process a value provided for the --no-cache-dir option. - - This is an optparse.Option callback for the --no-cache-dir option. - """ - # The value argument will be None if --no-cache-dir is passed via the - # command-line, since the option doesn't accept arguments. However, - # the value can be non-None if the option is triggered e.g. by an - # environment variable, like PIP_NO_CACHE_DIR=true. - if value is not None: - # Then parse the string value to get argument error-checking. - try: - strtobool(value) - except ValueError as exc: - raise_option_error(parser, option=option, msg=str(exc)) - - # Originally, setting PIP_NO_CACHE_DIR to a value that strtobool() - # converted to 0 (like "false" or "no") caused cache_dir to be disabled - # rather than enabled (logic would say the latter). Thus, we disable - # the cache directory not just on values that parse to True, but (for - # backwards compatibility reasons) also on values that parse to False. - # In other words, always set it to False if the option is provided in - # some (valid) form. - parser.values.cache_dir = False - - -no_cache = partial( - Option, - "--no-cache-dir", - dest="cache_dir", - action="callback", - callback=_handle_no_cache_dir, - help="Disable the cache.", -) # type: Callable[..., Option] - -no_deps = partial( - Option, - '--no-deps', '--no-dependencies', - dest='ignore_dependencies', - action='store_true', - default=False, - help="Don't install package dependencies.", -) # type: Callable[..., Option] - - -def _handle_build_dir(option, opt, value, parser): - # type: (Option, str, str, OptionParser) -> None - if value: - value = os.path.abspath(value) - setattr(parser.values, option.dest, value) - - -build_dir = partial( - PipOption, - '-b', '--build', '--build-dir', '--build-directory', - dest='build_dir', - type='path', - metavar='dir', - action='callback', - callback=_handle_build_dir, - help='Directory to unpack packages into and build in. Note that ' - 'an initial build still takes place in a temporary directory. ' - 'The location of temporary directories can be controlled by setting ' - 'the TMPDIR environment variable (TEMP on Windows) appropriately. ' - 'When passed, build directories are not cleaned in case of failures.' -) # type: Callable[..., Option] - -ignore_requires_python = partial( - Option, - '--ignore-requires-python', - dest='ignore_requires_python', - action='store_true', - help='Ignore the Requires-Python information.' -) # type: Callable[..., Option] - -no_build_isolation = partial( - Option, - '--no-build-isolation', - dest='build_isolation', - action='store_false', - default=True, - help='Disable isolation when building a modern source distribution. ' - 'Build dependencies specified by PEP 518 must be already installed ' - 'if this option is used.' -) # type: Callable[..., Option] - - -def _handle_no_use_pep517(option, opt, value, parser): - # type: (Option, str, str, OptionParser) -> None - """ - Process a value provided for the --no-use-pep517 option. - - This is an optparse.Option callback for the no_use_pep517 option. - """ - # Since --no-use-pep517 doesn't accept arguments, the value argument - # will be None if --no-use-pep517 is passed via the command-line. - # However, the value can be non-None if the option is triggered e.g. - # by an environment variable, for example "PIP_NO_USE_PEP517=true". - if value is not None: - msg = """A value was passed for --no-use-pep517, - probably using either the PIP_NO_USE_PEP517 environment variable - or the "no-use-pep517" config file option. Use an appropriate value - of the PIP_USE_PEP517 environment variable or the "use-pep517" - config file option instead. - """ - raise_option_error(parser, option=option, msg=msg) - - # Otherwise, --no-use-pep517 was passed via the command-line. - parser.values.use_pep517 = False - - -use_pep517 = partial( - Option, - '--use-pep517', - dest='use_pep517', - action='store_true', - default=None, - help='Use PEP 517 for building source distributions ' - '(use --no-use-pep517 to force legacy behaviour).' -) # type: Any - -no_use_pep517 = partial( - Option, - '--no-use-pep517', - dest='use_pep517', - action='callback', - callback=_handle_no_use_pep517, - default=None, - help=SUPPRESS_HELP -) # type: Any - -install_options = partial( - Option, - '--install-option', - dest='install_options', - action='append', - metavar='options', - help="Extra arguments to be supplied to the setup.py install " - "command (use like --install-option=\"--install-scripts=/usr/local/" - "bin\"). Use multiple --install-option options to pass multiple " - "options to setup.py install. If you are using an option with a " - "directory path, be sure to use absolute path.", -) # type: Callable[..., Option] - -global_options = partial( - Option, - '--global-option', - dest='global_options', - action='append', - metavar='options', - help="Extra global options to be supplied to the setup.py " - "call before the install command.", -) # type: Callable[..., Option] - -no_clean = partial( - Option, - '--no-clean', - action='store_true', - default=False, - help="Don't clean up build directories." -) # type: Callable[..., Option] - -pre = partial( - Option, - '--pre', - action='store_true', - default=False, - help="Include pre-release and development versions. By default, " - "pip only finds stable versions.", -) # type: Callable[..., Option] - -disable_pip_version_check = partial( - Option, - "--disable-pip-version-check", - dest="disable_pip_version_check", - action="store_true", - default=True, - help="Don't periodically check PyPI to determine whether a new version " - "of pip is available for download. Implied with --no-index.", -) # type: Callable[..., Option] - - -# Deprecated, Remove later -always_unzip = partial( - Option, - '-Z', '--always-unzip', - dest='always_unzip', - action='store_true', - help=SUPPRESS_HELP, -) # type: Callable[..., Option] - - -def _handle_merge_hash(option, opt_str, value, parser): - # type: (Option, str, str, OptionParser) -> None - """Given a value spelled "algo:digest", append the digest to a list - pointed to in a dict by the algo name.""" - if not parser.values.hashes: - parser.values.hashes = {} - try: - algo, digest = value.split(':', 1) - except ValueError: - parser.error('Arguments to %s must be a hash name ' - 'followed by a value, like --hash=sha256:abcde...' % - opt_str) - if algo not in STRONG_HASHES: - parser.error('Allowed hash algorithms for %s are %s.' % - (opt_str, ', '.join(STRONG_HASHES))) - parser.values.hashes.setdefault(algo, []).append(digest) - - -hash = partial( - Option, - '--hash', - # Hash values eventually end up in InstallRequirement.hashes due to - # __dict__ copying in process_line(). - dest='hashes', - action='callback', - callback=_handle_merge_hash, - type='string', - help="Verify that the package's archive matches this " - 'hash before installing. Example: --hash=sha256:abcdef...', -) # type: Callable[..., Option] - - -require_hashes = partial( - Option, - '--require-hashes', - dest='require_hashes', - action='store_true', - default=False, - help='Require a hash to check each requirement against, for ' - 'repeatable installs. This option is implied when any package in a ' - 'requirements file has a --hash option.', -) # type: Callable[..., Option] - - -list_path = partial( - PipOption, - '--path', - dest='path', - type='path', - action='append', - help='Restrict to the specified installation path for listing ' - 'packages (can be used multiple times).' -) # type: Callable[..., Option] - - -def check_list_path_option(options): - # type: (Values) -> None - if options.path and (options.user or options.local): - raise CommandError( - "Cannot combine '--path' with '--user' or '--local'" - ) - - -no_python_version_warning = partial( - Option, - '--no-python-version-warning', - dest='no_python_version_warning', - action='store_true', - default=False, - help='Silence deprecation warnings for upcoming unsupported Pythons.', -) # type: Callable[..., Option] - - -########## -# groups # -########## - -general_group = { - 'name': 'General Options', - 'options': [ - help_, - isolated_mode, - require_virtualenv, - verbose, - version, - quiet, - log, - no_input, - proxy, - retries, - timeout, - skip_requirements_regex, - exists_action, - trusted_host, - cert, - client_cert, - cache_dir, - no_cache, - disable_pip_version_check, - no_color, - no_python_version_warning, - ] -} # type: Dict[str, Any] - -index_group = { - 'name': 'Package Index Options', - 'options': [ - index_url, - extra_index_url, - no_index, - find_links, - ] -} # type: Dict[str, Any] diff --git a/.venv/lib/python3.8/site-packages/pip/_internal/cli/command_context.py b/.venv/lib/python3.8/site-packages/pip/_internal/cli/command_context.py deleted file mode 100644 index d1a64a7..0000000 --- a/.venv/lib/python3.8/site-packages/pip/_internal/cli/command_context.py +++ /dev/null @@ -1,36 +0,0 @@ -from contextlib import contextmanager - -from pip._vendor.contextlib2 import ExitStack - -from pip._internal.utils.typing import MYPY_CHECK_RUNNING - -if MYPY_CHECK_RUNNING: - from typing import Iterator, ContextManager, TypeVar - - _T = TypeVar('_T', covariant=True) - - -class CommandContextMixIn(object): - def __init__(self): - # type: () -> None - super(CommandContextMixIn, self).__init__() - self._in_main_context = False - self._main_context = ExitStack() - - @contextmanager - def main_context(self): - # type: () -> Iterator[None] - assert not self._in_main_context - - self._in_main_context = True - try: - with self._main_context: - yield - finally: - self._in_main_context = False - - def enter_context(self, context_provider): - # type: (ContextManager[_T]) -> _T - assert self._in_main_context - - return self._main_context.enter_context(context_provider) diff --git a/.venv/lib/python3.8/site-packages/pip/_internal/cli/main.py b/.venv/lib/python3.8/site-packages/pip/_internal/cli/main.py deleted file mode 100644 index 5e97a51..0000000 --- a/.venv/lib/python3.8/site-packages/pip/_internal/cli/main.py +++ /dev/null @@ -1,75 +0,0 @@ -"""Primary application entrypoint. -""" -from __future__ import absolute_import - -import locale -import logging -import os -import sys - -from pip._internal.cli.autocompletion import autocomplete -from pip._internal.cli.main_parser import parse_command -from pip._internal.commands import create_command -from pip._internal.exceptions import PipError -from pip._internal.utils import deprecation -from pip._internal.utils.typing import MYPY_CHECK_RUNNING - -if MYPY_CHECK_RUNNING: - from typing import List, Optional - -logger = logging.getLogger(__name__) - - -# Do not import and use main() directly! Using it directly is actively -# discouraged by pip's maintainers. The name, location and behavior of -# this function is subject to change, so calling it directly is not -# portable across different pip versions. - -# In addition, running pip in-process is unsupported and unsafe. This is -# elaborated in detail at -# https://pip.pypa.io/en/stable/user_guide/#using-pip-from-your-program. -# That document also provides suggestions that should work for nearly -# all users that are considering importing and using main() directly. - -# However, we know that certain users will still want to invoke pip -# in-process. If you understand and accept the implications of using pip -# in an unsupported manner, the best approach is to use runpy to avoid -# depending on the exact location of this entry point. - -# The following example shows how to use runpy to invoke pip in that -# case: -# -# sys.argv = ["pip", your, args, here] -# runpy.run_module("pip", run_name="__main__") -# -# Note that this will exit the process after running, unlike a direct -# call to main. As it is not safe to do any processing after calling -# main, this should not be an issue in practice. - -def main(args=None): - # type: (Optional[List[str]]) -> int - if args is None: - args = sys.argv[1:] - - # Configure our deprecation warnings to be sent through loggers - deprecation.install_warning_logger() - - autocomplete() - - try: - cmd_name, cmd_args = parse_command(args) - except PipError as exc: - sys.stderr.write("ERROR: %s" % exc) - sys.stderr.write(os.linesep) - sys.exit(1) - - # Needed for locale.getpreferredencoding(False) to work - # in pip._internal.utils.encoding.auto_decode - try: - locale.setlocale(locale.LC_ALL, '') - except locale.Error as e: - # setlocale can apparently crash if locale are uninitialized - logger.debug("Ignoring error %s when setting locale", e) - command = create_command(cmd_name, isolated=("--isolated" in cmd_args)) - - return command.main(cmd_args) diff --git a/.venv/lib/python3.8/site-packages/pip/_internal/cli/main_parser.py b/.venv/lib/python3.8/site-packages/pip/_internal/cli/main_parser.py deleted file mode 100644 index a89821d..0000000 --- a/.venv/lib/python3.8/site-packages/pip/_internal/cli/main_parser.py +++ /dev/null @@ -1,99 +0,0 @@ -"""A single place for constructing and exposing the main parser -""" - -import os -import sys - -from pip._internal.cli import cmdoptions -from pip._internal.cli.parser import ( - ConfigOptionParser, - UpdatingDefaultsHelpFormatter, -) -from pip._internal.commands import commands_dict, get_similar_commands -from pip._internal.exceptions import CommandError -from pip._internal.utils.misc import get_pip_version, get_prog -from pip._internal.utils.typing import MYPY_CHECK_RUNNING - -if MYPY_CHECK_RUNNING: - from typing import Tuple, List - - -__all__ = ["create_main_parser", "parse_command"] - - -def create_main_parser(): - # type: () -> ConfigOptionParser - """Creates and returns the main parser for pip's CLI - """ - - parser_kw = { - 'usage': '\n%prog <command> [options]', - 'add_help_option': False, - 'formatter': UpdatingDefaultsHelpFormatter(), - 'name': 'global', - 'prog': get_prog(), - } - - parser = ConfigOptionParser(**parser_kw) - parser.disable_interspersed_args() - - parser.version = get_pip_version() - - # add the general options - gen_opts = cmdoptions.make_option_group(cmdoptions.general_group, parser) - parser.add_option_group(gen_opts) - - # so the help formatter knows - parser.main = True # type: ignore - - # create command listing for description - description = [''] + [ - '%-27s %s' % (name, command_info.summary) - for name, command_info in commands_dict.items() - ] - parser.description = '\n'.join(description) - - return parser - - -def parse_command(args): - # type: (List[str]) -> Tuple[str, List[str]] - parser = create_main_parser() - - # Note: parser calls disable_interspersed_args(), so the result of this - # call is to split the initial args into the general options before the - # subcommand and everything else. - # For example: - # args: ['--timeout=5', 'install', '--user', 'INITools'] - # general_options: ['--timeout==5'] - # args_else: ['install', '--user', 'INITools'] - general_options, args_else = parser.parse_args(args) - - # --version - if general_options.version: - sys.stdout.write(parser.version) # type: ignore - sys.stdout.write(os.linesep) - sys.exit() - - # pip || pip help -> print_help() - if not args_else or (args_else[0] == 'help' and len(args_else) == 1): - parser.print_help() - sys.exit() - - # the subcommand name - cmd_name = args_else[0] - - if cmd_name not in commands_dict: - guess = get_similar_commands(cmd_name) - - msg = ['unknown command "%s"' % cmd_name] - if guess: - msg.append('maybe you meant "%s"' % guess) - - raise CommandError(' - '.join(msg)) - - # all the args without the subcommand - cmd_args = args[:] - cmd_args.remove(cmd_name) - - return cmd_name, cmd_args diff --git a/.venv/lib/python3.8/site-packages/pip/_internal/cli/parser.py b/.venv/lib/python3.8/site-packages/pip/_internal/cli/parser.py deleted file mode 100644 index c99456b..0000000 --- a/.venv/lib/python3.8/site-packages/pip/_internal/cli/parser.py +++ /dev/null @@ -1,265 +0,0 @@ -"""Base option parser setup""" - -# The following comment should be removed at some point in the future. -# mypy: disallow-untyped-defs=False - -from __future__ import absolute_import - -import logging -import optparse -import sys -import textwrap -from distutils.util import strtobool - -from pip._vendor.six import string_types - -from pip._internal.cli.status_codes import UNKNOWN_ERROR -from pip._internal.configuration import Configuration, ConfigurationError -from pip._internal.utils.compat import get_terminal_size - -logger = logging.getLogger(__name__) - - -class PrettyHelpFormatter(optparse.IndentedHelpFormatter): - """A prettier/less verbose help formatter for optparse.""" - - def __init__(self, *args, **kwargs): - # help position must be aligned with __init__.parseopts.description - kwargs['max_help_position'] = 30 - kwargs['indent_increment'] = 1 - kwargs['width'] = get_terminal_size()[0] - 2 - optparse.IndentedHelpFormatter.__init__(self, *args, **kwargs) - - def format_option_strings(self, option): - return self._format_option_strings(option, ' <%s>', ', ') - - def _format_option_strings(self, option, mvarfmt=' <%s>', optsep=', '): - """ - Return a comma-separated list of option strings and metavars. - - :param option: tuple of (short opt, long opt), e.g: ('-f', '--format') - :param mvarfmt: metavar format string - evaluated as mvarfmt % metavar - :param optsep: separator - """ - opts = [] - - if option._short_opts: - opts.append(option._short_opts[0]) - if option._long_opts: - opts.append(option._long_opts[0]) - if len(opts) > 1: - opts.insert(1, optsep) - - if option.takes_value(): - metavar = option.metavar or option.dest.lower() - opts.append(mvarfmt % metavar.lower()) - - return ''.join(opts) - - def format_heading(self, heading): - if heading == 'Options': - return '' - return heading + ':\n' - - def format_usage(self, usage): - """ - Ensure there is only one newline between usage and the first heading - if there is no description. - """ - msg = '\nUsage: %s\n' % self.indent_lines(textwrap.dedent(usage), " ") - return msg - - def format_description(self, description): - # leave full control over description to us - if description: - if hasattr(self.parser, 'main'): - label = 'Commands' - else: - label = 'Description' - # some doc strings have initial newlines, some don't - description = description.lstrip('\n') - # some doc strings have final newlines and spaces, some don't - description = description.rstrip() - # dedent, then reindent - description = self.indent_lines(textwrap.dedent(description), " ") - description = '%s:\n%s\n' % (label, description) - return description - else: - return '' - - def format_epilog(self, epilog): - # leave full control over epilog to us - if epilog: - return epilog - else: - return '' - - def indent_lines(self, text, indent): - new_lines = [indent + line for line in text.split('\n')] - return "\n".join(new_lines) - - -class UpdatingDefaultsHelpFormatter(PrettyHelpFormatter): - """Custom help formatter for use in ConfigOptionParser. - - This is updates the defaults before expanding them, allowing - them to show up correctly in the help listing. - """ - - def expand_default(self, option): - if self.parser is not None: - self.parser._update_defaults(self.parser.defaults) - return optparse.IndentedHelpFormatter.expand_default(self, option) - - -class CustomOptionParser(optparse.OptionParser): - - def insert_option_group(self, idx, *args, **kwargs): - """Insert an OptionGroup at a given position.""" - group = self.add_option_group(*args, **kwargs) - - self.option_groups.pop() - self.option_groups.insert(idx, group) - - return group - - @property - def option_list_all(self): - """Get a list of all options, including those in option groups.""" - res = self.option_list[:] - for i in self.option_groups: - res.extend(i.option_list) - - return res - - -class ConfigOptionParser(CustomOptionParser): - """Custom option parser which updates its defaults by checking the - configuration files and environmental variables""" - - def __init__(self, *args, **kwargs): - self.name = kwargs.pop('name') - - isolated = kwargs.pop("isolated", False) - self.config = Configuration(isolated) - - assert self.name - optparse.OptionParser.__init__(self, *args, **kwargs) - - def check_default(self, option, key, val): - try: - return option.check_value(key, val) - except optparse.OptionValueError as exc: - print("An error occurred during configuration: %s" % exc) - sys.exit(3) - - def _get_ordered_configuration_items(self): - # Configuration gives keys in an unordered manner. Order them. - override_order = ["global", self.name, ":env:"] - - # Pool the options into different groups - section_items = {name: [] for name in override_order} - for section_key, val in self.config.items(): - # ignore empty values - if not val: - logger.debug( - "Ignoring configuration key '%s' as it's value is empty.", - section_key - ) - continue - - section, key = section_key.split(".", 1) - if section in override_order: - section_items[section].append((key, val)) - - # Yield each group in their override order - for section in override_order: - for key, val in section_items[section]: - yield key, val - - def _update_defaults(self, defaults): - """Updates the given defaults with values from the config files and - the environ. Does a little special handling for certain types of - options (lists).""" - - # Accumulate complex default state. - self.values = optparse.Values(self.defaults) - late_eval = set() - # Then set the options with those values - for key, val in self._get_ordered_configuration_items(): - # '--' because configuration supports only long names - option = self.get_option('--' + key) - - # Ignore options not present in this parser. E.g. non-globals put - # in [global] by users that want them to apply to all applicable - # commands. - if option is None: - continue - - if option.action in ('store_true', 'store_false', 'count'): - try: - val = strtobool(val) - except ValueError: - error_msg = invalid_config_error_message( - option.action, key, val - ) - self.error(error_msg) - - elif option.action == 'append': - val = val.split() - val = [self.check_default(option, key, v) for v in val] - elif option.action == 'callback': - late_eval.add(option.dest) - opt_str = option.get_opt_string() - val = option.convert_value(opt_str, val) - # From take_action - args = option.callback_args or () - kwargs = option.callback_kwargs or {} - option.callback(option, opt_str, val, self, *args, **kwargs) - else: - val = self.check_default(option, key, val) - - defaults[option.dest] = val - - for key in late_eval: - defaults[key] = getattr(self.values, key) - self.values = None - return defaults - - def get_default_values(self): - """Overriding to make updating the defaults after instantiation of - the option parser possible, _update_defaults() does the dirty work.""" - if not self.process_default_values: - # Old, pre-Optik 1.5 behaviour. - return optparse.Values(self.defaults) - - # Load the configuration, or error out in case of an error - try: - self.config.load() - except ConfigurationError as err: - self.exit(UNKNOWN_ERROR, str(err)) - - defaults = self._update_defaults(self.defaults.copy()) # ours - for option in self._get_all_options(): - default = defaults.get(option.dest) - if isinstance(default, string_types): - opt_str = option.get_opt_string() - defaults[option.dest] = option.check_value(opt_str, default) - return optparse.Values(defaults) - - def error(self, msg): - self.print_usage(sys.stderr) - self.exit(UNKNOWN_ERROR, "%s\n" % msg) - - -def invalid_config_error_message(action, key, val): - """Returns a better error message when invalid configuration option - is provided.""" - if action in ('store_true', 'store_false'): - return ("{0} is not a valid value for {1} option, " - "please specify a boolean value like yes/no, " - "true/false or 1/0 instead.").format(val, key) - - return ("{0} is not a valid value for {1} option, " - "please specify a numerical value like 1/0 " - "instead.").format(val, key) diff --git a/.venv/lib/python3.8/site-packages/pip/_internal/cli/req_command.py b/.venv/lib/python3.8/site-packages/pip/_internal/cli/req_command.py deleted file mode 100644 index 9383b3b..0000000 --- a/.venv/lib/python3.8/site-packages/pip/_internal/cli/req_command.py +++ /dev/null @@ -1,333 +0,0 @@ -"""Contains the Command base classes that depend on PipSession. - -The classes in this module are in a separate module so the commands not -needing download / PackageFinder capability don't unnecessarily import the -PackageFinder machinery and all its vendored dependencies, etc. -""" - -import logging -import os -from functools import partial - -from pip._internal.cli.base_command import Command -from pip._internal.cli.command_context import CommandContextMixIn -from pip._internal.exceptions import CommandError -from pip._internal.index.package_finder import PackageFinder -from pip._internal.legacy_resolve import Resolver -from pip._internal.models.selection_prefs import SelectionPreferences -from pip._internal.network.download import Downloader -from pip._internal.network.session import PipSession -from pip._internal.operations.prepare import RequirementPreparer -from pip._internal.req.constructors import ( - install_req_from_editable, - install_req_from_line, - install_req_from_req_string, -) -from pip._internal.req.req_file import parse_requirements -from pip._internal.self_outdated_check import ( - make_link_collector, - pip_self_version_check, -) -from pip._internal.utils.typing import MYPY_CHECK_RUNNING - -if MYPY_CHECK_RUNNING: - from optparse import Values - from typing import List, Optional, Tuple - from pip._internal.cache import WheelCache - from pip._internal.models.target_python import TargetPython - from pip._internal.req.req_set import RequirementSet - from pip._internal.req.req_tracker import RequirementTracker - from pip._internal.utils.temp_dir import TempDirectory - -logger = logging.getLogger(__name__) - - -class SessionCommandMixin(CommandContextMixIn): - - """ - A class mixin for command classes needing _build_session(). - """ - def __init__(self): - # type: () -> None - super(SessionCommandMixin, self).__init__() - self._session = None # Optional[PipSession] - - @classmethod - def _get_index_urls(cls, options): - # type: (Values) -> Optional[List[str]] - """Return a list of index urls from user-provided options.""" - index_urls = [] - if not getattr(options, "no_index", False): - url = getattr(options, "index_url", None) - if url: - index_urls.append(url) - urls = getattr(options, "extra_index_urls", None) - if urls: - index_urls.extend(urls) - # Return None rather than an empty list - return index_urls or None - - def get_default_session(self, options): - # type: (Values) -> PipSession - """Get a default-managed session.""" - if self._session is None: - self._session = self.enter_context(self._build_session(options)) - # there's no type annotation on requests.Session, so it's - # automatically ContextManager[Any] and self._session becomes Any, - # then https://github.com/python/mypy/issues/7696 kicks in - assert self._session is not None - return self._session - - def _build_session(self, options, retries=None, timeout=None): - # type: (Values, Optional[int], Optional[int]) -> PipSession - assert not options.cache_dir or os.path.isabs(options.cache_dir) - session = PipSession( - cache=( - os.path.join(options.cache_dir, "http") - if options.cache_dir else None - ), - retries=retries if retries is not None else options.retries, - trusted_hosts=options.trusted_hosts, - index_urls=self._get_index_urls(options), - ) - - # Handle custom ca-bundles from the user - if options.cert: - session.verify = options.cert - - # Handle SSL client certificate - if options.client_cert: - session.cert = options.client_cert - - # Handle timeouts - if options.timeout or timeout: - session.timeout = ( - timeout if timeout is not None else options.timeout - ) - - # Handle configured proxies - if options.proxy: - session.proxies = { - "http": options.proxy, - "https": options.proxy, - } - - # Determine if we can prompt the user for authentication or not - session.auth.prompting = not options.no_input - - return session - - -class IndexGroupCommand(Command, SessionCommandMixin): - - """ - Abstract base class for commands with the index_group options. - - This also corresponds to the commands that permit the pip version check. - """ - - def handle_pip_version_check(self, options): - # type: (Values) -> None - """ - Do the pip version check if not disabled. - - This overrides the default behavior of not doing the check. - """ - # Make sure the index_group options are present. - assert hasattr(options, 'no_index') - - if options.disable_pip_version_check or options.no_index: - return - - # Otherwise, check if we're using the latest version of pip available. - session = self._build_session( - options, - retries=0, - timeout=min(5, options.timeout) - ) - with session: - pip_self_version_check(session, options) - - -class RequirementCommand(IndexGroupCommand): - - @staticmethod - def make_requirement_preparer( - temp_build_dir, # type: TempDirectory - options, # type: Values - req_tracker, # type: RequirementTracker - session, # type: PipSession - finder, # type: PackageFinder - use_user_site, # type: bool - download_dir=None, # type: str - wheel_download_dir=None, # type: str - ): - # type: (...) -> RequirementPreparer - """ - Create a RequirementPreparer instance for the given parameters. - """ - downloader = Downloader(session, progress_bar=options.progress_bar) - - temp_build_dir_path = temp_build_dir.path - assert temp_build_dir_path is not None - - return RequirementPreparer( - build_dir=temp_build_dir_path, - src_dir=options.src_dir, - download_dir=download_dir, - wheel_download_dir=wheel_download_dir, - build_isolation=options.build_isolation, - req_tracker=req_tracker, - downloader=downloader, - finder=finder, - require_hashes=options.require_hashes, - use_user_site=use_user_site, - ) - - @staticmethod - def make_resolver( - preparer, # type: RequirementPreparer - finder, # type: PackageFinder - options, # type: Values - wheel_cache=None, # type: Optional[WheelCache] - use_user_site=False, # type: bool - ignore_installed=True, # type: bool - ignore_requires_python=False, # type: bool - force_reinstall=False, # type: bool - upgrade_strategy="to-satisfy-only", # type: str - use_pep517=None, # type: Optional[bool] - py_version_info=None # type: Optional[Tuple[int, ...]] - ): - # type: (...) -> Resolver - """ - Create a Resolver instance for the given parameters. - """ - make_install_req = partial( - install_req_from_req_string, - isolated=options.isolated_mode, - wheel_cache=wheel_cache, - use_pep517=use_pep517, - ) - return Resolver( - preparer=preparer, - finder=finder, - make_install_req=make_install_req, - use_user_site=use_user_site, - ignore_dependencies=options.ignore_dependencies, - ignore_installed=ignore_installed, - ignore_requires_python=ignore_requires_python, - force_reinstall=force_reinstall, - upgrade_strategy=upgrade_strategy, - py_version_info=py_version_info, - ) - - def populate_requirement_set( - self, - requirement_set, # type: RequirementSet - args, # type: List[str] - options, # type: Values - finder, # type: PackageFinder - session, # type: PipSession - wheel_cache, # type: Optional[WheelCache] - ): - # type: (...) -> None - """ - Marshal cmd line args into a requirement set. - """ - for filename in options.constraints: - for req_to_add in parse_requirements( - filename, - constraint=True, finder=finder, options=options, - session=session, wheel_cache=wheel_cache): - req_to_add.is_direct = True - requirement_set.add_requirement(req_to_add) - - for req in args: - req_to_add = install_req_from_line( - req, None, isolated=options.isolated_mode, - use_pep517=options.use_pep517, - wheel_cache=wheel_cache - ) - req_to_add.is_direct = True - requirement_set.add_requirement(req_to_add) - - for req in options.editables: - req_to_add = install_req_from_editable( - req, - isolated=options.isolated_mode, - use_pep517=options.use_pep517, - wheel_cache=wheel_cache - ) - req_to_add.is_direct = True - requirement_set.add_requirement(req_to_add) - - # NOTE: options.require_hashes may be set if --require-hashes is True - for filename in options.requirements: - for req_to_add in parse_requirements( - filename, - finder=finder, options=options, session=session, - wheel_cache=wheel_cache, - use_pep517=options.use_pep517): - req_to_add.is_direct = True - requirement_set.add_requirement(req_to_add) - - # If any requirement has hash options, enable hash checking. - requirements = ( - requirement_set.unnamed_requirements + - list(requirement_set.requirements.values()) - ) - if any(req.has_hash_options for req in requirements): - options.require_hashes = True - - if not (args or options.editables or options.requirements): - opts = {'name': self.name} - if options.find_links: - raise CommandError( - 'You must give at least one requirement to %(name)s ' - '(maybe you meant "pip %(name)s %(links)s"?)' % - dict(opts, links=' '.join(options.find_links))) - else: - raise CommandError( - 'You must give at least one requirement to %(name)s ' - '(see "pip help %(name)s")' % opts) - - @staticmethod - def trace_basic_info(finder): - # type: (PackageFinder) -> None - """ - Trace basic information about the provided objects. - """ - # Display where finder is looking for packages - search_scope = finder.search_scope - locations = search_scope.get_formatted_locations() - if locations: - logger.info(locations) - - def _build_package_finder( - self, - options, # type: Values - session, # type: PipSession - target_python=None, # type: Optional[TargetPython] - ignore_requires_python=None, # type: Optional[bool] - ): - # type: (...) -> PackageFinder - """ - Create a package finder appropriate to this requirement command. - - :param ignore_requires_python: Whether to ignore incompatible - "Requires-Python" values in links. Defaults to False. - """ - link_collector = make_link_collector(session, options=options) - selection_prefs = SelectionPreferences( - allow_yanked=True, - format_control=options.format_control, - allow_all_prereleases=options.pre, - prefer_binary=options.prefer_binary, - ignore_requires_python=ignore_requires_python, - ) - - return PackageFinder.create( - link_collector=link_collector, - selection_prefs=selection_prefs, - target_python=target_python, - ) diff --git a/.venv/lib/python3.8/site-packages/pip/_internal/cli/status_codes.py b/.venv/lib/python3.8/site-packages/pip/_internal/cli/status_codes.py deleted file mode 100644 index 275360a..0000000 --- a/.venv/lib/python3.8/site-packages/pip/_internal/cli/status_codes.py +++ /dev/null @@ -1,8 +0,0 @@ -from __future__ import absolute_import - -SUCCESS = 0 -ERROR = 1 -UNKNOWN_ERROR = 2 -VIRTUALENV_NOT_FOUND = 3 -PREVIOUS_BUILD_DIR_ERROR = 4 -NO_MATCHES_FOUND = 23 diff --git a/.venv/lib/python3.8/site-packages/pip/_internal/commands/__init__.py b/.venv/lib/python3.8/site-packages/pip/_internal/commands/__init__.py deleted file mode 100644 index 2a311f8..0000000 --- a/.venv/lib/python3.8/site-packages/pip/_internal/commands/__init__.py +++ /dev/null @@ -1,114 +0,0 @@ -""" -Package containing all pip commands -""" - -# The following comment should be removed at some point in the future. -# mypy: disallow-untyped-defs=False - -from __future__ import absolute_import - -import importlib -from collections import OrderedDict, namedtuple - -from pip._internal.utils.typing import MYPY_CHECK_RUNNING - -if MYPY_CHECK_RUNNING: - from typing import Any - from pip._internal.cli.base_command import Command - - -CommandInfo = namedtuple('CommandInfo', 'module_path, class_name, summary') - -# The ordering matters for help display. -# Also, even though the module path starts with the same -# "pip._internal.commands" prefix in each case, we include the full path -# because it makes testing easier (specifically when modifying commands_dict -# in test setup / teardown by adding info for a FakeCommand class defined -# in a test-related module). -# Finally, we need to pass an iterable of pairs here rather than a dict -# so that the ordering won't be lost when using Python 2.7. -commands_dict = OrderedDict([ - ('install', CommandInfo( - 'pip._internal.commands.install', 'InstallCommand', - 'Install packages.', - )), - ('download', CommandInfo( - 'pip._internal.commands.download', 'DownloadCommand', - 'Download packages.', - )), - ('uninstall', CommandInfo( - 'pip._internal.commands.uninstall', 'UninstallCommand', - 'Uninstall packages.', - )), - ('freeze', CommandInfo( - 'pip._internal.commands.freeze', 'FreezeCommand', - 'Output installed packages in requirements format.', - )), - ('list', CommandInfo( - 'pip._internal.commands.list', 'ListCommand', - 'List installed packages.', - )), - ('show', CommandInfo( - 'pip._internal.commands.show', 'ShowCommand', - 'Show information about installed packages.', - )), - ('check', CommandInfo( - 'pip._internal.commands.check', 'CheckCommand', - 'Verify installed packages have compatible dependencies.', - )), - ('config', CommandInfo( - 'pip._internal.commands.configuration', 'ConfigurationCommand', - 'Manage local and global configuration.', - )), - ('search', CommandInfo( - 'pip._internal.commands.search', 'SearchCommand', - 'Search PyPI for packages.', - )), - ('wheel', CommandInfo( - 'pip._internal.commands.wheel', 'WheelCommand', - 'Build wheels from your requirements.', - )), - ('hash', CommandInfo( - 'pip._internal.commands.hash', 'HashCommand', - 'Compute hashes of package archives.', - )), - ('completion', CommandInfo( - 'pip._internal.commands.completion', 'CompletionCommand', - 'A helper command used for command completion.', - )), - ('debug', CommandInfo( - 'pip._internal.commands.debug', 'DebugCommand', - 'Show information useful for debugging.', - )), - ('help', CommandInfo( - 'pip._internal.commands.help', 'HelpCommand', - 'Show help for commands.', - )), -]) # type: OrderedDict[str, CommandInfo] - - -def create_command(name, **kwargs): - # type: (str, **Any) -> Command - """ - Create an instance of the Command class with the given name. - """ - module_path, class_name, summary = commands_dict[name] - module = importlib.import_module(module_path) - command_class = getattr(module, class_name) - command = command_class(name=name, summary=summary, **kwargs) - - return command - - -def get_similar_commands(name): - """Command name auto-correct.""" - from difflib import get_close_matches - - name = name.lower() - - close_commands = get_close_matches(name, commands_dict.keys()) - - if close_commands: - return close_commands[0] - else: - return False diff --git a/.venv/lib/python3.8/site-packages/pip/_internal/commands/__pycache__/__init__.cpython-38.pyc b/.venv/lib/python3.8/site-packages/pip/_internal/commands/__pycache__/__init__.cpython-38.pyc deleted file mode 100644 index 260c2dd4ed3d16810a675cbc1545ee86d9a69b6f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2852 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 NunaisG@A_vF93YMg8Kjf diff --git a/.venv/lib/python3.8/site-packages/pip/_internal/commands/__pycache__/check.cpython-38.pyc b/.venv/lib/python3.8/site-packages/pip/_internal/commands/__pycache__/check.cpython-38.pyc deleted file mode 100644 index efde2d9a2b2a4b5e381513c7c0a573bec740dc35..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1312 zcmWIL<>g{vU|=}A?@#hWRtAR0APzESVPIfzU|?V<_G4gRNMT4}%wdQE(M&mvxlB<^ zj37314s$L`6iY5^6f2m|lEaqE9>vbckjk)tBb9R@V-%M=LkepOTMI)9TPjmCa};+9 zV=#jz`%92bewvK8*q!rpa})DYG?{J*CTFB3XU7*LCTAz6r^XkjmfTWIE=o--NktZm zPb<pLjnB+0E=kPENlnpYyv0*qlv$D*pI=&1P+F1<G8h>%!Mq{Ez`&5o5XG3n5XF?j z7{#2z6vdLloWjz=5XG9p8qA={c8kXu<N~ORs?5Vui!#$H72tL$K%G{skdauHs*s$Y zTaZ|inUs^Nkdj)EnwOHAmz<eetXCz*r2q!11x5Mk3eoumC7Jno#j(lENbcfgU|`^6 zU|?_th42Cf28I%bW`-E1TIO1o62=<lX2uw%TGm>&8devESiM^I8s-{yNro(@T8<i4 z5X*%jR;-q@ggJ$=hP{TPhBJjplA)P}k)hC_P^yN_g(21iMGqTPk4y}6EmtjfEl&w^ z3Nu(IPYqWMcQYF!Lt#pxUkz*Vgc`Qu2{kN5Q&L!h8A_N_SeqF^F$)SFzbY-&Vg=P= zg`(8L(#)b%5L-u~JR>tXLm{(RAuqoK5mb6bj0_A6Rk{!j8HsRBxv6<23aZ6A3Q46U z3YGb#ke~!B(|ZZlBkPy1kW`ePotg);2&AW2AuYc&FGWw2r3jQTi$Gy{i@hwhs5mn} zuZWd_fkBh^7E5tzPTDPYXn@~hNi0e)zQqlVHBf?z;w?xlD$dMHk1r_7Pb$8}o|{<= z;@;v;&d*EB$xJTE%uBz;Q&5zjm6}`<pO=`MTExM?z;KHT9>bNlI8sszz*4ukK`f{n zZZQ|77OrF{5@BFq_~oEql3So(kXfKxng_BzHAS~PBQ-Tgw>&qys5B*~7$m13pP5&Z zT9lWVqn`}P1jYK`ETC6Vd5gKIG*1kaHjF@thLMYrhlvA3GBSZ60}}(=KMq!qh!BX+ z$ix7J|2SBA7+ILA1dx-mUQubDpC;Qaj(D)U<Ku5}#mDF7r<CTT#>d~{iH|QVP0Rs# zHa`9qdwhIKesX;LE!NWF#Prl6kR!mJLLx*N7#ND!7#J7?KrRF^I2c)&SeU_Lnmo7I zbMn*EK_MwukXfJy_oiNQPNrT`VsUCb)W1cb%y|n<QGP*cQ6f0U=z&869M#}Rza@cc zTxm&WPO)BYW^pn&0o>wDPc8AuPft%RDiQ}p8XL$NsYPH{A-NtDLq#Aj+~Tl-1cDtX TNfm>NLk=b$MgbNcCN5?GTry`s diff --git a/.venv/lib/python3.8/site-packages/pip/_internal/commands/__pycache__/completion.cpython-38.pyc b/.venv/lib/python3.8/site-packages/pip/_internal/commands/__pycache__/completion.cpython-38.pyc deleted file mode 100644 index 7849f448858d5a555b11aba0a76b6f7c9ec99cab..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3013 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 JW_r!03;-8>74rZ9 diff --git a/.venv/lib/python3.8/site-packages/pip/_internal/commands/__pycache__/configuration.cpython-38.pyc b/.venv/lib/python3.8/site-packages/pip/_internal/commands/__pycache__/configuration.cpython-38.pyc deleted file mode 100644 index 60fc31d9da6671c887e02b5b3fed75398f3e8349..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6575 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 diff --git a/.venv/lib/python3.8/site-packages/pip/_internal/commands/__pycache__/debug.cpython-38.pyc b/.venv/lib/python3.8/site-packages/pip/_internal/commands/__pycache__/debug.cpython-38.pyc deleted file mode 100644 index 8eec64f3c9a57ecdc1587145c43674c9fbc016f2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4089 zcmWIL<>g{vU|=}A?@w}}00YBg5C<8vFfcGUFfcF_zhhuvNMT4}%wfo7jACR2v6*t1 zqL@+`QkZg>qnN=oOB4&3W{qM^VMt-lVasKYVh5{b$>GT5jN$~dS#!8@xudwjY_=Sp zT;3>NFq=JxFPA@xAI#>+5y%yc5(Kk3bA)n*qlCe1t{jnE(I`<yhE&m_4JiyM+&N;o z;!)zc5>XPll2MXiH9R>|xzbV6j0~yF3uIDd7cxf4rSPWkwJ=1<r|_o;v@k>|qzI-6 zwJ<~}rU<8qv@k>|xih4QriisLq==<*H#0{mr!WOGXo|lCg@h*KE&jx$;{2S_lGOOj z+=Bd~5<gAGTdd_7sYR)pjJLRwb5rsQN;32FiZvN;u{-DI<|gK)Xfoas%1z8pjW0<o zN>43`FQ_cZ$j<{Q2o802b`1^&>CDVaNzE&X&&f{*Sprs;SrA{AT2!0~Rx9Ki84wxo z?BVL{9Um0x=jZ9?uE~6h*)gy37K=}2amg(Xf3U@gIhu^O*uoNXN>huInLv()Vi22+ zfq}sp6oX<63=Aa<3m8)v7ckW@)G#h&S_qEEU<OSlzbdxsS}TR>T21C#Y&rSq>8VAx zSTgg{@^7)F<rn29mS{5FV#!O)O})ih2C`-)Ly-sr1H&%|{gT`Q{esK_-O{{*#N_PM z6y5TS)YKf^^4#pA(v+NHkeq&eW?o5ZQC?z>eljF<iuF@clS<R|3My}L6=&p^$Ab-( z0l5<7WCo@pkYkgfz5r7oaZZ?5+~8gTd7*@<ggJ$&nW;#rggJ|)mZ63ri?x<9k0ph< zma&AbnW0~Rk)eb=g{6kEnTe4hoWYbKkRga6f+2+=m_d`(uS&SMvRE%Ow;(4qH#M&$ z5fqhHxA;&6ZZQ-IF)%P_auo41FfbGeFfcIOV$Vn{PAn-Yy2V^vSzIIz5(lX%;sCKg z9?)b0i{27OH7gzzkl^rx5TYQ%#KGZETv-fCV@NJh1O*BoC<vIi7`YhP7&(|&m^c`V zK!KIa2oi^4P~d<tIIj1Aaw}skV+lhILo;J7Qw`Gs#)S;E%r#64m=-eBvZOH8vevK^ z>7_6)V6I_V$XLso!m@z5gr$bLnX!g-AyX||3F`v38a7by)-YtTr?6%-6cs?_8M9f6 z3R2i=*=v|n7-|?>nIsu%ne$ju*lXEKIGP#yEf^VUm|YlRg=#rKrj&5ja5OW5Oe$=s zVJ}*j!jZ*X!<fR^%ZO|XTC{Nay#y6ZMG_1Q3{|`e8jx&c1xle+qR#ob1&Jk@Nja$s zC5h?9AkpgDm!QB1ajUY|)6?UMcFQa(E>Wm1NlcH=$;{0xsRgT400nZMo<cxkaj}A~ zZdqzkQhsr&LP<VYLLo6HM=w^B@fIgsn<iHgDF58z0A)^)UAK53`5`_%vn(~QNDvft z%sHuf$jJg~EI1w9VlFNz(&W6w4lN>z<Uu-kA>M(O3b$B5CPxWCOfE@HffgFK*osTj z(lRS<G3OSiNAZ9ZK|GV1a*MenF&&b6K>4r;oP;<*zKaJb(*q?M9Z<pmCl(H74n`J6 z7Dg^60Y)w+F-8_fK8QG@022!n(|;yrroU_~McNDu3@Ay8m4Sf)<b7t4aXH{T*UV7M zSi=BHOfC$uGBHfGOts84paO+y0dorDLdFy(Nd|CK^VKjGo1`!YGo-Mju%@u3Gj}qy zGo&%5u%~deaMUomfRZIk4NGxE3TH4w4dViq6i$%76s`rVHH-@xgBdir{cbVp6@g;4 ziq|i{M4`AKH90daGd1NFduCp7Nn%b8xDZawxy6x^U!IqfpO}K;dQgc0s=kClt_P)~ zbcPy+Sb<u`8paNWY_=kn8perCg)G64q6{3EnoPHt^bBsX=A@RT=B#9lk_I!1<4ZCU zOXBm(Qj3Z*Q&Qv8bMliCbHExP0ncTVlUZDnoS$1@7YVWq6lQFUObi?hRZ7W;@kyn5 zDLJX}pyE`|CMQ2RF{jv0525828^pjWCLIM$wp+}_sU^2qGfPr)i*GR}rlj0rEiTB( zEV;#2l$x7gmU@dND?c+&ll2x`a(-S~X8J8Qh#PM)XQx&cf&3aJ4lxhr;LN=Ac(59X zi;X~~6F9x_p}H*q<a8-eqG4oX6krr%Vqs(fmpM%T*_a{hB0EqL0VzSopyUDK7aK4z zFr+d>F{Us?F{Lm@F{dy^v7|6Zv4SI>C55$xBZ@7BErq>>A&R}7frTN8BbY&x;}(w# zs4{?7oK-4Z3JMAeE}6vzIf<1D;Cey<6m+0kC^J7#4=i0J2Bs7gR11po(-mx>xyvpD zB?W+DAA~_gb}^_GQ^HWfSi{iFl*LrTSi{uE$Ox({m}{9!SQfC>FoV)x4MP^&0`?Tf z8s>#eU|F^-js=_x89)sSa777DkeXb#Sc^*wQj3c0LD`ujK0Y%qvm`$L7DsY!N_>7n zNpTU#-dmE1DX`28&FdgZP*dR+TR~z`aca>m;mo|^)S?ooczk+MerZ9GHON#JP>R-M zxy4ePnv-^mC9x>I_!d)kd65$X1H($jTb%Ln$vKI|#qsfwcm+jiks|{G11O^wg9=Xu zMj<9PMlMD^#wt<dAl8F9HyIXlpx6VkK^Y!gf9wEfc2HXZ6euN3DNH5I%?zOGvxF&y zxr8N)70PBQVaZ~HvRO-57O*dbsbVW(S-=73v6pZz;DYlwN?5YE!Mb>w85kK#m{K@P zcxxE4__Fw$!Ig9gQwmp!K$hSFp%ku#FcEI32sd1Wr$iX)Dv=t-W=2Ma6477=O<upM z9U&Q+#R|~YhC*hsLVjLOr9y6MVqS?tT7D5ES*2&@rRyoU<SXRmmnf8i>H(0Z^30M9 zg~Za5{9JHL0IVDoSDAU~3W<3s3hAjOB_MW5Mrv`YLP}~$VrEXUjzV!}UUI5JNk*zd zerZWTX$e>@G+8R-rzw<x%!WBAH?dM7IU_MIJyii@U4Cf^$PJmvsd`o11(^j3&?aCN zH>hO-<M4qvsTHZor6q|;IjL1*AbxskNlI#3VrfoEYF=`FN@iYql_XR=Ei)&zxU#qe z)T)6>NrOwDRK4`nl7gbtwA7-a)D*Zr9+19*oWv4PJya#Eo}5}#qOJfbWfZ^-v|B<! zu7RPh!6Cu%&W`a;p?)qtuDAG{LxX$}{3_{!%mTgmvedkk{31P&8JTIBdf>*ghNh+% zxSqVlUY=N#mzkFiZsrwnf=VP%!E=ip>epLb2!GxZ!t~=U(e%_3O#gwJuE~ixskcP1 zdGHno%yZzz6SyoZask;5&TdTk#kbf~^U5-d^7C#nr>B+_fpP@6QY>NzHT{^2+(C*} zL4*g00N1==0+jb|F&CBQm4M1n4N!JsVqs+Z&%(yT2!ec!e2h$tObl%QS(tek*_ebF zL6C=ugQ-dYC1)0u=4o=?;)n+~5#!@;amB~y=BJeAq{heJ;)#zhEKSS-H6G*RZ?VV6 zr{pKc$KPTtElx~Ny(OHPo|j*g8ef!JSejXs3W|U-aB)xss*-N;LQ9L})SMhxi2-)H z7sw|d_k)WvP?H;6c5pDVu&^+(F!6AJ#WhtxPDv{*DJ@Ekk1qmMtwq70LW&*KSpdak z7|0w@Bt{8iNdVxmj1mOPz&ZnZ$vK&jVp0x6TrVlHI5i%cU5Y@(Qj`p)B1F#%(n`Z( zPH{<MNojF>a(+r`F*q7;LDDDO5v3)WImLP~Ux1qKw<J()f~d&NEKUZe)LT;6q)RFb zK%oFCc5kskIozNi;Q<l6prGQ&FDL;OB&kK9=KL+r^wbg`a8Ii!3Zw>9NkQ@hsA&&L zccAJP9R83Z9vop{0u*7lIBXzk!wyu}6l*asFz_&OFoGcy4-+We!7&pHqX;7p6BjcF LD+e!!5{EDVsq0Ca diff --git a/.venv/lib/python3.8/site-packages/pip/_internal/commands/__pycache__/download.cpython-38.pyc b/.venv/lib/python3.8/site-packages/pip/_internal/commands/__pycache__/download.cpython-38.pyc deleted file mode 100644 index d9fe408167fc09d7919713ab6c366093ece46e53..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3921 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 Wfq{XCiGz`YiH8veMHqRQxR?Q`?tdQu diff --git a/.venv/lib/python3.8/site-packages/pip/_internal/commands/__pycache__/freeze.cpython-38.pyc b/.venv/lib/python3.8/site-packages/pip/_internal/commands/__pycache__/freeze.cpython-38.pyc deleted file mode 100644 index 698ea7214ac83b11e0b45eec4254b34c04a30ead..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2929 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 diff --git a/.venv/lib/python3.8/site-packages/pip/_internal/commands/__pycache__/hash.cpython-38.pyc b/.venv/lib/python3.8/site-packages/pip/_internal/commands/__pycache__/hash.cpython-38.pyc deleted file mode 100644 index 5e0c47065a4608f31402fe15dd9d1297573b77c3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1990 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 IVir&W02wF^SpWb4 diff --git a/.venv/lib/python3.8/site-packages/pip/_internal/commands/__pycache__/help.cpython-38.pyc b/.venv/lib/python3.8/site-packages/pip/_internal/commands/__pycache__/help.cpython-38.pyc deleted file mode 100644 index 4533557daf2e1e8d66bf38d6cad75c799f309b33..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1186 zcmWIL<>g{vU|=}A?@#hv76yjLAPzESVPIfzU|?V<c41&(NMT4}%wfo7jACR2v6*t1 za+#x;!EELnmR!~-Rxq0-hb@;qik*?cogsxag{_4lg)No2nK_Chg*})-lj9}Gd`-q% z{E11$`8lN}sqvY)1^GoKnvA#Do%3^Z6Z29)%-~RGXV>6hO~zY1P*K;SqWq#{kZxqm z1aqMR0|P@ULlk2QLljdAV-#}=Qxr=Ia};X|OA2cXLlj#ITQGwr`z>yd)SLpSiB)33 z8TsW38L2r13TgR83ds=bi>t)A6u>~WpeR3G!3HXB7n013WHl({I2afhoI&B!1qvU= z6edvk)H3HX)w1L=*RnD)RPod>r7%h|)Ut&$<VmnFl(1xT6<IJcfM5wL8$%>RFhc}G z4O<O!HhWP?4QmZsGh;1#3Udvc7(+T^Ek_M|QCbbh0=5*E8g?;;g^Y|0CG07z3pi>x z7BV(7HZj()fOT-zaAt8X;9AJQ$WX!>%%I8USH#G`z@W)|ix=wn;`o%z<dR!_$wjG& zC8_aH(OV+vsU`8nnYo!ciA6BM;wq8SyzIRE@;q3GC@85GD^-c)CRQe;Dpcl|D&(dn z=9NH1nH6*uG`Vky6=W9Z#b@S~q!#5R=IBAqFD_zdU|=W$1yd0x0|Ub?F3-G_)CzD^ z7J(AiEw;phg4Dc}B36(rOIChn-YvF*#G>NVqFY=AMVWae@u29@<hsRDoSKt%i#@-f zBr`v+_!diIQ96d{9Lc#U@p*~4skd0uOH+%BZ!zZ<r{7|SI%Xw9kvIbb!!LXNlH3CQ zg3JQl(!7Gi<m}WG-SUjo)EwRN-0Y&#l$>IaoIczy`cUn~`XHC+6;$40E-K9v0>!!v zC^;~SurM+4F!C{SF>x?*FmW-mF!C|+F>x?*F;(#+r8d2y(mX#+_FEkBU?;}M-{Ojo z&&^LM%}I@qzr_<DUs#%$19E(P{4MtQ_>}zQ`1o6_rNxQqskekP)ARC+QsawK3rjPL zQsc`~^U8`OK|u@h5!hQ0LINbl#=yY94RRkS+&LIom_V=yB<iQh39>b<w4}5sH9o!w zlzVQ;p+#Lzre0EFF+7bFff7A7Ma3nFC8fpj$@wX%#gNF9Ks70~A~_WjUEt^iy8z-$ dgsVXgzQth!2?sk+k|+kbnum#pk%y6o833}AI`RMj diff --git a/.venv/lib/python3.8/site-packages/pip/_internal/commands/__pycache__/install.cpython-38.pyc b/.venv/lib/python3.8/site-packages/pip/_internal/commands/__pycache__/install.cpython-38.pyc deleted file mode 100644 index 357ad61ef7fe04c7e4751ef8840fc225350e8c91..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16661 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 VfM5X!D+dR7B^@KfZ!Q}Sa{!66{G|W@ diff --git a/.venv/lib/python3.8/site-packages/pip/_internal/commands/__pycache__/list.cpython-38.pyc b/.venv/lib/python3.8/site-packages/pip/_internal/commands/__pycache__/list.cpython-38.pyc deleted file mode 100644 index 415d0661fbdf2e34cb068c858bebc6044e79e244..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9042 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 C101;k diff --git a/.venv/lib/python3.8/site-packages/pip/_internal/commands/__pycache__/search.cpython-38.pyc b/.venv/lib/python3.8/site-packages/pip/_internal/commands/__pycache__/search.cpython-38.pyc deleted file mode 100644 index 0d4473bdb01241e585eb5b0b4df2c4f6506fe153..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4484 zcmWIL<>g{vU|=}A?@zLf2m`}o5C<8vGB7YWFfcF_|6^caNMT4}%wfo7jACR2v6*t1 zqL@+`QkZg>qnN=oOB72ALke>aYc5+98(0lX4tp*~6bG2in!}mP6~zr^v*qyQ@<#E3 z+3Y!dx%^T5U^YjNK(1hvAehaWBa|x~C7de~B?9Ji<%s5rMTvpg+&SX85>XOhHcyUZ zu2hs1n9Z9bohuV117`E($mYsL$${DYIr6y*Q3{L<sZ0wLQ<WAnMk%{9qzI%4wlJg! zrt+r>HnT*jqzI)5w=hJhrbwiSq=>dKMyaKUrHHpMM5(7R1v6+$z66DgCgUys#H8Z< zoYIoi_{`jb{Gt*+O~zZ?{zWONMX4z+naL%ZjJJ3TveV;>Qj7CTi;`1|H5qTQ79<uG zr-EcEa&w9blH-$eGE?(FO4*(Bb8{2(QZyNF2?wVZ7iZ?@K}CEsD>CymnQjUA`N#V@ zhB$k;2FJVkhx)nPVh;{=c6JR8)?~cJ16Ax=RFq$&$#{z;pfbQylkt{NKxRP%*s74C z#JpmVJ2e?^38tr(#FwNN<!0t3=EN6gR)L(vm6?~4npYB^lb;SUu)HX<BsD(2w4|W4 zBpKvoWXufZ6k9MbFr+d>F{Us?F{Lm@F{dy^v7|6Zv9>d$F{ZGju(ohSv8Ax3u(vQo zv8QmPaJDc+akMkAFhp?%GiY+%;tftsEK1IRI=;#Q!c|DiFH!(`K%pQpIXf{uwOFA% zBfmIRAulmERUyAfp|~_RH?gQvAvr&<Br!9uSiz>SG_|PGPOnOiO92d23ySj76{7PC zN;32Fieq64LXsJwE(cK{UvMxmFz|ztHYk0UFqAOXFf=n|G1V~EF!eDqGSo0+F=w%) zFs3l2FsHDTux7EPu%@u}vVmpT7jUGogH$YJ0wu3t22BpXDkj~`Dt296P+(TvVueu5 zp+P=X#!iXFsS2S%J_`A13IUZR8Tok%0TBNwc;=;~Rw!tsq^2d7=9DO?LK&KxEVo!v zQj1G&vFE0iB$g!>-C~DI-D1f|%_%4Xc}J7;7He^7L26NvAOi!#Esps3%)HE!`1o5K z$+;=<`2{7#x405hz^u&tydoa3qJqkT%=prxoLg+*Bw2JzI5V#}wWtK7J~KZrKD{Wv zv_O;j7E5tzPTDP&#G>@#TTI#ID;aNb#>Xe;Bo-IP$FF4g<)~khTcBT%S)f~*2a2rJ z6y5TS)YKf^^4#pA(v+NHkeq&eW?o5ZQC?z>eljGL7wZ>;BVMndvPhDFfk71%10tX} zVH9FyV`O4rVgx}JMyB6v>{VirWC2YjdNBVbgW?aQ2ZY%f7#LU>7#N&ECWSCCFw`&= z^OP{8Fg7zbG1f5EGS@IHV60)TVO+>m%TmHr!_v%H%bLPa%T~gi#j=2PAw!W(30pHm z3X>#AjJ<}nhAoA;mx+;~hNUQ=gd>=t1e9V~{Hip4GmDEe^U@WHQVUBni&9e*5{uGH zb5rw56f_{7QUE7LO+85DFy7*W=d|+7l#&cht|D$w6tF>5-{LC)<;=AFqTKk5%#z|; z%*B<(x7dnHQu0enZn0$+Czg~{7V&{}@D>zh=9Pd7l+v7%;v!I)UBt=2z@W)qBoC5j zhbH$T1rU!F?2IT*a7=?uW&x2!Y77hvMJjLt6!f>4i%RnhKp`gq3QI;7Mh-?6Mjl2E zCKg66MlL2EMixdE#wtP7cql5(Lx}=VRsz)&;3%*GM?n??G~k&QGJ=DhxrU{gsg|{b zc>zlea}Dc4rdqZdwgs#;j5UlYjB}V$m=-eCve&Q&GiWmVX)@hn0p<8x?9lvviz&ZI zldVVy<U3(d5eCf*@x_n=vxpbuD>jfccW`P^S!z*0QGP{bkvb@hIKW|4qz6)>3sS-f z&YR#ozz#Lw7AH6^K&9j@7Erhq>4TJ`1{T;jP-#&N%1I22Y)o8CT#P)7LX1@+r~w3t zU`;MimIQeuKK>S0e0*+xN@-4NeEcn*`1r!o#2ly$dwhIKesX;LE!NWF#Prl#!kOuL z`9-Pm&}0^0mYP=v&MQTrhypv}7B4g_Ca31)#K$8=suIZApqK?0338yA1v!?3k%b8a zdAK<Qz%nSsAt>PB@z=({z)-@_%uvf%!{EXYn^((J!<51(35ri9a3*1?VM<|^WT<5Y zWvT^?3mLN6i`;6MYglSn(-~7(<}lYV)-c;J6mo%RNrn_wNrnYXHLMFkg(_<aSQaAM z%$Uto#8txrRmTL<Q^Hci2+EYrjKK_=Y*l-}rFuw4szOd?afw1&QGTuhD0&n!ixrAe z6LWGZ6%rv*`DqGesYRgLvsh0dJXN7QF|Pz62Q~&&OhM|D%#sX+5}2V#Iu(jb@<ACp zGcPAIFI7(=BqOsJRM(WH7L^o(bb!r4cS>GKzCwOpszQ0HLULlBLTPcT9#~zGAt*A8 zKuL}r>NZVgBtZ_SU~!QXD4ntufr_<TEZM1`Vj!`gAT=-L7Jo)&dPZt-Njy~TEf$dN zx7f-Ob4pW-HQB)F^cDxqYqyv)GD{Fv6gh%ifR>6i7#JA5K?y?!l;zpj7&#!2iH8YX z^#0{x6Ji!&<YOuVsYJ=>pyCTu_<%Ed03!oK4MQ<U3PUhM4Py#JHb;>fsN79qYGD8+ zoo2>n#uR38hFVa2fT@L{gfWZBg`t@dR4}+OOkj-Vt7WNS0VR)G)*6-+Hc5tppcHmc zxm?4tfCbcMNM~Hg)XZ4RUc;2akj+`Nq=u=6QGy|bOM;=6qlP1eJDa6wNeSx$wi>n? z4p4!T!jr;V!<fP+&LF}d&ai;JhHW8ZEn5nI4P%Nx4Qma18j~194O<$s7(*>*RYeI$ z4QDerQPwbLvrS+uGALnOzzIsIwOl1!%?$lMj0`ngS==@3*-S-0N;pykLA+)rMut4S z5{?uh7_Wq<hP|0Fi+2KJkxU6kif|1(SPfSRM~Vo99nN6N5Xcb35Wx`6P-w-%P{NnZ zHG#3ngOLFQBN+;<A{Yv-K;ft<>W7junHU%tKm~m;D84`?SUN)uL#$dYV+lCOB^jC- z!A%#&1x%o(3M9aq8O0eUG8M9b%2G&L0Hv>AjJlf4x0rKM^NL(SNs>7|wM3KY7L%Sq zktb#<xy5AzN@&UXxdnFFAj?5jEE^Nk|0+e4x=7C^CqFqcr`S#pq5dUEErvHhi5u(< zP$>@f23IX(4PzG6so*jU)ch<c%FjwoE{O+~j+#tGz96?U7J#K81h{nbV_;w?fV+!< zi2>qKBamtaaDFQCVqjo+2`biJf|BelMy_9s3NJyfsNz)B)hbrdRZuOiVplCz&`>Sb ztP=C|3l4Gg@o{yrQUHnNB$lKWmuOb;qKH@7`Z$KT28URI+L|C`1x2a4MX5QdiN&eb z3YmGuC5bsX3gw{kMX4aO04}1dTTqm$q*=v_qFs~!7ISW5MG+{xZgH3A7iDMWrN<Yi zmVjfZ$Oq&Zj*`@hlJcU&f?F&QGAlnbuSftSB>=7oGmA@#GLuR{&D|nUdlsDMZ}EZ~ zckoh!xu7WZmQZM3W^#T?s%svY1a}y?!39W^ASkrslk;;*bMxZCjTLZfAxa49rPP#o zSP=tBE%2f(iVYG{Q9LDyMIZ-(b%TnjywqDPDInLOl|MQR3=HX@r~^e11Gs^~!N|eH z^pB01=`Rbb03#P82e?)RksM4sjAEe12m{l9HYO%U4p6fMO!6`DFoK#VO#j)KB^U)5 zi$Lb0q&iR&85FeO(h5`ymN3*XlrW|+_JX=|OrUNXb9QQ_CR0%aC<DZS3SmY_+Cg(N zD8ozuIT@5685qIQqsipwr>Oy|*V9T%N{dqC<BLGDx7c&?)6+Ba(u*`fhDL!RiaR+! zCnq%-6h+05LY})Ivp^42v!~=2fulc47D+@864se{>3Yy&zX+6$i$E@n5=B;6oLQll zn_re%Tm-7aZ^?n>U~O)_<eW^sq{QOXcxdCh2-H@-1+fW5QBi6kTn(r(hs~hklEjkI z;&@QfDF!z_!OhTH5~x<DRwSoFx?YgBt`w?tZhlH?PO%=i0S4}mM9H8k$V)8&<pVuP zFB#mfyM<;(X-Q^Iu^y;oN-QY?H;<)J&44I?MFS{Lpt};HA~&-*8IqGY(^E@)^3&5( zi;Ap35yl464DD8dYe8`00!KTf3_?vGw>WGdZ96+qax2ziU|`^3g4C)!pj65XCK&}7 RK`9oBnYfsRbU9?WGyxT*hF|~y diff --git a/.venv/lib/python3.8/site-packages/pip/_internal/commands/__pycache__/show.cpython-38.pyc b/.venv/lib/python3.8/site-packages/pip/_internal/commands/__pycache__/show.cpython-38.pyc deleted file mode 100644 index 31ce8e5decfb7e51da94a8d0df36ee857bc13768..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6325 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 M4-*%&fHFq}00XWxBme*a diff --git a/.venv/lib/python3.8/site-packages/pip/_internal/commands/__pycache__/uninstall.cpython-38.pyc b/.venv/lib/python3.8/site-packages/pip/_internal/commands/__pycache__/uninstall.cpython-38.pyc deleted file mode 100644 index 924f9bbf7a65bd83943dbf03b0e37e2a1ac1224d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2694 zcmWIL<>g{vU|=}A?@#h_ZU%<OAPzESWnf@%U|?V<E@NO|NMT4}%wfo7jACR2v6*t1 za+#x;!EELnmR!~-Rxq0-hb@;qiXF^m&Ed%9jN$~d*>bpYxudwjZ1x<UT;3>NFq<QX zFPA@xpOL|xA%!!AtA!zjE0r~sy_qFSAcZ@aL6het$VHlrxA+s2it}?yOH$)Aa|`l| zN;Da72_`4z<>zH4C+1{UrN-wa=B8>g-ePyo&&^HDOVMP!B^;buT%4Jo2Nm(ntjNp* zY4gl0E=kPENi50C&vPv*$}iGnyd_kSSX7)EUzA!{npu>Zo0?ZrtjTywG!vo}Bp#nu zl%E@)lbHvyMWdi7za%xeB)%ZC03wl_pOTrDnG7~GK0hzMJTosPzq~jZ<a}hz4CNH- zFfcHrGDI<^Fhnt>Fh((_Fh#MnGo&%5FsHDza73}Du%@uJFhsGnGq5m3u?I6~vfmO2 z&4W4!>ZL>{Mg|5h1qB5KxQs$UVsdt3dTOyA7g(Yovp^xUSRpYfCsm;&U!fFcf<kV7 zaft%dxYQJcHU;mz{PH}7)QaTP0#FDQD<l@BT0socRR}08N>xb7EG{W6$;>H+>q0W9 zJhLQ2At9llvLquvPoX%qq_jY<pc1AaAwfr>JR>tX1MD~jg`CvHvQ&kn)Qrr$6otHe zh1}GV#FWI6M37rkQcF^cax?Q%70NRbOBB*Fb5e^H%2SI{VTPrq=z)#VRR~Tl$}A{R zC@)GZC`c_TMkr87s>I@$l+?1+ocw}>1c?5sP_Quy3aSM~`RNML`4ErCD%d~+(@sH8 z526%Pjc$>G4RW#pyA!M-nGqV-APN-koD2*M{GbdK#=yW(!cf9k!_dr>#Z<#s!_>#f z$WX(O#hk^G!kEGYN(1Q(pcIh8-pdY`;Q(ck6z&wB6y9D|uqf*SwiG^)zJ*Mn>=ewP z$?sRiq+3+QtE-FTs9QWpoZ?$-pis(7xy1qs(yA;(+DXjGQ7FksMMP^(W^qYsib7@{ zSU5eiEHzI7*(k7Q^%N9BGBS%5Ai<`PoS3JOl&Vl#oSLGLTbfgnSpZ6UnYpROdYY`a zSW;4pOK!0xCWF$}E%ubuw8YY!l3VPch%ZYly2X-_np054q+40Vs;gU>T6~KcL~s?C z<QJvJmlTzzRvEeE=c$({Bo=2Yq~#YWB<JU)WftXvGoC_z8d3^RNzF+G*;1^h$y~(8 zz`#%h3j87=5DOGFn(Vh&i%Sbqi;6(y;4O~$_{_Y_lKA*r9Lc#U@%aTM#kaT;Q^2gu z{JdLi;3A^vmT+cXacWTsNI_<PUVM5{erbUw^DUO*)SR?iEQv+w#kZKU%U3eq;*5_^ z&PgmTj*nl-@XJNNB)34nAhSTXG!K-jQd4xxGg4D?bjx$Ii%L^+ia~Pv@tJugsYQ8- zIr_<vVysvno@4b2DvQJz7#QS1DM$sBrWl17*%+A^m>A*k7aJ#%$R9SgDoJ?kLdy(2 zm^YI_NfKlX2y-$pFt9N&FgSw@Kf%DjP{Xi*p@wlGV=Z$gLoG`UlM6$vS}kh{V-0H! zV-`~iV=q%JTMb(lbCFODTMbJI3y9s!Xv0t_RKu9X>cSAKQ_Eh$R>NMySi_vc)XVI` z5Gw)I5rn2AsL-K?rMRtxJ%zc11C*FkSb7=77@8TI7)v-)SZi3a*;3egK^cT)0oOtX zuuDL8bJs9t@zgM6@usk6v!rnJGSza_a1_m{;aI@8kb#k*a83$CFoPzipC;oij?Cix zoWzpU6iudE?2vR?e2cvpQa@DrMCO+&<dznfD1cJ9LShN1SSl`2$j?hfPVJyFNmT<} z&lD?Y6sM*tD1k~>P=Zx}i7RPpGTveVsky~mkXfL~c#9WYGgM~grGqMqB5=ZEy2X=N zT9O|RO}n?)%TkMy@{3b7`ELoQr<TM+b45JVfkhk)3=Fq;VSb3u%}+@!QUxVrP!tw% zgIMe!0u+O{SW+^RONu}ddW)?rF{d=O_!cKT5fur8jN*jYmswJIiw%^}GD|c$i=;s& zD1!(Y5CKYIQG!LOg~jnD`SAz?K=$5ZE=n!D#Q`clKwga!giFU4B$i|pr<N2cfXo0B ziXa=Ai%Rp1KxxYfl-d}%m{=G&K*^SY<v$xU8>0Xt7l;SKf4NxL7=;*FKx{^?|4jc` zSeY2v{<E?0FtRYRFmU{5V`gEj62VB;MWuO~9H2}La#4KzEv|S_IF;t4#>d~{iH|QV zP0WGHu*b)z<R{0+-(oE-PE1b)XR0D&kSlqiIW{>pCnr80$q#ZM-+(*<E-C~-9s$J( z2O|p?3k#1hSkzBb5M*guX-R2OYJ7YV6UapAg3JQF__EZzl>8z+P`*!0&&*5L1J|BK zpxC=52UY>g_j<`WnR-cy#i{Y2cuCAlDPjQ`Ba5l1D76r-2Gml!C4s62QGpkMl0}pt zs&r9mVG$_Jpxa-RTBw(tpI2N`RGM6pUsMc9duV2Zov)XhS)2?`XJGFmg%%>(Ic#$C YQ%ZAE?LfXL28A0B6Au#)BOEdV00q+&^#A|> diff --git a/.venv/lib/python3.8/site-packages/pip/_internal/commands/__pycache__/wheel.cpython-38.pyc b/.venv/lib/python3.8/site-packages/pip/_internal/commands/__pycache__/wheel.cpython-38.pyc deleted file mode 100644 index 797494320c5b6f50548bfcc25e6ab222ee3e43a1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5246 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 Ag#Z8m diff --git a/.venv/lib/python3.8/site-packages/pip/_internal/commands/check.py b/.venv/lib/python3.8/site-packages/pip/_internal/commands/check.py deleted file mode 100644 index 9689446..0000000 --- a/.venv/lib/python3.8/site-packages/pip/_internal/commands/check.py +++ /dev/null @@ -1,45 +0,0 @@ -# The following comment should be removed at some point in the future. -# mypy: disallow-untyped-defs=False - -import logging - -from pip._internal.cli.base_command import Command -from pip._internal.operations.check import ( - check_package_set, - create_package_set_from_installed, -) -from pip._internal.utils.misc import write_output - -logger = logging.getLogger(__name__) - - -class CheckCommand(Command): - """Verify installed packages have compatible dependencies.""" - - usage = """ - %prog [options]""" - - def run(self, options, args): - package_set, parsing_probs = create_package_set_from_installed() - missing, conflicting = check_package_set(package_set) - - for project_name in missing: - version = package_set[project_name].version - for dependency in missing[project_name]: - write_output( - "%s %s requires %s, which is not installed.", - project_name, version, dependency[0], - ) - - for project_name in conflicting: - version = package_set[project_name].version - for dep_name, dep_version, req in conflicting[project_name]: - write_output( - "%s %s has requirement %s, but you have %s %s.", - project_name, version, req, dep_name, dep_version, - ) - - if missing or conflicting or parsing_probs: - return 1 - else: - write_output("No broken requirements found.") diff --git a/.venv/lib/python3.8/site-packages/pip/_internal/commands/completion.py b/.venv/lib/python3.8/site-packages/pip/_internal/commands/completion.py deleted file mode 100644 index c532806..0000000 --- a/.venv/lib/python3.8/site-packages/pip/_internal/commands/completion.py +++ /dev/null @@ -1,96 +0,0 @@ -# The following comment should be removed at some point in the future. -# mypy: disallow-untyped-defs=False - -from __future__ import absolute_import - -import sys -import textwrap - -from pip._internal.cli.base_command import Command -from pip._internal.utils.misc import get_prog - -BASE_COMPLETION = """ -# pip %(shell)s completion start%(script)s# pip %(shell)s completion end -""" - -COMPLETION_SCRIPTS = { - 'bash': """ - _pip_completion() - { - COMPREPLY=( $( COMP_WORDS="${COMP_WORDS[*]}" \\ - COMP_CWORD=$COMP_CWORD \\ - PIP_AUTO_COMPLETE=1 $1 2>/dev/null ) ) - } - complete -o default -F _pip_completion %(prog)s - """, - 'zsh': """ - function _pip_completion { - local words cword - read -Ac words - read -cn cword - reply=( $( COMP_WORDS="$words[*]" \\ - COMP_CWORD=$(( cword-1 )) \\ - PIP_AUTO_COMPLETE=1 $words[1] 2>/dev/null )) - } - compctl -K _pip_completion %(prog)s - """, - 'fish': """ - function __fish_complete_pip - set -lx COMP_WORDS (commandline -o) "" - set -lx COMP_CWORD ( \\ - math (contains -i -- (commandline -t) $COMP_WORDS)-1 \\ - ) - set -lx PIP_AUTO_COMPLETE 1 - string split \\ -- (eval $COMP_WORDS[1]) - end - complete -fa "(__fish_complete_pip)" -c %(prog)s - """, -} - - -class CompletionCommand(Command): - """A helper command to be used for command completion.""" - - ignore_require_venv = True - - def __init__(self, *args, **kw): - super(CompletionCommand, self).__init__(*args, **kw) - - cmd_opts = self.cmd_opts - - cmd_opts.add_option( - '--bash', '-b', - action='store_const', - const='bash', - dest='shell', - help='Emit completion code for bash') - cmd_opts.add_option( - '--zsh', '-z', - action='store_const', - const='zsh', - dest='shell', - help='Emit completion code for zsh') - cmd_opts.add_option( - '--fish', '-f', - action='store_const', - const='fish', - dest='shell', - help='Emit completion code for fish') - - self.parser.insert_option_group(0, cmd_opts) - - def run(self, options, args): - """Prints the completion code of the given shell""" - shells = COMPLETION_SCRIPTS.keys() - shell_options = ['--' + shell for shell in sorted(shells)] - if options.shell in shells: - script = textwrap.dedent( - COMPLETION_SCRIPTS.get(options.shell, '') % { - 'prog': get_prog(), - } - ) - print(BASE_COMPLETION % {'script': script, 'shell': options.shell}) - else: - sys.stderr.write( - 'ERROR: You must pass %s\n' % ' or '.join(shell_options) - ) diff --git a/.venv/lib/python3.8/site-packages/pip/_internal/commands/configuration.py b/.venv/lib/python3.8/site-packages/pip/_internal/commands/configuration.py deleted file mode 100644 index efcf5bb..0000000 --- a/.venv/lib/python3.8/site-packages/pip/_internal/commands/configuration.py +++ /dev/null @@ -1,233 +0,0 @@ -# The following comment should be removed at some point in the future. -# mypy: disallow-untyped-defs=False - -import logging -import os -import subprocess - -from pip._internal.cli.base_command import Command -from pip._internal.cli.status_codes import ERROR, SUCCESS -from pip._internal.configuration import ( - Configuration, - get_configuration_files, - kinds, -) -from pip._internal.exceptions import PipError -from pip._internal.utils.misc import get_prog, write_output - -logger = logging.getLogger(__name__) - - -class ConfigurationCommand(Command): - """Manage local and global configuration. - - Subcommands: - - list: List the active configuration (or from the file specified) - edit: Edit the configuration file in an editor - get: Get the value associated with name - set: Set the name=value - unset: Unset the value associated with name - - If none of --user, --global and --site are passed, a virtual - environment configuration file is used if one is active and the file - exists. Otherwise, all modifications happen on the to the user file by - default. - """ - - ignore_require_venv = True - usage = """ - %prog [<file-option>] list - %prog [<file-option>] [--editor <editor-path>] edit - - %prog [<file-option>] get name - %prog [<file-option>] set name value - %prog [<file-option>] unset name - """ - - def __init__(self, *args, **kwargs): - super(ConfigurationCommand, self).__init__(*args, **kwargs) - - self.configuration = None - - self.cmd_opts.add_option( - '--editor', - dest='editor', - action='store', - default=None, - help=( - 'Editor to use to edit the file. Uses VISUAL or EDITOR ' - 'environment variables if not provided.' - ) - ) - - self.cmd_opts.add_option( - '--global', - dest='global_file', - action='store_true', - default=False, - help='Use the system-wide configuration file only' - ) - - self.cmd_opts.add_option( - '--user', - dest='user_file', - action='store_true', - default=False, - help='Use the user configuration file only' - ) - - self.cmd_opts.add_option( - '--site', - dest='site_file', - action='store_true', - default=False, - help='Use the current environment configuration file only' - ) - - self.parser.insert_option_group(0, self.cmd_opts) - - def run(self, options, args): - handlers = { - "list": self.list_values, - "edit": self.open_in_editor, - "get": self.get_name, - "set": self.set_name_value, - "unset": self.unset_name - } - - # Determine action - if not args or args[0] not in handlers: - logger.error("Need an action ({}) to perform.".format( - ", ".join(sorted(handlers))) - ) - return ERROR - - action = args[0] - - # Determine which configuration files are to be loaded - # Depends on whether the command is modifying. - try: - load_only = self._determine_file( - options, need_value=(action in ["get", "set", "unset", "edit"]) - ) - except PipError as e: - logger.error(e.args[0]) - return ERROR - - # Load a new configuration - self.configuration = Configuration( - isolated=options.isolated_mode, load_only=load_only - ) - self.configuration.load() - - # Error handling happens here, not in the action-handlers. - try: - handlers[action](options, args[1:]) - except PipError as e: - logger.error(e.args[0]) - return ERROR - - return SUCCESS - - def _determine_file(self, options, need_value): - file_options = [key for key, value in ( - (kinds.USER, options.user_file), - (kinds.GLOBAL, options.global_file), - (kinds.SITE, options.site_file), - ) if value] - - if not file_options: - if not need_value: - return None - # Default to user, unless there's a site file. - elif any( - os.path.exists(site_config_file) - for site_config_file in get_configuration_files()[kinds.SITE] - ): - return kinds.SITE - else: - return kinds.USER - elif len(file_options) == 1: - return file_options[0] - - raise PipError( - "Need exactly one file to operate upon " - "(--user, --site, --global) to perform." - ) - - def list_values(self, options, args): - self._get_n_args(args, "list", n=0) - - for key, value in sorted(self.configuration.items()): - write_output("%s=%r", key, value) - - def get_name(self, options, args): - key = self._get_n_args(args, "get [name]", n=1) - value = self.configuration.get_value(key) - - write_output("%s", value) - - def set_name_value(self, options, args): - key, value = self._get_n_args(args, "set [name] [value]", n=2) - self.configuration.set_value(key, value) - - self._save_configuration() - - def unset_name(self, options, args): - key = self._get_n_args(args, "unset [name]", n=1) - self.configuration.unset_value(key) - - self._save_configuration() - - def open_in_editor(self, options, args): - editor = self._determine_editor(options) - - fname = self.configuration.get_file_to_edit() - if fname is None: - raise PipError("Could not determine appropriate file.") - - try: - subprocess.check_call([editor, fname]) - except subprocess.CalledProcessError as e: - raise PipError( - "Editor Subprocess exited with exit code {}" - .format(e.returncode) - ) - - def _get_n_args(self, args, example, n): - """Helper to make sure the command got the right number of arguments - """ - if len(args) != n: - msg = ( - 'Got unexpected number of arguments, expected {}. ' - '(example: "{} config {}")' - ).format(n, get_prog(), example) - raise PipError(msg) - - if n == 1: - return args[0] - else: - return args - - def _save_configuration(self): - # We successfully ran a modifying command. Need to save the - # configuration. - try: - self.configuration.save() - except Exception: - logger.error( - "Unable to save configuration. Please report this as a bug.", - exc_info=1 - ) - raise PipError("Internal Error.") - - def _determine_editor(self, options): - if options.editor is not None: - return options.editor - elif "VISUAL" in os.environ: - return os.environ["VISUAL"] - elif "EDITOR" in os.environ: - return os.environ["EDITOR"] - else: - raise PipError("Could not determine editor to use.") diff --git a/.venv/lib/python3.8/site-packages/pip/_internal/commands/debug.py b/.venv/lib/python3.8/site-packages/pip/_internal/commands/debug.py deleted file mode 100644 index fe93b3a..0000000 --- a/.venv/lib/python3.8/site-packages/pip/_internal/commands/debug.py +++ /dev/null @@ -1,142 +0,0 @@ -# The following comment should be removed at some point in the future. -# mypy: disallow-untyped-defs=False - -from __future__ import absolute_import - -import locale -import logging -import os -import sys - -from pip._vendor.certifi import where - -from pip._internal.cli import cmdoptions -from pip._internal.cli.base_command import Command -from pip._internal.cli.cmdoptions import make_target_python -from pip._internal.cli.status_codes import SUCCESS -from pip._internal.utils.logging import indent_log -from pip._internal.utils.misc import get_pip_version -from pip._internal.utils.typing import MYPY_CHECK_RUNNING - -if MYPY_CHECK_RUNNING: - from typing import Any, List, Optional - from optparse import Values - -logger = logging.getLogger(__name__) - - -def show_value(name, value): - # type: (str, Optional[str]) -> None - logger.info('{}: {}'.format(name, value)) - - -def show_sys_implementation(): - # type: () -> None - logger.info('sys.implementation:') - if hasattr(sys, 'implementation'): - implementation = sys.implementation # type: ignore - implementation_name = implementation.name - else: - implementation_name = '' - - with indent_log(): - show_value('name', implementation_name) - - -def show_tags(options): - # type: (Values) -> None - tag_limit = 10 - - target_python = make_target_python(options) - tags = target_python.get_tags() - - # Display the target options that were explicitly provided. - formatted_target = target_python.format_given() - suffix = '' - if formatted_target: - suffix = ' (target: {})'.format(formatted_target) - - msg = 'Compatible tags: {}{}'.format(len(tags), suffix) - logger.info(msg) - - if options.verbose < 1 and len(tags) > tag_limit: - tags_limited = True - tags = tags[:tag_limit] - else: - tags_limited = False - - with indent_log(): - for tag in tags: - logger.info(str(tag)) - - if tags_limited: - msg = ( - '...\n' - '[First {tag_limit} tags shown. Pass --verbose to show all.]' - ).format(tag_limit=tag_limit) - logger.info(msg) - - -def ca_bundle_info(config): - levels = set() - for key, value in config.items(): - levels.add(key.split('.')[0]) - - if not levels: - return "Not specified" - - levels_that_override_global = ['install', 'wheel', 'download'] - global_overriding_level = [ - level for level in levels if level in levels_that_override_global - ] - if not global_overriding_level: - return 'global' - - levels.remove('global') - return ", ".join(levels) - - -class DebugCommand(Command): - """ - Display debug information. - """ - - usage = """ - %prog <options>""" - ignore_require_venv = True - - def __init__(self, *args, **kw): - super(DebugCommand, self).__init__(*args, **kw) - - cmd_opts = self.cmd_opts - cmdoptions.add_target_python_options(cmd_opts) - self.parser.insert_option_group(0, cmd_opts) - self.parser.config.load() - - def run(self, options, args): - # type: (Values, List[Any]) -> int - logger.warning( - "This command is only meant for debugging. " - "Do not use this with automation for parsing and getting these " - "details, since the output and options of this command may " - "change without notice." - ) - show_value('pip version', get_pip_version()) - show_value('sys.version', sys.version) - show_value('sys.executable', sys.executable) - show_value('sys.getdefaultencoding', sys.getdefaultencoding()) - show_value('sys.getfilesystemencoding', sys.getfilesystemencoding()) - show_value( - 'locale.getpreferredencoding', locale.getpreferredencoding(), - ) - show_value('sys.platform', sys.platform) - show_sys_implementation() - - show_value("'cert' config value", ca_bundle_info(self.parser.config)) - show_value("REQUESTS_CA_BUNDLE", os.environ.get('REQUESTS_CA_BUNDLE')) - show_value("CURL_CA_BUNDLE", os.environ.get('CURL_CA_BUNDLE')) - show_value("pip._vendor.certifi.where()", where()) - - show_tags(options) - - return SUCCESS diff --git a/.venv/lib/python3.8/site-packages/pip/_internal/commands/download.py b/.venv/lib/python3.8/site-packages/pip/_internal/commands/download.py deleted file mode 100644 index 24da3eb..0000000 --- a/.venv/lib/python3.8/site-packages/pip/_internal/commands/download.py +++ /dev/null @@ -1,147 +0,0 @@ -# The following comment should be removed at some point in the future. -# mypy: disallow-untyped-defs=False - -from __future__ import absolute_import - -import logging -import os - -from pip._internal.cli import cmdoptions -from pip._internal.cli.cmdoptions import make_target_python -from pip._internal.cli.req_command import RequirementCommand -from pip._internal.req import RequirementSet -from pip._internal.req.req_tracker import get_requirement_tracker -from pip._internal.utils.misc import ensure_dir, normalize_path, write_output -from pip._internal.utils.temp_dir import TempDirectory - -logger = logging.getLogger(__name__) - - -class DownloadCommand(RequirementCommand): - """ - Download packages from: - - - PyPI (and other indexes) using requirement specifiers. - - VCS project urls. - - Local project directories. - - Local or remote source archives. - - pip also supports downloading from "requirements files", which provide - an easy way to specify a whole environment to be downloaded. - """ - - usage = """ - %prog [options] <requirement specifier> [package-index-options] ... - %prog [options] -r <requirements file> [package-index-options] ... - %prog [options] <vcs project url> ... - %prog [options] <local project path> ... - %prog [options] <archive url/path> ...""" - - def __init__(self, *args, **kw): - super(DownloadCommand, self).__init__(*args, **kw) - - cmd_opts = self.cmd_opts - - cmd_opts.add_option(cmdoptions.constraints()) - cmd_opts.add_option(cmdoptions.requirements()) - cmd_opts.add_option(cmdoptions.build_dir()) - cmd_opts.add_option(cmdoptions.no_deps()) - cmd_opts.add_option(cmdoptions.global_options()) - cmd_opts.add_option(cmdoptions.no_binary()) - cmd_opts.add_option(cmdoptions.only_binary()) - cmd_opts.add_option(cmdoptions.prefer_binary()) - cmd_opts.add_option(cmdoptions.src()) - cmd_opts.add_option(cmdoptions.pre()) - cmd_opts.add_option(cmdoptions.no_clean()) - cmd_opts.add_option(cmdoptions.require_hashes()) - cmd_opts.add_option(cmdoptions.progress_bar()) - cmd_opts.add_option(cmdoptions.no_build_isolation()) - cmd_opts.add_option(cmdoptions.use_pep517()) - cmd_opts.add_option(cmdoptions.no_use_pep517()) - - cmd_opts.add_option( - '-d', '--dest', '--destination-dir', '--destination-directory', - dest='download_dir', - metavar='dir', - default=os.curdir, - help=("Download packages into <dir>."), - ) - - cmdoptions.add_target_python_options(cmd_opts) - - index_opts = cmdoptions.make_option_group( - cmdoptions.index_group, - self.parser, - ) - - self.parser.insert_option_group(0, index_opts) - self.parser.insert_option_group(0, cmd_opts) - - def run(self, options, args): - options.ignore_installed = True - # editable doesn't really make sense for `pip download`, but the bowels - # of the RequirementSet code require that property. - options.editables = [] - - cmdoptions.check_dist_restriction(options) - - options.download_dir = normalize_path(options.download_dir) - - ensure_dir(options.download_dir) - - session = self.get_default_session(options) - - target_python = make_target_python(options) - finder = self._build_package_finder( - options=options, - session=session, - target_python=target_python, - ) - build_delete = (not (options.no_clean or options.build_dir)) - - with get_requirement_tracker() as req_tracker, TempDirectory( - options.build_dir, delete=build_delete, kind="download" - ) as directory: - - requirement_set = RequirementSet() - self.populate_requirement_set( - requirement_set, - args, - options, - finder, - session, - None - ) - - preparer = self.make_requirement_preparer( - temp_build_dir=directory, - options=options, - req_tracker=req_tracker, - session=session, - finder=finder, - download_dir=options.download_dir, - use_user_site=False, - ) - - resolver = self.make_resolver( - preparer=preparer, - finder=finder, - options=options, - py_version_info=options.python_version, - ) - - self.trace_basic_info(finder) - - resolver.resolve(requirement_set) - - downloaded = ' '.join([ - req.name for req in requirement_set.successfully_downloaded - ]) - if downloaded: - write_output('Successfully downloaded %s', downloaded) - - # Clean up - if not options.no_clean: - requirement_set.cleanup_files() - - return requirement_set diff --git a/.venv/lib/python3.8/site-packages/pip/_internal/commands/freeze.py b/.venv/lib/python3.8/site-packages/pip/_internal/commands/freeze.py deleted file mode 100644 index e96c083..0000000 --- a/.venv/lib/python3.8/site-packages/pip/_internal/commands/freeze.py +++ /dev/null @@ -1,103 +0,0 @@ -# The following comment should be removed at some point in the future. -# mypy: disallow-untyped-defs=False - -from __future__ import absolute_import - -import sys - -from pip._internal.cache import WheelCache -from pip._internal.cli import cmdoptions -from pip._internal.cli.base_command import Command -from pip._internal.models.format_control import FormatControl -from pip._internal.operations.freeze import freeze -from pip._internal.utils.compat import stdlib_pkgs - -DEV_PKGS = {'pip', 'setuptools', 'distribute', 'wheel', 'pkg-resources'} - - -class FreezeCommand(Command): - """ - Output installed packages in requirements format. - - packages are listed in a case-insensitive sorted order. - """ - - usage = """ - %prog [options]""" - log_streams = ("ext://sys.stderr", "ext://sys.stderr") - - def __init__(self, *args, **kw): - super(FreezeCommand, self).__init__(*args, **kw) - - self.cmd_opts.add_option( - '-r', '--requirement', - dest='requirements', - action='append', - default=[], - metavar='file', - help="Use the order in the given requirements file and its " - "comments when generating output. This option can be " - "used multiple times.") - self.cmd_opts.add_option( - '-f', '--find-links', - dest='find_links', - action='append', - default=[], - metavar='URL', - help='URL for finding packages, which will be added to the ' - 'output.') - self.cmd_opts.add_option( - '-l', '--local', - dest='local', - action='store_true', - default=False, - help='If in a virtualenv that has global access, do not output ' - 'globally-installed packages.') - self.cmd_opts.add_option( - '--user', - dest='user', - action='store_true', - default=False, - help='Only output packages installed in user-site.') - self.cmd_opts.add_option(cmdoptions.list_path()) - self.cmd_opts.add_option( - '--all', - dest='freeze_all', - action='store_true', - help='Do not skip these packages in the output:' - ' %s' % ', '.join(DEV_PKGS)) - self.cmd_opts.add_option( - '--exclude-editable', - dest='exclude_editable', - action='store_true', - help='Exclude editable package from output.') - - self.parser.insert_option_group(0, self.cmd_opts) - - def run(self, options, args): - format_control = FormatControl(set(), set()) - wheel_cache = WheelCache(options.cache_dir, format_control) - skip = set(stdlib_pkgs) - if not options.freeze_all: - skip.update(DEV_PKGS) - - cmdoptions.check_list_path_option(options) - - freeze_kwargs = dict( - requirement=options.requirements, - find_links=options.find_links, - local_only=options.local, - user_only=options.user, - paths=options.path, - skip_regex=options.skip_requirements_regex, - isolated=options.isolated_mode, - wheel_cache=wheel_cache, - skip=skip, - exclude_editable=options.exclude_editable, - ) - - try: - for line in freeze(**freeze_kwargs): - sys.stdout.write(line + '\n') - finally: - wheel_cache.cleanup() diff --git a/.venv/lib/python3.8/site-packages/pip/_internal/commands/hash.py b/.venv/lib/python3.8/site-packages/pip/_internal/commands/hash.py deleted file mode 100644 index 1dc7fb0..0000000 --- a/.venv/lib/python3.8/site-packages/pip/_internal/commands/hash.py +++ /dev/null @@ -1,58 +0,0 @@ -# The following comment should be removed at some point in the future. -# mypy: disallow-untyped-defs=False - -from __future__ import absolute_import - -import hashlib -import logging -import sys - -from pip._internal.cli.base_command import Command -from pip._internal.cli.status_codes import ERROR -from pip._internal.utils.hashes import FAVORITE_HASH, STRONG_HASHES -from pip._internal.utils.misc import read_chunks, write_output - -logger = logging.getLogger(__name__) - - -class HashCommand(Command): - """ - Compute a hash of a local package archive. - - These can be used with --hash in a requirements file to do repeatable - installs. - """ - - usage = '%prog [options] <file> ...' - ignore_require_venv = True - - def __init__(self, *args, **kw): - super(HashCommand, self).__init__(*args, **kw) - self.cmd_opts.add_option( - '-a', '--algorithm', - dest='algorithm', - choices=STRONG_HASHES, - action='store', - default=FAVORITE_HASH, - help='The hash algorithm to use: one of %s' % - ', '.join(STRONG_HASHES)) - self.parser.insert_option_group(0, self.cmd_opts) - - def run(self, options, args): - if not args: - self.parser.print_usage(sys.stderr) - return ERROR - - algorithm = options.algorithm - for path in args: - write_output('%s:\n--hash=%s:%s', - path, algorithm, _hash_of_file(path, algorithm)) - - -def _hash_of_file(path, algorithm): - """Return the hash digest of a file.""" - with open(path, 'rb') as archive: - hash = hashlib.new(algorithm) - for chunk in read_chunks(archive): - hash.update(chunk) - return hash.hexdigest() diff --git a/.venv/lib/python3.8/site-packages/pip/_internal/commands/help.py b/.venv/lib/python3.8/site-packages/pip/_internal/commands/help.py deleted file mode 100644 index 75af999..0000000 --- a/.venv/lib/python3.8/site-packages/pip/_internal/commands/help.py +++ /dev/null @@ -1,41 +0,0 @@ -# The following comment should be removed at some point in the future. -# mypy: disallow-untyped-defs=False - -from __future__ import absolute_import - -from pip._internal.cli.base_command import Command -from pip._internal.cli.status_codes import SUCCESS -from pip._internal.exceptions import CommandError - - -class HelpCommand(Command): - """Show help for commands""" - - usage = """ - %prog <command>""" - ignore_require_venv = True - - def run(self, options, args): - from pip._internal.commands import ( - commands_dict, create_command, get_similar_commands, - ) - - try: - # 'pip help' with no args is handled by pip.__init__.parseopt() - cmd_name = args[0] # the command we need help for - except IndexError: - return SUCCESS - - if cmd_name not in commands_dict: - guess = get_similar_commands(cmd_name) - - msg = ['unknown command "%s"' % cmd_name] - if guess: - msg.append('maybe you meant "%s"' % guess) - - raise CommandError(' - '.join(msg)) - - command = create_command(cmd_name) - command.parser.print_help() - - return SUCCESS diff --git a/.venv/lib/python3.8/site-packages/pip/_internal/commands/install.py b/.venv/lib/python3.8/site-packages/pip/_internal/commands/install.py deleted file mode 100644 index cb2fb28..0000000 --- a/.venv/lib/python3.8/site-packages/pip/_internal/commands/install.py +++ /dev/null @@ -1,727 +0,0 @@ -# The following comment should be removed at some point in the future. -# It's included for now because without it InstallCommand.run() has a -# couple errors where we have to know req.name is str rather than -# Optional[str] for the InstallRequirement req. -# mypy: strict-optional=False -# mypy: disallow-untyped-defs=False - -from __future__ import absolute_import - -import errno -import logging -import operator -import os -import shutil -import site -from optparse import SUPPRESS_HELP - -from pip._vendor import pkg_resources -from pip._vendor.packaging.utils import canonicalize_name - -from pip._internal.cache import WheelCache -from pip._internal.cli import cmdoptions -from pip._internal.cli.cmdoptions import make_target_python -from pip._internal.cli.req_command import RequirementCommand -from pip._internal.cli.status_codes import ERROR, SUCCESS -from pip._internal.exceptions import ( - CommandError, - InstallationError, - PreviousBuildDirError, -) -from pip._internal.locations import distutils_scheme -from pip._internal.operations.check import check_install_conflicts -from pip._internal.req import RequirementSet, install_given_reqs -from pip._internal.req.req_tracker import get_requirement_tracker -from pip._internal.utils.deprecation import deprecated -from pip._internal.utils.distutils_args import parse_distutils_args -from pip._internal.utils.filesystem import test_writable_dir -from pip._internal.utils.misc import ( - ensure_dir, - get_installed_version, - protect_pip_from_modification_on_windows, - write_output, -) -from pip._internal.utils.temp_dir import TempDirectory -from pip._internal.utils.typing import MYPY_CHECK_RUNNING -from pip._internal.utils.virtualenv import virtualenv_no_global -from pip._internal.wheel_builder import build, should_build_for_install_command - -if MYPY_CHECK_RUNNING: - from optparse import Values - from typing import Any, Iterable, List, Optional - - from pip._internal.models.format_control import FormatControl - from pip._internal.req.req_install import InstallRequirement - from pip._internal.wheel_builder import BinaryAllowedPredicate - -from pip._internal.locations import running_under_virtualenv - -logger = logging.getLogger(__name__) - - -def get_check_binary_allowed(format_control): - # type: (FormatControl) -> BinaryAllowedPredicate - def check_binary_allowed(req): - # type: (InstallRequirement) -> bool - if req.use_pep517: - return True - canonical_name = canonicalize_name(req.name) - allowed_formats = format_control.get_allowed_formats(canonical_name) - return "binary" in allowed_formats - - return check_binary_allowed - - -class InstallCommand(RequirementCommand): - """ - Install packages from: - - - PyPI (and other indexes) using requirement specifiers. - - VCS project urls. - - Local project directories. - - Local or remote source archives. - - pip also supports installing from "requirements files", which provide - an easy way to specify a whole environment to be installed. - """ - - usage = """ - %prog [options] <requirement specifier> [package-index-options] ... - %prog [options] -r <requirements file> [package-index-options] ... - %prog [options] [-e] <vcs project url> ... - %prog [options] [-e] <local project path> ... - %prog [options] <archive url/path> ...""" - - def __init__(self, *args, **kw): - super(InstallCommand, self).__init__(*args, **kw) - - cmd_opts = self.cmd_opts - - cmd_opts.add_option(cmdoptions.requirements()) - cmd_opts.add_option(cmdoptions.constraints()) - cmd_opts.add_option(cmdoptions.no_deps()) - cmd_opts.add_option(cmdoptions.pre()) - - cmd_opts.add_option(cmdoptions.editable()) - cmd_opts.add_option( - '-t', '--target', - dest='target_dir', - metavar='dir', - default=None, - help='Install packages into <dir>. ' - 'By default this will not replace existing files/folders in ' - '<dir>. Use --upgrade to replace existing packages in <dir> ' - 'with new versions.' - ) - cmdoptions.add_target_python_options(cmd_opts) - - cmd_opts.add_option( - '--user', - dest='use_user_site', - action='store_true', - help="Install to the Python user install directory for your " - "platform. Typically ~/.local/, or %APPDATA%\\Python on " - "Windows. (See the Python documentation for site.USER_BASE " - "for full details.) On Debian systems, this is the " - "default when running outside of a virtual environment " - "and not as root.") - - cmd_opts.add_option( - '--no-user', - dest='use_system_location', - action='store_true', - help=SUPPRESS_HELP) - cmd_opts.add_option( - '--root', - dest='root_path', - metavar='dir', - default=None, - help="Install everything relative to this alternate root " - "directory.") - cmd_opts.add_option( - '--prefix', - dest='prefix_path', - metavar='dir', - default=None, - help="Installation prefix where lib, bin and other top-level " - "folders are placed") - - cmd_opts.add_option( - '--system', - dest='use_system_location', - action='store_true', - help="Install using the system scheme (overrides --user on " - "Debian systems)") - - cmd_opts.add_option(cmdoptions.build_dir()) - - cmd_opts.add_option(cmdoptions.src()) - - cmd_opts.add_option( - '-U', '--upgrade', - dest='upgrade', - action='store_true', - help='Upgrade all specified packages to the newest available ' - 'version. The handling of dependencies depends on the ' - 'upgrade-strategy used.' - ) - - cmd_opts.add_option( - '--upgrade-strategy', - dest='upgrade_strategy', - default='only-if-needed', - choices=['only-if-needed', 'eager'], - help='Determines how dependency upgrading should be handled ' - '[default: %default]. ' - '"eager" - dependencies are upgraded regardless of ' - 'whether the currently installed version satisfies the ' - 'requirements of the upgraded package(s). ' - '"only-if-needed" - are upgraded only when they do not ' - 'satisfy the requirements of the upgraded package(s).' - ) - - cmd_opts.add_option( - '--force-reinstall', - dest='force_reinstall', - action='store_true', - help='Reinstall all packages even if they are already ' - 'up-to-date.') - - cmd_opts.add_option( - '-I', '--ignore-installed', - dest='ignore_installed', - action='store_true', - help='Ignore the installed packages, overwriting them. ' - 'This can break your system if the existing package ' - 'is of a different version or was installed ' - 'with a different package manager!' - ) - - cmd_opts.add_option(cmdoptions.ignore_requires_python()) - cmd_opts.add_option(cmdoptions.no_build_isolation()) - cmd_opts.add_option(cmdoptions.use_pep517()) - cmd_opts.add_option(cmdoptions.no_use_pep517()) - - cmd_opts.add_option(cmdoptions.install_options()) - cmd_opts.add_option(cmdoptions.global_options()) - - cmd_opts.add_option( - "--compile", - action="store_true", - dest="compile", - default=True, - help="Compile Python source files to bytecode", - ) - - cmd_opts.add_option( - "--no-compile", - action="store_false", - dest="compile", - help="Do not compile Python source files to bytecode", - ) - - cmd_opts.add_option( - "--no-warn-script-location", - action="store_false", - dest="warn_script_location", - default=True, - help="Do not warn when installing scripts outside PATH", - ) - cmd_opts.add_option( - "--no-warn-conflicts", - action="store_false", - dest="warn_about_conflicts", - default=True, - help="Do not warn about broken dependencies", - ) - - cmd_opts.add_option(cmdoptions.no_binary()) - cmd_opts.add_option(cmdoptions.only_binary()) - cmd_opts.add_option(cmdoptions.prefer_binary()) - cmd_opts.add_option(cmdoptions.no_clean()) - cmd_opts.add_option(cmdoptions.require_hashes()) - cmd_opts.add_option(cmdoptions.progress_bar()) - - index_opts = cmdoptions.make_option_group( - cmdoptions.index_group, - self.parser, - ) - - self.parser.insert_option_group(0, index_opts) - self.parser.insert_option_group(0, cmd_opts) - - def run(self, options, args): - # type: (Values, List[Any]) -> int - cmdoptions.check_install_build_global(options) - upgrade_strategy = "to-satisfy-only" - if options.upgrade: - upgrade_strategy = options.upgrade_strategy - - cmdoptions.check_dist_restriction(options, check_target=True) - - if options.python_version: - python_versions = [options.python_version] - else: - python_versions = None - - # compute install location defaults - if (not options.use_user_site and not options.prefix_path and not - options.target_dir and not options.use_system_location): - if not running_under_virtualenv() and os.geteuid() != 0: - options.use_user_site = True - - if options.use_system_location: - options.use_user_site = False - - options.src_dir = os.path.abspath(options.src_dir) - install_options = options.install_options or [] - - options.use_user_site = decide_user_install( - options.use_user_site, - prefix_path=options.prefix_path, - target_dir=options.target_dir, - root_path=options.root_path, - isolated_mode=options.isolated_mode, - ) - - target_temp_dir = None # type: Optional[TempDirectory] - target_temp_dir_path = None # type: Optional[str] - if options.target_dir: - options.ignore_installed = True - options.target_dir = os.path.abspath(options.target_dir) - if (os.path.exists(options.target_dir) and not - os.path.isdir(options.target_dir)): - raise CommandError( - "Target path exists but is not a directory, will not " - "continue." - ) - - # Create a target directory for using with the target option - target_temp_dir = TempDirectory(kind="target") - target_temp_dir_path = target_temp_dir.path - - global_options = options.global_options or [] - - session = self.get_default_session(options) - - target_python = make_target_python(options) - finder = self._build_package_finder( - options=options, - session=session, - target_python=target_python, - ignore_requires_python=options.ignore_requires_python, - ) - build_delete = (not (options.no_clean or options.build_dir)) - wheel_cache = WheelCache(options.cache_dir, options.format_control) - - with get_requirement_tracker() as req_tracker, TempDirectory( - options.build_dir, delete=build_delete, kind="install" - ) as directory: - requirement_set = RequirementSet( - check_supported_wheels=not options.target_dir, - ) - - try: - self.populate_requirement_set( - requirement_set, args, options, finder, session, - wheel_cache - ) - - warn_deprecated_install_options( - requirement_set, options.install_options - ) - - preparer = self.make_requirement_preparer( - temp_build_dir=directory, - options=options, - req_tracker=req_tracker, - session=session, - finder=finder, - use_user_site=options.use_user_site, - ) - resolver = self.make_resolver( - preparer=preparer, - finder=finder, - options=options, - wheel_cache=wheel_cache, - use_user_site=options.use_user_site, - ignore_installed=options.ignore_installed, - ignore_requires_python=options.ignore_requires_python, - force_reinstall=options.force_reinstall, - upgrade_strategy=upgrade_strategy, - use_pep517=options.use_pep517, - ) - - self.trace_basic_info(finder) - - resolver.resolve(requirement_set) - - try: - pip_req = requirement_set.get_requirement("pip") - except KeyError: - modifying_pip = None - else: - # If we're not replacing an already installed pip, - # we're not modifying it. - modifying_pip = pip_req.satisfied_by is None - protect_pip_from_modification_on_windows( - modifying_pip=modifying_pip - ) - - check_binary_allowed = get_check_binary_allowed( - finder.format_control - ) - - reqs_to_build = [ - r for r in requirement_set.requirements.values() - if should_build_for_install_command( - r, check_binary_allowed - ) - ] - - _, build_failures = build( - reqs_to_build, - wheel_cache=wheel_cache, - build_options=[], - global_options=[], - ) - - # If we're using PEP 517, we cannot do a direct install - # so we fail here. - # We don't care about failures building legacy - # requirements, as we'll fall through to a direct - # install for those. - pep517_build_failures = [ - r for r in build_failures if r.use_pep517 - ] - if pep517_build_failures: - raise InstallationError( - "Could not build wheels for {} which use" - " PEP 517 and cannot be installed directly".format( - ", ".join(r.name for r in pep517_build_failures))) - - to_install = resolver.get_installation_order( - requirement_set - ) - - # Consistency Checking of the package set we're installing. - should_warn_about_conflicts = ( - not options.ignore_dependencies and - options.warn_about_conflicts - ) - if should_warn_about_conflicts: - self._warn_about_conflicts(to_install) - - # Don't warn about script install locations if - # --target has been specified - warn_script_location = options.warn_script_location - if options.target_dir: - warn_script_location = False - - installed = install_given_reqs( - to_install, - install_options, - global_options, - root=options.root_path, - home=target_temp_dir_path, - prefix=options.prefix_path, - pycompile=options.compile, - warn_script_location=warn_script_location, - use_user_site=options.use_user_site, - ) - - lib_locations = get_lib_location_guesses( - user=options.use_user_site, - home=target_temp_dir_path, - root=options.root_path, - prefix=options.prefix_path, - isolated=options.isolated_mode, - ) - working_set = pkg_resources.WorkingSet(lib_locations) - - installed.sort(key=operator.attrgetter('name')) - items = [] - for result in installed: - item = result.name - try: - installed_version = get_installed_version( - result.name, working_set=working_set - ) - if installed_version: - item += '-' + installed_version - except Exception: - pass - items.append(item) - installed_desc = ' '.join(items) - if installed_desc: - write_output( - 'Successfully installed %s', installed_desc, - ) - except EnvironmentError as error: - show_traceback = (self.verbosity >= 1) - - message = create_env_error_message( - error, show_traceback, options.use_user_site, - ) - logger.error(message, exc_info=show_traceback) - - return ERROR - except PreviousBuildDirError: - options.no_clean = True - raise - finally: - # Clean up - if not options.no_clean: - requirement_set.cleanup_files() - wheel_cache.cleanup() - - if options.target_dir: - self._handle_target_dir( - options.target_dir, target_temp_dir, options.upgrade - ) - - return SUCCESS - - def _handle_target_dir(self, target_dir, target_temp_dir, upgrade): - ensure_dir(target_dir) - - # Checking both purelib and platlib directories for installed - # packages to be moved to target directory - lib_dir_list = [] - - with target_temp_dir: - # Checking both purelib and platlib directories for installed - # packages to be moved to target directory - scheme = distutils_scheme('', home=target_temp_dir.path) - purelib_dir = scheme['purelib'] - platlib_dir = scheme['platlib'] - data_dir = scheme['data'] - - if os.path.exists(purelib_dir): - lib_dir_list.append(purelib_dir) - if os.path.exists(platlib_dir) and platlib_dir != purelib_dir: - lib_dir_list.append(platlib_dir) - if os.path.exists(data_dir): - lib_dir_list.append(data_dir) - - for lib_dir in lib_dir_list: - for item in os.listdir(lib_dir): - if lib_dir == data_dir: - ddir = os.path.join(data_dir, item) - if any(s.startswith(ddir) for s in lib_dir_list[:-1]): - continue - target_item_dir = os.path.join(target_dir, item) - if os.path.exists(target_item_dir): - if not upgrade: - logger.warning( - 'Target directory %s already exists. Specify ' - '--upgrade to force replacement.', - target_item_dir - ) - continue - if os.path.islink(target_item_dir): - logger.warning( - 'Target directory %s already exists and is ' - 'a link. Pip will not automatically replace ' - 'links, please remove if replacement is ' - 'desired.', - target_item_dir - ) - continue - if os.path.isdir(target_item_dir): - shutil.rmtree(target_item_dir) - else: - os.remove(target_item_dir) - - shutil.move( - os.path.join(lib_dir, item), - target_item_dir - ) - - def _warn_about_conflicts(self, to_install): - try: - package_set, _dep_info = check_install_conflicts(to_install) - except Exception: - logger.error("Error checking for conflicts.", exc_info=True) - return - missing, conflicting = _dep_info - - # NOTE: There is some duplication here from pip check - for project_name in missing: - version = package_set[project_name][0] - for dependency in missing[project_name]: - logger.critical( - "%s %s requires %s, which is not installed.", - project_name, version, dependency[1], - ) - - for project_name in conflicting: - version = package_set[project_name][0] - for dep_name, dep_version, req in conflicting[project_name]: - logger.critical( - "%s %s has requirement %s, but you'll have %s %s which is " - "incompatible.", - project_name, version, req, dep_name, dep_version, - ) - - -def get_lib_location_guesses(*args, **kwargs): - scheme = distutils_scheme('', *args, **kwargs) - return [scheme['purelib'], scheme['platlib']] - - -def site_packages_writable(**kwargs): - return all( - test_writable_dir(d) for d in set(get_lib_location_guesses(**kwargs)) - ) - - -def decide_user_install( - use_user_site, # type: Optional[bool] - prefix_path=None, # type: Optional[str] - target_dir=None, # type: Optional[str] - root_path=None, # type: Optional[str] - isolated_mode=False, # type: bool -): - # type: (...) -> bool - """Determine whether to do a user install based on the input options. - - If use_user_site is False, no additional checks are done. - If use_user_site is True, it is checked for compatibility with other - options. - If use_user_site is None, the default behaviour depends on the environment, - which is provided by the other arguments. - """ - # In some cases (config from tox), use_user_site can be set to an integer - # rather than a bool, which 'use_user_site is False' wouldn't catch. - if (use_user_site is not None) and (not use_user_site): - logger.debug("Non-user install by explicit request") - return False - - if use_user_site: - if prefix_path: - raise CommandError( - "Can not combine '--user' and '--prefix' as they imply " - "different installation locations" - ) - if virtualenv_no_global(): - raise InstallationError( - "Can not perform a '--user' install. User site-packages " - "are not visible in this virtualenv." - ) - logger.debug("User install by explicit request") - return True - - # If we are here, user installs have not been explicitly requested/avoided - assert use_user_site is None - - # user install incompatible with --prefix/--target - if prefix_path or target_dir: - logger.debug("Non-user install due to --prefix or --target option") - return False - - # If user installs are not enabled, choose a non-user install - if not site.ENABLE_USER_SITE: - logger.debug("Non-user install because user site-packages disabled") - return False - - # If we have permission for a non-user install, do that, - # otherwise do a user install. - if site_packages_writable(root=root_path, isolated=isolated_mode): - logger.debug("Non-user install because site-packages writeable") - return False - - logger.info("Defaulting to user installation because normal site-packages " - "is not writeable") - return True - - -def warn_deprecated_install_options(requirement_set, options): - # type: (RequirementSet, Optional[List[str]]) -> None - """If any location-changing --install-option arguments were passed for - requirements or on the command-line, then show a deprecation warning. - """ - def format_options(option_names): - # type: (Iterable[str]) -> List[str] - return ["--{}".format(name.replace("_", "-")) for name in option_names] - - requirements = ( - requirement_set.unnamed_requirements + - list(requirement_set.requirements.values()) - ) - - offenders = [] - - for requirement in requirements: - install_options = requirement.options.get("install_options", []) - location_options = parse_distutils_args(install_options) - if location_options: - offenders.append( - "{!r} from {}".format( - format_options(location_options.keys()), requirement - ) - ) - - if options: - location_options = parse_distutils_args(options) - if location_options: - offenders.append( - "{!r} from command line".format( - format_options(location_options.keys()) - ) - ) - - if not offenders: - return - - deprecated( - reason=( - "Location-changing options found in --install-option: {}. " - "This configuration may cause unexpected behavior and is " - "unsupported.".format( - "; ".join(offenders) - ) - ), - replacement=( - "using pip-level options like --user, --prefix, --root, and " - "--target" - ), - gone_in="20.2", - issue=7309, - ) - - -def create_env_error_message(error, show_traceback, using_user_site): - """Format an error message for an EnvironmentError - - It may occur anytime during the execution of the install command. - """ - parts = [] - - # Mention the error if we are not going to show a traceback - parts.append("Could not install packages due to an EnvironmentError") - if not show_traceback: - parts.append(": ") - parts.append(str(error)) - else: - parts.append(".") - - # Spilt the error indication from a helper message (if any) - parts[-1] += "\n" - - # Suggest useful actions to the user: - # (1) using user site-packages or (2) verifying the permissions - if error.errno == errno.EACCES: - user_option_part = "Consider using the `--user` option" - permissions_part = "Check the permissions" - - if not using_user_site: - parts.extend([ - user_option_part, " or ", - permissions_part.lower(), - ]) - else: - parts.append(permissions_part) - parts.append(".\n") - - return "".join(parts).strip() + "\n" diff --git a/.venv/lib/python3.8/site-packages/pip/_internal/commands/list.py b/.venv/lib/python3.8/site-packages/pip/_internal/commands/list.py deleted file mode 100644 index d006206..0000000 --- a/.venv/lib/python3.8/site-packages/pip/_internal/commands/list.py +++ /dev/null @@ -1,315 +0,0 @@ -# The following comment should be removed at some point in the future. -# mypy: disallow-untyped-defs=False - -from __future__ import absolute_import - -import json -import logging - -from pip._vendor import six -from pip._vendor.six.moves import zip_longest - -from pip._internal.cli import cmdoptions -from pip._internal.cli.req_command import IndexGroupCommand -from pip._internal.exceptions import CommandError -from pip._internal.index.package_finder import PackageFinder -from pip._internal.models.selection_prefs import SelectionPreferences -from pip._internal.self_outdated_check import make_link_collector -from pip._internal.utils.misc import ( - dist_is_editable, - get_installed_distributions, - write_output, -) -from pip._internal.utils.packaging import get_installer - -from pip._vendor.packaging.version import parse - -logger = logging.getLogger(__name__) - - -class ListCommand(IndexGroupCommand): - """ - List installed packages, including editables. - - Packages are listed in a case-insensitive sorted order. - """ - - usage = """ - %prog [options]""" - - def __init__(self, *args, **kw): - super(ListCommand, self).__init__(*args, **kw) - - cmd_opts = self.cmd_opts - - cmd_opts.add_option( - '-o', '--outdated', - action='store_true', - default=False, - help='List outdated packages') - cmd_opts.add_option( - '-u', '--uptodate', - action='store_true', - default=False, - help='List uptodate packages') - cmd_opts.add_option( - '-e', '--editable', - action='store_true', - default=False, - help='List editable projects.') - cmd_opts.add_option( - '-l', '--local', - action='store_true', - default=False, - help=('If in a virtualenv that has global access, do not list ' - 'globally-installed packages.'), - ) - self.cmd_opts.add_option( - '--user', - dest='user', - action='store_true', - default=False, - help='Only output packages installed in user-site.') - cmd_opts.add_option(cmdoptions.list_path()) - cmd_opts.add_option( - '--pre', - action='store_true', - default=False, - help=("Include pre-release and development versions. By default, " - "pip only finds stable versions."), - ) - - cmd_opts.add_option( - '--format', - action='store', - dest='list_format', - default="columns", - choices=('columns', 'freeze', 'json'), - help="Select the output format among: columns (default), freeze, " - "or json", - ) - - cmd_opts.add_option( - '--not-required', - action='store_true', - dest='not_required', - help="List packages that are not dependencies of " - "installed packages.", - ) - - cmd_opts.add_option( - '--exclude-editable', - action='store_false', - dest='include_editable', - help='Exclude editable package from output.', - ) - cmd_opts.add_option( - '--include-editable', - action='store_true', - dest='include_editable', - help='Include editable package from output.', - default=True, - ) - index_opts = cmdoptions.make_option_group( - cmdoptions.index_group, self.parser - ) - - self.parser.insert_option_group(0, index_opts) - self.parser.insert_option_group(0, cmd_opts) - - def _build_package_finder(self, options, session): - """ - Create a package finder appropriate to this list command. - """ - link_collector = make_link_collector(session, options=options) - - # Pass allow_yanked=False to ignore yanked versions. - selection_prefs = SelectionPreferences( - allow_yanked=False, - allow_all_prereleases=options.pre, - ) - - return PackageFinder.create( - link_collector=link_collector, - selection_prefs=selection_prefs, - ) - - def run(self, options, args): - if options.outdated and options.uptodate: - raise CommandError( - "Options --outdated and --uptodate cannot be combined.") - - cmdoptions.check_list_path_option(options) - - packages = get_installed_distributions( - local_only=options.local, - user_only=options.user, - editables_only=options.editable, - include_editables=options.include_editable, - paths=options.path, - ) - - # get_not_required must be called firstly in order to find and - # filter out all dependencies correctly. Otherwise a package - # can't be identified as requirement because some parent packages - # could be filtered out before. - if options.not_required: - packages = self.get_not_required(packages, options) - - if options.outdated: - packages = self.get_outdated(packages, options) - elif options.uptodate: - packages = self.get_uptodate(packages, options) - - self.output_package_listing(packages, options) - - def get_outdated(self, packages, options): - return [ - dist for dist in self.iter_packages_latest_infos(packages, options) - if parse(str(dist.latest_version)) > parse(str(dist.parsed_version)) - ] - - def get_uptodate(self, packages, options): - return [ - dist for dist in self.iter_packages_latest_infos(packages, options) - if parse(str(dist.latest_version)) == parse(str(dist.parsed_version)) - ] - - def get_not_required(self, packages, options): - dep_keys = set() - for dist in packages: - dep_keys.update(requirement.key for requirement in dist.requires()) - return {pkg for pkg in packages if pkg.key not in dep_keys} - - def iter_packages_latest_infos(self, packages, options): - with self._build_session(options) as session: - finder = self._build_package_finder(options, session) - - for dist in packages: - typ = 'unknown' - all_candidates = finder.find_all_candidates(dist.key) - if not options.pre: - # Remove prereleases - all_candidates = [candidate for candidate in all_candidates - if not candidate.version.is_prerelease] - - evaluator = finder.make_candidate_evaluator( - project_name=dist.project_name, - ) - best_candidate = evaluator.sort_best_candidate(all_candidates) - if best_candidate is None: - continue - - remote_version = best_candidate.version - if best_candidate.link.is_wheel: - typ = 'wheel' - else: - typ = 'sdist' - # This is dirty but makes the rest of the code much cleaner - dist.latest_version = remote_version - dist.latest_filetype = typ - yield dist - - def output_package_listing(self, packages, options): - packages = sorted( - packages, - key=lambda dist: dist.project_name.lower(), - ) - if options.list_format == 'columns' and packages: - data, header = format_for_columns(packages, options) - self.output_package_listing_columns(data, header) - elif options.list_format == 'freeze': - for dist in packages: - if options.verbose >= 1: - write_output("%s==%s (%s)", dist.project_name, - dist.version, dist.location) - else: - write_output("%s==%s", dist.project_name, dist.version) - elif options.list_format == 'json': - write_output(format_for_json(packages, options)) - - def output_package_listing_columns(self, data, header): - # insert the header first: we need to know the size of column names - if len(data) > 0: - data.insert(0, header) - - pkg_strings, sizes = tabulate(data) - - # Create and add a separator. - if len(data) > 0: - pkg_strings.insert(1, " ".join(map(lambda x: '-' * x, sizes))) - - for val in pkg_strings: - write_output(val) - - -def tabulate(vals): - # From pfmoore on GitHub: - # https://github.com/pypa/pip/issues/3651#issuecomment-216932564 - assert len(vals) > 0 - - sizes = [0] * max(len(x) for x in vals) - for row in vals: - sizes = [max(s, len(str(c))) for s, c in zip_longest(sizes, row)] - - result = [] - for row in vals: - display = " ".join([str(c).ljust(s) if c is not None else '' - for s, c in zip_longest(sizes, row)]) - result.append(display) - - return result, sizes - - -def format_for_columns(pkgs, options): - """ - Convert the package data into something usable - by output_package_listing_columns. - """ - running_outdated = options.outdated - # Adjust the header for the `pip list --outdated` case. - if running_outdated: - header = ["Package", "Version", "Latest", "Type"] - else: - header = ["Package", "Version"] - - data = [] - if options.verbose >= 1 or any(dist_is_editable(x) for x in pkgs): - header.append("Location") - if options.verbose >= 1: - header.append("Installer") - - for proj in pkgs: - # if we're working on the 'outdated' list, separate out the - # latest_version and type - row = [proj.project_name, proj.version] - - if running_outdated: - row.append(proj.latest_version) - row.append(proj.latest_filetype) - - if options.verbose >= 1 or dist_is_editable(proj): - row.append(proj.location) - if options.verbose >= 1: - row.append(get_installer(proj)) - - data.append(row) - - return data, header - - -def format_for_json(packages, options): - data = [] - for dist in packages: - info = { - 'name': dist.project_name, - 'version': six.text_type(dist.version), - } - if options.verbose >= 1: - info['location'] = dist.location - info['installer'] = get_installer(dist) - if options.outdated: - info['latest_version'] = six.text_type(dist.latest_version) - info['latest_filetype'] = dist.latest_filetype - data.append(info) - return json.dumps(data) diff --git a/.venv/lib/python3.8/site-packages/pip/_internal/commands/search.py b/.venv/lib/python3.8/site-packages/pip/_internal/commands/search.py deleted file mode 100644 index 2e880ee..0000000 --- a/.venv/lib/python3.8/site-packages/pip/_internal/commands/search.py +++ /dev/null @@ -1,145 +0,0 @@ -# The following comment should be removed at some point in the future. -# mypy: disallow-untyped-defs=False - -from __future__ import absolute_import - -import logging -import sys -import textwrap -from collections import OrderedDict - -from pip._vendor import pkg_resources -from pip._vendor.packaging.version import parse as parse_version -# NOTE: XMLRPC Client is not annotated in typeshed as on 2017-07-17, which is -# why we ignore the type on this import -from pip._vendor.six.moves import xmlrpc_client # type: ignore - -from pip._internal.cli.base_command import Command -from pip._internal.cli.req_command import SessionCommandMixin -from pip._internal.cli.status_codes import NO_MATCHES_FOUND, SUCCESS -from pip._internal.exceptions import CommandError -from pip._internal.models.index import PyPI -from pip._internal.network.xmlrpc import PipXmlrpcTransport -from pip._internal.utils.compat import get_terminal_size -from pip._internal.utils.logging import indent_log -from pip._internal.utils.misc import write_output - -logger = logging.getLogger(__name__) - - -class SearchCommand(Command, SessionCommandMixin): - """Search for PyPI packages whose name or summary contains <query>.""" - - usage = """ - %prog [options] <query>""" - ignore_require_venv = True - - def __init__(self, *args, **kw): - super(SearchCommand, self).__init__(*args, **kw) - self.cmd_opts.add_option( - '-i', '--index', - dest='index', - metavar='URL', - default=PyPI.pypi_url, - help='Base URL of Python Package Index (default %default)') - - self.parser.insert_option_group(0, self.cmd_opts) - - def run(self, options, args): - if not args: - raise CommandError('Missing required argument (search query).') - query = args - pypi_hits = self.search(query, options) - hits = transform_hits(pypi_hits) - - terminal_width = None - if sys.stdout.isatty(): - terminal_width = get_terminal_size()[0] - - print_results(hits, terminal_width=terminal_width) - if pypi_hits: - return SUCCESS - return NO_MATCHES_FOUND - - def search(self, query, options): - index_url = options.index - - session = self.get_default_session(options) - - transport = PipXmlrpcTransport(index_url, session) - pypi = xmlrpc_client.ServerProxy(index_url, transport) - hits = pypi.search({'name': query, 'summary': query}, 'or') - return hits - - -def transform_hits(hits): - """ - The list from pypi is really a list of versions. We want a list of - packages with the list of versions stored inline. This converts the - list from pypi into one we can use. - """ - packages = OrderedDict() - for hit in hits: - name = hit['name'] - summary = hit['summary'] - version = hit['version'] - - if name not in packages.keys(): - packages[name] = { - 'name': name, - 'summary': summary, - 'versions': [version], - } - else: - packages[name]['versions'].append(version) - - # if this is the highest version, replace summary and score - if version == highest_version(packages[name]['versions']): - packages[name]['summary'] = summary - - return list(packages.values()) - - -def print_results(hits, name_column_width=None, terminal_width=None): - if not hits: - return - if name_column_width is None: - name_column_width = max([ - len(hit['name']) + len(highest_version(hit.get('versions', ['-']))) - for hit in hits - ]) + 4 - - installed_packages = [p.project_name for p in pkg_resources.working_set] - for hit in hits: - name = hit['name'] - summary = hit['summary'] or '' - latest = highest_version(hit.get('versions', ['-'])) - if terminal_width is not None: - target_width = terminal_width - name_column_width - 5 - if target_width > 10: - # wrap and indent summary to fit terminal - summary = textwrap.wrap(summary, target_width) - summary = ('\n' + ' ' * (name_column_width + 3)).join(summary) - - line = '%-*s - %s' % (name_column_width, - '%s (%s)' % (name, latest), summary) - try: - write_output(line) - if name in installed_packages: - dist = pkg_resources.get_distribution(name) - with indent_log(): - if dist.version == latest: - write_output('INSTALLED: %s (latest)', dist.version) - else: - write_output('INSTALLED: %s', dist.version) - if parse_version(latest).pre: - write_output('LATEST: %s (pre-release; install' - ' with "pip install --pre")', latest) - else: - write_output('LATEST: %s', latest) - except UnicodeEncodeError: - pass - - -def highest_version(versions): - return max(versions, key=parse_version) diff --git a/.venv/lib/python3.8/site-packages/pip/_internal/commands/show.py b/.venv/lib/python3.8/site-packages/pip/_internal/commands/show.py deleted file mode 100644 index a46b08e..0000000 --- a/.venv/lib/python3.8/site-packages/pip/_internal/commands/show.py +++ /dev/null @@ -1,180 +0,0 @@ -# The following comment should be removed at some point in the future. -# mypy: disallow-untyped-defs=False - -from __future__ import absolute_import - -import logging -import os -from email.parser import FeedParser - -from pip._vendor import pkg_resources -from pip._vendor.packaging.utils import canonicalize_name - -from pip._internal.cli.base_command import Command -from pip._internal.cli.status_codes import ERROR, SUCCESS -from pip._internal.utils.misc import write_output - -logger = logging.getLogger(__name__) - - -class ShowCommand(Command): - """ - Show information about one or more installed packages. - - The output is in RFC-compliant mail header format. - """ - - usage = """ - %prog [options] <package> ...""" - ignore_require_venv = True - - def __init__(self, *args, **kw): - super(ShowCommand, self).__init__(*args, **kw) - self.cmd_opts.add_option( - '-f', '--files', - dest='files', - action='store_true', - default=False, - help='Show the full list of installed files for each package.') - - self.parser.insert_option_group(0, self.cmd_opts) - - def run(self, options, args): - if not args: - logger.warning('ERROR: Please provide a package name or names.') - return ERROR - query = args - - results = search_packages_info(query) - if not print_results( - results, list_files=options.files, verbose=options.verbose): - return ERROR - return SUCCESS - - -def search_packages_info(query): - """ - Gather details from installed distributions. Print distribution name, - version, location, and installed files. Installed files requires a - pip generated 'installed-files.txt' in the distributions '.egg-info' - directory. - """ - installed = {} - for p in pkg_resources.working_set: - installed[canonicalize_name(p.project_name)] = p - - query_names = [canonicalize_name(name) for name in query] - missing = sorted( - [name for name, pkg in zip(query, query_names) if pkg not in installed] - ) - if missing: - logger.warning('Package(s) not found: %s', ', '.join(missing)) - - def get_requiring_packages(package_name): - canonical_name = canonicalize_name(package_name) - return [ - pkg.project_name for pkg in pkg_resources.working_set - if canonical_name in - [canonicalize_name(required.name) for required in - pkg.requires()] - ] - - for dist in [installed[pkg] for pkg in query_names if pkg in installed]: - package = { - 'name': dist.project_name, - 'version': dist.version, - 'location': dist.location, - 'requires': [dep.project_name for dep in dist.requires()], - 'required_by': get_requiring_packages(dist.project_name) - } - file_list = None - metadata = None - if isinstance(dist, pkg_resources.DistInfoDistribution): - # RECORDs should be part of .dist-info metadatas - if dist.has_metadata('RECORD'): - lines = dist.get_metadata_lines('RECORD') - paths = [l.split(',')[0] for l in lines] - paths = [os.path.join(dist.location, p) for p in paths] - file_list = [os.path.relpath(p, dist.location) for p in paths] - - if dist.has_metadata('METADATA'): - metadata = dist.get_metadata('METADATA') - else: - # Otherwise use pip's log for .egg-info's - if dist.has_metadata('installed-files.txt'): - paths = dist.get_metadata_lines('installed-files.txt') - paths = [os.path.join(dist.egg_info, p) for p in paths] - file_list = [os.path.relpath(p, dist.location) for p in paths] - - if dist.has_metadata('PKG-INFO'): - metadata = dist.get_metadata('PKG-INFO') - - if dist.has_metadata('entry_points.txt'): - entry_points = dist.get_metadata_lines('entry_points.txt') - package['entry_points'] = entry_points - - if dist.has_metadata('INSTALLER'): - for line in dist.get_metadata_lines('INSTALLER'): - if line.strip(): - package['installer'] = line.strip() - break - - # @todo: Should pkg_resources.Distribution have a - # `get_pkg_info` method? - feed_parser = FeedParser() - feed_parser.feed(metadata) - pkg_info_dict = feed_parser.close() - for key in ('metadata-version', 'summary', - 'home-page', 'author', 'author-email', 'license'): - package[key] = pkg_info_dict.get(key) - - # It looks like FeedParser cannot deal with repeated headers - classifiers = [] - for line in metadata.splitlines(): - if line.startswith('Classifier: '): - classifiers.append(line[len('Classifier: '):]) - package['classifiers'] = classifiers - - if file_list: - package['files'] = sorted(file_list) - yield package - - -def print_results(distributions, list_files=False, verbose=False): - """ - Print the informations from installed distributions found. - """ - results_printed = False - for i, dist in enumerate(distributions): - results_printed = True - if i > 0: - write_output("---") - - write_output("Name: %s", dist.get('name', '')) - write_output("Version: %s", dist.get('version', '')) - write_output("Summary: %s", dist.get('summary', '')) - write_output("Home-page: %s", dist.get('home-page', '')) - write_output("Author: %s", dist.get('author', '')) - write_output("Author-email: %s", dist.get('author-email', '')) - write_output("License: %s", dist.get('license', '')) - write_output("Location: %s", dist.get('location', '')) - write_output("Requires: %s", ', '.join(dist.get('requires', []))) - write_output("Required-by: %s", ', '.join(dist.get('required_by', []))) - - if verbose: - write_output("Metadata-Version: %s", - dist.get('metadata-version', '')) - write_output("Installer: %s", dist.get('installer', '')) - write_output("Classifiers:") - for classifier in dist.get('classifiers', []): - write_output(" %s", classifier) - write_output("Entry-points:") - for entry in dist.get('entry_points', []): - write_output(" %s", entry.strip()) - if list_files: - write_output("Files:") - for line in dist.get('files', []): - write_output(" %s", line.strip()) - if "files" not in dist: - write_output("Cannot locate installed-files.txt") - return results_printed diff --git a/.venv/lib/python3.8/site-packages/pip/_internal/commands/uninstall.py b/.venv/lib/python3.8/site-packages/pip/_internal/commands/uninstall.py deleted file mode 100644 index 1bde414..0000000 --- a/.venv/lib/python3.8/site-packages/pip/_internal/commands/uninstall.py +++ /dev/null @@ -1,82 +0,0 @@ -# The following comment should be removed at some point in the future. -# mypy: disallow-untyped-defs=False - -from __future__ import absolute_import - -from pip._vendor.packaging.utils import canonicalize_name - -from pip._internal.cli.base_command import Command -from pip._internal.cli.req_command import SessionCommandMixin -from pip._internal.exceptions import InstallationError -from pip._internal.req import parse_requirements -from pip._internal.req.constructors import install_req_from_line -from pip._internal.utils.misc import protect_pip_from_modification_on_windows - - -class UninstallCommand(Command, SessionCommandMixin): - """ - Uninstall packages. - - pip is able to uninstall most installed packages. Known exceptions are: - - - Pure distutils packages installed with ``python setup.py install``, which - leave behind no metadata to determine what files were installed. - - Script wrappers installed by ``python setup.py develop``. - """ - - usage = """ - %prog [options] <package> ... - %prog [options] -r <requirements file> ...""" - - def __init__(self, *args, **kw): - super(UninstallCommand, self).__init__(*args, **kw) - self.cmd_opts.add_option( - '-r', '--requirement', - dest='requirements', - action='append', - default=[], - metavar='file', - help='Uninstall all the packages listed in the given requirements ' - 'file. This option can be used multiple times.', - ) - self.cmd_opts.add_option( - '-y', '--yes', - dest='yes', - action='store_true', - help="Don't ask for confirmation of uninstall deletions.") - - self.parser.insert_option_group(0, self.cmd_opts) - - def run(self, options, args): - session = self.get_default_session(options) - - reqs_to_uninstall = {} - for name in args: - req = install_req_from_line( - name, isolated=options.isolated_mode, - ) - if req.name: - reqs_to_uninstall[canonicalize_name(req.name)] = req - for filename in options.requirements: - for req in parse_requirements( - filename, - options=options, - session=session): - if req.name: - reqs_to_uninstall[canonicalize_name(req.name)] = req - if not reqs_to_uninstall: - raise InstallationError( - 'You must give at least one requirement to %(name)s (see ' - '"pip help %(name)s")' % dict(name=self.name) - ) - - protect_pip_from_modification_on_windows( - modifying_pip="pip" in reqs_to_uninstall - ) - - for req in reqs_to_uninstall.values(): - uninstall_pathset = req.uninstall( - auto_confirm=options.yes, verbose=self.verbosity > 0, - ) - if uninstall_pathset: - uninstall_pathset.commit() diff --git a/.venv/lib/python3.8/site-packages/pip/_internal/commands/wheel.py b/.venv/lib/python3.8/site-packages/pip/_internal/commands/wheel.py deleted file mode 100644 index eb44bce..0000000 --- a/.venv/lib/python3.8/site-packages/pip/_internal/commands/wheel.py +++ /dev/null @@ -1,197 +0,0 @@ -# -*- coding: utf-8 -*- - -# The following comment should be removed at some point in the future. -# mypy: disallow-untyped-defs=False - -from __future__ import absolute_import - -import logging -import os -import shutil - -from pip._internal.cache import WheelCache -from pip._internal.cli import cmdoptions -from pip._internal.cli.req_command import RequirementCommand -from pip._internal.exceptions import CommandError, PreviousBuildDirError -from pip._internal.req import RequirementSet -from pip._internal.req.req_tracker import get_requirement_tracker -from pip._internal.utils.misc import ensure_dir, normalize_path -from pip._internal.utils.temp_dir import TempDirectory -from pip._internal.utils.typing import MYPY_CHECK_RUNNING -from pip._internal.wheel_builder import build, should_build_for_wheel_command - -if MYPY_CHECK_RUNNING: - from optparse import Values - from typing import Any, List - - -logger = logging.getLogger(__name__) - - -class WheelCommand(RequirementCommand): - """ - Build Wheel archives for your requirements and dependencies. - - Wheel is a built-package format, and offers the advantage of not - recompiling your software during every install. For more details, see the - wheel docs: https://wheel.readthedocs.io/en/latest/ - - Requirements: setuptools>=0.8, and wheel. - - 'pip wheel' uses the bdist_wheel setuptools extension from the wheel - package to build individual wheels. - - """ - - usage = """ - %prog [options] <requirement specifier> ... - %prog [options] -r <requirements file> ... - %prog [options] [-e] <vcs project url> ... - %prog [options] [-e] <local project path> ... - %prog [options] <archive url/path> ...""" - - def __init__(self, *args, **kw): - super(WheelCommand, self).__init__(*args, **kw) - - cmd_opts = self.cmd_opts - - cmd_opts.add_option( - '-w', '--wheel-dir', - dest='wheel_dir', - metavar='dir', - default=os.curdir, - help=("Build wheels into <dir>, where the default is the " - "current working directory."), - ) - cmd_opts.add_option(cmdoptions.no_binary()) - cmd_opts.add_option(cmdoptions.only_binary()) - cmd_opts.add_option(cmdoptions.prefer_binary()) - cmd_opts.add_option( - '--build-option', - dest='build_options', - metavar='options', - action='append', - help="Extra arguments to be supplied to 'setup.py bdist_wheel'.", - ) - cmd_opts.add_option(cmdoptions.no_build_isolation()) - cmd_opts.add_option(cmdoptions.use_pep517()) - cmd_opts.add_option(cmdoptions.no_use_pep517()) - cmd_opts.add_option(cmdoptions.constraints()) - cmd_opts.add_option(cmdoptions.editable()) - cmd_opts.add_option(cmdoptions.requirements()) - cmd_opts.add_option(cmdoptions.src()) - cmd_opts.add_option(cmdoptions.ignore_requires_python()) - cmd_opts.add_option(cmdoptions.no_deps()) - cmd_opts.add_option(cmdoptions.build_dir()) - cmd_opts.add_option(cmdoptions.progress_bar()) - - cmd_opts.add_option( - '--global-option', - dest='global_options', - action='append', - metavar='options', - help="Extra global options to be supplied to the setup.py " - "call before the 'bdist_wheel' command.") - - cmd_opts.add_option( - '--pre', - action='store_true', - default=False, - help=("Include pre-release and development versions. By default, " - "pip only finds stable versions."), - ) - - cmd_opts.add_option(cmdoptions.no_clean()) - cmd_opts.add_option(cmdoptions.require_hashes()) - - index_opts = cmdoptions.make_option_group( - cmdoptions.index_group, - self.parser, - ) - - self.parser.insert_option_group(0, index_opts) - self.parser.insert_option_group(0, cmd_opts) - - def run(self, options, args): - # type: (Values, List[Any]) -> None - cmdoptions.check_install_build_global(options) - - session = self.get_default_session(options) - - finder = self._build_package_finder(options, session) - build_delete = (not (options.no_clean or options.build_dir)) - wheel_cache = WheelCache(options.cache_dir, options.format_control) - - options.wheel_dir = normalize_path(options.wheel_dir) - ensure_dir(options.wheel_dir) - - with get_requirement_tracker() as req_tracker, TempDirectory( - options.build_dir, delete=build_delete, kind="wheel" - ) as directory: - - requirement_set = RequirementSet() - - try: - self.populate_requirement_set( - requirement_set, args, options, finder, session, - wheel_cache - ) - - preparer = self.make_requirement_preparer( - temp_build_dir=directory, - options=options, - req_tracker=req_tracker, - session=session, - finder=finder, - wheel_download_dir=options.wheel_dir, - use_user_site=False, - ) - - resolver = self.make_resolver( - preparer=preparer, - finder=finder, - options=options, - wheel_cache=wheel_cache, - ignore_requires_python=options.ignore_requires_python, - use_pep517=options.use_pep517, - ) - - self.trace_basic_info(finder) - - resolver.resolve(requirement_set) - - reqs_to_build = [ - r for r in requirement_set.requirements.values() - if should_build_for_wheel_command(r) - ] - - # build wheels - build_successes, build_failures = build( - reqs_to_build, - wheel_cache=wheel_cache, - build_options=options.build_options or [], - global_options=options.global_options or [], - ) - for req in build_successes: - assert req.link and req.link.is_wheel - assert req.local_file_path - # copy from cache to target directory - try: - shutil.copy(req.local_file_path, options.wheel_dir) - except OSError as e: - logger.warning( - "Building wheel for %s failed: %s", - req.name, e, - ) - build_failures.append(req) - if len(build_failures) != 0: - raise CommandError( - "Failed to build one or more wheels" - ) - except PreviousBuildDirError: - options.no_clean = True - raise - finally: - if not options.no_clean: - requirement_set.cleanup_files() - wheel_cache.cleanup() diff --git a/.venv/lib/python3.8/site-packages/pip/_internal/configuration.py b/.venv/lib/python3.8/site-packages/pip/_internal/configuration.py deleted file mode 100644 index f09a1ae..0000000 --- a/.venv/lib/python3.8/site-packages/pip/_internal/configuration.py +++ /dev/null @@ -1,422 +0,0 @@ -"""Configuration management setup - -Some terminology: -- name - As written in config files. -- value - Value associated with a name -- key - Name combined with it's section (section.name) -- variant - A single word describing where the configuration key-value pair came from -""" - -# The following comment should be removed at some point in the future. -# mypy: strict-optional=False - -import locale -import logging -import os -import sys - -from pip._vendor.six.moves import configparser - -from pip._internal.exceptions import ( - ConfigurationError, - ConfigurationFileCouldNotBeLoaded, -) -from pip._internal.utils import appdirs -from pip._internal.utils.compat import WINDOWS, expanduser -from pip._internal.utils.misc import ensure_dir, enum -from pip._internal.utils.typing import MYPY_CHECK_RUNNING - -if MYPY_CHECK_RUNNING: - from typing import ( - Any, Dict, Iterable, List, NewType, Optional, Tuple - ) - - RawConfigParser = configparser.RawConfigParser # Shorthand - Kind = NewType("Kind", str) - -logger = logging.getLogger(__name__) - - -# NOTE: Maybe use the optionx attribute to normalize keynames. -def _normalize_name(name): - # type: (str) -> str - """Make a name consistent regardless of source (environment or file) - """ - name = name.lower().replace('_', '-') - if name.startswith('--'): - name = name[2:] # only prefer long opts - return name - - -def _disassemble_key(name): - # type: (str) -> List[str] - if "." not in name: - error_message = ( - "Key does not contain dot separated section and key. " - "Perhaps you wanted to use 'global.{}' instead?" - ).format(name) - raise ConfigurationError(error_message) - return name.split(".", 1) - - -# The kinds of configurations there are. -kinds = enum( - USER="user", # User Specific - GLOBAL="global", # System Wide - SITE="site", # [Virtual] Environment Specific - ENV="env", # from PIP_CONFIG_FILE - ENV_VAR="env-var", # from Environment Variables -) - - -CONFIG_BASENAME = 'pip.ini' if WINDOWS else 'pip.conf' - - -def get_configuration_files(): - # type: () -> Dict[Kind, List[str]] - global_config_files = [ - os.path.join(path, CONFIG_BASENAME) - for path in appdirs.site_config_dirs('pip') - ] - - site_config_file = os.path.join(sys.prefix, CONFIG_BASENAME) - legacy_config_file = os.path.join( - expanduser('~'), - 'pip' if WINDOWS else '.pip', - CONFIG_BASENAME, - ) - new_config_file = os.path.join( - appdirs.user_config_dir("pip"), CONFIG_BASENAME - ) - return { - kinds.GLOBAL: global_config_files, - kinds.SITE: [site_config_file], - kinds.USER: [legacy_config_file, new_config_file], - } - - -class Configuration(object): - """Handles management of configuration. - - Provides an interface to accessing and managing configuration files. - - This class converts provides an API that takes "section.key-name" style - keys and stores the value associated with it as "key-name" under the - section "section". - - This allows for a clean interface wherein the both the section and the - key-name are preserved in an easy to manage form in the configuration files - and the data stored is also nice. - """ - - def __init__(self, isolated, load_only=None): - # type: (bool, Kind) -> None - super(Configuration, self).__init__() - - _valid_load_only = [kinds.USER, kinds.GLOBAL, kinds.SITE, None] - if load_only not in _valid_load_only: - raise ConfigurationError( - "Got invalid value for load_only - should be one of {}".format( - ", ".join(map(repr, _valid_load_only[:-1])) - ) - ) - self.isolated = isolated # type: bool - self.load_only = load_only # type: Optional[Kind] - - # The order here determines the override order. - self._override_order = [ - kinds.GLOBAL, kinds.USER, kinds.SITE, kinds.ENV, kinds.ENV_VAR - ] - - self._ignore_env_names = ["version", "help"] - - # Because we keep track of where we got the data from - self._parsers = { - variant: [] for variant in self._override_order - } # type: Dict[Kind, List[Tuple[str, RawConfigParser]]] - self._config = { - variant: {} for variant in self._override_order - } # type: Dict[Kind, Dict[str, Any]] - self._modified_parsers = [] # type: List[Tuple[str, RawConfigParser]] - - def load(self): - # type: () -> None - """Loads configuration from configuration files and environment - """ - self._load_config_files() - if not self.isolated: - self._load_environment_vars() - - def get_file_to_edit(self): - # type: () -> Optional[str] - """Returns the file with highest priority in configuration - """ - assert self.load_only is not None, \ - "Need to be specified a file to be editing" - - try: - return self._get_parser_to_modify()[0] - except IndexError: - return None - - def items(self): - # type: () -> Iterable[Tuple[str, Any]] - """Returns key-value pairs like dict.items() representing the loaded - configuration - """ - return self._dictionary.items() - - def get_value(self, key): - # type: (str) -> Any - """Get a value from the configuration. - """ - try: - return self._dictionary[key] - except KeyError: - raise ConfigurationError("No such key - {}".format(key)) - - def set_value(self, key, value): - # type: (str, Any) -> None - """Modify a value in the configuration. - """ - self._ensure_have_load_only() - - fname, parser = self._get_parser_to_modify() - - if parser is not None: - section, name = _disassemble_key(key) - - # Modify the parser and the configuration - if not parser.has_section(section): - parser.add_section(section) - parser.set(section, name, value) - - self._config[self.load_only][key] = value - self._mark_as_modified(fname, parser) - - def unset_value(self, key): - # type: (str) -> None - """Unset a value in the configuration. - """ - self._ensure_have_load_only() - - if key not in self._config[self.load_only]: - raise ConfigurationError("No such key - {}".format(key)) - - fname, parser = self._get_parser_to_modify() - - if parser is not None: - section, name = _disassemble_key(key) - - # Remove the key in the parser - modified_something = False - if parser.has_section(section): - # Returns whether the option was removed or not - modified_something = parser.remove_option(section, name) - - if modified_something: - # name removed from parser, section may now be empty - section_iter = iter(parser.items(section)) - try: - val = next(section_iter) - except StopIteration: - val = None - - if val is None: - parser.remove_section(section) - - self._mark_as_modified(fname, parser) - else: - raise ConfigurationError( - "Fatal Internal error [id=1]. Please report as a bug." - ) - - del self._config[self.load_only][key] - - def save(self): - # type: () -> None - """Save the current in-memory state. - """ - self._ensure_have_load_only() - - for fname, parser in self._modified_parsers: - logger.info("Writing to %s", fname) - - # Ensure directory exists. - ensure_dir(os.path.dirname(fname)) - - with open(fname, "w") as f: - parser.write(f) - - # - # Private routines - # - - def _ensure_have_load_only(self): - # type: () -> None - if self.load_only is None: - raise ConfigurationError("Needed a specific file to be modifying.") - logger.debug("Will be working with %s variant only", self.load_only) - - @property - def _dictionary(self): - # type: () -> Dict[str, Any] - """A dictionary representing the loaded configuration. - """ - # NOTE: Dictionaries are not populated if not loaded. So, conditionals - # are not needed here. - retval = {} - - for variant in self._override_order: - retval.update(self._config[variant]) - - return retval - - def _load_config_files(self): - # type: () -> None - """Loads configuration from configuration files - """ - config_files = dict(self._iter_config_files()) - if config_files[kinds.ENV][0:1] == [os.devnull]: - logger.debug( - "Skipping loading configuration files due to " - "environment's PIP_CONFIG_FILE being os.devnull" - ) - return - - for variant, files in config_files.items(): - for fname in files: - # If there's specific variant set in `load_only`, load only - # that variant, not the others. - if self.load_only is not None and variant != self.load_only: - logger.debug( - "Skipping file '%s' (variant: %s)", fname, variant - ) - continue - - parser = self._load_file(variant, fname) - - # Keeping track of the parsers used - self._parsers[variant].append((fname, parser)) - - def _load_file(self, variant, fname): - # type: (Kind, str) -> RawConfigParser - logger.debug("For variant '%s', will try loading '%s'", variant, fname) - parser = self._construct_parser(fname) - - for section in parser.sections(): - items = parser.items(section) - self._config[variant].update(self._normalized_keys(section, items)) - - return parser - - def _construct_parser(self, fname): - # type: (str) -> RawConfigParser - parser = configparser.RawConfigParser() - # If there is no such file, don't bother reading it but create the - # parser anyway, to hold the data. - # Doing this is useful when modifying and saving files, where we don't - # need to construct a parser. - if os.path.exists(fname): - try: - parser.read(fname) - except UnicodeDecodeError: - # See https://github.com/pypa/pip/issues/4963 - raise ConfigurationFileCouldNotBeLoaded( - reason="contains invalid {} characters".format( - locale.getpreferredencoding(False) - ), - fname=fname, - ) - except configparser.Error as error: - # See https://github.com/pypa/pip/issues/4893 - raise ConfigurationFileCouldNotBeLoaded(error=error) - return parser - - def _load_environment_vars(self): - # type: () -> None - """Loads configuration from environment variables - """ - self._config[kinds.ENV_VAR].update( - self._normalized_keys(":env:", self._get_environ_vars()) - ) - - def _normalized_keys(self, section, items): - # type: (str, Iterable[Tuple[str, Any]]) -> Dict[str, Any] - """Normalizes items to construct a dictionary with normalized keys. - - This routine is where the names become keys and are made the same - regardless of source - configuration files or environment. - """ - normalized = {} - for name, val in items: - key = section + "." + _normalize_name(name) - normalized[key] = val - return normalized - - def _get_environ_vars(self): - # type: () -> Iterable[Tuple[str, str]] - """Returns a generator with all environmental vars with prefix PIP_""" - for key, val in os.environ.items(): - should_be_yielded = ( - key.startswith("PIP_") and - key[4:].lower() not in self._ignore_env_names - ) - if should_be_yielded: - yield key[4:].lower(), val - - # XXX: This is patched in the tests. - def _iter_config_files(self): - # type: () -> Iterable[Tuple[Kind, List[str]]] - """Yields variant and configuration files associated with it. - - This should be treated like items of a dictionary. - """ - # SMELL: Move the conditions out of this function - - # environment variables have the lowest priority - config_file = os.environ.get('PIP_CONFIG_FILE', None) - if config_file is not None: - yield kinds.ENV, [config_file] - else: - yield kinds.ENV, [] - - config_files = get_configuration_files() - - # at the base we have any global configuration - yield kinds.GLOBAL, config_files[kinds.GLOBAL] - - # per-user configuration next - should_load_user_config = not self.isolated and not ( - config_file and os.path.exists(config_file) - ) - if should_load_user_config: - # The legacy config file is overridden by the new config file - yield kinds.USER, config_files[kinds.USER] - - # finally virtualenv configuration first trumping others - yield kinds.SITE, config_files[kinds.SITE] - - def _get_parser_to_modify(self): - # type: () -> Tuple[str, RawConfigParser] - # Determine which parser to modify - parsers = self._parsers[self.load_only] - if not parsers: - # This should not happen if everything works correctly. - raise ConfigurationError( - "Fatal Internal error [id=2]. Please report as a bug." - ) - - # Use the highest priority parser. - return parsers[-1] - - # XXX: This is patched in the tests. - def _mark_as_modified(self, fname, parser): - # type: (str, RawConfigParser) -> None - file_parser_tuple = (fname, parser) - if file_parser_tuple not in self._modified_parsers: - self._modified_parsers.append(file_parser_tuple) diff --git a/.venv/lib/python3.8/site-packages/pip/_internal/distributions/__init__.py b/.venv/lib/python3.8/site-packages/pip/_internal/distributions/__init__.py deleted file mode 100644 index d5c1afc..0000000 --- a/.venv/lib/python3.8/site-packages/pip/_internal/distributions/__init__.py +++ /dev/null @@ -1,24 +0,0 @@ -from pip._internal.distributions.sdist import SourceDistribution -from pip._internal.distributions.wheel import WheelDistribution -from pip._internal.utils.typing import MYPY_CHECK_RUNNING - -if MYPY_CHECK_RUNNING: - from pip._internal.distributions.base import AbstractDistribution - from pip._internal.req.req_install import InstallRequirement - - -def make_distribution_for_install_requirement(install_req): - # type: (InstallRequirement) -> AbstractDistribution - """Returns a Distribution for the given InstallRequirement - """ - # Editable requirements will always be source distributions. They use the - # legacy logic until we create a modern standard for them. - if install_req.editable: - return SourceDistribution(install_req) - - # If it's a wheel, it's a WheelDistribution - if install_req.is_wheel: - return WheelDistribution(install_req) - - # Otherwise, a SourceDistribution - return SourceDistribution(install_req) diff --git a/.venv/lib/python3.8/site-packages/pip/_internal/distributions/__pycache__/__init__.cpython-38.pyc b/.venv/lib/python3.8/site-packages/pip/_internal/distributions/__pycache__/__init__.cpython-38.pyc deleted file mode 100644 index d1b5736e0b43dec2571c006a7ebc99252bae02ce..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 812 zcmWIL<>g{vU|=}A?@#i6W(J1GAPzESVqjo!U|?V<_F-UPNMT4}%wfo7jACR2v6*t1 za+#x;!EELnmR!~-Rz`+Y)*^=#h7^_@wp{iocCZ|44o5C$6elA?3R?<$3qurF3P&)5 zCg)3#J(`TSgo5)+i;`1aGK))!GLuS6GV}8^8E*-OXQZa)pa}~3Mg~O2JA1e~d&dWb z`uTbKxoa}s5^+o_E-6Y(E<soAnO9trn3EHfT3DJ{l$x8GSCY&KvJ{FzY>@w)LH<)= zU|^_W$YLnsD`Bi*Xl4us@tBHaN|+%$n5ZUWl}%7;Noi4Du|lE(vW*I9`9%sP8L0~C znPsVY3YeC2DJUo?XtLbmNKMHsNleN~EdtqoizBl*z8vJ)B4!2#22I9W+?fz}#}}m* zu4E_zMbIw~{gT`Q{esK_-O{{*#N_PM6kV_$-SXV*qSBO{VvwAEd}dxrYEfQdj(!SK zXcp_o$7kkcmc+;F6;$5R%uUQrjYpP`Ps=ZgN3s(ZSRjjwK?DOE8zToZ2p91%FfjOO za^F%c$Slx<Tc?L?T(Mp;m<#qCUUgs}fPH;S3e~*QlFXc9y^_j;%)Im>76t}}TMDQO zz&1crOR-*3VsUB_D@d6vs<NWgLcOBYLYVK0*cccXz<vOSDiXmB(#&C#o1apelWGS_ S8O0#4@-Xr+@-VT0NM-=8$Lf&) diff --git a/.venv/lib/python3.8/site-packages/pip/_internal/distributions/__pycache__/base.cpython-38.pyc b/.venv/lib/python3.8/site-packages/pip/_internal/distributions/__pycache__/base.cpython-38.pyc deleted file mode 100644 index 15bc15859369eecefaf2458f9032829e0c860cbb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1928 zcmWIL<>g{vU|=}A?@#hXRtAR0APzESWnf@%U|?V<E@EI{NMT4}%wdQE(M&mvxlB<^ zj37314s$L`6bmCmDoasF3PTD@4r?x36dPEMHHSTyBZ>peX3OEs<%;40v)OaFb9th8 z7#UKTQW>&%n;G31QaDmLTNqL}Q~8>in;E0{Qy7C8G`U`aT;r$7c#AhNB_%#LwIne) zC$YF#lkt|2Z)8AZyt9X^vv+(@sGpywpSvdGEe`*JlFa<P#2ih=TRbkA#U(|VNu?kW zkPgqh;*!LioS@Xg(#)dN+|;}hkih|o$=QkNscxBhDXB%tAp4LpGn7+o!@$6h$`Hkv z!Vtxj!WhNe&XC5K!j!_?!V$%i%9_QN!ji(;!qChZ#SZ4NrLco}9PJD&3{jlH44NFb zL>!ZfONtVcOOPFw$jijQ;HZ$4Se&W=_M1Xlevv{(VqQv4W?s5NCdAE&Nja$siA5!u zX^F`t#d=&^3JMAeAsML(MF`IngLNk6RhDF6>P%Hg1j*;*<d+v)L9{FADwL-x<dznf zC?usSfNdzrS4c@MNiE9F%u7`$K{Z|>FEKY2Y_EcXf<}H3NON*xo_dKwa(+=!YH~?V zCB)efoq73rx}^o_MTse?3dxDZshUtnE9ioqSpW(3VukX|k_?67)RNKy6u;<zj0d|d zF{d~m=0KSB=<ducLeUI1G{3Y27J8uINK8q|1SN#T9GD?+Cuo2|9OT>L#9UB_CKl)C zfr6{3G*7oAGdEQsCAA<mFC{fEIWx6b6JOvZ7o{eaq$(sTAjhymeo|Iya*0A}ML~Ws z$SEZm@Ni5_$}dY*0Hy1c#F9iku+x&6plJ?7f!Lrl2*Sk@3=9k<3?+;;49!dnm=-cH zGSo2EFvK&bFa$HKWc1Tyxy4#sT98^)#KFM8aEl{8J~J<~BtHHYb5UxcCetmJ;?$h9 zA|3_?hLw!BIOF5N$t^y9CBrWl{gT`Q{esK_-O@Zzu%xEwmS?1<=IEB^W*3#F<P?MC z^y4%0N>YpR5_9xZkaAYBJ}B+#6;u{+GcYhHfJzG%u*>-vt7NgIcs-cAk{Lnjpcupk zVP}v5pi-%Xp_!qH5#+TZPKc9*{qjpZa|?37SvNJswWuh+NRzRMmw|zyNB~X<g8VL* zo>~%Lkewc1lv<o$T9lkx9FOc~Rgfj1pk-jLGREpg{Q8qY(E)Wh1Bi{!<wZga3=Epg zV0YePO9PiPxA>DvGjmenGmG<c5<$rl-2<`(MX3deMX4yx1{Z*!grbGyej}{z$E#hF z3zRrO`8huR7FT?HZhlH>PHKGoEuQ%J!qUVXs0@32d`f<Dd^|W}Z!sq(CEwypOo9|) zxv3=?`6)#rpkNmVg*Y!XJte2+<iy7#d4~_A1QaRYRLKu=IVcHoFtPCSu(B|6v9K_L zWi$nfWEdD2qWB9k3-sd4Qu9*si}Z>!D~dqzbV~{>3QK@`r6rj;#d;-`1(|v2MW6_{ z#Rlbo(q5D#ST)oPlw?o@s?wqa!SZm^ic$-U*g&38LKO!^RfQfXLnNlB#zSJRh#jPm z-O<U}H?<`378@jUgMEPHX>f7`dHNQI4J35!KuM$+loU9ac$j#YSQvSjco=yYd6+pE E0q_$dTL1t6 diff --git a/.venv/lib/python3.8/site-packages/pip/_internal/distributions/__pycache__/installed.cpython-38.pyc b/.venv/lib/python3.8/site-packages/pip/_internal/distributions/__pycache__/installed.cpython-38.pyc deleted file mode 100644 index 6b851b61744c2c89981e4da87e732da9f2b6d444..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1208 zcmWIL<>g{vU|=}A?@#g%CI*JbAPzESVPIfzU|?V<4q;$mNMT4}%wfo7jACR2v6*t1 za+#x;85vTUiyTrIQkZjCa#^ET!E!7)Y`N@F>|i!)4o5C$6elBtJ3|Uv3VRDf3VSMJ zGjkMI3P&)5Cg)3#eVUB7L>!ZfONtVcOI$LGONug+N=q{H^E4T63He3_M8-RNxH@~s z2Zj3idHT6)GT!3wF969W=4dkB;z85F8<3csotU2LmYJ85T9gbj9~m>j{G`CZz>vxi z#hAhn#gxJr#hk*F!ra0T#gf93!rH<R#hStv%%I7BOVl&3xFj(rCp87xo~n+Z)Pkba z;?%s7Vui#!g-n<tg#w7}dR$xz3JMA#8JWcjDfy|z3VHb@3VEriDGG^sl?nw#sRfBe zi6B2HBo-@_WTYw-r52WE7Nw>rWag#i7v)0aG7^gw5_5`D6H_X|#wDeu<|!oS=N6Qf zq^9VBg_0SOd<SBKurnyqI2afhY8bK@vKWIIRx<i>mY>N-ey_Q=C|mS)7)cni8K> zsmXYYr8qSwZ6!ky4+8_kFHilF+yecA%mUrgJdjUPQ*_HSQd4tu%X71fN>g%*L2~-> znRz9tMR|!i`YA}URjdyW1-*jGTXN~CCGiE>>G4IW#rdU0$*INh$f|`vP6R~;15=d= z)-cw?Z$L6LlE*=8xW_@sHiaRWp$HTLV1H>c7jZK%Fx+BG11E}G{7I#mIVtg(#rZkl zfCejq5WFCDvXBT$MR9R_ZfZ$lN@7W(7?RVCu{#~Fem_mNTO9H6d5O8H@$t8~;^TAk zQ%Z9{Y@Yb|!qUVXs0@32d`f<De0&if0|P^mAcz1(62zTg7Ra$h><kPHAm0_UF)%Q2 zFtV_5uz<z<G`Vjn6l50Y!J|tLIRc9Hk`jwki$GCuOA1w4X-Q^Iv0h1KL1tch5h!SH zu|YYYppB9Qt1e5;OUW<NLy6%cR#50Ef#qRoL=P0?6?&l5l$f3x4~c;ykXym7MDh*X dOSd>|AVFdWiqm3{I1eKa6AL2`6AvQ~GXNjJQz-xd diff --git a/.venv/lib/python3.8/site-packages/pip/_internal/distributions/__pycache__/sdist.cpython-38.pyc b/.venv/lib/python3.8/site-packages/pip/_internal/distributions/__pycache__/sdist.cpython-38.pyc deleted file mode 100644 index 4faa78c243ba3187202a6deb1bec2f26b5a74e65..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3471 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 Zpyq9{7^u=^0>wQTGqErVfOyPY%mCSZ0=57E diff --git a/.venv/lib/python3.8/site-packages/pip/_internal/distributions/__pycache__/wheel.cpython-38.pyc b/.venv/lib/python3.8/site-packages/pip/_internal/distributions/__pycache__/wheel.cpython-38.pyc deleted file mode 100644 index 5b96da44b4890ecf7fc6930a9316ed2b8b3b881f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1560 zcmWIL<>g{vU|=}A?@uxxD+9x05C<8vFfcGUFfcF_ConKDq%fo~<}l<kMlmvi*i1Q0 zxy(__U^a6OOD<~^E11oa!<Ne)#m>l(%39=;!jQt6!;#Aw#R-;U%i+r9j^buyaA!zi zPvK}`Na09jZf1_+N#P7;(BygvvRjk!7JF1?fm>!yswU$t5yzzBlA^@q5|_;4lA_F{ z(vr;lJWa-1LcWm!k@3zRuFl@^L7{$ro__9{jJH$@veV;>Qj7CTi;`1|<5Q6I#HZyK z#g}KKrsile-r_+sjW-}MIXf{u)h#nGCABCS<P2oY1PcZQ1_p*yhA74qhA5^K#wg|# zrWEEDhA5U4mK4?&hA7q)wqOQL_FIDCAbXJQs45IfEhtJYPR%PRR!CF;yF&rld3s!2 z3JMAeAsLy)3Mu)i#R_@(B?@_|sVNGHd6fzUMX3deMTsE4D<l>}v==KRC*~<6r7EOk z7NsVa<Wwq@<`pC+XQ!s<fsIOLMDha22cW2S21RBF0|P@1Ll#38V=+$&QxhYY&0H)2 zVwbRhd5kHHDNMag{YtfrC9E}26%d(b=5Pik22+MWh9HK;48dSJf+2-Dm_d`JYLQQV zVoI?>Nk*zdZfZ$lN@7W(LRwLNE?5NO>$J?ARE5mEl6-~S)ZF}{N`=I{6osPHlG38Q zVueJo(?KDD9C`{R8HptdrNybm3YjH3;Gii=&8f`HOIOIxLpM6V2yRAEYGG++QEF~# zUI`>jKn90sGT!1!%*n|wkIF1CGx5`8yTx3TT6l{;CqFqcCm!Uy_=3cej9Yw;#l@*b zpfGnWD#|aq#gdnpn_2`4$s$$;1_n*0TP($?Icc{Tt5z};2{14){BqSV$t}<?$Slx> zMTIWd&${Kg*+r!(ImIA3{rJqhlGLKS#2kI(1W>FGR;pJ}c}p%mwIm*QN)`geA;>-k zb{-}kCLu;9MkWR}2DblI1{mp155G~#%t&bj#0I4qa2f&S{1k>@22Dmku-`P9i})BA z7;dqpfwRah{-n~(oRs*?;`|(NvIHxF5P~3evXCU3ikb&uX+jC)1yD#bFjeVeIvTHD zP=s;B$AcmxKK>S0e0*+xN@-4NeEcn*`1r!o#2ly$dwhIKesX+#5h%QhL>U+$kpyug zDENv%4lUwfU|`?@Ifspbfq{dOg_T19Eas=ldyBm)vjCJHz>$7Sp&+wB4<31XD3Pa^ zlvtcv1PZ}hQmD#GOEPnc^-3xWGV{`lK%sg|5}N{W<b%^y6hyu(H7_N<NDn0$6oK4$ zO9@p!C_XCmKsi4#JvAN@Jw@yw?}EIB<XyO*Z*kZ_!psg7-Nm4I<zeDs<YDAtVgZrN E03tKHD*ylh diff --git a/.venv/lib/python3.8/site-packages/pip/_internal/distributions/base.py b/.venv/lib/python3.8/site-packages/pip/_internal/distributions/base.py deleted file mode 100644 index b836b98..0000000 --- a/.venv/lib/python3.8/site-packages/pip/_internal/distributions/base.py +++ /dev/null @@ -1,45 +0,0 @@ -import abc - -from pip._vendor.six import add_metaclass - -from pip._internal.utils.typing import MYPY_CHECK_RUNNING - -if MYPY_CHECK_RUNNING: - from typing import Optional - - from pip._vendor.pkg_resources import Distribution - from pip._internal.req import InstallRequirement - from pip._internal.index.package_finder import PackageFinder - - -@add_metaclass(abc.ABCMeta) -class AbstractDistribution(object): - """A base class for handling installable artifacts. - - The requirements for anything installable are as follows: - - - we must be able to determine the requirement name - (or we can't correctly handle the non-upgrade case). - - - for packages with setup requirements, we must also be able - to determine their requirements without installing additional - packages (for the same reason as run-time dependencies) - - - we must be able to create a Distribution object exposing the - above metadata. - """ - - def __init__(self, req): - # type: (InstallRequirement) -> None - super(AbstractDistribution, self).__init__() - self.req = req - - @abc.abstractmethod - def get_pkg_resources_distribution(self): - # type: () -> Optional[Distribution] - raise NotImplementedError() - - @abc.abstractmethod - def prepare_distribution_metadata(self, finder, build_isolation): - # type: (PackageFinder, bool) -> None - raise NotImplementedError() diff --git a/.venv/lib/python3.8/site-packages/pip/_internal/distributions/installed.py b/.venv/lib/python3.8/site-packages/pip/_internal/distributions/installed.py deleted file mode 100644 index 0d15bf4..0000000 --- a/.venv/lib/python3.8/site-packages/pip/_internal/distributions/installed.py +++ /dev/null @@ -1,24 +0,0 @@ -from pip._internal.distributions.base import AbstractDistribution -from pip._internal.utils.typing import MYPY_CHECK_RUNNING - -if MYPY_CHECK_RUNNING: - from typing import Optional - - from pip._vendor.pkg_resources import Distribution - from pip._internal.index.package_finder import PackageFinder - - -class InstalledDistribution(AbstractDistribution): - """Represents an installed package. - - This does not need any preparation as the required information has already - been computed. - """ - - def get_pkg_resources_distribution(self): - # type: () -> Optional[Distribution] - return self.req.satisfied_by - - def prepare_distribution_metadata(self, finder, build_isolation): - # type: (PackageFinder, bool) -> None - pass diff --git a/.venv/lib/python3.8/site-packages/pip/_internal/distributions/sdist.py b/.venv/lib/python3.8/site-packages/pip/_internal/distributions/sdist.py deleted file mode 100644 index be3d7d9..0000000 --- a/.venv/lib/python3.8/site-packages/pip/_internal/distributions/sdist.py +++ /dev/null @@ -1,104 +0,0 @@ -import logging - -from pip._internal.build_env import BuildEnvironment -from pip._internal.distributions.base import AbstractDistribution -from pip._internal.exceptions import InstallationError -from pip._internal.utils.subprocess import runner_with_spinner_message -from pip._internal.utils.typing import MYPY_CHECK_RUNNING - -if MYPY_CHECK_RUNNING: - from typing import Set, Tuple - - from pip._vendor.pkg_resources import Distribution - from pip._internal.index.package_finder import PackageFinder - - -logger = logging.getLogger(__name__) - - -class SourceDistribution(AbstractDistribution): - """Represents a source distribution. - - The preparation step for these needs metadata for the packages to be - generated, either using PEP 517 or using the legacy `setup.py egg_info`. - """ - - def get_pkg_resources_distribution(self): - # type: () -> Distribution - return self.req.get_dist() - - def prepare_distribution_metadata(self, finder, build_isolation): - # type: (PackageFinder, bool) -> None - # Load pyproject.toml, to determine whether PEP 517 is to be used - self.req.load_pyproject_toml() - - # Set up the build isolation, if this requirement should be isolated - should_isolate = self.req.use_pep517 and build_isolation - if should_isolate: - self._setup_isolation(finder) - - self.req.prepare_metadata() - - def _setup_isolation(self, finder): - # type: (PackageFinder) -> None - def _raise_conflicts(conflicting_with, conflicting_reqs): - # type: (str, Set[Tuple[str, str]]) -> None - format_string = ( - "Some build dependencies for {requirement} " - "conflict with {conflicting_with}: {description}." - ) - error_message = format_string.format( - requirement=self.req, - conflicting_with=conflicting_with, - description=', '.join( - '{} is incompatible with {}'.format(installed, wanted) - for installed, wanted in sorted(conflicting) - ) - ) - raise InstallationError(error_message) - - # Isolate in a BuildEnvironment and install the build-time - # requirements. - pyproject_requires = self.req.pyproject_requires - assert pyproject_requires is not None - - self.req.build_env = BuildEnvironment() - self.req.build_env.install_requirements( - finder, pyproject_requires, 'overlay', - "Installing build dependencies" - ) - conflicting, missing = self.req.build_env.check_requirements( - self.req.requirements_to_check - ) - if conflicting: - _raise_conflicts("PEP 517/518 supported requirements", - conflicting) - if missing: - logger.warning( - "Missing build requirements in pyproject.toml for %s.", - self.req, - ) - logger.warning( - "The project does not specify a build backend, and " - "pip cannot fall back to setuptools without %s.", - " and ".join(map(repr, sorted(missing))) - ) - # Install any extra build dependencies that the backend requests. - # This must be done in a second pass, as the pyproject.toml - # dependencies must be installed before we can call the backend. - with self.req.build_env: - runner = runner_with_spinner_message( - "Getting requirements to build wheel" - ) - backend = self.req.pep517_backend - assert backend is not None - with backend.subprocess_runner(runner): - reqs = backend.get_requires_for_build_wheel() - - conflicting, missing = self.req.build_env.check_requirements(reqs) - if conflicting: - _raise_conflicts("the backend dependencies", conflicting) - self.req.build_env.install_requirements( - finder, missing, 'normal', - "Installing backend dependencies" - ) diff --git a/.venv/lib/python3.8/site-packages/pip/_internal/distributions/wheel.py b/.venv/lib/python3.8/site-packages/pip/_internal/distributions/wheel.py deleted file mode 100644 index bf3482b..0000000 --- a/.venv/lib/python3.8/site-packages/pip/_internal/distributions/wheel.py +++ /dev/null @@ -1,36 +0,0 @@ -from zipfile import ZipFile - -from pip._internal.distributions.base import AbstractDistribution -from pip._internal.utils.typing import MYPY_CHECK_RUNNING -from pip._internal.utils.wheel import pkg_resources_distribution_for_wheel - -if MYPY_CHECK_RUNNING: - from pip._vendor.pkg_resources import Distribution - from pip._internal.index.package_finder import PackageFinder - - -class WheelDistribution(AbstractDistribution): - """Represents a wheel distribution. - - This does not need any preparation as wheels can be directly unpacked. - """ - - def get_pkg_resources_distribution(self): - # type: () -> Distribution - """Loads the metadata from the wheel file into memory and returns a - Distribution that uses it, not relying on the wheel file or - requirement. - """ - # Set as part of preparation during download. - assert self.req.local_file_path - # Wheels are never unnamed. - assert self.req.name - - with ZipFile(self.req.local_file_path, allowZip64=True) as z: - return pkg_resources_distribution_for_wheel( - z, self.req.name, self.req.local_file_path - ) - - def prepare_distribution_metadata(self, finder, build_isolation): - # type: (PackageFinder, bool) -> None - pass diff --git a/.venv/lib/python3.8/site-packages/pip/_internal/exceptions.py b/.venv/lib/python3.8/site-packages/pip/_internal/exceptions.py deleted file mode 100644 index dddec78..0000000 --- a/.venv/lib/python3.8/site-packages/pip/_internal/exceptions.py +++ /dev/null @@ -1,308 +0,0 @@ -"""Exceptions used throughout package""" - -# The following comment should be removed at some point in the future. -# mypy: disallow-untyped-defs=False - -from __future__ import absolute_import - -from itertools import chain, groupby, repeat - -from pip._vendor.six import iteritems - -from pip._internal.utils.typing import MYPY_CHECK_RUNNING - -if MYPY_CHECK_RUNNING: - from typing import Optional - from pip._vendor.pkg_resources import Distribution - from pip._internal.req.req_install import InstallRequirement - - -class PipError(Exception): - """Base pip exception""" - - -class ConfigurationError(PipError): - """General exception in configuration""" - - -class InstallationError(PipError): - """General exception during installation""" - - -class UninstallationError(PipError): - """General exception during uninstallation""" - - -class NoneMetadataError(PipError): - """ - Raised when accessing "METADATA" or "PKG-INFO" metadata for a - pip._vendor.pkg_resources.Distribution object and - `dist.has_metadata('METADATA')` returns True but - `dist.get_metadata('METADATA')` returns None (and similarly for - "PKG-INFO"). - """ - - def __init__(self, dist, metadata_name): - # type: (Distribution, str) -> None - """ - :param dist: A Distribution object. - :param metadata_name: The name of the metadata being accessed - (can be "METADATA" or "PKG-INFO"). - """ - self.dist = dist - self.metadata_name = metadata_name - - def __str__(self): - # type: () -> str - # Use `dist` in the error message because its stringification - # includes more information, like the version and location. - return ( - 'None {} metadata found for distribution: {}'.format( - self.metadata_name, self.dist, - ) - ) - - -class DistributionNotFound(InstallationError): - """Raised when a distribution cannot be found to satisfy a requirement""" - - -class RequirementsFileParseError(InstallationError): - """Raised when a general error occurs parsing a requirements file line.""" - - -class BestVersionAlreadyInstalled(PipError): - """Raised when the most up-to-date version of a package is already - installed.""" - - -class BadCommand(PipError): - """Raised when virtualenv or a command is not found""" - - -class CommandError(PipError): - """Raised when there is an error in command-line arguments""" - - -class PreviousBuildDirError(PipError): - """Raised when there's a previous conflicting build directory""" - - -class InvalidWheelFilename(InstallationError): - """Invalid wheel filename.""" - - -class UnsupportedWheel(InstallationError): - """Unsupported wheel.""" - - -class HashErrors(InstallationError): - """Multiple HashError instances rolled into one for reporting""" - - def __init__(self): - self.errors = [] - - def append(self, error): - self.errors.append(error) - - def __str__(self): - lines = [] - self.errors.sort(key=lambda e: e.order) - for cls, errors_of_cls in groupby(self.errors, lambda e: e.__class__): - lines.append(cls.head) - lines.extend(e.body() for e in errors_of_cls) - if lines: - return '\n'.join(lines) - - def __nonzero__(self): - return bool(self.errors) - - def __bool__(self): - return self.__nonzero__() - - -class HashError(InstallationError): - """ - A failure to verify a package against known-good hashes - - :cvar order: An int sorting hash exception classes by difficulty of - recovery (lower being harder), so the user doesn't bother fretting - about unpinned packages when he has deeper issues, like VCS - dependencies, to deal with. Also keeps error reports in a - deterministic order. - :cvar head: A section heading for display above potentially many - exceptions of this kind - :ivar req: The InstallRequirement that triggered this error. This is - pasted on after the exception is instantiated, because it's not - typically available earlier. - - """ - req = None # type: Optional[InstallRequirement] - head = '' - - def body(self): - """Return a summary of me for display under the heading. - - This default implementation simply prints a description of the - triggering requirement. - - :param req: The InstallRequirement that provoked this error, with - populate_link() having already been called - - """ - return ' %s' % self._requirement_name() - - def __str__(self): - return '%s\n%s' % (self.head, self.body()) - - def _requirement_name(self): - """Return a description of the requirement that triggered me. - - This default implementation returns long description of the req, with - line numbers - - """ - return str(self.req) if self.req else 'unknown package' - - -class VcsHashUnsupported(HashError): - """A hash was provided for a version-control-system-based requirement, but - we don't have a method for hashing those.""" - - order = 0 - head = ("Can't verify hashes for these requirements because we don't " - "have a way to hash version control repositories:") - - -class DirectoryUrlHashUnsupported(HashError): - """A hash was provided for a version-control-system-based requirement, but - we don't have a method for hashing those.""" - - order = 1 - head = ("Can't verify hashes for these file:// requirements because they " - "point to directories:") - - -class HashMissing(HashError): - """A hash was needed for a requirement but is absent.""" - - order = 2 - head = ('Hashes are required in --require-hashes mode, but they are ' - 'missing from some requirements. Here is a list of those ' - 'requirements along with the hashes their downloaded archives ' - 'actually had. Add lines like these to your requirements files to ' - 'prevent tampering. (If you did not enable --require-hashes ' - 'manually, note that it turns on automatically when any package ' - 'has a hash.)') - - def __init__(self, gotten_hash): - """ - :param gotten_hash: The hash of the (possibly malicious) archive we - just downloaded - """ - self.gotten_hash = gotten_hash - - def body(self): - # Dodge circular import. - from pip._internal.utils.hashes import FAVORITE_HASH - - package = None - if self.req: - # In the case of URL-based requirements, display the original URL - # seen in the requirements file rather than the package name, - # so the output can be directly copied into the requirements file. - package = (self.req.original_link if self.req.original_link - # In case someone feeds something downright stupid - # to InstallRequirement's constructor. - else getattr(self.req, 'req', None)) - return ' %s --hash=%s:%s' % (package or 'unknown package', - FAVORITE_HASH, - self.gotten_hash) - - -class HashUnpinned(HashError): - """A requirement had a hash specified but was not pinned to a specific - version.""" - - order = 3 - head = ('In --require-hashes mode, all requirements must have their ' - 'versions pinned with ==. These do not:') - - -class HashMismatch(HashError): - """ - Distribution file hash values don't match. - - :ivar package_name: The name of the package that triggered the hash - mismatch. Feel free to write to this after the exception is raise to - improve its error message. - - """ - order = 4 - head = ('THESE PACKAGES DO NOT MATCH THE HASHES FROM THE REQUIREMENTS ' - 'FILE. If you have updated the package versions, please update ' - 'the hashes. Otherwise, examine the package contents carefully; ' - 'someone may have tampered with them.') - - def __init__(self, allowed, gots): - """ - :param allowed: A dict of algorithm names pointing to lists of allowed - hex digests - :param gots: A dict of algorithm names pointing to hashes we - actually got from the files under suspicion - """ - self.allowed = allowed - self.gots = gots - - def body(self): - return ' %s:\n%s' % (self._requirement_name(), - self._hash_comparison()) - - def _hash_comparison(self): - """ - Return a comparison of actual and expected hash values. - - Example:: - - Expected sha256 abcdeabcdeabcdeabcdeabcdeabcdeabcdeabcdeabcde - or 123451234512345123451234512345123451234512345 - Got bcdefbcdefbcdefbcdefbcdefbcdefbcdefbcdefbcdef - - """ - def hash_then_or(hash_name): - # For now, all the decent hashes have 6-char names, so we can get - # away with hard-coding space literals. - return chain([hash_name], repeat(' or')) - - lines = [] - for hash_name, expecteds in iteritems(self.allowed): - prefix = hash_then_or(hash_name) - lines.extend((' Expected %s %s' % (next(prefix), e)) - for e in expecteds) - lines.append(' Got %s\n' % - self.gots[hash_name].hexdigest()) - return '\n'.join(lines) - - -class UnsupportedPythonVersion(InstallationError): - """Unsupported python version according to Requires-Python package - metadata.""" - - -class ConfigurationFileCouldNotBeLoaded(ConfigurationError): - """When there are errors while loading a configuration file - """ - - def __init__(self, reason="could not be loaded", fname=None, error=None): - super(ConfigurationFileCouldNotBeLoaded, self).__init__(error) - self.reason = reason - self.fname = fname - self.error = error - - def __str__(self): - if self.fname is not None: - message_part = " in {}.".format(self.fname) - else: - assert self.error is not None - message_part = ".\n{}\n".format(self.error.message) - return "Configuration file {}{}".format(self.reason, message_part) diff --git a/.venv/lib/python3.8/site-packages/pip/_internal/index/__init__.py b/.venv/lib/python3.8/site-packages/pip/_internal/index/__init__.py deleted file mode 100644 index 7a17b7b..0000000 --- a/.venv/lib/python3.8/site-packages/pip/_internal/index/__init__.py +++ /dev/null @@ -1,2 +0,0 @@ -"""Index interaction code -""" diff --git a/.venv/lib/python3.8/site-packages/pip/_internal/index/__pycache__/__init__.cpython-38.pyc b/.venv/lib/python3.8/site-packages/pip/_internal/index/__pycache__/__init__.cpython-38.pyc deleted file mode 100644 index 1563aea5f1f0c1534e264aa253ef684702c7b220..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 190 zcmWIL<>g{vU|=}A?@zKE0|Ucj5C<7EGB7YWFfcF_b1*P4q%cG=q%a0EXfjoad*-F2 zRw!iVm82FWCYNO9=P4xTr=)WEX)@kokB?8uPmYgY$xy_^zyKkBIp~+<7U&mb7U-7d z6(lBSr>5wZXQZa)=$7YZ7nP>u6ocgS<G}{zCFba7g3Q;CkI&4@EQycTE2zB1VUwGm OQks)$2XfPAkRt(rH8b=8 diff --git a/.venv/lib/python3.8/site-packages/pip/_internal/index/__pycache__/collector.cpython-38.pyc b/.venv/lib/python3.8/site-packages/pip/_internal/index/__pycache__/collector.cpython-38.pyc deleted file mode 100644 index c729cd4b5baa8d7702709f7574bbf647871ca229..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 14156 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 diff --git a/.venv/lib/python3.8/site-packages/pip/_internal/index/__pycache__/package_finder.cpython-38.pyc b/.venv/lib/python3.8/site-packages/pip/_internal/index/__pycache__/package_finder.cpython-38.pyc deleted file mode 100644 index 2187ef25bb8c8efe82a376137778701339c7d9ae..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 25749 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 PdWKMedWL$2N)BlNW&7fO diff --git a/.venv/lib/python3.8/site-packages/pip/_internal/index/collector.py b/.venv/lib/python3.8/site-packages/pip/_internal/index/collector.py deleted file mode 100644 index 8330793..0000000 --- a/.venv/lib/python3.8/site-packages/pip/_internal/index/collector.py +++ /dev/null @@ -1,544 +0,0 @@ -""" -The main purpose of this module is to expose LinkCollector.collect_links(). -""" - -import cgi -import itertools -import logging -import mimetypes -import os -from collections import OrderedDict - -from pip._vendor import html5lib, requests -from pip._vendor.distlib.compat import unescape -from pip._vendor.requests.exceptions import HTTPError, RetryError, SSLError -from pip._vendor.six.moves.urllib import parse as urllib_parse -from pip._vendor.six.moves.urllib import request as urllib_request - -from pip._internal.models.link import Link -from pip._internal.utils.filetypes import ARCHIVE_EXTENSIONS -from pip._internal.utils.misc import redact_auth_from_url -from pip._internal.utils.typing import MYPY_CHECK_RUNNING -from pip._internal.utils.urls import path_to_url, url_to_path -from pip._internal.vcs import is_url, vcs - -if MYPY_CHECK_RUNNING: - from typing import ( - Callable, Iterable, List, MutableMapping, Optional, Sequence, Tuple, - Union, - ) - import xml.etree.ElementTree - - from pip._vendor.requests import Response - - from pip._internal.models.search_scope import SearchScope - from pip._internal.network.session import PipSession - - HTMLElement = xml.etree.ElementTree.Element - ResponseHeaders = MutableMapping[str, str] - - -logger = logging.getLogger(__name__) - - -def _match_vcs_scheme(url): - # type: (str) -> Optional[str] - """Look for VCS schemes in the URL. - - Returns the matched VCS scheme, or None if there's no match. - """ - for scheme in vcs.schemes: - if url.lower().startswith(scheme) and url[len(scheme)] in '+:': - return scheme - return None - - -def _is_url_like_archive(url): - # type: (str) -> bool - """Return whether the URL looks like an archive. - """ - filename = Link(url).filename - for bad_ext in ARCHIVE_EXTENSIONS: - if filename.endswith(bad_ext): - return True - return False - - -class _NotHTML(Exception): - def __init__(self, content_type, request_desc): - # type: (str, str) -> None - super(_NotHTML, self).__init__(content_type, request_desc) - self.content_type = content_type - self.request_desc = request_desc - - -def _ensure_html_header(response): - # type: (Response) -> None - """Check the Content-Type header to ensure the response contains HTML. - - Raises `_NotHTML` if the content type is not text/html. - """ - content_type = response.headers.get("Content-Type", "") - if not content_type.lower().startswith("text/html"): - raise _NotHTML(content_type, response.request.method) - - -class _NotHTTP(Exception): - pass - - -def _ensure_html_response(url, session): - # type: (str, PipSession) -> None - """Send a HEAD request to the URL, and ensure the response contains HTML. - - Raises `_NotHTTP` if the URL is not available for a HEAD request, or - `_NotHTML` if the content type is not text/html. - """ - scheme, netloc, path, query, fragment = urllib_parse.urlsplit(url) - if scheme not in {'http', 'https'}: - raise _NotHTTP() - - resp = session.head(url, allow_redirects=True) - resp.raise_for_status() - - _ensure_html_header(resp) - - -def _get_html_response(url, session): - # type: (str, PipSession) -> Response - """Access an HTML page with GET, and return the response. - - This consists of three parts: - - 1. If the URL looks suspiciously like an archive, send a HEAD first to - check the Content-Type is HTML, to avoid downloading a large file. - Raise `_NotHTTP` if the content type cannot be determined, or - `_NotHTML` if it is not HTML. - 2. Actually perform the request. Raise HTTP exceptions on network failures. - 3. Check the Content-Type header to make sure we got HTML, and raise - `_NotHTML` otherwise. - """ - if _is_url_like_archive(url): - _ensure_html_response(url, session=session) - - logger.debug('Getting page %s', redact_auth_from_url(url)) - - resp = session.get( - url, - headers={ - "Accept": "text/html", - # We don't want to blindly returned cached data for - # /simple/, because authors generally expecting that - # twine upload && pip install will function, but if - # they've done a pip install in the last ~10 minutes - # it won't. Thus by setting this to zero we will not - # blindly use any cached data, however the benefit of - # using max-age=0 instead of no-cache, is that we will - # still support conditional requests, so we will still - # minimize traffic sent in cases where the page hasn't - # changed at all, we will just always incur the round - # trip for the conditional GET now instead of only - # once per 10 minutes. - # For more information, please see pypa/pip#5670. - "Cache-Control": "max-age=0", - }, - ) - resp.raise_for_status() - - # The check for archives above only works if the url ends with - # something that looks like an archive. However that is not a - # requirement of an url. Unless we issue a HEAD request on every - # url we cannot know ahead of time for sure if something is HTML - # or not. However we can check after we've downloaded it. - _ensure_html_header(resp) - - return resp - - -def _get_encoding_from_headers(headers): - # type: (ResponseHeaders) -> Optional[str] - """Determine if we have any encoding information in our headers. - """ - if headers and "Content-Type" in headers: - content_type, params = cgi.parse_header(headers["Content-Type"]) - if "charset" in params: - return params['charset'] - return None - - -def _determine_base_url(document, page_url): - # type: (HTMLElement, str) -> str - """Determine the HTML document's base URL. - - This looks for a ``<base>`` tag in the HTML document. If present, its href - attribute denotes the base URL of anchor tags in the document. If there is - no such tag (or if it does not have a valid href attribute), the HTML - file's URL is used as the base URL. - - :param document: An HTML document representation. The current - implementation expects the result of ``html5lib.parse()``. - :param page_url: The URL of the HTML document. - """ - for base in document.findall(".//base"): - href = base.get("href") - if href is not None: - return href - return page_url - - -def _clean_link(url): - # type: (str) -> str - """Makes sure a link is fully encoded. That is, if a ' ' shows up in - the link, it will be rewritten to %20 (while not over-quoting - % or other characters).""" - # Split the URL into parts according to the general structure - # `scheme://netloc/path;parameters?query#fragment`. Note that the - # `netloc` can be empty and the URI will then refer to a local - # filesystem path. - result = urllib_parse.urlparse(url) - # In both cases below we unquote prior to quoting to make sure - # nothing is double quoted. - if result.netloc == "": - # On Windows the path part might contain a drive letter which - # should not be quoted. On Linux where drive letters do not - # exist, the colon should be quoted. We rely on urllib.request - # to do the right thing here. - path = urllib_request.pathname2url( - urllib_request.url2pathname(result.path)) - else: - # In addition to the `/` character we protect `@` so that - # revision strings in VCS URLs are properly parsed. - path = urllib_parse.quote(urllib_parse.unquote(result.path), safe="/@") - return urllib_parse.urlunparse(result._replace(path=path)) - - -def _create_link_from_element( - anchor, # type: HTMLElement - page_url, # type: str - base_url, # type: str -): - # type: (...) -> Optional[Link] - """ - Convert an anchor element in a simple repository page to a Link. - """ - href = anchor.get("href") - if not href: - return None - - url = _clean_link(urllib_parse.urljoin(base_url, href)) - pyrequire = anchor.get('data-requires-python') - pyrequire = unescape(pyrequire) if pyrequire else None - - yanked_reason = anchor.get('data-yanked') - if yanked_reason: - # This is a unicode string in Python 2 (and 3). - yanked_reason = unescape(yanked_reason) - - link = Link( - url, - comes_from=page_url, - requires_python=pyrequire, - yanked_reason=yanked_reason, - ) - - return link - - -def parse_links(page): - # type: (HTMLPage) -> Iterable[Link] - """ - Parse an HTML document, and yield its anchor elements as Link objects. - """ - document = html5lib.parse( - page.content, - transport_encoding=page.encoding, - namespaceHTMLElements=False, - ) - - url = page.url - base_url = _determine_base_url(document, url) - for anchor in document.findall(".//a"): - link = _create_link_from_element( - anchor, - page_url=url, - base_url=base_url, - ) - if link is None: - continue - yield link - - -class HTMLPage(object): - """Represents one page, along with its URL""" - - def __init__( - self, - content, # type: bytes - encoding, # type: Optional[str] - url, # type: str - ): - # type: (...) -> None - """ - :param encoding: the encoding to decode the given content. - :param url: the URL from which the HTML was downloaded. - """ - self.content = content - self.encoding = encoding - self.url = url - - def __str__(self): - # type: () -> str - return redact_auth_from_url(self.url) - - -def _handle_get_page_fail( - link, # type: Link - reason, # type: Union[str, Exception] - meth=None # type: Optional[Callable[..., None]] -): - # type: (...) -> None - if meth is None: - meth = logger.debug - meth("Could not fetch URL %s: %s - skipping", link, reason) - - -def _make_html_page(response): - # type: (Response) -> HTMLPage - encoding = _get_encoding_from_headers(response.headers) - return HTMLPage(response.content, encoding=encoding, url=response.url) - - -def _get_html_page(link, session=None): - # type: (Link, Optional[PipSession]) -> Optional[HTMLPage] - if session is None: - raise TypeError( - "_get_html_page() missing 1 required keyword argument: 'session'" - ) - - url = link.url.split('#', 1)[0] - - # Check for VCS schemes that do not support lookup as web pages. - vcs_scheme = _match_vcs_scheme(url) - if vcs_scheme: - logger.debug('Cannot look at %s URL %s', vcs_scheme, link) - return None - - # Tack index.html onto file:// URLs that point to directories - scheme, _, path, _, _, _ = urllib_parse.urlparse(url) - if (scheme == 'file' and os.path.isdir(urllib_request.url2pathname(path))): - # add trailing slash if not present so urljoin doesn't trim - # final segment - if not url.endswith('/'): - url += '/' - url = urllib_parse.urljoin(url, 'index.html') - logger.debug(' file: URL is directory, getting %s', url) - - try: - resp = _get_html_response(url, session=session) - except _NotHTTP: - logger.debug( - 'Skipping page %s because it looks like an archive, and cannot ' - 'be checked by HEAD.', link, - ) - except _NotHTML as exc: - logger.debug( - 'Skipping page %s because the %s request got Content-Type: %s', - link, exc.request_desc, exc.content_type, - ) - except HTTPError as exc: - _handle_get_page_fail(link, exc) - except RetryError as exc: - _handle_get_page_fail(link, exc) - except SSLError as exc: - reason = "There was a problem confirming the ssl certificate: " - reason += str(exc) - _handle_get_page_fail(link, reason, meth=logger.info) - except requests.ConnectionError as exc: - _handle_get_page_fail(link, "connection error: %s" % exc) - except requests.Timeout: - _handle_get_page_fail(link, "timed out") - else: - return _make_html_page(resp) - return None - - -def _remove_duplicate_links(links): - # type: (Iterable[Link]) -> List[Link] - """ - Return a list of links, with duplicates removed and ordering preserved. - """ - # We preserve the ordering when removing duplicates because we can. - return list(OrderedDict.fromkeys(links)) - - -def group_locations(locations, expand_dir=False): - # type: (Sequence[str], bool) -> Tuple[List[str], List[str]] - """ - Divide a list of locations into two groups: "files" (archives) and "urls." - - :return: A pair of lists (files, urls). - """ - files = [] - urls = [] - - # puts the url for the given file path into the appropriate list - def sort_path(path): - # type: (str) -> None - url = path_to_url(path) - if mimetypes.guess_type(url, strict=False)[0] == 'text/html': - urls.append(url) - else: - files.append(url) - - for url in locations: - - is_local_path = os.path.exists(url) - is_file_url = url.startswith('file:') - - if is_local_path or is_file_url: - if is_local_path: - path = url - else: - path = url_to_path(url) - if os.path.isdir(path): - if expand_dir: - path = os.path.realpath(path) - for item in os.listdir(path): - sort_path(os.path.join(path, item)) - elif is_file_url: - urls.append(url) - else: - logger.warning( - "Path '{0}' is ignored: " - "it is a directory.".format(path), - ) - elif os.path.isfile(path): - sort_path(path) - else: - logger.warning( - "Url '%s' is ignored: it is neither a file " - "nor a directory.", url, - ) - elif is_url(url): - # Only add url with clear scheme - urls.append(url) - else: - logger.warning( - "Url '%s' is ignored. It is either a non-existing " - "path or lacks a specific scheme.", url, - ) - - return files, urls - - -class CollectedLinks(object): - - """ - Encapsulates the return value of a call to LinkCollector.collect_links(). - - The return value includes both URLs to project pages containing package - links, as well as individual package Link objects collected from other - sources. - - This info is stored separately as: - - (1) links from the configured file locations, - (2) links from the configured find_links, and - (3) urls to HTML project pages, as described by the PEP 503 simple - repository API. - """ - - def __init__( - self, - files, # type: List[Link] - find_links, # type: List[Link] - project_urls, # type: List[Link] - ): - # type: (...) -> None - """ - :param files: Links from file locations. - :param find_links: Links from find_links. - :param project_urls: URLs to HTML project pages, as described by - the PEP 503 simple repository API. - """ - self.files = files - self.find_links = find_links - self.project_urls = project_urls - - -class LinkCollector(object): - - """ - Responsible for collecting Link objects from all configured locations, - making network requests as needed. - - The class's main method is its collect_links() method. - """ - - def __init__( - self, - session, # type: PipSession - search_scope, # type: SearchScope - ): - # type: (...) -> None - self.search_scope = search_scope - self.session = session - - @property - def find_links(self): - # type: () -> List[str] - return self.search_scope.find_links - - def fetch_page(self, location): - # type: (Link) -> Optional[HTMLPage] - """ - Fetch an HTML page containing package links. - """ - return _get_html_page(location, session=self.session) - - def collect_links(self, project_name): - # type: (str) -> CollectedLinks - """Find all available links for the given project name. - - :return: All the Link objects (unfiltered), as a CollectedLinks object. - """ - search_scope = self.search_scope - index_locations = search_scope.get_index_urls_locations(project_name) - index_file_loc, index_url_loc = group_locations(index_locations) - fl_file_loc, fl_url_loc = group_locations( - self.find_links, expand_dir=True, - ) - - file_links = [ - Link(url) for url in itertools.chain(index_file_loc, fl_file_loc) - ] - - # We trust every directly linked archive in find_links - find_link_links = [Link(url, '-f') for url in self.find_links] - - # We trust every url that the user has given us whether it was given - # via --index-url or --find-links. - # We want to filter out anything that does not have a secure origin. - url_locations = [ - link for link in itertools.chain( - (Link(url) for url in index_url_loc), - (Link(url) for url in fl_url_loc), - ) - if self.session.is_secure_origin(link) - ] - - url_locations = _remove_duplicate_links(url_locations) - lines = [ - '{} location(s) to search for versions of {}:'.format( - len(url_locations), project_name, - ), - ] - for link in url_locations: - lines.append('* {}'.format(link)) - logger.debug('\n'.join(lines)) - - return CollectedLinks( - files=file_links, - find_links=find_link_links, - project_urls=url_locations, - ) diff --git a/.venv/lib/python3.8/site-packages/pip/_internal/index/package_finder.py b/.venv/lib/python3.8/site-packages/pip/_internal/index/package_finder.py deleted file mode 100644 index a74d78d..0000000 --- a/.venv/lib/python3.8/site-packages/pip/_internal/index/package_finder.py +++ /dev/null @@ -1,1013 +0,0 @@ -"""Routines related to PyPI, indexes""" - -# The following comment should be removed at some point in the future. -# mypy: strict-optional=False - -from __future__ import absolute_import - -import logging -import re - -from pip._vendor.packaging import specifiers -from pip._vendor.packaging.utils import canonicalize_name -from pip._vendor.packaging.version import parse as parse_version - -from pip._internal.exceptions import ( - BestVersionAlreadyInstalled, - DistributionNotFound, - InvalidWheelFilename, - UnsupportedWheel, -) -from pip._internal.index.collector import parse_links -from pip._internal.models.candidate import InstallationCandidate -from pip._internal.models.format_control import FormatControl -from pip._internal.models.link import Link -from pip._internal.models.selection_prefs import SelectionPreferences -from pip._internal.models.target_python import TargetPython -from pip._internal.models.wheel import Wheel -from pip._internal.utils.filetypes import WHEEL_EXTENSION -from pip._internal.utils.logging import indent_log -from pip._internal.utils.misc import build_netloc -from pip._internal.utils.packaging import check_requires_python -from pip._internal.utils.typing import MYPY_CHECK_RUNNING -from pip._internal.utils.unpacking import SUPPORTED_EXTENSIONS -from pip._internal.utils.urls import url_to_path - -if MYPY_CHECK_RUNNING: - from typing import ( - FrozenSet, Iterable, List, Optional, Set, Text, Tuple, Union, - ) - - from pip._vendor.packaging.tags import Tag - from pip._vendor.packaging.version import _BaseVersion - - from pip._internal.index.collector import LinkCollector - from pip._internal.models.search_scope import SearchScope - from pip._internal.req import InstallRequirement - from pip._internal.utils.hashes import Hashes - - BuildTag = Union[Tuple[()], Tuple[int, str]] - CandidateSortingKey = ( - Tuple[int, int, int, _BaseVersion, BuildTag, Optional[int]] - ) - - -__all__ = ['FormatControl', 'BestCandidateResult', 'PackageFinder'] - - -logger = logging.getLogger(__name__) - - -def _check_link_requires_python( - link, # type: Link - version_info, # type: Tuple[int, int, int] - ignore_requires_python=False, # type: bool -): - # type: (...) -> bool - """ - Return whether the given Python version is compatible with a link's - "Requires-Python" value. - - :param version_info: A 3-tuple of ints representing the Python - major-minor-micro version to check. - :param ignore_requires_python: Whether to ignore the "Requires-Python" - value if the given Python version isn't compatible. - """ - try: - is_compatible = check_requires_python( - link.requires_python, version_info=version_info, - ) - except specifiers.InvalidSpecifier: - logger.debug( - "Ignoring invalid Requires-Python (%r) for link: %s", - link.requires_python, link, - ) - else: - if not is_compatible: - version = '.'.join(map(str, version_info)) - if not ignore_requires_python: - logger.debug( - 'Link requires a different Python (%s not in: %r): %s', - version, link.requires_python, link, - ) - return False - - logger.debug( - 'Ignoring failed Requires-Python check (%s not in: %r) ' - 'for link: %s', - version, link.requires_python, link, - ) - - return True - - -class LinkEvaluator(object): - - """ - Responsible for evaluating links for a particular project. - """ - - _py_version_re = re.compile(r'-py([123]\.?[0-9]?)$') - - # Don't include an allow_yanked default value to make sure each call - # site considers whether yanked releases are allowed. This also causes - # that decision to be made explicit in the calling code, which helps - # people when reading the code. - def __init__( - self, - project_name, # type: str - canonical_name, # type: str - formats, # type: FrozenSet[str] - target_python, # type: TargetPython - allow_yanked, # type: bool - ignore_requires_python=None, # type: Optional[bool] - ): - # type: (...) -> None - """ - :param project_name: The user supplied package name. - :param canonical_name: The canonical package name. - :param formats: The formats allowed for this package. Should be a set - with 'binary' or 'source' or both in it. - :param target_python: The target Python interpreter to use when - evaluating link compatibility. This is used, for example, to - check wheel compatibility, as well as when checking the Python - version, e.g. the Python version embedded in a link filename - (or egg fragment) and against an HTML link's optional PEP 503 - "data-requires-python" attribute. - :param allow_yanked: Whether files marked as yanked (in the sense - of PEP 592) are permitted to be candidates for install. - :param ignore_requires_python: Whether to ignore incompatible - PEP 503 "data-requires-python" values in HTML links. Defaults - to False. - """ - if ignore_requires_python is None: - ignore_requires_python = False - - self._allow_yanked = allow_yanked - self._canonical_name = canonical_name - self._ignore_requires_python = ignore_requires_python - self._formats = formats - self._target_python = target_python - - self.project_name = project_name - - def evaluate_link(self, link): - # type: (Link) -> Tuple[bool, Optional[Text]] - """ - Determine whether a link is a candidate for installation. - - :return: A tuple (is_candidate, result), where `result` is (1) a - version string if `is_candidate` is True, and (2) if - `is_candidate` is False, an optional string to log the reason - the link fails to qualify. - """ - version = None - if link.is_yanked and not self._allow_yanked: - reason = link.yanked_reason or '<none given>' - # Mark this as a unicode string to prevent "UnicodeEncodeError: - # 'ascii' codec can't encode character" in Python 2 when - # the reason contains non-ascii characters. - return (False, u'yanked for reason: {}'.format(reason)) - - if link.egg_fragment: - egg_info = link.egg_fragment - ext = link.ext - else: - egg_info, ext = link.splitext() - if not ext: - return (False, 'not a file') - if ext not in SUPPORTED_EXTENSIONS: - return (False, 'unsupported archive format: %s' % ext) - if "binary" not in self._formats and ext == WHEEL_EXTENSION: - reason = 'No binaries permitted for %s' % self.project_name - return (False, reason) - if "macosx10" in link.path and ext == '.zip': - return (False, 'macosx10 one') - if ext == WHEEL_EXTENSION: - try: - wheel = Wheel(link.filename) - except InvalidWheelFilename: - return (False, 'invalid wheel filename') - if canonicalize_name(wheel.name) != self._canonical_name: - reason = 'wrong project name (not %s)' % self.project_name - return (False, reason) - - supported_tags = self._target_python.get_tags() - if not wheel.supported(supported_tags): - # Include the wheel's tags in the reason string to - # simplify troubleshooting compatibility issues. - file_tags = wheel.get_formatted_file_tags() - reason = ( - "none of the wheel's tags match: {}".format( - ', '.join(file_tags) - ) - ) - return (False, reason) - - version = wheel.version - - # This should be up by the self.ok_binary check, but see issue 2700. - if "source" not in self._formats and ext != WHEEL_EXTENSION: - return (False, 'No sources permitted for %s' % self.project_name) - - if not version: - version = _extract_version_from_fragment( - egg_info, self._canonical_name, - ) - if not version: - return ( - False, 'Missing project version for %s' % self.project_name, - ) - - match = self._py_version_re.search(version) - if match: - version = version[:match.start()] - py_version = match.group(1) - if py_version != self._target_python.py_version: - return (False, 'Python version is incorrect') - - supports_python = _check_link_requires_python( - link, version_info=self._target_python.py_version_info, - ignore_requires_python=self._ignore_requires_python, - ) - if not supports_python: - # Return None for the reason text to suppress calling - # _log_skipped_link(). - return (False, None) - - logger.debug('Found link %s, version: %s', link, version) - - return (True, version) - - -def filter_unallowed_hashes( - candidates, # type: List[InstallationCandidate] - hashes, # type: Hashes - project_name, # type: str -): - # type: (...) -> List[InstallationCandidate] - """ - Filter out candidates whose hashes aren't allowed, and return a new - list of candidates. - - If at least one candidate has an allowed hash, then all candidates with - either an allowed hash or no hash specified are returned. Otherwise, - the given candidates are returned. - - Including the candidates with no hash specified when there is a match - allows a warning to be logged if there is a more preferred candidate - with no hash specified. Returning all candidates in the case of no - matches lets pip report the hash of the candidate that would otherwise - have been installed (e.g. permitting the user to more easily update - their requirements file with the desired hash). - """ - if not hashes: - logger.debug( - 'Given no hashes to check %s links for project %r: ' - 'discarding no candidates', - len(candidates), - project_name, - ) - # Make sure we're not returning back the given value. - return list(candidates) - - matches_or_no_digest = [] - # Collect the non-matches for logging purposes. - non_matches = [] - match_count = 0 - for candidate in candidates: - link = candidate.link - if not link.has_hash: - pass - elif link.is_hash_allowed(hashes=hashes): - match_count += 1 - else: - non_matches.append(candidate) - continue - - matches_or_no_digest.append(candidate) - - if match_count: - filtered = matches_or_no_digest - else: - # Make sure we're not returning back the given value. - filtered = list(candidates) - - if len(filtered) == len(candidates): - discard_message = 'discarding no candidates' - else: - discard_message = 'discarding {} non-matches:\n {}'.format( - len(non_matches), - '\n '.join(str(candidate.link) for candidate in non_matches) - ) - - logger.debug( - 'Checked %s links for project %r against %s hashes ' - '(%s matches, %s no digest): %s', - len(candidates), - project_name, - hashes.digest_count, - match_count, - len(matches_or_no_digest) - match_count, - discard_message - ) - - return filtered - - -class CandidatePreferences(object): - - """ - Encapsulates some of the preferences for filtering and sorting - InstallationCandidate objects. - """ - - def __init__( - self, - prefer_binary=False, # type: bool - allow_all_prereleases=False, # type: bool - ): - # type: (...) -> None - """ - :param allow_all_prereleases: Whether to allow all pre-releases. - """ - self.allow_all_prereleases = allow_all_prereleases - self.prefer_binary = prefer_binary - - -class BestCandidateResult(object): - """A collection of candidates, returned by `PackageFinder.find_best_candidate`. - - This class is only intended to be instantiated by CandidateEvaluator's - `compute_best_candidate()` method. - """ - - def __init__( - self, - candidates, # type: List[InstallationCandidate] - applicable_candidates, # type: List[InstallationCandidate] - best_candidate, # type: Optional[InstallationCandidate] - ): - # type: (...) -> None - """ - :param candidates: A sequence of all available candidates found. - :param applicable_candidates: The applicable candidates. - :param best_candidate: The most preferred candidate found, or None - if no applicable candidates were found. - """ - assert set(applicable_candidates) <= set(candidates) - - if best_candidate is None: - assert not applicable_candidates - else: - assert best_candidate in applicable_candidates - - self._applicable_candidates = applicable_candidates - self._candidates = candidates - - self.best_candidate = best_candidate - - def iter_all(self): - # type: () -> Iterable[InstallationCandidate] - """Iterate through all candidates. - """ - return iter(self._candidates) - - def iter_applicable(self): - # type: () -> Iterable[InstallationCandidate] - """Iterate through the applicable candidates. - """ - return iter(self._applicable_candidates) - - -class CandidateEvaluator(object): - - """ - Responsible for filtering and sorting candidates for installation based - on what tags are valid. - """ - - @classmethod - def create( - cls, - project_name, # type: str - target_python=None, # type: Optional[TargetPython] - prefer_binary=False, # type: bool - allow_all_prereleases=False, # type: bool - specifier=None, # type: Optional[specifiers.BaseSpecifier] - hashes=None, # type: Optional[Hashes] - ): - # type: (...) -> CandidateEvaluator - """Create a CandidateEvaluator object. - - :param target_python: The target Python interpreter to use when - checking compatibility. If None (the default), a TargetPython - object will be constructed from the running Python. - :param specifier: An optional object implementing `filter` - (e.g. `packaging.specifiers.SpecifierSet`) to filter applicable - versions. - :param hashes: An optional collection of allowed hashes. - """ - if target_python is None: - target_python = TargetPython() - if specifier is None: - specifier = specifiers.SpecifierSet() - - supported_tags = target_python.get_tags() - - return cls( - project_name=project_name, - supported_tags=supported_tags, - specifier=specifier, - prefer_binary=prefer_binary, - allow_all_prereleases=allow_all_prereleases, - hashes=hashes, - ) - - def __init__( - self, - project_name, # type: str - supported_tags, # type: List[Tag] - specifier, # type: specifiers.BaseSpecifier - prefer_binary=False, # type: bool - allow_all_prereleases=False, # type: bool - hashes=None, # type: Optional[Hashes] - ): - # type: (...) -> None - """ - :param supported_tags: The PEP 425 tags supported by the target - Python in order of preference (most preferred first). - """ - self._allow_all_prereleases = allow_all_prereleases - self._hashes = hashes - self._prefer_binary = prefer_binary - self._project_name = project_name - self._specifier = specifier - self._supported_tags = supported_tags - - def get_applicable_candidates( - self, - candidates, # type: List[InstallationCandidate] - ): - # type: (...) -> List[InstallationCandidate] - """ - Return the applicable candidates from a list of candidates. - """ - # Using None infers from the specifier instead. - allow_prereleases = self._allow_all_prereleases or None - specifier = self._specifier - versions = { - str(v) for v in specifier.filter( - # We turn the version object into a str here because otherwise - # when we're debundled but setuptools isn't, Python will see - # packaging.version.Version and - # pkg_resources._vendor.packaging.version.Version as different - # types. This way we'll use a str as a common data interchange - # format. If we stop using the pkg_resources provided specifier - # and start using our own, we can drop the cast to str(). - (str(c.version) for c in candidates), - prereleases=allow_prereleases, - ) - } - - # Again, converting version to str to deal with debundling. - applicable_candidates = [ - c for c in candidates if str(c.version) in versions - ] - - filtered_applicable_candidates = filter_unallowed_hashes( - candidates=applicable_candidates, - hashes=self._hashes, - project_name=self._project_name, - ) - - return sorted(filtered_applicable_candidates, key=self._sort_key) - - def _sort_key(self, candidate): - # type: (InstallationCandidate) -> CandidateSortingKey - """ - Function to pass as the `key` argument to a call to sorted() to sort - InstallationCandidates by preference. - - Returns a tuple such that tuples sorting as greater using Python's - default comparison operator are more preferred. - - The preference is as follows: - - First and foremost, candidates with allowed (matching) hashes are - always preferred over candidates without matching hashes. This is - because e.g. if the only candidate with an allowed hash is yanked, - we still want to use that candidate. - - Second, excepting hash considerations, candidates that have been - yanked (in the sense of PEP 592) are always less preferred than - candidates that haven't been yanked. Then: - - If not finding wheels, they are sorted by version only. - If finding wheels, then the sort order is by version, then: - 1. existing installs - 2. wheels ordered via Wheel.support_index_min(self._supported_tags) - 3. source archives - If prefer_binary was set, then all wheels are sorted above sources. - - Note: it was considered to embed this logic into the Link - comparison operators, but then different sdist links - with the same version, would have to be considered equal - """ - valid_tags = self._supported_tags - support_num = len(valid_tags) - build_tag = () # type: BuildTag - binary_preference = 0 - link = candidate.link - if link.is_wheel: - # can raise InvalidWheelFilename - wheel = Wheel(link.filename) - if not wheel.supported(valid_tags): - raise UnsupportedWheel( - "%s is not a supported wheel for this platform. It " - "can't be sorted." % wheel.filename - ) - if self._prefer_binary: - binary_preference = 1 - pri = -(wheel.support_index_min(valid_tags)) - if wheel.build_tag is not None: - match = re.match(r'^(\d+)(.*)$', wheel.build_tag) - build_tag_groups = match.groups() - build_tag = (int(build_tag_groups[0]), build_tag_groups[1]) - else: # sdist - pri = -(support_num) - has_allowed_hash = int(link.is_hash_allowed(self._hashes)) - yank_value = -1 * int(link.is_yanked) # -1 for yanked. - return ( - has_allowed_hash, yank_value, binary_preference, candidate.version, - build_tag, pri, - ) - - def sort_best_candidate( - self, - candidates, # type: List[InstallationCandidate] - ): - # type: (...) -> Optional[InstallationCandidate] - """ - Return the best candidate per the instance's sort order, or None if - no candidate is acceptable. - """ - if not candidates: - return None - - best_candidate = max(candidates, key=self._sort_key) - - # Log a warning per PEP 592 if necessary before returning. - link = best_candidate.link - if link.is_yanked: - reason = link.yanked_reason or '<none given>' - msg = ( - # Mark this as a unicode string to prevent - # "UnicodeEncodeError: 'ascii' codec can't encode character" - # in Python 2 when the reason contains non-ascii characters. - u'The candidate selected for download or install is a ' - 'yanked version: {candidate}\n' - 'Reason for being yanked: {reason}' - ).format(candidate=best_candidate, reason=reason) - logger.warning(msg) - - return best_candidate - - def compute_best_candidate( - self, - candidates, # type: List[InstallationCandidate] - ): - # type: (...) -> BestCandidateResult - """ - Compute and return a `BestCandidateResult` instance. - """ - applicable_candidates = self.get_applicable_candidates(candidates) - - best_candidate = self.sort_best_candidate(applicable_candidates) - - return BestCandidateResult( - candidates, - applicable_candidates=applicable_candidates, - best_candidate=best_candidate, - ) - - -class PackageFinder(object): - """This finds packages. - - This is meant to match easy_install's technique for looking for - packages, by reading pages and looking for appropriate links. - """ - - def __init__( - self, - link_collector, # type: LinkCollector - target_python, # type: TargetPython - allow_yanked, # type: bool - format_control=None, # type: Optional[FormatControl] - candidate_prefs=None, # type: CandidatePreferences - ignore_requires_python=None, # type: Optional[bool] - ): - # type: (...) -> None - """ - This constructor is primarily meant to be used by the create() class - method and from tests. - - :param format_control: A FormatControl object, used to control - the selection of source packages / binary packages when consulting - the index and links. - :param candidate_prefs: Options to use when creating a - CandidateEvaluator object. - """ - if candidate_prefs is None: - candidate_prefs = CandidatePreferences() - - format_control = format_control or FormatControl(set(), set()) - - self._allow_yanked = allow_yanked - self._candidate_prefs = candidate_prefs - self._ignore_requires_python = ignore_requires_python - self._link_collector = link_collector - self._target_python = target_python - - self.format_control = format_control - - # These are boring links that have already been logged somehow. - self._logged_links = set() # type: Set[Link] - - # Don't include an allow_yanked default value to make sure each call - # site considers whether yanked releases are allowed. This also causes - # that decision to be made explicit in the calling code, which helps - # people when reading the code. - @classmethod - def create( - cls, - link_collector, # type: LinkCollector - selection_prefs, # type: SelectionPreferences - target_python=None, # type: Optional[TargetPython] - ): - # type: (...) -> PackageFinder - """Create a PackageFinder. - - :param selection_prefs: The candidate selection preferences, as a - SelectionPreferences object. - :param target_python: The target Python interpreter to use when - checking compatibility. If None (the default), a TargetPython - object will be constructed from the running Python. - """ - if target_python is None: - target_python = TargetPython() - - candidate_prefs = CandidatePreferences( - prefer_binary=selection_prefs.prefer_binary, - allow_all_prereleases=selection_prefs.allow_all_prereleases, - ) - - return cls( - candidate_prefs=candidate_prefs, - link_collector=link_collector, - target_python=target_python, - allow_yanked=selection_prefs.allow_yanked, - format_control=selection_prefs.format_control, - ignore_requires_python=selection_prefs.ignore_requires_python, - ) - - @property - def search_scope(self): - # type: () -> SearchScope - return self._link_collector.search_scope - - @search_scope.setter - def search_scope(self, search_scope): - # type: (SearchScope) -> None - self._link_collector.search_scope = search_scope - - @property - def find_links(self): - # type: () -> List[str] - return self._link_collector.find_links - - @property - def index_urls(self): - # type: () -> List[str] - return self.search_scope.index_urls - - @property - def trusted_hosts(self): - # type: () -> Iterable[str] - for host_port in self._link_collector.session.pip_trusted_origins: - yield build_netloc(*host_port) - - @property - def allow_all_prereleases(self): - # type: () -> bool - return self._candidate_prefs.allow_all_prereleases - - def set_allow_all_prereleases(self): - # type: () -> None - self._candidate_prefs.allow_all_prereleases = True - - def make_link_evaluator(self, project_name): - # type: (str) -> LinkEvaluator - canonical_name = canonicalize_name(project_name) - formats = self.format_control.get_allowed_formats(canonical_name) - - return LinkEvaluator( - project_name=project_name, - canonical_name=canonical_name, - formats=formats, - target_python=self._target_python, - allow_yanked=self._allow_yanked, - ignore_requires_python=self._ignore_requires_python, - ) - - def _sort_links(self, links): - # type: (Iterable[Link]) -> List[Link] - """ - Returns elements of links in order, non-egg links first, egg links - second, while eliminating duplicates - """ - eggs, no_eggs = [], [] - seen = set() # type: Set[Link] - for link in links: - if link not in seen: - seen.add(link) - if link.egg_fragment: - eggs.append(link) - else: - no_eggs.append(link) - return no_eggs + eggs - - def _log_skipped_link(self, link, reason): - # type: (Link, Text) -> None - if link not in self._logged_links: - # Mark this as a unicode string to prevent "UnicodeEncodeError: - # 'ascii' codec can't encode character" in Python 2 when - # the reason contains non-ascii characters. - # Also, put the link at the end so the reason is more visible - # and because the link string is usually very long. - logger.debug(u'Skipping link: %s: %s', reason, link) - self._logged_links.add(link) - - def get_install_candidate(self, link_evaluator, link): - # type: (LinkEvaluator, Link) -> Optional[InstallationCandidate] - """ - If the link is a candidate for install, convert it to an - InstallationCandidate and return it. Otherwise, return None. - """ - is_candidate, result = link_evaluator.evaluate_link(link) - if not is_candidate: - if result: - self._log_skipped_link(link, reason=result) - return None - - return InstallationCandidate( - name=link_evaluator.project_name, - link=link, - # Convert the Text result to str since InstallationCandidate - # accepts str. - version=str(result), - ) - - def evaluate_links(self, link_evaluator, links): - # type: (LinkEvaluator, Iterable[Link]) -> List[InstallationCandidate] - """ - Convert links that are candidates to InstallationCandidate objects. - """ - candidates = [] - for link in self._sort_links(links): - candidate = self.get_install_candidate(link_evaluator, link) - if candidate is not None: - candidates.append(candidate) - - return candidates - - def process_project_url(self, project_url, link_evaluator): - # type: (Link, LinkEvaluator) -> List[InstallationCandidate] - logger.debug( - 'Fetching project page and analyzing links: %s', project_url, - ) - html_page = self._link_collector.fetch_page(project_url) - if html_page is None: - return [] - - page_links = list(parse_links(html_page)) - - with indent_log(): - package_links = self.evaluate_links( - link_evaluator, - links=page_links, - ) - - return package_links - - def find_all_candidates(self, project_name): - # type: (str) -> List[InstallationCandidate] - """Find all available InstallationCandidate for project_name - - This checks index_urls and find_links. - All versions found are returned as an InstallationCandidate list. - - See LinkEvaluator.evaluate_link() for details on which files - are accepted. - """ - collected_links = self._link_collector.collect_links(project_name) - - link_evaluator = self.make_link_evaluator(project_name) - - find_links_versions = self.evaluate_links( - link_evaluator, - links=collected_links.find_links, - ) - - page_versions = [] - for project_url in collected_links.project_urls: - package_links = self.process_project_url( - project_url, link_evaluator=link_evaluator, - ) - page_versions.extend(package_links) - - file_versions = self.evaluate_links( - link_evaluator, - links=collected_links.files, - ) - if file_versions: - file_versions.sort(reverse=True) - logger.debug( - 'Local files found: %s', - ', '.join([ - url_to_path(candidate.link.url) - for candidate in file_versions - ]) - ) - - # This is an intentional priority ordering - return file_versions + find_links_versions + page_versions - - def make_candidate_evaluator( - self, - project_name, # type: str - specifier=None, # type: Optional[specifiers.BaseSpecifier] - hashes=None, # type: Optional[Hashes] - ): - # type: (...) -> CandidateEvaluator - """Create a CandidateEvaluator object to use. - """ - candidate_prefs = self._candidate_prefs - return CandidateEvaluator.create( - project_name=project_name, - target_python=self._target_python, - prefer_binary=candidate_prefs.prefer_binary, - allow_all_prereleases=candidate_prefs.allow_all_prereleases, - specifier=specifier, - hashes=hashes, - ) - - def find_best_candidate( - self, - project_name, # type: str - specifier=None, # type: Optional[specifiers.BaseSpecifier] - hashes=None, # type: Optional[Hashes] - ): - # type: (...) -> BestCandidateResult - """Find matches for the given project and specifier. - - :param specifier: An optional object implementing `filter` - (e.g. `packaging.specifiers.SpecifierSet`) to filter applicable - versions. - - :return: A `BestCandidateResult` instance. - """ - candidates = self.find_all_candidates(project_name) - candidate_evaluator = self.make_candidate_evaluator( - project_name=project_name, - specifier=specifier, - hashes=hashes, - ) - return candidate_evaluator.compute_best_candidate(candidates) - - def find_requirement(self, req, upgrade): - # type: (InstallRequirement, bool) -> Optional[Link] - """Try to find a Link matching req - - Expects req, an InstallRequirement and upgrade, a boolean - Returns a Link if found, - Raises DistributionNotFound or BestVersionAlreadyInstalled otherwise - """ - hashes = req.hashes(trust_internet=False) - best_candidate_result = self.find_best_candidate( - req.name, specifier=req.specifier, hashes=hashes, - ) - best_candidate = best_candidate_result.best_candidate - - installed_version = None # type: Optional[_BaseVersion] - if req.satisfied_by is not None: - installed_version = parse_version(req.satisfied_by.version) - - def _format_versions(cand_iter): - # type: (Iterable[InstallationCandidate]) -> str - # This repeated parse_version and str() conversion is needed to - # handle different vendoring sources from pip and pkg_resources. - # If we stop using the pkg_resources provided specifier and start - # using our own, we can drop the cast to str(). - return ", ".join(sorted( - {str(c.version) for c in cand_iter}, - key=parse_version, - )) or "none" - - if installed_version is None and best_candidate is None: - logger.critical( - 'Could not find a version that satisfies the requirement %s ' - '(from versions: %s)', - req, - _format_versions(best_candidate_result.iter_all()), - ) - - raise DistributionNotFound( - 'No matching distribution found for %s' % req - ) - - best_installed = False - if installed_version and ( - best_candidate is None or - best_candidate.version <= installed_version): - best_installed = True - - if not upgrade and installed_version is not None: - if best_installed: - logger.debug( - 'Existing installed version (%s) is most up-to-date and ' - 'satisfies requirement', - installed_version, - ) - else: - logger.debug( - 'Existing installed version (%s) satisfies requirement ' - '(most up-to-date version is %s)', - installed_version, - best_candidate.version, - ) - return None - - if best_installed: - # We have an existing version, and its the best version - logger.debug( - 'Installed version (%s) is most up-to-date (past versions: ' - '%s)', - installed_version, - _format_versions(best_candidate_result.iter_applicable()), - ) - raise BestVersionAlreadyInstalled - - logger.debug( - 'Using version %s (newest of versions: %s)', - best_candidate.version, - _format_versions(best_candidate_result.iter_applicable()), - ) - return best_candidate.link - - -def _find_name_version_sep(fragment, canonical_name): - # type: (str, str) -> int - """Find the separator's index based on the package's canonical name. - - :param fragment: A <package>+<version> filename "fragment" (stem) or - egg fragment. - :param canonical_name: The package's canonical name. - - This function is needed since the canonicalized name does not necessarily - have the same length as the egg info's name part. An example:: - - >>> fragment = 'foo__bar-1.0' - >>> canonical_name = 'foo-bar' - >>> _find_name_version_sep(fragment, canonical_name) - 8 - """ - # Project name and version must be separated by one single dash. Find all - # occurrences of dashes; if the string in front of it matches the canonical - # name, this is the one separating the name and version parts. - for i, c in enumerate(fragment): - if c != "-": - continue - if canonicalize_name(fragment[:i]) == canonical_name: - return i - raise ValueError("{} does not match {}".format(fragment, canonical_name)) - - -def _extract_version_from_fragment(fragment, canonical_name): - # type: (str, str) -> Optional[str] - """Parse the version string from a <package>+<version> filename - "fragment" (stem) or egg fragment. - - :param fragment: The string to parse. E.g. foo-2.1 - :param canonical_name: The canonicalized name of the package this - belongs to. - """ - try: - version_start = _find_name_version_sep(fragment, canonical_name) + 1 - except ValueError: - return None - version = fragment[version_start:] - if not version: - return None - return version diff --git a/.venv/lib/python3.8/site-packages/pip/_internal/legacy_resolve.py b/.venv/lib/python3.8/site-packages/pip/_internal/legacy_resolve.py deleted file mode 100644 index ca26912..0000000 --- a/.venv/lib/python3.8/site-packages/pip/_internal/legacy_resolve.py +++ /dev/null @@ -1,430 +0,0 @@ -"""Dependency Resolution - -The dependency resolution in pip is performed as follows: - -for top-level requirements: - a. only one spec allowed per project, regardless of conflicts or not. - otherwise a "double requirement" exception is raised - b. they override sub-dependency requirements. -for sub-dependencies - a. "first found, wins" (where the order is breadth first) -""" - -# The following comment should be removed at some point in the future. -# mypy: strict-optional=False -# mypy: disallow-untyped-defs=False - -import logging -import sys -from collections import defaultdict -from itertools import chain - -from pip._vendor.packaging import specifiers - -from pip._internal.exceptions import ( - BestVersionAlreadyInstalled, - DistributionNotFound, - HashError, - HashErrors, - UnsupportedPythonVersion, -) -from pip._internal.utils.logging import indent_log -from pip._internal.utils.misc import dist_in_usersite, normalize_version_info -from pip._internal.utils.packaging import ( - check_requires_python, - get_requires_python, -) -from pip._internal.utils.typing import MYPY_CHECK_RUNNING - -if MYPY_CHECK_RUNNING: - from typing import Callable, DefaultDict, List, Optional, Set, Tuple - from pip._vendor import pkg_resources - - from pip._internal.distributions import AbstractDistribution - from pip._internal.index.package_finder import PackageFinder - from pip._internal.operations.prepare import RequirementPreparer - from pip._internal.req.req_install import InstallRequirement - from pip._internal.req.req_set import RequirementSet - - InstallRequirementProvider = Callable[ - [str, InstallRequirement], InstallRequirement - ] - DiscoveredDependencies = DefaultDict[str, List[InstallRequirement]] - -logger = logging.getLogger(__name__) - - -def _check_dist_requires_python( - dist, # type: pkg_resources.Distribution - version_info, # type: Tuple[int, int, int] - ignore_requires_python=False, # type: bool -): - # type: (...) -> None - """ - Check whether the given Python version is compatible with a distribution's - "Requires-Python" value. - - :param version_info: A 3-tuple of ints representing the Python - major-minor-micro version to check. - :param ignore_requires_python: Whether to ignore the "Requires-Python" - value if the given Python version isn't compatible. - - :raises UnsupportedPythonVersion: When the given Python version isn't - compatible. - """ - requires_python = get_requires_python(dist) - try: - is_compatible = check_requires_python( - requires_python, version_info=version_info, - ) - except specifiers.InvalidSpecifier as exc: - logger.warning( - "Package %r has an invalid Requires-Python: %s", - dist.project_name, exc, - ) - return - - if is_compatible: - return - - version = '.'.join(map(str, version_info)) - if ignore_requires_python: - logger.debug( - 'Ignoring failed Requires-Python check for package %r: ' - '%s not in %r', - dist.project_name, version, requires_python, - ) - return - - raise UnsupportedPythonVersion( - 'Package {!r} requires a different Python: {} not in {!r}'.format( - dist.project_name, version, requires_python, - )) - - -class Resolver(object): - """Resolves which packages need to be installed/uninstalled to perform \ - the requested operation without breaking the requirements of any package. - """ - - _allowed_strategies = {"eager", "only-if-needed", "to-satisfy-only"} - - def __init__( - self, - preparer, # type: RequirementPreparer - finder, # type: PackageFinder - make_install_req, # type: InstallRequirementProvider - use_user_site, # type: bool - ignore_dependencies, # type: bool - ignore_installed, # type: bool - ignore_requires_python, # type: bool - force_reinstall, # type: bool - upgrade_strategy, # type: str - py_version_info=None, # type: Optional[Tuple[int, ...]] - ): - # type: (...) -> None - super(Resolver, self).__init__() - assert upgrade_strategy in self._allowed_strategies - - if py_version_info is None: - py_version_info = sys.version_info[:3] - else: - py_version_info = normalize_version_info(py_version_info) - - self._py_version_info = py_version_info - - self.preparer = preparer - self.finder = finder - - self.upgrade_strategy = upgrade_strategy - self.force_reinstall = force_reinstall - self.ignore_dependencies = ignore_dependencies - self.ignore_installed = ignore_installed - self.ignore_requires_python = ignore_requires_python - self.use_user_site = use_user_site - self._make_install_req = make_install_req - - self._discovered_dependencies = \ - defaultdict(list) # type: DiscoveredDependencies - - def resolve(self, requirement_set): - # type: (RequirementSet) -> None - """Resolve what operations need to be done - - As a side-effect of this method, the packages (and their dependencies) - are downloaded, unpacked and prepared for installation. This - preparation is done by ``pip.operations.prepare``. - - Once PyPI has static dependency metadata available, it would be - possible to move the preparation to become a step separated from - dependency resolution. - """ - # If any top-level requirement has a hash specified, enter - # hash-checking mode, which requires hashes from all. - root_reqs = ( - requirement_set.unnamed_requirements + - list(requirement_set.requirements.values()) - ) - - # Actually prepare the files, and collect any exceptions. Most hash - # exceptions cannot be checked ahead of time, because - # req.populate_link() needs to be called before we can make decisions - # based on link type. - discovered_reqs = [] # type: List[InstallRequirement] - hash_errors = HashErrors() - for req in chain(root_reqs, discovered_reqs): - try: - discovered_reqs.extend(self._resolve_one(requirement_set, req)) - except HashError as exc: - exc.req = req - hash_errors.append(exc) - - if hash_errors: - raise hash_errors - - def _is_upgrade_allowed(self, req): - # type: (InstallRequirement) -> bool - if self.upgrade_strategy == "to-satisfy-only": - return False - elif self.upgrade_strategy == "eager": - return True - else: - assert self.upgrade_strategy == "only-if-needed" - return req.is_direct - - def _set_req_to_reinstall(self, req): - # type: (InstallRequirement) -> None - """ - Set a requirement to be installed. - """ - # Don't uninstall the conflict if doing a user install and the - # conflict is not a user install. - if not self.use_user_site or dist_in_usersite(req.satisfied_by): - req.should_reinstall = True - req.satisfied_by = None - - def _check_skip_installed(self, req_to_install): - # type: (InstallRequirement) -> Optional[str] - """Check if req_to_install should be skipped. - - This will check if the req is installed, and whether we should upgrade - or reinstall it, taking into account all the relevant user options. - - After calling this req_to_install will only have satisfied_by set to - None if the req_to_install is to be upgraded/reinstalled etc. Any - other value will be a dist recording the current thing installed that - satisfies the requirement. - - Note that for vcs urls and the like we can't assess skipping in this - routine - we simply identify that we need to pull the thing down, - then later on it is pulled down and introspected to assess upgrade/ - reinstalls etc. - - :return: A text reason for why it was skipped, or None. - """ - if self.ignore_installed: - return None - - req_to_install.check_if_exists(self.use_user_site) - if not req_to_install.satisfied_by: - return None - - if self.force_reinstall: - self._set_req_to_reinstall(req_to_install) - return None - - if not self._is_upgrade_allowed(req_to_install): - if self.upgrade_strategy == "only-if-needed": - return 'already satisfied, skipping upgrade' - return 'already satisfied' - - # Check for the possibility of an upgrade. For link-based - # requirements we have to pull the tree down and inspect to assess - # the version #, so it's handled way down. - if not req_to_install.link: - try: - self.finder.find_requirement(req_to_install, upgrade=True) - except BestVersionAlreadyInstalled: - # Then the best version is installed. - return 'already up-to-date' - except DistributionNotFound: - # No distribution found, so we squash the error. It will - # be raised later when we re-try later to do the install. - # Why don't we just raise here? - pass - - self._set_req_to_reinstall(req_to_install) - return None - - def _get_abstract_dist_for(self, req): - # type: (InstallRequirement) -> AbstractDistribution - """Takes a InstallRequirement and returns a single AbstractDist \ - representing a prepared variant of the same. - """ - if req.editable: - return self.preparer.prepare_editable_requirement(req) - - # satisfied_by is only evaluated by calling _check_skip_installed, - # so it must be None here. - assert req.satisfied_by is None - skip_reason = self._check_skip_installed(req) - - if req.satisfied_by: - return self.preparer.prepare_installed_requirement( - req, skip_reason - ) - - upgrade_allowed = self._is_upgrade_allowed(req) - - # We eagerly populate the link, since that's our "legacy" behavior. - require_hashes = self.preparer.require_hashes - req.populate_link(self.finder, upgrade_allowed, require_hashes) - abstract_dist = self.preparer.prepare_linked_requirement(req) - - # NOTE - # The following portion is for determining if a certain package is - # going to be re-installed/upgraded or not and reporting to the user. - # This should probably get cleaned up in a future refactor. - - # req.req is only avail after unpack for URL - # pkgs repeat check_if_exists to uninstall-on-upgrade - # (#14) - if not self.ignore_installed: - req.check_if_exists(self.use_user_site) - - if req.satisfied_by: - should_modify = ( - self.upgrade_strategy != "to-satisfy-only" or - self.force_reinstall or - self.ignore_installed or - req.link.scheme == 'file' - ) - if should_modify: - self._set_req_to_reinstall(req) - else: - logger.info( - 'Requirement already satisfied (use --upgrade to upgrade):' - ' %s', req, - ) - - return abstract_dist - - def _resolve_one( - self, - requirement_set, # type: RequirementSet - req_to_install, # type: InstallRequirement - ): - # type: (...) -> List[InstallRequirement] - """Prepare a single requirements file. - - :return: A list of additional InstallRequirements to also install. - """ - # Tell user what we are doing for this requirement: - # obtain (editable), skipping, processing (local url), collecting - # (remote url or package name) - if req_to_install.constraint or req_to_install.prepared: - return [] - - req_to_install.prepared = True - - # register tmp src for cleanup in case something goes wrong - requirement_set.reqs_to_cleanup.append(req_to_install) - - abstract_dist = self._get_abstract_dist_for(req_to_install) - - # Parse and return dependencies - dist = abstract_dist.get_pkg_resources_distribution() - # This will raise UnsupportedPythonVersion if the given Python - # version isn't compatible with the distribution's Requires-Python. - _check_dist_requires_python( - dist, version_info=self._py_version_info, - ignore_requires_python=self.ignore_requires_python, - ) - - more_reqs = [] # type: List[InstallRequirement] - - def add_req(subreq, extras_requested): - sub_install_req = self._make_install_req( - str(subreq), - req_to_install, - ) - parent_req_name = req_to_install.name - to_scan_again, add_to_parent = requirement_set.add_requirement( - sub_install_req, - parent_req_name=parent_req_name, - extras_requested=extras_requested, - ) - if parent_req_name and add_to_parent: - self._discovered_dependencies[parent_req_name].append( - add_to_parent - ) - more_reqs.extend(to_scan_again) - - with indent_log(): - # We add req_to_install before its dependencies, so that we - # can refer to it when adding dependencies. - if not requirement_set.has_requirement(req_to_install.name): - # 'unnamed' requirements will get added here - # 'unnamed' requirements can only come from being directly - # provided by the user. - assert req_to_install.is_direct - requirement_set.add_requirement( - req_to_install, parent_req_name=None, - ) - - if not self.ignore_dependencies: - if req_to_install.extras: - logger.debug( - "Installing extra requirements: %r", - ','.join(req_to_install.extras), - ) - missing_requested = sorted( - set(req_to_install.extras) - set(dist.extras) - ) - for missing in missing_requested: - logger.warning( - '%s does not provide the extra \'%s\'', - dist, missing - ) - - available_requested = sorted( - set(dist.extras) & set(req_to_install.extras) - ) - for subreq in dist.requires(available_requested): - add_req(subreq, extras_requested=available_requested) - - if not req_to_install.editable and not req_to_install.satisfied_by: - # XXX: --no-install leads this to report 'Successfully - # downloaded' for only non-editable reqs, even though we took - # action on them. - requirement_set.successfully_downloaded.append(req_to_install) - - return more_reqs - - def get_installation_order(self, req_set): - # type: (RequirementSet) -> List[InstallRequirement] - """Create the installation order. - - The installation order is topological - requirements are installed - before the requiring thing. We break cycles at an arbitrary point, - and make no other guarantees. - """ - # The current implementation, which we may change at any point - # installs the user specified things in the order given, except when - # dependencies must come earlier to achieve topological order. - order = [] - ordered_reqs = set() # type: Set[InstallRequirement] - - def schedule(req): - if req.satisfied_by or req in ordered_reqs: - return - if req.constraint: - return - ordered_reqs.add(req) - for dep in self._discovered_dependencies[req.name]: - schedule(dep) - order.append(req) - - for install_req in req_set.requirements.values(): - schedule(install_req) - return order diff --git a/.venv/lib/python3.8/site-packages/pip/_internal/locations.py b/.venv/lib/python3.8/site-packages/pip/_internal/locations.py deleted file mode 100644 index 0c11553..0000000 --- a/.venv/lib/python3.8/site-packages/pip/_internal/locations.py +++ /dev/null @@ -1,194 +0,0 @@ -"""Locations where we look for configs, install stuff, etc""" - -# The following comment should be removed at some point in the future. -# mypy: strict-optional=False - -from __future__ import absolute_import - -import os -import os.path -import platform -import site -import sys -import sysconfig -from distutils import sysconfig as distutils_sysconfig -from distutils.command.install import SCHEME_KEYS # type: ignore -from distutils.command.install import install as distutils_install_command - -from pip._internal.models.scheme import Scheme -from pip._internal.utils import appdirs -from pip._internal.utils.compat import WINDOWS -from pip._internal.utils.typing import MYPY_CHECK_RUNNING, cast -from pip._internal.utils.virtualenv import running_under_virtualenv - -if MYPY_CHECK_RUNNING: - from typing import Dict, List, Optional, Union - - from distutils.cmd import Command as DistutilsCommand - - -# Application Directories -USER_CACHE_DIR = appdirs.user_cache_dir("pip") - - -def get_major_minor_version(): - # type: () -> str - """ - Return the major-minor version of the current Python as a string, e.g. - "3.7" or "3.10". - """ - return '{}.{}'.format(*sys.version_info) - - -def get_src_prefix(): - # type: () -> str - if running_under_virtualenv(): - src_prefix = os.path.join(sys.prefix, 'src') - else: - # FIXME: keep src in cwd for now (it is not a temporary folder) - try: - src_prefix = os.path.join(os.getcwd(), 'src') - except OSError: - # In case the current working directory has been renamed or deleted - sys.exit( - "The folder you are executing pip from can no longer be found." - ) - - # under macOS + virtualenv sys.prefix is not properly resolved - # it is something like /path/to/python/bin/.. - return os.path.abspath(src_prefix) - - -# FIXME doesn't account for venv linked to global site-packages - -site_packages = sysconfig.get_path("purelib") # type: Optional[str] - -# This is because of a bug in PyPy's sysconfig module, see -# https://bitbucket.org/pypy/pypy/issues/2506/sysconfig-returns-incorrect-paths -# for more information. -if platform.python_implementation().lower() == "pypy": - site_packages = distutils_sysconfig.get_python_lib() -try: - # Use getusersitepackages if this is present, as it ensures that the - # value is initialised properly. - user_site = site.getusersitepackages() -except AttributeError: - user_site = site.USER_SITE - -if WINDOWS: - bin_py = os.path.join(sys.prefix, 'Scripts') - bin_user = os.path.join(user_site, 'Scripts') - # buildout uses 'bin' on Windows too? - if not os.path.exists(bin_py): - bin_py = os.path.join(sys.prefix, 'bin') - bin_user = os.path.join(user_site, 'bin') -else: - bin_py = os.path.join(sys.prefix, 'bin') - bin_user = os.path.join(user_site, 'bin') - - # Forcing to use /usr/local/bin for standard macOS framework installs - # Also log to ~/Library/Logs/ for use with the Console.app log viewer - if sys.platform[:6] == 'darwin' and sys.prefix[:16] == '/System/Library/': - bin_py = '/usr/local/bin' - - -def distutils_scheme( - dist_name, user=False, home=None, root=None, isolated=False, prefix=None -): - # type:(str, bool, str, str, bool, str) -> Dict[str, str] - """ - Return a distutils install scheme - """ - from distutils.dist import Distribution - - dist_args = {'name': dist_name} # type: Dict[str, Union[str, List[str]]] - if isolated: - dist_args["script_args"] = ["--no-user-cfg"] - - d = Distribution(dist_args) - d.parse_config_files() - obj = None # type: Optional[DistutilsCommand] - obj = d.get_command_obj('install', create=True) - assert obj is not None - i = cast(distutils_install_command, obj) - # NOTE: setting user or home has the side-effect of creating the home dir - # or user base for installations during finalize_options() - # ideally, we'd prefer a scheme class that has no side-effects. - assert not (user and prefix), "user={} prefix={}".format(user, prefix) - assert not (home and prefix), "home={} prefix={}".format(home, prefix) - i.user = user or i.user - if user or home: - i.prefix = "" - i.prefix = prefix or i.prefix - i.home = home or i.home - i.root = root or i.root - i.finalize_options() - - scheme = {} - for key in SCHEME_KEYS: - scheme[key] = getattr(i, 'install_' + key) - - # install_lib specified in setup.cfg should install *everything* - # into there (i.e. it takes precedence over both purelib and - # platlib). Note, i.install_lib is *always* set after - # finalize_options(); we only want to override here if the user - # has explicitly requested it hence going back to the config - if 'install_lib' in d.get_option_dict('install'): - scheme.update(dict(purelib=i.install_lib, platlib=i.install_lib)) - - if running_under_virtualenv(): - scheme['headers'] = os.path.join( - sys.prefix, - 'include', - 'site', - 'python{}'.format(get_major_minor_version()), - dist_name, - ) - - if root is not None: - path_no_drive = os.path.splitdrive( - os.path.abspath(scheme["headers"]))[1] - scheme["headers"] = os.path.join( - root, - path_no_drive[1:], - ) - - return scheme - - -def get_scheme( - dist_name, # type: str - user=False, # type: bool - home=None, # type: Optional[str] - root=None, # type: Optional[str] - isolated=False, # type: bool - prefix=None, # type: Optional[str] -): - # type: (...) -> Scheme - """ - Get the "scheme" corresponding to the input parameters. The distutils - documentation provides the context for the available schemes: - https://docs.python.org/3/install/index.html#alternate-installation - - :param dist_name: the name of the package to retrieve the scheme for, used - in the headers scheme path - :param user: indicates to use the "user" scheme - :param home: indicates to use the "home" scheme and provides the base - directory for the same - :param root: root under which other directories are re-based - :param isolated: equivalent to --no-user-cfg, i.e. do not consider - ~/.pydistutils.cfg (posix) or ~/pydistutils.cfg (non-posix) for - scheme paths - :param prefix: indicates to use the "prefix" scheme and provides the - base directory for the same - """ - scheme = distutils_scheme( - dist_name, user, home, root, isolated, prefix - ) - return Scheme( - platlib=scheme["platlib"], - purelib=scheme["purelib"], - headers=scheme["headers"], - scripts=scheme["scripts"], - data=scheme["data"], - ) diff --git a/.venv/lib/python3.8/site-packages/pip/_internal/main.py b/.venv/lib/python3.8/site-packages/pip/_internal/main.py deleted file mode 100644 index 3208d5b..0000000 --- a/.venv/lib/python3.8/site-packages/pip/_internal/main.py +++ /dev/null @@ -1,16 +0,0 @@ -from pip._internal.utils.typing import MYPY_CHECK_RUNNING - -if MYPY_CHECK_RUNNING: - from typing import Optional, List - - -def main(args=None): - # type: (Optional[List[str]]) -> int - """This is preserved for old console scripts that may still be referencing - it. - - For additional details, see https://github.com/pypa/pip/issues/7498. - """ - from pip._internal.utils.entrypoints import _wrapper - - return _wrapper(args) diff --git a/.venv/lib/python3.8/site-packages/pip/_internal/models/__init__.py b/.venv/lib/python3.8/site-packages/pip/_internal/models/__init__.py deleted file mode 100644 index 7855226..0000000 --- a/.venv/lib/python3.8/site-packages/pip/_internal/models/__init__.py +++ /dev/null @@ -1,2 +0,0 @@ -"""A package that contains models that represent entities. -""" diff --git a/.venv/lib/python3.8/site-packages/pip/_internal/models/__pycache__/__init__.cpython-38.pyc b/.venv/lib/python3.8/site-packages/pip/_internal/models/__pycache__/__init__.cpython-38.pyc deleted file mode 100644 index 78f275f9fd405e6ea5e9bfee1b146ab5ddcd9218..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 224 zcmWIL<>g{vU|=}A?@zKl0|Ucj5C<7EGB7YWFfcF_b1*P4q%cG=q%a0EXfjn<I4Tq* zCTAz6rz(_WB$g;7=jW9qX66+u<mRWO<`hE&i&6`UQj1gbN)%G_N-|3_Q;YSu{4^PF zvB$@!<R{0+uVg4<Vqky}zZ~^TatrheG7EG|^FT(Yrs$Suq^9QRmgi;{m8RqrgXHw% rGxJJPi}Dh4^dT1M$H!;pWtPOp>lIYq;;_lhPbtkwwF9~OGsqhN_EkX5 diff --git a/.venv/lib/python3.8/site-packages/pip/_internal/models/__pycache__/candidate.cpython-38.pyc b/.venv/lib/python3.8/site-packages/pip/_internal/models/__pycache__/candidate.cpython-38.pyc deleted file mode 100644 index 9d731bf52e1b2190ce1740012a2d4515eb4d4e00..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1421 zcmWIL<>g{vU|=}A?@w|a3j@Pr5C<8vFfcGUFfcF_hcGZOq%fo~<}l<kMlmsh*i1Rh zxhzpEU^a6OYc5+98zVz1TaiNwLkdd{LoRz1J6Mi2ha;CWij$GSogsxSg}sF#g*}y} znK_Cpg(H|jlk+9WK2643tObch#i^Q%w?w>CE1eRHQ&XJta|;rSQhhTkGV?SUZwdKE z21Ld?d$>A##|MS_`FZ-eYck&Ai3h0-OD!tS%m=Ar@yX1~P6nBYjG3XFVgm*ShE#?q z#uSDqrWD2~=5~fO#uTO$<`#}9mK2s0))s~+R){O3*xDIb7^2vN88kU=iF)Q0mn7!o zB$j06=Q$_lrDUcgmZVl$2Bj7hr52~=l@u!^Diq|Gq~?`mCgvz8CBu{`DWv5WDP$t) z*5gu8P*6w)g)G!j3?McLgIrl`#lXN&!&t)*&rrfx!_*97G1V~FFvK&Lu#~XYFf=n| zvDGkSG1M?*G1V|+F{d$?u%<Bfg5xBZL6gZ(lj#<7c53A<zLeCo%)HFJ^!VhQ#NuL2 z_FF7@iMgq_c)<Z3Uj_-XTkJ3fOHO89_AS=p(t^~YB6bD_hFcu*@tJv<CGqi^EVo#S zQ*+XaK&hpOhk=2ih?jwZVI|`&&UlFF@$oAeemUuv<QC``WESX_<`pC+XQ!s<mS?1< z=IEB^W*3#F<P?MC^y4%0N>YpR5_9x(^HWlDiuK`vrB_f{#LvLM0K&z5pwMArW8`9F zW8z}uV`TbQC5JT@^kA+`W&~-0Vi22^fq}splzK%#sh4p9D9jjP;kJ+&99mVHHdsy7 zs8%eh)loo@nszH$Zn3517v(0FV1z@F04Pj^;RMJ+Q1BI{78J$DOM%<~3OWWR7Dg5Z z76z98xcvgrLY`j~LC#fxho^!DG;S5DYZVep6sl`Ai$p<g6bBJ#u4RvpFD@yHk5|Cr zSXrz=qzBcZ$pP{zC~d{Z-{Ojo&&^LM%}I@qzr_<DUs#%$1C?Qqk59=@j*kaNaghYb z36h{x#tThC$*DOx@$p3nX9<FofI<?S8o5F4;$UE4;9z87=HcdG1B?1;a!1J)WESYf zm!;;V<QM6I(p_SDW?s4;)bB-1AY(wfZ%Kg_!jhj}X-Q^Iu^uE57J>2}b_FGs1(|v2 zMW75?1WHl2BvFll7@!BrJw<FFyFhsd$s1q~fxK~x!v+#GcA&&r49Z44OgxM{Oe~B% Hj6BQ$i_>T| diff --git a/.venv/lib/python3.8/site-packages/pip/_internal/models/__pycache__/format_control.cpython-38.pyc b/.venv/lib/python3.8/site-packages/pip/_internal/models/__pycache__/format_control.cpython-38.pyc deleted file mode 100644 index 905099c97c0fe70bbd90ef0546fbda587e35fdd0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2416 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 HQG^))7y3r% diff --git a/.venv/lib/python3.8/site-packages/pip/_internal/models/__pycache__/index.cpython-38.pyc b/.venv/lib/python3.8/site-packages/pip/_internal/models/__pycache__/index.cpython-38.pyc deleted file mode 100644 index 098bd15cc27bcc0a48d9287331d9c7f0766e7e9a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1146 zcmWIL<>g{vU|=}A?@zJ{3j@Pr5C<8vFfcGUFfcF_TQD#%q%fo~<}l<kMlmrmxHF_M zr7*WJq%fy4H#0}Eq_U*2q_C#2^)f}Vrn024r*MGTY$=?<44PaoL1t<)-eN6CEGkY- z2Jw(FGn7-T!N9<f$`Hkv!Vtxj!WhNe&XC3kwud7MY<>$v6l*&J3qurJFoP!BEuMhH z<m|-sRL{JW)QT$ipwxn*)Z)~<l46BK1*nt)SWY1^FGZoCD8DQ-CAC-~HL*A|wMZc` zIXShsSfM0eAvG_hAU`v&q?k)VK|vuI<{Xf#Kx`N;c41&(C}AjJtYK(oTEMiBfsvtx zv4$a@xrAi_YYpQ<#w@lPhIqCbh6U^?j0-_B9AGvRn9W(kRKpO@mBJ9rpvmlai>){_ zw;(6=7E3{8L8d16E!N`Fg4CiSkX^Sp;^Q;(GE3s)Z!wn^<=o;aEy~HsOo|5w-Yt&O zqMYJ_oXnD2Y<a0AIr+)Ac;icpa^lnSi{c9sOEPY8K}-e--r@k64rU3bW#**D7nkH0 zC8npwr{w1*X69)!-(o3F%}FcbU|?V<;%8uBSjl*cGd?~!C$YFVK7J*`FFXB`+yecA z%mUrgyn@8!?9>$9@{H8f9NqHV?4r_?oMMoietc$LNorAEVvc@peoAUiv3@2fLi7qM zi`W?$7(j*>^MC@AiI0(uk&lswk%zTP6dFO`_|b!TIGG8g4vIl+Py%!YB|tuK*e_tL zVaQ^tVO+=*%%I8Wr^#Hz$-uyHi@mfcCo4ZQ59|?5rXm55APXooiiAO40}~=37RVi< zAoD<mGcZ+2p*jOOAT`-R5s{aen;IW~iz_}pH$SB`2gK%yk1s4u%z?_V$H%ASC&$Nw z{aOSv{}wMa2$NHDa^mBWoFE8t0@xj(cn0~cm<<#{j4aGNyx_R663i$mDJZtm*9XO% zUVc%!ew7#~>WcLWDoZl*^D^>_OHxxn5}J(QD60~K=_pApF4041lLqm1vFr8IWRH?5 z$Slx{FH6l!$uH6?&aBYO%`ZzW)`KLrB2f510+%g6DJwO(1nj(9ECH1Pp0_wcQj1GK mEF{0d!}u154J4@S7(oFo#K6G7!z>`i#K^?J^q-9xLIVH?B`y8{ diff --git a/.venv/lib/python3.8/site-packages/pip/_internal/models/__pycache__/link.cpython-38.pyc b/.venv/lib/python3.8/site-packages/pip/_internal/models/__pycache__/link.cpython-38.pyc deleted file mode 100644 index d6beba01e3f6c47f4c7c540153f4a44a7fcdd5a9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6659 zcmWIL<>g{vU|=}A?@#h-DF%keAPzESVPIfzU|?V<-on7Zkiw9{n8OeSp&6qX!F;AD zrWA%0rX1#6mMB(6kQ{RkTP}MPJDAOq!;#Aw#hJ?$#g)q)#SIo?&Ed)Ajp7Bf*>d=D z`J?#3Z1x<1T)`;8T%jl-Mut@Wq6H}oDI7V%xgt>_xuQ{`xnfabx#CgcV6~h%61kF5 zl3+Ghj#RF6lr$rQJ3|V03Qr3|3QsC;Gjo(o3S%&XChtp-fBZBVZ?P6678R#zGT!13 z_i%OfiFb_%arF!K^!L+bz9mwWnv$4Y5}#OFk`bR)l%E@4T9k83thgX26In1XwInA$ z`4$IQJhh@klkt{_cWR|mVsUDUbAE0?Vo|DZW<_S6CgUw3-^hT-cxMk+XYcr+P(MFU zKX*;0TigYSB^mK0`C#L@ON(+qY>=2H%PkK7f|AVqyu_SaEFq~CCAU~ZN(*vQZ?T5v zW#)rS<nRdb^$AE!2YG?bBe6ImwKy5%H)IToFA%@jfsuhBl>rn-QA{a}QOqf3?F?y* zDa<J>Eu2v-DXb}MEeuhtDeNg6Eeug?sq877DO@cK&5ThTsqBzYY-Wt&Ol42uP2mHJ zbEUGU@TUlX+1#n@DS|0NU^Y)Gdx~(12$;>ABAO!B!Vtxm%AO*gA^{fTPi0S$OpyY! z1yThU2&G6bWQ-C{Wlxbwkp+v2fJNmNGDeA}vZu(WD1b%9z@mx^8KcBg*;ABKl)<7B zsq85#DXL($WGZ`#T8cWDEtSfiqLHErW=p4NrD(S>M9HMGr|6{Ug2iN0*;DjV^ucVo zRQ42u6hkmuK9xPiD8(4eR!A{PF>PUpQfy~nVTe)+X3#Xh#p08hmtAEalv+@fTAZ3! zQml}u08U0J3OSj1*$SYfqL8Q%keHmEn4YTOnU|7Up<b*|oS9pYld2FJ<in+)prGKF z%nFJWC<d`X@x%<uS78hc3^j}k7*ZG)G8PGyFxD_OGuASeFfCxNVO+>q!w}C>10q># zm}(f}*=m@JjB1$km{LGI_8OKNhIoz=&JwN~hGwQL?i$7tt`z28CPs!7reFq5mc#^R z1_rPLK#s5~NGwXsRVXdWu>uha`DqFz8L0|Ism1xFMaiiO1^JnIC8;S2CHV>(8AYjS zFa;ogYNDHxoS&Oo49+N43YmGuC5d^-sUQuoB&txJky?}rwg9AGp**ozAuYc&FGUA# z639*YMGD0wMVWc&dT?Q=GmBCSOEZg7i{lF_OEU8FtQ3O5>J*am^GXsk^D^_&!G<RU zLDlI7fYl|y%>fyon_7~Xl30?ckd~R6lcJ+gT#%ZanU<NFqL7)V5a1f1U~FQlrx22n zS*(zoSgDYdilic`62+)Q1&~3yFlXsPoTZRhQc{$eR9cb>G7%J<pa6g*jgrK49fibV z6jM@Ci<65olMoItH895TdSzl>c4|s|QEFl_$m1YWA#AXZ(=u~X6*3Zw6_Qd@^AsRz zbrdqek%?j#c7^#x3V!){sZb3HFhzOlCCCOM+yn|nZ~$c%gRL)1%qa!OG{{*>;4p!> zK?xBSVCO(HjE+KP9*VOPVVR>SwIIJZvn0Q$QUM-ldJ3LkkHFo9>?nn#(h?M-^70j+ z0Ru{21x5K~nJK9$ItnGA2rbUYFU?5-#VN?8sksFum9Vs?5S*HdVh|`Pm|7Ysq~#YW z<mMNFA~P+&C^r#Q94jQ|rGR}7O+3k9QA7Y$F~!9AX)@hn&Q7ho#g~$r22Pyu$vKI| z#hN^~xQa^>i%N>iGfOgxI2jliZt;{B<>X{0#e++cTO6fDIpE6V7B@sB1za<*fJrVy zF1y7KOL@=?af=rc?9gO#i?z74AhoDS5M%{Me0*kJW=VX!ChIMh;?$h9Tg;_JIYp8T z3=Bn5AVQjffng=%EzWp|Gvnh|GW@dDFUc*?FUTy=EzK)POwLYC(JjwNP0i6Q&&@6> zP01++$?3;~%7~)8#2o$H{FKz3Vtr8V)+?wil4W3E02x~>04n7qxfnT^c$nFk*cka3 z*_f($LB*&Z%vs5dAT?0T#K6D+Dh-`MrJ)O`G-SwPC=yCxtYOGv5M!ui%wtJmss-^F zi;Pm3OPFdHvY4B}{2InIW-*3fh7zU{7KmswV=zMs1E}ots}fbvfQ1<}w_2$dYu;k0 z;!`bF&;S?Qs>PbB#hR>;Kmi92$R$M*pg?3UE-BJvDv|@SnTiUElt2LoCX_)!?D6r% zB}MV^P9SFsf&9Y6#>m6O!pO$R#mK_I^q-BniU;azutF41g8~5Laj>U3Kus&g8U~P8 zG@1OWIBh`s6jY1tz?QCL1UmxEh7e!}aKy(Kr4|&$$NPa?05XgL5zY`93@bs_f~{nO zhI25(N=83TMzD{IG~hmjd$UNMfq@|iZUJ)@2gqr9rA0X?W`k-pP;CY_+Xrg)0!C1s zhN#PGnQEAdb-*#j+RPZkRLfk;Qo|g~P{Ou=y@qKaBUs*}gd+tM!<=Fa&5TWqHK2No z+3y#lewB1+kdK0DkwQUHeoAR_YKlT$KDd;~OUzBx<hsQIYDC>)D*{y~1-CdsMN0)( zh$AVnI2EL*2;|CJY>*~gktjG4OY;g#^Gi~1@i`V3rxt;-yK7NVei1l4G+80xt^-oZ z0ye<_#N;e3PA!TrNGvXf#0EUDZgGH0Q;@=NP>6vu0y7UNIWY4vvM_Nm3Nb=60!$rB zAc7(X6pi3O1hvXb7-|@@7(q$8NQ;4iL6fNnBnplaY;kpq6J%^W$kS;c`$1+gFjw(` zV+<~ZVI{~~u$7=>2+DI=jKK^r3&lYmW-Ct4NX<>fW@nK(0|P@gl5N~z+aMZ<vr3b( z$^>2*gKL`P#5`CvuK;R~D`e)uOJhX2tI1RZa$ON9POv%+BvAl&8e0{_X^`m0a2h=I z@-Z+llrSs+l`l+L%nRXR!2(V(MTVd}0=5^FEU?-OlBj^&%Us0?4iZqbVAu-EhTyOl z1KV1{xB!&)nHR8ta?V0<)N3;N6={QFpS1|2x=0V?0DTYvvZqKF#KM+wL5gePu7H&c z;HoCIq6EVwpu_@p2@g2;E?`*5kisa*5X`WW$?qj7iD)uH?8jo)E#}mUl18{)utEae z8jy?F85kJA)~JB3$zq6Mt!1nQ7X`JfVDB^5Fx4>Eu%s}gu_6MW84}gtJj+#DlvA1q z_J}4MB!_|$AtW7u!sHffVQFen<t>i1qQvyv)Vvb(Y$^ikc7ZD7{L+$mn4&h2`$45Y z1G4~Ql_WUMu&Jx!k5*QTO-)a?)rgK$i`CLZ2})2f!jqB$)Q^zFw2-luv4*i&3{*YU zFfL#QMR71gkp(DjS#Al$r>3XF9TQ)adW)?%HL)l;16&l{Vofi~FD+OJt&Ui86HAga z(7nZjY(gK%JD?oR04jSJSs1GX!CpdEQzZfNN^xmYN@h`NGN>U&T|Y_2Bb$xvxgyYz z0@!Coj-Uh#szlMfBZ^h?3=Drsf&GP5ag~uqaYmwHO>st|k&y|AGPVFyMy6&Uo~fZx zO>T;*rmaSFqHdaju4Sw?iP2dkgNRB{#A-76y#%F!l`OY7;xiJ9GvbR<iSaB8NbM3- zzi}}_iw=++X{ij|S>RMw<bf-wIYBnWgDS2y7*2pxA8-XI?f{hwpj-{l(XfIOl)6)x z7BZzUOEN5APGNzuK{;BJ)$bRha*-v-F(3neG1_agAQfxi#uqC%e`70NZ*df7<d=h* z$Dk3ZVo+c+Fhi?Vm<)y^L8`!x1XZA*IxdAV8`QF3^1H<Xsu?vI!4(-+``9y!<3Vb6 zf`SHQ5Cg1X2bI9E4PF3<Kns9;p%TU{P>-G=iv<(}klK~CC=gV;GUXQ+L5i)+;*`vy zA~R6HU@K+$GmGO>D>92qGV{{oQ!<P8!5zd@B?8U_XbLbK268=0FqD9U0pc8{A}f&1 zAje}32ae3*cyNc{5Zqo^xWi;nECg8w!e9$Qk($Do!j!|1%UH|E2x{0c)i7o;XR`$} zXfpd1ff9ly<1Oa0<YG;hTY?3d1$ywFhF)26aS>>k1RO`VxD#`7;vo%;VrcsuA`5PZ zfeCQ?m@Tt7zAU-;ILNh-a-D|>+6I8gptu&~0Jv-6se~b$6V?`DECTgzu!an0W^p{E zGj<MS8ORuTy9+Kws%_q&$iS8iI5HB8!9~kuB+DTEE0|0&*a@IM2?GNIhz;^TI37Ud zZVh7!V>U-IA1EIb3xP(8K+Vh)#%#`Fg%YMFP|JrI%+mw&7_&fqD~Kp_FDTcrRJp?& zY(c3drA2uPAw{L|Aq7y65IjJU2qH7U{pZXQh0J1w#GIV`^3)VW8_v&7lkpZ;MruWT zN@jX$afv2tQ8dWkV9y(YSYDtk0!sPd5(sJlG}>>mfdo_0o8d*V3=9l6K!F2_M+R0< z+nbM(4=Iy?w8g{BV)pa%(^S625f3f^<Ku5}#mDF7r<CTT#>d~{iH|QVP0Rrmjq&lf z*yH0<@{{A^!JXYAb&&fsLGI%yD9SHLEh?#mw9QRH65wo%+Ax7MpuoAz4y28#DD@V5 za(-?>W=?96JxCL%`&;A+V!43`PY?kLfg*5#_=C8hGNUL2#0muwksu-pM1TVh<n>#; z&~ANlYEDjkJW{<1YLFCxG6#5=0Mv>t2K5v;7+KgD7#SEDe)Fkw@Nlp&F>--0ACv~M z*+Fc$3@aBC6C)Qpgk)i4`p*JW16GHkmJP%MVX&Q=vPGcYB&4`cVPIg0k^$%Svedkk z{35;L%nH5S{Ib+yP!BUFGpPuac)<<tTe4tvu+ay-(vr-aVm(l~TvAz(T3iGwwr)va zQ<IxnoLmIT0O0-~I1X+}VO0no&?o{mQL!s1sVvCMOD_Vos<2xH8p{C>@_;*Px7eT> zxIxhaYF8KWf>@v)2D*1LLF2}H$@w`s;D%TcKPY`*btNe6rWO~0I+x%OMT%ZT*~ei6 nNx^oYVyzf7<io+p0UD8E;$akF<zeJu6kuXulwjmx<Y5K?>MIHd diff --git a/.venv/lib/python3.8/site-packages/pip/_internal/models/__pycache__/scheme.cpython-38.pyc b/.venv/lib/python3.8/site-packages/pip/_internal/models/__pycache__/scheme.cpython-38.pyc deleted file mode 100644 index 0a5829e75336bb40488ae9bb2ed71f1edabf374a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 862 zcmWIL<>g{vU|=}A?@#h_CI*JbAPzESVPIfzU|?V<mSA9DNMVR#aA!ziOkrwaNMTB4 zY-WyPN?{IW&}6CF#pRY?q)<{>kXo#eSX`W+oS9gXnxasiS(2fUnO9trn3I!Ol9`{U zP@J5Rnwwgz#|74qsF0qTms*sVqmW;gT2z*qTCR|vrjS^cn3<E9l#>cmt&o_PqEM2N znpvcfoS#>cT2Z2-P@I~|l~GbsP;8~IpOT+ktXEK3l98XMmtT~wZ>$fsQ$I5=CAC5? zqa-&+IWeaswJ0yKBvltG33iYkS2D7HL2M>uKc_N8F{Us?F{Lm@F{d!4Ft;#7v81pB zGib8jVhaZQrK-eH0m4$q$j?bBRwzg;$tYGR&&W*9P)ICFRVXb^O;JcJ26;dsDX}<J zAtkdYHMu0eC^NNKAuYd%OF=<FA+e|=Gc7T>1T**&6#~FMQz%GG&Q45E)dQ<fW&=4D zia~6UtDQkHrNqF%P{UZm5YJG<RKpO@Si@Yy5YJS@Qo|6>T*F$!5YLjr5X_*-=%>kg zi@hKxu_Pxm=@xrIX;CVek&&91l3G-Ji@i9xD6^oX_!dh_Vo9PV+bx#j)SR>;kTpfj z3=9lKprld63Sxn*U&&C!!N9=q%U-`Ew?Mxjvp}~r59Hv~6y5TS)YKf^^4#pA(v+NH zkeq&eW*#^)a`bcaQ&Mw^^&!bZub}c4M|^x{US>&rJTJ&I;MB>%#t4B`{E&dwgQ)@e zfg?UXFEKYYKK>S0e0*+xN@)&=%@ZGASelpvm0^#MPsvY?k1qn52X-hD!3pvMBLf2i zh*1pk76&5>a}h|yPm{TbkAZ>V7F&K&R%&tySP)4o$je0_ZMQgVAXeLfv=xIwiG>3I D{e$Ud diff --git a/.venv/lib/python3.8/site-packages/pip/_internal/models/__pycache__/search_scope.cpython-38.pyc b/.venv/lib/python3.8/site-packages/pip/_internal/models/__pycache__/search_scope.cpython-38.pyc deleted file mode 100644 index cd2dba4b86090c48bf7b86209248318a4c074105..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3253 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 Q%qYOf!^FbK!_37D046+G9RL6T diff --git a/.venv/lib/python3.8/site-packages/pip/_internal/models/__pycache__/selection_prefs.cpython-38.pyc b/.venv/lib/python3.8/site-packages/pip/_internal/models/__pycache__/selection_prefs.cpython-38.pyc deleted file mode 100644 index 33c3b014163e4be66823618ac693b92914e14e93..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1596 zcmWIL<>g{vU|=}A?@w|GI|IXG5C<8vFfcGUFfcF_+b}RNq%fo~<}l<kMlmunq%sz1 zq%fo~<uK(kM=>*k<d}0<a#^ET85!IeQdm-0TNqMUQ`wrCqu5i}f*CZ~UxLilWV|Kh z8yOH8@9g2~>>VEz>gVU_=dQ_ki^IR5Br`uRF-Mc}7Oz`=QEp<1bADb)QGQM`NFOqW zyGe?HfgzP4iZO*DiYbLLiaCW1Y%gOJOA0f{##<u6sX3|1AaetXQqxk4QuC5ii>p$& z6ciK`T=S9>3yMo~5=&Bx6-qKv6_OM4QZiE#OHvhzVY(Cw5ZV;d@{1Hw^2_sb@)J`s z^U}eFB<7_kWabr@B<AE~=A|p7W#*(7>w#t5{F2#_91UVKF)%PVgThjefq|ihHH9&o zqlhPksg|{dv4$a@p@yl3A)c{@xrQO0sfMM7A)dL0wT2;{C517VL6bSLoQZ+KxhNIn zzC;CV{!++K%1TWx(c=Q!5Avc_L1Iy2u0mo?PJVfOWnx}-YKoOYct&bTMrskntqQq` zMcJt-3W>!E5P1cS%sg;t6sP7Dr@~DFnU<fX5a1f1U}|ZksgPKds!)(xl$%*nlA5AW zlCO}26n@3vpn?VqBs4(!p{_{-$8CHvByz1392HPv8|n*%{2~Rv{Jc~>h0tP%4Nwgz zP69<6BC_(+6pHgpi;`0n3KEmE6Vp?R74#L7GV>CPDiI>(8L4>+$@zK3r8y<ASOmEa zgh9q-=B1=oD1hQMCo?Y_8krzTsPiEyA|7HaA~Z|#p=m`SF;5{sCq+jgskB6)EHNh& z#00wm#pNlP#U%>)WvN99i3)kC<uHeXgfT)aGd(ZAC^fz)wXig^D784gpt2+*KM%!j zh!Ta&yyX1cg2a-{q#V?^QwoA=)(rq_RsuP#G__bEGfx5HPX(9Mw8YY!l44M7x+Ufm zry|_p=cdVeiw8Lw-4ccH5_59m3yM;UQgc!hi&Kkl@u9}<Enbx1x+Mm2C%RWO*>15E zr{<&;fpSR^I|Bnl5eJCi1QDR}X(dAu4+8_kFAx2a+yecA%mUrgJWw2`rs$Suq^9QR zmgi;{m8RqrgXHw%GxJJPi}Dh4^mFr5Qge#+;YkGK*0f^1g34PQ@$s2?nI-Y@!k`Sv z2g<3U9E>bXY>W_CC5tVK>A`eqvbg!V`DwC(%*jj4O^uJg#T6f)o1ape17h>U#}}3+ z=0IiG<Kt8EljGxyK-Pdgf<*9w{K(3{zyR`bG02x3Oe{PMj9~by2qfdD$#F}nAhSRZ z?lHa6lFXc9y^_j;%)Im>P`Pr84a#9=U|_hVjH((E40@<>Qv@nTZ?QoN4X`~(t^&EE b2;{U|95xVN*)f6w3gk#0CKg5>MjmDW2Pw@F diff --git a/.venv/lib/python3.8/site-packages/pip/_internal/models/__pycache__/target_python.cpython-38.pyc b/.venv/lib/python3.8/site-packages/pip/_internal/models/__pycache__/target_python.cpython-38.pyc deleted file mode 100644 index 4f2e1e62effe8dcdefe085ca2e67c1f9a5544022..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3219 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 diff --git a/.venv/lib/python3.8/site-packages/pip/_internal/models/__pycache__/wheel.cpython-38.pyc b/.venv/lib/python3.8/site-packages/pip/_internal/models/__pycache__/wheel.cpython-38.pyc deleted file mode 100644 index 82b87e4f8851352b1218e583835d6324ce8fed05..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3182 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 diff --git a/.venv/lib/python3.8/site-packages/pip/_internal/models/candidate.py b/.venv/lib/python3.8/site-packages/pip/_internal/models/candidate.py deleted file mode 100644 index 1dc1a57..0000000 --- a/.venv/lib/python3.8/site-packages/pip/_internal/models/candidate.py +++ /dev/null @@ -1,36 +0,0 @@ -from pip._vendor.packaging.version import parse as parse_version - -from pip._internal.utils.models import KeyBasedCompareMixin -from pip._internal.utils.typing import MYPY_CHECK_RUNNING - -if MYPY_CHECK_RUNNING: - from pip._vendor.packaging.version import _BaseVersion - from pip._internal.models.link import Link - - -class InstallationCandidate(KeyBasedCompareMixin): - """Represents a potential "candidate" for installation. - """ - - def __init__(self, name, version, link): - # type: (str, str, Link) -> None - self.name = name - self.version = parse_version(version) # type: _BaseVersion - self.link = link - - super(InstallationCandidate, self).__init__( - key=(self.name, self.version, self.link), - defining_class=InstallationCandidate - ) - - def __repr__(self): - # type: () -> str - return "<InstallationCandidate({!r}, {!r}, {!r})>".format( - self.name, self.version, self.link, - ) - - def __str__(self): - # type: () -> str - return '{!r} candidate (version {} at {})'.format( - self.name, self.version, self.link, - ) diff --git a/.venv/lib/python3.8/site-packages/pip/_internal/models/format_control.py b/.venv/lib/python3.8/site-packages/pip/_internal/models/format_control.py deleted file mode 100644 index 2e13727..0000000 --- a/.venv/lib/python3.8/site-packages/pip/_internal/models/format_control.py +++ /dev/null @@ -1,84 +0,0 @@ -# The following comment should be removed at some point in the future. -# mypy: strict-optional=False - -from pip._vendor.packaging.utils import canonicalize_name - -from pip._internal.exceptions import CommandError -from pip._internal.utils.typing import MYPY_CHECK_RUNNING - -if MYPY_CHECK_RUNNING: - from typing import Optional, Set, FrozenSet - - -class FormatControl(object): - """Helper for managing formats from which a package can be installed. - """ - - def __init__(self, no_binary=None, only_binary=None): - # type: (Optional[Set[str]], Optional[Set[str]]) -> None - if no_binary is None: - no_binary = set() - if only_binary is None: - only_binary = set() - - self.no_binary = no_binary - self.only_binary = only_binary - - def __eq__(self, other): - # type: (object) -> bool - return self.__dict__ == other.__dict__ - - def __ne__(self, other): - # type: (object) -> bool - return not self.__eq__(other) - - def __repr__(self): - # type: () -> str - return "{}({}, {})".format( - self.__class__.__name__, - self.no_binary, - self.only_binary - ) - - @staticmethod - def handle_mutual_excludes(value, target, other): - # type: (str, Optional[Set[str]], Optional[Set[str]]) -> None - if value.startswith('-'): - raise CommandError( - "--no-binary / --only-binary option requires 1 argument." - ) - new = value.split(',') - while ':all:' in new: - other.clear() - target.clear() - target.add(':all:') - del new[:new.index(':all:') + 1] - # Without a none, we want to discard everything as :all: covers it - if ':none:' not in new: - return - for name in new: - if name == ':none:': - target.clear() - continue - name = canonicalize_name(name) - other.discard(name) - target.add(name) - - def get_allowed_formats(self, canonical_name): - # type: (str) -> FrozenSet[str] - result = {"binary", "source"} - if canonical_name in self.only_binary: - result.discard('source') - elif canonical_name in self.no_binary: - result.discard('binary') - elif ':all:' in self.only_binary: - result.discard('source') - elif ':all:' in self.no_binary: - result.discard('binary') - return frozenset(result) - - def disallow_binaries(self): - # type: () -> None - self.handle_mutual_excludes( - ':all:', self.no_binary, self.only_binary, - ) diff --git a/.venv/lib/python3.8/site-packages/pip/_internal/models/index.py b/.venv/lib/python3.8/site-packages/pip/_internal/models/index.py deleted file mode 100644 index ead1efb..0000000 --- a/.venv/lib/python3.8/site-packages/pip/_internal/models/index.py +++ /dev/null @@ -1,31 +0,0 @@ -from pip._vendor.six.moves.urllib import parse as urllib_parse - - -class PackageIndex(object): - """Represents a Package Index and provides easier access to endpoints - """ - - def __init__(self, url, file_storage_domain): - # type: (str, str) -> None - super(PackageIndex, self).__init__() - self.url = url - self.netloc = urllib_parse.urlsplit(url).netloc - self.simple_url = self._url_for_path('simple') - self.pypi_url = self._url_for_path('pypi') - - # This is part of a temporary hack used to block installs of PyPI - # packages which depend on external urls only necessary until PyPI can - # block such packages themselves - self.file_storage_domain = file_storage_domain - - def _url_for_path(self, path): - # type: (str) -> str - return urllib_parse.urljoin(self.url, path) - - -PyPI = PackageIndex( - 'https://pypi.org/', file_storage_domain='files.pythonhosted.org' -) -TestPyPI = PackageIndex( - 'https://test.pypi.org/', file_storage_domain='test-files.pythonhosted.org' -) diff --git a/.venv/lib/python3.8/site-packages/pip/_internal/models/link.py b/.venv/lib/python3.8/site-packages/pip/_internal/models/link.py deleted file mode 100644 index 34fbcbf..0000000 --- a/.venv/lib/python3.8/site-packages/pip/_internal/models/link.py +++ /dev/null @@ -1,227 +0,0 @@ -import os -import posixpath -import re - -from pip._vendor.six.moves.urllib import parse as urllib_parse - -from pip._internal.utils.filetypes import WHEEL_EXTENSION -from pip._internal.utils.misc import ( - redact_auth_from_url, - split_auth_from_netloc, - splitext, -) -from pip._internal.utils.models import KeyBasedCompareMixin -from pip._internal.utils.typing import MYPY_CHECK_RUNNING -from pip._internal.utils.urls import path_to_url, url_to_path - -if MYPY_CHECK_RUNNING: - from typing import Optional, Text, Tuple, Union - from pip._internal.index.collector import HTMLPage - from pip._internal.utils.hashes import Hashes - - -class Link(KeyBasedCompareMixin): - """Represents a parsed link from a Package Index's simple URL - """ - - def __init__( - self, - url, # type: str - comes_from=None, # type: Optional[Union[str, HTMLPage]] - requires_python=None, # type: Optional[str] - yanked_reason=None, # type: Optional[Text] - ): - # type: (...) -> None - """ - :param url: url of the resource pointed to (href of the link) - :param comes_from: instance of HTMLPage where the link was found, - or string. - :param requires_python: String containing the `Requires-Python` - metadata field, specified in PEP 345. This may be specified by - a data-requires-python attribute in the HTML link tag, as - described in PEP 503. - :param yanked_reason: the reason the file has been yanked, if the - file has been yanked, or None if the file hasn't been yanked. - This is the value of the "data-yanked" attribute, if present, in - a simple repository HTML link. If the file has been yanked but - no reason was provided, this should be the empty string. See - PEP 592 for more information and the specification. - """ - - # url can be a UNC windows share - if url.startswith('\\\\'): - url = path_to_url(url) - - self._parsed_url = urllib_parse.urlsplit(url) - # Store the url as a private attribute to prevent accidentally - # trying to set a new value. - self._url = url - - self.comes_from = comes_from - self.requires_python = requires_python if requires_python else None - self.yanked_reason = yanked_reason - - super(Link, self).__init__(key=url, defining_class=Link) - - def __str__(self): - # type: () -> str - if self.requires_python: - rp = ' (requires-python:%s)' % self.requires_python - else: - rp = '' - if self.comes_from: - return '%s (from %s)%s' % (redact_auth_from_url(self._url), - self.comes_from, rp) - else: - return redact_auth_from_url(str(self._url)) - - def __repr__(self): - # type: () -> str - return '<Link %s>' % self - - @property - def url(self): - # type: () -> str - return self._url - - @property - def filename(self): - # type: () -> str - path = self.path.rstrip('/') - name = posixpath.basename(path) - if not name: - # Make sure we don't leak auth information if the netloc - # includes a username and password. - netloc, user_pass = split_auth_from_netloc(self.netloc) - return netloc - - name = urllib_parse.unquote(name) - assert name, ('URL %r produced no filename' % self._url) - return name - - @property - def file_path(self): - # type: () -> str - return url_to_path(self.url) - - @property - def scheme(self): - # type: () -> str - return self._parsed_url.scheme - - @property - def netloc(self): - # type: () -> str - """ - This can contain auth information. - """ - return self._parsed_url.netloc - - @property - def path(self): - # type: () -> str - return urllib_parse.unquote(self._parsed_url.path) - - def splitext(self): - # type: () -> Tuple[str, str] - return splitext(posixpath.basename(self.path.rstrip('/'))) - - @property - def ext(self): - # type: () -> str - return self.splitext()[1] - - @property - def url_without_fragment(self): - # type: () -> str - scheme, netloc, path, query, fragment = self._parsed_url - return urllib_parse.urlunsplit((scheme, netloc, path, query, None)) - - _egg_fragment_re = re.compile(r'[#&]egg=([^&]*)') - - @property - def egg_fragment(self): - # type: () -> Optional[str] - match = self._egg_fragment_re.search(self._url) - if not match: - return None - return match.group(1) - - _subdirectory_fragment_re = re.compile(r'[#&]subdirectory=([^&]*)') - - @property - def subdirectory_fragment(self): - # type: () -> Optional[str] - match = self._subdirectory_fragment_re.search(self._url) - if not match: - return None - return match.group(1) - - _hash_re = re.compile( - r'(sha1|sha224|sha384|sha256|sha512|md5)=([a-f0-9]+)' - ) - - @property - def hash(self): - # type: () -> Optional[str] - match = self._hash_re.search(self._url) - if match: - return match.group(2) - return None - - @property - def hash_name(self): - # type: () -> Optional[str] - match = self._hash_re.search(self._url) - if match: - return match.group(1) - return None - - @property - def show_url(self): - # type: () -> str - return posixpath.basename(self._url.split('#', 1)[0].split('?', 1)[0]) - - @property - def is_file(self): - # type: () -> bool - return self.scheme == 'file' - - def is_existing_dir(self): - # type: () -> bool - return self.is_file and os.path.isdir(self.file_path) - - @property - def is_wheel(self): - # type: () -> bool - return self.ext == WHEEL_EXTENSION - - @property - def is_vcs(self): - # type: () -> bool - from pip._internal.vcs import vcs - - return self.scheme in vcs.all_schemes - - @property - def is_yanked(self): - # type: () -> bool - return self.yanked_reason is not None - - @property - def has_hash(self): - # type: () -> bool - return self.hash_name is not None - - def is_hash_allowed(self, hashes): - # type: (Optional[Hashes]) -> bool - """ - Return True if the link has a hash and it is allowed. - """ - if hashes is None or not self.has_hash: - return False - # Assert non-None so mypy knows self.hash_name and self.hash are str. - assert self.hash_name is not None - assert self.hash is not None - - return hashes.is_hash_allowed(self.hash_name, hex_digest=self.hash) diff --git a/.venv/lib/python3.8/site-packages/pip/_internal/models/scheme.py b/.venv/lib/python3.8/site-packages/pip/_internal/models/scheme.py deleted file mode 100644 index af07b40..0000000 --- a/.venv/lib/python3.8/site-packages/pip/_internal/models/scheme.py +++ /dev/null @@ -1,25 +0,0 @@ -""" -For types associated with installation schemes. - -For a general overview of available schemes and their context, see -https://docs.python.org/3/install/index.html#alternate-installation. -""" - - -class Scheme(object): - """A Scheme holds paths which are used as the base directories for - artifacts associated with a Python package. - """ - def __init__( - self, - platlib, # type: str - purelib, # type: str - headers, # type: str - scripts, # type: str - data, # type: str - ): - self.platlib = platlib - self.purelib = purelib - self.headers = headers - self.scripts = scripts - self.data = data diff --git a/.venv/lib/python3.8/site-packages/pip/_internal/models/search_scope.py b/.venv/lib/python3.8/site-packages/pip/_internal/models/search_scope.py deleted file mode 100644 index 138d1b6..0000000 --- a/.venv/lib/python3.8/site-packages/pip/_internal/models/search_scope.py +++ /dev/null @@ -1,114 +0,0 @@ -import itertools -import logging -import os -import posixpath - -from pip._vendor.packaging.utils import canonicalize_name -from pip._vendor.six.moves.urllib import parse as urllib_parse - -from pip._internal.models.index import PyPI -from pip._internal.utils.compat import has_tls -from pip._internal.utils.misc import normalize_path, redact_auth_from_url -from pip._internal.utils.typing import MYPY_CHECK_RUNNING - -if MYPY_CHECK_RUNNING: - from typing import List - - -logger = logging.getLogger(__name__) - - -class SearchScope(object): - - """ - Encapsulates the locations that pip is configured to search. - """ - - @classmethod - def create( - cls, - find_links, # type: List[str] - index_urls, # type: List[str] - ): - # type: (...) -> SearchScope - """ - Create a SearchScope object after normalizing the `find_links`. - """ - # Build find_links. If an argument starts with ~, it may be - # a local file relative to a home directory. So try normalizing - # it and if it exists, use the normalized version. - # This is deliberately conservative - it might be fine just to - # blindly normalize anything starting with a ~... - built_find_links = [] # type: List[str] - for link in find_links: - if link.startswith('~'): - new_link = normalize_path(link) - if os.path.exists(new_link): - link = new_link - built_find_links.append(link) - - # If we don't have TLS enabled, then WARN if anyplace we're looking - # relies on TLS. - if not has_tls(): - for link in itertools.chain(index_urls, built_find_links): - parsed = urllib_parse.urlparse(link) - if parsed.scheme == 'https': - logger.warning( - 'pip is configured with locations that require ' - 'TLS/SSL, however the ssl module in Python is not ' - 'available.' - ) - break - - return cls( - find_links=built_find_links, - index_urls=index_urls, - ) - - def __init__( - self, - find_links, # type: List[str] - index_urls, # type: List[str] - ): - # type: (...) -> None - self.find_links = find_links - self.index_urls = index_urls - - def get_formatted_locations(self): - # type: () -> str - lines = [] - if self.index_urls and self.index_urls != [PyPI.simple_url]: - lines.append( - 'Looking in indexes: {}'.format(', '.join( - redact_auth_from_url(url) for url in self.index_urls)) - ) - if self.find_links: - lines.append( - 'Looking in links: {}'.format(', '.join( - redact_auth_from_url(url) for url in self.find_links)) - ) - return '\n'.join(lines) - - def get_index_urls_locations(self, project_name): - # type: (str) -> List[str] - """Returns the locations found via self.index_urls - - Checks the url_name on the main (first in the list) index and - use this url_name to produce all locations - """ - - def mkurl_pypi_url(url): - # type: (str) -> str - loc = posixpath.join( - url, - urllib_parse.quote(canonicalize_name(project_name))) - # For maximum compatibility with easy_install, ensure the path - # ends in a trailing slash. Although this isn't in the spec - # (and PyPI can handle it without the slash) some other index - # implementations might break if they relied on easy_install's - # behavior. - if not loc.endswith('/'): - loc = loc + '/' - return loc - - return [mkurl_pypi_url(url) for url in self.index_urls] diff --git a/.venv/lib/python3.8/site-packages/pip/_internal/models/selection_prefs.py b/.venv/lib/python3.8/site-packages/pip/_internal/models/selection_prefs.py deleted file mode 100644 index f58fdce..0000000 --- a/.venv/lib/python3.8/site-packages/pip/_internal/models/selection_prefs.py +++ /dev/null @@ -1,47 +0,0 @@ -from pip._internal.utils.typing import MYPY_CHECK_RUNNING - -if MYPY_CHECK_RUNNING: - from typing import Optional - from pip._internal.models.format_control import FormatControl - - -class SelectionPreferences(object): - - """ - Encapsulates the candidate selection preferences for downloading - and installing files. - """ - - # Don't include an allow_yanked default value to make sure each call - # site considers whether yanked releases are allowed. This also causes - # that decision to be made explicit in the calling code, which helps - # people when reading the code. - def __init__( - self, - allow_yanked, # type: bool - allow_all_prereleases=False, # type: bool - format_control=None, # type: Optional[FormatControl] - prefer_binary=False, # type: bool - ignore_requires_python=None, # type: Optional[bool] - ): - # type: (...) -> None - """Create a SelectionPreferences object. - - :param allow_yanked: Whether files marked as yanked (in the sense - of PEP 592) are permitted to be candidates for install. - :param format_control: A FormatControl object or None. Used to control - the selection of source packages / binary packages when consulting - the index and links. - :param prefer_binary: Whether to prefer an old, but valid, binary - dist over a new source dist. - :param ignore_requires_python: Whether to ignore incompatible - "Requires-Python" values in links. Defaults to False. - """ - if ignore_requires_python is None: - ignore_requires_python = False - - self.allow_yanked = allow_yanked - self.allow_all_prereleases = allow_all_prereleases - self.format_control = format_control - self.prefer_binary = prefer_binary - self.ignore_requires_python = ignore_requires_python diff --git a/.venv/lib/python3.8/site-packages/pip/_internal/models/target_python.py b/.venv/lib/python3.8/site-packages/pip/_internal/models/target_python.py deleted file mode 100644 index 97ae85a..0000000 --- a/.venv/lib/python3.8/site-packages/pip/_internal/models/target_python.py +++ /dev/null @@ -1,107 +0,0 @@ -import sys - -from pip._internal.pep425tags import get_supported, version_info_to_nodot -from pip._internal.utils.misc import normalize_version_info -from pip._internal.utils.typing import MYPY_CHECK_RUNNING - -if MYPY_CHECK_RUNNING: - from typing import List, Optional, Tuple - - from pip._vendor.packaging.tags import Tag - - -class TargetPython(object): - - """ - Encapsulates the properties of a Python interpreter one is targeting - for a package install, download, etc. - """ - - def __init__( - self, - platform=None, # type: Optional[str] - py_version_info=None, # type: Optional[Tuple[int, ...]] - abi=None, # type: Optional[str] - implementation=None, # type: Optional[str] - ): - # type: (...) -> None - """ - :param platform: A string or None. If None, searches for packages - that are supported by the current system. Otherwise, will find - packages that can be built on the platform passed in. These - packages will only be downloaded for distribution: they will - not be built locally. - :param py_version_info: An optional tuple of ints representing the - Python version information to use (e.g. `sys.version_info[:3]`). - This can have length 1, 2, or 3 when provided. - :param abi: A string or None. This is passed to pep425tags.py's - get_supported() function as is. - :param implementation: A string or None. This is passed to - pep425tags.py's get_supported() function as is. - """ - # Store the given py_version_info for when we call get_supported(). - self._given_py_version_info = py_version_info - - if py_version_info is None: - py_version_info = sys.version_info[:3] - else: - py_version_info = normalize_version_info(py_version_info) - - py_version = '.'.join(map(str, py_version_info[:2])) - - self.abi = abi - self.implementation = implementation - self.platform = platform - self.py_version = py_version - self.py_version_info = py_version_info - - # This is used to cache the return value of get_tags(). - self._valid_tags = None # type: Optional[List[Tag]] - - def format_given(self): - # type: () -> str - """ - Format the given, non-None attributes for display. - """ - display_version = None - if self._given_py_version_info is not None: - display_version = '.'.join( - str(part) for part in self._given_py_version_info - ) - - key_values = [ - ('platform', self.platform), - ('version_info', display_version), - ('abi', self.abi), - ('implementation', self.implementation), - ] - return ' '.join( - '{}={!r}'.format(key, value) for key, value in key_values - if value is not None - ) - - def get_tags(self): - # type: () -> List[Tag] - """ - Return the supported PEP 425 tags to check wheel candidates against. - - The tags are returned in order of preference (most preferred first). - """ - if self._valid_tags is None: - # Pass versions=None if no py_version_info was given since - # versions=None uses special default logic. - py_version_info = self._given_py_version_info - if py_version_info is None: - version = None - else: - version = version_info_to_nodot(py_version_info) - - tags = get_supported( - version=version, - platform=self.platform, - abi=self.abi, - impl=self.implementation, - ) - self._valid_tags = tags - - return self._valid_tags diff --git a/.venv/lib/python3.8/site-packages/pip/_internal/models/wheel.py b/.venv/lib/python3.8/site-packages/pip/_internal/models/wheel.py deleted file mode 100644 index f1e3f44..0000000 --- a/.venv/lib/python3.8/site-packages/pip/_internal/models/wheel.py +++ /dev/null @@ -1,78 +0,0 @@ -"""Represents a wheel file and provides access to the various parts of the -name that have meaning. -""" -import re - -from pip._vendor.packaging.tags import Tag - -from pip._internal.exceptions import InvalidWheelFilename -from pip._internal.utils.typing import MYPY_CHECK_RUNNING - -if MYPY_CHECK_RUNNING: - from typing import List - - -class Wheel(object): - """A wheel file""" - - wheel_file_re = re.compile( - r"""^(?P<namever>(?P<name>.+?)-(?P<ver>.*?)) - ((-(?P<build>\d[^-]*?))?-(?P<pyver>.+?)-(?P<abi>.+?)-(?P<plat>.+?) - \.whl|\.dist-info)$""", - re.VERBOSE - ) - - def __init__(self, filename): - # type: (str) -> None - """ - :raises InvalidWheelFilename: when the filename is invalid for a wheel - """ - wheel_info = self.wheel_file_re.match(filename) - if not wheel_info: - raise InvalidWheelFilename( - "%s is not a valid wheel filename." % filename - ) - self.filename = filename - self.name = wheel_info.group('name').replace('_', '-') - # we'll assume "_" means "-" due to wheel naming scheme - # (https://github.com/pypa/pip/issues/1150) - self.version = wheel_info.group('ver').replace('_', '-') - self.build_tag = wheel_info.group('build') - self.pyversions = wheel_info.group('pyver').split('.') - self.abis = wheel_info.group('abi').split('.') - self.plats = wheel_info.group('plat').split('.') - - # All the tag combinations from this file - self.file_tags = { - Tag(x, y, z) for x in self.pyversions - for y in self.abis for z in self.plats - } - - def get_formatted_file_tags(self): - # type: () -> List[str] - """Return the wheel's tags as a sorted list of strings.""" - return sorted(str(tag) for tag in self.file_tags) - - def support_index_min(self, tags): - # type: (List[Tag]) -> int - """Return the lowest index that one of the wheel's file_tag combinations - achieves in the given list of supported tags. - - For example, if there are 8 supported tags and one of the file tags - is first in the list, then return 0. - - :param tags: the PEP 425 tags to check the wheel against, in order - with most preferred first. - - :raises ValueError: If none of the wheel's file tags match one of - the supported tags. - """ - return min(tags.index(tag) for tag in self.file_tags if tag in tags) - - def supported(self, tags): - # type: (List[Tag]) -> bool - """Return whether the wheel is compatible with one of the given tags. - - :param tags: the PEP 425 tags to check the wheel against. - """ - return not self.file_tags.isdisjoint(tags) diff --git a/.venv/lib/python3.8/site-packages/pip/_internal/network/__init__.py b/.venv/lib/python3.8/site-packages/pip/_internal/network/__init__.py deleted file mode 100644 index b51bde9..0000000 --- a/.venv/lib/python3.8/site-packages/pip/_internal/network/__init__.py +++ /dev/null @@ -1,2 +0,0 @@ -"""Contains purely network-related utilities. -""" diff --git a/.venv/lib/python3.8/site-packages/pip/_internal/network/__pycache__/__init__.cpython-38.pyc b/.venv/lib/python3.8/site-packages/pip/_internal/network/__pycache__/__init__.cpython-38.pyc deleted file mode 100644 index 4d1cbd2ddc43f601cb0a5235951f616acc1122cf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 212 zcmWIL<>g{vU|=}A?@zK30|Ucj5C<7EGB7YWFfcF_b1*P4q%cG=q%a0EXfjo4JLl(> zBxdFnD-@I#rRG#B<fWFB=NDz`7NzDSmZYXAl$K=XWR_&67VB~OX)@kokB?8uPmYgY z$xy_^zyKkBIq8?=7U&mb7U-7d6(lBSr>5wZXQZa)=$7YZ7nP>u6ocgS<1_P0Qj78u kbM&Eh=*P!r=4F<|$LkeT-r}&y%}*)KNwovH^fSom03Av^{{R30 diff --git a/.venv/lib/python3.8/site-packages/pip/_internal/network/__pycache__/auth.cpython-38.pyc b/.venv/lib/python3.8/site-packages/pip/_internal/network/__pycache__/auth.cpython-38.pyc deleted file mode 100644 index 45bca31abc54dcf0ec4ec7858f761d3fcea45e96..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6978 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 PyM&D1vM`G=bI1Y!t>j+M diff --git a/.venv/lib/python3.8/site-packages/pip/_internal/network/__pycache__/cache.cpython-38.pyc b/.venv/lib/python3.8/site-packages/pip/_internal/network/__pycache__/cache.cpython-38.pyc deleted file mode 100644 index dcfe1cbc99da2885f6fb8f51f491a2580335e683..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2691 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 diff --git a/.venv/lib/python3.8/site-packages/pip/_internal/network/__pycache__/download.cpython-38.pyc b/.venv/lib/python3.8/site-packages/pip/_internal/network/__pycache__/download.cpython-38.pyc deleted file mode 100644 index f3fd4ad4e06cf8d47f4159bb31e9ab8c89dad77e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4370 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 diff --git a/.venv/lib/python3.8/site-packages/pip/_internal/network/__pycache__/session.cpython-38.pyc b/.venv/lib/python3.8/site-packages/pip/_internal/network/__pycache__/session.cpython-38.pyc deleted file mode 100644 index 1999a0779f8bb6e0e8cb7d500c66e71b12c74769..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8851 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 diff --git a/.venv/lib/python3.8/site-packages/pip/_internal/network/__pycache__/utils.cpython-38.pyc b/.venv/lib/python3.8/site-packages/pip/_internal/network/__pycache__/utils.cpython-38.pyc deleted file mode 100644 index bb36db2d912800e7ba92d6e89ad291fffbc37a49..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 706 zcmWIL<>g{vU|=}A?@#h_b_RyWAPzESW?*1&U|?V<wqamkNMT4}%wfo7jAG1Xieh2} z@tJa%b6KKT7#UJoigZ#KQkZjCbJ?QU7#UI-(->1&QdnCUqu5i}f*CZ~UxLilWV$8f z?C%%i>K794>=Ekc9Utr&<$8-FD7CmCKd(4dlkt|2Z)8AZyt9X^vv+(@sGpywpSvdG zEe_9;)S|?a{GwzgkU3Bcavlc*14A;%i6IOO3{?s>3|S0Wj5UlYj44dLOfC$uT(wL! zOkoU+4244B40(Di3?)q2Tt$A23?K+ny@0ufaUml}Rk2f{7gVi5Btsrk1VajQFoPyb zm4$m|S!$j_qC!z>VQFe{NwEUV!8!^BMfqi!DX9u28L0{>i6w~&$r+`2*~NNX3JMAe zZkmj@_)=1n^HWmelk@XRQu9juG+Ayj7bTY8Vk<5wN=?kY#phU3Qk0ogT9WEoRFq$I zi=`+vF-4R47Do{@P;PO7jf^kOtV+Gb3TCflDB@#aVEARPUy@s(Uyxa#Tbfspn4F!O zqFbJknwq0qo||1%nvzotlGBgR%qvMP%1g}A&r2;S&o9c>FD=Q;Db_2fyu}Z*Bpz&T zF()V_#X!N!!o<YJ$Ry76f=h~rk&l^&k%f_ou}FY{fx%Cc<Cb(mW`SOOS!!NNevuw5 zRP=K5Q&Mw^i$GCS1d5wmQeb5;>-8YkmQ)sG=A{?0FfcIOVuNy685kJAhJ*cuMDT-D baoFVMr<CTT+A)Hh2a0h4CLSghMjmDWZFss* diff --git a/.venv/lib/python3.8/site-packages/pip/_internal/network/__pycache__/xmlrpc.cpython-38.pyc b/.venv/lib/python3.8/site-packages/pip/_internal/network/__pycache__/xmlrpc.cpython-38.pyc deleted file mode 100644 index a9330a747edb3c1df0194aa1518c5e4b6b020214..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1574 zcmWIL<>g{vU|=}A?@zKV8w0~*5C<8vFfcGUFfcF_2QV-&q%cG=q%fv1<uFDurZA>3 z=P>0mM=>*k#8`4za#^ET!EDwXwp{io4n~Gl#s!?ITnibaxZN32*izVA7*g0%S+jVW znWK19n1UHJIjWQ^a&w9bl5;YX^g@af^NI`di%JwSa|?1(b5rw55=%1k^SEAu9OS3T zc#ESbwXig`xTIK<@fI&cV|;Q>W@=uECgUyEg2bZY)MSuaWXufnfC>WxLn=cQV+unQ zQwn1ga|%Zaa|%lfV-!mYX9{ZyTMJ_pYYKZXgC^H4p@7VS2(Y{0ZmJ3jD9SI(Oi5Kp zR7ikWjpF76G)F6xWhR1@24oflrxq7y=I14FDJUo?<R@jNCYR`e*>1_8(1kgcm4Sf) z#CHaTwiW{eLkU9`;{v7{h8pIDOpFXA%nMj*7#A|uved9-vDPrev(+%wFvPQ`Fa$Gb zGWuz96oGttixckRTO9H6nR%Hd@$t8KN{e!GGLz!LA#{tQv?vF{Vk=J0NX<>X#U2l3 zaKslw9IMHCi={X<C+!wzW?o8aMSN*d&MkJR+%2Bc;?($*#FEsK%-qx{ZitG4#G;bo zl?+9K3=9mv9P~?a3-k*z3v^5K3KEmEQ&V)yGg4D?bjx$Ii%L^+ia~Pv@tJugsYQ8- zIr@32CFS`=+4_)x)hnnhVrO7r5C??>2Pk|P`53tvIT)*?F(XC~=F4PI0D=^QFep)j zFgP$LF)%RHFk~^*FxD`oFo0khTP<q|C~#R9GS;$HS%4CCCSxso4MP@l7E29V4RZ}U zD0TF*)N<5tEMQ&8z{pU;0uFSB1?)8(SsV))!x@4ZSQtt;v$(Rkih39sYB?Dhsw7Id z7x1L8)^KL=X7SaqEo5e7XkrLwFl9(#sO7BVj9`dl$YY9N07n{|UlosYeqKpxUWsl< zWkG5cM@ec$2`CIgG?{O)q$HLk-eS*4O-xBGD!#>5TvC*pm|G?15fT!hkXlrfU!<T~ ztWchjnUkuJo?23pnU}7hTCB-m#Ld9KPy`CKTU@0@IiT<_Do!opVPIgm#Zr)8TyjgG zC^54*H9jrBD89HPv81&47JFH0QBr<!>McHSx`;1IEiTB<D^9(|T$ET|#01jH39{D} zWbG}soc#3k)S_D)$wiqZnaPPcpnM6{zzs1mJ~=-nRg<fT7o?RX17s_EMq*w{PHNFD z9%v?xPs&fJERqDN0A<~h;#<t6ML9(xAm_`2M43}7lEKLdLI{Dx*rA$bK}iFYqZt^5 z7`Ygk7&$;B1Ji#tCJsh6Mm|O%MixdUMm7efe=ICjQdp7=)F3}iMmG>*17(-I#N5>Q z_*-1@@wxdar8yurPkek~X<`mkhCMz$B|kYn9-KUj)Im-KrFVz}!7Pv~i$Ez6#3*KC zU|`^2WMScA1B+?$6={Qg0Sdv)y!2b#1(^kU@nxxbDfva<aE=m1645KptkBENFH0>3 z=j|vNta5sg%v}U3J0S7SnVwqW1CFC24UiK-fmH-@3fK`yj)lAU7KaVQ$99aMfCVKM Q7B&th9%dd!9wshk09O&Ny8r+H diff --git a/.venv/lib/python3.8/site-packages/pip/_internal/network/auth.py b/.venv/lib/python3.8/site-packages/pip/_internal/network/auth.py deleted file mode 100644 index 1e1da54..0000000 --- a/.venv/lib/python3.8/site-packages/pip/_internal/network/auth.py +++ /dev/null @@ -1,298 +0,0 @@ -"""Network Authentication Helpers - -Contains interface (MultiDomainBasicAuth) and associated glue code for -providing credentials in the context of network requests. -""" - -# The following comment should be removed at some point in the future. -# mypy: disallow-untyped-defs=False - -import logging - -from pip._vendor.requests.auth import AuthBase, HTTPBasicAuth -from pip._vendor.requests.utils import get_netrc_auth -from pip._vendor.six.moves.urllib import parse as urllib_parse - -from pip._internal.utils.misc import ( - ask, - ask_input, - ask_password, - remove_auth_from_url, - split_auth_netloc_from_url, -) -from pip._internal.utils.typing import MYPY_CHECK_RUNNING - -if MYPY_CHECK_RUNNING: - from optparse import Values - from typing import Dict, Optional, Tuple - - from pip._internal.vcs.versioncontrol import AuthInfo - - Credentials = Tuple[str, str, str] - -logger = logging.getLogger(__name__) - -try: - import keyring # noqa -except ImportError: - keyring = None -except Exception as exc: - logger.warning( - "Keyring is skipped due to an exception: %s", str(exc), - ) - keyring = None - - -def get_keyring_auth(url, username): - """Return the tuple auth for a given url from keyring.""" - if not url or not keyring: - return None - - try: - try: - get_credential = keyring.get_credential - except AttributeError: - pass - else: - logger.debug("Getting credentials from keyring for %s", url) - cred = get_credential(url, username) - if cred is not None: - return cred.username, cred.password - return None - - if username: - logger.debug("Getting password from keyring for %s", url) - password = keyring.get_password(url, username) - if password: - return username, password - - except Exception as exc: - logger.warning( - "Keyring is skipped due to an exception: %s", str(exc), - ) - - -class MultiDomainBasicAuth(AuthBase): - - def __init__(self, prompting=True, index_urls=None): - # type: (bool, Optional[Values]) -> None - self.prompting = prompting - self.index_urls = index_urls - self.passwords = {} # type: Dict[str, AuthInfo] - # When the user is prompted to enter credentials and keyring is - # available, we will offer to save them. If the user accepts, - # this value is set to the credentials they entered. After the - # request authenticates, the caller should call - # ``save_credentials`` to save these. - self._credentials_to_save = None # type: Optional[Credentials] - - def _get_index_url(self, url): - """Return the original index URL matching the requested URL. - - Cached or dynamically generated credentials may work against - the original index URL rather than just the netloc. - - The provided url should have had its username and password - removed already. If the original index url had credentials then - they will be included in the return value. - - Returns None if no matching index was found, or if --no-index - was specified by the user. - """ - if not url or not self.index_urls: - return None - - for u in self.index_urls: - prefix = remove_auth_from_url(u).rstrip("/") + "/" - if url.startswith(prefix): - return u - - def _get_new_credentials(self, original_url, allow_netrc=True, - allow_keyring=True): - """Find and return credentials for the specified URL.""" - # Split the credentials and netloc from the url. - url, netloc, url_user_password = split_auth_netloc_from_url( - original_url, - ) - - # Start with the credentials embedded in the url - username, password = url_user_password - if username is not None and password is not None: - logger.debug("Found credentials in url for %s", netloc) - return url_user_password - - # Find a matching index url for this request - index_url = self._get_index_url(url) - if index_url: - # Split the credentials from the url. - index_info = split_auth_netloc_from_url(index_url) - if index_info: - index_url, _, index_url_user_password = index_info - logger.debug("Found index url %s", index_url) - - # If an index URL was found, try its embedded credentials - if index_url and index_url_user_password[0] is not None: - username, password = index_url_user_password - if username is not None and password is not None: - logger.debug("Found credentials in index url for %s", netloc) - return index_url_user_password - - # Get creds from netrc if we still don't have them - if allow_netrc: - netrc_auth = get_netrc_auth(original_url) - if netrc_auth: - logger.debug("Found credentials in netrc for %s", netloc) - return netrc_auth - - # If we don't have a password and keyring is available, use it. - if allow_keyring: - # The index url is more specific than the netloc, so try it first - kr_auth = ( - get_keyring_auth(index_url, username) or - get_keyring_auth(netloc, username) - ) - if kr_auth: - logger.debug("Found credentials in keyring for %s", netloc) - return kr_auth - - return username, password - - def _get_url_and_credentials(self, original_url): - """Return the credentials to use for the provided URL. - - If allowed, netrc and keyring may be used to obtain the - correct credentials. - - Returns (url_without_credentials, username, password). Note - that even if the original URL contains credentials, this - function may return a different username and password. - """ - url, netloc, _ = split_auth_netloc_from_url(original_url) - - # Use any stored credentials that we have for this netloc - username, password = self.passwords.get(netloc, (None, None)) - - if username is None and password is None: - # No stored credentials. Acquire new credentials without prompting - # the user. (e.g. from netrc, keyring, or the URL itself) - username, password = self._get_new_credentials(original_url) - - if username is not None or password is not None: - # Convert the username and password if they're None, so that - # this netloc will show up as "cached" in the conditional above. - # Further, HTTPBasicAuth doesn't accept None, so it makes sense to - # cache the value that is going to be used. - username = username or "" - password = password or "" - - # Store any acquired credentials. - self.passwords[netloc] = (username, password) - - assert ( - # Credentials were found - (username is not None and password is not None) or - # Credentials were not found - (username is None and password is None) - ), "Could not load credentials from url: {}".format(original_url) - - return url, username, password - - def __call__(self, req): - # Get credentials for this request - url, username, password = self._get_url_and_credentials(req.url) - - # Set the url of the request to the url without any credentials - req.url = url - - if username is not None and password is not None: - # Send the basic auth with this request - req = HTTPBasicAuth(username, password)(req) - - # Attach a hook to handle 401 responses - req.register_hook("response", self.handle_401) - - return req - - # Factored out to allow for easy patching in tests - def _prompt_for_password(self, netloc): - username = ask_input("User for %s: " % netloc) - if not username: - return None, None - auth = get_keyring_auth(netloc, username) - if auth: - return auth[0], auth[1], False - password = ask_password("Password: ") - return username, password, True - - # Factored out to allow for easy patching in tests - def _should_save_password_to_keyring(self): - if not keyring: - return False - return ask("Save credentials to keyring [y/N]: ", ["y", "n"]) == "y" - - def handle_401(self, resp, **kwargs): - # We only care about 401 responses, anything else we want to just - # pass through the actual response - if resp.status_code != 401: - return resp - - # We are not able to prompt the user so simply return the response - if not self.prompting: - return resp - - parsed = urllib_parse.urlparse(resp.url) - - # Prompt the user for a new username and password - username, password, save = self._prompt_for_password(parsed.netloc) - - # Store the new username and password to use for future requests - self._credentials_to_save = None - if username is not None and password is not None: - self.passwords[parsed.netloc] = (username, password) - - # Prompt to save the password to keyring - if save and self._should_save_password_to_keyring(): - self._credentials_to_save = (parsed.netloc, username, password) - - # Consume content and release the original connection to allow our new - # request to reuse the same one. - resp.content - resp.raw.release_conn() - - # Add our new username and password to the request - req = HTTPBasicAuth(username or "", password or "")(resp.request) - req.register_hook("response", self.warn_on_401) - - # On successful request, save the credentials that were used to - # keyring. (Note that if the user responded "no" above, this member - # is not set and nothing will be saved.) - if self._credentials_to_save: - req.register_hook("response", self.save_credentials) - - # Send our new request - new_resp = resp.connection.send(req, **kwargs) - new_resp.history.append(resp) - - return new_resp - - def warn_on_401(self, resp, **kwargs): - """Response callback to warn about incorrect credentials.""" - if resp.status_code == 401: - logger.warning( - '401 Error, Credentials not correct for %s', resp.request.url, - ) - - def save_credentials(self, resp, **kwargs): - """Response callback to save credentials on success.""" - assert keyring is not None, "should never reach here without keyring" - if not keyring: - return - - creds = self._credentials_to_save - self._credentials_to_save = None - if creds and resp.status_code < 400: - try: - logger.info('Saving credentials to keyring') - keyring.set_password(*creds) - except Exception: - logger.exception('Failed to save credentials') diff --git a/.venv/lib/python3.8/site-packages/pip/_internal/network/cache.py b/.venv/lib/python3.8/site-packages/pip/_internal/network/cache.py deleted file mode 100644 index c9386e1..0000000 --- a/.venv/lib/python3.8/site-packages/pip/_internal/network/cache.py +++ /dev/null @@ -1,81 +0,0 @@ -"""HTTP cache implementation. -""" - -# The following comment should be removed at some point in the future. -# mypy: disallow-untyped-defs=False - -import os -from contextlib import contextmanager - -from pip._vendor.cachecontrol.cache import BaseCache -from pip._vendor.cachecontrol.caches import FileCache -from pip._vendor.requests.models import Response - -from pip._internal.utils.filesystem import adjacent_tmp_file, replace -from pip._internal.utils.misc import ensure_dir -from pip._internal.utils.typing import MYPY_CHECK_RUNNING - -if MYPY_CHECK_RUNNING: - from typing import Optional - - -def is_from_cache(response): - # type: (Response) -> bool - return getattr(response, "from_cache", False) - - -@contextmanager -def suppressed_cache_errors(): - """If we can't access the cache then we can just skip caching and process - requests as if caching wasn't enabled. - """ - try: - yield - except (OSError, IOError): - pass - - -class SafeFileCache(BaseCache): - """ - A file based cache which is safe to use even when the target directory may - not be accessible or writable. - """ - - def __init__(self, directory): - # type: (str) -> None - assert directory is not None, "Cache directory must not be None." - super(SafeFileCache, self).__init__() - self.directory = directory - - def _get_cache_path(self, name): - # type: (str) -> str - # From cachecontrol.caches.file_cache.FileCache._fn, brought into our - # class for backwards-compatibility and to avoid using a non-public - # method. - hashed = FileCache.encode(name) - parts = list(hashed[:5]) + [hashed] - return os.path.join(self.directory, *parts) - - def get(self, key): - # type: (str) -> Optional[bytes] - path = self._get_cache_path(key) - with suppressed_cache_errors(): - with open(path, 'rb') as f: - return f.read() - - def set(self, key, value): - # type: (str, bytes) -> None - path = self._get_cache_path(key) - with suppressed_cache_errors(): - ensure_dir(os.path.dirname(path)) - - with adjacent_tmp_file(path) as f: - f.write(value) - - replace(f.name, path) - - def delete(self, key): - # type: (str) -> None - path = self._get_cache_path(key) - with suppressed_cache_errors(): - os.remove(path) diff --git a/.venv/lib/python3.8/site-packages/pip/_internal/network/download.py b/.venv/lib/python3.8/site-packages/pip/_internal/network/download.py deleted file mode 100644 index c90c4bf..0000000 --- a/.venv/lib/python3.8/site-packages/pip/_internal/network/download.py +++ /dev/null @@ -1,200 +0,0 @@ -"""Download files with progress indicators. -""" -import cgi -import logging -import mimetypes -import os - -from pip._vendor import requests -from pip._vendor.requests.models import CONTENT_CHUNK_SIZE - -from pip._internal.models.index import PyPI -from pip._internal.network.cache import is_from_cache -from pip._internal.network.utils import response_chunks -from pip._internal.utils.misc import ( - format_size, - redact_auth_from_url, - splitext, -) -from pip._internal.utils.typing import MYPY_CHECK_RUNNING -from pip._internal.utils.ui import DownloadProgressProvider - -if MYPY_CHECK_RUNNING: - from typing import Iterable, Optional - - from pip._vendor.requests.models import Response - - from pip._internal.models.link import Link - from pip._internal.network.session import PipSession - -logger = logging.getLogger(__name__) - - -def _get_http_response_size(resp): - # type: (Response) -> Optional[int] - try: - return int(resp.headers['content-length']) - except (ValueError, KeyError, TypeError): - return None - - -def _prepare_download( - resp, # type: Response - link, # type: Link - progress_bar # type: str -): - # type: (...) -> Iterable[bytes] - total_length = _get_http_response_size(resp) - - if link.netloc == PyPI.file_storage_domain: - url = link.show_url - else: - url = link.url_without_fragment - - logged_url = redact_auth_from_url(url) - - if total_length: - logged_url = '{} ({})'.format(logged_url, format_size(total_length)) - - if is_from_cache(resp): - logger.info("Using cached %s", logged_url) - else: - logger.info("Downloading %s", logged_url) - - if logger.getEffectiveLevel() > logging.INFO: - show_progress = False - elif is_from_cache(resp): - show_progress = False - elif not total_length: - show_progress = True - elif total_length > (40 * 1000): - show_progress = True - else: - show_progress = False - - chunks = response_chunks(resp, CONTENT_CHUNK_SIZE) - - if not show_progress: - return chunks - - return DownloadProgressProvider( - progress_bar, max=total_length - )(chunks) - - -def sanitize_content_filename(filename): - # type: (str) -> str - """ - Sanitize the "filename" value from a Content-Disposition header. - """ - return os.path.basename(filename) - - -def parse_content_disposition(content_disposition, default_filename): - # type: (str, str) -> str - """ - Parse the "filename" value from a Content-Disposition header, and - return the default filename if the result is empty. - """ - _type, params = cgi.parse_header(content_disposition) - filename = params.get('filename') - if filename: - # We need to sanitize the filename to prevent directory traversal - # in case the filename contains ".." path parts. - filename = sanitize_content_filename(filename) - return filename or default_filename - - -def _get_http_response_filename(resp, link): - # type: (Response, Link) -> str - """Get an ideal filename from the given HTTP response, falling back to - the link filename if not provided. - """ - filename = link.filename # fallback - # Have a look at the Content-Disposition header for a better guess - content_disposition = resp.headers.get('content-disposition') - if content_disposition: - filename = parse_content_disposition(content_disposition, filename) - ext = splitext(filename)[1] # type: Optional[str] - if not ext: - ext = mimetypes.guess_extension( - resp.headers.get('content-type', '') - ) - if ext: - filename += ext - if not ext and link.url != resp.url: - ext = os.path.splitext(resp.url)[1] - if ext: - filename += ext - return filename - - -def _http_get_download(session, link): - # type: (PipSession, Link) -> Response - target_url = link.url.split('#', 1)[0] - resp = session.get( - target_url, - # We use Accept-Encoding: identity here because requests - # defaults to accepting compressed responses. This breaks in - # a variety of ways depending on how the server is configured. - # - Some servers will notice that the file isn't a compressible - # file and will leave the file alone and with an empty - # Content-Encoding - # - Some servers will notice that the file is already - # compressed and will leave the file alone and will add a - # Content-Encoding: gzip header - # - Some servers won't notice anything at all and will take - # a file that's already been compressed and compress it again - # and set the Content-Encoding: gzip header - # By setting this to request only the identity encoding We're - # hoping to eliminate the third case. Hopefully there does not - # exist a server which when given a file will notice it is - # already compressed and that you're not asking for a - # compressed file and will then decompress it before sending - # because if that's the case I don't think it'll ever be - # possible to make this work. - headers={"Accept-Encoding": "identity"}, - stream=True, - ) - resp.raise_for_status() - return resp - - -class Download(object): - def __init__( - self, - response, # type: Response - filename, # type: str - chunks, # type: Iterable[bytes] - ): - # type: (...) -> None - self.response = response - self.filename = filename - self.chunks = chunks - - -class Downloader(object): - def __init__( - self, - session, # type: PipSession - progress_bar, # type: str - ): - # type: (...) -> None - self._session = session - self._progress_bar = progress_bar - - def __call__(self, link): - # type: (Link) -> Download - try: - resp = _http_get_download(self._session, link) - except requests.HTTPError as e: - logger.critical( - "HTTP error %s while getting %s", e.response.status_code, link - ) - raise - - return Download( - resp, - _get_http_response_filename(resp, link), - _prepare_download(resp, link, self._progress_bar), - ) diff --git a/.venv/lib/python3.8/site-packages/pip/_internal/network/session.py b/.venv/lib/python3.8/site-packages/pip/_internal/network/session.py deleted file mode 100644 index f5eb15e..0000000 --- a/.venv/lib/python3.8/site-packages/pip/_internal/network/session.py +++ /dev/null @@ -1,405 +0,0 @@ -"""PipSession and supporting code, containing all pip-specific -network request configuration and behavior. -""" - -# The following comment should be removed at some point in the future. -# mypy: disallow-untyped-defs=False - -import email.utils -import json -import logging -import mimetypes -import os -import platform -import sys -import warnings - -from pip._vendor import requests, six, urllib3 -from pip._vendor.cachecontrol import CacheControlAdapter -from pip._vendor.requests.adapters import BaseAdapter, HTTPAdapter -from pip._vendor.requests.models import Response -from pip._vendor.requests.structures import CaseInsensitiveDict -from pip._vendor.six.moves.urllib import parse as urllib_parse -from pip._vendor.urllib3.exceptions import InsecureRequestWarning - -from pip import __version__ -from pip._internal.network.auth import MultiDomainBasicAuth -from pip._internal.network.cache import SafeFileCache -# Import ssl from compat so the initial import occurs in only one place. -from pip._internal.utils.compat import has_tls, ipaddress -from pip._internal.utils.glibc import libc_ver -from pip._internal.utils.misc import ( - build_url_from_netloc, - get_installed_version, - parse_netloc, -) -from pip._internal.utils.typing import MYPY_CHECK_RUNNING -from pip._internal.utils.urls import url_to_path - -if MYPY_CHECK_RUNNING: - from typing import ( - Iterator, List, Optional, Tuple, Union, - ) - - from pip._internal.models.link import Link - - SecureOrigin = Tuple[str, str, Optional[Union[int, str]]] - - -logger = logging.getLogger(__name__) - - -# Ignore warning raised when using --trusted-host. -warnings.filterwarnings("ignore", category=InsecureRequestWarning) - - -SECURE_ORIGINS = [ - # protocol, hostname, port - # Taken from Chrome's list of secure origins (See: http://bit.ly/1qrySKC) - ("https", "*", "*"), - ("*", "localhost", "*"), - ("*", "127.0.0.0/8", "*"), - ("*", "::1/128", "*"), - ("file", "*", None), - # ssh is always secure. - ("ssh", "*", "*"), -] # type: List[SecureOrigin] - - -# These are environment variables present when running under various -# CI systems. For each variable, some CI systems that use the variable -# are indicated. The collection was chosen so that for each of a number -# of popular systems, at least one of the environment variables is used. -# This list is used to provide some indication of and lower bound for -# CI traffic to PyPI. Thus, it is okay if the list is not comprehensive. -# For more background, see: https://github.com/pypa/pip/issues/5499 -CI_ENVIRONMENT_VARIABLES = ( - # Azure Pipelines - 'BUILD_BUILDID', - # Jenkins - 'BUILD_ID', - # AppVeyor, CircleCI, Codeship, Gitlab CI, Shippable, Travis CI - 'CI', - # Explicit environment variable. - 'PIP_IS_CI', -) - - -def looks_like_ci(): - # type: () -> bool - """ - Return whether it looks like pip is running under CI. - """ - # We don't use the method of checking for a tty (e.g. using isatty()) - # because some CI systems mimic a tty (e.g. Travis CI). Thus that - # method doesn't provide definitive information in either direction. - return any(name in os.environ for name in CI_ENVIRONMENT_VARIABLES) - - -def user_agent(): - """ - Return a string representing the user agent. - """ - data = { - "installer": {"name": "pip", "version": __version__}, - "python": platform.python_version(), - "implementation": { - "name": platform.python_implementation(), - }, - } - - if data["implementation"]["name"] == 'CPython': - data["implementation"]["version"] = platform.python_version() - elif data["implementation"]["name"] == 'PyPy': - if sys.pypy_version_info.releaselevel == 'final': - pypy_version_info = sys.pypy_version_info[:3] - else: - pypy_version_info = sys.pypy_version_info - data["implementation"]["version"] = ".".join( - [str(x) for x in pypy_version_info] - ) - elif data["implementation"]["name"] == 'Jython': - # Complete Guess - data["implementation"]["version"] = platform.python_version() - elif data["implementation"]["name"] == 'IronPython': - # Complete Guess - data["implementation"]["version"] = platform.python_version() - - if sys.platform.startswith("linux"): - from pip._vendor import distro - distro_infos = dict(filter( - lambda x: x[1], - zip(["name", "version", "id"], distro.linux_distribution()), - )) - libc = dict(filter( - lambda x: x[1], - zip(["lib", "version"], libc_ver()), - )) - if libc: - distro_infos["libc"] = libc - if distro_infos: - data["distro"] = distro_infos - - if sys.platform.startswith("darwin") and platform.mac_ver()[0]: - data["distro"] = {"name": "macOS", "version": platform.mac_ver()[0]} - - if platform.system(): - data.setdefault("system", {})["name"] = platform.system() - - if platform.release(): - data.setdefault("system", {})["release"] = platform.release() - - if platform.machine(): - data["cpu"] = platform.machine() - - if has_tls(): - import _ssl as ssl - data["openssl_version"] = ssl.OPENSSL_VERSION - - setuptools_version = get_installed_version("setuptools") - if setuptools_version is not None: - data["setuptools_version"] = setuptools_version - - # Use None rather than False so as not to give the impression that - # pip knows it is not being run under CI. Rather, it is a null or - # inconclusive result. Also, we include some value rather than no - # value to make it easier to know that the check has been run. - data["ci"] = True if looks_like_ci() else None - - user_data = os.environ.get("PIP_USER_AGENT_USER_DATA") - if user_data is not None: - data["user_data"] = user_data - - return "{data[installer][name]}/{data[installer][version]} {json}".format( - data=data, - json=json.dumps(data, separators=(",", ":"), sort_keys=True), - ) - - -class LocalFSAdapter(BaseAdapter): - - def send(self, request, stream=None, timeout=None, verify=None, cert=None, - proxies=None): - pathname = url_to_path(request.url) - - resp = Response() - resp.status_code = 200 - resp.url = request.url - - try: - stats = os.stat(pathname) - except OSError as exc: - resp.status_code = 404 - resp.raw = exc - else: - modified = email.utils.formatdate(stats.st_mtime, usegmt=True) - content_type = mimetypes.guess_type(pathname)[0] or "text/plain" - resp.headers = CaseInsensitiveDict({ - "Content-Type": content_type, - "Content-Length": stats.st_size, - "Last-Modified": modified, - }) - - resp.raw = open(pathname, "rb") - resp.close = resp.raw.close - - return resp - - def close(self): - pass - - -class InsecureHTTPAdapter(HTTPAdapter): - - def cert_verify(self, conn, url, verify, cert): - super(InsecureHTTPAdapter, self).cert_verify( - conn=conn, url=url, verify=False, cert=cert - ) - - -class PipSession(requests.Session): - - timeout = None # type: Optional[int] - - def __init__(self, *args, **kwargs): - """ - :param trusted_hosts: Domains not to emit warnings for when not using - HTTPS. - """ - retries = kwargs.pop("retries", 0) - cache = kwargs.pop("cache", None) - trusted_hosts = kwargs.pop("trusted_hosts", []) # type: List[str] - index_urls = kwargs.pop("index_urls", None) - - super(PipSession, self).__init__(*args, **kwargs) - - # Namespace the attribute with "pip_" just in case to prevent - # possible conflicts with the base class. - self.pip_trusted_origins = [] # type: List[Tuple[str, Optional[int]]] - - # Attach our User Agent to the request - self.headers["User-Agent"] = user_agent() - - # Attach our Authentication handler to the session - self.auth = MultiDomainBasicAuth(index_urls=index_urls) - - # Create our urllib3.Retry instance which will allow us to customize - # how we handle retries. - retries = urllib3.Retry( - # Set the total number of retries that a particular request can - # have. - total=retries, - - # A 503 error from PyPI typically means that the Fastly -> Origin - # connection got interrupted in some way. A 503 error in general - # is typically considered a transient error so we'll go ahead and - # retry it. - # A 500 may indicate transient error in Amazon S3 - # A 520 or 527 - may indicate transient error in CloudFlare - status_forcelist=[500, 503, 520, 527], - - # Add a small amount of back off between failed requests in - # order to prevent hammering the service. - backoff_factor=0.25, - ) - - # We want to _only_ cache responses on securely fetched origins. We do - # this because we can't validate the response of an insecurely fetched - # origin, and we don't want someone to be able to poison the cache and - # require manual eviction from the cache to fix it. - if cache: - secure_adapter = CacheControlAdapter( - cache=SafeFileCache(cache), - max_retries=retries, - ) - else: - secure_adapter = HTTPAdapter(max_retries=retries) - - # Our Insecure HTTPAdapter disables HTTPS validation. It does not - # support caching (see above) so we'll use it for all http:// URLs as - # well as any https:// host that we've marked as ignoring TLS errors - # for. - insecure_adapter = InsecureHTTPAdapter(max_retries=retries) - # Save this for later use in add_insecure_host(). - self._insecure_adapter = insecure_adapter - - self.mount("https://", secure_adapter) - self.mount("http://", insecure_adapter) - - # Enable file:// urls - self.mount("file://", LocalFSAdapter()) - - for host in trusted_hosts: - self.add_trusted_host(host, suppress_logging=True) - - def add_trusted_host(self, host, source=None, suppress_logging=False): - # type: (str, Optional[str], bool) -> None - """ - :param host: It is okay to provide a host that has previously been - added. - :param source: An optional source string, for logging where the host - string came from. - """ - if not suppress_logging: - msg = 'adding trusted host: {!r}'.format(host) - if source is not None: - msg += ' (from {})'.format(source) - logger.info(msg) - - host_port = parse_netloc(host) - if host_port not in self.pip_trusted_origins: - self.pip_trusted_origins.append(host_port) - - self.mount(build_url_from_netloc(host) + '/', self._insecure_adapter) - if not host_port[1]: - # Mount wildcard ports for the same host. - self.mount( - build_url_from_netloc(host) + ':', - self._insecure_adapter - ) - - def iter_secure_origins(self): - # type: () -> Iterator[SecureOrigin] - for secure_origin in SECURE_ORIGINS: - yield secure_origin - for host, port in self.pip_trusted_origins: - yield ('*', host, '*' if port is None else port) - - def is_secure_origin(self, location): - # type: (Link) -> bool - # Determine if this url used a secure transport mechanism - parsed = urllib_parse.urlparse(str(location)) - origin_protocol, origin_host, origin_port = ( - parsed.scheme, parsed.hostname, parsed.port, - ) - - # The protocol to use to see if the protocol matches. - # Don't count the repository type as part of the protocol: in - # cases such as "git+ssh", only use "ssh". (I.e., Only verify against - # the last scheme.) - origin_protocol = origin_protocol.rsplit('+', 1)[-1] - - # Determine if our origin is a secure origin by looking through our - # hardcoded list of secure origins, as well as any additional ones - # configured on this PackageFinder instance. - for secure_origin in self.iter_secure_origins(): - secure_protocol, secure_host, secure_port = secure_origin - if origin_protocol != secure_protocol and secure_protocol != "*": - continue - - try: - addr = ipaddress.ip_address( - None - if origin_host is None - else six.ensure_text(origin_host) - ) - network = ipaddress.ip_network( - six.ensure_text(secure_host) - ) - except ValueError: - # We don't have both a valid address or a valid network, so - # we'll check this origin against hostnames. - if ( - origin_host and - origin_host.lower() != secure_host.lower() and - secure_host != "*" - ): - continue - else: - # We have a valid address and network, so see if the address - # is contained within the network. - if addr not in network: - continue - - # Check to see if the port matches. - if ( - origin_port != secure_port and - secure_port != "*" and - secure_port is not None - ): - continue - - # If we've gotten here, then this origin matches the current - # secure origin and we should return True - return True - - # If we've gotten to this point, then the origin isn't secure and we - # will not accept it as a valid location to search. We will however - # log a warning that we are ignoring it. - logger.warning( - "The repository located at %s is not a trusted or secure host and " - "is being ignored. If this repository is available via HTTPS we " - "recommend you use HTTPS instead, otherwise you may silence " - "this warning and allow it anyway with '--trusted-host %s'.", - origin_host, - origin_host, - ) - - return False - - def request(self, method, url, *args, **kwargs): - # Allow setting a default timeout on a session - kwargs.setdefault("timeout", self.timeout) - - # Dispatch the actual request - return super(PipSession, self).request(method, url, *args, **kwargs) diff --git a/.venv/lib/python3.8/site-packages/pip/_internal/network/utils.py b/.venv/lib/python3.8/site-packages/pip/_internal/network/utils.py deleted file mode 100644 index a19050b..0000000 --- a/.venv/lib/python3.8/site-packages/pip/_internal/network/utils.py +++ /dev/null @@ -1,48 +0,0 @@ -from pip._vendor.requests.models import CONTENT_CHUNK_SIZE, Response - -from pip._internal.utils.typing import MYPY_CHECK_RUNNING - -if MYPY_CHECK_RUNNING: - from typing import Iterator - - -def response_chunks(response, chunk_size=CONTENT_CHUNK_SIZE): - # type: (Response, int) -> Iterator[bytes] - """Given a requests Response, provide the data chunks. - """ - try: - # Special case for urllib3. - for chunk in response.raw.stream( - chunk_size, - # We use decode_content=False here because we don't - # want urllib3 to mess with the raw bytes we get - # from the server. If we decompress inside of - # urllib3 then we cannot verify the checksum - # because the checksum will be of the compressed - # file. This breakage will only occur if the - # server adds a Content-Encoding header, which - # depends on how the server was configured: - # - Some servers will notice that the file isn't a - # compressible file and will leave the file alone - # and with an empty Content-Encoding - # - Some servers will notice that the file is - # already compressed and will leave the file - # alone and will add a Content-Encoding: gzip - # header - # - Some servers won't notice anything at all and - # will take a file that's already been compressed - # and compress it again and set the - # Content-Encoding: gzip header - # - # By setting this not to decode automatically we - # hope to eliminate problems with the second case. - decode_content=False, - ): - yield chunk - except AttributeError: - # Standard file-like object. - while True: - chunk = response.raw.read(chunk_size) - if not chunk: - break - yield chunk diff --git a/.venv/lib/python3.8/site-packages/pip/_internal/network/xmlrpc.py b/.venv/lib/python3.8/site-packages/pip/_internal/network/xmlrpc.py deleted file mode 100644 index 121edd9..0000000 --- a/.venv/lib/python3.8/site-packages/pip/_internal/network/xmlrpc.py +++ /dev/null @@ -1,44 +0,0 @@ -"""xmlrpclib.Transport implementation -""" - -# The following comment should be removed at some point in the future. -# mypy: disallow-untyped-defs=False - -import logging - -from pip._vendor import requests -# NOTE: XMLRPC Client is not annotated in typeshed as on 2017-07-17, which is -# why we ignore the type on this import -from pip._vendor.six.moves import xmlrpc_client # type: ignore -from pip._vendor.six.moves.urllib import parse as urllib_parse - -logger = logging.getLogger(__name__) - - -class PipXmlrpcTransport(xmlrpc_client.Transport): - """Provide a `xmlrpclib.Transport` implementation via a `PipSession` - object. - """ - - def __init__(self, index_url, session, use_datetime=False): - xmlrpc_client.Transport.__init__(self, use_datetime) - index_parts = urllib_parse.urlparse(index_url) - self._scheme = index_parts.scheme - self._session = session - - def request(self, host, handler, request_body, verbose=False): - parts = (self._scheme, host, handler, None, None, None) - url = urllib_parse.urlunparse(parts) - try: - headers = {'Content-Type': 'text/xml'} - response = self._session.post(url, data=request_body, - headers=headers, stream=True) - response.raise_for_status() - self.verbose = verbose - return self.parse_response(response.raw) - except requests.HTTPError as exc: - logger.critical( - "HTTP error %s while getting %s", - exc.response.status_code, url, - ) - raise diff --git a/.venv/lib/python3.8/site-packages/pip/_internal/operations/__init__.py b/.venv/lib/python3.8/site-packages/pip/_internal/operations/__init__.py deleted file mode 100644 index e69de29..0000000 diff --git a/.venv/lib/python3.8/site-packages/pip/_internal/operations/__pycache__/__init__.cpython-38.pyc b/.venv/lib/python3.8/site-packages/pip/_internal/operations/__pycache__/__init__.cpython-38.pyc deleted file mode 100644 index 4d1f2a63d25f71fb98bb53dca1355e9bbae64bf8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 160 zcmWIL<>g{vU|=}A?@uy_eheazF(U&5g98HtLoo{j149Z!FoPze-%5rekT8Py<*Hwj zTcBT%S)f~*SCE*TotmOso{^fGqg$SvT~wNqQw);RkI&32NiE7t%+b#;NG(b%$;{6y g){l?R%*!l^kJl@xyv1RYo1apelWGSt{xirK0B)Kn=>Px# diff --git a/.venv/lib/python3.8/site-packages/pip/_internal/operations/__pycache__/check.cpython-38.pyc b/.venv/lib/python3.8/site-packages/pip/_internal/operations/__pycache__/check.cpython-38.pyc deleted file mode 100644 index 22306204e2f8e9943f25ff6ee7626f8ce508d3b0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3656 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 H${`8>Z8FB5 diff --git a/.venv/lib/python3.8/site-packages/pip/_internal/operations/__pycache__/freeze.cpython-38.pyc b/.venv/lib/python3.8/site-packages/pip/_internal/operations/__pycache__/freeze.cpython-38.pyc deleted file mode 100644 index 5b2f1940081605d94d44d847f588499d74fee2f3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5803 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 VxmdvMIY{daMt<X}XW-_r0{|&bKFt6C diff --git a/.venv/lib/python3.8/site-packages/pip/_internal/operations/__pycache__/prepare.cpython-38.pyc b/.venv/lib/python3.8/site-packages/pip/_internal/operations/__pycache__/prepare.cpython-38.pyc deleted file mode 100644 index 6fdeca2dffe491f647bce0284b84c80f2f41caf2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11162 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 diff --git a/.venv/lib/python3.8/site-packages/pip/_internal/operations/build/__init__.py b/.venv/lib/python3.8/site-packages/pip/_internal/operations/build/__init__.py deleted file mode 100644 index e69de29..0000000 diff --git a/.venv/lib/python3.8/site-packages/pip/_internal/operations/build/__pycache__/__init__.cpython-38.pyc b/.venv/lib/python3.8/site-packages/pip/_internal/operations/build/__pycache__/__init__.cpython-38.pyc deleted file mode 100644 index 23be5b75c254f3aba1f47eeb51488aef51faf4b0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 166 zcmWIL<>g{vU|=}A?@uy_eheazF(U&5g98HtLoo{j149Z!FoPze-%5rekT8Py<*i?m zTcBT%S)f~*SCE*TotmOso{^fGqg$SvT~wNqQw);RkI&32NiE7t%+b#;NG(b%$;{6y m)=w(U%t_IYkI&4@EQycTE2zB1VUwGmQks)$2eRZd$T0wWfh#Tm diff --git a/.venv/lib/python3.8/site-packages/pip/_internal/operations/build/__pycache__/metadata.cpython-38.pyc b/.venv/lib/python3.8/site-packages/pip/_internal/operations/build/__pycache__/metadata.cpython-38.pyc deleted file mode 100644 index c1ac77c9907d49ac3dba1010d47b3be2b10a7fe5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1208 zcmWIL<>g{vU|=}A?@zKcD+9x05C<7EGcYhXFfcF_XE87^q%cG=q%fv1<uFDuf@!8G zrWD2$<{ai+mM9iRkQ_@6Yc5+98<@?S!=B3##lgss%25=O!kEIA!<ow!#RZmQ&*9GH ziQ-{oNM&5Wo65J4F^WHhBZaetAxa>HDVRZ%tIEVTwInemu_RF;JvA@2D6u3nKTjbi zKRq*9AuYd1p*X*^C^=OjC9}AsC^M-PBwMV<^%CTEKTXD4(nY0td8tM5<(VZJ@x=w1 zU`}poadBdLswU$t-jLMX0+-C9)Z~)<qDoE1TSC5(0g>^}9<I*b@j;<}ex82rnvAyu zoJuouQe5-OGK=!_a#Qn4Kw<%@1*V4P9{Ks%&WSlWsYS_5AWNZ`je&sy6r#?cFpFSd zU?>5F3R4PmFH<d34O13lEprV+zaAq)2~!G7Gh;1F4dVjl8kU8O{Q`^(HH-^bYM2)? z*0P2(m@))11TjP~AXp`=S&R$VYM5(S7lJ~FwJOIQ5-_O>xv-!rEzZnKSIA9G&PdG5 zEY2-fNJ%YDF3L<wO;O0qQwVSkP%t$#*W=<+P*6|^N-ZfZ$}3hV$w-9-acT;}s1#V} z=z&#N@#p5Jq!#7r!t4ssWV*$Yotc+%OCUWbKPfRMr!qb_F)uMaHKj@-peVH<u?Xar z@{H8f9Jr~P>_wmyb&I7Su_U7i6mYi$i%XLVit>|Fi;LqSk#<X=0IWSV9%fg3T7FS{ z5-2X>!RFm!$}hgfl9ivCr^$AU6C#nCS9Xg%DKR-aH815BKU`-?Zb3?B(Jdah0Eov1 zwTK6ld@}RW^5au7i&ioei7+rQ{PNZ>$t}<?$Slw;%_{(zm!b={RJS}gyQnlJrx+xs zAD@|5l3J9Pn4_Ox08O36`e2vn!>rOPsJtZzO}q%d2!T?D1Sq+%F)=bRF#Ts^VPj%r z;b7!pWMO3bFTqkI#=yX!DR_%LK0YNsIX?atdrp3OdS+gF5f1|c!!5aj%mO{Q?Rupp znK{LJh%kf%sth(oC8@auAdf<#Knkmp$^wu@EFg=-Q5Asw7N43|R>TUDl?Ka}rRJsN z7wHv%vxHuGQDQ+sYEf|!C>Pw~OiwNG$xlyDExN@KAD@?)n;IW~iw)$L)FQAS!NHA0 nh=R=Ju*uC&Da}c>V+4g0C_-46IT$&Zco=yYd6-zhBo{LPfQD<* diff --git a/.venv/lib/python3.8/site-packages/pip/_internal/operations/build/__pycache__/metadata_legacy.cpython-38.pyc b/.venv/lib/python3.8/site-packages/pip/_internal/operations/build/__pycache__/metadata_legacy.cpython-38.pyc deleted file mode 100644 index a15b2e2f025f992ec639cb2870a48a4fbaf70159..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3268 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 Dw6cO4 diff --git a/.venv/lib/python3.8/site-packages/pip/_internal/operations/build/__pycache__/wheel.cpython-38.pyc b/.venv/lib/python3.8/site-packages/pip/_internal/operations/build/__pycache__/wheel.cpython-38.pyc deleted file mode 100644 index 0471acc895f37a213e38c07c39066d1467f33b56..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1306 zcmWIL<>g{vU|=}A?@#hxRtAR0APzESW?*1&U|?V<j$>e8NMT4}%wdRv(2P-xDGVu0 zIZV0CQOt}WG3FeWT-GR7Mut?@B99b?6qX#eT=ppTT#hIXusmxHXD(M17b8O|!vgM9 zo`sB2yeVuc>@5sYd?}2<44ND-K{oqoGTxFdD$UDFEs8JCEXjy3F31FPa#M?o6Vp>Q z8E*;sMg~O2JA1e~d&dWb`uTbKxoa}rV)4l=F1f|wUr>^npO=`U$#_d3Ahp2M(A*<G zKifGmCnvQinH6LM6tgohFmN(3FgSy}H-mwJp@u1iF`KiPr-Y%2v4*)wrG#+-QwmcJ zLmHzP!$L+z29P7GoJtrMFsCrruq<R^WGG=tVOhXh!?2LCnX#6&hH(K~4eLV2ei257 z8pbU48kQQS6xLp*TDEWoQ-(l>AchEraE3f37KRdzY_6gXMg|ZB+rn1E05UHUY)1q` z31=490`3}?8n%T@!3>)0RlQE7nK>y6`FW`do_WP3i8(nzsfDGPMX9-|c_j*^#hH2O z3MCn-3IVPG3Z{nU3Q1t)1x5MEsl~;5TwDqY3JO7~C8b4q#R>(9B^e4O`3mJ3si`>% znQ02erO6;=X{9+im0+DEdJ6s}8L36(nZ>C(3Pn(Te))N+dSH|Ms@$9t^YZdbz^YTA zCZ**UDX11h9RqVnc}8lUg03#uJ-Yees8Pr)RwyV+El$lVsgiU_EiTE-O9VxkLP};) zYH~?_QKglFYH^i3*vlY~K^zJ)zPeUH18TA+C>`XcmL#SmmL$f*wN}ZvC1&QNra)YV zs#~>KljjznV{vh65y(E*qN4nwTWmS`>FKFOw^&obT-KD-q|)>vCI$wETWo3hMY)M3 zw*-qzlb}Hv4@sD}xWOKZ2fOSRr)x!WD%fkcnDUEnv48^j7E4xsW}YVdEtb5*+|*m_ zNr}nXsd*_yphS0z7or;y9L2X-OHy+SQf{$9&E^7|8V}O9lA%bFfq~(dhki+Jfqp?| zfo^GD0m!5jU9ckE^4#pA(v+NHkeq&eW?o5ZQC?z>ettn}5jaeX^}$x@gH`JlRNfK- z^C1q8F92r`K2ZAC0A&gu9!3@>Hb$2JY)mYSOpH8COpF}=S(tekK|H2^A}oB2Jd7NS zMbZom44VA6*g-*;nU`K9017R+g3JOvxD)hBOEPnc^$;Nk2~sI+ib^UAK&F6-np<p8 z4hsVVLlG#q-jW7uDND^u$uH7_xLB{eD6ya*wWzp=4P-NCdTNOeBo;a1!QmDkUj)k8 sV26T35Q&fiY2mQR%}*)KNws4Hc^>3`4n__p9!4G}7DfR^9wshk0PjV9v;Y7A diff --git a/.venv/lib/python3.8/site-packages/pip/_internal/operations/build/__pycache__/wheel_legacy.cpython-38.pyc b/.venv/lib/python3.8/site-packages/pip/_internal/operations/build/__pycache__/wheel_legacy.cpython-38.pyc deleted file mode 100644 index 729c37004384c911dc2fd3b8872ece55b2e65163..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2567 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 Zk%NhcS%j5`k%x(eQG|($nM0IA4glN))ja?J diff --git a/.venv/lib/python3.8/site-packages/pip/_internal/operations/build/metadata.py b/.venv/lib/python3.8/site-packages/pip/_internal/operations/build/metadata.py deleted file mode 100644 index b13fbde..0000000 --- a/.venv/lib/python3.8/site-packages/pip/_internal/operations/build/metadata.py +++ /dev/null @@ -1,40 +0,0 @@ -"""Metadata generation logic for source distributions. -""" - -import logging -import os - -from pip._internal.utils.subprocess import runner_with_spinner_message -from pip._internal.utils.temp_dir import TempDirectory -from pip._internal.utils.typing import MYPY_CHECK_RUNNING - -if MYPY_CHECK_RUNNING: - from pip._internal.build_env import BuildEnvironment - from pip._vendor.pep517.wrappers import Pep517HookCaller - -logger = logging.getLogger(__name__) - - -def generate_metadata(build_env, backend): - # type: (BuildEnvironment, Pep517HookCaller) -> str - """Generate metadata using mechanisms described in PEP 517. - - Returns the generated metadata directory. - """ - metadata_tmpdir = TempDirectory( - kind="modern-metadata", globally_managed=True - ) - - metadata_dir = metadata_tmpdir.path - - with build_env: - # Note that Pep517HookCaller implements a fallback for - # prepare_metadata_for_build_wheel, so we don't have to - # consider the possibility that this hook doesn't exist. - runner = runner_with_spinner_message("Preparing wheel metadata") - with backend.subprocess_runner(runner): - distinfo_dir = backend.prepare_metadata_for_build_wheel( - metadata_dir - ) - - return os.path.join(metadata_dir, distinfo_dir) diff --git a/.venv/lib/python3.8/site-packages/pip/_internal/operations/build/metadata_legacy.py b/.venv/lib/python3.8/site-packages/pip/_internal/operations/build/metadata_legacy.py deleted file mode 100644 index b6813f8..0000000 --- a/.venv/lib/python3.8/site-packages/pip/_internal/operations/build/metadata_legacy.py +++ /dev/null @@ -1,122 +0,0 @@ -"""Metadata generation logic for legacy source distributions. -""" - -import logging -import os - -from pip._internal.exceptions import InstallationError -from pip._internal.utils.misc import ensure_dir -from pip._internal.utils.setuptools_build import make_setuptools_egg_info_args -from pip._internal.utils.subprocess import call_subprocess -from pip._internal.utils.typing import MYPY_CHECK_RUNNING -from pip._internal.vcs import vcs - -if MYPY_CHECK_RUNNING: - from typing import List, Optional - - from pip._internal.build_env import BuildEnvironment - -logger = logging.getLogger(__name__) - - -def _find_egg_info(source_directory, is_editable): - # type: (str, bool) -> str - """Find an .egg-info in `source_directory`, based on `is_editable`. - """ - - def looks_like_virtual_env(path): - # type: (str) -> bool - return ( - os.path.lexists(os.path.join(path, 'bin', 'python')) or - os.path.exists(os.path.join(path, 'Scripts', 'Python.exe')) - ) - - def locate_editable_egg_info(base): - # type: (str) -> List[str] - candidates = [] # type: List[str] - for root, dirs, files in os.walk(base): - for dir_ in vcs.dirnames: - if dir_ in dirs: - dirs.remove(dir_) - # Iterate over a copy of ``dirs``, since mutating - # a list while iterating over it can cause trouble. - # (See https://github.com/pypa/pip/pull/462.) - for dir_ in list(dirs): - if looks_like_virtual_env(os.path.join(root, dir_)): - dirs.remove(dir_) - # Also don't search through tests - elif dir_ == 'test' or dir_ == 'tests': - dirs.remove(dir_) - candidates.extend(os.path.join(root, dir_) for dir_ in dirs) - return [f for f in candidates if f.endswith('.egg-info')] - - def depth_of_directory(dir_): - # type: (str) -> int - return ( - dir_.count(os.path.sep) + - (os.path.altsep and dir_.count(os.path.altsep) or 0) - ) - - base = source_directory - if is_editable: - filenames = locate_editable_egg_info(base) - else: - base = os.path.join(base, 'pip-egg-info') - filenames = os.listdir(base) - - if not filenames: - raise InstallationError( - "Files/directories not found in {}".format(base) - ) - - # If we have more than one match, we pick the toplevel one. This - # can easily be the case if there is a dist folder which contains - # an extracted tarball for testing purposes. - if len(filenames) > 1: - filenames.sort(key=depth_of_directory) - - return os.path.join(base, filenames[0]) - - -def generate_metadata( - build_env, # type: BuildEnvironment - setup_py_path, # type: str - source_dir, # type: str - editable, # type: bool - isolated, # type: bool - details, # type: str -): - # type: (...) -> str - """Generate metadata using setup.py-based defacto mechanisms. - - Returns the generated metadata directory. - """ - logger.debug( - 'Running setup.py (path:%s) egg_info for package %s', - setup_py_path, details, - ) - - egg_info_dir = None # type: Optional[str] - # For non-editable installs, don't put the .egg-info files at the root, - # to avoid confusion due to the source code being considered an installed - # egg. - if not editable: - egg_info_dir = os.path.join(source_dir, 'pip-egg-info') - # setuptools complains if the target directory does not exist. - ensure_dir(egg_info_dir) - - args = make_setuptools_egg_info_args( - setup_py_path, - egg_info_dir=egg_info_dir, - no_user_config=isolated, - ) - - with build_env: - call_subprocess( - args, - cwd=source_dir, - command_desc='python setup.py egg_info', - ) - - # Return the .egg-info directory. - return _find_egg_info(source_dir, editable) diff --git a/.venv/lib/python3.8/site-packages/pip/_internal/operations/build/wheel.py b/.venv/lib/python3.8/site-packages/pip/_internal/operations/build/wheel.py deleted file mode 100644 index 1266ce0..0000000 --- a/.venv/lib/python3.8/site-packages/pip/_internal/operations/build/wheel.py +++ /dev/null @@ -1,46 +0,0 @@ -import logging -import os - -from pip._internal.utils.subprocess import runner_with_spinner_message -from pip._internal.utils.typing import MYPY_CHECK_RUNNING - -if MYPY_CHECK_RUNNING: - from typing import List, Optional - from pip._vendor.pep517.wrappers import Pep517HookCaller - -logger = logging.getLogger(__name__) - - -def build_wheel_pep517( - name, # type: str - backend, # type: Pep517HookCaller - metadata_directory, # type: str - build_options, # type: List[str] - tempd, # type: str -): - # type: (...) -> Optional[str] - """Build one InstallRequirement using the PEP 517 build process. - - Returns path to wheel if successfully built. Otherwise, returns None. - """ - assert metadata_directory is not None - if build_options: - # PEP 517 does not support --build-options - logger.error('Cannot build wheel for %s using PEP 517 when ' - '--build-option is present' % (name,)) - return None - try: - logger.debug('Destination directory: %s', tempd) - - runner = runner_with_spinner_message( - 'Building wheel for {} (PEP 517)'.format(name) - ) - with backend.subprocess_runner(runner): - wheel_name = backend.build_wheel( - tempd, - metadata_directory=metadata_directory, - ) - except Exception: - logger.error('Failed building wheel for %s', name) - return None - return os.path.join(tempd, wheel_name) diff --git a/.venv/lib/python3.8/site-packages/pip/_internal/operations/build/wheel_legacy.py b/.venv/lib/python3.8/site-packages/pip/_internal/operations/build/wheel_legacy.py deleted file mode 100644 index 3ebd9fe..0000000 --- a/.venv/lib/python3.8/site-packages/pip/_internal/operations/build/wheel_legacy.py +++ /dev/null @@ -1,115 +0,0 @@ -import logging -import os.path - -from pip._internal.utils.setuptools_build import ( - make_setuptools_bdist_wheel_args, -) -from pip._internal.utils.subprocess import ( - LOG_DIVIDER, - call_subprocess, - format_command_args, -) -from pip._internal.utils.typing import MYPY_CHECK_RUNNING -from pip._internal.utils.ui import open_spinner - -if MYPY_CHECK_RUNNING: - from typing import List, Optional, Text - -logger = logging.getLogger(__name__) - - -def format_command_result( - command_args, # type: List[str] - command_output, # type: Text -): - # type: (...) -> str - """Format command information for logging.""" - command_desc = format_command_args(command_args) - text = 'Command arguments: {}\n'.format(command_desc) - - if not command_output: - text += 'Command output: None' - elif logger.getEffectiveLevel() > logging.DEBUG: - text += 'Command output: [use --verbose to show]' - else: - if not command_output.endswith('\n'): - command_output += '\n' - text += 'Command output:\n{}{}'.format(command_output, LOG_DIVIDER) - - return text - - -def get_legacy_build_wheel_path( - names, # type: List[str] - temp_dir, # type: str - name, # type: str - command_args, # type: List[str] - command_output, # type: Text -): - # type: (...) -> Optional[str] - """Return the path to the wheel in the temporary build directory.""" - # Sort for determinism. - names = sorted(names) - if not names: - msg = ( - 'Legacy build of wheel for {!r} created no files.\n' - ).format(name) - msg += format_command_result(command_args, command_output) - logger.warning(msg) - return None - - if len(names) > 1: - msg = ( - 'Legacy build of wheel for {!r} created more than one file.\n' - 'Filenames (choosing first): {}\n' - ).format(name, names) - msg += format_command_result(command_args, command_output) - logger.warning(msg) - - return os.path.join(temp_dir, names[0]) - - -def build_wheel_legacy( - name, # type: str - setup_py_path, # type: str - source_dir, # type: str - global_options, # type: List[str] - build_options, # type: List[str] - tempd, # type: str -): - # type: (...) -> Optional[str] - """Build one unpacked package using the "legacy" build process. - - Returns path to wheel if successfully built. Otherwise, returns None. - """ - wheel_args = make_setuptools_bdist_wheel_args( - setup_py_path, - global_options=global_options, - build_options=build_options, - destination_dir=tempd, - ) - - spin_message = 'Building wheel for %s (setup.py)' % (name,) - with open_spinner(spin_message) as spinner: - logger.debug('Destination directory: %s', tempd) - - try: - output = call_subprocess( - wheel_args, - cwd=source_dir, - spinner=spinner, - ) - except Exception: - spinner.finish("error") - logger.error('Failed building wheel for %s', name) - return None - - names = os.listdir(tempd) - wheel_path = get_legacy_build_wheel_path( - names=names, - temp_dir=tempd, - name=name, - command_args=wheel_args, - command_output=output, - ) - return wheel_path diff --git a/.venv/lib/python3.8/site-packages/pip/_internal/operations/check.py b/.venv/lib/python3.8/site-packages/pip/_internal/operations/check.py deleted file mode 100644 index b85a123..0000000 --- a/.venv/lib/python3.8/site-packages/pip/_internal/operations/check.py +++ /dev/null @@ -1,163 +0,0 @@ -"""Validation of dependencies of packages -""" - -# The following comment should be removed at some point in the future. -# mypy: strict-optional=False -# mypy: disallow-untyped-defs=False - -import logging -from collections import namedtuple - -from pip._vendor.packaging.utils import canonicalize_name -from pip._vendor.pkg_resources import RequirementParseError - -from pip._internal.distributions import ( - make_distribution_for_install_requirement, -) -from pip._internal.utils.misc import get_installed_distributions -from pip._internal.utils.typing import MYPY_CHECK_RUNNING - -logger = logging.getLogger(__name__) - -if MYPY_CHECK_RUNNING: - from pip._internal.req.req_install import InstallRequirement - from typing import ( - Any, Callable, Dict, Optional, Set, Tuple, List - ) - - # Shorthands - PackageSet = Dict[str, 'PackageDetails'] - Missing = Tuple[str, Any] - Conflicting = Tuple[str, str, Any] - - MissingDict = Dict[str, List[Missing]] - ConflictingDict = Dict[str, List[Conflicting]] - CheckResult = Tuple[MissingDict, ConflictingDict] - -PackageDetails = namedtuple('PackageDetails', ['version', 'requires']) - - -def create_package_set_from_installed(**kwargs): - # type: (**Any) -> Tuple[PackageSet, bool] - """Converts a list of distributions into a PackageSet. - """ - # Default to using all packages installed on the system - if kwargs == {}: - kwargs = {"local_only": False, "skip": ()} - - package_set = {} - problems = False - for dist in get_installed_distributions(**kwargs): - name = canonicalize_name(dist.project_name) - try: - package_set[name] = PackageDetails(dist.version, dist.requires()) - except RequirementParseError as e: - # Don't crash on broken metadata - logger.warning("Error parsing requirements for %s: %s", name, e) - problems = True - return package_set, problems - - -def check_package_set(package_set, should_ignore=None): - # type: (PackageSet, Optional[Callable[[str], bool]]) -> CheckResult - """Check if a package set is consistent - - If should_ignore is passed, it should be a callable that takes a - package name and returns a boolean. - """ - if should_ignore is None: - def should_ignore(name): - return False - - missing = {} - conflicting = {} - - for package_name in package_set: - # Info about dependencies of package_name - missing_deps = set() # type: Set[Missing] - conflicting_deps = set() # type: Set[Conflicting] - - if should_ignore(package_name): - continue - - for req in package_set[package_name].requires: - name = canonicalize_name(req.project_name) # type: str - - # Check if it's missing - if name not in package_set: - missed = True - if req.marker is not None: - missed = req.marker.evaluate() - if missed: - missing_deps.add((name, req)) - continue - - # Check if there's a conflict - version = package_set[name].version # type: str - if not req.specifier.contains(version, prereleases=True): - conflicting_deps.add((name, version, req)) - - if missing_deps: - missing[package_name] = sorted(missing_deps, key=str) - if conflicting_deps: - conflicting[package_name] = sorted(conflicting_deps, key=str) - - return missing, conflicting - - -def check_install_conflicts(to_install): - # type: (List[InstallRequirement]) -> Tuple[PackageSet, CheckResult] - """For checking if the dependency graph would be consistent after \ - installing given requirements - """ - # Start from the current state - package_set, _ = create_package_set_from_installed() - # Install packages - would_be_installed = _simulate_installation_of(to_install, package_set) - - # Only warn about directly-dependent packages; create a whitelist of them - whitelist = _create_whitelist(would_be_installed, package_set) - - return ( - package_set, - check_package_set( - package_set, should_ignore=lambda name: name not in whitelist - ) - ) - - -def _simulate_installation_of(to_install, package_set): - # type: (List[InstallRequirement], PackageSet) -> Set[str] - """Computes the version of packages after installing to_install. - """ - - # Keep track of packages that were installed - installed = set() - - # Modify it as installing requirement_set would (assuming no errors) - for inst_req in to_install: - abstract_dist = make_distribution_for_install_requirement(inst_req) - dist = abstract_dist.get_pkg_resources_distribution() - - name = canonicalize_name(dist.key) - package_set[name] = PackageDetails(dist.version, dist.requires()) - - installed.add(name) - - return installed - - -def _create_whitelist(would_be_installed, package_set): - # type: (Set[str], PackageSet) -> Set[str] - packages_affected = set(would_be_installed) - - for package_name in package_set: - if package_name in packages_affected: - continue - - for req in package_set[package_name].requires: - if canonicalize_name(req.name) in packages_affected: - packages_affected.add(package_name) - break - - return packages_affected diff --git a/.venv/lib/python3.8/site-packages/pip/_internal/operations/freeze.py b/.venv/lib/python3.8/site-packages/pip/_internal/operations/freeze.py deleted file mode 100644 index 36a5c33..0000000 --- a/.venv/lib/python3.8/site-packages/pip/_internal/operations/freeze.py +++ /dev/null @@ -1,265 +0,0 @@ -# The following comment should be removed at some point in the future. -# mypy: strict-optional=False -# mypy: disallow-untyped-defs=False - -from __future__ import absolute_import - -import collections -import logging -import os -import re - -from pip._vendor import six -from pip._vendor.packaging.utils import canonicalize_name -from pip._vendor.pkg_resources import RequirementParseError - -from pip._internal.exceptions import BadCommand, InstallationError -from pip._internal.req.constructors import ( - install_req_from_editable, - install_req_from_line, -) -from pip._internal.req.req_file import COMMENT_RE -from pip._internal.utils.misc import ( - dist_is_editable, - get_installed_distributions, -) -from pip._internal.utils.typing import MYPY_CHECK_RUNNING - -if MYPY_CHECK_RUNNING: - from typing import ( - Iterator, Optional, List, Container, Set, Dict, Tuple, Iterable, Union - ) - from pip._internal.cache import WheelCache - from pip._vendor.pkg_resources import ( - Distribution, Requirement - ) - - RequirementInfo = Tuple[Optional[Union[str, Requirement]], bool, List[str]] - - -logger = logging.getLogger(__name__) - - -def freeze( - requirement=None, # type: Optional[List[str]] - find_links=None, # type: Optional[List[str]] - local_only=None, # type: Optional[bool] - user_only=None, # type: Optional[bool] - paths=None, # type: Optional[List[str]] - skip_regex=None, # type: Optional[str] - isolated=False, # type: bool - wheel_cache=None, # type: Optional[WheelCache] - exclude_editable=False, # type: bool - skip=() # type: Container[str] -): - # type: (...) -> Iterator[str] - find_links = find_links or [] - skip_match = None - - if skip_regex: - skip_match = re.compile(skip_regex).search - - for link in find_links: - yield '-f %s' % link - installations = {} # type: Dict[str, FrozenRequirement] - for dist in get_installed_distributions(local_only=local_only, - skip=(), - user_only=user_only, - paths=paths): - try: - req = FrozenRequirement.from_dist(dist) - except RequirementParseError as exc: - # We include dist rather than dist.project_name because the - # dist string includes more information, like the version and - # location. We also include the exception message to aid - # troubleshooting. - logger.warning( - 'Could not generate requirement for distribution %r: %s', - dist, exc - ) - continue - if exclude_editable and req.editable: - continue - installations[req.canonical_name] = req - - if requirement: - # the options that don't get turned into an InstallRequirement - # should only be emitted once, even if the same option is in multiple - # requirements files, so we need to keep track of what has been emitted - # so that we don't emit it again if it's seen again - emitted_options = set() # type: Set[str] - # keep track of which files a requirement is in so that we can - # give an accurate warning if a requirement appears multiple times. - req_files = collections.defaultdict(list) # type: Dict[str, List[str]] - for req_file_path in requirement: - with open(req_file_path) as req_file: - for line in req_file: - if (not line.strip() or - line.strip().startswith('#') or - (skip_match and skip_match(line)) or - line.startswith(( - '-r', '--requirement', - '-Z', '--always-unzip', - '-f', '--find-links', - '-i', '--index-url', - '--pre', - '--trusted-host', - '--process-dependency-links', - '--extra-index-url'))): - line = line.rstrip() - if line not in emitted_options: - emitted_options.add(line) - yield line - continue - - if line.startswith('-e') or line.startswith('--editable'): - if line.startswith('-e'): - line = line[2:].strip() - else: - line = line[len('--editable'):].strip().lstrip('=') - line_req = install_req_from_editable( - line, - isolated=isolated, - wheel_cache=wheel_cache, - ) - else: - line_req = install_req_from_line( - COMMENT_RE.sub('', line).strip(), - isolated=isolated, - wheel_cache=wheel_cache, - ) - - if not line_req.name: - logger.info( - "Skipping line in requirement file [%s] because " - "it's not clear what it would install: %s", - req_file_path, line.strip(), - ) - logger.info( - " (add #egg=PackageName to the URL to avoid" - " this warning)" - ) - else: - line_req_canonical_name = canonicalize_name( - line_req.name) - if line_req_canonical_name not in installations: - # either it's not installed, or it is installed - # but has been processed already - if not req_files[line_req.name]: - logger.warning( - "Requirement file [%s] contains %s, but " - "package %r is not installed", - req_file_path, - COMMENT_RE.sub('', line).strip(), - line_req.name - ) - else: - req_files[line_req.name].append(req_file_path) - else: - yield str(installations[ - line_req_canonical_name]).rstrip() - del installations[line_req_canonical_name] - req_files[line_req.name].append(req_file_path) - - # Warn about requirements that were included multiple times (in a - # single requirements file or in different requirements files). - for name, files in six.iteritems(req_files): - if len(files) > 1: - logger.warning("Requirement %s included multiple times [%s]", - name, ', '.join(sorted(set(files)))) - - yield( - '## The following requirements were added by ' - 'pip freeze:' - ) - for installation in sorted( - installations.values(), key=lambda x: x.name.lower()): - if installation.canonical_name not in skip: - yield str(installation).rstrip() - - -def get_requirement_info(dist): - # type: (Distribution) -> RequirementInfo - """ - Compute and return values (req, editable, comments) for use in - FrozenRequirement.from_dist(). - """ - if not dist_is_editable(dist): - return (None, False, []) - - location = os.path.normcase(os.path.abspath(dist.location)) - - from pip._internal.vcs import vcs, RemoteNotFoundError - vcs_backend = vcs.get_backend_for_dir(location) - - if vcs_backend is None: - req = dist.as_requirement() - logger.debug( - 'No VCS found for editable requirement "%s" in: %r', req, - location, - ) - comments = [ - '# Editable install with no version control ({})'.format(req) - ] - return (location, True, comments) - - try: - req = vcs_backend.get_src_requirement(location, dist.project_name) - except RemoteNotFoundError: - req = dist.as_requirement() - comments = [ - '# Editable {} install with no remote ({})'.format( - type(vcs_backend).__name__, req, - ) - ] - return (location, True, comments) - - except BadCommand: - logger.warning( - 'cannot determine version of editable source in %s ' - '(%s command not found in path)', - location, - vcs_backend.name, - ) - return (None, True, []) - - except InstallationError as exc: - logger.warning( - "Error when trying to get requirement for VCS system %s, " - "falling back to uneditable format", exc - ) - else: - if req is not None: - return (req, True, []) - - logger.warning( - 'Could not determine repository location of %s', location - ) - comments = ['## !! Could not determine repository location'] - - return (None, False, comments) - - -class FrozenRequirement(object): - def __init__(self, name, req, editable, comments=()): - # type: (str, Union[str, Requirement], bool, Iterable[str]) -> None - self.name = name - self.canonical_name = canonicalize_name(name) - self.req = req - self.editable = editable - self.comments = comments - - @classmethod - def from_dist(cls, dist): - # type: (Distribution) -> FrozenRequirement - req, editable, comments = get_requirement_info(dist) - if req is None: - req = dist.as_requirement() - - return cls(dist.project_name, req, editable, comments=comments) - - def __str__(self): - req = self.req - if self.editable: - req = '-e %s' % req - return '\n'.join(list(self.comments) + [str(req)]) + '\n' diff --git a/.venv/lib/python3.8/site-packages/pip/_internal/operations/install/__init__.py b/.venv/lib/python3.8/site-packages/pip/_internal/operations/install/__init__.py deleted file mode 100644 index 24d6a5d..0000000 --- a/.venv/lib/python3.8/site-packages/pip/_internal/operations/install/__init__.py +++ /dev/null @@ -1,2 +0,0 @@ -"""For modules related to installing packages. -""" diff --git a/.venv/lib/python3.8/site-packages/pip/_internal/operations/install/__pycache__/__init__.cpython-38.pyc b/.venv/lib/python3.8/site-packages/pip/_internal/operations/install/__pycache__/__init__.cpython-38.pyc deleted file mode 100644 index 7367a3939500ecd306757a9e1467c5543ff6efec..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 224 zcmWIL<>g{vU|=}A?@zKZ0|Ucj5C<7EGB7YWFfcF_b1*P4q%cG=q%a0EXfjplxaAiq z<mRW8=A;%Y6s6`QmZYXAl;kU9<`tJD=Hz7Nr7IL9CTAz6rxxpR`DrrVVvmnc$xn`t zU&&C!#J~U{e);N`<QC``WESX_=7E%_rs$Suq^9QRmgi;{m8RqrgXHw%GxJJPi}Dh4 r^z#c+ixNvR^Ye=Jp%&@K$7kkcmc+;F6;$5huz|S94&>_3Aa4Kw=-NRr diff --git a/.venv/lib/python3.8/site-packages/pip/_internal/operations/install/__pycache__/editable_legacy.cpython-38.pyc b/.venv/lib/python3.8/site-packages/pip/_internal/operations/install/__pycache__/editable_legacy.cpython-38.pyc deleted file mode 100644 index 5a5b2c8a563409d05ef04609cc2ce699be6c944c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1302 zcmWIL<>g{vU|=}A?@#gtRtAR0APzESW?*1&U|?V<E@NO|NMVR#NMTH2%3+LROkqr6 z&SA=Bj$&p6iLvCc<g!Mwg4wJ&Y`N@F>|i!q4o5C$6elA?DrZqb3S$a;4p%OB6n8F9 z6i+U16fal}M-E>ue-u9>Ln`9}fmFeTj8Q@<oGDx_3{k=<Ou-DA+*S5Isp*Nyl?tgT znI(xyIjIVndBr7(IXQ_XnfZAN1x5MEsl~-Q3YmJTdI|}}sU@WadIgmVDXC?tIr#+% zdR#9-Uh>mqyv3E7my()S5}%WwuE}^yCO0uVH6E<KBtJi=I3B7aKCvjhSd;M<e{y0@ zPJD4`64VAw##=(ZkpYqM&K|DL-tj@9etw>Q?wZWESbQ>zOKx%a7l7Q8m~)FGIJK}e zH7_|;lkt{-Q)y;Sifdk3W>J1#ZfaghGC0IRE@EI{;AUW80P&qcVI0E1z)-@lfH8%! zhIJtmBSQ&O4O<Ok4MPok4O0zs4ND4BFMBOl33D?;zY-%u4M)EaBSQ&G4Ob0k3Ue<L zBSScYDMKJb5JLnKD}^PPL6fyA+7l9D3W*8@iOJcC>7Xz~glBGkN~)fMZ+>x!LSj*R zDae_{3W-Ij3I&P9#kwUKMfs)a8C(hq3JN9p3WxyH0}EBj2bJdKW#*+rWRQYhAuYd1 zLA6+u?G|5pPJU8iPJBK%h>CCVLt_vwz?YXFUs{}66rY@*mzJ4+i>;t2H7&E^7E4Bc zZt5-G(&AKzba7@0C{&q~%TxR`S#PoB<fo^n7TsdW%uCBJ0;Sd>CI$wEA{GV)22JiF zQ1BLk!ncSQB+3UO_!$@&Zn5Mgf{X=wCBC3Cz96wA;}%C|aehu>NovY1&LmKz#i!<# z-I6TL1BF;>N_=sCX;E@&d`f0fYH~?_QROWbP&!%3P$bE~!0;<Xza+OnzaX<f7p6hC zJR>zVN4GpTyQnlJrx+xsAD@|5l3J9Pn4_OxkXi&zzs35{u+WDk@Aw>Wa@Q-Uyd?mY zi-*YxgA$4YDD?>NFflQrz@Kbf9E@xbv42I<pdb*r#U3A@lAjzOe~TRyRGE3{x1<X) z3-sU)(JL*<%qiA`N`gc0mI^i%;IM+^6L9E&L;IE-R;BPP1CEGWQrHxgR2F3Br5CY+ zqJs^}VFN`FJBZ)_35%oZ16vD<lp;=$EN6OZi4P?DIpX6%5gH#~BnZ+B@;W$HkO(P| m77m--{FKt1R69mcFp4lRFt9LjF!3;gArlLu2on!87c&4a%z)GY diff --git a/.venv/lib/python3.8/site-packages/pip/_internal/operations/install/__pycache__/legacy.cpython-38.pyc b/.venv/lib/python3.8/site-packages/pip/_internal/operations/install/__pycache__/legacy.cpython-38.pyc deleted file mode 100644 index 20479b7fef36a09b6e652c3f4694c1fa72aa7866..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3048 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 H=3)i_v{aHQ diff --git a/.venv/lib/python3.8/site-packages/pip/_internal/operations/install/__pycache__/wheel.cpython-38.pyc b/.venv/lib/python3.8/site-packages/pip/_internal/operations/install/__pycache__/wheel.cpython-38.pyc deleted file mode 100644 index 778cf30689dbb3487bfec16a253aa90d7b8c0ed2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 14582 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 O>KSYq7#SEDegXhh$uchh diff --git a/.venv/lib/python3.8/site-packages/pip/_internal/operations/install/editable_legacy.py b/.venv/lib/python3.8/site-packages/pip/_internal/operations/install/editable_legacy.py deleted file mode 100644 index a668a61..0000000 --- a/.venv/lib/python3.8/site-packages/pip/_internal/operations/install/editable_legacy.py +++ /dev/null @@ -1,52 +0,0 @@ -"""Legacy editable installation process, i.e. `setup.py develop`. -""" -import logging - -from pip._internal.utils.logging import indent_log -from pip._internal.utils.setuptools_build import make_setuptools_develop_args -from pip._internal.utils.subprocess import call_subprocess -from pip._internal.utils.typing import MYPY_CHECK_RUNNING - -if MYPY_CHECK_RUNNING: - from typing import List, Optional, Sequence - - from pip._internal.build_env import BuildEnvironment - - -logger = logging.getLogger(__name__) - - -def install_editable( - install_options, # type: List[str] - global_options, # type: Sequence[str] - prefix, # type: Optional[str] - home, # type: Optional[str] - use_user_site, # type: bool - name, # type: str - setup_py_path, # type: str - isolated, # type: bool - build_env, # type: BuildEnvironment - unpacked_source_directory, # type: str -): - # type: (...) -> None - """Install a package in editable mode. Most arguments are pass-through - to setuptools. - """ - logger.info('Running setup.py develop for %s', name) - - args = make_setuptools_develop_args( - setup_py_path, - global_options=global_options, - install_options=install_options, - no_user_config=isolated, - prefix=prefix, - home=home, - use_user_site=use_user_site, - ) - - with indent_log(): - with build_env: - call_subprocess( - args, - cwd=unpacked_source_directory, - ) diff --git a/.venv/lib/python3.8/site-packages/pip/_internal/operations/install/legacy.py b/.venv/lib/python3.8/site-packages/pip/_internal/operations/install/legacy.py deleted file mode 100644 index 2d4adc4..0000000 --- a/.venv/lib/python3.8/site-packages/pip/_internal/operations/install/legacy.py +++ /dev/null @@ -1,129 +0,0 @@ -"""Legacy installation process, i.e. `setup.py install`. -""" - -import logging -import os -from distutils.util import change_root - -from pip._internal.utils.deprecation import deprecated -from pip._internal.utils.logging import indent_log -from pip._internal.utils.misc import ensure_dir -from pip._internal.utils.setuptools_build import make_setuptools_install_args -from pip._internal.utils.subprocess import runner_with_spinner_message -from pip._internal.utils.temp_dir import TempDirectory -from pip._internal.utils.typing import MYPY_CHECK_RUNNING - -if MYPY_CHECK_RUNNING: - from typing import List, Optional, Sequence - - from pip._internal.models.scheme import Scheme - from pip._internal.req.req_install import InstallRequirement - - -logger = logging.getLogger(__name__) - - -def install( - install_req, # type: InstallRequirement - install_options, # type: List[str] - global_options, # type: Sequence[str] - root, # type: Optional[str] - home, # type: Optional[str] - prefix, # type: Optional[str] - use_user_site, # type: bool - pycompile, # type: bool - scheme, # type: Scheme -): - # type: (...) -> None - # Extend the list of global and install options passed on to - # the setup.py call with the ones from the requirements file. - # Options specified in requirements file override those - # specified on the command line, since the last option given - # to setup.py is the one that is used. - global_options = list(global_options) + \ - install_req.options.get('global_options', []) - install_options = list(install_options) + \ - install_req.options.get('install_options', []) - - header_dir = scheme.headers - - with TempDirectory(kind="record") as temp_dir: - record_filename = os.path.join(temp_dir.path, 'install-record.txt') - install_args = make_setuptools_install_args( - install_req.setup_py_path, - global_options=global_options, - install_options=install_options, - record_filename=record_filename, - root=root, - prefix=prefix, - header_dir=header_dir, - home=home, - use_user_site=use_user_site, - no_user_config=install_req.isolated, - pycompile=pycompile, - ) - - runner = runner_with_spinner_message( - "Running setup.py install for {}".format(install_req.name) - ) - with indent_log(), install_req.build_env: - runner( - cmd=install_args, - cwd=install_req.unpacked_source_directory, - ) - - if not os.path.exists(record_filename): - logger.debug('Record file %s not found', record_filename) - return - install_req.install_succeeded = True - - # We intentionally do not use any encoding to read the file because - # setuptools writes the file using distutils.file_util.write_file, - # which does not specify an encoding. - with open(record_filename) as f: - record_lines = f.read().splitlines() - - def prepend_root(path): - # type: (str) -> str - if root is None or not os.path.isabs(path): - return path - else: - return change_root(root, path) - - for line in record_lines: - directory = os.path.dirname(line) - if directory.endswith('.egg-info'): - egg_info_dir = prepend_root(directory) - break - else: - deprecated( - reason=( - "{} did not indicate that it installed an " - ".egg-info directory. Only setup.py projects " - "generating .egg-info directories are supported." - ).format(install_req), - replacement=( - "for maintainers: updating the setup.py of {0}. " - "For users: contact the maintainers of {0} to let " - "them know to update their setup.py.".format( - install_req.name - ) - ), - gone_in="20.2", - issue=6998, - ) - # FIXME: put the record somewhere - return - new_lines = [] - for line in record_lines: - filename = line.strip() - if os.path.isdir(filename): - filename += os.path.sep - new_lines.append( - os.path.relpath(prepend_root(filename), egg_info_dir) - ) - new_lines.sort() - ensure_dir(egg_info_dir) - inst_files_path = os.path.join(egg_info_dir, 'installed-files.txt') - with open(inst_files_path, 'w') as f: - f.write('\n'.join(new_lines) + '\n') diff --git a/.venv/lib/python3.8/site-packages/pip/_internal/operations/install/wheel.py b/.venv/lib/python3.8/site-packages/pip/_internal/operations/install/wheel.py deleted file mode 100644 index aac975c..0000000 --- a/.venv/lib/python3.8/site-packages/pip/_internal/operations/install/wheel.py +++ /dev/null @@ -1,615 +0,0 @@ -"""Support for installing and building the "wheel" binary package format. -""" - -# The following comment should be removed at some point in the future. -# mypy: strict-optional=False - -from __future__ import absolute_import - -import collections -import compileall -import csv -import logging -import os.path -import re -import shutil -import stat -import sys -import warnings -from base64 import urlsafe_b64encode -from zipfile import ZipFile - -from pip._vendor import pkg_resources -from pip._vendor.distlib.scripts import ScriptMaker -from pip._vendor.distlib.util import get_export_entry -from pip._vendor.six import StringIO - -from pip._internal.exceptions import InstallationError -from pip._internal.locations import get_major_minor_version -from pip._internal.utils.misc import captured_stdout, ensure_dir, hash_file -from pip._internal.utils.temp_dir import TempDirectory -from pip._internal.utils.typing import MYPY_CHECK_RUNNING -from pip._internal.utils.unpacking import unpack_file -from pip._internal.utils.wheel import parse_wheel - -if MYPY_CHECK_RUNNING: - from email.message import Message - from typing import ( - Dict, List, Optional, Sequence, Tuple, IO, Text, Any, - Iterable, Callable, Set, - ) - - from pip._internal.models.scheme import Scheme - - InstalledCSVRow = Tuple[str, ...] - - -logger = logging.getLogger(__name__) - - -def normpath(src, p): - # type: (str, str) -> str - return os.path.relpath(src, p).replace(os.path.sep, '/') - - -def rehash(path, blocksize=1 << 20): - # type: (str, int) -> Tuple[str, str] - """Return (encoded_digest, length) for path using hashlib.sha256()""" - h, length = hash_file(path, blocksize) - digest = 'sha256=' + urlsafe_b64encode( - h.digest() - ).decode('latin1').rstrip('=') - # unicode/str python2 issues - return (digest, str(length)) # type: ignore - - -def open_for_csv(name, mode): - # type: (str, Text) -> IO[Any] - if sys.version_info[0] < 3: - nl = {} # type: Dict[str, Any] - bin = 'b' - else: - nl = {'newline': ''} # type: Dict[str, Any] - bin = '' - return open(name, mode + bin, **nl) - - -def fix_script(path): - # type: (str) -> Optional[bool] - """Replace #!python with #!/path/to/python - Return True if file was changed. - """ - # XXX RECORD hashes will need to be updated - if os.path.isfile(path): - with open(path, 'rb') as script: - firstline = script.readline() - if not firstline.startswith(b'#!python'): - return False - exename = sys.executable.encode(sys.getfilesystemencoding()) - firstline = b'#!' + exename + os.linesep.encode("ascii") - rest = script.read() - with open(path, 'wb') as script: - script.write(firstline) - script.write(rest) - return True - return None - - -def wheel_root_is_purelib(metadata): - # type: (Message) -> bool - return metadata.get("Root-Is-Purelib", "").lower() == "true" - - -def get_entrypoints(filename): - # type: (str) -> Tuple[Dict[str, str], Dict[str, str]] - if not os.path.exists(filename): - return {}, {} - - # This is done because you can pass a string to entry_points wrappers which - # means that they may or may not be valid INI files. The attempt here is to - # strip leading and trailing whitespace in order to make them valid INI - # files. - with open(filename) as fp: - data = StringIO() - for line in fp: - data.write(line.strip()) - data.write("\n") - data.seek(0) - - # get the entry points and then the script names - entry_points = pkg_resources.EntryPoint.parse_map(data) - console = entry_points.get('console_scripts', {}) - gui = entry_points.get('gui_scripts', {}) - - def _split_ep(s): - # type: (pkg_resources.EntryPoint) -> Tuple[str, str] - """get the string representation of EntryPoint, - remove space and split on '=' - """ - split_parts = str(s).replace(" ", "").split("=") - return split_parts[0], split_parts[1] - - # convert the EntryPoint objects into strings with module:function - console = dict(_split_ep(v) for v in console.values()) - gui = dict(_split_ep(v) for v in gui.values()) - return console, gui - - -def message_about_scripts_not_on_PATH(scripts): - # type: (Sequence[str]) -> Optional[str] - """Determine if any scripts are not on PATH and format a warning. - Returns a warning message if one or more scripts are not on PATH, - otherwise None. - """ - if not scripts: - return None - - # Group scripts by the path they were installed in - grouped_by_dir = collections.defaultdict(set) # type: Dict[str, Set[str]] - for destfile in scripts: - parent_dir = os.path.dirname(destfile) - script_name = os.path.basename(destfile) - grouped_by_dir[parent_dir].add(script_name) - - # We don't want to warn for directories that are on PATH. - not_warn_dirs = [ - os.path.normcase(i).rstrip(os.sep) for i in - os.environ.get("PATH", "").split(os.pathsep) - ] - # If an executable sits with sys.executable, we don't warn for it. - # This covers the case of venv invocations without activating the venv. - not_warn_dirs.append(os.path.normcase(os.path.dirname(sys.executable))) - warn_for = { - parent_dir: scripts for parent_dir, scripts in grouped_by_dir.items() - if os.path.normcase(parent_dir) not in not_warn_dirs - } # type: Dict[str, Set[str]] - if not warn_for: - return None - - # Format a message - msg_lines = [] - for parent_dir, dir_scripts in warn_for.items(): - sorted_scripts = sorted(dir_scripts) # type: List[str] - if len(sorted_scripts) == 1: - start_text = "script {} is".format(sorted_scripts[0]) - else: - start_text = "scripts {} are".format( - ", ".join(sorted_scripts[:-1]) + " and " + sorted_scripts[-1] - ) - - msg_lines.append( - "The {} installed in '{}' which is not on PATH." - .format(start_text, parent_dir) - ) - - last_line_fmt = ( - "Consider adding {} to PATH or, if you prefer " - "to suppress this warning, use --no-warn-script-location." - ) - if len(msg_lines) == 1: - msg_lines.append(last_line_fmt.format("this directory")) - else: - msg_lines.append(last_line_fmt.format("these directories")) - - # Add a note if any directory starts with ~ - warn_for_tilde = any( - i[0] == "~" for i in os.environ.get("PATH", "").split(os.pathsep) if i - ) - if warn_for_tilde: - tilde_warning_msg = ( - "NOTE: The current PATH contains path(s) starting with `~`, " - "which may not be expanded by all applications." - ) - msg_lines.append(tilde_warning_msg) - - # Returns the formatted multiline message - return "\n".join(msg_lines) - - -def sorted_outrows(outrows): - # type: (Iterable[InstalledCSVRow]) -> List[InstalledCSVRow] - """Return the given rows of a RECORD file in sorted order. - - Each row is a 3-tuple (path, hash, size) and corresponds to a record of - a RECORD file (see PEP 376 and PEP 427 for details). For the rows - passed to this function, the size can be an integer as an int or string, - or the empty string. - """ - # Normally, there should only be one row per path, in which case the - # second and third elements don't come into play when sorting. - # However, in cases in the wild where a path might happen to occur twice, - # we don't want the sort operation to trigger an error (but still want - # determinism). Since the third element can be an int or string, we - # coerce each element to a string to avoid a TypeError in this case. - # For additional background, see-- - # https://github.com/pypa/pip/issues/5868 - return sorted(outrows, key=lambda row: tuple(str(x) for x in row)) - - -def get_csv_rows_for_installed( - old_csv_rows, # type: Iterable[List[str]] - installed, # type: Dict[str, str] - changed, # type: Set[str] - generated, # type: List[str] - lib_dir, # type: str -): - # type: (...) -> List[InstalledCSVRow] - """ - :param installed: A map from archive RECORD path to installation RECORD - path. - """ - installed_rows = [] # type: List[InstalledCSVRow] - for row in old_csv_rows: - if len(row) > 3: - logger.warning( - 'RECORD line has more than three elements: {}'.format(row) - ) - # Make a copy because we are mutating the row. - row = list(row) - old_path = row[0] - new_path = installed.pop(old_path, old_path) - row[0] = new_path - if new_path in changed: - digest, length = rehash(new_path) - row[1] = digest - row[2] = length - installed_rows.append(tuple(row)) - for f in generated: - digest, length = rehash(f) - installed_rows.append((normpath(f, lib_dir), digest, str(length))) - for f in installed: - installed_rows.append((installed[f], '', '')) - return installed_rows - - -class MissingCallableSuffix(Exception): - pass - - -def _raise_for_invalid_entrypoint(specification): - # type: (str) -> None - entry = get_export_entry(specification) - if entry is not None and entry.suffix is None: - raise MissingCallableSuffix(str(entry)) - - -class PipScriptMaker(ScriptMaker): - def make(self, specification, options=None): - # type: (str, Dict[str, Any]) -> List[str] - _raise_for_invalid_entrypoint(specification) - return super(PipScriptMaker, self).make(specification, options) - - -def install_unpacked_wheel( - name, # type: str - wheeldir, # type: str - wheel_zip, # type: ZipFile - scheme, # type: Scheme - req_description, # type: str - pycompile=True, # type: bool - warn_script_location=True # type: bool -): - # type: (...) -> None - """Install a wheel. - - :param name: Name of the project to install - :param wheeldir: Base directory of the unpacked wheel - :param wheel_zip: open ZipFile for wheel being installed - :param scheme: Distutils scheme dictating the install directories - :param req_description: String used in place of the requirement, for - logging - :param pycompile: Whether to byte-compile installed Python files - :param warn_script_location: Whether to check that scripts are installed - into a directory on PATH - :raises UnsupportedWheel: - * when the directory holds an unpacked wheel with incompatible - Wheel-Version - * when the .dist-info dir does not match the wheel - """ - # TODO: Investigate and break this up. - # TODO: Look into moving this into a dedicated class for representing an - # installation. - - source = wheeldir.rstrip(os.path.sep) + os.path.sep - - info_dir, metadata = parse_wheel(wheel_zip, name) - - if wheel_root_is_purelib(metadata): - lib_dir = scheme.purelib - else: - lib_dir = scheme.platlib - - subdirs = os.listdir(source) - data_dirs = [s for s in subdirs if s.endswith('.data')] - - # Record details of the files moved - # installed = files copied from the wheel to the destination - # changed = files changed while installing (scripts #! line typically) - # generated = files newly generated during the install (script wrappers) - installed = {} # type: Dict[str, str] - changed = set() - generated = [] # type: List[str] - - # Compile all of the pyc files that we're going to be installing - if pycompile: - with captured_stdout() as stdout: - with warnings.catch_warnings(): - warnings.filterwarnings('ignore') - compileall.compile_dir(source, force=True, quiet=True) - logger.debug(stdout.getvalue()) - - def record_installed(srcfile, destfile, modified=False): - # type: (str, str, bool) -> None - """Map archive RECORD paths to installation RECORD paths.""" - oldpath = normpath(srcfile, wheeldir) - newpath = normpath(destfile, lib_dir) - installed[oldpath] = newpath - if modified: - changed.add(destfile) - - def clobber( - source, # type: str - dest, # type: str - is_base, # type: bool - fixer=None, # type: Optional[Callable[[str], Any]] - filter=None # type: Optional[Callable[[str], bool]] - ): - # type: (...) -> None - ensure_dir(dest) # common for the 'include' path - - for dir, subdirs, files in os.walk(source): - basedir = dir[len(source):].lstrip(os.path.sep) - destdir = os.path.join(dest, basedir) - if is_base and basedir == '': - subdirs[:] = [s for s in subdirs if not s.endswith('.data')] - for f in files: - # Skip unwanted files - if filter and filter(f): - continue - srcfile = os.path.join(dir, f) - destfile = os.path.join(dest, basedir, f) - # directory creation is lazy and after the file filtering above - # to ensure we don't install empty dirs; empty dirs can't be - # uninstalled. - ensure_dir(destdir) - - # copyfile (called below) truncates the destination if it - # exists and then writes the new contents. This is fine in most - # cases, but can cause a segfault if pip has loaded a shared - # object (e.g. from pyopenssl through its vendored urllib3) - # Since the shared object is mmap'd an attempt to call a - # symbol in it will then cause a segfault. Unlinking the file - # allows writing of new contents while allowing the process to - # continue to use the old copy. - if os.path.exists(destfile): - os.unlink(destfile) - - # We use copyfile (not move, copy, or copy2) to be extra sure - # that we are not moving directories over (copyfile fails for - # directories) as well as to ensure that we are not copying - # over any metadata because we want more control over what - # metadata we actually copy over. - shutil.copyfile(srcfile, destfile) - - # Copy over the metadata for the file, currently this only - # includes the atime and mtime. - st = os.stat(srcfile) - if hasattr(os, "utime"): - os.utime(destfile, (st.st_atime, st.st_mtime)) - - # If our file is executable, then make our destination file - # executable. - if os.access(srcfile, os.X_OK): - st = os.stat(srcfile) - permissions = ( - st.st_mode | stat.S_IXUSR | stat.S_IXGRP | stat.S_IXOTH - ) - os.chmod(destfile, permissions) - - changed = False - if fixer: - changed = fixer(destfile) - record_installed(srcfile, destfile, changed) - - clobber(source, lib_dir, True) - - dest_info_dir = os.path.join(lib_dir, info_dir) - - # Get the defined entry points - ep_file = os.path.join(dest_info_dir, 'entry_points.txt') - console, gui = get_entrypoints(ep_file) - - def is_entrypoint_wrapper(name): - # type: (str) -> bool - # EP, EP.exe and EP-script.py are scripts generated for - # entry point EP by setuptools - if name.lower().endswith('.exe'): - matchname = name[:-4] - elif name.lower().endswith('-script.py'): - matchname = name[:-10] - elif name.lower().endswith(".pya"): - matchname = name[:-4] - else: - matchname = name - # Ignore setuptools-generated scripts - return (matchname in console or matchname in gui) - - for datadir in data_dirs: - fixer = None - filter = None - for subdir in os.listdir(os.path.join(wheeldir, datadir)): - fixer = None - if subdir == 'scripts': - fixer = fix_script - filter = is_entrypoint_wrapper - source = os.path.join(wheeldir, datadir, subdir) - dest = getattr(scheme, subdir) - clobber(source, dest, False, fixer=fixer, filter=filter) - - maker = PipScriptMaker(None, scheme.scripts) - - # Ensure old scripts are overwritten. - # See https://github.com/pypa/pip/issues/1800 - maker.clobber = True - - # Ensure we don't generate any variants for scripts because this is almost - # never what somebody wants. - # See https://bitbucket.org/pypa/distlib/issue/35/ - maker.variants = {''} - - # This is required because otherwise distlib creates scripts that are not - # executable. - # See https://bitbucket.org/pypa/distlib/issue/32/ - maker.set_mode = True - - scripts_to_generate = [] - - # Special case pip and setuptools to generate versioned wrappers - # - # The issue is that some projects (specifically, pip and setuptools) use - # code in setup.py to create "versioned" entry points - pip2.7 on Python - # 2.7, pip3.3 on Python 3.3, etc. But these entry points are baked into - # the wheel metadata at build time, and so if the wheel is installed with - # a *different* version of Python the entry points will be wrong. The - # correct fix for this is to enhance the metadata to be able to describe - # such versioned entry points, but that won't happen till Metadata 2.0 is - # available. - # In the meantime, projects using versioned entry points will either have - # incorrect versioned entry points, or they will not be able to distribute - # "universal" wheels (i.e., they will need a wheel per Python version). - # - # Because setuptools and pip are bundled with _ensurepip and virtualenv, - # we need to use universal wheels. So, as a stopgap until Metadata 2.0, we - # override the versioned entry points in the wheel and generate the - # correct ones. This code is purely a short-term measure until Metadata 2.0 - # is available. - # - # To add the level of hack in this section of code, in order to support - # ensurepip this code will look for an ``ENSUREPIP_OPTIONS`` environment - # variable which will control which version scripts get installed. - # - # ENSUREPIP_OPTIONS=altinstall - # - Only pipX.Y and easy_install-X.Y will be generated and installed - # ENSUREPIP_OPTIONS=install - # - pipX.Y, pipX, easy_install-X.Y will be generated and installed. Note - # that this option is technically if ENSUREPIP_OPTIONS is set and is - # not altinstall - # DEFAULT - # - The default behavior is to install pip, pipX, pipX.Y, easy_install - # and easy_install-X.Y. - pip_script = console.pop('pip', None) - if pip_script: - if "ENSUREPIP_OPTIONS" not in os.environ: - scripts_to_generate.append('pip = ' + pip_script) - - if os.environ.get("ENSUREPIP_OPTIONS", "") != "altinstall": - scripts_to_generate.append( - 'pip%s = %s' % (sys.version_info[0], pip_script) - ) - - scripts_to_generate.append( - 'pip%s = %s' % (get_major_minor_version(), pip_script) - ) - # Delete any other versioned pip entry points - pip_ep = [k for k in console if re.match(r'pip(\d(\.\d)?)?$', k)] - for k in pip_ep: - del console[k] - easy_install_script = console.pop('easy_install', None) - if easy_install_script: - if "ENSUREPIP_OPTIONS" not in os.environ: - scripts_to_generate.append( - 'easy_install = ' + easy_install_script - ) - - scripts_to_generate.append( - 'easy_install-%s = %s' % ( - get_major_minor_version(), easy_install_script - ) - ) - # Delete any other versioned easy_install entry points - easy_install_ep = [ - k for k in console if re.match(r'easy_install(-\d\.\d)?$', k) - ] - for k in easy_install_ep: - del console[k] - - # Generate the console and GUI entry points specified in the wheel - scripts_to_generate.extend( - '%s = %s' % kv for kv in console.items() - ) - - gui_scripts_to_generate = [ - '%s = %s' % kv for kv in gui.items() - ] - - generated_console_scripts = [] # type: List[str] - - try: - generated_console_scripts = maker.make_multiple(scripts_to_generate) - generated.extend(generated_console_scripts) - - generated.extend( - maker.make_multiple(gui_scripts_to_generate, {'gui': True}) - ) - except MissingCallableSuffix as e: - entry = e.args[0] - raise InstallationError( - "Invalid script entry point: {} for req: {} - A callable " - "suffix is required. Cf https://packaging.python.org/" - "specifications/entry-points/#use-for-scripts for more " - "information.".format(entry, req_description) - ) - - if warn_script_location: - msg = message_about_scripts_not_on_PATH(generated_console_scripts) - if msg is not None: - logger.warning(msg) - - # Record pip as the installer - installer = os.path.join(dest_info_dir, 'INSTALLER') - temp_installer = os.path.join(dest_info_dir, 'INSTALLER.pip') - with open(temp_installer, 'wb') as installer_file: - installer_file.write(b'pip\n') - shutil.move(temp_installer, installer) - generated.append(installer) - - # Record details of all files installed - record = os.path.join(dest_info_dir, 'RECORD') - temp_record = os.path.join(dest_info_dir, 'RECORD.pip') - with open_for_csv(record, 'r') as record_in: - with open_for_csv(temp_record, 'w+') as record_out: - reader = csv.reader(record_in) - outrows = get_csv_rows_for_installed( - reader, installed=installed, changed=changed, - generated=generated, lib_dir=lib_dir, - ) - writer = csv.writer(record_out) - # Sort to simplify testing. - for row in sorted_outrows(outrows): - writer.writerow(row) - shutil.move(temp_record, record) - - -def install_wheel( - name, # type: str - wheel_path, # type: str - scheme, # type: Scheme - req_description, # type: str - pycompile=True, # type: bool - warn_script_location=True, # type: bool - _temp_dir_for_testing=None, # type: Optional[str] -): - # type: (...) -> None - with TempDirectory( - path=_temp_dir_for_testing, kind="unpacked-wheel" - ) as unpacked_dir, ZipFile(wheel_path, allowZip64=True) as z: - unpack_file(wheel_path, unpacked_dir.path) - install_unpacked_wheel( - name=name, - wheeldir=unpacked_dir.path, - wheel_zip=z, - scheme=scheme, - req_description=req_description, - pycompile=pycompile, - warn_script_location=warn_script_location, - ) diff --git a/.venv/lib/python3.8/site-packages/pip/_internal/operations/prepare.py b/.venv/lib/python3.8/site-packages/pip/_internal/operations/prepare.py deleted file mode 100644 index 0b61f20..0000000 --- a/.venv/lib/python3.8/site-packages/pip/_internal/operations/prepare.py +++ /dev/null @@ -1,591 +0,0 @@ -"""Prepares a distribution for installation -""" - -# The following comment should be removed at some point in the future. -# mypy: strict-optional=False - -import logging -import mimetypes -import os -import shutil -import sys - -from pip._vendor import requests -from pip._vendor.six import PY2 - -from pip._internal.distributions import ( - make_distribution_for_install_requirement, -) -from pip._internal.distributions.installed import InstalledDistribution -from pip._internal.exceptions import ( - DirectoryUrlHashUnsupported, - HashMismatch, - HashUnpinned, - InstallationError, - PreviousBuildDirError, - VcsHashUnsupported, -) -from pip._internal.utils.filesystem import copy2_fixed -from pip._internal.utils.hashes import MissingHashes -from pip._internal.utils.logging import indent_log -from pip._internal.utils.marker_files import write_delete_marker_file -from pip._internal.utils.misc import ( - ask_path_exists, - backup_dir, - display_path, - hide_url, - path_to_display, - rmtree, -) -from pip._internal.utils.temp_dir import TempDirectory -from pip._internal.utils.typing import MYPY_CHECK_RUNNING -from pip._internal.utils.unpacking import unpack_file -from pip._internal.vcs import vcs - -if MYPY_CHECK_RUNNING: - from typing import ( - Callable, List, Optional, Tuple, - ) - - from mypy_extensions import TypedDict - - from pip._internal.distributions import AbstractDistribution - from pip._internal.index.package_finder import PackageFinder - from pip._internal.models.link import Link - from pip._internal.network.download import Downloader - from pip._internal.req.req_install import InstallRequirement - from pip._internal.req.req_tracker import RequirementTracker - from pip._internal.utils.hashes import Hashes - - if PY2: - CopytreeKwargs = TypedDict( - 'CopytreeKwargs', - { - 'ignore': Callable[[str, List[str]], List[str]], - 'symlinks': bool, - }, - total=False, - ) - else: - CopytreeKwargs = TypedDict( - 'CopytreeKwargs', - { - 'copy_function': Callable[[str, str], None], - 'ignore': Callable[[str, List[str]], List[str]], - 'ignore_dangling_symlinks': bool, - 'symlinks': bool, - }, - total=False, - ) - -logger = logging.getLogger(__name__) - - -def _get_prepared_distribution( - req, # type: InstallRequirement - req_tracker, # type: RequirementTracker - finder, # type: PackageFinder - build_isolation # type: bool -): - # type: (...) -> AbstractDistribution - """Prepare a distribution for installation. - """ - abstract_dist = make_distribution_for_install_requirement(req) - with req_tracker.track(req): - abstract_dist.prepare_distribution_metadata(finder, build_isolation) - return abstract_dist - - -def unpack_vcs_link(link, location): - # type: (Link, str) -> None - vcs_backend = vcs.get_backend_for_scheme(link.scheme) - assert vcs_backend is not None - vcs_backend.unpack(location, url=hide_url(link.url)) - - -def _copy_file(filename, location, link): - # type: (str, str, Link) -> None - copy = True - download_location = os.path.join(location, link.filename) - if os.path.exists(download_location): - response = ask_path_exists( - 'The file {} exists. (i)gnore, (w)ipe, (b)ackup, (a)abort'.format( - display_path(download_location) - ), - ('i', 'w', 'b', 'a'), - ) - if response == 'i': - copy = False - elif response == 'w': - logger.warning('Deleting %s', display_path(download_location)) - os.remove(download_location) - elif response == 'b': - dest_file = backup_dir(download_location) - logger.warning( - 'Backing up %s to %s', - display_path(download_location), - display_path(dest_file), - ) - shutil.move(download_location, dest_file) - elif response == 'a': - sys.exit(-1) - if copy: - shutil.copy(filename, download_location) - logger.info('Saved %s', display_path(download_location)) - - -def unpack_http_url( - link, # type: Link - location, # type: str - downloader, # type: Downloader - download_dir=None, # type: Optional[str] - hashes=None, # type: Optional[Hashes] -): - # type: (...) -> str - temp_dir = TempDirectory(kind="unpack", globally_managed=True) - # If a download dir is specified, is the file already downloaded there? - already_downloaded_path = None - if download_dir: - already_downloaded_path = _check_download_dir( - link, download_dir, hashes - ) - - if already_downloaded_path: - from_path = already_downloaded_path - content_type = mimetypes.guess_type(from_path)[0] - else: - # let's download to a tmp dir - from_path, content_type = _download_http_url( - link, downloader, temp_dir.path, hashes - ) - - # unpack the archive to the build dir location. even when only - # downloading archives, they have to be unpacked to parse dependencies - unpack_file(from_path, location, content_type) - - return from_path - - -def _copy2_ignoring_special_files(src, dest): - # type: (str, str) -> None - """Copying special files is not supported, but as a convenience to users - we skip errors copying them. This supports tools that may create e.g. - socket files in the project source directory. - """ - try: - copy2_fixed(src, dest) - except shutil.SpecialFileError as e: - # SpecialFileError may be raised due to either the source or - # destination. If the destination was the cause then we would actually - # care, but since the destination directory is deleted prior to - # copy we ignore all of them assuming it is caused by the source. - logger.warning( - "Ignoring special file error '%s' encountered copying %s to %s.", - str(e), - path_to_display(src), - path_to_display(dest), - ) - - -def _copy_source_tree(source, target): - # type: (str, str) -> None - def ignore(d, names): - # type: (str, List[str]) -> List[str] - # Pulling in those directories can potentially be very slow, - # exclude the following directories if they appear in the top - # level dir (and only it). - # See discussion at https://github.com/pypa/pip/pull/6770 - return ['.tox', '.nox'] if d == source else [] - - kwargs = dict(ignore=ignore, symlinks=True) # type: CopytreeKwargs - - if not PY2: - # Python 2 does not support copy_function, so we only ignore - # errors on special file copy in Python 3. - kwargs['copy_function'] = _copy2_ignoring_special_files - - shutil.copytree(source, target, **kwargs) - - -def unpack_file_url( - link, # type: Link - location, # type: str - download_dir=None, # type: Optional[str] - hashes=None # type: Optional[Hashes] -): - # type: (...) -> Optional[str] - """Unpack link into location. - """ - link_path = link.file_path - # If it's a url to a local directory - if link.is_existing_dir(): - if os.path.isdir(location): - rmtree(location) - _copy_source_tree(link_path, location) - return None - - # If a download dir is specified, is the file already there and valid? - already_downloaded_path = None - if download_dir: - already_downloaded_path = _check_download_dir( - link, download_dir, hashes - ) - - if already_downloaded_path: - from_path = already_downloaded_path - else: - from_path = link_path - - # If --require-hashes is off, `hashes` is either empty, the - # link's embedded hash, or MissingHashes; it is required to - # match. If --require-hashes is on, we are satisfied by any - # hash in `hashes` matching: a URL-based or an option-based - # one; no internet-sourced hash will be in `hashes`. - if hashes: - hashes.check_against_path(from_path) - - content_type = mimetypes.guess_type(from_path)[0] - - # unpack the archive to the build dir location. even when only downloading - # archives, they have to be unpacked to parse dependencies - unpack_file(from_path, location, content_type) - - return from_path - - -def unpack_url( - link, # type: Link - location, # type: str - downloader, # type: Downloader - download_dir=None, # type: Optional[str] - hashes=None, # type: Optional[Hashes] -): - # type: (...) -> Optional[str] - """Unpack link into location, downloading if required. - - :param hashes: A Hashes object, one of whose embedded hashes must match, - or HashMismatch will be raised. If the Hashes is empty, no matches are - required, and unhashable types of requirements (like VCS ones, which - would ordinarily raise HashUnsupported) are allowed. - """ - # non-editable vcs urls - if link.is_vcs: - unpack_vcs_link(link, location) - return None - - # file urls - elif link.is_file: - return unpack_file_url(link, location, download_dir, hashes=hashes) - - # http urls - else: - return unpack_http_url( - link, - location, - downloader, - download_dir, - hashes=hashes, - ) - - -def _download_http_url( - link, # type: Link - downloader, # type: Downloader - temp_dir, # type: str - hashes, # type: Optional[Hashes] -): - # type: (...) -> Tuple[str, str] - """Download link url into temp_dir using provided session""" - download = downloader(link) - - file_path = os.path.join(temp_dir, download.filename) - with open(file_path, 'wb') as content_file: - for chunk in download.chunks: - content_file.write(chunk) - - if hashes: - hashes.check_against_path(file_path) - - return file_path, download.response.headers.get('content-type', '') - - -def _check_download_dir(link, download_dir, hashes): - # type: (Link, str, Optional[Hashes]) -> Optional[str] - """ Check download_dir for previously downloaded file with correct hash - If a correct file is found return its path else None - """ - download_path = os.path.join(download_dir, link.filename) - - if not os.path.exists(download_path): - return None - - # If already downloaded, does its hash match? - logger.info('File was already downloaded %s', download_path) - if hashes: - try: - hashes.check_against_path(download_path) - except HashMismatch: - logger.warning( - 'Previously-downloaded file %s has bad hash. ' - 'Re-downloading.', - download_path - ) - os.unlink(download_path) - return None - return download_path - - -class RequirementPreparer(object): - """Prepares a Requirement - """ - - def __init__( - self, - build_dir, # type: str - download_dir, # type: Optional[str] - src_dir, # type: str - wheel_download_dir, # type: Optional[str] - build_isolation, # type: bool - req_tracker, # type: RequirementTracker - downloader, # type: Downloader - finder, # type: PackageFinder - require_hashes, # type: bool - use_user_site, # type: bool - ): - # type: (...) -> None - super(RequirementPreparer, self).__init__() - - self.src_dir = src_dir - self.build_dir = build_dir - self.req_tracker = req_tracker - self.downloader = downloader - self.finder = finder - - # Where still-packed archives should be written to. If None, they are - # not saved, and are deleted immediately after unpacking. - self.download_dir = download_dir - - # Where still-packed .whl files should be written to. If None, they are - # written to the download_dir parameter. Separate to download_dir to - # permit only keeping wheel archives for pip wheel. - self.wheel_download_dir = wheel_download_dir - - # NOTE - # download_dir and wheel_download_dir overlap semantically and may - # be combined if we're willing to have non-wheel archives present in - # the wheelhouse output by 'pip wheel'. - - # Is build isolation allowed? - self.build_isolation = build_isolation - - # Should hash-checking be required? - self.require_hashes = require_hashes - - # Should install in user site-packages? - self.use_user_site = use_user_site - - @property - def _download_should_save(self): - # type: () -> bool - if not self.download_dir: - return False - - if os.path.exists(self.download_dir): - return True - - logger.critical('Could not find download directory') - raise InstallationError( - "Could not find or access download directory '{}'" - .format(self.download_dir)) - - def prepare_linked_requirement( - self, - req, # type: InstallRequirement - ): - # type: (...) -> AbstractDistribution - """Prepare a requirement that would be obtained from req.link - """ - assert req.link - link = req.link - - # TODO: Breakup into smaller functions - if link.scheme == 'file': - path = link.file_path - logger.info('Processing %s', display_path(path)) - else: - logger.info('Collecting %s', req.req or req) - - with indent_log(): - # @@ if filesystem packages are not marked - # editable in a req, a non deterministic error - # occurs when the script attempts to unpack the - # build directory - # Since source_dir is only set for editable requirements. - assert req.source_dir is None - req.ensure_has_source_dir(self.build_dir) - # If a checkout exists, it's unwise to keep going. version - # inconsistencies are logged later, but do not fail the - # installation. - # FIXME: this won't upgrade when there's an existing - # package unpacked in `req.source_dir` - if os.path.exists(os.path.join(req.source_dir, 'setup.py')): - raise PreviousBuildDirError( - "pip can't proceed with requirements '{}' due to a" - " pre-existing build directory ({}). This is " - "likely due to a previous installation that failed" - ". pip is being responsible and not assuming it " - "can delete this. Please delete it and try again." - .format(req, req.source_dir) - ) - - # Now that we have the real link, we can tell what kind of - # requirements we have and raise some more informative errors - # than otherwise. (For example, we can raise VcsHashUnsupported - # for a VCS URL rather than HashMissing.) - if self.require_hashes: - # We could check these first 2 conditions inside - # unpack_url and save repetition of conditions, but then - # we would report less-useful error messages for - # unhashable requirements, complaining that there's no - # hash provided. - if link.is_vcs: - raise VcsHashUnsupported() - elif link.is_existing_dir(): - raise DirectoryUrlHashUnsupported() - if not req.original_link and not req.is_pinned: - # Unpinned packages are asking for trouble when a new - # version is uploaded. This isn't a security check, but - # it saves users a surprising hash mismatch in the - # future. - # - # file:/// URLs aren't pinnable, so don't complain - # about them not being pinned. - raise HashUnpinned() - - hashes = req.hashes(trust_internet=not self.require_hashes) - if self.require_hashes and not hashes: - # Known-good hashes are missing for this requirement, so - # shim it with a facade object that will provoke hash - # computation and then raise a HashMissing exception - # showing the user what the hash should be. - hashes = MissingHashes() - - download_dir = self.download_dir - if link.is_wheel and self.wheel_download_dir: - # when doing 'pip wheel` we download wheels to a - # dedicated dir. - download_dir = self.wheel_download_dir - - try: - local_path = unpack_url( - link, req.source_dir, self.downloader, download_dir, - hashes=hashes, - ) - except requests.HTTPError as exc: - logger.critical( - 'Could not install requirement %s because of error %s', - req, - exc, - ) - raise InstallationError( - 'Could not install requirement {} because of HTTP ' - 'error {} for URL {}'.format(req, exc, link) - ) - - # For use in later processing, preserve the file path on the - # requirement. - if local_path: - req.local_file_path = local_path - - if link.is_wheel: - if download_dir: - # When downloading, we only unpack wheels to get - # metadata. - autodelete_unpacked = True - else: - # When installing a wheel, we use the unpacked - # wheel. - autodelete_unpacked = False - else: - # We always delete unpacked sdists after pip runs. - autodelete_unpacked = True - if autodelete_unpacked: - write_delete_marker_file(req.source_dir) - - abstract_dist = _get_prepared_distribution( - req, self.req_tracker, self.finder, self.build_isolation, - ) - - if download_dir: - if link.is_existing_dir(): - logger.info('Link is a directory, ignoring download_dir') - elif local_path and not os.path.exists( - os.path.join(download_dir, link.filename) - ): - _copy_file(local_path, download_dir, link) - - if self._download_should_save: - # Make a .zip of the source_dir we already created. - if link.is_vcs: - req.archive(self.download_dir) - return abstract_dist - - def prepare_editable_requirement( - self, - req, # type: InstallRequirement - ): - # type: (...) -> AbstractDistribution - """Prepare an editable requirement - """ - assert req.editable, "cannot prepare a non-editable req as editable" - - logger.info('Obtaining %s', req) - - with indent_log(): - if self.require_hashes: - raise InstallationError( - 'The editable requirement {} cannot be installed when ' - 'requiring hashes, because there is no single file to ' - 'hash.'.format(req) - ) - req.ensure_has_source_dir(self.src_dir) - req.update_editable(not self._download_should_save) - - abstract_dist = _get_prepared_distribution( - req, self.req_tracker, self.finder, self.build_isolation, - ) - - if self._download_should_save: - req.archive(self.download_dir) - req.check_if_exists(self.use_user_site) - - return abstract_dist - - def prepare_installed_requirement( - self, - req, # type: InstallRequirement - skip_reason # type: str - ): - # type: (...) -> AbstractDistribution - """Prepare an already-installed requirement - """ - assert req.satisfied_by, "req should have been satisfied but isn't" - assert skip_reason is not None, ( - "did not get skip reason skipped but req.satisfied_by " - "is set to {}".format(req.satisfied_by) - ) - logger.info( - 'Requirement %s: %s (%s)', - skip_reason, req, req.satisfied_by.version - ) - with indent_log(): - if self.require_hashes: - logger.debug( - 'Since it is already installed, we are trusting this ' - 'package without checking its hash. To ensure a ' - 'completely repeatable environment, install into an ' - 'empty virtualenv.' - ) - abstract_dist = InstalledDistribution(req) - - return abstract_dist diff --git a/.venv/lib/python3.8/site-packages/pip/_internal/pep425tags.py b/.venv/lib/python3.8/site-packages/pip/_internal/pep425tags.py deleted file mode 100644 index a2386ee..0000000 --- a/.venv/lib/python3.8/site-packages/pip/_internal/pep425tags.py +++ /dev/null @@ -1,167 +0,0 @@ -"""Generate and work with PEP 425 Compatibility Tags.""" -from __future__ import absolute_import - -import logging -import re - -from pip._vendor.packaging.tags import ( - Tag, - compatible_tags, - cpython_tags, - generic_tags, - interpreter_name, - interpreter_version, - mac_platforms, -) - -from pip._internal.utils.typing import MYPY_CHECK_RUNNING - -if MYPY_CHECK_RUNNING: - from typing import List, Optional, Tuple - - from pip._vendor.packaging.tags import PythonVersion - -logger = logging.getLogger(__name__) - -_osx_arch_pat = re.compile(r'(.+)_(\d+)_(\d+)_(.+)') - - -def version_info_to_nodot(version_info): - # type: (Tuple[int, ...]) -> str - # Only use up to the first two numbers. - return ''.join(map(str, version_info[:2])) - - -def _mac_platforms(arch): - # type: (str) -> List[str] - match = _osx_arch_pat.match(arch) - if match: - name, major, minor, actual_arch = match.groups() - mac_version = (int(major), int(minor)) - arches = [ - # Since we have always only checked that the platform starts - # with "macosx", for backwards-compatibility we extract the - # actual prefix provided by the user in case they provided - # something like "macosxcustom_". It may be good to remove - # this as undocumented or deprecate it in the future. - '{}_{}'.format(name, arch[len('macosx_'):]) - for arch in mac_platforms(mac_version, actual_arch) - ] - else: - # arch pattern didn't match (?!) - arches = [arch] - return arches - - -def _custom_manylinux_platforms(arch): - # type: (str) -> List[str] - arches = [arch] - arch_prefix, arch_sep, arch_suffix = arch.partition('_') - if arch_prefix == 'manylinux2014': - # manylinux1/manylinux2010 wheels run on most manylinux2014 systems - # with the exception of wheels depending on ncurses. PEP 599 states - # manylinux1/manylinux2010 wheels should be considered - # manylinux2014 wheels: - # https://www.python.org/dev/peps/pep-0599/#backwards-compatibility-with-manylinux2010-wheels - if arch_suffix in {'i686', 'x86_64'}: - arches.append('manylinux2010' + arch_sep + arch_suffix) - arches.append('manylinux1' + arch_sep + arch_suffix) - elif arch_prefix == 'manylinux2010': - # manylinux1 wheels run on most manylinux2010 systems with the - # exception of wheels depending on ncurses. PEP 571 states - # manylinux1 wheels should be considered manylinux2010 wheels: - # https://www.python.org/dev/peps/pep-0571/#backwards-compatibility-with-manylinux1-wheels - arches.append('manylinux1' + arch_sep + arch_suffix) - return arches - - -def _get_custom_platforms(arch): - # type: (str) -> List[str] - arch_prefix, arch_sep, arch_suffix = arch.partition('_') - if arch.startswith('macosx'): - arches = _mac_platforms(arch) - elif arch_prefix in ['manylinux2014', 'manylinux2010']: - arches = _custom_manylinux_platforms(arch) - else: - arches = [arch] - return arches - - -def _get_python_version(version): - # type: (str) -> PythonVersion - if len(version) > 1: - return int(version[0]), int(version[1:]) - else: - return (int(version[0]),) - - -def _get_custom_interpreter(implementation=None, version=None): - # type: (Optional[str], Optional[str]) -> str - if implementation is None: - implementation = interpreter_name() - if version is None: - version = interpreter_version() - return "{}{}".format(implementation, version) - - -def get_supported( - version=None, # type: Optional[str] - platform=None, # type: Optional[str] - impl=None, # type: Optional[str] - abi=None # type: Optional[str] -): - # type: (...) -> List[Tag] - """Return a list of supported tags for each version specified in - `versions`. - - :param version: a string version, of the form "33" or "32", - or None. The version will be assumed to support our ABI. - :param platform: specify the exact platform you want valid - tags for, or None. If None, use the local system platform. - :param impl: specify the exact implementation you want valid - tags for, or None. If None, use the local interpreter impl. - :param abi: specify the exact abi you want valid - tags for, or None. If None, use the local interpreter abi. - """ - supported = [] # type: List[Tag] - - python_version = None # type: Optional[PythonVersion] - if version is not None: - python_version = _get_python_version(version) - - interpreter = _get_custom_interpreter(impl, version) - - abis = None # type: Optional[List[str]] - if abi is not None: - abis = [abi] - - platforms = None # type: Optional[List[str]] - if platform is not None: - platforms = _get_custom_platforms(platform) - - is_cpython = (impl or interpreter_name()) == "cp" - if is_cpython: - supported.extend( - cpython_tags( - python_version=python_version, - abis=abis, - platforms=platforms, - ) - ) - else: - supported.extend( - generic_tags( - interpreter=interpreter, - abis=abis, - platforms=platforms, - ) - ) - supported.extend( - compatible_tags( - python_version=python_version, - interpreter=interpreter, - platforms=platforms, - ) - ) - - return supported diff --git a/.venv/lib/python3.8/site-packages/pip/_internal/pyproject.py b/.venv/lib/python3.8/site-packages/pip/_internal/pyproject.py deleted file mode 100644 index 6b4faf7..0000000 --- a/.venv/lib/python3.8/site-packages/pip/_internal/pyproject.py +++ /dev/null @@ -1,196 +0,0 @@ -from __future__ import absolute_import - -import io -import os -import sys -from collections import namedtuple - -from pip._vendor import six, toml -from pip._vendor.packaging.requirements import InvalidRequirement, Requirement - -from pip._internal.exceptions import InstallationError -from pip._internal.utils.typing import MYPY_CHECK_RUNNING - -if MYPY_CHECK_RUNNING: - from typing import Any, Optional, List - - -def _is_list_of_str(obj): - # type: (Any) -> bool - return ( - isinstance(obj, list) and - all(isinstance(item, six.string_types) for item in obj) - ) - - -def make_pyproject_path(unpacked_source_directory): - # type: (str) -> str - path = os.path.join(unpacked_source_directory, 'pyproject.toml') - - # Python2 __file__ should not be unicode - if six.PY2 and isinstance(path, six.text_type): - path = path.encode(sys.getfilesystemencoding()) - - return path - - -BuildSystemDetails = namedtuple('BuildSystemDetails', [ - 'requires', 'backend', 'check', 'backend_path' -]) - - -def load_pyproject_toml( - use_pep517, # type: Optional[bool] - pyproject_toml, # type: str - setup_py, # type: str - req_name # type: str -): - # type: (...) -> Optional[BuildSystemDetails] - """Load the pyproject.toml file. - - Parameters: - use_pep517 - Has the user requested PEP 517 processing? None - means the user hasn't explicitly specified. - pyproject_toml - Location of the project's pyproject.toml file - setup_py - Location of the project's setup.py file - req_name - The name of the requirement we're processing (for - error reporting) - - Returns: - None if we should use the legacy code path, otherwise a tuple - ( - requirements from pyproject.toml, - name of PEP 517 backend, - requirements we should check are installed after setting - up the build environment - directory paths to import the backend from (backend-path), - relative to the project root. - ) - """ - has_pyproject = os.path.isfile(pyproject_toml) - has_setup = os.path.isfile(setup_py) - - if has_pyproject: - with io.open(pyproject_toml, encoding="utf-8") as f: - pp_toml = toml.load(f) - build_system = pp_toml.get("build-system") - else: - build_system = None - - # The following cases must use PEP 517 - # We check for use_pep517 being non-None and falsey because that means - # the user explicitly requested --no-use-pep517. The value 0 as - # opposed to False can occur when the value is provided via an - # environment variable or config file option (due to the quirk of - # strtobool() returning an integer in pip's configuration code). - if has_pyproject and not has_setup: - if use_pep517 is not None and not use_pep517: - raise InstallationError( - "Disabling PEP 517 processing is invalid: " - "project does not have a setup.py" - ) - use_pep517 = True - elif build_system and "build-backend" in build_system: - if use_pep517 is not None and not use_pep517: - raise InstallationError( - "Disabling PEP 517 processing is invalid: " - "project specifies a build backend of {} " - "in pyproject.toml".format( - build_system["build-backend"] - ) - ) - use_pep517 = True - - # If we haven't worked out whether to use PEP 517 yet, - # and the user hasn't explicitly stated a preference, - # we do so if the project has a pyproject.toml file. - elif use_pep517 is None: - use_pep517 = has_pyproject - - # At this point, we know whether we're going to use PEP 517. - assert use_pep517 is not None - - # If we're using the legacy code path, there is nothing further - # for us to do here. - if not use_pep517: - return None - - if build_system is None: - # Either the user has a pyproject.toml with no build-system - # section, or the user has no pyproject.toml, but has opted in - # explicitly via --use-pep517. - # In the absence of any explicit backend specification, we - # assume the setuptools backend that most closely emulates the - # traditional direct setup.py execution, and require wheel and - # a version of setuptools that supports that backend. - - build_system = { - "requires": ["setuptools>=40.8.0", "wheel"], - "build-backend": "setuptools.build_meta:__legacy__", - } - - # If we're using PEP 517, we have build system information (either - # from pyproject.toml, or defaulted by the code above). - # Note that at this point, we do not know if the user has actually - # specified a backend, though. - assert build_system is not None - - # Ensure that the build-system section in pyproject.toml conforms - # to PEP 518. - error_template = ( - "{package} has a pyproject.toml file that does not comply " - "with PEP 518: {reason}" - ) - - # Specifying the build-system table but not the requires key is invalid - if "requires" not in build_system: - raise InstallationError( - error_template.format(package=req_name, reason=( - "it has a 'build-system' table but not " - "'build-system.requires' which is mandatory in the table" - )) - ) - - # Error out if requires is not a list of strings - requires = build_system["requires"] - if not _is_list_of_str(requires): - raise InstallationError(error_template.format( - package=req_name, - reason="'build-system.requires' is not a list of strings.", - )) - - # Each requirement must be valid as per PEP 508 - for requirement in requires: - try: - Requirement(requirement) - except InvalidRequirement: - raise InstallationError( - error_template.format( - package=req_name, - reason=( - "'build-system.requires' contains an invalid " - "requirement: {!r}".format(requirement) - ), - ) - ) - - backend = build_system.get("build-backend") - backend_path = build_system.get("backend-path", []) - check = [] # type: List[str] - if backend is None: - # If the user didn't specify a backend, we assume they want to use - # the setuptools backend. But we can't be sure they have included - # a version of setuptools which supplies the backend, or wheel - # (which is needed by the backend) in their requirements. So we - # make a note to check that those requirements are present once - # we have set up the environment. - # This is quite a lot of work to check for a very specific case. But - # the problem is, that case is potentially quite common - projects that - # adopted PEP 518 early for the ability to specify requirements to - # execute setup.py, but never considered needing to mention the build - # tools themselves. The original PEP 518 code had a similar check (but - # implemented in a different way). - backend = "setuptools.build_meta:__legacy__" - check = ["setuptools>=40.8.0", "wheel"] - - return BuildSystemDetails(requires, backend, check, backend_path) diff --git a/.venv/lib/python3.8/site-packages/pip/_internal/req/__init__.py b/.venv/lib/python3.8/site-packages/pip/_internal/req/__init__.py deleted file mode 100644 index d2d027a..0000000 --- a/.venv/lib/python3.8/site-packages/pip/_internal/req/__init__.py +++ /dev/null @@ -1,92 +0,0 @@ -# The following comment should be removed at some point in the future. -# mypy: strict-optional=False - -from __future__ import absolute_import - -import logging - -from pip._internal.utils.logging import indent_log -from pip._internal.utils.typing import MYPY_CHECK_RUNNING - -from .req_file import parse_requirements -from .req_install import InstallRequirement -from .req_set import RequirementSet - -if MYPY_CHECK_RUNNING: - from typing import Any, List, Sequence - -__all__ = [ - "RequirementSet", "InstallRequirement", - "parse_requirements", "install_given_reqs", -] - -logger = logging.getLogger(__name__) - - -class InstallationResult(object): - def __init__(self, name): - # type: (str) -> None - self.name = name - - def __repr__(self): - # type: () -> str - return "InstallationResult(name={!r})".format(self.name) - - -def install_given_reqs( - to_install, # type: List[InstallRequirement] - install_options, # type: List[str] - global_options=(), # type: Sequence[str] - *args, # type: Any - **kwargs # type: Any -): - # type: (...) -> List[InstallationResult] - """ - Install everything in the given list. - - (to be called after having downloaded and unpacked the packages) - """ - - if to_install: - logger.info( - 'Installing collected packages: %s', - ', '.join([req.name for req in to_install]), - ) - - installed = [] - - with indent_log(): - for requirement in to_install: - if requirement.should_reinstall: - logger.info('Attempting uninstall: %s', requirement.name) - with indent_log(): - uninstalled_pathset = requirement.uninstall( - auto_confirm=True - ) - try: - requirement.install( - install_options, - global_options, - *args, - **kwargs - ) - except Exception: - should_rollback = ( - requirement.should_reinstall and - not requirement.install_succeeded - ) - # if install did not succeed, rollback previous uninstall - if should_rollback: - uninstalled_pathset.rollback() - raise - else: - should_commit = ( - requirement.should_reinstall and - requirement.install_succeeded - ) - if should_commit: - uninstalled_pathset.commit() - - installed.append(InstallationResult(requirement.name)) - - return installed diff --git a/.venv/lib/python3.8/site-packages/pip/_internal/req/__pycache__/__init__.cpython-38.pyc b/.venv/lib/python3.8/site-packages/pip/_internal/req/__pycache__/__init__.cpython-38.pyc deleted file mode 100644 index 1a86055c0fd1e2176e53eab2072f53d5dba1969e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2194 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 diff --git a/.venv/lib/python3.8/site-packages/pip/_internal/req/__pycache__/constructors.cpython-38.pyc b/.venv/lib/python3.8/site-packages/pip/_internal/req/__pycache__/constructors.cpython-38.pyc deleted file mode 100644 index c091532297492e6d972f0842ec70c66d390e8182..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10363 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�^7UXGgn;kSQ04^$uazSFC66O|LaVn@v0XN^lBSoNQYdpA_TEqhi zA`Va?2`V-rWf?nksHO<i{{s)_BXtjoK*oZ4jJKE*^D1v~!hBl{PBW0+1E>?EDF8OC zs0L&K7o-yxUz}QSOAx{?jz`1>xDN;JB!e5<0?-}?T){2I0<hz6u|gaTY9|-ff*b<s zd)#7AOi2Otf5ClaaMWrtf$c470I2~dRbedAsRfE~P_vqWiGz`iiG`7a5i*6u#>55Y zu`r5&rd*gf7`d2u7`Z^@G&38M1S1op#D5lM4n{6UAr=l6P``zT4b+t8VH9BGV`O0j z4MU0iXJG=F$;8O<pM{x?k&jUTG;K2hREmR2ZBWq<!l3RAC=$SJCo@RfiJ^wQnW>he zgt3MriwV?`$zrbI$YQBs0(WE7;N2Lu8jdX16vkezU<OU5L{>%y24_$Oo(dlGht91c z*OuT6o(LYY)KP#mDswZ_GfKdt!d##s4y0;c2hrpK%>tGrW`Zg`1w_TIgH+q*7lB#{ z&=wA4#7F^@<DrFvm4ag)bY37aM*)<W^U@VkQj3#|GLt|}YRIHDsJaGe0%a(WQz0W$ zAZLN*|3RZ8AhiXhMFsiAsm1UCuKYC6yd-!K5z-9N<N)`zionSVSKkTJHDfCRMF>(C z43q#N8bOInlM|AN^Fiqdr%9kBUQ_^50xEaF2@pI{Rs`yLRe=(j6ey+zxu88T76ukZ zP(KWmWSAIPexZz-fV#e*^Z`x}RiNU62U5${vW7F{DX=h<FlKWV=|JlzCeSn{Y$O0w zYm_i&v6Qf8v7|HAvemF=u@z<1FoJLvJA};QsA0=yE6ONgN@1#D%;KzJ1=X3LTBn4o z2GnT=r?C{~URH4DxF`wag6x3A<m|+BaF~N<*i%y=9VyTRJ#5w_CAA<mFGV3gPXRvQ z21#O|r3&EkF{e0RAtS%IBo(X*q*sqiwO9e75j0Vtpjxb;$y@}=l11Q7E-1(~xsggA zP{<U4vdk@EP?;59T#{b|8ca{g&rQtCD+0|lf=dc;0=UJNms*mOpA3mZP)A0S{T3If zB7mg8B5<^#+ExTEQG_Ap702i0m&7N6I)14blMT|)c5OV!Ku~f8Gax2U2SvILDAGBY z7(t^OLZFu1KNc1N(6BW#6C)E72Y4`=36u~Zo$`N0Q$aHvY<_-jetvG6>=4>dlLf@r zbiKtMAD@z+93Ov+9hws$H37JUmo3OF(2Fli%}dEI(t`wlW?s4;w4?>s8@H6Ot3k@~ z#YLbB79849prs>NOoYs9WTqAs7lDTNq9joa%}$RmN`<r%ios)=MWEDtO9HG2Hmk3f zS^=69%*@X#2G<t1q)??nlWaM~dYO4CsTJU;2FL0xh)r-qpsGMagpg?t?505K3sCub zOB~f2c!vWrn*s?zxba1)g?gZPg~l<sfVhRGrnDq8r&te^3_;Tv#o%QR=zfK$$;~WI zE&?^zA<HDtoC;A>Qdy9hmtF)K7Q=2xX;Drwr1lm>^+{QBF{G&gp3z~08U$)06^Vli zB?%BA2_itnP?0pKLKa3f0y0=71Cn8n2POFU_*<OmsU<$(5$U3MkY;e-hbtal-``@% zPOU61>IBJwmRx{mvLLMm(3}l;RQVQLeiCSf4tOXLG71J7mx6S^Kph%L@e3*^!Koio zcA}P|w>WHa!Go}NpzdEWsQtmh3+gd(FoEh@9!3Eu&BF+R0$^HziH%W#nTG{b&@%mF wVdY}vV&>rF;N@WF@ZyjW;NuVj&$B?v(Vtv093mV_96?B8j0``x<e~iE07UQI`~Uy| diff --git a/.venv/lib/python3.8/site-packages/pip/_internal/req/__pycache__/req_file.cpython-38.pyc b/.venv/lib/python3.8/site-packages/pip/_internal/req/__pycache__/req_file.cpython-38.pyc deleted file mode 100644 index 0ea730bd3dab5ec0bf0fd9732d083122ff252115..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12702 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 F2LM1CQ|ABx diff --git a/.venv/lib/python3.8/site-packages/pip/_internal/req/__pycache__/req_install.cpython-38.pyc b/.venv/lib/python3.8/site-packages/pip/_internal/req/__pycache__/req_install.cpython-38.pyc deleted file mode 100644 index eb1bcf4d740d04bc97dd790743053050b59bc4e8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 21338 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 diff --git a/.venv/lib/python3.8/site-packages/pip/_internal/req/__pycache__/req_set.cpython-38.pyc b/.venv/lib/python3.8/site-packages/pip/_internal/req/__pycache__/req_set.cpython-38.pyc deleted file mode 100644 index ee0a45794f8dee09d59863b54821b7e4bf3d6488..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6021 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 diff --git a/.venv/lib/python3.8/site-packages/pip/_internal/req/__pycache__/req_tracker.cpython-38.pyc b/.venv/lib/python3.8/site-packages/pip/_internal/req/__pycache__/req_tracker.cpython-38.pyc deleted file mode 100644 index 382c066d9ec01f9edb27059e3db1e981eec35d61..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4041 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 diff --git a/.venv/lib/python3.8/site-packages/pip/_internal/req/__pycache__/req_uninstall.cpython-38.pyc b/.venv/lib/python3.8/site-packages/pip/_internal/req/__pycache__/req_uninstall.cpython-38.pyc deleted file mode 100644 index c8016426449d4967a276d4d69b17cb0f1f5fef98..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 17427 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 diff --git a/.venv/lib/python3.8/site-packages/pip/_internal/req/constructors.py b/.venv/lib/python3.8/site-packages/pip/_internal/req/constructors.py deleted file mode 100644 index 1f3cd8a..0000000 --- a/.venv/lib/python3.8/site-packages/pip/_internal/req/constructors.py +++ /dev/null @@ -1,436 +0,0 @@ -"""Backing implementation for InstallRequirement's various constructors - -The idea here is that these formed a major chunk of InstallRequirement's size -so, moving them and support code dedicated to them outside of that class -helps creates for better understandability for the rest of the code. - -These are meant to be used elsewhere within pip to create instances of -InstallRequirement. -""" - -# The following comment should be removed at some point in the future. -# mypy: strict-optional=False - -import logging -import os -import re - -from pip._vendor.packaging.markers import Marker -from pip._vendor.packaging.requirements import InvalidRequirement, Requirement -from pip._vendor.packaging.specifiers import Specifier -from pip._vendor.pkg_resources import RequirementParseError, parse_requirements - -from pip._internal.exceptions import InstallationError -from pip._internal.models.index import PyPI, TestPyPI -from pip._internal.models.link import Link -from pip._internal.models.wheel import Wheel -from pip._internal.pyproject import make_pyproject_path -from pip._internal.req.req_install import InstallRequirement -from pip._internal.utils.filetypes import ARCHIVE_EXTENSIONS -from pip._internal.utils.misc import is_installable_dir, splitext -from pip._internal.utils.typing import MYPY_CHECK_RUNNING -from pip._internal.utils.urls import path_to_url -from pip._internal.vcs import is_url, vcs - -if MYPY_CHECK_RUNNING: - from typing import ( - Any, Dict, Optional, Set, Tuple, Union, - ) - from pip._internal.cache import WheelCache - - -__all__ = [ - "install_req_from_editable", "install_req_from_line", - "parse_editable" -] - -logger = logging.getLogger(__name__) -operators = Specifier._operators.keys() - - -def is_archive_file(name): - # type: (str) -> bool - """Return True if `name` is a considered as an archive file.""" - ext = splitext(name)[1].lower() - if ext in ARCHIVE_EXTENSIONS: - return True - return False - - -def _strip_extras(path): - # type: (str) -> Tuple[str, Optional[str]] - m = re.match(r'^(.+)(\[[^\]]+\])$', path) - extras = None - if m: - path_no_extras = m.group(1) - extras = m.group(2) - else: - path_no_extras = path - - return path_no_extras, extras - - -def convert_extras(extras): - # type: (Optional[str]) -> Set[str] - if not extras: - return set() - return Requirement("placeholder" + extras.lower()).extras - - -def parse_editable(editable_req): - # type: (str) -> Tuple[Optional[str], str, Optional[Set[str]]] - """Parses an editable requirement into: - - a requirement name - - an URL - - extras - - editable options - Accepted requirements: - svn+http://blahblah@rev#egg=Foobar[baz]&subdirectory=version_subdir - .[some_extra] - """ - - url = editable_req - - # If a file path is specified with extras, strip off the extras. - url_no_extras, extras = _strip_extras(url) - - if os.path.isdir(url_no_extras): - if not os.path.exists(os.path.join(url_no_extras, 'setup.py')): - msg = ( - 'File "setup.py" not found. Directory cannot be installed ' - 'in editable mode: {}'.format(os.path.abspath(url_no_extras)) - ) - pyproject_path = make_pyproject_path(url_no_extras) - if os.path.isfile(pyproject_path): - msg += ( - '\n(A "pyproject.toml" file was found, but editable ' - 'mode currently requires a setup.py based build.)' - ) - raise InstallationError(msg) - - # Treating it as code that has already been checked out - url_no_extras = path_to_url(url_no_extras) - - if url_no_extras.lower().startswith('file:'): - package_name = Link(url_no_extras).egg_fragment - if extras: - return ( - package_name, - url_no_extras, - Requirement("placeholder" + extras.lower()).extras, - ) - else: - return package_name, url_no_extras, None - - for version_control in vcs: - if url.lower().startswith('%s:' % version_control): - url = '%s+%s' % (version_control, url) - break - - if '+' not in url: - raise InstallationError( - '{} is not a valid editable requirement. ' - 'It should either be a path to a local project or a VCS URL ' - '(beginning with svn+, git+, hg+, or bzr+).'.format(editable_req) - ) - - vc_type = url.split('+', 1)[0].lower() - - if not vcs.get_backend(vc_type): - error_message = 'For --editable=%s only ' % editable_req + \ - ', '.join([backend.name + '+URL' for backend in vcs.backends]) + \ - ' is currently supported' - raise InstallationError(error_message) - - package_name = Link(url).egg_fragment - if not package_name: - raise InstallationError( - "Could not detect requirement name for '%s', please specify one " - "with #egg=your_package_name" % editable_req - ) - return package_name, url, None - - -def deduce_helpful_msg(req): - # type: (str) -> str - """Returns helpful msg in case requirements file does not exist, - or cannot be parsed. - - :params req: Requirements file path - """ - msg = "" - if os.path.exists(req): - msg = " It does exist." - # Try to parse and check if it is a requirements file. - try: - with open(req, 'r') as fp: - # parse first line only - next(parse_requirements(fp.read())) - msg += " The argument you provided " + \ - "(%s) appears to be a" % (req) + \ - " requirements file. If that is the" + \ - " case, use the '-r' flag to install" + \ - " the packages specified within it." - except RequirementParseError: - logger.debug("Cannot parse '%s' as requirements \ - file" % (req), exc_info=True) - else: - msg += " File '%s' does not exist." % (req) - return msg - - -class RequirementParts(object): - def __init__( - self, - requirement, # type: Optional[Requirement] - link, # type: Optional[Link] - markers, # type: Optional[Marker] - extras, # type: Set[str] - ): - self.requirement = requirement - self.link = link - self.markers = markers - self.extras = extras - - -def parse_req_from_editable(editable_req): - # type: (str) -> RequirementParts - name, url, extras_override = parse_editable(editable_req) - - if name is not None: - try: - req = Requirement(name) - except InvalidRequirement: - raise InstallationError("Invalid requirement: '%s'" % name) - else: - req = None - - link = Link(url) - - return RequirementParts(req, link, None, extras_override) - - -# ---- The actual constructors follow ---- - - -def install_req_from_editable( - editable_req, # type: str - comes_from=None, # type: Optional[str] - use_pep517=None, # type: Optional[bool] - isolated=False, # type: bool - options=None, # type: Optional[Dict[str, Any]] - wheel_cache=None, # type: Optional[WheelCache] - constraint=False # type: bool -): - # type: (...) -> InstallRequirement - - parts = parse_req_from_editable(editable_req) - - source_dir = parts.link.file_path if parts.link.scheme == 'file' else None - - return InstallRequirement( - parts.requirement, comes_from, source_dir=source_dir, - editable=True, - link=parts.link, - constraint=constraint, - use_pep517=use_pep517, - isolated=isolated, - options=options if options else {}, - wheel_cache=wheel_cache, - extras=parts.extras, - ) - - -def _looks_like_path(name): - # type: (str) -> bool - """Checks whether the string "looks like" a path on the filesystem. - - This does not check whether the target actually exists, only judge from the - appearance. - - Returns true if any of the following conditions is true: - * a path separator is found (either os.path.sep or os.path.altsep); - * a dot is found (which represents the current directory). - """ - if os.path.sep in name: - return True - if os.path.altsep is not None and os.path.altsep in name: - return True - if name.startswith("."): - return True - return False - - -def _get_url_from_path(path, name): - # type: (str, str) -> str - """ - First, it checks whether a provided path is an installable directory - (e.g. it has a setup.py). If it is, returns the path. - - If false, check if the path is an archive file (such as a .whl). - The function checks if the path is a file. If false, if the path has - an @, it will treat it as a PEP 440 URL requirement and return the path. - """ - if _looks_like_path(name) and os.path.isdir(path): - if is_installable_dir(path): - return path_to_url(path) - raise InstallationError( - "Directory %r is not installable. Neither 'setup.py' " - "nor 'pyproject.toml' found." % name - ) - if not is_archive_file(path): - return None - if os.path.isfile(path): - return path_to_url(path) - urlreq_parts = name.split('@', 1) - if len(urlreq_parts) >= 2 and not _looks_like_path(urlreq_parts[0]): - # If the path contains '@' and the part before it does not look - # like a path, try to treat it as a PEP 440 URL req instead. - return None - logger.warning( - 'Requirement %r looks like a filename, but the ' - 'file does not exist', - name - ) - return path_to_url(path) - - -def parse_req_from_line(name, line_source): - # type: (str, Optional[str]) -> RequirementParts - if is_url(name): - marker_sep = '; ' - else: - marker_sep = ';' - if marker_sep in name: - name, markers_as_string = name.split(marker_sep, 1) - markers_as_string = markers_as_string.strip() - if not markers_as_string: - markers = None - else: - markers = Marker(markers_as_string) - else: - markers = None - name = name.strip() - req_as_string = None - path = os.path.normpath(os.path.abspath(name)) - link = None - extras_as_string = None - - if is_url(name): - link = Link(name) - else: - p, extras_as_string = _strip_extras(path) - url = _get_url_from_path(p, name) - if url is not None: - link = Link(url) - - # it's a local file, dir, or url - if link: - # Handle relative file URLs - if link.scheme == 'file' and re.search(r'\.\./', link.url): - link = Link( - path_to_url(os.path.normpath(os.path.abspath(link.path)))) - # wheel file - if link.is_wheel: - wheel = Wheel(link.filename) # can raise InvalidWheelFilename - req_as_string = "%s==%s" % (wheel.name, wheel.version) - else: - # set the req to the egg fragment. when it's not there, this - # will become an 'unnamed' requirement - req_as_string = link.egg_fragment - - # a requirement specifier - else: - req_as_string = name - - extras = convert_extras(extras_as_string) - - def with_source(text): - # type: (str) -> str - if not line_source: - return text - return '{} (from {})'.format(text, line_source) - - if req_as_string is not None: - try: - req = Requirement(req_as_string) - except InvalidRequirement: - if os.path.sep in req_as_string: - add_msg = "It looks like a path." - add_msg += deduce_helpful_msg(req_as_string) - elif ('=' in req_as_string and - not any(op in req_as_string for op in operators)): - add_msg = "= is not a valid operator. Did you mean == ?" - else: - add_msg = '' - msg = with_source( - 'Invalid requirement: {!r}'.format(req_as_string) - ) - if add_msg: - msg += '\nHint: {}'.format(add_msg) - raise InstallationError(msg) - else: - req = None - - return RequirementParts(req, link, markers, extras) - - -def install_req_from_line( - name, # type: str - comes_from=None, # type: Optional[Union[str, InstallRequirement]] - use_pep517=None, # type: Optional[bool] - isolated=False, # type: bool - options=None, # type: Optional[Dict[str, Any]] - wheel_cache=None, # type: Optional[WheelCache] - constraint=False, # type: bool - line_source=None, # type: Optional[str] -): - # type: (...) -> InstallRequirement - """Creates an InstallRequirement from a name, which might be a - requirement, directory containing 'setup.py', filename, or URL. - - :param line_source: An optional string describing where the line is from, - for logging purposes in case of an error. - """ - parts = parse_req_from_line(name, line_source) - - return InstallRequirement( - parts.requirement, comes_from, link=parts.link, markers=parts.markers, - use_pep517=use_pep517, isolated=isolated, - options=options if options else {}, - wheel_cache=wheel_cache, - constraint=constraint, - extras=parts.extras, - ) - - -def install_req_from_req_string( - req_string, # type: str - comes_from=None, # type: Optional[InstallRequirement] - isolated=False, # type: bool - wheel_cache=None, # type: Optional[WheelCache] - use_pep517=None # type: Optional[bool] -): - # type: (...) -> InstallRequirement - try: - req = Requirement(req_string) - except InvalidRequirement: - raise InstallationError("Invalid requirement: '%s'" % req_string) - - domains_not_allowed = [ - PyPI.file_storage_domain, - TestPyPI.file_storage_domain, - ] - if (req.url and comes_from and comes_from.link and - comes_from.link.netloc in domains_not_allowed): - # Explicitly disallow pypi packages that depend on external urls - raise InstallationError( - "Packages installed from PyPI cannot depend on packages " - "which are not also hosted on PyPI.\n" - "%s depends on %s " % (comes_from.name, req) - ) - - return InstallRequirement( - req, comes_from, isolated=isolated, wheel_cache=wheel_cache, - use_pep517=use_pep517 - ) diff --git a/.venv/lib/python3.8/site-packages/pip/_internal/req/req_file.py b/.venv/lib/python3.8/site-packages/pip/_internal/req/req_file.py deleted file mode 100644 index 8c78104..0000000 --- a/.venv/lib/python3.8/site-packages/pip/_internal/req/req_file.py +++ /dev/null @@ -1,546 +0,0 @@ -""" -Requirements file parsing -""" - -# The following comment should be removed at some point in the future. -# mypy: strict-optional=False - -from __future__ import absolute_import - -import optparse -import os -import re -import shlex -import sys - -from pip._vendor.six.moves import filterfalse -from pip._vendor.six.moves.urllib import parse as urllib_parse - -from pip._internal.cli import cmdoptions -from pip._internal.exceptions import ( - InstallationError, - RequirementsFileParseError, -) -from pip._internal.models.search_scope import SearchScope -from pip._internal.req.constructors import ( - install_req_from_editable, - install_req_from_line, -) -from pip._internal.utils.encoding import auto_decode -from pip._internal.utils.typing import MYPY_CHECK_RUNNING -from pip._internal.utils.urls import get_url_scheme - -if MYPY_CHECK_RUNNING: - from optparse import Values - from typing import ( - Any, Callable, Iterator, List, NoReturn, Optional, Text, Tuple, - ) - - from pip._internal.req import InstallRequirement - from pip._internal.cache import WheelCache - from pip._internal.index.package_finder import PackageFinder - from pip._internal.network.session import PipSession - - ReqFileLines = Iterator[Tuple[int, Text]] - - LineParser = Callable[[Text], Tuple[str, Values]] - - -__all__ = ['parse_requirements'] - -SCHEME_RE = re.compile(r'^(http|https|file):', re.I) -COMMENT_RE = re.compile(r'(^|\s+)#.*$') - -# Matches environment variable-style values in '${MY_VARIABLE_1}' with the -# variable name consisting of only uppercase letters, digits or the '_' -# (underscore). This follows the POSIX standard defined in IEEE Std 1003.1, -# 2013 Edition. -ENV_VAR_RE = re.compile(r'(?P<var>\$\{(?P<name>[A-Z0-9_]+)\})') - -SUPPORTED_OPTIONS = [ - cmdoptions.index_url, - cmdoptions.extra_index_url, - cmdoptions.no_index, - cmdoptions.constraints, - cmdoptions.requirements, - cmdoptions.editable, - cmdoptions.find_links, - cmdoptions.no_binary, - cmdoptions.only_binary, - cmdoptions.require_hashes, - cmdoptions.pre, - cmdoptions.trusted_host, - cmdoptions.always_unzip, # Deprecated -] # type: List[Callable[..., optparse.Option]] - -# options to be passed to requirements -SUPPORTED_OPTIONS_REQ = [ - cmdoptions.install_options, - cmdoptions.global_options, - cmdoptions.hash, -] # type: List[Callable[..., optparse.Option]] - -# the 'dest' string values -SUPPORTED_OPTIONS_REQ_DEST = [str(o().dest) for o in SUPPORTED_OPTIONS_REQ] - - -class ParsedLine(object): - def __init__( - self, - filename, # type: str - lineno, # type: int - comes_from, # type: str - args, # type: str - opts, # type: Values - constraint, # type: bool - ): - # type: (...) -> None - self.filename = filename - self.lineno = lineno - self.comes_from = comes_from - self.args = args - self.opts = opts - self.constraint = constraint - - -def parse_requirements( - filename, # type: str - session, # type: PipSession - finder=None, # type: Optional[PackageFinder] - comes_from=None, # type: Optional[str] - options=None, # type: Optional[optparse.Values] - constraint=False, # type: bool - wheel_cache=None, # type: Optional[WheelCache] - use_pep517=None # type: Optional[bool] -): - # type: (...) -> Iterator[InstallRequirement] - """Parse a requirements file and yield InstallRequirement instances. - - :param filename: Path or url of requirements file. - :param session: PipSession instance. - :param finder: Instance of pip.index.PackageFinder. - :param comes_from: Origin description of requirements. - :param options: cli options. - :param constraint: If true, parsing a constraint file rather than - requirements file. - :param wheel_cache: Instance of pip.wheel.WheelCache - :param use_pep517: Value of the --use-pep517 option. - """ - skip_requirements_regex = ( - options.skip_requirements_regex if options else None - ) - line_parser = get_line_parser(finder) - parser = RequirementsFileParser( - session, line_parser, comes_from, skip_requirements_regex - ) - - for parsed_line in parser.parse(filename, constraint): - req = handle_line( - parsed_line, finder, options, session, wheel_cache, use_pep517 - ) - if req is not None: - yield req - - -def preprocess(content, skip_requirements_regex): - # type: (Text, Optional[str]) -> ReqFileLines - """Split, filter, and join lines, and return a line iterator - - :param content: the content of the requirements file - :param options: cli options - """ - lines_enum = enumerate(content.splitlines(), start=1) # type: ReqFileLines - lines_enum = join_lines(lines_enum) - lines_enum = ignore_comments(lines_enum) - if skip_requirements_regex: - lines_enum = skip_regex(lines_enum, skip_requirements_regex) - lines_enum = expand_env_variables(lines_enum) - return lines_enum - - -def handle_line( - line, # type: ParsedLine - finder=None, # type: Optional[PackageFinder] - options=None, # type: Optional[optparse.Values] - session=None, # type: Optional[PipSession] - wheel_cache=None, # type: Optional[WheelCache] - use_pep517=None, # type: Optional[bool] -): - # type: (...) -> Optional[InstallRequirement] - """Handle a single parsed requirements line; This can result in - creating/yielding requirements, or updating the finder. - - For lines that contain requirements, the only options that have an effect - are from SUPPORTED_OPTIONS_REQ, and they are scoped to the - requirement. Other options from SUPPORTED_OPTIONS may be present, but are - ignored. - - For lines that do not contain requirements, the only options that have an - effect are from SUPPORTED_OPTIONS. Options from SUPPORTED_OPTIONS_REQ may - be present, but are ignored. These lines may contain multiple options - (although our docs imply only one is supported), and all our parsed and - affect the finder. - """ - - # preserve for the nested code path - line_comes_from = '%s %s (line %s)' % ( - '-c' if line.constraint else '-r', line.filename, line.lineno, - ) - - # return a line requirement - if line.args: - isolated = options.isolated_mode if options else False - if options: - cmdoptions.check_install_build_global(options, line.opts) - # get the options that apply to requirements - req_options = {} - for dest in SUPPORTED_OPTIONS_REQ_DEST: - if dest in line.opts.__dict__ and line.opts.__dict__[dest]: - req_options[dest] = line.opts.__dict__[dest] - line_source = 'line {} of {}'.format(line.lineno, line.filename) - return install_req_from_line( - line.args, - comes_from=line_comes_from, - use_pep517=use_pep517, - isolated=isolated, - options=req_options, - wheel_cache=wheel_cache, - constraint=line.constraint, - line_source=line_source, - ) - - # return an editable requirement - elif line.opts.editables: - isolated = options.isolated_mode if options else False - return install_req_from_editable( - line.opts.editables[0], comes_from=line_comes_from, - use_pep517=use_pep517, - constraint=line.constraint, isolated=isolated, - wheel_cache=wheel_cache - ) - - # percolate hash-checking option upward - elif line.opts.require_hashes: - options.require_hashes = line.opts.require_hashes - - # set finder options - elif finder: - find_links = finder.find_links - index_urls = finder.index_urls - if line.opts.index_url: - index_urls = [line.opts.index_url] - if line.opts.no_index is True: - index_urls = [] - if line.opts.extra_index_urls: - index_urls.extend(line.opts.extra_index_urls) - if line.opts.find_links: - # FIXME: it would be nice to keep track of the source - # of the find_links: support a find-links local path - # relative to a requirements file. - value = line.opts.find_links[0] - req_dir = os.path.dirname(os.path.abspath(line.filename)) - relative_to_reqs_file = os.path.join(req_dir, value) - if os.path.exists(relative_to_reqs_file): - value = relative_to_reqs_file - find_links.append(value) - - search_scope = SearchScope( - find_links=find_links, - index_urls=index_urls, - ) - finder.search_scope = search_scope - - if line.opts.pre: - finder.set_allow_all_prereleases() - - if session: - for host in line.opts.trusted_hosts or []: - source = 'line {} of {}'.format(line.lineno, line.filename) - session.add_trusted_host(host, source=source) - - return None - - -class RequirementsFileParser(object): - def __init__( - self, - session, # type: PipSession - line_parser, # type: LineParser - comes_from, # type: str - skip_requirements_regex, # type: Optional[str] - ): - # type: (...) -> None - self._session = session - self._line_parser = line_parser - self._comes_from = comes_from - self._skip_requirements_regex = skip_requirements_regex - - def parse(self, filename, constraint): - # type: (str, bool) -> Iterator[ParsedLine] - """Parse a given file, yielding parsed lines. - """ - for line in self._parse_and_recurse(filename, constraint): - yield line - - def _parse_and_recurse(self, filename, constraint): - # type: (str, bool) -> Iterator[ParsedLine] - for line in self._parse_file(filename, constraint): - if ( - not line.args and - not line.opts.editables and - (line.opts.requirements or line.opts.constraints) - ): - # parse a nested requirements file - if line.opts.requirements: - req_path = line.opts.requirements[0] - nested_constraint = False - else: - req_path = line.opts.constraints[0] - nested_constraint = True - - # original file is over http - if SCHEME_RE.search(filename): - # do a url join so relative paths work - req_path = urllib_parse.urljoin(filename, req_path) - # original file and nested file are paths - elif not SCHEME_RE.search(req_path): - # do a join so relative paths work - req_path = os.path.join( - os.path.dirname(filename), req_path, - ) - - for inner_line in self._parse_and_recurse( - req_path, nested_constraint, - ): - yield inner_line - else: - yield line - - def _parse_file(self, filename, constraint): - # type: (str, bool) -> Iterator[ParsedLine] - _, content = get_file_content( - filename, self._session, comes_from=self._comes_from - ) - - lines_enum = preprocess(content, self._skip_requirements_regex) - - for line_number, line in lines_enum: - try: - args_str, opts = self._line_parser(line) - except OptionParsingError as e: - # add offending line - msg = 'Invalid requirement: %s\n%s' % (line, e.msg) - raise RequirementsFileParseError(msg) - - yield ParsedLine( - filename, - line_number, - self._comes_from, - args_str, - opts, - constraint, - ) - - -def get_line_parser(finder): - # type: (Optional[PackageFinder]) -> LineParser - def parse_line(line): - # type: (Text) -> Tuple[str, Values] - # Build new parser for each line since it accumulates appendable - # options. - parser = build_parser() - defaults = parser.get_default_values() - defaults.index_url = None - if finder: - defaults.format_control = finder.format_control - - args_str, options_str = break_args_options(line) - # Prior to 2.7.3, shlex cannot deal with unicode entries - if sys.version_info < (2, 7, 3): - # https://github.com/python/mypy/issues/1174 - options_str = options_str.encode('utf8') # type: ignore - - # https://github.com/python/mypy/issues/1174 - opts, _ = parser.parse_args( - shlex.split(options_str), defaults) # type: ignore - - return args_str, opts - - return parse_line - - -def break_args_options(line): - # type: (Text) -> Tuple[str, Text] - """Break up the line into an args and options string. We only want to shlex - (and then optparse) the options, not the args. args can contain markers - which are corrupted by shlex. - """ - tokens = line.split(' ') - args = [] - options = tokens[:] - for token in tokens: - if token.startswith('-') or token.startswith('--'): - break - else: - args.append(token) - options.pop(0) - return ' '.join(args), ' '.join(options) # type: ignore - - -class OptionParsingError(Exception): - def __init__(self, msg): - # type: (str) -> None - self.msg = msg - - -def build_parser(): - # type: () -> optparse.OptionParser - """ - Return a parser for parsing requirement lines - """ - parser = optparse.OptionParser(add_help_option=False) - - option_factories = SUPPORTED_OPTIONS + SUPPORTED_OPTIONS_REQ - for option_factory in option_factories: - option = option_factory() - parser.add_option(option) - - # By default optparse sys.exits on parsing errors. We want to wrap - # that in our own exception. - def parser_exit(self, msg): - # type: (Any, str) -> NoReturn - raise OptionParsingError(msg) - # NOTE: mypy disallows assigning to a method - # https://github.com/python/mypy/issues/2427 - parser.exit = parser_exit # type: ignore - - return parser - - -def join_lines(lines_enum): - # type: (ReqFileLines) -> ReqFileLines - """Joins a line ending in '\' with the previous line (except when following - comments). The joined line takes on the index of the first line. - """ - primary_line_number = None - new_line = [] # type: List[Text] - for line_number, line in lines_enum: - if not line.endswith('\\') or COMMENT_RE.match(line): - if COMMENT_RE.match(line): - # this ensures comments are always matched later - line = ' ' + line - if new_line: - new_line.append(line) - yield primary_line_number, ''.join(new_line) - new_line = [] - else: - yield line_number, line - else: - if not new_line: - primary_line_number = line_number - new_line.append(line.strip('\\')) - - # last line contains \ - if new_line: - yield primary_line_number, ''.join(new_line) - - # TODO: handle space after '\'. - - -def ignore_comments(lines_enum): - # type: (ReqFileLines) -> ReqFileLines - """ - Strips comments and filter empty lines. - """ - for line_number, line in lines_enum: - line = COMMENT_RE.sub('', line) - line = line.strip() - if line: - yield line_number, line - - -def skip_regex(lines_enum, pattern): - # type: (ReqFileLines, str) -> ReqFileLines - """ - Skip lines that match the provided pattern - - Note: the regex pattern is only built once - """ - matcher = re.compile(pattern) - lines_enum = filterfalse(lambda e: matcher.search(e[1]), lines_enum) - return lines_enum - - -def expand_env_variables(lines_enum): - # type: (ReqFileLines) -> ReqFileLines - """Replace all environment variables that can be retrieved via `os.getenv`. - - The only allowed format for environment variables defined in the - requirement file is `${MY_VARIABLE_1}` to ensure two things: - - 1. Strings that contain a `$` aren't accidentally (partially) expanded. - 2. Ensure consistency across platforms for requirement files. - - These points are the result of a discussion on the `github pull - request #3514 <https://github.com/pypa/pip/pull/3514>`_. - - Valid characters in variable names follow the `POSIX standard - <http://pubs.opengroup.org/onlinepubs/9699919799/>`_ and are limited - to uppercase letter, digits and the `_` (underscore). - """ - for line_number, line in lines_enum: - for env_var, var_name in ENV_VAR_RE.findall(line): - value = os.getenv(var_name) - if not value: - continue - - line = line.replace(env_var, value) - - yield line_number, line - - -def get_file_content(url, session, comes_from=None): - # type: (str, PipSession, Optional[str]) -> Tuple[str, Text] - """Gets the content of a file; it may be a filename, file: URL, or - http: URL. Returns (location, content). Content is unicode. - Respects # -*- coding: declarations on the retrieved files. - - :param url: File path or url. - :param session: PipSession instance. - :param comes_from: Origin description of requirements. - """ - scheme = get_url_scheme(url) - - if scheme in ['http', 'https']: - # FIXME: catch some errors - resp = session.get(url) - resp.raise_for_status() - return resp.url, resp.text - - elif scheme == 'file': - if comes_from and comes_from.startswith('http'): - raise InstallationError( - 'Requirements file %s references URL %s, which is local' - % (comes_from, url)) - - path = url.split(':', 1)[1] - path = path.replace('\\', '/') - match = _url_slash_drive_re.match(path) - if match: - path = match.group(1) + ':' + path.split('|', 1)[1] - path = urllib_parse.unquote(path) - if path.startswith('/'): - path = '/' + path.lstrip('/') - url = path - - try: - with open(url, 'rb') as f: - content = auto_decode(f.read()) - except IOError as exc: - raise InstallationError( - 'Could not open requirements file: %s' % str(exc) - ) - return url, content - - -_url_slash_drive_re = re.compile(r'/*([a-z])\|', re.I) diff --git a/.venv/lib/python3.8/site-packages/pip/_internal/req/req_install.py b/.venv/lib/python3.8/site-packages/pip/_internal/req/req_install.py deleted file mode 100644 index 22ac24b..0000000 --- a/.venv/lib/python3.8/site-packages/pip/_internal/req/req_install.py +++ /dev/null @@ -1,830 +0,0 @@ -# The following comment should be removed at some point in the future. -# mypy: strict-optional=False - -from __future__ import absolute_import - -import logging -import os -import shutil -import sys -import zipfile - -from pip._vendor import pkg_resources, six -from pip._vendor.packaging.requirements import Requirement -from pip._vendor.packaging.utils import canonicalize_name -from pip._vendor.packaging.version import Version -from pip._vendor.packaging.version import parse as parse_version -from pip._vendor.pep517.wrappers import Pep517HookCaller - -from pip._internal import pep425tags -from pip._internal.build_env import NoOpBuildEnvironment -from pip._internal.exceptions import InstallationError -from pip._internal.locations import get_scheme -from pip._internal.models.link import Link -from pip._internal.operations.build.metadata import generate_metadata -from pip._internal.operations.build.metadata_legacy import \ - generate_metadata as generate_metadata_legacy -from pip._internal.operations.install.editable_legacy import \ - install_editable as install_editable_legacy -from pip._internal.operations.install.legacy import install as install_legacy -from pip._internal.operations.install.wheel import install_wheel -from pip._internal.pyproject import load_pyproject_toml, make_pyproject_path -from pip._internal.req.req_uninstall import UninstallPathSet -from pip._internal.utils.deprecation import deprecated -from pip._internal.utils.hashes import Hashes -from pip._internal.utils.logging import indent_log -from pip._internal.utils.marker_files import ( - PIP_DELETE_MARKER_FILENAME, - has_delete_marker_file, - write_delete_marker_file, -) -from pip._internal.utils.misc import ( - ask_path_exists, - backup_dir, - display_path, - dist_in_site_packages, - dist_in_usersite, - get_installed_version, - hide_url, - redact_auth_from_url, - rmtree, -) -from pip._internal.utils.packaging import get_metadata -from pip._internal.utils.temp_dir import TempDirectory -from pip._internal.utils.typing import MYPY_CHECK_RUNNING -from pip._internal.utils.virtualenv import running_under_virtualenv -from pip._internal.vcs import vcs - -if MYPY_CHECK_RUNNING: - from typing import ( - Any, Dict, Iterable, List, Optional, Sequence, Union, - ) - from pip._internal.build_env import BuildEnvironment - from pip._internal.cache import WheelCache - from pip._internal.index.package_finder import PackageFinder - from pip._vendor.pkg_resources import Distribution - from pip._vendor.packaging.specifiers import SpecifierSet - from pip._vendor.packaging.markers import Marker - - -logger = logging.getLogger(__name__) - - -def _get_dist(metadata_directory): - # type: (str) -> Distribution - """Return a pkg_resources.Distribution for the provided - metadata directory. - """ - dist_dir = metadata_directory.rstrip(os.sep) - - # Determine the correct Distribution object type. - if dist_dir.endswith(".egg-info"): - dist_cls = pkg_resources.Distribution - else: - assert dist_dir.endswith(".dist-info") - dist_cls = pkg_resources.DistInfoDistribution - - # Build a PathMetadata object, from path to metadata. :wink: - base_dir, dist_dir_name = os.path.split(dist_dir) - dist_name = os.path.splitext(dist_dir_name)[0] - metadata = pkg_resources.PathMetadata(base_dir, dist_dir) - - return dist_cls( - base_dir, - project_name=dist_name, - metadata=metadata, - ) - - -class InstallRequirement(object): - """ - Represents something that may be installed later on, may have information - about where to fetch the relevant requirement and also contains logic for - installing the said requirement. - """ - - def __init__( - self, - req, # type: Optional[Requirement] - comes_from, # type: Optional[Union[str, InstallRequirement]] - source_dir=None, # type: Optional[str] - editable=False, # type: bool - link=None, # type: Optional[Link] - markers=None, # type: Optional[Marker] - use_pep517=None, # type: Optional[bool] - isolated=False, # type: bool - options=None, # type: Optional[Dict[str, Any]] - wheel_cache=None, # type: Optional[WheelCache] - constraint=False, # type: bool - extras=() # type: Iterable[str] - ): - # type: (...) -> None - assert req is None or isinstance(req, Requirement), req - self.req = req - self.comes_from = comes_from - self.constraint = constraint - if source_dir is None: - self.source_dir = None # type: Optional[str] - else: - self.source_dir = os.path.normpath(os.path.abspath(source_dir)) - self.editable = editable - - self._wheel_cache = wheel_cache - if link is None and req and req.url: - # PEP 508 URL requirement - link = Link(req.url) - self.link = self.original_link = link - # Path to any downloaded or already-existing package. - self.local_file_path = None # type: Optional[str] - if self.link and self.link.is_file: - self.local_file_path = self.link.file_path - - if extras: - self.extras = extras - elif req: - self.extras = { - pkg_resources.safe_extra(extra) for extra in req.extras - } - else: - self.extras = set() - if markers is None and req: - markers = req.marker - self.markers = markers - - # This holds the pkg_resources.Distribution object if this requirement - # is already available: - self.satisfied_by = None # type: Optional[Distribution] - # Whether the installation process should try to uninstall an existing - # distribution before installing this requirement. - self.should_reinstall = False - # Temporary build location - self._temp_build_dir = None # type: Optional[TempDirectory] - # Set to True after successful installation - self.install_succeeded = None # type: Optional[bool] - self.options = options if options else {} - # Set to True after successful preparation of this requirement - self.prepared = False - self.is_direct = False - - self.isolated = isolated - self.build_env = NoOpBuildEnvironment() # type: BuildEnvironment - - # For PEP 517, the directory where we request the project metadata - # gets stored. We need this to pass to build_wheel, so the backend - # can ensure that the wheel matches the metadata (see the PEP for - # details). - self.metadata_directory = None # type: Optional[str] - - # The static build requirements (from pyproject.toml) - self.pyproject_requires = None # type: Optional[List[str]] - - # Build requirements that we will check are available - self.requirements_to_check = [] # type: List[str] - - # The PEP 517 backend we should use to build the project - self.pep517_backend = None # type: Optional[Pep517HookCaller] - - # Are we using PEP 517 for this requirement? - # After pyproject.toml has been loaded, the only valid values are True - # and False. Before loading, None is valid (meaning "use the default"). - # Setting an explicit value before loading pyproject.toml is supported, - # but after loading this flag should be treated as read only. - self.use_pep517 = use_pep517 - - def __str__(self): - # type: () -> str - if self.req: - s = str(self.req) - if self.link: - s += ' from %s' % redact_auth_from_url(self.link.url) - elif self.link: - s = redact_auth_from_url(self.link.url) - else: - s = '<InstallRequirement>' - if self.satisfied_by is not None: - s += ' in %s' % display_path(self.satisfied_by.location) - if self.comes_from: - if isinstance(self.comes_from, six.string_types): - comes_from = self.comes_from # type: Optional[str] - else: - comes_from = self.comes_from.from_path() - if comes_from: - s += ' (from %s)' % comes_from - return s - - def __repr__(self): - # type: () -> str - return '<%s object: %s editable=%r>' % ( - self.__class__.__name__, str(self), self.editable) - - def format_debug(self): - # type: () -> str - """An un-tested helper for getting state, for debugging. - """ - attributes = vars(self) - names = sorted(attributes) - - state = ( - "{}={!r}".format(attr, attributes[attr]) for attr in sorted(names) - ) - return '<{name} object: {{{state}}}>'.format( - name=self.__class__.__name__, - state=", ".join(state), - ) - - def populate_link(self, finder, upgrade, require_hashes): - # type: (PackageFinder, bool, bool) -> None - """Ensure that if a link can be found for this, that it is found. - - Note that self.link may still be None - if Upgrade is False and the - requirement is already installed. - - If require_hashes is True, don't use the wheel cache, because cached - wheels, always built locally, have different hashes than the files - downloaded from the index server and thus throw false hash mismatches. - Furthermore, cached wheels at present have undeterministic contents due - to file modification times. - """ - if self.link is None: - self.link = finder.find_requirement(self, upgrade) - if self._wheel_cache is not None and not require_hashes: - old_link = self.link - supported_tags = pep425tags.get_supported() - self.link = self._wheel_cache.get( - link=self.link, - package_name=self.name, - supported_tags=supported_tags, - ) - if old_link != self.link: - logger.debug('Using cached wheel link: %s', self.link) - - # Things that are valid for all kinds of requirements? - @property - def name(self): - # type: () -> Optional[str] - if self.req is None: - return None - return six.ensure_str(pkg_resources.safe_name(self.req.name)) - - @property - def specifier(self): - # type: () -> SpecifierSet - return self.req.specifier - - @property - def is_pinned(self): - # type: () -> bool - """Return whether I am pinned to an exact version. - - For example, some-package==1.2 is pinned; some-package>1.2 is not. - """ - specifiers = self.specifier - return (len(specifiers) == 1 and - next(iter(specifiers)).operator in {'==', '==='}) - - @property - def installed_version(self): - # type: () -> Optional[str] - return get_installed_version(self.name) - - def match_markers(self, extras_requested=None): - # type: (Optional[Iterable[str]]) -> bool - if not extras_requested: - # Provide an extra to safely evaluate the markers - # without matching any extra - extras_requested = ('',) - if self.markers is not None: - return any( - self.markers.evaluate({'extra': extra}) - for extra in extras_requested) - else: - return True - - @property - def has_hash_options(self): - # type: () -> bool - """Return whether any known-good hashes are specified as options. - - These activate --require-hashes mode; hashes specified as part of a - URL do not. - - """ - return bool(self.options.get('hashes', {})) - - def hashes(self, trust_internet=True): - # type: (bool) -> Hashes - """Return a hash-comparer that considers my option- and URL-based - hashes to be known-good. - - Hashes in URLs--ones embedded in the requirements file, not ones - downloaded from an index server--are almost peers with ones from - flags. They satisfy --require-hashes (whether it was implicitly or - explicitly activated) but do not activate it. md5 and sha224 are not - allowed in flags, which should nudge people toward good algos. We - always OR all hashes together, even ones from URLs. - - :param trust_internet: Whether to trust URL-based (#md5=...) hashes - downloaded from the internet, as by populate_link() - - """ - good_hashes = self.options.get('hashes', {}).copy() - link = self.link if trust_internet else self.original_link - if link and link.hash: - good_hashes.setdefault(link.hash_name, []).append(link.hash) - return Hashes(good_hashes) - - def from_path(self): - # type: () -> Optional[str] - """Format a nice indicator to show where this "comes from" - """ - if self.req is None: - return None - s = str(self.req) - if self.comes_from: - if isinstance(self.comes_from, six.string_types): - comes_from = self.comes_from - else: - comes_from = self.comes_from.from_path() - if comes_from: - s += '->' + comes_from - return s - - def ensure_build_location(self, build_dir): - # type: (str) -> str - assert build_dir is not None - if self._temp_build_dir is not None: - assert self._temp_build_dir.path - return self._temp_build_dir.path - if self.req is None: - # Some systems have /tmp as a symlink which confuses custom - # builds (such as numpy). Thus, we ensure that the real path - # is returned. - self._temp_build_dir = TempDirectory(kind="req-build") - - return self._temp_build_dir.path - if self.editable: - name = self.name.lower() - else: - name = self.name - # FIXME: Is there a better place to create the build_dir? (hg and bzr - # need this) - if not os.path.exists(build_dir): - logger.debug('Creating directory %s', build_dir) - os.makedirs(build_dir) - write_delete_marker_file(build_dir) - return os.path.join(build_dir, name) - - def _set_requirement(self): - # type: () -> None - """Set requirement after generating metadata. - """ - assert self.req is None - assert self.metadata is not None - assert self.source_dir is not None - - # Construct a Requirement object from the generated metadata - if isinstance(parse_version(self.metadata["Version"]), Version): - op = "==" - else: - op = "===" - - self.req = Requirement( - "".join([ - self.metadata["Name"], - op, - self.metadata["Version"], - ]) - ) - - def warn_on_mismatching_name(self): - # type: () -> None - metadata_name = canonicalize_name(self.metadata["Name"]) - if canonicalize_name(self.req.name) == metadata_name: - # Everything is fine. - return - - # If we're here, there's a mismatch. Log a warning about it. - logger.warning( - 'Generating metadata for package %s ' - 'produced metadata for project name %s. Fix your ' - '#egg=%s fragments.', - self.name, metadata_name, self.name - ) - self.req = Requirement(metadata_name) - - def remove_temporary_source(self): - # type: () -> None - """Remove the source files from this requirement, if they are marked - for deletion""" - if self.source_dir and has_delete_marker_file(self.source_dir): - logger.debug('Removing source in %s', self.source_dir) - rmtree(self.source_dir) - self.source_dir = None - if self._temp_build_dir: - self._temp_build_dir.cleanup() - self._temp_build_dir = None - self.build_env.cleanup() - - def check_if_exists(self, use_user_site): - # type: (bool) -> None - """Find an installed distribution that satisfies or conflicts - with this requirement, and set self.satisfied_by or - self.should_reinstall appropriately. - """ - if self.req is None: - return - # get_distribution() will resolve the entire list of requirements - # anyway, and we've already determined that we need the requirement - # in question, so strip the marker so that we don't try to - # evaluate it. - no_marker = Requirement(str(self.req)) - no_marker.marker = None - try: - self.satisfied_by = pkg_resources.get_distribution(str(no_marker)) - except pkg_resources.DistributionNotFound: - return - except pkg_resources.VersionConflict: - existing_dist = pkg_resources.get_distribution( - self.req.name - ) - if use_user_site: - if dist_in_usersite(existing_dist): - self.should_reinstall = True - elif (running_under_virtualenv() and - dist_in_site_packages(existing_dist)): - raise InstallationError( - "Will not install to the user site because it will " - "lack sys.path precedence to %s in %s" % - (existing_dist.project_name, existing_dist.location) - ) - else: - self.should_reinstall = True - else: - if self.editable and self.satisfied_by: - self.should_reinstall = True - # when installing editables, nothing pre-existing should ever - # satisfy - self.satisfied_by = None - - # Things valid for wheels - @property - def is_wheel(self): - # type: () -> bool - if not self.link: - return False - return self.link.is_wheel - - # Things valid for sdists - @property - def unpacked_source_directory(self): - # type: () -> str - return os.path.join( - self.source_dir, - self.link and self.link.subdirectory_fragment or '') - - @property - def setup_py_path(self): - # type: () -> str - assert self.source_dir, "No source dir for %s" % self - setup_py = os.path.join(self.unpacked_source_directory, 'setup.py') - - # Python2 __file__ should not be unicode - if six.PY2 and isinstance(setup_py, six.text_type): - setup_py = setup_py.encode(sys.getfilesystemencoding()) - - return setup_py - - @property - def pyproject_toml_path(self): - # type: () -> str - assert self.source_dir, "No source dir for %s" % self - return make_pyproject_path(self.unpacked_source_directory) - - def load_pyproject_toml(self): - # type: () -> None - """Load the pyproject.toml file. - - After calling this routine, all of the attributes related to PEP 517 - processing for this requirement have been set. In particular, the - use_pep517 attribute can be used to determine whether we should - follow the PEP 517 or legacy (setup.py) code path. - """ - pyproject_toml_data = load_pyproject_toml( - self.use_pep517, - self.pyproject_toml_path, - self.setup_py_path, - str(self) - ) - - if pyproject_toml_data is None: - self.use_pep517 = False - return - - self.use_pep517 = True - requires, backend, check, backend_path = pyproject_toml_data - self.requirements_to_check = check - self.pyproject_requires = requires - self.pep517_backend = Pep517HookCaller( - self.unpacked_source_directory, backend, backend_path=backend_path, - ) - - def _generate_metadata(self): - # type: () -> str - """Invokes metadata generator functions, with the required arguments. - """ - if not self.use_pep517: - assert self.unpacked_source_directory - - return generate_metadata_legacy( - build_env=self.build_env, - setup_py_path=self.setup_py_path, - source_dir=self.unpacked_source_directory, - editable=self.editable, - isolated=self.isolated, - details=self.name or "from {}".format(self.link) - ) - - assert self.pep517_backend is not None - - return generate_metadata( - build_env=self.build_env, - backend=self.pep517_backend, - ) - - def prepare_metadata(self): - # type: () -> None - """Ensure that project metadata is available. - - Under PEP 517, call the backend hook to prepare the metadata. - Under legacy processing, call setup.py egg-info. - """ - assert self.source_dir - - with indent_log(): - self.metadata_directory = self._generate_metadata() - - # Act on the newly generated metadata, based on the name and version. - if not self.name: - self._set_requirement() - else: - self.warn_on_mismatching_name() - - self.assert_source_matches_version() - - @property - def metadata(self): - # type: () -> Any - if not hasattr(self, '_metadata'): - self._metadata = get_metadata(self.get_dist()) - - return self._metadata - - def get_dist(self): - # type: () -> Distribution - return _get_dist(self.metadata_directory) - - def assert_source_matches_version(self): - # type: () -> None - assert self.source_dir - version = self.metadata['version'] - if self.req.specifier and version not in self.req.specifier: - logger.warning( - 'Requested %s, but installing version %s', - self, - version, - ) - else: - logger.debug( - 'Source in %s has version %s, which satisfies requirement %s', - display_path(self.source_dir), - version, - self, - ) - - # For both source distributions and editables - def ensure_has_source_dir(self, parent_dir): - # type: (str) -> None - """Ensure that a source_dir is set. - - This will create a temporary build dir if the name of the requirement - isn't known yet. - - :param parent_dir: The ideal pip parent_dir for the source_dir. - Generally src_dir for editables and build_dir for sdists. - :return: self.source_dir - """ - if self.source_dir is None: - self.source_dir = self.ensure_build_location(parent_dir) - - # For editable installations - def update_editable(self, obtain=True): - # type: (bool) -> None - if not self.link: - logger.debug( - "Cannot update repository at %s; repository location is " - "unknown", - self.source_dir, - ) - return - assert self.editable - assert self.source_dir - if self.link.scheme == 'file': - # Static paths don't get updated - return - assert '+' in self.link.url, "bad url: %r" % self.link.url - vc_type, url = self.link.url.split('+', 1) - vcs_backend = vcs.get_backend(vc_type) - if vcs_backend: - if not self.link.is_vcs: - reason = ( - "This form of VCS requirement is being deprecated: {}." - ).format( - self.link.url - ) - replacement = None - if self.link.url.startswith("git+git@"): - replacement = ( - "git+https://git@example.com/..., " - "git+ssh://git@example.com/..., " - "or the insecure git+git://git@example.com/..." - ) - deprecated(reason, replacement, gone_in="21.0", issue=7554) - hidden_url = hide_url(self.link.url) - if obtain: - vcs_backend.obtain(self.source_dir, url=hidden_url) - else: - vcs_backend.export(self.source_dir, url=hidden_url) - else: - assert 0, ( - 'Unexpected version control type (in %s): %s' - % (self.link, vc_type)) - - # Top-level Actions - def uninstall(self, auto_confirm=False, verbose=False): - # type: (bool, bool) -> Optional[UninstallPathSet] - """ - Uninstall the distribution currently satisfying this requirement. - - Prompts before removing or modifying files unless - ``auto_confirm`` is True. - - Refuses to delete or modify files outside of ``sys.prefix`` - - thus uninstallation within a virtual environment can only - modify that virtual environment, even if the virtualenv is - linked to global site-packages. - - """ - assert self.req - try: - dist = pkg_resources.get_distribution(self.req.name) - except pkg_resources.DistributionNotFound: - logger.warning("Skipping %s as it is not installed.", self.name) - return None - else: - logger.info('Found existing installation: %s', dist) - - uninstalled_pathset = UninstallPathSet.from_dist(dist) - uninstalled_pathset.remove(auto_confirm, verbose) - return uninstalled_pathset - - def _get_archive_name(self, path, parentdir, rootdir): - # type: (str, str, str) -> str - - def _clean_zip_name(name, prefix): - # type: (str, str) -> str - assert name.startswith(prefix + os.path.sep), ( - "name %r doesn't start with prefix %r" % (name, prefix) - ) - name = name[len(prefix) + 1:] - name = name.replace(os.path.sep, '/') - return name - - path = os.path.join(parentdir, path) - name = _clean_zip_name(path, rootdir) - return self.name + '/' + name - - def archive(self, build_dir): - # type: (str) -> None - """Saves archive to provided build_dir. - - Used for saving downloaded VCS requirements as part of `pip download`. - """ - assert self.source_dir - - create_archive = True - archive_name = '%s-%s.zip' % (self.name, self.metadata["version"]) - archive_path = os.path.join(build_dir, archive_name) - - if os.path.exists(archive_path): - response = ask_path_exists( - 'The file %s exists. (i)gnore, (w)ipe, (b)ackup, (a)bort ' % - display_path(archive_path), ('i', 'w', 'b', 'a')) - if response == 'i': - create_archive = False - elif response == 'w': - logger.warning('Deleting %s', display_path(archive_path)) - os.remove(archive_path) - elif response == 'b': - dest_file = backup_dir(archive_path) - logger.warning( - 'Backing up %s to %s', - display_path(archive_path), - display_path(dest_file), - ) - shutil.move(archive_path, dest_file) - elif response == 'a': - sys.exit(-1) - - if not create_archive: - return - - zip_output = zipfile.ZipFile( - archive_path, 'w', zipfile.ZIP_DEFLATED, allowZip64=True, - ) - with zip_output: - dir = os.path.normcase( - os.path.abspath(self.unpacked_source_directory) - ) - for dirpath, dirnames, filenames in os.walk(dir): - if 'pip-egg-info' in dirnames: - dirnames.remove('pip-egg-info') - for dirname in dirnames: - dir_arcname = self._get_archive_name( - dirname, parentdir=dirpath, rootdir=dir, - ) - zipdir = zipfile.ZipInfo(dir_arcname + '/') - zipdir.external_attr = 0x1ED << 16 # 0o755 - zip_output.writestr(zipdir, '') - for filename in filenames: - if filename == PIP_DELETE_MARKER_FILENAME: - continue - file_arcname = self._get_archive_name( - filename, parentdir=dirpath, rootdir=dir, - ) - filename = os.path.join(dirpath, filename) - zip_output.write(filename, file_arcname) - - logger.info('Saved %s', display_path(archive_path)) - - def install( - self, - install_options, # type: List[str] - global_options=None, # type: Optional[Sequence[str]] - root=None, # type: Optional[str] - home=None, # type: Optional[str] - prefix=None, # type: Optional[str] - warn_script_location=True, # type: bool - use_user_site=False, # type: bool - pycompile=True # type: bool - ): - # type: (...) -> None - scheme = get_scheme( - self.name, - user=use_user_site, - home=home, - root=root, - isolated=self.isolated, - prefix=prefix, - ) - - global_options = global_options if global_options is not None else [] - if self.editable: - install_editable_legacy( - install_options, - global_options, - prefix=prefix, - home=home, - use_user_site=use_user_site, - name=self.name, - setup_py_path=self.setup_py_path, - isolated=self.isolated, - build_env=self.build_env, - unpacked_source_directory=self.unpacked_source_directory, - ) - self.install_succeeded = True - return - - if self.is_wheel: - assert self.local_file_path - install_wheel( - self.name, - self.local_file_path, - scheme=scheme, - req_description=str(self.req), - pycompile=pycompile, - warn_script_location=warn_script_location, - ) - self.install_succeeded = True - return - - install_legacy( - self, - install_options=install_options, - global_options=global_options, - root=root, - home=home, - prefix=prefix, - use_user_site=use_user_site, - pycompile=pycompile, - scheme=scheme, - ) diff --git a/.venv/lib/python3.8/site-packages/pip/_internal/req/req_set.py b/.venv/lib/python3.8/site-packages/pip/_internal/req/req_set.py deleted file mode 100644 index 087ac59..0000000 --- a/.venv/lib/python3.8/site-packages/pip/_internal/req/req_set.py +++ /dev/null @@ -1,209 +0,0 @@ -# The following comment should be removed at some point in the future. -# mypy: strict-optional=False - -from __future__ import absolute_import - -import logging -from collections import OrderedDict - -from pip._vendor.packaging.utils import canonicalize_name - -from pip._internal import pep425tags -from pip._internal.exceptions import InstallationError -from pip._internal.models.wheel import Wheel -from pip._internal.utils.logging import indent_log -from pip._internal.utils.typing import MYPY_CHECK_RUNNING - -if MYPY_CHECK_RUNNING: - from typing import Dict, Iterable, List, Optional, Tuple - from pip._internal.req.req_install import InstallRequirement - - -logger = logging.getLogger(__name__) - - -class RequirementSet(object): - - def __init__(self, check_supported_wheels=True): - # type: (bool) -> None - """Create a RequirementSet. - """ - - self.requirements = OrderedDict() # type: Dict[str, InstallRequirement] # noqa: E501 - self.check_supported_wheels = check_supported_wheels - - self.unnamed_requirements = [] # type: List[InstallRequirement] - self.successfully_downloaded = [] # type: List[InstallRequirement] - self.reqs_to_cleanup = [] # type: List[InstallRequirement] - - def __str__(self): - # type: () -> str - requirements = sorted( - (req for req in self.requirements.values() if not req.comes_from), - key=lambda req: canonicalize_name(req.name), - ) - return ' '.join(str(req.req) for req in requirements) - - def __repr__(self): - # type: () -> str - requirements = sorted( - self.requirements.values(), - key=lambda req: canonicalize_name(req.name), - ) - - format_string = '<{classname} object; {count} requirement(s): {reqs}>' - return format_string.format( - classname=self.__class__.__name__, - count=len(requirements), - reqs=', '.join(str(req.req) for req in requirements), - ) - - def add_unnamed_requirement(self, install_req): - # type: (InstallRequirement) -> None - assert not install_req.name - self.unnamed_requirements.append(install_req) - - def add_named_requirement(self, install_req): - # type: (InstallRequirement) -> None - assert install_req.name - - project_name = canonicalize_name(install_req.name) - self.requirements[project_name] = install_req - - def add_requirement( - self, - install_req, # type: InstallRequirement - parent_req_name=None, # type: Optional[str] - extras_requested=None # type: Optional[Iterable[str]] - ): - # type: (...) -> Tuple[List[InstallRequirement], Optional[InstallRequirement]] # noqa: E501 - """Add install_req as a requirement to install. - - :param parent_req_name: The name of the requirement that needed this - added. The name is used because when multiple unnamed requirements - resolve to the same name, we could otherwise end up with dependency - links that point outside the Requirements set. parent_req must - already be added. Note that None implies that this is a user - supplied requirement, vs an inferred one. - :param extras_requested: an iterable of extras used to evaluate the - environment markers. - :return: Additional requirements to scan. That is either [] if - the requirement is not applicable, or [install_req] if the - requirement is applicable and has just been added. - """ - # If the markers do not match, ignore this requirement. - if not install_req.match_markers(extras_requested): - logger.info( - "Ignoring %s: markers '%s' don't match your environment", - install_req.name, install_req.markers, - ) - return [], None - - # If the wheel is not supported, raise an error. - # Should check this after filtering out based on environment markers to - # allow specifying different wheels based on the environment/OS, in a - # single requirements file. - if install_req.link and install_req.link.is_wheel: - wheel = Wheel(install_req.link.filename) - tags = pep425tags.get_supported() - if (self.check_supported_wheels and not wheel.supported(tags)): - raise InstallationError( - "%s is not a supported wheel on this platform." % - wheel.filename - ) - - # This next bit is really a sanity check. - assert install_req.is_direct == (parent_req_name is None), ( - "a direct req shouldn't have a parent and also, " - "a non direct req should have a parent" - ) - - # Unnamed requirements are scanned again and the requirement won't be - # added as a dependency until after scanning. - if not install_req.name: - self.add_unnamed_requirement(install_req) - return [install_req], None - - try: - existing_req = self.get_requirement(install_req.name) - except KeyError: - existing_req = None - - has_conflicting_requirement = ( - parent_req_name is None and - existing_req and - not existing_req.constraint and - existing_req.extras == install_req.extras and - existing_req.req.specifier != install_req.req.specifier - ) - if has_conflicting_requirement: - raise InstallationError( - "Double requirement given: %s (already in %s, name=%r)" - % (install_req, existing_req, install_req.name) - ) - - # When no existing requirement exists, add the requirement as a - # dependency and it will be scanned again after. - if not existing_req: - self.add_named_requirement(install_req) - # We'd want to rescan this requirement later - return [install_req], install_req - - # Assume there's no need to scan, and that we've already - # encountered this for scanning. - if install_req.constraint or not existing_req.constraint: - return [], existing_req - - does_not_satisfy_constraint = ( - install_req.link and - not ( - existing_req.link and - install_req.link.path == existing_req.link.path - ) - ) - if does_not_satisfy_constraint: - self.reqs_to_cleanup.append(install_req) - raise InstallationError( - "Could not satisfy constraints for '%s': " - "installation from path or url cannot be " - "constrained to a version" % install_req.name, - ) - # If we're now installing a constraint, mark the existing - # object for real installation. - existing_req.constraint = False - existing_req.extras = tuple(sorted( - set(existing_req.extras) | set(install_req.extras) - )) - logger.debug( - "Setting %s extras to: %s", - existing_req, existing_req.extras, - ) - # Return the existing requirement for addition to the parent and - # scanning again. - return [existing_req], existing_req - - def has_requirement(self, name): - # type: (str) -> bool - project_name = canonicalize_name(name) - - return ( - project_name in self.requirements and - not self.requirements[project_name].constraint - ) - - def get_requirement(self, name): - # type: (str) -> InstallRequirement - project_name = canonicalize_name(name) - - if project_name in self.requirements: - return self.requirements[project_name] - - raise KeyError("No project with the name %r" % name) - - def cleanup_files(self): - # type: () -> None - """Clean up files, remove builds.""" - logger.debug('Cleaning up...') - with indent_log(): - for req in self.reqs_to_cleanup: - req.remove_temporary_source() diff --git a/.venv/lib/python3.8/site-packages/pip/_internal/req/req_tracker.py b/.venv/lib/python3.8/site-packages/pip/_internal/req/req_tracker.py deleted file mode 100644 index 84e0c04..0000000 --- a/.venv/lib/python3.8/site-packages/pip/_internal/req/req_tracker.py +++ /dev/null @@ -1,150 +0,0 @@ -# The following comment should be removed at some point in the future. -# mypy: strict-optional=False - -from __future__ import absolute_import - -import contextlib -import errno -import hashlib -import logging -import os - -from pip._vendor import contextlib2 - -from pip._internal.utils.temp_dir import TempDirectory -from pip._internal.utils.typing import MYPY_CHECK_RUNNING - -if MYPY_CHECK_RUNNING: - from types import TracebackType - from typing import Dict, Iterator, Optional, Set, Type, Union - from pip._internal.req.req_install import InstallRequirement - from pip._internal.models.link import Link - -logger = logging.getLogger(__name__) - - -@contextlib.contextmanager -def update_env_context_manager(**changes): - # type: (str) -> Iterator[None] - target = os.environ - - # Save values from the target and change them. - non_existent_marker = object() - saved_values = {} # type: Dict[str, Union[object, str]] - for name, new_value in changes.items(): - try: - saved_values[name] = target[name] - except KeyError: - saved_values[name] = non_existent_marker - target[name] = new_value - - try: - yield - finally: - # Restore original values in the target. - for name, original_value in saved_values.items(): - if original_value is non_existent_marker: - del target[name] - else: - assert isinstance(original_value, str) # for mypy - target[name] = original_value - - -@contextlib.contextmanager -def get_requirement_tracker(): - # type: () -> Iterator[RequirementTracker] - root = os.environ.get('PIP_REQ_TRACKER') - with contextlib2.ExitStack() as ctx: - if root is None: - root = ctx.enter_context( - TempDirectory(kind='req-tracker') - ).path - ctx.enter_context(update_env_context_manager(PIP_REQ_TRACKER=root)) - logger.debug("Initialized build tracking at %s", root) - - with RequirementTracker(root) as tracker: - yield tracker - - -class RequirementTracker(object): - - def __init__(self, root): - # type: (str) -> None - self._root = root - self._entries = set() # type: Set[InstallRequirement] - logger.debug("Created build tracker: %s", self._root) - - def __enter__(self): - # type: () -> RequirementTracker - logger.debug("Entered build tracker: %s", self._root) - return self - - def __exit__( - self, - exc_type, # type: Optional[Type[BaseException]] - exc_val, # type: Optional[BaseException] - exc_tb # type: Optional[TracebackType] - ): - # type: (...) -> None - self.cleanup() - - def _entry_path(self, link): - # type: (Link) -> str - hashed = hashlib.sha224(link.url_without_fragment.encode()).hexdigest() - return os.path.join(self._root, hashed) - - def add(self, req): - # type: (InstallRequirement) -> None - """Add an InstallRequirement to build tracking. - """ - - # Get the file to write information about this requirement. - entry_path = self._entry_path(req.link) - - # Try reading from the file. If it exists and can be read from, a build - # is already in progress, so a LookupError is raised. - try: - with open(entry_path) as fp: - contents = fp.read() - except IOError as e: - # if the error is anything other than "file does not exist", raise. - if e.errno != errno.ENOENT: - raise - else: - message = '%s is already being built: %s' % (req.link, contents) - raise LookupError(message) - - # If we're here, req should really not be building already. - assert req not in self._entries - - # Start tracking this requirement. - with open(entry_path, 'w') as fp: - fp.write(str(req)) - self._entries.add(req) - - logger.debug('Added %s to build tracker %r', req, self._root) - - def remove(self, req): - # type: (InstallRequirement) -> None - """Remove an InstallRequirement from build tracking. - """ - - # Delete the created file and the corresponding entries. - os.unlink(self._entry_path(req.link)) - self._entries.remove(req) - - logger.debug('Removed %s from build tracker %r', req, self._root) - - def cleanup(self): - # type: () -> None - for req in set(self._entries): - self.remove(req) - - logger.debug("Removed build tracker: %r", self._root) - - @contextlib.contextmanager - def track(self, req): - # type: (InstallRequirement) -> Iterator[None] - self.add(req) - yield - self.remove(req) diff --git a/.venv/lib/python3.8/site-packages/pip/_internal/req/req_uninstall.py b/.venv/lib/python3.8/site-packages/pip/_internal/req/req_uninstall.py deleted file mode 100644 index 5971b13..0000000 --- a/.venv/lib/python3.8/site-packages/pip/_internal/req/req_uninstall.py +++ /dev/null @@ -1,644 +0,0 @@ -from __future__ import absolute_import - -import csv -import functools -import logging -import os -import sys -import sysconfig - -from pip._vendor import pkg_resources - -from pip._internal.exceptions import UninstallationError -from pip._internal.locations import bin_py, bin_user -from pip._internal.utils.compat import WINDOWS, cache_from_source, uses_pycache -from pip._internal.utils.logging import indent_log -from pip._internal.utils.misc import ( - FakeFile, - ask, - dist_in_usersite, - dist_is_local, - egg_link_path, - is_local, - normalize_path, - renames, - rmtree, -) -from pip._internal.utils.temp_dir import AdjacentTempDirectory, TempDirectory -from pip._internal.utils.typing import MYPY_CHECK_RUNNING - -if MYPY_CHECK_RUNNING: - from typing import ( - Any, Callable, Dict, Iterable, Iterator, List, Optional, Set, Tuple, - ) - from pip._vendor.pkg_resources import Distribution - -logger = logging.getLogger(__name__) - - -def _script_names(dist, script_name, is_gui): - # type: (Distribution, str, bool) -> List[str] - """Create the fully qualified name of the files created by - {console,gui}_scripts for the given ``dist``. - Returns the list of file names - """ - if dist_in_usersite(dist): - bin_dir = bin_user - else: - bin_dir = bin_py - exe_name = os.path.join(bin_dir, script_name) - paths_to_remove = [exe_name] - if WINDOWS: - paths_to_remove.append(exe_name + '.exe') - paths_to_remove.append(exe_name + '.exe.manifest') - if is_gui: - paths_to_remove.append(exe_name + '-script.pyw') - else: - paths_to_remove.append(exe_name + '-script.py') - return paths_to_remove - - -def _unique(fn): - # type: (Callable[..., Iterator[Any]]) -> Callable[..., Iterator[Any]] - @functools.wraps(fn) - def unique(*args, **kw): - # type: (Any, Any) -> Iterator[Any] - seen = set() # type: Set[Any] - for item in fn(*args, **kw): - if item not in seen: - seen.add(item) - yield item - return unique - - -@_unique -def uninstallation_paths(dist): - # type: (Distribution) -> Iterator[str] - """ - Yield all the uninstallation paths for dist based on RECORD-without-.py[co] - - Yield paths to all the files in RECORD. For each .py file in RECORD, add - the .pyc and .pyo in the same directory. - - UninstallPathSet.add() takes care of the __pycache__ .py[co]. - """ - r = csv.reader(FakeFile(dist.get_metadata_lines('RECORD'))) - for row in r: - path = os.path.join(dist.location, row[0]) - yield path - if path.endswith('.py'): - dn, fn = os.path.split(path) - base = fn[:-3] - path = os.path.join(dn, base + '.pyc') - yield path - path = os.path.join(dn, base + '.pyo') - yield path - - -def compact(paths): - # type: (Iterable[str]) -> Set[str] - """Compact a path set to contain the minimal number of paths - necessary to contain all paths in the set. If /a/path/ and - /a/path/to/a/file.txt are both in the set, leave only the - shorter path.""" - - sep = os.path.sep - short_paths = set() # type: Set[str] - for path in sorted(paths, key=len): - should_skip = any( - path.startswith(shortpath.rstrip("*")) and - path[len(shortpath.rstrip("*").rstrip(sep))] == sep - for shortpath in short_paths - ) - if not should_skip: - short_paths.add(path) - return short_paths - - -def compress_for_rename(paths): - # type: (Iterable[str]) -> Set[str] - """Returns a set containing the paths that need to be renamed. - - This set may include directories when the original sequence of paths - included every file on disk. - """ - case_map = dict((os.path.normcase(p), p) for p in paths) - remaining = set(case_map) - unchecked = sorted(set(os.path.split(p)[0] - for p in case_map.values()), key=len) - wildcards = set() # type: Set[str] - - def norm_join(*a): - # type: (str) -> str - return os.path.normcase(os.path.join(*a)) - - for root in unchecked: - if any(os.path.normcase(root).startswith(w) - for w in wildcards): - # This directory has already been handled. - continue - - all_files = set() # type: Set[str] - all_subdirs = set() # type: Set[str] - for dirname, subdirs, files in os.walk(root): - all_subdirs.update(norm_join(root, dirname, d) - for d in subdirs) - all_files.update(norm_join(root, dirname, f) - for f in files) - # If all the files we found are in our remaining set of files to - # remove, then remove them from the latter set and add a wildcard - # for the directory. - if not (all_files - remaining): - remaining.difference_update(all_files) - wildcards.add(root + os.sep) - - return set(map(case_map.__getitem__, remaining)) | wildcards - - -def compress_for_output_listing(paths): - # type: (Iterable[str]) -> Tuple[Set[str], Set[str]] - """Returns a tuple of 2 sets of which paths to display to user - - The first set contains paths that would be deleted. Files of a package - are not added and the top-level directory of the package has a '*' added - at the end - to signify that all it's contents are removed. - - The second set contains files that would have been skipped in the above - folders. - """ - - will_remove = set(paths) - will_skip = set() - - # Determine folders and files - folders = set() - files = set() - for path in will_remove: - if path.endswith(".pyc"): - continue - if path.endswith("__init__.py") or ".dist-info" in path: - folders.add(os.path.dirname(path)) - files.add(path) - - # probably this one https://github.com/python/mypy/issues/390 - _normcased_files = set(map(os.path.normcase, files)) # type: ignore - - folders = compact(folders) - - # This walks the tree using os.walk to not miss extra folders - # that might get added. - for folder in folders: - for dirpath, _, dirfiles in os.walk(folder): - for fname in dirfiles: - if fname.endswith(".pyc"): - continue - - file_ = os.path.join(dirpath, fname) - if (os.path.isfile(file_) and - os.path.normcase(file_) not in _normcased_files): - # We are skipping this file. Add it to the set. - will_skip.add(file_) - - will_remove = files | { - os.path.join(folder, "*") for folder in folders - } - - return will_remove, will_skip - - -class StashedUninstallPathSet(object): - """A set of file rename operations to stash files while - tentatively uninstalling them.""" - def __init__(self): - # type: () -> None - # Mapping from source file root to [Adjacent]TempDirectory - # for files under that directory. - self._save_dirs = {} # type: Dict[str, TempDirectory] - # (old path, new path) tuples for each move that may need - # to be undone. - self._moves = [] # type: List[Tuple[str, str]] - - def _get_directory_stash(self, path): - # type: (str) -> str - """Stashes a directory. - - Directories are stashed adjacent to their original location if - possible, or else moved/copied into the user's temp dir.""" - - try: - save_dir = AdjacentTempDirectory(path) # type: TempDirectory - except OSError: - save_dir = TempDirectory(kind="uninstall") - self._save_dirs[os.path.normcase(path)] = save_dir - - return save_dir.path - - def _get_file_stash(self, path): - # type: (str) -> str - """Stashes a file. - - If no root has been provided, one will be created for the directory - in the user's temp directory.""" - path = os.path.normcase(path) - head, old_head = os.path.dirname(path), None - save_dir = None - - while head != old_head: - try: - save_dir = self._save_dirs[head] - break - except KeyError: - pass - head, old_head = os.path.dirname(head), head - else: - # Did not find any suitable root - head = os.path.dirname(path) - save_dir = TempDirectory(kind='uninstall') - self._save_dirs[head] = save_dir - - relpath = os.path.relpath(path, head) - if relpath and relpath != os.path.curdir: - return os.path.join(save_dir.path, relpath) - return save_dir.path - - def stash(self, path): - # type: (str) -> str - """Stashes the directory or file and returns its new location. - Handle symlinks as files to avoid modifying the symlink targets. - """ - path_is_dir = os.path.isdir(path) and not os.path.islink(path) - if path_is_dir: - new_path = self._get_directory_stash(path) - else: - new_path = self._get_file_stash(path) - - self._moves.append((path, new_path)) - if (path_is_dir and os.path.isdir(new_path)): - # If we're moving a directory, we need to - # remove the destination first or else it will be - # moved to inside the existing directory. - # We just created new_path ourselves, so it will - # be removable. - os.rmdir(new_path) - renames(path, new_path) - return new_path - - def commit(self): - # type: () -> None - """Commits the uninstall by removing stashed files.""" - for _, save_dir in self._save_dirs.items(): - save_dir.cleanup() - self._moves = [] - self._save_dirs = {} - - def rollback(self): - # type: () -> None - """Undoes the uninstall by moving stashed files back.""" - for p in self._moves: - logger.info("Moving to %s\n from %s", *p) - - for new_path, path in self._moves: - try: - logger.debug('Replacing %s from %s', new_path, path) - if os.path.isfile(new_path) or os.path.islink(new_path): - os.unlink(new_path) - elif os.path.isdir(new_path): - rmtree(new_path) - renames(path, new_path) - except OSError as ex: - logger.error("Failed to restore %s", new_path) - logger.debug("Exception: %s", ex) - - self.commit() - - @property - def can_rollback(self): - # type: () -> bool - return bool(self._moves) - - -class UninstallPathSet(object): - """A set of file paths to be removed in the uninstallation of a - requirement.""" - def __init__(self, dist): - # type: (Distribution) -> None - self.paths = set() # type: Set[str] - self._refuse = set() # type: Set[str] - self.pth = {} # type: Dict[str, UninstallPthEntries] - self.dist = dist - self._moved_paths = StashedUninstallPathSet() - - def _permitted(self, path): - # type: (str) -> bool - """ - Return True if the given path is one we are permitted to - remove/modify, False otherwise. - - """ - return is_local(path) - - def add(self, path): - # type: (str) -> None - head, tail = os.path.split(path) - - # we normalize the head to resolve parent directory symlinks, but not - # the tail, since we only want to uninstall symlinks, not their targets - path = os.path.join(normalize_path(head), os.path.normcase(tail)) - - if not os.path.exists(path): - return - if self._permitted(path): - self.paths.add(path) - else: - self._refuse.add(path) - - # __pycache__ files can show up after 'installed-files.txt' is created, - # due to imports - if os.path.splitext(path)[1] == '.py' and uses_pycache: - self.add(cache_from_source(path)) - - def add_pth(self, pth_file, entry): - # type: (str, str) -> None - pth_file = normalize_path(pth_file) - if self._permitted(pth_file): - if pth_file not in self.pth: - self.pth[pth_file] = UninstallPthEntries(pth_file) - self.pth[pth_file].add(entry) - else: - self._refuse.add(pth_file) - - def remove(self, auto_confirm=False, verbose=False): - # type: (bool, bool) -> None - """Remove paths in ``self.paths`` with confirmation (unless - ``auto_confirm`` is True).""" - - if not self.paths: - logger.info( - "Can't uninstall '%s'. No files were found to uninstall.", - self.dist.project_name, - ) - return - - dist_name_version = ( - self.dist.project_name + "-" + self.dist.version - ) - logger.info('Uninstalling %s:', dist_name_version) - - with indent_log(): - if auto_confirm or self._allowed_to_proceed(verbose): - moved = self._moved_paths - - for_rename = compress_for_rename(self.paths) - - for path in sorted(compact(for_rename)): - moved.stash(path) - logger.debug('Removing file or directory %s', path) - - for pth in self.pth.values(): - pth.remove() - - logger.info('Successfully uninstalled %s', dist_name_version) - - def _allowed_to_proceed(self, verbose): - # type: (bool) -> bool - """Display which files would be deleted and prompt for confirmation - """ - - def _display(msg, paths): - # type: (str, Iterable[str]) -> None - if not paths: - return - - logger.info(msg) - with indent_log(): - for path in sorted(compact(paths)): - logger.info(path) - - if not verbose: - will_remove, will_skip = compress_for_output_listing(self.paths) - else: - # In verbose mode, display all the files that are going to be - # deleted. - will_remove = set(self.paths) - will_skip = set() - - _display('Would remove:', will_remove) - _display('Would not remove (might be manually added):', will_skip) - _display('Would not remove (outside of prefix):', self._refuse) - if verbose: - _display('Will actually move:', compress_for_rename(self.paths)) - - return ask('Proceed (y/n)? ', ('y', 'n')) == 'y' - - def rollback(self): - # type: () -> None - """Rollback the changes previously made by remove().""" - if not self._moved_paths.can_rollback: - logger.error( - "Can't roll back %s; was not uninstalled", - self.dist.project_name, - ) - return - logger.info('Rolling back uninstall of %s', self.dist.project_name) - self._moved_paths.rollback() - for pth in self.pth.values(): - pth.rollback() - - def commit(self): - # type: () -> None - """Remove temporary save dir: rollback will no longer be possible.""" - self._moved_paths.commit() - - @classmethod - def from_dist(cls, dist): - # type: (Distribution) -> UninstallPathSet - dist_path = normalize_path(dist.location) - if not dist_is_local(dist): - logger.info( - "Not uninstalling %s at %s, outside environment %s", - dist.key, - dist_path, - sys.prefix, - ) - return cls(dist) - - if dist_path in {p for p in {sysconfig.get_path("stdlib"), - sysconfig.get_path("platstdlib")} - if p}: - logger.info( - "Not uninstalling %s at %s, as it is in the standard library.", - dist.key, - dist_path, - ) - return cls(dist) - - paths_to_remove = cls(dist) - develop_egg_link = egg_link_path(dist) - develop_egg_link_egg_info = '{}.egg-info'.format( - pkg_resources.to_filename(dist.project_name)) - egg_info_exists = dist.egg_info and os.path.exists(dist.egg_info) - # Special case for distutils installed package - distutils_egg_info = getattr(dist._provider, 'path', None) - - # Uninstall cases order do matter as in the case of 2 installs of the - # same package, pip needs to uninstall the currently detected version - if (egg_info_exists and dist.egg_info.endswith('.egg-info') and - not dist.egg_info.endswith(develop_egg_link_egg_info)): - # if dist.egg_info.endswith(develop_egg_link_egg_info), we - # are in fact in the develop_egg_link case - paths_to_remove.add(dist.egg_info) - if dist.has_metadata('installed-files.txt'): - for installed_file in dist.get_metadata( - 'installed-files.txt').splitlines(): - path = os.path.normpath( - os.path.join(dist.egg_info, installed_file) - ) - paths_to_remove.add(path) - # FIXME: need a test for this elif block - # occurs with --single-version-externally-managed/--record outside - # of pip - elif dist.has_metadata('top_level.txt'): - if dist.has_metadata('namespace_packages.txt'): - namespaces = dist.get_metadata('namespace_packages.txt') - else: - namespaces = [] - for top_level_pkg in [ - p for p - in dist.get_metadata('top_level.txt').splitlines() - if p and p not in namespaces]: - path = os.path.join(dist.location, top_level_pkg) - paths_to_remove.add(path) - paths_to_remove.add(path + '.py') - paths_to_remove.add(path + '.pyc') - paths_to_remove.add(path + '.pyo') - - elif distutils_egg_info: - raise UninstallationError( - "Cannot uninstall {!r}. It is a distutils installed project " - "and thus we cannot accurately determine which files belong " - "to it which would lead to only a partial uninstall.".format( - dist.project_name, - ) - ) - - elif dist.location.endswith('.egg'): - # package installed by easy_install - # We cannot match on dist.egg_name because it can slightly vary - # i.e. setuptools-0.6c11-py2.6.egg vs setuptools-0.6rc11-py2.6.egg - paths_to_remove.add(dist.location) - easy_install_egg = os.path.split(dist.location)[1] - easy_install_pth = os.path.join(os.path.dirname(dist.location), - 'easy-install.pth') - paths_to_remove.add_pth(easy_install_pth, './' + easy_install_egg) - - elif egg_info_exists and dist.egg_info.endswith('.dist-info'): - for path in uninstallation_paths(dist): - paths_to_remove.add(path) - - elif develop_egg_link: - # develop egg - with open(develop_egg_link, 'r') as fh: - link_pointer = os.path.normcase(fh.readline().strip()) - assert (link_pointer == dist.location), ( - 'Egg-link %s does not match installed location of %s ' - '(at %s)' % (link_pointer, dist.project_name, dist.location) - ) - paths_to_remove.add(develop_egg_link) - easy_install_pth = os.path.join(os.path.dirname(develop_egg_link), - 'easy-install.pth') - paths_to_remove.add_pth(easy_install_pth, dist.location) - - else: - logger.debug( - 'Not sure how to uninstall: %s - Check: %s', - dist, dist.location, - ) - - # find distutils scripts= scripts - if dist.has_metadata('scripts') and dist.metadata_isdir('scripts'): - for script in dist.metadata_listdir('scripts'): - if dist_in_usersite(dist): - bin_dir = bin_user - else: - bin_dir = bin_py - paths_to_remove.add(os.path.join(bin_dir, script)) - if WINDOWS: - paths_to_remove.add(os.path.join(bin_dir, script) + '.bat') - - # find console_scripts - _scripts_to_remove = [] - console_scripts = dist.get_entry_map(group='console_scripts') - for name in console_scripts.keys(): - _scripts_to_remove.extend(_script_names(dist, name, False)) - # find gui_scripts - gui_scripts = dist.get_entry_map(group='gui_scripts') - for name in gui_scripts.keys(): - _scripts_to_remove.extend(_script_names(dist, name, True)) - - for s in _scripts_to_remove: - paths_to_remove.add(s) - - return paths_to_remove - - -class UninstallPthEntries(object): - def __init__(self, pth_file): - # type: (str) -> None - if not os.path.isfile(pth_file): - raise UninstallationError( - "Cannot remove entries from nonexistent file %s" % pth_file - ) - self.file = pth_file - self.entries = set() # type: Set[str] - self._saved_lines = None # type: Optional[List[bytes]] - - def add(self, entry): - # type: (str) -> None - entry = os.path.normcase(entry) - # On Windows, os.path.normcase converts the entry to use - # backslashes. This is correct for entries that describe absolute - # paths outside of site-packages, but all the others use forward - # slashes. - # os.path.splitdrive is used instead of os.path.isabs because isabs - # treats non-absolute paths with drive letter markings like c:foo\bar - # as absolute paths. It also does not recognize UNC paths if they don't - # have more than "\\sever\share". Valid examples: "\\server\share\" or - # "\\server\share\folder". Python 2.7.8+ support UNC in splitdrive. - if WINDOWS and not os.path.splitdrive(entry)[0]: - entry = entry.replace('\\', '/') - self.entries.add(entry) - - def remove(self): - # type: () -> None - logger.debug('Removing pth entries from %s:', self.file) - with open(self.file, 'rb') as fh: - # windows uses '\r\n' with py3k, but uses '\n' with py2.x - lines = fh.readlines() - self._saved_lines = lines - if any(b'\r\n' in line for line in lines): - endline = '\r\n' - else: - endline = '\n' - # handle missing trailing newline - if lines and not lines[-1].endswith(endline.encode("utf-8")): - lines[-1] = lines[-1] + endline.encode("utf-8") - for entry in self.entries: - try: - logger.debug('Removing entry: %s', entry) - lines.remove((entry + endline).encode("utf-8")) - except ValueError: - pass - with open(self.file, 'wb') as fh: - fh.writelines(lines) - - def rollback(self): - # type: () -> bool - if self._saved_lines is None: - logger.error( - 'Cannot roll back changes to %s, none were made', self.file - ) - return False - logger.debug('Rolling %s back to previous state', self.file) - with open(self.file, 'wb') as fh: - fh.writelines(self._saved_lines) - return True diff --git a/.venv/lib/python3.8/site-packages/pip/_internal/self_outdated_check.py b/.venv/lib/python3.8/site-packages/pip/_internal/self_outdated_check.py deleted file mode 100644 index 8fc3c59..0000000 --- a/.venv/lib/python3.8/site-packages/pip/_internal/self_outdated_check.py +++ /dev/null @@ -1,242 +0,0 @@ -# The following comment should be removed at some point in the future. -# mypy: disallow-untyped-defs=False - -from __future__ import absolute_import - -import datetime -import hashlib -import json -import logging -import os.path -import sys - -from pip._vendor import pkg_resources -from pip._vendor.packaging import version as packaging_version -from pip._vendor.six import ensure_binary - -from pip._internal.index.collector import LinkCollector -from pip._internal.index.package_finder import PackageFinder -from pip._internal.models.search_scope import SearchScope -from pip._internal.models.selection_prefs import SelectionPreferences -from pip._internal.utils.filesystem import ( - adjacent_tmp_file, - check_path_owner, - replace, -) -from pip._internal.utils.misc import ( - ensure_dir, - get_installed_version, - redact_auth_from_url, -) -from pip._internal.utils.packaging import get_installer -from pip._internal.utils.typing import MYPY_CHECK_RUNNING - -if MYPY_CHECK_RUNNING: - import optparse - from optparse import Values - from typing import Any, Dict, Text, Union - - from pip._internal.network.session import PipSession - - -SELFCHECK_DATE_FMT = "%Y-%m-%dT%H:%M:%SZ" - - -logger = logging.getLogger(__name__) - - -def make_link_collector( - session, # type: PipSession - options, # type: Values - suppress_no_index=False, # type: bool -): - # type: (...) -> LinkCollector - """ - :param session: The Session to use to make requests. - :param suppress_no_index: Whether to ignore the --no-index option - when constructing the SearchScope object. - """ - index_urls = [options.index_url] + options.extra_index_urls - if options.no_index and not suppress_no_index: - logger.debug( - 'Ignoring indexes: %s', - ','.join(redact_auth_from_url(url) for url in index_urls), - ) - index_urls = [] - - # Make sure find_links is a list before passing to create(). - find_links = options.find_links or [] - - search_scope = SearchScope.create( - find_links=find_links, index_urls=index_urls, - ) - - link_collector = LinkCollector(session=session, search_scope=search_scope) - - return link_collector - - -def _get_statefile_name(key): - # type: (Union[str, Text]) -> str - key_bytes = ensure_binary(key) - name = hashlib.sha224(key_bytes).hexdigest() - return name - - -class SelfCheckState(object): - def __init__(self, cache_dir): - # type: (str) -> None - self.state = {} # type: Dict[str, Any] - self.statefile_path = None - - # Try to load the existing state - if cache_dir: - self.statefile_path = os.path.join( - cache_dir, "selfcheck", _get_statefile_name(self.key) - ) - try: - with open(self.statefile_path) as statefile: - self.state = json.load(statefile) - except (IOError, ValueError, KeyError): - # Explicitly suppressing exceptions, since we don't want to - # error out if the cache file is invalid. - pass - - @property - def key(self): - return sys.prefix - - def save(self, pypi_version, current_time): - # type: (str, datetime.datetime) -> None - # If we do not have a path to cache in, don't bother saving. - if not self.statefile_path: - return - - # Check to make sure that we own the directory - if not check_path_owner(os.path.dirname(self.statefile_path)): - return - - # Now that we've ensured the directory is owned by this user, we'll go - # ahead and make sure that all our directories are created. - ensure_dir(os.path.dirname(self.statefile_path)) - - state = { - # Include the key so it's easy to tell which pip wrote the - # file. - "key": self.key, - "last_check": current_time.strftime(SELFCHECK_DATE_FMT), - "pypi_version": pypi_version, - } - - text = json.dumps(state, sort_keys=True, separators=(",", ":")) - - with adjacent_tmp_file(self.statefile_path) as f: - f.write(ensure_binary(text)) - - try: - # Since we have a prefix-specific state file, we can just - # overwrite whatever is there, no need to check. - replace(f.name, self.statefile_path) - except OSError: - # Best effort. - pass - - -def was_installed_by_pip(pkg): - # type: (str) -> bool - """Checks whether pkg was installed by pip - - This is used not to display the upgrade message when pip is in fact - installed by system package manager, such as dnf on Fedora. - """ - try: - dist = pkg_resources.get_distribution(pkg) - return "pip" == get_installer(dist) - except pkg_resources.DistributionNotFound: - return False - - -def pip_self_version_check(session, options): - # type: (PipSession, optparse.Values) -> None - """Check for an update for pip. - - Limit the frequency of checks to once per week. State is stored either in - the active virtualenv or in the user's USER_CACHE_DIR keyed off the prefix - of the pip script path. - """ - installed_version = get_installed_version("pip") - if not installed_version: - return - - pip_version = packaging_version.parse(installed_version) - pypi_version = None - - try: - state = SelfCheckState(cache_dir=options.cache_dir) - - current_time = datetime.datetime.utcnow() - # Determine if we need to refresh the state - if "last_check" in state.state and "pypi_version" in state.state: - last_check = datetime.datetime.strptime( - state.state["last_check"], - SELFCHECK_DATE_FMT - ) - if (current_time - last_check).total_seconds() < 7 * 24 * 60 * 60: - pypi_version = state.state["pypi_version"] - - # Refresh the version if we need to or just see if we need to warn - if pypi_version is None: - # Lets use PackageFinder to see what the latest pip version is - link_collector = make_link_collector( - session, - options=options, - suppress_no_index=True, - ) - - # Pass allow_yanked=False so we don't suggest upgrading to a - # yanked version. - selection_prefs = SelectionPreferences( - allow_yanked=False, - allow_all_prereleases=False, # Explicitly set to False - ) - - finder = PackageFinder.create( - link_collector=link_collector, - selection_prefs=selection_prefs, - ) - best_candidate = finder.find_best_candidate("pip").best_candidate - if best_candidate is None: - return - pypi_version = str(best_candidate.version) - - # save that we've performed a check - state.save(pypi_version, current_time) - - remote_version = packaging_version.parse(pypi_version) - - local_version_is_older = ( - pip_version < remote_version and - pip_version.base_version != remote_version.base_version and - was_installed_by_pip('pip') - ) - - # Determine if our pypi_version is older - if not local_version_is_older: - return - - # We cannot tell how the current pip is available in the current - # command context, so be pragmatic here and suggest the command - # that's always available. This does not accommodate spaces in - # `sys.executable`. - pip_cmd = "{} -m pip".format(sys.executable) - logger.warning( - "You are using pip version %s; however, version %s is " - "available.\nYou should consider upgrading via the " - "'%s install --upgrade pip' command.", - pip_version, pypi_version, pip_cmd - ) - except Exception: - logger.debug( - "There was an error checking the latest version of pip", - exc_info=True, - ) diff --git a/.venv/lib/python3.8/site-packages/pip/_internal/utils/__init__.py b/.venv/lib/python3.8/site-packages/pip/_internal/utils/__init__.py deleted file mode 100644 index e69de29..0000000 diff --git a/.venv/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/__init__.cpython-38.pyc b/.venv/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/__init__.cpython-38.pyc deleted file mode 100644 index 83c99bda0db40cded7a7de02ec946c43c97d3df4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 155 zcmWIL<>g{vU|=}A?@uy_eheazF(U&5g98HtLoo{j149Z!FoPze-%5rekT8Py<)B}Z zTcBT%S)f~*SCE*TotmOso{^fGqg$SvT~wNqQw);RkI&32NiE7t%+W6`$;>I%kB`sH b%PfhH*DI*J#bJ}1pHiBWY6mj;Gsp!1lO`t7 diff --git a/.venv/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/appdirs.cpython-38.pyc b/.venv/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/appdirs.cpython-38.pyc deleted file mode 100644 index 008503a7a5b049ae2bdec0bd402aca3e2f722710..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1351 zcmWIL<>g{vU|=}A?@zKcD+9x05C<7EGcYhXFfcF_XD~1@q%cG=q%fv1<uK+lMKLjg z*vvW1QOqffDJ(fGxvWuaU@_Jl_FRrA4n~Gljv|K?#uT<3&Rni2E=GnF_7sj5hA8e7 z!4$3(?iR)<o)n=J-W0wT#wgwt{uF^0hA6%i=3oX*;i{ipAsLy)3d#8?sS4#qi3P<9 zB^jv-WvO{7`9-NI3W)^;DVasZ3c2|yr8%hzCHV@)`Ct`AsU@XFc?xBTIi;z^3W-Ij zT*>*l1&Jk@Nja$sY57H9MaiW_MX7lu3I&-35F3&bi&OQuxI!{g6*BWmQu9hO^Yauk zi$UfVrIr_EmZU1c^pqASrl%Gwq!%TolqTlnRO%>Xr=}KU=B0y8E=eseDOM;*EH2jJ zO3X`9NG(gvD*>xhNGZxMP$&U;Dlx4jwMZc`Cr1HlSYlDCLUKl8UV3VZ9@k4y@M|*O z;!jK}&d(_=NsZ6UEyyn_@zZ3y#SZniCgUw3-^hT-cxMk+XYcr+P(MFUKX*;WTP!}A z#U;s%AS0j{#Aab&U~mRSA|C?-LkU9`V+|<kn0lFl88n&w+%y?)aV8cNB$k$B<QHi& z-QtLcT62r9v^cdWJ~=TtBQ-uHvk2;fyu{qpl?+9og!9W@za+OnzaX<fw=}OHF*!Rm zMYlX7H8n@KJU6?jG$p4PB&Qz_3e}>##2o$7lFXc9eW>|*1(ih{3=9mSAh$7r9Lxmf zha`hJAOQvj1`wMS<^usFAJj0WF!eGAGpq#pfvJd%fq~%`dr^L3Zf0J(CQ}hRh|dr4 zL4ICZW;)0VE18No85kIfctHfn2Vid$af7&^(2+uN3W)DUnp28+7#J8}cJqSmPDw0D z1le4~53&QzN|1Ntk*oyqQKApU^F~OXPhm=7?q#lJEMdrEN@2-nFVd-DT)<qylEu1^ zF@-gqQJf)|p@uP?F_=M<&Ce}F6B<68xurQJnFWa@8JbMDSj#i>jE!!wr6d-WXXaJ0 z=%<z>YqCKDt~j$KH9i?0aJSfsD~n4~b8oR07vyA?++xZvzQqnQr#Q7h6B4Mm*itf! z$`W%RK??RMC|qv|pcz%H2J$f|;u)9(7`d2)7>hu`uE`jp$>^rZe~UdnJ|#anKK>S0 ze0*AINoi4Pe0&ioAd196QOaGAS)dmWDGG`}<rBogQea_NLem2$G`*5aP}VF0Wq@03 zP!1?9fs<JgD1wVXK@PSb$=L|EbJ*m9ix@jlJ}MSrU|?Y3;9=rm;$h-pVqxTA=3wPw H<zfc_ai>nr diff --git a/.venv/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/compat.cpython-38.pyc b/.venv/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/compat.cpython-38.pyc deleted file mode 100644 index 61c7e786dc66818a08c392c76d58b482d32a4de5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6120 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 diff --git a/.venv/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/deprecation.cpython-38.pyc b/.venv/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/deprecation.cpython-38.pyc deleted file mode 100644 index 67d8c9e00aacd19ac2dd933119f5c833f291f463..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2826 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 IE<p|+01gTiUH||9 diff --git a/.venv/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/distutils_args.cpython-38.pyc b/.venv/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/distutils_args.cpython-38.pyc deleted file mode 100644 index 4dd57ecf38b63a659eed6a72472e6f8ce986ec99..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1139 zcmWIL<>g{vU|=}A?@zKDD+9x05C<9aFfcGUFfcF_XD~1@q%fo~<}l<kMlmvi*i1Q0 zxy(__U^a6OOD<~^D<eZHYmr3?Lkdd{TP}MPdoD*52O~oYYYJNmdkRMiX9`yecM4Am zZwg-ue~LglPZVb=b1G*uV-#14V2V%+Llk$4a4>_W$V-qLG#PIRx?~oYl$K=X6gw8B zyA~DY7iluy;&w~SORjWJEy*t^(PX?O<Qo|f8Sm`j>g*jK6zb>a>F2J=bc@9$Gr8mz zi%({8i6(OuPijSKvTi|9YFcK6t=}yMP39`rjQreGTfZW91_lt9H#4ueBrzvPHz~0g zn{Y~ENg_hE08Dj8YGO)iQ87Y>2PTt~nS>C9t1rk&EWsgDT9k@irZ~AMv!DdY4tAJF zV2)=k%Fi!>+jfhkv^cd0;<IE%P)I^CD+2=qCj$e6Gblp67#J8b8EP487+e@)ZEBgS z#7Y>l7;Bi)8B-X08Dp4gnQK|X8S+F}7)qG3xr)pf89*?Sp^zhjp@wk*a}7%t%R)v* zhC+@S#$X0brmDJt#G>L<g@U5|vdom!6otg1^wQkaypm!ag`(7w(xSY~ymW=cJcazE ztkmQZg_4ZK5`~P!Vug~7R4xSt1%=$ilH?3zeR^DAamTz$h0?t2y!`S!gqaG7MX3sz z>3R7@sVRD3Wtxn)SQ3lUi#1tq3C5?ul1+R%IGNmHgV04x3=9mn*h&jh5=&BVam2@` zWG0uy$7`|{fx_h$TTyCpX->&4=ES1(Ta59ySix>u$xtN3z`*d!O}`|!K))cfK({on zATc>RHAS~PBQ-Tgw>&qys5B*~7$m13pP5&ZT9lWVqYqBE`Ut0hT&Gu1c}t`K6i`TR z1WCw&;zR%xQS2;?9E?niVvKw&Y)pKNMIsCg41StCw*=rO>7{~lLNUZMVhG_hP`-fr zxQH3#Q>lW?0zJ5k^uR9CE2%8V%u6p~0V!aEazII=hz%sd5uaaBl9``ZTm&i^z_x?E sk3<NA)!F3cr<CTT+JRD7u^Iyd0}mq)6Au#$qW}vNBUbo@MUaCT0IVA_RR910 diff --git a/.venv/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/encoding.cpython-38.pyc b/.venv/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/encoding.cpython-38.pyc deleted file mode 100644 index 2d57222c4c2fac10bb3cc9bd4de1f08db18dd1d0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1247 zcmWIL<>g{vU|=}A?@zJ@D+9x05C<7^FfcGUFfcF_Ph((UNMT4}%wdRv(2P-xU_Mh6 z6PRX>VoqU5Vaj32WsPEGWJqN#a!FxGVa{R8WshRd<%r_Q<&5HFWJqPm;!0sjV@hSn z;!a@&(>y6`V463D9Zd73aDZw46izTLkiwP5l+GR{n98(3D200=W0Y_TPYQ1fLzGAg zV=#jz-%F5-{WKYG3He3_M8-RNxH@~s2Zj3idHT6)GT&nH$t*6p#Trstkdu0gB_y?? zq>8n)Bu&?%iVZ{=npJT^Xx*e#I5Q^|B5P~}5i&M{%NiT$=A;&jF)%PB=ci=mrAJ%Y z#>NzDX+-PBl<UQ6YbG;-+ylid3=9mc3=9m;pg>&2z`#(#;KC5A6T?)?Sj$wyuz<0K zaUo+7OASK_Qw?J?V+vy{lO)3e<{GAjj7$uS48aVAEHw-ZSW=i4GNv%5FoR@W7-C&& znQNF+SW;L){1moqrXrUT)&*=e%nKP2tOe`~8B$n4rlqhigxH2`u1gKW0_GBq1)M1y z3mFUMm2fTKUdXTz6rh|{UCtS)$=M2t3Q3hEsl^J#B}JKe=?ZE2MGA=uPX4|MCHV@; z`9(#k$t5|J3Mr{2smUb@B^jv-sd<nf;o?$IP*8A7%*jbgOwI-=&&f|t%t_TtPc11Z zN=-{GDoRa(Db{dH%qdRQRLIH9PF2V+NX^sGRLIX$2&gQ{$j>wO`wR+Bu9r*<3=Bme z=1UL(7F52)npm8indzp<bBo2v-#7RcS8+*VQAu%mW=X~^=A6{LTWl$*$@wX%w^)k{ zaxzP9al86C`@4AhxyJ{&-eN0GO)N^zxW$%UlwVp<e2Wd@##<uT9C?emxU%?`P<m=f zN@`kSX-)~u^_ncVSW*&85^pgl<>%hwfC=AX$;r%1UCB@+&A`C$%R#>+w?Mxjvp}~r zuOKlwJ2geOJR>zVN4GpTyQnlJrx+xsAD@|5l3J9Pn4@1>l9^Mi4>L=zpz;=XVrfZ! zJj6F3Ba1~q35=D8k&97=NsLj7QG!u`k%dv<e~~N$1B0gMEjEz9lZ%Ul85kIDF%_j2 ziGmnX1(^kUaC`K?_UM&V7G&n77lA_f78{hq3<_>g;w=KD-dh|_{=V^{A#N78IH4>< zvs*lHX1tRtGS9~quFTj7E@5nhtjyRb-p93w8{{bV<ow)%%$(FB0g$C2_k%+XiI4#) q<FLuiPbtkwwF5b;Sb>3ofrAkYnRu937)6-DY={UW$4?e6E@l8ySX1x- diff --git a/.venv/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/entrypoints.cpython-38.pyc b/.venv/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/entrypoints.cpython-38.pyc deleted file mode 100644 index b85426b80850f329df9763c1a06f96d36514e091..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1299 zcmWIL<>g{vU|=}A?@w|A3j@Pr5C<7EGcYhXFfcF_J25aYq%fo~<}gHoXr>&-T&5@{ zMi84hhdGxeiiMFOm8Hleg&~C{hc%ZiiY=Etik*=mg*}Beg{_4#iX(+Fm_d`{CCGF? zO~zX+xrv#1nvA!Ed?N!Q<DETRoxS6OLjC+a{oFN~ZgKb*lw{`TCFa~>@yRSMNoE9T zgJKXH<Su8ByF?fm7)ltj7#A?5FfL?dWGG>-VQ2=~#FY4nk%7TEHLs*7F-M`iD6ya* zwMZc?zepi5Cr2SaCq)4yRauaqnO9P*$Hk?fprGK9SzMA|l$o5ElT)cskXfLRkyxyd zk(i=ToLZI&G6qSDLP}~{W?pKFo`O?qa$;$5szQF6LS}JsX=*Xpti+<s;>^5sg|wpl zT!jF~5Dy)N;>u#Zg2a*x9fjP|oRZ9foK%H?%94!yykZ@Nl8n^MB8AMnlGLKaWRTa3 zbrcfwQWSFYi%Y=f<)?wv<SJw&mVt~-1iLRYuec;JCnq&UN1?PhwWwI3xHK&-wMYTv z+)9O#%-mFk#5^RADx{~DK%AGGUzVBz^>#=;C`?kzG80Qu6-qKPixmnIGxH$!7Zl}} zWu~MmBr4>lCTAq(Wftdx1F<}@C=cWgh_#7%DPTvYWEQ0+mw?1eGE#FDO7cP0Cl(YG z<rfrzO)tnvOil$Gkdc~GprcTps*smo4h>6?D-`n6z$WFF7NJLyLSiv29*e<7lw_nT zB$pNyrRJ3=<maX8fi)(|FfuTNI|hLgk`*M7iWQPlL2k;-E6dMLO;Jdy1UU<o1d5Z3 zG7Cyzrs^q#fIMHGnUkZCmYA8NkeR2DsE}4#Qd*R%P?lO$oSB~oisgdL0zIyPoYchP zRE6TyRE3O^l7eC@ef{*zl8n+Mz2y8{{esGZME!!y0)0q|&^I-;v;@03F{LasIaMJ) zPa!R{0^}%=Cra~DQj2mbL0qtUJuXm`l;vlpK%=85KPe|QSD`Y$R3SMrPXXc)XyQ>Q z&n(GMP}j``c~)Hklq6CUQ$X%4D$N7O5hx`?VkW0jk4ux~7ISfB@h!IEl9be<qFb!x zMVTe3MNA9~44`b8Sd?D8lA#DxEc|lTFUc(cc|*4}uOKlwJ2geOJR>zVN4GpTyQnlJ zrx+xs9}iBod5Jmtr6rj;#rjB@M6aOo7DqfZ^MQ;k<^W}4UN%Oi|12CuJYYNhG&zgd z7#J9CiGczZZkk?lPNp8HkN`XFmK3Ta*ebn}%7V<i^deAcaElGfVPRlkC}IT>AmhOv iK_a+87IE0*=BJeAq}nlpiV%>yIGA`Cd6-xj1(*T6KaP3; diff --git a/.venv/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/filesystem.cpython-38.pyc b/.venv/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/filesystem.cpython-38.pyc deleted file mode 100644 index ee51f772d67bca4c5d5734f40a07dacd77ffba9d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4035 zcmWIL<>g{vU|=}A?@w~O2m`}o5C<8vFfcGUFfcF_b1*V6q%fo~<}gG-XvQc;FrNuZ zGe<Fl`7BW^V45|G6-={5v86DiFy*l4azt@3g7h-yaOQGFae>(^Io!ECQ9NKaYYuNN zUlbph&6dNTD-b0BX0zuA<_bj#<qAg$Gcu$K6|G2NNa4s4$rX(f%@vChV`Ok=Na0N3 zYGFv>N)>HpjuKDdPT^@`h>}R*P2p={h>}d<PZ4Ngh>}X>ND)jCYGG(*jFL{}NfAyF zNfGU3ijqm?D|(eGlOmQP4wjS6<4ToDWz3RoW{i?ekw}qjVTh7TkxG$nVTh7XVGL%_ zlz9mXBR@^XTYSm+c_pb8CAo=tiRr0DnvA!E{1S6hQ$kX63-XH+iz?kRb5b=KZ?P7o zmK0TLGTveih&0k<yv38AS`uH7SdtN6nwg@>bW6xLG9WVE*~8V@J3c7X&(G7({T54d zVsVKk(=86C%)G>+N>Be=9G)eqMTsT(MadxhkuftYo+KC;7*ZKPaT3Lp%ACTO!UXmc zOA2!^gC@%@2~5`or52awlq54E83$s6urny;K}jHmA(&w$qu)vfO~zX+#i==IMZ63Q z3}E7ylYU8Vfqp?|fo^GDL1J=tYKm@oMrvw~Zh3BYQE5s}F-T57J~OW*wJ0w!N58Zr zGpATTEi)&zxU#q;HCL~o@)iq-D-N=a3FHjsDp_3a)B~yX(`3EH5g(tIn420Oe~T+V zJ~uz5GzY}yiH|QVP0WGHa1<2f7o--IR2B)qoC|g{gy08>aWgP5h=D8yd6R>YiLnSI zf)W~_u;pN2U;u~40tN<#5{4|s6vk|(Vv!Q266O@9W~O2ZQ23TGXR$0`tzlTmSgcXP z*2I{?P|H}uP{WwbTr>wP#}1M!>L_7ez_E}ag(aJ*sG^FegtLaBnX#5BoFPw)g`tEi zo2w{~kpToF8B$n-86p^Jm_TZS8A_NJaMv)DFlX^BWC~^|)B&?u7Vv^hWn!phtYs+F z0qM|W^Si}bo|$KCbc;PbwIsDPGbN-56rXOIe7Bg3D~oS&6yzk9q~#ao-eS*4EKV#b zDZ0g!Uwn%Nlp=4jW)>$V72o1>EG|whD#^^xb1f>$FS^B^lUk8kTvA*F3a%nH1_p*( z?Eb+JIkv>)<kaHgTP)%6{@%CPQ!<M{F`&s@Bn?u=QBagxmYH7)vKN}<Au#|>M4)K6 zC6Jtvnw$;E5&7kLsYSA&IFSP-1{M)U7A65E7Df(69wr`UCPp4cK1L2k4kiI65ym1_ z1_p*?aH0XJWnf?c#Ul?awu%@S7^(zH7#1*s;$a~ZBSSbtUJMHZDBjYTvbl<KK;g{D z0Fq5(a$$(IsAa0+DPgH$YG$lu4rj;{0jbUADhhz8i)1L&iD0N<F48GsSiqXXSi>a7 zu#mBdu~4UpA(A1FDS{z|DVRZ%xoUEFQDT8YaRw-{>m}zGR2pe$DkPPbDC8y<D5QeI zvseKnoSB!dP@JEfom!#*O4!8;CHY(m3JMCr1*yrIi8-Ls102E%iNy-36$PouC8;TT zTo5IxsS1fX#rX;uB_##LR{Hu$rRl|b1(hWk`FVQzMd|vP#l@wm#^&Y*26|u(RRRgB z#R&?T#R`c~JN-1-Zm~fed5aa~9HSz6P=v92`h#t~#hF<g4{_ct0dyy6vfN@WE=s<| zl9F0na*HwT79U)3JjgHTQOpgtAU-X#A~nSl6uY2w#K6wPD8MMh$ioPZS7tUQ7DfT4 zB7IP-f>JCrQW-#OR#>bGf%D)3#uBCl%%HTN#j=nwn4t(1>zb^$Sc*#$OKx!l$9o0` z`#XCVNr8OCngbSPFD?O<6{(tx;FO8x#3D@w28KY8)4&Oe3CzbR3c%$9NKq2l87Yh< zj9E~JfLSacC#5i@F!!?bThua^u%@uoFg7#QGF5TaFoiLIlAtL=4O14|0``Rrj0`1= z3pl_$&V>vM85tQO7{VD$83GxC7$U&gUz4q>(>=2+HBTW?0hB!zO7ayF!HGpjA-@1D zT#}kw02WcmORXpYDab5QC{9f-ElSO)R7lKAQAo`zE-gw0r-IB9Pzoq7$}A~K%>$`T z$t=!RNK7k9EmA1SNL7GVXbMHCiOCtM#R{1v#R{o;DUc-OR>h)Ml3Sq3a*Hh`H7B(s z^%iqVX3;ISf}+&4%!*rV#ieO!nHAt7)K8PE2vl-{!ygjbN}!nFNJ=bD1(gm(pfVL) zFyCTL%PB3+xW$@QT$z`Aiw%@|^75gjN0BZ_7h4gymO_iLTY`xxS&7N1c_r~Bxdq@< z7Y2$MP$kH~#>B|P$i>LT$n=Me6~tm<<YMAtEV5-_V90#I%)s#S7Xt%>Cetmx;*$J= z_}s*b_>|O~#L8P-<%yXkkaUVtvVal=$j#t-0MsbLC|R_irG*uwv?yU%z+A%!id5th z2wF}sz)~y=ID~Go6+uD;oB`R2QgidmQZ<>1v_X}W4u}93mS6&0VzL*d7UU!*r{;n@ z3~t0RgR&AIBNt;4$b~5B7UXnL!3dHl_5i2bEXD;)pp;sy0jka*8L5`BhOvero2f{t zP@@J^oq(!37Eo1J<Nzx0YCwE8P~}s?4yv?*88n%y(w#v?w?bx`LZU)SW>IQ#Nq$i! zER7{5<)lK(tI*=qVuk!-JxEodp{bCcrx4&D>=~h>P*RkcTC9*<l$uxqDiA^OUks8C z&&*57FE56qy<4mW`Nf$PnjGNp0;ecYRh5!iR0K{~EZ{_?017HaP?8agFG(#fi3g>0 zkSpR-GK=ENGxIc=AX?c95{pvvN-$CshNc=&0E5~O4D39NJdB_=0vi(-BOg<dCweKx z&cMI`Djq=TzW5dc149a9En^B(CqoHC3Uf1~3q$OlTBaJt6qW^y?F?y*DXb}MEgU5b zDeNG*X2yk#;taLSB}`e&;QESrAyX|&m0Sta0+t$<5~eKH5~eIRCx#NHEOsY`g-o@q z;S6~JEDR+a*<3{%7#V8W7#XUJYS^+kOE|N*vYCq7!WkkN7AX`8K*hMTnTqCt#X#+C zj$no+a8Z-OP|H@w7Qqn7P$&?=P{Oo;r-l`rW|<c7*06wBj0`E9!3>20C44Dd&5WRS zO)!Hdx8E%dNK}GD3{o8ArpBjb7H6bo=B1|=6~`x+7MCOzrNrM-NlZ#kNli=7$jr*l z$<50zC@d;2DJ?6nsH`$DG%_|ZH8Z!cd<ja$w-~S{Tw_oqfU<QBL##k8BPc(0Ff3#Q z6{m$vpw=m*^k=%oR+N~RlAn8vEjc4UGdWe0=@yfo!7ax4m5jGI5_1YN5|dJ)aSqN! zoHpsHd8rizMRwCbHh}U73j-5Fl_vJYqi2(opPZOeY^Mj;_Y%|+ato<44h5M5uAo6> zXi6ri<)i=#8*q}&FH(S|L_{vp<iEvQl$e*EdW$71KQj+0VY7gW_FHWJ@j))(LATib z<DG+C9Ya6@t`W{YkXo8GwWugB{}!98YlLTT$Sqda0M{VjTdc`B`NgTX*h=$qGV`); z3ApB!WftY<<)-G9fa`Qkc5wPHvH;}~#>^r&P=)~|?^{f1DYqC?AsHeFBnk?lB6kJ` zhJH}ksDbKY78XVpMjl25Mm|O+Mma_SaE9Pv;b9bE0u{9!%uI|-|G|1R6^dd&hJdSI z_WWW!P~}zR2ND9ARAc~RftvicxS&-|PG(XOsGz#V0jkhIg#fq$i4rNuEYOQDOU+Bk zFVX||qcZc-i$GBo#g8mioLNx>Y9ri|0*k^r9D1NOSg~Gmer`cx38dYMRY6H*0mxiX z9tKxUx7eT}oFJEi(k8fG1GhNA4HR(m09>8i;){ot#_?eHfeT=8@c<4ANRWbyZZH7~ z*IOJmx!_KV9jIwjY{tOAzyWI2!Z8mcC|G%zco;!#UjZfob`BX12@X(ACd|Xc0%|XD Ja<Os<0|2mC>W=^b diff --git a/.venv/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/filetypes.cpython-38.pyc b/.venv/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/filetypes.cpython-38.pyc deleted file mode 100644 index 72ad7017abc4e88c0137c4544343b38520b1b4e6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 556 zcmWIL<>g{vU|=}A?@zKd69dCz5C<7EF)%PVFfcF_`!Fytq%cG=q%fv1<uK+lMKLil zq%svLq%fv1=P>88M6ob3q_9M>rm#k_rLaY@r?988rZGivq;N!WrgEgRi8G{fiZi6L zi!(%VrEmr_XmVAFxn<_0mQ)s`DrDxR<rn29mSpDV>2bXT*{{iXOUO4eATr+B!`0b4 zJ}A`B&(qIclkpa7NNGV%Y88uKc}9*VQx%6^Nn(*+Qk78^i(W}ml_qNyJ6NQm3M2p_ zbE=?%IaO7hVA-6i+{7vty{gOtO=hTEI#>gQOf2%#<i5ooAD@z+93Ov6svxsKFFrG` zB(*3nF-NboBr~U2ucWddGcUae6h61upd4lf28LVw;U2E8KJl&*A+CPGp8kHf_?)7Q z5ZvHfyb)2zT)rsJ02F?RV-PZ5$T7&-!!yhkNo*xU5ibJ+g!tvCUy@s(Uyxa#Tbfsp zn4F!OqFbJknwq0qo||1%nvzotlGBGfUmxsz{WNIM7wZ*N-r}&y%}*)KNws4H#k2?m Y0|N^a4-*R`2(vJ<FmW)lF!B8d0B6ISt^fc4 diff --git a/.venv/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/glibc.cpython-38.pyc b/.venv/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/glibc.cpython-38.pyc deleted file mode 100644 index daee4500d13e7a099c90c79e40dec675f752309b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1708 zcmWIL<>g{vU|=}A?@#hW9tMWTAPzESVqjo!U|?V<PGDeQNMT4}%wfo7jACR2v6*t1 zqL@+`QkZg>qnJ||QkZjCa#^ET85vSpi)>ODQdn}>a@nKUb2*|o7#UJnQ`lM<qBv97 zQ#e`}qPS8xQ@C0fqPSDIQ+Qe!qIgo6f*CY<UxMt`WW2?nm{gpfQ(BT5pP5^bUsU3! z$#_f1H!>hH-r2*|**iWc)X&e;&s~%07KeX9NoIatV$LnrkkW#j)MSte$e59Vfx#K% z10Dtjh7yKmh61h<#%6|K22I8)%b?Vf(xSX#h4h@vq-2G%)S}|d{5*x?lA_GKbRC8K zA_c$vyi|qEG=;qU5{1&@%)E4nQaw$kTQXox@lZ|i5KZyP`FUx@B}KQSvCEcJ7Ni!h zWGLcbV1N+6Z1qcW3-k*z3v^5K3KEmEQ&V)yGg4D?bjx$Ii%L^+ia~Pv@tJugsYQ8- zIr^m~nK{M!VAJ&qDsPE^S!k}{2l*Eibqvf!p!h`z6p%Pb5F99O;6TY@OkvDsD&hl0 zLX}tv(*ouc=7o$4SQawGFx4{DGKMqc$*?e#u$Hiuu%|I+a}_x-GJs$t14u^%Lk(jv zgC<LrLqJhxZemfTLS}A3PHJvyUP&S-ZWQv<AfbllN@#%Q7wbU-P45<Kd1jumk>4$0 z=iqpEztDIePbcU2FxQ}9Pk%p6j$6#dmBqI>3UU%l((;RPZ!zT;-(rXAy~SEwkds+* zi_fv7q$o3~v?SHFs3^ba7Q25iguxY-m{ST7)MUEF7=Mc$8gq!aDB=Xg3L66hgD5Bf z`9R5tor{r$k%>u+QG|(uu?QrG5|}Iu3=E*S1P5jr0|P@9PYPoSQw~EdLpVd87z;xQ zV>VZj5-6}38Q{Uiuz)FrX(3}RV-;5oV-|BQ6I3lrHdm1!y4oz(8m4%*8m4B3TILe= z8s-v?W~Snz8s-I@ph&7^u3-iTzO7qgPEJx{ayDt9pA1fsdPSgY;&+QRu{b$1Q<Li! z8$|pTw<kFNL4uIQ*~Q1_mPmSDX?%KWNjxaez@oHBh=GCO7DsY?az<iNe8DaDqSRuL z$+x&Ni!<|zOA_;vQ*SYYG6q{pYI1%`swPX31W1cuK~a8kYH@LVUSe))aY15oYLPTZ zoEsWDpnQcML+lI;4C<g5k^#jK3lk#`BOfCN8y6!JBNrndGY2yVBO4PJBNtN<NF_>q zfxHRI0O0tN11J7whFXRih7`tZjv^sYa!z5cVMt>NW=Me~>d7HRl?o;K3Mr{2sYSV& zd8rB|8L5!;3@b3WxD*r=6kugZqCyF%AOfX&NSRQqpplcAqytl}sZgGgnVg}JlA4xS zno|NYJ2khUq!L=}6oU=R%u`5CEQZ*Xlb@emTA+}Yn3+?o2bT5IWV*#rqznotR&f5; zWCZ7PO~zZiU_LxrKxq>ae4w;_ivt#C;h^9HNiwjrF>)}nFcqmWFfeHH-r|anPb)1c zElQ1#F9HQr5vVLF;sseHRghVr2QP^9zy*<BNo7H1UV0HTNC6v^1IiRdtf0IEDrdl% x1{@P$J0PwBSq))9++~xSpHiBWY6sF<3`$EpOdO0HOgv01i~`IYY#c%y1^{Jqzbya& diff --git a/.venv/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/hashes.cpython-38.pyc b/.venv/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/hashes.cpython-38.pyc deleted file mode 100644 index a5d4689fd7fd8afbfe1503ae84764098ac68aeda..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4144 zcmWIL<>g{vU|=}A?@w|XKLf*K5C<8vFfcGUFfcF_UtnNhNMT4}%wfo7jACR2v6*t1 zqL@+`QkZj?b6KKTa#^ETbJ?QUz;Y}(?719K9J!oPoVi?4TwpQQ9PV76C>}7IEr&Ok zFN%+mA(gLaUJ64Bdk%lDK$JkPV3c64P?S)vaFlSaNR$XzEk_P>u4t4fBSWfa(WDfH z6wVx`T(KxIMut3|6owS89Hv}x5HE#0N+N|jg(rnKojFR<ogsxUg};R%g+EoQnK??@ zogqaaMX-e-MKD#mnK?=(g(;XpQ|KkgubPav_!E<g^K(i|QsXmo3-XIf{4|+wab}jJ z7G;*C<`&=L05P*uD~oS&fmmgUIi;z^n#{L&JQ9mDd^3x46HAgaZgE3-#hH2Ow*)=& zic1o6auQ22^YdJbit>vz8E<hHr6#7tCufxAWfyBQ-V*YS42X<(_HcFfjt>g;^Yip` z*JQoL;*yzMa*M?$v$*6Ihf`)=Vo{~1|1A!`{Gim5(xSXu9G)eqMTsR~1DOLNjWro> zvBra}1~W1ei!*Mq6=x(GnVNxVV+#{7ZE9$g4Du~9W`@OX90LPGDnk@w3PTiA3S$&= zif9UR3QG%P6iX^=3Tp~m3qvzw6k7^=3P%e=6nhG13Req56bC4@TNt7^Q+QMOS{S0Z zQutE@S{S0ZQv_3lS{R~uQiM}PS{R~u!C@_Siw)$+)Z(f{M}_jD#Dap<B88HS#1e(1 z(#)KcVujq&oRZ9foKyvn7gCEA5=#{F^O92)67y0Nk~311vx^l<GE#FD64Mhi^NLHj z6ciK`vh(uG^K{em^HUTck-`NQ_Dg0$@+OE4!p@*{EXKgVP{WwQn9WhdlgW_BRKr-q z5YLdp7|fu_RFx0b4KmoOAh9Sh7wQx%1xJOH%;XY<{4|Bcob>#n%#w^;g}lVv)MAB# z{LH+P%)E4kl6-}n%;J(_h@zbQ^3)W#X&@6bQY#cvGSgFwON!y*ewvK8IN}p?z^XNw zZm|@n=A_+Xg9N}zh9W5j28LgD`X#vq`URN<x}|vqiOJciDZ1qusi`@-<+<5Kr71bZ zAUXZ`%)FA+qP)Z${nC=moML^58F~ekw>aYCGxIV_;^Q?z{s#pF16vh8Brfz|a><NH z0S01&GCnxKBp4VNN*GcYQ<z#9Y8bK@7cebkaA9a>Yz74xvmc5^kl~;-RSdET9MTN2 ze6@@v3^k0+jA0Cn424W748aU589^Rr&PmPFWV*$qXK;%h8ZclFLkMXG28LUlHtDH( zsTBo9b|xSbL2hDUU}C6JgSsA~Ej~HFG_OR@CMQ2RF{jv053Wg*`4)3=X>O4?$SgKU z0$Ise1o9EY5>WUSfo<YJHp&oW8OSdT%vHiztV#y?5f)w`HY)=I130jRK&gwVh9Qe# z0b>ngI>SPyY_?zqO~xvHNaj^2&qyuF04MxZh4jp_)I0@5x=_e0R)D4jJxwNvtC`bN zOEj6mPQJwniqm*dvb)8Vky;TCaWcA3_%n;+!3v>9nZZ57UL^+g44M*@+``VlzyPWf z!2Vgrz`&5nP|H*Tj{0Us7lv4yTIMRD5~c;rHOvbcYnW=7Z5YBC3i((VN?1x*)0nck ziaZz@K(K@@g|UWNjG>vai7}F)kS~Ivkgo=0f=n$-3409_*fhRc)*99Y95pNp85tQ0 zV+sRGIH58MF-*10wQMzP3%C}7ZLeXLWXNVKDq~~-l_!N|H4F>5YnVX#KzvQ+swQVp zDWL!^4L~6PDnlS;g+hK_YB9K+DN#r(%Fk5*mEws>IjNw`3Mq~i^3&kiG9|GjQ4dm* zfO2k7VrFrw0x0NUMZH31nnGTFUaA7P;73wgB^sIsE|b6|2e^o^Qcx}S)8r`vC0<CJ zvV$C#lbLjjIWM*R7FQUkHUZZVw>U#83sS+%A`S)yh9Xe9y2Vynkdj!ES_DdHw>UFW zD<JWHi!Htg<S<QkNa|pN_~RB!dVWc9kvb^Jvx0?gv4HHm#hjjBf}U1Hz~yQ@v_yqg zO!lAz1Iif;94w4{j7*F|j6#eeOdO0njC@Q2j6#eYj8)R0&`2%T!=@i4HGy&w$l>7B zBmgc-K!r#RV>43|Bd9DWl4W3E&}1rN1Nj$}QCBj7{ZnKF5&$^^;%HDVEizzWU<d~} z4`eI@Qxz}N8IX{`uox8NV2k-c*^*%aLkT0OAX*42xfrVwaVM8Vg|y6^RNb7+>{NyP zq^#8B60%Z*CQ}h8_Z4wMya+0HZn1z&hIk3=Igr0@3897~NJ%u@o9tDRP;X+YLh&*v zoZ&fF2NKqdDU8ib{SviIHJ}oSX(3}c0~3QOLm)#C!(xVDFde}FiU&<5zgtX2NuWw7 zzaTZQ$P(mcXu-o$kXVvYWPuqW=ne;|O943?6!HvAJd8M;4pN6wae!(ZP@IBe3*-k_ zfdei)b<he=PjJ1jkeF8qW<VPNpj4h(tOxQzQht68IIk6{U~x2ee0*MhUR7#Qetdi; z$h9Dw8JMetpuvnJjoXo+{8_`WfMFp+FasnFGZukz4ptjE;^RS1ijU8OTgQY{1w-UC z8T~Z*K(#ffgpZHE#T6f)o1apelNuj?izhz5urx6TD#IQhpOT*(A73N`%H<pdMfnA( zMJ1I*svysTYI#Vq1LYQQJQmr4B*3l%wdIjgA3O;bfof||U=@QH9E>b1TpUb{Tr3=% z91<KLl9huMtOjcv5>yu!YoN6u+ZoarQ<zeiTR5UvQdm-0TNt8P+Zk9GqChnw+bv$- z%wkYW84~DK2OJg3^NX?*!Fet%zX)93rWPxd7N@3wYRx=_@>KPrRE1oKE`>x$2@6u0 zs8EzzSejXsnwy#j&8VIw3d#Ao1*Ija;6|fDVsc4oVh%)0ej2D9iL3|Q!~_?n#R`dF zi=l1<*9fT<$*BdPR=h%SMt(V{sh3#-YVDO|q=H;m1TFqCk_sq0f^ab?kV`;i4?{Ck z7E=jxIzuL73S%#*69wvoFjpzM<mah_T9;|imO(-SBrzu>C}fu>7NzTHG8RcPFfjOO zvfN@VE-gqcDslrwDLDRl-5kUGgFHiA<2@XMJ;3R2CF3p5`1s_U#Ny)kct~`E${BEa zse&g#)+#ZmKOu2|Xbgfg1SnD&7#KiokT<|tQv_P7lrTy%fEt3Jx*b${Kym<c5vcJ{ z<N<P;K8P>}5g_j)xdD_a8{uwXsuDqS12`Tu*^3-OdYwQ7$mSv!5DVmAa3yey7wWy_ z)SMic7r_>Jg4BUM3ko4{LljiCa4@p4@vwtKO;Z+>wbDvUN{dqC<BLH4E7D?MV2I)` z$Slx{FH6l!$uH6?&a42}xR81qToFrv<zek?J$Sk(hE!f)zk`Z}TWAWw4RXEQ%;IEl zO>j#J)f|X)No7H1UV0Iz?7PJV<#2=i!UH0BK?JB4E8+*SKox0`AczHOaDoH;7H@D! zkiVZhI1#u8-(t%L*IVE`3-&f73cz6mCO~0yi^B#|#Mprf;9@xj1_mA`4ki&M5mp{X Y9wrt>8D<_v7DhfM9#$4sE@lCL09L^CR{#J2 diff --git a/.venv/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/inject_securetransport.cpython-38.pyc b/.venv/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/inject_securetransport.cpython-38.pyc deleted file mode 100644 index b11791359c5038b7db35fa5948eed670023f61ac..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 932 zcmWIL<>g{vU|=}A?@zK8GXuk85C<7EF)%PVFfcF_%P}x8q%cG=q%fv1<uFDurZA_l zv@k?5r7|@$Ffybt1v6-}Ch9UWFgPk?q~;W)7AfTBr<CTTDwJd-mMCQAWu+#U6e|R$ zCYKhah7={{6&K_emFOts=P6|7f|z<-Tp<~$P>w=zMt*5dib7JVLP~yKszPG1LTX}B zP9=y@kY8M!nUs^NqfnBskeXLqT9m4gn3JPWlv-GtT3k}BkeHXkRh(K}oSC0jte}x! zq)?ubSdv<nTBNCvSd^-eT$GwvlA5BBm{yWn1a(+uUOKwd^tibE@=Ku3FHcp-&&#P) zNXb_y0XY)vo6P(?kn?jBll_Br6v{JF^T3ihnR(f%DGL4tsd>S{J_?z|3MKjZT=_XE zAope@=B4DMDunn1ml^6A>2bXTg|%NYh=gHKh;uS9FgSxky@G*(p@boeF@-Ukxri@? zA()|xCxt16A&04!A)FykjD?|uIh(7<fRO<NBN;#{A{c5IvRG1>vssHAK>R9!6s8oG z9M)X6T1G~YE-8?%681EvY_6g#kUmBRxK73e91B75$pDH^zgui6iACj^c}0v23=En4 z0t^D0jJNoU!I4-3i$qP%Tg=6k#kV*LauQ3@@{4kBF&7u-+~W2G$E#~mQGU@aG5-Kp zzu;h>_%PR?U{8O)c)w6zC)c1`(gm3Xdhuncc`5ltdZk4<Ihjeuddc~DB}JJ@Ma&Eg z47b?*gCRx;L())uW?o5tJXEPBQxO{j0|Qv)N`@jH1_p*-e)=W31^NY<1-hkq1&PVo zsVTbU8L6o`y5+gqMWrb@#UMF-kTI!6d5Jmtr6rj;#rjag(Y&TtP<cxXyA&@ddZa*+ z#>~aY!o<YL!^p?T0c8s?3Ndmp74b1JFlaL0Vvmnc$xn`tFJb|?6(k6DDG~uP>=uVj UE;z^7fdac2<S!OZ4rUH<0LD23jsO4v diff --git a/.venv/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/logging.cpython-38.pyc b/.venv/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/logging.cpython-38.pyc deleted file mode 100644 index a0b76e55794f4ad01aebbe869c2b92d085a350f5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9159 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 Vj66IXEJ8*cY(m~5>;jwuJOIW6wnqQ} diff --git a/.venv/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/marker_files.cpython-38.pyc b/.venv/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/marker_files.cpython-38.pyc deleted file mode 100644 index cfd5d2604d41d99e3641153029802dff62f35026..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 928 zcmWIL<>g{vU|=}A?@#hmCI*JbAPzESVqjo!U|?V<R$*XZNMT4}%wdRPOks**N@0#- zPGL!5ZDELFNnuN2Z()dHO<@dX(Byat((hNbGbAIkSRpMlCsiS{SfL;%F*!9wAtSXY zRUxTTp&+wBp(I}+GcP4GIk6;Fp(G<!p*X*^C^=Q3Jh51zptOVwNvR$emw#R|NEOJW z#N_P6bg-etrOC;u#l>l*IXRUInR&$}i8(o`DGDVZi=n0^=clA9lxODTC?utFrKIMh zmZYXAXq4vVq!t$|ROXi|6s6|omqCpNIaX7Tt4g*Yvp^T3SQliNZc1iRYH~?_QKeo< zMM*Lv$b(P}VzV(YFgSz4NQ{Ajp@boeaRC#UWUgT-VOhwu5ELqmewwVenDUEnu@oeh zWZYs)t;j4cDZa&$m7ke+ODe!KAl}8*$2G(?-q$h6+chZO&C|!#&(YUalkpZO-1e0W zMH~za48L6TOL7bJL5?iVD@aVvPEFA*&qz(p(Jjx-E-FpQDF(^u$7kl1q!#5R=IED} zWabp>=Oz|qrxwM7JXx$)P<cx%Be6Ih;>&m>IbM)YK+(>?R0K*JDBfjeU|`^cdDjT; z-5Q1x=7mhPj3q2Jj46!GO#K42Of^gkSWDOzGBPrRGng_2G6XS1Fr+XAGiWkb*>fo< zC@6#%WkO>flo}uoQGhrEnr!k)@*$B44*@-}&RdM-ewyq>AV(H~TvWu$z`#%hiiTS( z`30$Yw^++TX5SJ;4O3s&;9y60S54+3b_NE9TO6Q}0LKO=#Mbz<0&w_32#_~#Nq`N) z5=ug#Py*S=z{<zS!&oH9z`&r%c8fi~SPx_*#BF>qXMqC}tOjB>C>9|suq_-mx%nxj VIjMG_)Km<T<X~c9XJO`G1prE+`mO)~ diff --git a/.venv/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/misc.cpython-38.pyc b/.venv/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/misc.cpython-38.pyc deleted file mode 100644 index 023eea2a206be8492c6c5e67b5b2b86e619af780..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 23778 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 Y4i*k>4h{}B0c8$W4mJ)s4t6d+04K|z{r~^~ diff --git a/.venv/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/models.cpython-38.pyc b/.venv/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/models.cpython-38.pyc deleted file mode 100644 index 5dd703b83e0d34702a14f360b054debad285aa04..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1924 zcmWIL<>g{vU|=}A?@w|K3j@Pr5C<8vFfcGUFfcF_D=;uHq%cG=q%fv1<uFDux-+CO zr?9jzq_CtiH8V#sr!WOGXtGwxg_dOIWR_&67AvIX7b&Eqre)@3=A|p-=BK3Q6mz`< zneCShB9So@%$5iS28L9ID8>|qD5exfkf|xmEeugCDJ&_hEeuhtDQqe1Eeug?DI6)B zEeuiYDO@SsEeuf{DLg5>EeuhdDSRpXEeugyDFP{iEeuiIDMBg2EeugSDI&oPnxeNv zyi+Tk5{pw)obz)F5{puOGb=Lls%!#^^2;()Qi~Om!NQrv`FRS-i3N#CFt3zkB$g;- z7Aquy^eW`%DI_Xnr&e+)C@3f-Gb4Ef#0L4rnSp_!Sb%|np@y-BA)cXzsfHn*F@+(R zVI`xVCetmRc!))*@!6@BxA@~>p%kB-lUQ7=$$X2YI5j8j7Bfhe4^?s{LlGwf1H&&n z{gT`Q{esK_-O{{*#N_PM6y5TS)YKf^^4#pA(v+NHkeq&eW?o5ZQC?z>erZW&PO&~D z7W4`#Z*j!OXXa&=#K-f3oC=C%21Yi<Dp_m+qz6-*%!uSy5F74SP$DW}sA0%rY-S8* zC<29pCetmJjKt!MB9P&lj74k=3=p@2Jx~PF0dfUMNqoE@$Q2;d7;w7*qB0q*3hE9J z8)Q5<y!k-k&9H!>hOvY(i)kSf%pJ_PIAGy@izB}vwJ5P9zvvcQe0)wxeEdo#u)}V# z=9gro7D1fG334gOeMO)s6hU&DG>+f_nM8)eia<^-;%8uB06Ql&KE4PP5a_NDW?*0t zC&m@2@$nS9BE1BMD?s5OMT9Fr22kz_Twx)~z`!6&j4P-S7O90e!a|IJfdNz?7K0KX z17j7gbOADe;;_iW6&9d0p-e<rfDFJWra)N~oNeS77#K>x1yvSfGgGlZ2~#k*z{+B- zVa#G~hG!#|TU?pNnR&$}iFwJXMXaDi%jcJ0;+b2JlbV~FSCX0n$?44C3{@lqQoxp* zT9T2Uf}Ws3$zBcQa8Q}Rz{tbM!i1~jffkg0n!KRGA}=vFH9r0pSA2YKeoAQ$h|Lop zUs#%$1C?Qqk59=@j*l<m2IXN;*#^$TMW8HH1WLh0pafI|ioYUI@Ii7QIKv|daMlOK zEJ&yrq>F=*g_(negBckXfmCR+6oJAInuqg~vQm>vz!FGa2AKja?rb2=wgZ)&#h`+V Ig_VOD00}9SrT_o{ diff --git a/.venv/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/packaging.cpython-38.pyc b/.venv/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/packaging.cpython-38.pyc deleted file mode 100644 index 6da2000a4552e06c38107d46dcc3a4de692474ad..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2608 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 IIHWlQ0XaqAvj6}9 diff --git a/.venv/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/pkg_resources.cpython-38.pyc b/.venv/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/pkg_resources.cpython-38.pyc deleted file mode 100644 index 746dad4c07d9cdbb162954701d243136ddfe2c0d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1822 zcmWIL<>g{vU|=}A?@#hG76yjLAPzESVPIfzU|?V<4q#wlNMT4}%wfo7jACR2v6*t1 za+#x;!EELnmR!~-Rz`+Y)*_n}h7^_@wp{io_FRrAj$F<tPDTcIh7{HmwibpIwp6ZW z<|ytI_Fx80j+Y?2G#PJkS7xT>q{QcB=A{;EGT!1!%_}Y~N{ufrDbi%TCFC0!5E<|6 z;p*%i9~A26=jrFJ$$X2&B{R9?7Kdj^YEfcRPU<ZdpUmQtWRQ8tm<i^74+aK?RE8+V z6ox3K6vim#6s8pB7KSL66qXd$7KSL+6t)!h7KSLc6pj?m7KSMH6s{ER7KSK}6rL2` z7KSL!6uuPx7KSLU6oFs{O~G3{AlrRYOA=EOOA@P`Jz>m%qWrSVl++@Hl8nR>g`(8N zlwyTks4|7L%$(F>g|wplT!lo1l+5Ik%>2B>qDnn31qB6#WRO!~P6x3;*clY`pctxQ ztYL^}NMQ(OSjp(OlJOR2Jj_&0rduq<sX1x4IA9_x8H)HA7#M!J>X+me=oe%b=$7Uc zBqnF4rs$Suq^9QRmgi;{m8RqrgXHw%GxJJPi}Dh4^h--JL1NkI@kOb{`K3k4sl|E) zmA5$J<1_OzOXA~sL5=~rih-$06xsiJFcpOTkj0SA7R*q@$-ux+1oGEPrXn5&28LTK zd5O8HU}r-JevlwfMq)ACpMprXOQP70tO~^i%nS?+AWOiZ=*PgoP$f{pP{WYLSi>mE z(99Ul5X`{BP{NeWRpi0QP|L)~P$gBv#KMrpoWi((rG{}Kqd5Z;Lp*a6LpXyeLkdGJ zQyo(TLnK2UQv^6BG@1OWxD_(<6sl{%QLD*X1hTP+8{~GO(7ep#{FGFeR1oP}RFq$I zi>)X%u{b~P7F$|=QEp<1CNtRYMM5C;jF`SpPc4D_UKHeekY5;>m>2~Z1(-w_t58D$ zSv5*1fMN`kjlrP+N*JIpSilJKUo#^#E;N~nK+1|FK=A?!X-F)9R2PAxLI~M-NIsPV zISHhTfvHL!B|<ROVmOGAfq?<+Adt&a7=sx!nf%-!mSVG>50<v$GmBF)i<FS8mPWA} zRULk7(;1+?$8E0w+`OF3;*yliA~htNWwF}~RhbM*3$XkQVxxK)#cpUyxW!$ZT$EW* z5)aA@w>Uv$aY14-M#|tSD$R?BDAhu8k2s2Z5NiB1xj~s2WL$jwEw1?Z-29Z%oYeUE zTRidcg{6r(P#O04_>}zQ`1m3LP%01x5#aP731Ufs2x$-jig!qefs+TA0Hu*44rq2O z2I=QuWMSf9;b7t51d}XaSwBslD9M7%0=@XM)V!4ZBE16S!UmiKqxg~Ki!&?0dFqxF zSQJ)N>4A$Xy^_j;%)Im>P!hVu2Ia7VoX7?u*g@HfEk7wMHMs<AJ2pq(;;?~)h8-w+ Sia|MyhmnVghlzzzgc$(SR-)<v diff --git a/.venv/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/setuptools_build.cpython-38.pyc b/.venv/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/setuptools_build.cpython-38.pyc deleted file mode 100644 index 164bd71be4a48f38174dd3c42045766678794315..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2927 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 diff --git a/.venv/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/subprocess.cpython-38.pyc b/.venv/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/subprocess.cpython-38.pyc deleted file mode 100644 index b9538cc71a421fa3178f7d7aa86665d5a1cc0105..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5598 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 YW)@}+Ar1i!E)E?AMl|@1tDb=e0N~9HSpWb4 diff --git a/.venv/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/temp_dir.cpython-38.pyc b/.venv/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/temp_dir.cpython-38.pyc deleted file mode 100644 index 2e011e7e059b567a71302df7f83b5d8a33705b01..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6711 zcmWIL<>g{vU|=}A?@w}s90S8+5C<8vFfcGUFfcF_zhhuvNMT4}%wfo7jACR2v6*t1 zqL@+`QkZg>qnN=oOB4&3W{qM4)9g{~DGVvhIUKp1QJi2sEIC}c+)><MHfs(~E^ibs zn9Y{Mm&+f;&&ZI<Uo;_wA%#6hAXhL-Fjpu_C|5X2I9DV}Bv&*_l#wA-G=(FDGli>{ zDM~DrWr29A#6rd>$rPqUsZ`Ds?i8LDhGxbnX?KPc-W0wTh7`V3nP%oF*%YQkxm3;+ z{uBYQyu3R@ieL(73quMgSYE-MAw?)fxP>7_I8~vUIZ82wDVRZ1<RvI1G#PL4Cngo= z=aiPD#%Jah<QJ9rX)@m8OU}<LNv$Z!P0UM7Pc719yv6BSky#R4l9-&W$#{#cD7U02 zHC2=GmXL2`KxDkLhpV%9d{C&LpQoR@ChIL`$Gpm0EH0VJCAT;{OHzvxOY)0uarhUM zWaj53=G<ZrsVqnhODwv@6d!VnHzYN;z$LRNHMu0es8W;h7Hd*|X<kY)$aOHx#K6G7 z$-uw>5-c`iU|=X=XlCeFs%0o)tYKhcsAWuKtl~;x2xDMm2xl;5s9{WGi~zF&8G;xh z7*ZI58CEj-X)+aoBK(#>d`W6<K}u#(Jj{Dcw^)loUb`inpOb<vyON<un1O-emxF#u zZh?M5W`S;LUO{4Vc4~@lc}8k#j&6Bwc2Q|cPBBPMKRz?BB(*3nF-O0&Br~U2A7oX0 zN@kH>LFFy6^ql;p#2j=Bq(LbVoKRUf7`Ygk7`d2=M4`Tgg#efa1p_#_YA`S`q%uS? zrZ7Y?r7%V@r!b{3w=hJpq_Cv0wlGAorm&^3w=hJprEml@XmZ|?L<wS0;0L9qXBL+f zRaU9^f@8Q?0pw1F6j(GUB&B8~mSyG_aVaP$C?qq2t%ndGHpn5)Fjr?X)G)+@!?=i_ zfq`Kq<1N1U;*9*#oRs*K)ST3k)Rm04Sc+3~(!jw8Aw(D$7;bUI$7kkcmc++vgNy>1 z$-q>lgww5hFy+b25SM^S5F3QS&f#NVV5niLVaQ^rVYFdLVGL%_WU7kx%uC5kPAo}P zD9=bO$w)0yNK`<vL?J&-p(G<!Aw9D!HBTWsGcQE};(mpsRIvX+VUSo_lCKN#Pl_H~ z)UQaKfq_Ajxkw7+Ar_F{TdZY?Ii;x(e}WQD5!ka_#i=FG@X&{Qm$ga-#U;p5qleIt z3=SKxcNrK!Y)~>rc$guJVF6<eV+!L!P`+lWigQmbQAp0uOUq0zElN#MKytc5T25lR zLRvm33?SY`v0tI2vLICl?z@!Kw8YY!5`~bW(o}?>Lo}I+BtYI}PERe-WCDA=NQQv{ zl1(7~hIlz0?qxILyo}J`r^yaVA9;znsqyi*xZ>k;^HWN5Ky04)_`=e}9H<O?e0)lN za(sLdC=(UQfn1>gBESKUAVBUZ5@TRsPzO1LgMop8gOP=qgN1_~ED9=Dpux+)07~HO z(Ck+XGOUCFRM0dtBr;TSl^_ZkhD1=&0!d?~0Y&*`nJKBo3W*BE$@vATDGHFh4$fC8 znMDdk&>W{wl95=VkeryOkd&%WTAZ4qP?E2Zl9^nRSOQ6GutW;Wi<zm#h~%h%k^=oS znQjTfOB0w4U>|8R-V#AB%ixlzVRB0Vl<z@BAxwcID1g9)5jzVb8>BD-1sX~afx-%u z20?Uj7<yqO+|H23n8KRE*1{RZlFFLGp27jHm)JlxTMI)JJESIy;(*j*QP7$ziYrAh zMW}@#io2bGg&~RuR7Vx@GB7YC`Z6&vc%<eOq!uY8=Oh*vL&7k>Jg-<GF)u|SIVUwS zuUMh9Kp_zv-1$X`MU{xMOpgnkphGe;i=o<)Lq8D|WzgDA0a_m@fbs{(Yz2RRg`(7g zqSWHlyplvv?FA|;62azy0uH-PjwK~UnMtK3sl`@cm7wCIAh9F^&H)Md<R?Q6EXfBK zKFLL?i6x-akP51VQ9J<G2Z?+*7i3I0v`7P$U$7KYiJ4wNMPHsmYDH#AW?njq0UG5Q zsd<ouh#VBqkkEvLoo{MMMt%yCcfdhjTA-ncVwMZIxCcc~Dz=D#m=%uIK3LG}C}ctk zV~AfB5@BJfkXZ~ahjbM3^T3uuJp&0mNNWYm#u6_ey%6)DMYrEA7LYQxWL8iLhGGyK zRFi;kaTd6d0cu_}Gc90R$iT=@!<fR5%~_;W!<531%~7P3!dS}$7UL)~sbN^aT*JJO zv6iuhv4$a@B?UyXf@-38wi@OdhIsZGmZG#04v-1OF(sT$j3pckxM~;{GJ=|ipjyh$ zO_Tc;YjJ5oY7scigUhp9?D3Ffaf>w`lz?t=Kx>ecTWk>jK+0VKP-)EPSX`W11WKc> zMMe2Vw|G-Q4Uu?g($-`Jm(#acK;{(bf{I8`k$p=5QcUGkLfb+qD;aNb#>a!RS$sUA zFbBIQ6;w8Wihc%mJ{AE+7A6ixE+#fcFl1t3<YBB5L#a*>H8!YBg$6UYd<7LA;0g@n z2vB`pBv!(h!ngobcQY?!Y-Vg?tYOGv28T?Qiem{Vw!pa~Um-C$IkmVLRuC$H{9~n1 zU8~7bqyzGm9w;o>((;RP6HAIf4T~a4kT7boS7gAzz)%nJ4X7$$VCG=t`p?2#C4}mF zkkJ@TAGphfKwSpL1q?L|S&Uf_cY~{6zba0f>RN?r#iCj}O_m}PknP4GLJ>rOEXL*{ zP-O=yY2xGCLCykI@(fIv!3j}<;V4k>f`b#}x*CRH25?IZ5_?#@4~k((>WJ?~vP~S- z`|<HmHOU}TVX+6xC1C3;K<zDtECx`zE)oL8V=YUbSP5g1N(nqJYgzJGQW$GlYFNPe zgawqBKn-$DCch9(R!CA*1qBVLss*R#TkO!{1(s-;Q!A2-WI++jRFVYIff}En&;ykR z@$vm2|A3l-3`|^%9E>cCd`v7%ELajIL^(>!3Y78L7#JA9UIV405{4|s1xzK(Su81x z3s`Fy7c!<W^)fDGtYs=;Tfm;eynwZaX(1yh6W4&Eo~6pw8C;5EuZO^ORdGpvQK~{_ zNijI#DrDv<fLg|Spri&a)j(zXFLqETqq<giCF3o&f}+&4%!*&~5R+4|m8;<7&vA<> zzZjgZZ*df*Cgy-lyu|^^H))wUskhj3vr|AEaC*GOmXn{Jo?3K^H6=BvG#%P}1&2M@ z1W3XG2Qj$eq{YC%FdG!G;C2BA8>7H~7G?p)Dp9lq11YR9QYR=}!C|Td&N86hLJ4CQ z(*ouihAftaj74%KtRPl1s4xVDBXgB~P-<>|St`!*9AZ%lI7C5}bBRJRy!`|U!4N-9 zHb`+`4@y~}Om~YdwIZ{)q!>~rfKoBGY*=It>cN1#3Q7nJENqN?7~X^>P8L7EB2Y)n zO_R3>oVP*VD^dnor~)EDEz(;Y1x5J<sYNA~kbpG>Nq`!|MOGjdC}6=>-r|Lpxyh+H zIk0jU908!-F1QB)t`-77P6PEdI2c*P7#P9uH=h&}BNsad3kM4a4+kIah8oC9)Lvs0 zO9~gbu?Fflaz?SHvO#)|&5Tj(pn-@MhA0kjV~jJHL6iHIsAEc2VsdI;2}-;tu42U2 zJcGm$sC5NOcW5mog+!=Hpw@4q0w}>M<maVAn`+n^Q29lf>6v+nIq+Npj^~V21(*b) z!3Q!EVmmY=B1xs?7a@8wpge+No?}`GsEwJJlara3t^hGZLle{-1Q&&wdFeW!j#Wuw zW*(%KlUAC8>LQSlAp1e>F)aQ@*bS+_QEaDATds;<w@%Mi)xglm*u>P#+``fiYkwM) zX^TNAx`uH9Lki<UP>Y7KgsFtNhM}1$i=~DMR1`v6FU)>bO!_gJjNqbKll2x`QE^F8 zX2C5ESlkq8f>OH&hydjZSb^gO5&*YFz^NRZ-oXV9NYQanQU}*OOgxNLa#)idqJaUf zFrjr6D073dFDNGzF90{>QW#4ZYZ#juo0(h~VqI#PN}#1r4O0rE1j9m*s7@_-7-az~ zs39lLP{UZml)}==B*`Go0IIxd7_*s+RBBkl7#JA}RSNk^z++EYEX|C~j4lkZ7RY9T z%~L@)56PSos5vEtNhvJB44SNoJd6ws?x}g8p)yD(GPMZQ@dJ%az&iw>E^je3i@;KU zVorK~QD#X-E~uZ9lbD<eNtZdPi7DVDoRL_Rm|T)tR1B(WK#3A$2t3u5XO?7u@*PN1 zVu?axQK~{&Voqj?0;tX?t}HG|%~eQ-8=<3+R0>g)mtO)m1EK*mAeNY(ssJ*+SV03c z!jP0-lA#b#S(1^T2QH`!G7A(^Qqw>~KAHJ>#R~apa5JE~H4)k4C8$aBi?Qw&gP$hb zE!LvMy!6yt%sHufw>UFPQj1FR^K*)C$tLILCS~S<`%%U5AkV}Xr51ofAvZOz<QA`w ztD}pjpL@KshhtFiEtahO%skNGWO7dNEf$bNZ!u=x;!IA=OUX=0EJ?k^k(XK?4-!YK z|8DWer$eI#EM0sClr%xj6$UOLMixdE2DbkkOj3*-j9knRKGS~=CLu-+#wt}D$rjZ- zlvW66=z$y73RwqEy`WYIs5!ilF@~v@sg}8hVF3#$mAWv*Ce^ZlTPdK<2FpUGTGlGQ z5{3nAHLRdkNjO8E0SiM3dp1{54kJS?8zV!NPz_raM+rw3XEt+DOcQvFG=-s-t&S~% zA(Ej`CV~NM8W%`^Eh{5K;jBU#h)4-{7EcP}0$!w65NiqF0{#@{1-u~DAp2@qgBdhg z{EDnW`Pv3V*nvjJ1d0%~Fl%u^PG(6FIOj)#R0M;Xb*#DBDVasL*!_bceHYf$qN2R~ zTWqeb5uU*zMW8XyBGAA@krPM@xJeCaP!zd<jAsY;Y{0FTTP#KS`6Wf6AXVWY0$lSm zrB<NDXc4I5eF}<2(1;NOlMo{xBOfCZBOjvx6Az;Z6AvRBGq{z*BEVQBiz5yp)q^IZ zpC%X9`acNd08mMGiyPdX$_00#i@?4H*<a)iQUEUWzy!Dq1Q&mxf^rkcbv%%PDj^mo zK2|11E{P(LjHVK3JS?rWq_ikCKE4Q4@)gB`i~=<dZn1-!cA0tUx7hQG!OcoY;DbW% z78kTLn3I`Q1S;R7#0xSD^y14>^HTDQ^bnFpka2Peuq<pmTMs;*t(TiwoLmGdVQ)!c zlP;+&$jnPG0u{fv*q|IxiY@|mw2C-E&IC0gi$E#72;{w6oaw10KH%mkBox6B3+mB= z$G~r~<tJsOCYOK*wTi&~1kh*{xG_`&3Js)~1&1Oi0B>>F<bsC_?LehSF{oe2!^FV| igFH+;OgxM{Oe~BtOgzk7%q+}Ij9lCT;$WIjAPE3@D3db) diff --git a/.venv/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/typing.cpython-38.pyc b/.venv/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/typing.cpython-38.pyc deleted file mode 100644 index 29428f27935710d4c31b7433743b1d01fc49ab10..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1437 zcmWIL<>g{vU|=}A?@w|iD+9x05C<7EF)%PVFfcF_t1&Pzq%cG=q%cM?rZN^ur7)#1 z=P>0mM=>)p<Z-01q_DOyL@}qZ1v6-}Cpxh(Fu3IxDdeRlmgH0_Wabv+q~@mPm1O3n zD-@R`mSiR?lvEagc$s+$1(^kUTwDpcl?9av3c3m<8L3EWQWX;O5_2kxGm8~U^7C^P z%2O3ei&GVJL1ZylZ34uk1cluEl+v739fk6Y%;XHNf};Gg%#_q(h2;FARE4zCyyTM1 z{Jg}R%#unFFC`J=p2Qr5l6(b_&FaM<QLviKymUP-F89>D)S|?koJt)9xDDm`r8y}I zNvR+Y<rkHtrYIzqC=`|Em1O3E+?fJ$REk1oo<d1RVu?apVsS=hex8CZS7wPqVsc5b zLSnH(qC#H2Zhir}#+3ZjVuif?5`~P!GLTV~AY*mG=H{2B7G<O+rYIy;a;2meXQt=r zad9~oD`b`^l#~|b6)WVImLRz?6JkzTYF<iyQDRaKD6BF|KrSm*C{8U%EJ`d%RVdCc zElN%;R!GY);tHrN$;i)BFw%!IjP(>kGD?ee6iPBOL7|tDnv__as*s$R2X<g;ML}wE z3E1|0P*4;Ur52~=mFRJW<SUft7iB9X7Uh@brGRzofP+>cF()U#91>ZOxPpcsDD0C` z6_QdjGV@Xt5*6GMbBa@SE4lIuAW;R9FDObaOU(n@msXUY3ksGzP`W`2_>#(kRNdtK zTu`JIgWZ}0PADl{CHV?Psk!-Oso=ztmztUa@->(P(gaFYAa5ilC#Mz{XM(~jC9^0s z8I){ON{c{NK_gg?iz@^aB9LUJ08d|_^a^#kLV9Up5jX)PD&%D*r{+{D<R#{UY=kC- z;(SQbNaRW`Ey~O<Emp`)%*-oE%*;zI0=v2>H8D9uAtSXY73BFMP_%=hL63{e6P!_W zK!FL(9=g!LEK1Eu1f|8y+=Bd~l46D83|KM+I|r0XK`{-E1S>8s1qB5Ka8QEsU3_L< zNorAEVvb&ENoG#59@I#PQ3}410g>^}9<I*b@j;<}ex82r5bc?1Sfs4LCc{lfHAzoT zkBciPHO)#Pqokyu*h*hNJ+maEG)XTxKUcp1oC5Vh*-$^TxVSX6Sl`&l(2UFNC8#9Q zWW2?aoLF3v3@VC10w4@xGcqtRID?8N76t}}8pdD-O-8?!44O>0SV0jRe~Yy&F{d=O zh?#+b0Zja|(=W*_&@ad=&@Ig?NKDR7P0=mSNKMVrEziv^Dox2L2FdBegG3)3B>E7K z=oM5Jfh<)8SqNe<FoOAhnk={2<Kt8EljGxW31J4<EjEaLuwt+?kO(#g28LT4Hjor$ U2l7ub2Ll5Giwp}h3nL#30Fgb*>;M1& diff --git a/.venv/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/ui.cpython-38.pyc b/.venv/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/ui.cpython-38.pyc deleted file mode 100644 index b7bc6ed50b4e6181cfa8ef88331455ba0ec719ea..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11802 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 diff --git a/.venv/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/unpacking.cpython-38.pyc b/.venv/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/unpacking.cpython-38.pyc deleted file mode 100644 index 6c2d0f3166f7613b955fd358fee5d908e4a1606d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6075 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 SVCN9v5a8h9GT{hk_zM7jere<Y diff --git a/.venv/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/urls.cpython-38.pyc b/.venv/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/urls.cpython-38.pyc deleted file mode 100644 index 4b9b799b943086c6a569513ba2bead14c3b4c133..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1465 zcmWIL<>g{vU|=}A?@#hcRtAR0APzESVqjo!U|?V<&R}3*NMT4}%wdRv(2P-xDGVu0 zIZV0CQ7nugG3FemT-GQyFq<WZJ(nYjgOMSXqsS+PA%!)EGnXrhE0;TpJC`Slhmj$L zErq>>A&NJJBZaetA&M`BD}}p-A&NhRF_=M<=OxGuewvK8SPK%1ic>WiZ?PAp7M7+K zmuNEH67r1<h>UmkaCP>M4+{13^YnAqWWL4WUr>^npO=_(izOtrqU089XkKQ1UNR%d zBq#>4Sr`}?oIxH^0C|Y9h9R51h$n?1n4yMY0YeI73e!TS6lO_=1&j+Bf*CYf{C+W7 zy#(ni0uh=_w^)k{axzP9vF7BLrxs~4-eN8-%2~-!#LK|I@XJQOB)34nAhSTXG_N2r zIXg8)w>%>?HAlBRH@m1bC8ro9ryrl0SCU$kmzbkpT9TPltY2D`Q><4|d5bSSwIsf@ zC?~!+IU_YU6=Y&D8_4BM9E>cCMf?m53@E+<MGZ(E>>Dix28I%bEXD;)V3N6pVIku} z##)9FmIbUSj3sOf*uf%9wTv~O0A{Mn;8IXfP;k!AD@!dZQAkuMNG!=vD9KkyR7lIr zNwrc44f4@bPzcFLg~*g==Hw_Or7Gkmrlcw)CKc!Bl$N9_B<7_kWF(fQg3T%{%`Zt! zfhaFXEGjA10}KCR1skZzaf>Ox_!bMuo?9Gw`9-;47JFh+F_^(qT9lKMnG_F>?_2Dp zMLAjdnR&PPpu*7Dzr_PmoR^rJYE)X3qsdex#K6E%!~-Hg;RTL{B0dHNhFjbqh4Cf% zpb!-S#WyIZ7}!J@g&2z@(Ss6{C|F?$BaeXrniv)`7K@cIrZCkoh%q!XHZhhkEdU2> z3~Mc8EmJLXEn_WX4O5X>4O0qpHdB#J3QH|ho<a#r7HbM?Hd9eR3R?}6I72N{9#08d z3On2s_5~a@Of}5n3=0`+nQNGX88kVnG{9knhz@X=fg%ACCm_#2g0o0~fq|jQBr?BL zAvrNmAwMstQlX@@C=VKKpv0t*nOBkz=7R#NSV1E%zeGW`Nb?qFPJVJ?PDXxl$t{Lk ztmT<`#zs|4F)>wEdHH#|U^%cZh0q|+Vui$_R0WX6;?jbG{31}y=I1GtWMmdA6yzk9 zq~#aoT7eAZyv0>q0*dYO%#w^-e2&G%sYRfC=vq{iUsNOtiV6;pqrka_xwx|U76(lK zEv~S{oYGW?N^y`%P$Dn_`4!}FO%`y(-eQcu#g>;^l9QhdiEZ?V24$I&{CJQyc~C^l zf$|J14<p-u7G@D99ws(ME+#G}CPpSkrvFU;Sy=fPi_{nx7&HZn1VQNrR1QSR6l50Y z#h0b#rQ{ds6=zoH<>r^A7VAM0UlAy$fxS}14AKF1suWlUEGz4Qv$9@EWkF_MdJ!l& z-C~1sK<TOol=zC+L7G9?7@PpXj({XsG#_!;<mRW8=A_zzikxCl3g=+tVB%rqVd7z8 MVH9EJVCUcl0Qwtz1ONa4 diff --git a/.venv/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/virtualenv.cpython-38.pyc b/.venv/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/virtualenv.cpython-38.pyc deleted file mode 100644 index 123c093bc4525107a93a1b74dd6254d73aba8a15..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3280 zcmWIL<>g{vU|=}A?@zJ|F9XA45C<7EGcYhXFfcF_FJWL{NMT4}%wfo7jACR2v6*t1 zqL@+`QkZg>qnN=oOB4&3W{qM6(`->}DGVvhIqbO{Q5=j6sT@TiDGVtrIh?s%QCzv) zQQV9SsZ0xaQh66LM)9SxEZ|RJUC0<EkiwS2-og+in8K05*}@Pdl){z5-NFzhoWhgB z+rkhflERn5-@*_jnj(-Q*uoGcmLilQ+`<qgp28H&pegba<bF-YTl|Sh#rZj<C8_b5 zxdr(}C4QQWw}gBn10v&{JzSl=<AXx|{5<{KHJNU)_+%EB+~V*rD9OyvOU$XV$jnR5 zDNRY$Ev_ssNzK(Q&MZmQEl5nxPE1cNjw#l%jVadBun({)OUx-vwJRwqO|3~w%qdRQ zOa@tvj9D2N7@R@DC&IwMP{NSKSi)4okirOJH8W>32Qz3gRpmKnq$Xz<D`ciA6jv7O zB_$T8#upT&re#(rB<7`n#h~2W#FFF;JuWT<1qFqWjLc$%jKsW@oYZ240M`Ho69ZF) z<ow)%oXo_$5{0tNqLR|Y9EH@pvdp6Vyxi2hl43ou##`J-HfS>6VlJ*MzQqQy;TC&( zYDr>ANzqD%B2c;j6Th7FOL7bJ3o;9IOY=aXkeZ@fo{^fGqg$SvT~wNqQw);RkI&32 zNiE7t%+W6`$;>I%hq@p&uS~C?@|JLXQE6UYW?p)HX<kZdQG8iyUKuD%ikU#c#a6__ zz`%eJdZ5Gy4n2@tN*GEQQy7~;QOs18iyCG{sfjtTFv~1fC{8WG7D`YTp@fM-a#3nx zNotBhd1gt5LP2FgqIxkb@IX$71{snCnoPIYGZKqIp;W}qz<?A`;Ls}KW?*2rrHJO; zqSW-#oW!Dds1s82%49*Q0_=JAB7SV1XM`mkP|%bxG&2-%l`u9l1T$zdR=EeImXsFd zDTEZ2rh?K<d8&F*szMPYgcUOLiZfGE6%vvBp`+jiN}vk)B^jwj<(b8)khGx51P*wx z10b#kg*1c(_J;)2OjxWzQdMeRnL6D0EJXt7&Ifr5WDq#+qM#{%0aFQc7E21_LZ(`V zD!mfc8ir=ZewkXv8pZ`|3mF!$FJuU3U}7+32xJIiSj-U45DaETFoZMYiLo%0aAb28 zg)lOJU?c-5qep;AP3EfBpwz^aVufl@=7A*RTK$4bPy*9SPD=;pp(1c_6)R+x6e}d> z=aqnRgF<4lLQZCJi9&vwLQZC0YB3~VK|;1z!7o2ARR<KdnI#Iz`K3823VHb@3Pq`j zDf)@Y$*IM~3MCn-3Tc@+(4eg1LfGl2$$5(@zxWnQL1Ib9EtahO%sfa^;Q*x#mi&U$ zyjv_Fqi%5(7vyA?fUUp9?&<GZRFq$&$#jb!Vpe=|T6#Rlid&3nkVpZADkO!8#;2#2 z#3QK#8=?n_7Epp=U=v_uV&q~}VdP^hl0uIlP{v|`rLO>R1T{0%GSo1nFlKWU$&@fI zU`k<H2rA{7gBfZVTo_`tY8gwI7qHYYE@Z4_s$oiD%;qdos9{>bn!>V>F@-gosYrp5 zA%!`Zp->@(Eto-*Ju!-rfdQOL6%uenO@cyNei5jAD@n~&Kq+Gtzy)w|W_}(dQefp< zaY1TwW?E({DDV?Y6v{JF^RVkrEJ_8(S8-`UL4I*+ib6@gLQ*O?GnZu+XC~#ODx?+V z=OXe5a-pE3kN^o+Q2I$w$So}fC4sz>#LPTMr03`4<d<jWrGw1_g}W8RnV@nR>~b7c zhk~sFxSoKhc1%ghgj6^=l{yMJ`RNLY3gwAKph6Oq?jWfwGcO%tXC}zWiJ3XjQrxeq z&l#R7Axah05w2EONJ%X&$SgrB1(1EHkdz8CI5D{-vn*9l!LhiwG#4b0o|B)Hn1db{ z#o(ZXSON|@a5!WZBb%rfa*GvQ9o}LEd(lmktq7FtZn5R$r>CbD-C~D&?Ur)9r=PP= zsEccSaAa_Zt8aX;XNYTjfTOdwqq}Qxe2}ZVYs4*9a8-AUHN7amv_O;j7AGhtfI_<X z77K_fQa~+v!G)D*d|rM$#0#+UDmAan29zblK(!1H8zToZ3nSBi7FHG}4n{6UF-8u? zA{F$^0V=)V^|k>xb7V0tU;@?I3z$n-vRD^_G6A?YU%&>+G7Fh%!8Q5<c2M>J*Xc(g zDL*q!K`Ad^7vd(=W`tfzMTwF^YDH#oNwGpwD!9Z3<pI5dN=WhmSMa%+pc0`NlsYn# z6*BX{H55|S3eG_(sU@jJxtZXEQ=X9uD&nEJ0-QiWrovk<3ZR?;%L3qdOjUqZN+{6@ z)>$Qu$MKpRMS`G65CWBH>?xT=d5O8Hx7ZVtiXo*Q$l6;R@!;|+KE6m8q>K&XUrnZ4 zJRs@#-29aIl+2=AGKh!+i-TGjptcrRGkVFVj1kS4wJWI7DF&B=>|%^;j7$tn|5=!e zbkL(3lq%r$tPD7+n;D9DAoXksQ!_)6L<uvf&P`ziN2@Qac1To6%FoY9P0Z5)6+++; zht`y!NCMS8kOoCwJ~Sp!^Ax1^b<<>l)Vv^fK`LTUVnp&UqPQ1<Mp9~C8N&M+prj2_ z!@$bM$i@W1MY;?O44M+RxZ>l}N=r(MQsd)`KneO5J18G!=B0xp?G{r}Y7wXk2UknC zqzW<%^x*9`J#hO?ucWd7q#RUL++u@rKy^kDC~w^2OiwNGf#htC_;^s%$Hy0e+BCP= zL5<MNoYW$DQ0f510mPG_Rsy(40OvSxT!0;m)w>)vx%nxjIjMG_*eO<HU|`^3;$VbA cCLSghMgb-+Mo3=f;N;-qVCUfDkmKM306UbHSpWb4 diff --git a/.venv/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/wheel.cpython-38.pyc b/.venv/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/wheel.cpython-38.pyc deleted file mode 100644 index ac6d7588b89ea3b5381e001752a56440cc7759a2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6325 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 Pl|z(6jf00nghLPjy91Go diff --git a/.venv/lib/python3.8/site-packages/pip/_internal/utils/appdirs.py b/.venv/lib/python3.8/site-packages/pip/_internal/utils/appdirs.py deleted file mode 100644 index 93d17b5..0000000 --- a/.venv/lib/python3.8/site-packages/pip/_internal/utils/appdirs.py +++ /dev/null @@ -1,44 +0,0 @@ -""" -This code wraps the vendored appdirs module to so the return values are -compatible for the current pip code base. - -The intention is to rewrite current usages gradually, keeping the tests pass, -and eventually drop this after all usages are changed. -""" - -from __future__ import absolute_import - -import os - -from pip._vendor import appdirs as _appdirs - -from pip._internal.utils.typing import MYPY_CHECK_RUNNING - -if MYPY_CHECK_RUNNING: - from typing import List - - -def user_cache_dir(appname): - # type: (str) -> str - return _appdirs.user_cache_dir(appname, appauthor=False) - - -def user_config_dir(appname, roaming=True): - # type: (str, bool) -> str - return _appdirs.user_config_dir(appname, appauthor=False, roaming=roaming) - - -def user_data_dir(appname, roaming=False): - # type: (str, bool) -> str - return _appdirs.user_data_dir(appname, appauthor=False, roaming=roaming) - - -# for the discussion regarding site_config_dir locations -# see <https://github.com/pypa/pip/issues/1733> -def site_config_dirs(appname): - # type: (str) -> List[str] - dirval = _appdirs.site_config_dir(appname, appauthor=False, multipath=True) - if _appdirs.system not in ["win32", "darwin"]: - # always look in /etc directly as well - return dirval.split(os.pathsep) + ['/etc'] - return [dirval] diff --git a/.venv/lib/python3.8/site-packages/pip/_internal/utils/compat.py b/.venv/lib/python3.8/site-packages/pip/_internal/utils/compat.py deleted file mode 100644 index 6efa52a..0000000 --- a/.venv/lib/python3.8/site-packages/pip/_internal/utils/compat.py +++ /dev/null @@ -1,269 +0,0 @@ -"""Stuff that differs in different Python versions and platform -distributions.""" - -# The following comment should be removed at some point in the future. -# mypy: disallow-untyped-defs=False - -from __future__ import absolute_import, division - -import codecs -import locale -import logging -import os -import shutil -import sys - -from pip._vendor.six import PY2, text_type - -from pip._internal.utils.typing import MYPY_CHECK_RUNNING - -if MYPY_CHECK_RUNNING: - from typing import Optional, Text, Tuple, Union - -try: - import ipaddress -except ImportError: - try: - from pip._vendor import ipaddress # type: ignore - except ImportError: - import ipaddr as ipaddress # type: ignore - ipaddress.ip_address = ipaddress.IPAddress # type: ignore - ipaddress.ip_network = ipaddress.IPNetwork # type: ignore - - -__all__ = [ - "ipaddress", "uses_pycache", "console_to_str", - "get_path_uid", "stdlib_pkgs", "WINDOWS", "samefile", "get_terminal_size", -] - - -logger = logging.getLogger(__name__) - -if PY2: - import imp - - try: - cache_from_source = imp.cache_from_source # type: ignore - except AttributeError: - # does not use __pycache__ - cache_from_source = None - - uses_pycache = cache_from_source is not None -else: - uses_pycache = True - from importlib.util import cache_from_source - - -if PY2: - # In Python 2.7, backslashreplace exists - # but does not support use for decoding. - # We implement our own replace handler for this - # situation, so that we can consistently use - # backslash replacement for all versions. - def backslashreplace_decode_fn(err): - raw_bytes = (err.object[i] for i in range(err.start, err.end)) - # Python 2 gave us characters - convert to numeric bytes - raw_bytes = (ord(b) for b in raw_bytes) - return u"".join(u"\\x%x" % c for c in raw_bytes), err.end - codecs.register_error( - "backslashreplace_decode", - backslashreplace_decode_fn, - ) - backslashreplace_decode = "backslashreplace_decode" -else: - backslashreplace_decode = "backslashreplace" - - -def has_tls(): - # type: () -> bool - try: - import _ssl # noqa: F401 # ignore unused - return True - except ImportError: - pass - - from pip._vendor.urllib3.util import IS_PYOPENSSL - return IS_PYOPENSSL - - -def str_to_display(data, desc=None): - # type: (Union[bytes, Text], Optional[str]) -> Text - """ - For display or logging purposes, convert a bytes object (or text) to - text (e.g. unicode in Python 2) safe for output. - - :param desc: An optional phrase describing the input data, for use in - the log message if a warning is logged. Defaults to "Bytes object". - - This function should never error out and so can take a best effort - approach. It is okay to be lossy if needed since the return value is - just for display. - - We assume the data is in the locale preferred encoding. If it won't - decode properly, we warn the user but decode as best we can. - - We also ensure that the output can be safely written to standard output - without encoding errors. - """ - if isinstance(data, text_type): - return data - - # Otherwise, data is a bytes object (str in Python 2). - # First, get the encoding we assume. This is the preferred - # encoding for the locale, unless that is not found, or - # it is ASCII, in which case assume UTF-8 - encoding = locale.getpreferredencoding() - if (not encoding) or codecs.lookup(encoding).name == "ascii": - encoding = "utf-8" - - # Now try to decode the data - if we fail, warn the user and - # decode with replacement. - try: - decoded_data = data.decode(encoding) - except UnicodeDecodeError: - if desc is None: - desc = 'Bytes object' - msg_format = '{} does not appear to be encoded as %s'.format(desc) - logger.warning(msg_format, encoding) - decoded_data = data.decode(encoding, errors=backslashreplace_decode) - - # Make sure we can print the output, by encoding it to the output - # encoding with replacement of unencodable characters, and then - # decoding again. - # We use stderr's encoding because it's less likely to be - # redirected and if we don't find an encoding we skip this - # step (on the assumption that output is wrapped by something - # that won't fail). - # The double getattr is to deal with the possibility that we're - # being called in a situation where sys.__stderr__ doesn't exist, - # or doesn't have an encoding attribute. Neither of these cases - # should occur in normal pip use, but there's no harm in checking - # in case people use pip in (unsupported) unusual situations. - output_encoding = getattr(getattr(sys, "__stderr__", None), - "encoding", None) - - if output_encoding: - output_encoded = decoded_data.encode( - output_encoding, - errors="backslashreplace" - ) - decoded_data = output_encoded.decode(output_encoding) - - return decoded_data - - -def console_to_str(data): - # type: (bytes) -> Text - """Return a string, safe for output, of subprocess output. - """ - return str_to_display(data, desc='Subprocess output') - - -def get_path_uid(path): - # type: (str) -> int - """ - Return path's uid. - - Does not follow symlinks: - https://github.com/pypa/pip/pull/935#discussion_r5307003 - - Placed this function in compat due to differences on AIX and - Jython, that should eventually go away. - - :raises OSError: When path is a symlink or can't be read. - """ - if hasattr(os, 'O_NOFOLLOW'): - fd = os.open(path, os.O_RDONLY | os.O_NOFOLLOW) - file_uid = os.fstat(fd).st_uid - os.close(fd) - else: # AIX and Jython - # WARNING: time of check vulnerability, but best we can do w/o NOFOLLOW - if not os.path.islink(path): - # older versions of Jython don't have `os.fstat` - file_uid = os.stat(path).st_uid - else: - # raise OSError for parity with os.O_NOFOLLOW above - raise OSError( - "%s is a symlink; Will not return uid for symlinks" % path - ) - return file_uid - - -def expanduser(path): - # type: (str) -> str - """ - Expand ~ and ~user constructions. - - Includes a workaround for https://bugs.python.org/issue14768 - """ - expanded = os.path.expanduser(path) - if path.startswith('~/') and expanded.startswith('//'): - expanded = expanded[1:] - return expanded - - -# packages in the stdlib that may have installation metadata, but should not be -# considered 'installed'. this theoretically could be determined based on -# dist.location (py27:`sysconfig.get_paths()['stdlib']`, -# py26:sysconfig.get_config_vars('LIBDEST')), but fear platform variation may -# make this ineffective, so hard-coding -stdlib_pkgs = {"python", "wsgiref", "argparse"} - - -# windows detection, covers cpython and ironpython -WINDOWS = (sys.platform.startswith("win") or - (sys.platform == 'cli' and os.name == 'nt')) - - -def samefile(file1, file2): - # type: (str, str) -> bool - """Provide an alternative for os.path.samefile on Windows/Python2""" - if hasattr(os.path, 'samefile'): - return os.path.samefile(file1, file2) - else: - path1 = os.path.normcase(os.path.abspath(file1)) - path2 = os.path.normcase(os.path.abspath(file2)) - return path1 == path2 - - -if hasattr(shutil, 'get_terminal_size'): - def get_terminal_size(): - # type: () -> Tuple[int, int] - """ - Returns a tuple (x, y) representing the width(x) and the height(y) - in characters of the terminal window. - """ - return tuple(shutil.get_terminal_size()) # type: ignore -else: - def get_terminal_size(): - # type: () -> Tuple[int, int] - """ - Returns a tuple (x, y) representing the width(x) and the height(y) - in characters of the terminal window. - """ - def ioctl_GWINSZ(fd): - try: - import fcntl - import termios - import struct - cr = struct.unpack_from( - 'hh', - fcntl.ioctl(fd, termios.TIOCGWINSZ, '12345678') - ) - except Exception: - return None - if cr == (0, 0): - return None - return cr - cr = ioctl_GWINSZ(0) or ioctl_GWINSZ(1) or ioctl_GWINSZ(2) - if not cr: - if sys.platform != "win32": - try: - fd = os.open(os.ctermid(), os.O_RDONLY) - cr = ioctl_GWINSZ(fd) - os.close(fd) - except Exception: - pass - if not cr: - cr = (os.environ.get('LINES', 25), os.environ.get('COLUMNS', 80)) - return int(cr[1]), int(cr[0]) diff --git a/.venv/lib/python3.8/site-packages/pip/_internal/utils/deprecation.py b/.venv/lib/python3.8/site-packages/pip/_internal/utils/deprecation.py deleted file mode 100644 index 2f20cfd..0000000 --- a/.venv/lib/python3.8/site-packages/pip/_internal/utils/deprecation.py +++ /dev/null @@ -1,104 +0,0 @@ -""" -A module that implements tooling to enable easy warnings about deprecations. -""" - -# The following comment should be removed at some point in the future. -# mypy: disallow-untyped-defs=False - -from __future__ import absolute_import - -import logging -import warnings - -from pip._vendor.packaging.version import parse - -from pip import __version__ as current_version -from pip._internal.utils.typing import MYPY_CHECK_RUNNING - -if MYPY_CHECK_RUNNING: - from typing import Any, Optional - - -DEPRECATION_MSG_PREFIX = "DEPRECATION: " - - -class PipDeprecationWarning(Warning): - pass - - -_original_showwarning = None # type: Any - - -# Warnings <-> Logging Integration -def _showwarning(message, category, filename, lineno, file=None, line=None): - if file is not None: - if _original_showwarning is not None: - _original_showwarning( - message, category, filename, lineno, file, line, - ) - elif issubclass(category, PipDeprecationWarning): - # We use a specially named logger which will handle all of the - # deprecation messages for pip. - logger = logging.getLogger("pip._internal.deprecations") - logger.warning(message) - else: - _original_showwarning( - message, category, filename, lineno, file, line, - ) - - -def install_warning_logger(): - # type: () -> None - # Enable our Deprecation Warnings - warnings.simplefilter("default", PipDeprecationWarning, append=True) - - global _original_showwarning - - if _original_showwarning is None: - _original_showwarning = warnings.showwarning - warnings.showwarning = _showwarning - - -def deprecated(reason, replacement, gone_in, issue=None): - # type: (str, Optional[str], Optional[str], Optional[int]) -> None - """Helper to deprecate existing functionality. - - reason: - Textual reason shown to the user about why this functionality has - been deprecated. - replacement: - Textual suggestion shown to the user about what alternative - functionality they can use. - gone_in: - The version of pip does this functionality should get removed in. - Raises errors if pip's current version is greater than or equal to - this. - issue: - Issue number on the tracker that would serve as a useful place for - users to find related discussion and provide feedback. - - Always pass replacement, gone_in and issue as keyword arguments for clarity - at the call site. - """ - - # Construct a nice message. - # This is eagerly formatted as we want it to get logged as if someone - # typed this entire message out. - sentences = [ - (reason, DEPRECATION_MSG_PREFIX + "{}"), - (gone_in, "pip {} will remove support for this functionality."), - (replacement, "A possible replacement is {}."), - (issue, ( - "You can find discussion regarding this at " - "https://github.com/pypa/pip/issues/{}." - )), - ] - message = " ".join( - template.format(val) for val, template in sentences if val is not None - ) - - # Raise as an error if it has to be removed. - if gone_in is not None and parse(current_version) >= parse(gone_in): - raise PipDeprecationWarning(message) - - warnings.warn(message, category=PipDeprecationWarning, stacklevel=2) diff --git a/.venv/lib/python3.8/site-packages/pip/_internal/utils/distutils_args.py b/.venv/lib/python3.8/site-packages/pip/_internal/utils/distutils_args.py deleted file mode 100644 index e38e402..0000000 --- a/.venv/lib/python3.8/site-packages/pip/_internal/utils/distutils_args.py +++ /dev/null @@ -1,48 +0,0 @@ -from distutils.errors import DistutilsArgError -from distutils.fancy_getopt import FancyGetopt - -from pip._internal.utils.typing import MYPY_CHECK_RUNNING - -if MYPY_CHECK_RUNNING: - from typing import Dict, List - - -_options = [ - ("exec-prefix=", None, ""), - ("home=", None, ""), - ("install-base=", None, ""), - ("install-data=", None, ""), - ("install-headers=", None, ""), - ("install-lib=", None, ""), - ("install-platlib=", None, ""), - ("install-purelib=", None, ""), - ("install-scripts=", None, ""), - ("prefix=", None, ""), - ("root=", None, ""), - ("user", None, ""), -] - - -# typeshed doesn't permit Tuple[str, None, str], see python/typeshed#3469. -_distutils_getopt = FancyGetopt(_options) # type: ignore - - -def parse_distutils_args(args): - # type: (List[str]) -> Dict[str, str] - """Parse provided arguments, returning an object that has the - matched arguments. - - Any unknown arguments are ignored. - """ - result = {} - for arg in args: - try: - _, match = _distutils_getopt.getopt(args=[arg]) - except DistutilsArgError: - # We don't care about any other options, which here may be - # considered unrecognized since our option list is not - # exhaustive. - pass - else: - result.update(match.__dict__) - return result diff --git a/.venv/lib/python3.8/site-packages/pip/_internal/utils/encoding.py b/.venv/lib/python3.8/site-packages/pip/_internal/utils/encoding.py deleted file mode 100644 index ab4d4b9..0000000 --- a/.venv/lib/python3.8/site-packages/pip/_internal/utils/encoding.py +++ /dev/null @@ -1,42 +0,0 @@ -# The following comment should be removed at some point in the future. -# mypy: strict-optional=False - -import codecs -import locale -import re -import sys - -from pip._internal.utils.typing import MYPY_CHECK_RUNNING - -if MYPY_CHECK_RUNNING: - from typing import List, Tuple, Text - -BOMS = [ - (codecs.BOM_UTF8, 'utf-8'), - (codecs.BOM_UTF16, 'utf-16'), - (codecs.BOM_UTF16_BE, 'utf-16-be'), - (codecs.BOM_UTF16_LE, 'utf-16-le'), - (codecs.BOM_UTF32, 'utf-32'), - (codecs.BOM_UTF32_BE, 'utf-32-be'), - (codecs.BOM_UTF32_LE, 'utf-32-le'), -] # type: List[Tuple[bytes, Text]] - -ENCODING_RE = re.compile(br'coding[:=]\s*([-\w.]+)') - - -def auto_decode(data): - # type: (bytes) -> Text - """Check a bytes string for a BOM to correctly detect the encoding - - Fallback to locale.getpreferredencoding(False) like open() on Python3""" - for bom, encoding in BOMS: - if data.startswith(bom): - return data[len(bom):].decode(encoding) - # Lets check the first two lines as in PEP263 - for line in data.split(b'\n')[:2]: - if line[0:1] == b'#' and ENCODING_RE.search(line): - encoding = ENCODING_RE.search(line).groups()[0].decode('ascii') - return data.decode(encoding) - return data.decode( - locale.getpreferredencoding(False) or sys.getdefaultencoding(), - ) diff --git a/.venv/lib/python3.8/site-packages/pip/_internal/utils/entrypoints.py b/.venv/lib/python3.8/site-packages/pip/_internal/utils/entrypoints.py deleted file mode 100644 index befd01c..0000000 --- a/.venv/lib/python3.8/site-packages/pip/_internal/utils/entrypoints.py +++ /dev/null @@ -1,31 +0,0 @@ -import sys - -from pip._internal.cli.main import main -from pip._internal.utils.typing import MYPY_CHECK_RUNNING - -if MYPY_CHECK_RUNNING: - from typing import Optional, List - - -def _wrapper(args=None): - # type: (Optional[List[str]]) -> int - """Central wrapper for all old entrypoints. - - Historically pip has had several entrypoints defined. Because of issues - arising from PATH, sys.path, multiple Pythons, their interactions, and most - of them having a pip installed, users suffer every time an entrypoint gets - moved. - - To alleviate this pain, and provide a mechanism for warning users and - directing them to an appropriate place for help, we now define all of - our old entrypoints as wrappers for the current one. - """ - sys.stderr.write( - "WARNING: pip is being invoked by an old script wrapper. This will " - "fail in a future version of pip.\n" - "Please see https://github.com/pypa/pip/issues/5599 for advice on " - "fixing the underlying issue.\n" - "To avoid this problem you can invoke Python with '-m pip' instead of " - "running pip directly.\n" - ) - return main(args) diff --git a/.venv/lib/python3.8/site-packages/pip/_internal/utils/filesystem.py b/.venv/lib/python3.8/site-packages/pip/_internal/utils/filesystem.py deleted file mode 100644 index 6f1537e..0000000 --- a/.venv/lib/python3.8/site-packages/pip/_internal/utils/filesystem.py +++ /dev/null @@ -1,171 +0,0 @@ -import errno -import os -import os.path -import random -import shutil -import stat -import sys -from contextlib import contextmanager -from tempfile import NamedTemporaryFile - -# NOTE: retrying is not annotated in typeshed as on 2017-07-17, which is -# why we ignore the type on this import. -from pip._vendor.retrying import retry # type: ignore -from pip._vendor.six import PY2 - -from pip._internal.utils.compat import get_path_uid -from pip._internal.utils.typing import MYPY_CHECK_RUNNING, cast - -if MYPY_CHECK_RUNNING: - from typing import BinaryIO, Iterator - - class NamedTemporaryFileResult(BinaryIO): - @property - def file(self): - # type: () -> BinaryIO - pass - - -def check_path_owner(path): - # type: (str) -> bool - # If we don't have a way to check the effective uid of this process, then - # we'll just assume that we own the directory. - if sys.platform == "win32" or not hasattr(os, "geteuid"): - return True - - assert os.path.isabs(path) - - previous = None - while path != previous: - if os.path.lexists(path): - # Check if path is writable by current user. - if os.geteuid() == 0: - # Special handling for root user in order to handle properly - # cases where users use sudo without -H flag. - try: - path_uid = get_path_uid(path) - except OSError: - return False - return path_uid == 0 - else: - return os.access(path, os.W_OK) - else: - previous, path = path, os.path.dirname(path) - return False # assume we don't own the path - - -def copy2_fixed(src, dest): - # type: (str, str) -> None - """Wrap shutil.copy2() but map errors copying socket files to - SpecialFileError as expected. - - See also https://bugs.python.org/issue37700. - """ - try: - shutil.copy2(src, dest) - except (OSError, IOError): - for f in [src, dest]: - try: - is_socket_file = is_socket(f) - except OSError: - # An error has already occurred. Another error here is not - # a problem and we can ignore it. - pass - else: - if is_socket_file: - raise shutil.SpecialFileError("`%s` is a socket" % f) - - raise - - -def is_socket(path): - # type: (str) -> bool - return stat.S_ISSOCK(os.lstat(path).st_mode) - - -@contextmanager -def adjacent_tmp_file(path): - # type: (str) -> Iterator[NamedTemporaryFileResult] - """Given a path to a file, open a temp file next to it securely and ensure - it is written to disk after the context reaches its end. - """ - with NamedTemporaryFile( - delete=False, - dir=os.path.dirname(path), - prefix=os.path.basename(path), - suffix='.tmp', - ) as f: - result = cast('NamedTemporaryFileResult', f) - try: - yield result - finally: - result.file.flush() - os.fsync(result.file.fileno()) - - -_replace_retry = retry(stop_max_delay=1000, wait_fixed=250) - -if PY2: - @_replace_retry - def replace(src, dest): - # type: (str, str) -> None - try: - os.rename(src, dest) - except OSError: - os.remove(dest) - os.rename(src, dest) - -else: - replace = _replace_retry(os.replace) - - -# test_writable_dir and _test_writable_dir_win are copied from Flit, -# with the author's agreement to also place them under pip's license. -def test_writable_dir(path): - # type: (str) -> bool - """Check if a directory is writable. - - Uses os.access() on POSIX, tries creating files on Windows. - """ - # If the directory doesn't exist, find the closest parent that does. - while not os.path.isdir(path): - parent = os.path.dirname(path) - if parent == path: - break # Should never get here, but infinite loops are bad - path = parent - - if os.name == 'posix': - return os.access(path, os.W_OK) - - return _test_writable_dir_win(path) - - -def _test_writable_dir_win(path): - # type: (str) -> bool - # os.access doesn't work on Windows: http://bugs.python.org/issue2528 - # and we can't use tempfile: http://bugs.python.org/issue22107 - basename = 'accesstest_deleteme_fishfingers_custard_' - alphabet = 'abcdefghijklmnopqrstuvwxyz0123456789' - for i in range(10): - name = basename + ''.join(random.choice(alphabet) for _ in range(6)) - file = os.path.join(path, name) - try: - fd = os.open(file, os.O_RDWR | os.O_CREAT | os.O_EXCL) - except OSError as e: - if e.errno == errno.EEXIST: - continue - if e.errno == errno.EPERM: - # This could be because there's a directory with the same name. - # But it's highly unlikely there's a directory called that, - # so we'll assume it's because the parent dir is not writable. - return False - raise - else: - os.close(fd) - os.unlink(file) - return True - - # This should never be reached - raise EnvironmentError( - 'Unexpected condition testing for writable directory' - ) diff --git a/.venv/lib/python3.8/site-packages/pip/_internal/utils/filetypes.py b/.venv/lib/python3.8/site-packages/pip/_internal/utils/filetypes.py deleted file mode 100644 index daa0ca7..0000000 --- a/.venv/lib/python3.8/site-packages/pip/_internal/utils/filetypes.py +++ /dev/null @@ -1,16 +0,0 @@ -"""Filetype information. -""" -from pip._internal.utils.typing import MYPY_CHECK_RUNNING - -if MYPY_CHECK_RUNNING: - from typing import Tuple - -WHEEL_EXTENSION = '.whl' -BZ2_EXTENSIONS = ('.tar.bz2', '.tbz') # type: Tuple[str, ...] -XZ_EXTENSIONS = ('.tar.xz', '.txz', '.tlz', - '.tar.lz', '.tar.lzma') # type: Tuple[str, ...] -ZIP_EXTENSIONS = ('.zip', WHEEL_EXTENSION) # type: Tuple[str, ...] -TAR_EXTENSIONS = ('.tar.gz', '.tgz', '.tar') # type: Tuple[str, ...] -ARCHIVE_EXTENSIONS = ( - ZIP_EXTENSIONS + BZ2_EXTENSIONS + TAR_EXTENSIONS + XZ_EXTENSIONS -) diff --git a/.venv/lib/python3.8/site-packages/pip/_internal/utils/glibc.py b/.venv/lib/python3.8/site-packages/pip/_internal/utils/glibc.py deleted file mode 100644 index 3610424..0000000 --- a/.venv/lib/python3.8/site-packages/pip/_internal/utils/glibc.py +++ /dev/null @@ -1,98 +0,0 @@ -# The following comment should be removed at some point in the future. -# mypy: strict-optional=False - -from __future__ import absolute_import - -import os -import sys - -from pip._internal.utils.typing import MYPY_CHECK_RUNNING - -if MYPY_CHECK_RUNNING: - from typing import Optional, Tuple - - -def glibc_version_string(): - # type: () -> Optional[str] - "Returns glibc version string, or None if not using glibc." - return glibc_version_string_confstr() or glibc_version_string_ctypes() - - -def glibc_version_string_confstr(): - # type: () -> Optional[str] - "Primary implementation of glibc_version_string using os.confstr." - # os.confstr is quite a bit faster than ctypes.DLL. It's also less likely - # to be broken or missing. This strategy is used in the standard library - # platform module: - # https://github.com/python/cpython/blob/fcf1d003bf4f0100c9d0921ff3d70e1127ca1b71/Lib/platform.py#L175-L183 - if sys.platform == "win32": - return None - try: - # os.confstr("CS_GNU_LIBC_VERSION") returns a string like "glibc 2.17": - _, version = os.confstr("CS_GNU_LIBC_VERSION").split() - except (AttributeError, OSError, ValueError): - # os.confstr() or CS_GNU_LIBC_VERSION not available (or a bad value)... - return None - return version - - -def glibc_version_string_ctypes(): - # type: () -> Optional[str] - "Fallback implementation of glibc_version_string using ctypes." - - try: - import ctypes - except ImportError: - return None - - # ctypes.CDLL(None) internally calls dlopen(NULL), and as the dlopen - # manpage says, "If filename is NULL, then the returned handle is for the - # main program". This way we can let the linker do the work to figure out - # which libc our process is actually using. - process_namespace = ctypes.CDLL(None) - try: - gnu_get_libc_version = process_namespace.gnu_get_libc_version - except AttributeError: - # Symbol doesn't exist -> therefore, we are not linked to - # glibc. - return None - - # Call gnu_get_libc_version, which returns a string like "2.5" - gnu_get_libc_version.restype = ctypes.c_char_p - version_str = gnu_get_libc_version() - # py2 / py3 compatibility: - if not isinstance(version_str, str): - version_str = version_str.decode("ascii") - - return version_str - - -# platform.libc_ver regularly returns completely nonsensical glibc -# versions. E.g. on my computer, platform says: -# -# ~$ python2.7 -c 'import platform; print(platform.libc_ver())' -# ('glibc', '2.7') -# ~$ python3.5 -c 'import platform; print(platform.libc_ver())' -# ('glibc', '2.9') -# -# But the truth is: -# -# ~$ ldd --version -# ldd (Debian GLIBC 2.22-11) 2.22 -# -# This is unfortunate, because it means that the linehaul data on libc -# versions that was generated by pip 8.1.2 and earlier is useless and -# misleading. Solution: instead of using platform, use our code that actually -# works. -def libc_ver(): - # type: () -> Tuple[str, str] - """Try to determine the glibc version - - Returns a tuple of strings (lib, version) which default to empty strings - in case the lookup fails. - """ - glibc_version = glibc_version_string() - if glibc_version is None: - return ("", "") - else: - return ("glibc", glibc_version) diff --git a/.venv/lib/python3.8/site-packages/pip/_internal/utils/hashes.py b/.venv/lib/python3.8/site-packages/pip/_internal/utils/hashes.py deleted file mode 100644 index 4c41551..0000000 --- a/.venv/lib/python3.8/site-packages/pip/_internal/utils/hashes.py +++ /dev/null @@ -1,131 +0,0 @@ -from __future__ import absolute_import - -import hashlib - -from pip._vendor.six import iteritems, iterkeys, itervalues - -from pip._internal.exceptions import ( - HashMismatch, - HashMissing, - InstallationError, -) -from pip._internal.utils.misc import read_chunks -from pip._internal.utils.typing import MYPY_CHECK_RUNNING - -if MYPY_CHECK_RUNNING: - from typing import ( - Dict, List, BinaryIO, NoReturn, Iterator - ) - from pip._vendor.six import PY3 - if PY3: - from hashlib import _Hash - else: - from hashlib import _hash as _Hash - - -# The recommended hash algo of the moment. Change this whenever the state of -# the art changes; it won't hurt backward compatibility. -FAVORITE_HASH = 'sha256' - - -# Names of hashlib algorithms allowed by the --hash option and ``pip hash`` -# Currently, those are the ones at least as collision-resistant as sha256. -STRONG_HASHES = ['sha256', 'sha384', 'sha512'] - - -class Hashes(object): - """A wrapper that builds multiple hashes at once and checks them against - known-good values - - """ - def __init__(self, hashes=None): - # type: (Dict[str, List[str]]) -> None - """ - :param hashes: A dict of algorithm names pointing to lists of allowed - hex digests - """ - self._allowed = {} if hashes is None else hashes - - @property - def digest_count(self): - # type: () -> int - return sum(len(digests) for digests in self._allowed.values()) - - def is_hash_allowed( - self, - hash_name, # type: str - hex_digest, # type: str - ): - # type: (...) -> bool - """Return whether the given hex digest is allowed.""" - return hex_digest in self._allowed.get(hash_name, []) - - def check_against_chunks(self, chunks): - # type: (Iterator[bytes]) -> None - """Check good hashes against ones built from iterable of chunks of - data. - - Raise HashMismatch if none match. - - """ - gots = {} - for hash_name in iterkeys(self._allowed): - try: - gots[hash_name] = hashlib.new(hash_name) - except (ValueError, TypeError): - raise InstallationError('Unknown hash name: %s' % hash_name) - - for chunk in chunks: - for hash in itervalues(gots): - hash.update(chunk) - - for hash_name, got in iteritems(gots): - if got.hexdigest() in self._allowed[hash_name]: - return - self._raise(gots) - - def _raise(self, gots): - # type: (Dict[str, _Hash]) -> NoReturn - raise HashMismatch(self._allowed, gots) - - def check_against_file(self, file): - # type: (BinaryIO) -> None - """Check good hashes against a file-like object - - Raise HashMismatch if none match. - - """ - return self.check_against_chunks(read_chunks(file)) - - def check_against_path(self, path): - # type: (str) -> None - with open(path, 'rb') as file: - return self.check_against_file(file) - - def __nonzero__(self): - # type: () -> bool - """Return whether I know any known-good hashes.""" - return bool(self._allowed) - - def __bool__(self): - # type: () -> bool - return self.__nonzero__() - - -class MissingHashes(Hashes): - """A workalike for Hashes used when we're missing a hash for a requirement - - It computes the actual hash of the requirement and raises a HashMissing - exception showing it to the user. - - """ - def __init__(self): - # type: () -> None - """Don't offer the ``hashes`` kwarg.""" - # Pass our favorite hash in to generate a "gotten hash". With the - # empty list, it will never match, so an error will always raise. - super(MissingHashes, self).__init__(hashes={FAVORITE_HASH: []}) - - def _raise(self, gots): - # type: (Dict[str, _Hash]) -> NoReturn - raise HashMissing(gots[FAVORITE_HASH].hexdigest()) diff --git a/.venv/lib/python3.8/site-packages/pip/_internal/utils/inject_securetransport.py b/.venv/lib/python3.8/site-packages/pip/_internal/utils/inject_securetransport.py deleted file mode 100644 index 5b93b1d..0000000 --- a/.venv/lib/python3.8/site-packages/pip/_internal/utils/inject_securetransport.py +++ /dev/null @@ -1,36 +0,0 @@ -"""A helper module that injects SecureTransport, on import. - -The import should be done as early as possible, to ensure all requests and -sessions (or whatever) are created after injecting SecureTransport. - -Note that we only do the injection on macOS, when the linked OpenSSL is too -old to handle TLSv1.2. -""" - -import sys - - -def inject_securetransport(): - # type: () -> None - # Only relevant on macOS - if sys.platform != "darwin": - return - - try: - import ssl - except ImportError: - return - - # Checks for OpenSSL 1.0.1 - if ssl.OPENSSL_VERSION_NUMBER >= 0x1000100f: - return - - try: - from pip._vendor.urllib3.contrib import securetransport - except (ImportError, OSError): - return - - securetransport.inject_into_urllib3() - - -inject_securetransport() diff --git a/.venv/lib/python3.8/site-packages/pip/_internal/utils/logging.py b/.venv/lib/python3.8/site-packages/pip/_internal/utils/logging.py deleted file mode 100644 index 7767111..0000000 --- a/.venv/lib/python3.8/site-packages/pip/_internal/utils/logging.py +++ /dev/null @@ -1,398 +0,0 @@ -# The following comment should be removed at some point in the future. -# mypy: disallow-untyped-defs=False - -from __future__ import absolute_import - -import contextlib -import errno -import logging -import logging.handlers -import os -import sys -from logging import Filter, getLogger - -from pip._vendor.six import PY2 - -from pip._internal.utils.compat import WINDOWS -from pip._internal.utils.deprecation import DEPRECATION_MSG_PREFIX -from pip._internal.utils.misc import ensure_dir - -try: - import threading -except ImportError: - import dummy_threading as threading # type: ignore - - -try: - # Use "import as" and set colorama in the else clause to avoid mypy - # errors and get the following correct revealed type for colorama: - # `Union[_importlib_modulespec.ModuleType, None]` - # Otherwise, we get an error like the following in the except block: - # > Incompatible types in assignment (expression has type "None", - # variable has type Module) - # TODO: eliminate the need to use "import as" once mypy addresses some - # of its issues with conditional imports. Here is an umbrella issue: - # https://github.com/python/mypy/issues/1297 - from pip._vendor import colorama as _colorama -# Lots of different errors can come from this, including SystemError and -# ImportError. -except Exception: - colorama = None -else: - # Import Fore explicitly rather than accessing below as colorama.Fore - # to avoid the following error running mypy: - # > Module has no attribute "Fore" - # TODO: eliminate the need to import Fore once mypy addresses some of its - # issues with conditional imports. This particular case could be an - # instance of the following issue (but also see the umbrella issue above): - # https://github.com/python/mypy/issues/3500 - from pip._vendor.colorama import Fore - - colorama = _colorama - - -_log_state = threading.local() -_log_state.indentation = 0 -subprocess_logger = getLogger('pip.subprocessor') - - -class BrokenStdoutLoggingError(Exception): - """ - Raised if BrokenPipeError occurs for the stdout stream while logging. - """ - pass - - -# BrokenPipeError does not exist in Python 2 and, in addition, manifests -# differently in Windows and non-Windows. -if WINDOWS: - # In Windows, a broken pipe can show up as EINVAL rather than EPIPE: - # https://bugs.python.org/issue19612 - # https://bugs.python.org/issue30418 - if PY2: - def _is_broken_pipe_error(exc_class, exc): - """See the docstring for non-Windows Python 3 below.""" - return (exc_class is IOError and - exc.errno in (errno.EINVAL, errno.EPIPE)) - else: - # In Windows, a broken pipe IOError became OSError in Python 3. - def _is_broken_pipe_error(exc_class, exc): - """See the docstring for non-Windows Python 3 below.""" - return ((exc_class is BrokenPipeError) or # noqa: F821 - (exc_class is OSError and - exc.errno in (errno.EINVAL, errno.EPIPE))) -elif PY2: - def _is_broken_pipe_error(exc_class, exc): - """See the docstring for non-Windows Python 3 below.""" - return (exc_class is IOError and exc.errno == errno.EPIPE) -else: - # Then we are in the non-Windows Python 3 case. - def _is_broken_pipe_error(exc_class, exc): - """ - Return whether an exception is a broken pipe error. - - Args: - exc_class: an exception class. - exc: an exception instance. - """ - return (exc_class is BrokenPipeError) # noqa: F821 - - -@contextlib.contextmanager -def indent_log(num=2): - """ - A context manager which will cause the log output to be indented for any - log messages emitted inside it. - """ - _log_state.indentation += num - try: - yield - finally: - _log_state.indentation -= num - - -def get_indentation(): - return getattr(_log_state, 'indentation', 0) - - -class IndentingFormatter(logging.Formatter): - - def __init__(self, *args, **kwargs): - """ - A logging.Formatter that obeys the indent_log() context manager. - - :param add_timestamp: A bool indicating output lines should be prefixed - with their record's timestamp. - """ - self.add_timestamp = kwargs.pop("add_timestamp", False) - super(IndentingFormatter, self).__init__(*args, **kwargs) - - def get_message_start(self, formatted, levelno): - """ - Return the start of the formatted log message (not counting the - prefix to add to each line). - """ - if levelno < logging.WARNING: - return '' - if formatted.startswith(DEPRECATION_MSG_PREFIX): - # Then the message already has a prefix. We don't want it to - # look like "WARNING: DEPRECATION: ...." - return '' - if levelno < logging.ERROR: - return 'WARNING: ' - - return 'ERROR: ' - - def format(self, record): - """ - Calls the standard formatter, but will indent all of the log message - lines by our current indentation level. - """ - formatted = super(IndentingFormatter, self).format(record) - message_start = self.get_message_start(formatted, record.levelno) - formatted = message_start + formatted - - prefix = '' - if self.add_timestamp: - # TODO: Use Formatter.default_time_format after dropping PY2. - t = self.formatTime(record, "%Y-%m-%dT%H:%M:%S") - prefix = '%s,%03d ' % (t, record.msecs) - prefix += " " * get_indentation() - formatted = "".join([ - prefix + line - for line in formatted.splitlines(True) - ]) - return formatted - - -def _color_wrap(*colors): - def wrapped(inp): - return "".join(list(colors) + [inp, colorama.Style.RESET_ALL]) - return wrapped - - -class ColorizedStreamHandler(logging.StreamHandler): - - # Don't build up a list of colors if we don't have colorama - if colorama: - COLORS = [ - # This needs to be in order from highest logging level to lowest. - (logging.ERROR, _color_wrap(Fore.RED)), - (logging.WARNING, _color_wrap(Fore.YELLOW)), - ] - else: - COLORS = [] - - def __init__(self, stream=None, no_color=None): - logging.StreamHandler.__init__(self, stream) - self._no_color = no_color - - if WINDOWS and colorama: - self.stream = colorama.AnsiToWin32(self.stream) - - def _using_stdout(self): - """ - Return whether the handler is using sys.stdout. - """ - if WINDOWS and colorama: - # Then self.stream is an AnsiToWin32 object. - return self.stream.wrapped is sys.stdout - - return self.stream is sys.stdout - - def should_color(self): - # Don't colorize things if we do not have colorama or if told not to - if not colorama or self._no_color: - return False - - real_stream = ( - self.stream if not isinstance(self.stream, colorama.AnsiToWin32) - else self.stream.wrapped - ) - - # If the stream is a tty we should color it - if hasattr(real_stream, "isatty") and real_stream.isatty(): - return True - - # If we have an ANSI term we should color it - if os.environ.get("TERM") == "ANSI": - return True - - # If anything else we should not color it - return False - - def format(self, record): - msg = logging.StreamHandler.format(self, record) - - if self.should_color(): - for level, color in self.COLORS: - if record.levelno >= level: - msg = color(msg) - break - - return msg - - # The logging module says handleError() can be customized. - def handleError(self, record): - exc_class, exc = sys.exc_info()[:2] - # If a broken pipe occurred while calling write() or flush() on the - # stdout stream in logging's Handler.emit(), then raise our special - # exception so we can handle it in main() instead of logging the - # broken pipe error and continuing. - if (exc_class and self._using_stdout() and - _is_broken_pipe_error(exc_class, exc)): - raise BrokenStdoutLoggingError() - - return super(ColorizedStreamHandler, self).handleError(record) - - -class BetterRotatingFileHandler(logging.handlers.RotatingFileHandler): - - def _open(self): - ensure_dir(os.path.dirname(self.baseFilename)) - return logging.handlers.RotatingFileHandler._open(self) - - -class MaxLevelFilter(Filter): - - def __init__(self, level): - self.level = level - - def filter(self, record): - return record.levelno < self.level - - -class ExcludeLoggerFilter(Filter): - - """ - A logging Filter that excludes records from a logger (or its children). - """ - - def filter(self, record): - # The base Filter class allows only records from a logger (or its - # children). - return not super(ExcludeLoggerFilter, self).filter(record) - - -def setup_logging(verbosity, no_color, user_log_file): - """Configures and sets up all of the logging - - Returns the requested logging level, as its integer value. - """ - - # Determine the level to be logging at. - if verbosity >= 1: - level = "DEBUG" - elif verbosity == -1: - level = "WARNING" - elif verbosity == -2: - level = "ERROR" - elif verbosity <= -3: - level = "CRITICAL" - else: - level = "INFO" - - level_number = getattr(logging, level) - - # The "root" logger should match the "console" level *unless* we also need - # to log to a user log file. - include_user_log = user_log_file is not None - if include_user_log: - additional_log_file = user_log_file - root_level = "DEBUG" - else: - additional_log_file = "/dev/null" - root_level = level - - # Disable any logging besides WARNING unless we have DEBUG level logging - # enabled for vendored libraries. - vendored_log_level = "WARNING" if level in ["INFO", "ERROR"] else "DEBUG" - - # Shorthands for clarity - log_streams = { - "stdout": "ext://sys.stdout", - "stderr": "ext://sys.stderr", - } - handler_classes = { - "stream": "pip._internal.utils.logging.ColorizedStreamHandler", - "file": "pip._internal.utils.logging.BetterRotatingFileHandler", - } - handlers = ["console", "console_errors", "console_subprocess"] + ( - ["user_log"] if include_user_log else [] - ) - - logging.config.dictConfig({ - "version": 1, - "disable_existing_loggers": False, - "filters": { - "exclude_warnings": { - "()": "pip._internal.utils.logging.MaxLevelFilter", - "level": logging.WARNING, - }, - "restrict_to_subprocess": { - "()": "logging.Filter", - "name": subprocess_logger.name, - }, - "exclude_subprocess": { - "()": "pip._internal.utils.logging.ExcludeLoggerFilter", - "name": subprocess_logger.name, - }, - }, - "formatters": { - "indent": { - "()": IndentingFormatter, - "format": "%(message)s", - }, - "indent_with_timestamp": { - "()": IndentingFormatter, - "format": "%(message)s", - "add_timestamp": True, - }, - }, - "handlers": { - "console": { - "level": level, - "class": handler_classes["stream"], - "no_color": no_color, - "stream": log_streams["stdout"], - "filters": ["exclude_subprocess", "exclude_warnings"], - "formatter": "indent", - }, - "console_errors": { - "level": "WARNING", - "class": handler_classes["stream"], - "no_color": no_color, - "stream": log_streams["stderr"], - "filters": ["exclude_subprocess"], - "formatter": "indent", - }, - # A handler responsible for logging to the console messages - # from the "subprocessor" logger. - "console_subprocess": { - "level": level, - "class": handler_classes["stream"], - "no_color": no_color, - "stream": log_streams["stderr"], - "filters": ["restrict_to_subprocess"], - "formatter": "indent", - }, - "user_log": { - "level": "DEBUG", - "class": handler_classes["file"], - "filename": additional_log_file, - "delay": True, - "formatter": "indent_with_timestamp", - }, - }, - "root": { - "level": root_level, - "handlers": handlers, - }, - "loggers": { - "pip._vendor": { - "level": vendored_log_level - } - }, - }) - - return level_number diff --git a/.venv/lib/python3.8/site-packages/pip/_internal/utils/marker_files.py b/.venv/lib/python3.8/site-packages/pip/_internal/utils/marker_files.py deleted file mode 100644 index 42ea814..0000000 --- a/.venv/lib/python3.8/site-packages/pip/_internal/utils/marker_files.py +++ /dev/null @@ -1,25 +0,0 @@ -import os.path - -DELETE_MARKER_MESSAGE = '''\ -This file is placed here by pip to indicate the source was put -here by pip. - -Once this package is successfully installed this source code will be -deleted (unless you remove this file). -''' -PIP_DELETE_MARKER_FILENAME = 'pip-delete-this-directory.txt' - - -def has_delete_marker_file(directory): - # type: (str) -> bool - return os.path.exists(os.path.join(directory, PIP_DELETE_MARKER_FILENAME)) - - -def write_delete_marker_file(directory): - # type: (str) -> None - """ - Write the pip delete marker file into this directory. - """ - filepath = os.path.join(directory, PIP_DELETE_MARKER_FILENAME) - with open(filepath, 'w') as marker_fp: - marker_fp.write(DELETE_MARKER_MESSAGE) diff --git a/.venv/lib/python3.8/site-packages/pip/_internal/utils/misc.py b/.venv/lib/python3.8/site-packages/pip/_internal/utils/misc.py deleted file mode 100644 index 554af0b..0000000 --- a/.venv/lib/python3.8/site-packages/pip/_internal/utils/misc.py +++ /dev/null @@ -1,904 +0,0 @@ -# The following comment should be removed at some point in the future. -# mypy: strict-optional=False -# mypy: disallow-untyped-defs=False - -from __future__ import absolute_import - -import contextlib -import errno -import getpass -import hashlib -import io -import logging -import os -import posixpath -import shutil -import stat -import sys -from collections import deque - -from pip._vendor import pkg_resources -# NOTE: retrying is not annotated in typeshed as on 2017-07-17, which is -# why we ignore the type on this import. -from pip._vendor.retrying import retry # type: ignore -from pip._vendor.six import PY2, text_type -from pip._vendor.six.moves import input -from pip._vendor.six.moves.urllib import parse as urllib_parse -from pip._vendor.six.moves.urllib.parse import unquote as urllib_unquote - -from pip import __version__ -from pip._internal.exceptions import CommandError -from pip._internal.locations import ( - get_major_minor_version, - site_packages, - user_site, -) -from pip._internal.utils.compat import ( - WINDOWS, - expanduser, - stdlib_pkgs, - str_to_display, -) -from pip._internal.utils.typing import MYPY_CHECK_RUNNING, cast -from pip._internal.utils.virtualenv import ( - running_under_virtualenv, - virtualenv_no_global, -) - -if PY2: - from io import BytesIO as StringIO -else: - from io import StringIO - -if MYPY_CHECK_RUNNING: - from typing import ( - Any, AnyStr, Container, Iterable, List, Optional, Text, - Tuple, Union, - ) - from pip._vendor.pkg_resources import Distribution - - VersionInfo = Tuple[int, int, int] - - -__all__ = ['rmtree', 'display_path', 'backup_dir', - 'ask', 'splitext', - 'format_size', 'is_installable_dir', - 'normalize_path', - 'renames', 'get_prog', - 'captured_stdout', 'ensure_dir', - 'get_installed_version', 'remove_auth_from_url'] - - -logger = logging.getLogger(__name__) - - -def get_pip_version(): - # type: () -> str - pip_pkg_dir = os.path.join(os.path.dirname(__file__), "..", "..") - pip_pkg_dir = os.path.abspath(pip_pkg_dir) - - return ( - 'pip {} from {} (python {})'.format( - __version__, pip_pkg_dir, get_major_minor_version(), - ) - ) - - -def normalize_version_info(py_version_info): - # type: (Tuple[int, ...]) -> Tuple[int, int, int] - """ - Convert a tuple of ints representing a Python version to one of length - three. - - :param py_version_info: a tuple of ints representing a Python version, - or None to specify no version. The tuple can have any length. - - :return: a tuple of length three if `py_version_info` is non-None. - Otherwise, return `py_version_info` unchanged (i.e. None). - """ - if len(py_version_info) < 3: - py_version_info += (3 - len(py_version_info)) * (0,) - elif len(py_version_info) > 3: - py_version_info = py_version_info[:3] - - return cast('VersionInfo', py_version_info) - - -def ensure_dir(path): - # type: (AnyStr) -> None - """os.path.makedirs without EEXIST.""" - try: - os.makedirs(path) - except OSError as e: - # Windows can raise spurious ENOTEMPTY errors. See #6426. - if e.errno != errno.EEXIST and e.errno != errno.ENOTEMPTY: - raise - - -def get_prog(): - # type: () -> str - try: - prog = os.path.basename(sys.argv[0]) - if prog in ('__main__.py', '-c'): - return "%s -m pip" % sys.executable - else: - return prog - except (AttributeError, TypeError, IndexError): - pass - return 'pip' - - -# Retry every half second for up to 3 seconds -@retry(stop_max_delay=3000, wait_fixed=500) -def rmtree(dir, ignore_errors=False): - # type: (str, bool) -> None - shutil.rmtree(dir, ignore_errors=ignore_errors, - onerror=rmtree_errorhandler) - - -def rmtree_errorhandler(func, path, exc_info): - """On Windows, the files in .svn are read-only, so when rmtree() tries to - remove them, an exception is thrown. We catch that here, remove the - read-only attribute, and hopefully continue without problems.""" - try: - has_attr_readonly = not (os.stat(path).st_mode & stat.S_IWRITE) - except (IOError, OSError): - # it's equivalent to os.path.exists - return - - if has_attr_readonly: - # convert to read/write - os.chmod(path, stat.S_IWRITE) - # use the original function to repeat the operation - func(path) - return - else: - raise - - -def path_to_display(path): - # type: (Optional[Union[str, Text]]) -> Optional[Text] - """ - Convert a bytes (or text) path to text (unicode in Python 2) for display - and logging purposes. - - This function should never error out. Also, this function is mainly needed - for Python 2 since in Python 3 str paths are already text. - """ - if path is None: - return None - if isinstance(path, text_type): - return path - # Otherwise, path is a bytes object (str in Python 2). - try: - display_path = path.decode(sys.getfilesystemencoding(), 'strict') - except UnicodeDecodeError: - # Include the full bytes to make troubleshooting easier, even though - # it may not be very human readable. - if PY2: - # Convert the bytes to a readable str representation using - # repr(), and then convert the str to unicode. - # Also, we add the prefix "b" to the repr() return value both - # to make the Python 2 output look like the Python 3 output, and - # to signal to the user that this is a bytes representation. - display_path = str_to_display('b{!r}'.format(path)) - else: - # Silence the "F821 undefined name 'ascii'" flake8 error since - # in Python 3 ascii() is a built-in. - display_path = ascii(path) # noqa: F821 - - return display_path - - -def display_path(path): - # type: (Union[str, Text]) -> str - """Gives the display value for a given path, making it relative to cwd - if possible.""" - path = os.path.normcase(os.path.abspath(path)) - if sys.version_info[0] == 2: - path = path.decode(sys.getfilesystemencoding(), 'replace') - path = path.encode(sys.getdefaultencoding(), 'replace') - if path.startswith(os.getcwd() + os.path.sep): - path = '.' + path[len(os.getcwd()):] - return path - - -def backup_dir(dir, ext='.bak'): - # type: (str, str) -> str - """Figure out the name of a directory to back up the given dir to - (adding .bak, .bak2, etc)""" - n = 1 - extension = ext - while os.path.exists(dir + extension): - n += 1 - extension = ext + str(n) - return dir + extension - - -def ask_path_exists(message, options): - # type: (str, Iterable[str]) -> str - for action in os.environ.get('PIP_EXISTS_ACTION', '').split(): - if action in options: - return action - return ask(message, options) - - -def _check_no_input(message): - # type: (str) -> None - """Raise an error if no input is allowed.""" - if os.environ.get('PIP_NO_INPUT'): - raise Exception( - 'No input was expected ($PIP_NO_INPUT set); question: %s' % - message - ) - - -def ask(message, options): - # type: (str, Iterable[str]) -> str - """Ask the message interactively, with the given possible responses""" - while 1: - _check_no_input(message) - response = input(message) - response = response.strip().lower() - if response not in options: - print( - 'Your response (%r) was not one of the expected responses: ' - '%s' % (response, ', '.join(options)) - ) - else: - return response - - -def ask_input(message): - # type: (str) -> str - """Ask for input interactively.""" - _check_no_input(message) - return input(message) - - -def ask_password(message): - # type: (str) -> str - """Ask for a password interactively.""" - _check_no_input(message) - return getpass.getpass(message) - - -def format_size(bytes): - # type: (float) -> str - if bytes > 1000 * 1000: - return '%.1f MB' % (bytes / 1000.0 / 1000) - elif bytes > 10 * 1000: - return '%i kB' % (bytes / 1000) - elif bytes > 1000: - return '%.1f kB' % (bytes / 1000.0) - else: - return '%i bytes' % bytes - - -def is_installable_dir(path): - # type: (str) -> bool - """Is path is a directory containing setup.py or pyproject.toml? - """ - if not os.path.isdir(path): - return False - setup_py = os.path.join(path, 'setup.py') - if os.path.isfile(setup_py): - return True - pyproject_toml = os.path.join(path, 'pyproject.toml') - if os.path.isfile(pyproject_toml): - return True - return False - - -def read_chunks(file, size=io.DEFAULT_BUFFER_SIZE): - """Yield pieces of data from a file-like object until EOF.""" - while True: - chunk = file.read(size) - if not chunk: - break - yield chunk - - -def normalize_path(path, resolve_symlinks=True): - # type: (str, bool) -> str - """ - Convert a path to its canonical, case-normalized, absolute version. - - """ - path = expanduser(path) - if resolve_symlinks: - path = os.path.realpath(path) - else: - path = os.path.abspath(path) - return os.path.normcase(path) - - -def splitext(path): - # type: (str) -> Tuple[str, str] - """Like os.path.splitext, but take off .tar too""" - base, ext = posixpath.splitext(path) - if base.lower().endswith('.tar'): - ext = base[-4:] + ext - base = base[:-4] - return base, ext - - -def renames(old, new): - # type: (str, str) -> None - """Like os.renames(), but handles renaming across devices.""" - # Implementation borrowed from os.renames(). - head, tail = os.path.split(new) - if head and tail and not os.path.exists(head): - os.makedirs(head) - - shutil.move(old, new) - - head, tail = os.path.split(old) - if head and tail: - try: - os.removedirs(head) - except OSError: - pass - - -def is_local(path): - # type: (str) -> bool - """ - Return True if this is a path pip is allowed to modify. - - If we're in a virtualenv, sys.prefix points to the virtualenv's - prefix; only sys.prefix is considered local. - - If we're not in a virtualenv, in general we can modify anything. - However, if the OS vendor has configured distutils to install - somewhere other than sys.prefix (which could be a subdirectory of - sys.prefix, e.g. /usr/local), we consider sys.prefix itself nonlocal - and the domain of the OS vendor. (In other words, everything _other - than_ sys.prefix is considered local.) - - Caution: this function assumes the head of path has been normalized - with normalize_path. - """ - - path = normalize_path(path) - prefix = normalize_path(sys.prefix) - - if running_under_virtualenv(): - return path.startswith(normalize_path(sys.prefix)) - else: - from pip._internal.locations import distutils_scheme - if path.startswith(prefix): - for local_path in distutils_scheme("").values(): - if path.startswith(normalize_path(local_path)): - return True - return False - else: - return True - - -def dist_is_local(dist): - # type: (Distribution) -> bool - """ - Return True if given Distribution object is installed somewhere pip - is allowed to modify. - - """ - return is_local(dist_location(dist)) - - -def dist_in_usersite(dist): - # type: (Distribution) -> bool - """ - Return True if given Distribution is installed in user site. - """ - return dist_location(dist).startswith(normalize_path(user_site)) - - -def dist_in_site_packages(dist): - # type: (Distribution) -> bool - """ - Return True if given Distribution is installed in - sysconfig.get_python_lib(). - """ - return dist_location(dist).startswith(normalize_path(site_packages)) - - -def dist_is_editable(dist): - # type: (Distribution) -> bool - """ - Return True if given Distribution is an editable install. - """ - for path_item in sys.path: - egg_link = os.path.join(path_item, dist.project_name + '.egg-link') - if os.path.isfile(egg_link): - return True - return False - - -def get_installed_distributions( - local_only=True, # type: bool - skip=stdlib_pkgs, # type: Container[str] - include_editables=True, # type: bool - editables_only=False, # type: bool - user_only=False, # type: bool - paths=None # type: Optional[List[str]] -): - # type: (...) -> List[Distribution] - """ - Return a list of installed Distribution objects. - - If ``local_only`` is True (default), only return installations - local to the current virtualenv, if in a virtualenv. - - ``skip`` argument is an iterable of lower-case project names to - ignore; defaults to stdlib_pkgs - - If ``include_editables`` is False, don't report editables. - - If ``editables_only`` is True , only report editables. - - If ``user_only`` is True , only report installations in the user - site directory. - - If ``paths`` is set, only report the distributions present at the - specified list of locations. - """ - if paths: - working_set = pkg_resources.WorkingSet(paths) - else: - working_set = pkg_resources.working_set - - if local_only: - local_test = dist_is_local - else: - def local_test(d): - return True - - if include_editables: - def editable_test(d): - return True - else: - def editable_test(d): - return not dist_is_editable(d) - - if editables_only: - def editables_only_test(d): - return dist_is_editable(d) - else: - def editables_only_test(d): - return True - - if user_only: - user_test = dist_in_usersite - else: - def user_test(d): - return True - - return [d for d in working_set - if local_test(d) and - d.key not in skip and - editable_test(d) and - editables_only_test(d) and - user_test(d) - ] - - -def egg_link_path(dist): - # type: (Distribution) -> Optional[str] - """ - Return the path for the .egg-link file if it exists, otherwise, None. - - There's 3 scenarios: - 1) not in a virtualenv - try to find in site.USER_SITE, then site_packages - 2) in a no-global virtualenv - try to find in site_packages - 3) in a yes-global virtualenv - try to find in site_packages, then site.USER_SITE - (don't look in global location) - - For #1 and #3, there could be odd cases, where there's an egg-link in 2 - locations. - - This method will just return the first one found. - """ - sites = [] - if running_under_virtualenv(): - sites.append(site_packages) - if not virtualenv_no_global() and user_site: - sites.append(user_site) - else: - if user_site: - sites.append(user_site) - sites.append(site_packages) - - for site in sites: - egglink = os.path.join(site, dist.project_name) + '.egg-link' - if os.path.isfile(egglink): - return egglink - return None - - -def dist_location(dist): - # type: (Distribution) -> str - """ - Get the site-packages location of this distribution. Generally - this is dist.location, except in the case of develop-installed - packages, where dist.location is the source code location, and we - want to know where the egg-link file is. - - The returned location is normalized (in particular, with symlinks removed). - """ - egg_link = egg_link_path(dist) - if egg_link: - return normalize_path(egg_link) - return normalize_path(dist.location) - - -def write_output(msg, *args): - # type: (str, str) -> None - logger.info(msg, *args) - - -class FakeFile(object): - """Wrap a list of lines in an object with readline() to make - ConfigParser happy.""" - def __init__(self, lines): - self._gen = (l for l in lines) - - def readline(self): - try: - try: - return next(self._gen) - except NameError: - return self._gen.next() - except StopIteration: - return '' - - def __iter__(self): - return self._gen - - -class StreamWrapper(StringIO): - - @classmethod - def from_stream(cls, orig_stream): - cls.orig_stream = orig_stream - return cls() - - # compileall.compile_dir() needs stdout.encoding to print to stdout - @property - def encoding(self): - return self.orig_stream.encoding - - -@contextlib.contextmanager -def captured_output(stream_name): - """Return a context manager used by captured_stdout/stdin/stderr - that temporarily replaces the sys stream *stream_name* with a StringIO. - - Taken from Lib/support/__init__.py in the CPython repo. - """ - orig_stdout = getattr(sys, stream_name) - setattr(sys, stream_name, StreamWrapper.from_stream(orig_stdout)) - try: - yield getattr(sys, stream_name) - finally: - setattr(sys, stream_name, orig_stdout) - - -def captured_stdout(): - """Capture the output of sys.stdout: - - with captured_stdout() as stdout: - print('hello') - self.assertEqual(stdout.getvalue(), 'hello\n') - - Taken from Lib/support/__init__.py in the CPython repo. - """ - return captured_output('stdout') - - -def captured_stderr(): - """ - See captured_stdout(). - """ - return captured_output('stderr') - - -class cached_property(object): - """A property that is only computed once per instance and then replaces - itself with an ordinary attribute. Deleting the attribute resets the - property. - - Source: https://github.com/bottlepy/bottle/blob/0.11.5/bottle.py#L175 - """ - - def __init__(self, func): - self.__doc__ = getattr(func, '__doc__') - self.func = func - - def __get__(self, obj, cls): - if obj is None: - # We're being accessed from the class itself, not from an object - return self - value = obj.__dict__[self.func.__name__] = self.func(obj) - return value - - -def get_installed_version(dist_name, working_set=None): - """Get the installed version of dist_name avoiding pkg_resources cache""" - # Create a requirement that we'll look for inside of setuptools. - req = pkg_resources.Requirement.parse(dist_name) - - if working_set is None: - # We want to avoid having this cached, so we need to construct a new - # working set each time. - working_set = pkg_resources.WorkingSet() - - # Get the installed distribution from our working set - dist = working_set.find(req) - - # Check to see if we got an installed distribution or not, if we did - # we want to return it's version. - return dist.version if dist else None - - -def consume(iterator): - """Consume an iterable at C speed.""" - deque(iterator, maxlen=0) - - -# Simulates an enum -def enum(*sequential, **named): - enums = dict(zip(sequential, range(len(sequential))), **named) - reverse = {value: key for key, value in enums.items()} - enums['reverse_mapping'] = reverse - return type('Enum', (), enums) - - -def build_netloc(host, port): - # type: (str, Optional[int]) -> str - """ - Build a netloc from a host-port pair - """ - if port is None: - return host - if ':' in host: - # Only wrap host with square brackets when it is IPv6 - host = '[{}]'.format(host) - return '{}:{}'.format(host, port) - - -def build_url_from_netloc(netloc, scheme='https'): - # type: (str, str) -> str - """ - Build a full URL from a netloc. - """ - if netloc.count(':') >= 2 and '@' not in netloc and '[' not in netloc: - # It must be a bare IPv6 address, so wrap it with brackets. - netloc = '[{}]'.format(netloc) - return '{}://{}'.format(scheme, netloc) - - -def parse_netloc(netloc): - # type: (str) -> Tuple[str, Optional[int]] - """ - Return the host-port pair from a netloc. - """ - url = build_url_from_netloc(netloc) - parsed = urllib_parse.urlparse(url) - return parsed.hostname, parsed.port - - -def split_auth_from_netloc(netloc): - """ - Parse out and remove the auth information from a netloc. - - Returns: (netloc, (username, password)). - """ - if '@' not in netloc: - return netloc, (None, None) - - # Split from the right because that's how urllib.parse.urlsplit() - # behaves if more than one @ is present (which can be checked using - # the password attribute of urlsplit()'s return value). - auth, netloc = netloc.rsplit('@', 1) - if ':' in auth: - # Split from the left because that's how urllib.parse.urlsplit() - # behaves if more than one : is present (which again can be checked - # using the password attribute of the return value) - user_pass = auth.split(':', 1) - else: - user_pass = auth, None - - user_pass = tuple( - None if x is None else urllib_unquote(x) for x in user_pass - ) - - return netloc, user_pass - - -def redact_netloc(netloc): - # type: (str) -> str - """ - Replace the sensitive data in a netloc with "****", if it exists. - - For example: - - "user:pass@example.com" returns "user:****@example.com" - - "accesstoken@example.com" returns "****@example.com" - """ - netloc, (user, password) = split_auth_from_netloc(netloc) - if user is None: - return netloc - if password is None: - user = '****' - password = '' - else: - user = urllib_parse.quote(user) - password = ':****' - return '{user}{password}@{netloc}'.format(user=user, - password=password, - netloc=netloc) - - -def _transform_url(url, transform_netloc): - """Transform and replace netloc in a url. - - transform_netloc is a function taking the netloc and returning a - tuple. The first element of this tuple is the new netloc. The - entire tuple is returned. - - Returns a tuple containing the transformed url as item 0 and the - original tuple returned by transform_netloc as item 1. - """ - purl = urllib_parse.urlsplit(url) - netloc_tuple = transform_netloc(purl.netloc) - # stripped url - url_pieces = ( - purl.scheme, netloc_tuple[0], purl.path, purl.query, purl.fragment - ) - surl = urllib_parse.urlunsplit(url_pieces) - return surl, netloc_tuple - - -def _get_netloc(netloc): - return split_auth_from_netloc(netloc) - - -def _redact_netloc(netloc): - return (redact_netloc(netloc),) - - -def split_auth_netloc_from_url(url): - # type: (str) -> Tuple[str, str, Tuple[str, str]] - """ - Parse a url into separate netloc, auth, and url with no auth. - - Returns: (url_without_auth, netloc, (username, password)) - """ - url_without_auth, (netloc, auth) = _transform_url(url, _get_netloc) - return url_without_auth, netloc, auth - - -def remove_auth_from_url(url): - # type: (str) -> str - """Return a copy of url with 'username:password@' removed.""" - # username/pass params are passed to subversion through flags - # and are not recognized in the url. - return _transform_url(url, _get_netloc)[0] - - -def redact_auth_from_url(url): - # type: (str) -> str - """Replace the password in a given url with ****.""" - return _transform_url(url, _redact_netloc)[0] - - -class HiddenText(object): - def __init__( - self, - secret, # type: str - redacted, # type: str - ): - # type: (...) -> None - self.secret = secret - self.redacted = redacted - - def __repr__(self): - # type: (...) -> str - return '<HiddenText {!r}>'.format(str(self)) - - def __str__(self): - # type: (...) -> str - return self.redacted - - # This is useful for testing. - def __eq__(self, other): - # type: (Any) -> bool - if type(self) != type(other): - return False - - # The string being used for redaction doesn't also have to match, - # just the raw, original string. - return (self.secret == other.secret) - - # We need to provide an explicit __ne__ implementation for Python 2. - # TODO: remove this when we drop PY2 support. - def __ne__(self, other): - # type: (Any) -> bool - return not self == other - - -def hide_value(value): - # type: (str) -> HiddenText - return HiddenText(value, redacted='****') - - -def hide_url(url): - # type: (str) -> HiddenText - redacted = redact_auth_from_url(url) - return HiddenText(url, redacted=redacted) - - -def protect_pip_from_modification_on_windows(modifying_pip): - # type: (bool) -> None - """Protection of pip.exe from modification on Windows - - On Windows, any operation modifying pip should be run as: - python -m pip ... - """ - pip_names = [ - "pip.exe", - "pip{}.exe".format(sys.version_info[0]), - "pip{}.{}.exe".format(*sys.version_info[:2]) - ] - - # See https://github.com/pypa/pip/issues/1299 for more discussion - should_show_use_python_msg = ( - modifying_pip and - WINDOWS and - os.path.basename(sys.argv[0]) in pip_names - ) - - if should_show_use_python_msg: - new_command = [ - sys.executable, "-m", "pip" - ] + sys.argv[1:] - raise CommandError( - 'To modify pip, please run the following command:\n{}' - .format(" ".join(new_command)) - ) - - -def is_console_interactive(): - # type: () -> bool - """Is this console interactive? - """ - return sys.stdin is not None and sys.stdin.isatty() - - -def hash_file(path, blocksize=1 << 20): - # type: (str, int) -> Tuple[Any, int] - """Return (hash, length) for path using hashlib.sha256() - """ - - h = hashlib.sha256() - length = 0 - with open(path, 'rb') as f: - for block in read_chunks(f, size=blocksize): - length += len(block) - h.update(block) - return h, length - - -def is_wheel_installed(): - """ - Return whether the wheel package is installed. - """ - try: - import wheel # noqa: F401 - except ImportError: - return False - - return True diff --git a/.venv/lib/python3.8/site-packages/pip/_internal/utils/models.py b/.venv/lib/python3.8/site-packages/pip/_internal/utils/models.py deleted file mode 100644 index 29e1441..0000000 --- a/.venv/lib/python3.8/site-packages/pip/_internal/utils/models.py +++ /dev/null @@ -1,42 +0,0 @@ -"""Utilities for defining models -""" -# The following comment should be removed at some point in the future. -# mypy: disallow-untyped-defs=False - -import operator - - -class KeyBasedCompareMixin(object): - """Provides comparison capabilities that is based on a key - """ - - def __init__(self, key, defining_class): - self._compare_key = key - self._defining_class = defining_class - - def __hash__(self): - return hash(self._compare_key) - - def __lt__(self, other): - return self._compare(other, operator.__lt__) - - def __le__(self, other): - return self._compare(other, operator.__le__) - - def __gt__(self, other): - return self._compare(other, operator.__gt__) - - def __ge__(self, other): - return self._compare(other, operator.__ge__) - - def __eq__(self, other): - return self._compare(other, operator.__eq__) - - def __ne__(self, other): - return self._compare(other, operator.__ne__) - - def _compare(self, other, method): - if not isinstance(other, self._defining_class): - return NotImplemented - - return method(self._compare_key, other._compare_key) diff --git a/.venv/lib/python3.8/site-packages/pip/_internal/utils/packaging.py b/.venv/lib/python3.8/site-packages/pip/_internal/utils/packaging.py deleted file mode 100644 index 68aa86e..0000000 --- a/.venv/lib/python3.8/site-packages/pip/_internal/utils/packaging.py +++ /dev/null @@ -1,94 +0,0 @@ -from __future__ import absolute_import - -import logging -from email.parser import FeedParser - -from pip._vendor import pkg_resources -from pip._vendor.packaging import specifiers, version - -from pip._internal.exceptions import NoneMetadataError -from pip._internal.utils.misc import display_path -from pip._internal.utils.typing import MYPY_CHECK_RUNNING - -if MYPY_CHECK_RUNNING: - from typing import Optional, Tuple - from email.message import Message - from pip._vendor.pkg_resources import Distribution - - -logger = logging.getLogger(__name__) - - -def check_requires_python(requires_python, version_info): - # type: (Optional[str], Tuple[int, ...]) -> bool - """ - Check if the given Python version matches a "Requires-Python" specifier. - - :param version_info: A 3-tuple of ints representing a Python - major-minor-micro version to check (e.g. `sys.version_info[:3]`). - - :return: `True` if the given Python version satisfies the requirement. - Otherwise, return `False`. - - :raises InvalidSpecifier: If `requires_python` has an invalid format. - """ - if requires_python is None: - # The package provides no information - return True - requires_python_specifier = specifiers.SpecifierSet(requires_python) - - python_version = version.parse('.'.join(map(str, version_info))) - return python_version in requires_python_specifier - - -def get_metadata(dist): - # type: (Distribution) -> Message - """ - :raises NoneMetadataError: if the distribution reports `has_metadata()` - True but `get_metadata()` returns None. - """ - metadata_name = 'METADATA' - if (isinstance(dist, pkg_resources.DistInfoDistribution) and - dist.has_metadata(metadata_name)): - metadata = dist.get_metadata(metadata_name) - elif dist.has_metadata('PKG-INFO'): - metadata_name = 'PKG-INFO' - metadata = dist.get_metadata(metadata_name) - else: - logger.warning("No metadata found in %s", display_path(dist.location)) - metadata = '' - - if metadata is None: - raise NoneMetadataError(dist, metadata_name) - - feed_parser = FeedParser() - # The following line errors out if with a "NoneType" TypeError if - # passed metadata=None. - feed_parser.feed(metadata) - return feed_parser.close() - - -def get_requires_python(dist): - # type: (pkg_resources.Distribution) -> Optional[str] - """ - Return the "Requires-Python" metadata for a distribution, or None - if not present. - """ - pkg_info_dict = get_metadata(dist) - requires_python = pkg_info_dict.get('Requires-Python') - - if requires_python is not None: - # Convert to a str to satisfy the type checker, since requires_python - # can be a Header object. - requires_python = str(requires_python) - - return requires_python - - -def get_installer(dist): - # type: (Distribution) -> str - if dist.has_metadata('INSTALLER'): - for line in dist.get_metadata_lines('INSTALLER'): - if line.strip(): - return line.strip() - return '' diff --git a/.venv/lib/python3.8/site-packages/pip/_internal/utils/pkg_resources.py b/.venv/lib/python3.8/site-packages/pip/_internal/utils/pkg_resources.py deleted file mode 100644 index 0bc129a..0000000 --- a/.venv/lib/python3.8/site-packages/pip/_internal/utils/pkg_resources.py +++ /dev/null @@ -1,44 +0,0 @@ -from pip._vendor.pkg_resources import yield_lines -from pip._vendor.six import ensure_str - -from pip._internal.utils.typing import MYPY_CHECK_RUNNING - -if MYPY_CHECK_RUNNING: - from typing import Dict, Iterable, List - - -class DictMetadata(object): - """IMetadataProvider that reads metadata files from a dictionary. - """ - def __init__(self, metadata): - # type: (Dict[str, bytes]) -> None - self._metadata = metadata - - def has_metadata(self, name): - # type: (str) -> bool - return name in self._metadata - - def get_metadata(self, name): - # type: (str) -> str - try: - return ensure_str(self._metadata[name]) - except UnicodeDecodeError as e: - # Mirrors handling done in pkg_resources.NullProvider. - e.reason += " in {} file".format(name) - raise - - def get_metadata_lines(self, name): - # type: (str) -> Iterable[str] - return yield_lines(self.get_metadata(name)) - - def metadata_isdir(self, name): - # type: (str) -> bool - return False - - def metadata_listdir(self, name): - # type: (str) -> List[str] - return [] - - def run_script(self, script_name, namespace): - # type: (str, str) -> None - pass diff --git a/.venv/lib/python3.8/site-packages/pip/_internal/utils/setuptools_build.py b/.venv/lib/python3.8/site-packages/pip/_internal/utils/setuptools_build.py deleted file mode 100644 index 4147a65..0000000 --- a/.venv/lib/python3.8/site-packages/pip/_internal/utils/setuptools_build.py +++ /dev/null @@ -1,181 +0,0 @@ -import sys - -from pip._internal.utils.typing import MYPY_CHECK_RUNNING - -if MYPY_CHECK_RUNNING: - from typing import List, Optional, Sequence - -# Shim to wrap setup.py invocation with setuptools -# -# We set sys.argv[0] to the path to the underlying setup.py file so -# setuptools / distutils don't take the path to the setup.py to be "-c" when -# invoking via the shim. This avoids e.g. the following manifest_maker -# warning: "warning: manifest_maker: standard file '-c' not found". -_SETUPTOOLS_SHIM = ( - "import sys, setuptools, tokenize; sys.argv[0] = {0!r}; __file__={0!r};" - "f=getattr(tokenize, 'open', open)(__file__);" - "code=f.read().replace('\\r\\n', '\\n');" - "f.close();" - "exec(compile(code, __file__, 'exec'))" -) - - -def make_setuptools_shim_args( - setup_py_path, # type: str - global_options=None, # type: Sequence[str] - no_user_config=False, # type: bool - unbuffered_output=False # type: bool -): - # type: (...) -> List[str] - """ - Get setuptools command arguments with shim wrapped setup file invocation. - - :param setup_py_path: The path to setup.py to be wrapped. - :param global_options: Additional global options. - :param no_user_config: If True, disables personal user configuration. - :param unbuffered_output: If True, adds the unbuffered switch to the - argument list. - """ - args = [sys.executable] - if unbuffered_output: - args += ["-u"] - args += ["-c", _SETUPTOOLS_SHIM.format(setup_py_path)] - if global_options: - args += global_options - if no_user_config: - args += ["--no-user-cfg"] - return args - - -def make_setuptools_bdist_wheel_args( - setup_py_path, # type: str - global_options, # type: Sequence[str] - build_options, # type: Sequence[str] - destination_dir, # type: str -): - # type: (...) -> List[str] - # NOTE: Eventually, we'd want to also -S to the flags here, when we're - # isolating. Currently, it breaks Python in virtualenvs, because it - # relies on site.py to find parts of the standard library outside the - # virtualenv. - args = make_setuptools_shim_args( - setup_py_path, - global_options=global_options, - unbuffered_output=True - ) - args += ["bdist_wheel", "-d", destination_dir] - args += build_options - return args - - -def make_setuptools_clean_args( - setup_py_path, # type: str - global_options, # type: Sequence[str] -): - # type: (...) -> List[str] - args = make_setuptools_shim_args( - setup_py_path, - global_options=global_options, - unbuffered_output=True - ) - args += ["clean", "--all"] - return args - - -def make_setuptools_develop_args( - setup_py_path, # type: str - global_options, # type: Sequence[str] - install_options, # type: Sequence[str] - no_user_config, # type: bool - prefix, # type: Optional[str] - home, # type: Optional[str] - use_user_site, # type: bool -): - # type: (...) -> List[str] - assert not (use_user_site and prefix) - - args = make_setuptools_shim_args( - setup_py_path, - global_options=global_options, - no_user_config=no_user_config, - ) - - args += ["develop", "--no-deps"] - - args += install_options - - if prefix: - args += ["--prefix", prefix] - if home is not None: - args += ["--home", home] - - if use_user_site: - args += ["--user", "--prefix="] - - return args - - -def make_setuptools_egg_info_args( - setup_py_path, # type: str - egg_info_dir, # type: Optional[str] - no_user_config, # type: bool -): - # type: (...) -> List[str] - args = make_setuptools_shim_args(setup_py_path) - if no_user_config: - args += ["--no-user-cfg"] - - args += ["egg_info"] - - if egg_info_dir: - args += ["--egg-base", egg_info_dir] - - return args - - -def make_setuptools_install_args( - setup_py_path, # type: str - global_options, # type: Sequence[str] - install_options, # type: Sequence[str] - record_filename, # type: str - root, # type: Optional[str] - prefix, # type: Optional[str] - header_dir, # type: Optional[str] - home, # type: Optional[str] - use_user_site, # type: bool - no_user_config, # type: bool - pycompile # type: bool -): - # type: (...) -> List[str] - assert not (use_user_site and prefix) - assert not (use_user_site and root) - - args = make_setuptools_shim_args( - setup_py_path, - global_options=global_options, - no_user_config=no_user_config, - unbuffered_output=True - ) - args += ["install", "--record", record_filename] - args += ["--single-version-externally-managed"] - - if root is not None: - args += ["--root", root] - if prefix is not None: - args += ["--prefix", prefix] - if home is not None: - args += ["--home", home] - if use_user_site: - args += ["--user", "--prefix="] - - if pycompile: - args += ["--compile"] - else: - args += ["--no-compile"] - - if header_dir: - args += ["--install-headers", header_dir] - - args += install_options - - return args diff --git a/.venv/lib/python3.8/site-packages/pip/_internal/utils/subprocess.py b/.venv/lib/python3.8/site-packages/pip/_internal/utils/subprocess.py deleted file mode 100644 index ea0176d..0000000 --- a/.venv/lib/python3.8/site-packages/pip/_internal/utils/subprocess.py +++ /dev/null @@ -1,278 +0,0 @@ -# The following comment should be removed at some point in the future. -# mypy: strict-optional=False - -from __future__ import absolute_import - -import logging -import os -import subprocess - -from pip._vendor.six.moves import shlex_quote - -from pip._internal.exceptions import InstallationError -from pip._internal.utils.compat import console_to_str, str_to_display -from pip._internal.utils.logging import subprocess_logger -from pip._internal.utils.misc import HiddenText, path_to_display -from pip._internal.utils.typing import MYPY_CHECK_RUNNING -from pip._internal.utils.ui import open_spinner - -if MYPY_CHECK_RUNNING: - from typing import ( - Any, Callable, Iterable, List, Mapping, Optional, Text, Union, - ) - from pip._internal.utils.ui import SpinnerInterface - - CommandArgs = List[Union[str, HiddenText]] - - -LOG_DIVIDER = '----------------------------------------' - - -def make_command(*args): - # type: (Union[str, HiddenText, CommandArgs]) -> CommandArgs - """ - Create a CommandArgs object. - """ - command_args = [] # type: CommandArgs - for arg in args: - # Check for list instead of CommandArgs since CommandArgs is - # only known during type-checking. - if isinstance(arg, list): - command_args.extend(arg) - else: - # Otherwise, arg is str or HiddenText. - command_args.append(arg) - - return command_args - - -def format_command_args(args): - # type: (Union[List[str], CommandArgs]) -> str - """ - Format command arguments for display. - """ - # For HiddenText arguments, display the redacted form by calling str(). - # Also, we don't apply str() to arguments that aren't HiddenText since - # this can trigger a UnicodeDecodeError in Python 2 if the argument - # has type unicode and includes a non-ascii character. (The type - # checker doesn't ensure the annotations are correct in all cases.) - return ' '.join( - shlex_quote(str(arg)) if isinstance(arg, HiddenText) - else shlex_quote(arg) for arg in args - ) - - -def reveal_command_args(args): - # type: (Union[List[str], CommandArgs]) -> List[str] - """ - Return the arguments in their raw, unredacted form. - """ - return [ - arg.secret if isinstance(arg, HiddenText) else arg for arg in args - ] - - -def make_subprocess_output_error( - cmd_args, # type: Union[List[str], CommandArgs] - cwd, # type: Optional[str] - lines, # type: List[Text] - exit_status, # type: int -): - # type: (...) -> Text - """ - Create and return the error message to use to log a subprocess error - with command output. - - :param lines: A list of lines, each ending with a newline. - """ - command = format_command_args(cmd_args) - # Convert `command` and `cwd` to text (unicode in Python 2) so we can use - # them as arguments in the unicode format string below. This avoids - # "UnicodeDecodeError: 'ascii' codec can't decode byte ..." in Python 2 - # if either contains a non-ascii character. - command_display = str_to_display(command, desc='command bytes') - cwd_display = path_to_display(cwd) - - # We know the joined output value ends in a newline. - output = ''.join(lines) - msg = ( - # Use a unicode string to avoid "UnicodeEncodeError: 'ascii' - # codec can't encode character ..." in Python 2 when a format - # argument (e.g. `output`) has a non-ascii character. - u'Command errored out with exit status {exit_status}:\n' - ' command: {command_display}\n' - ' cwd: {cwd_display}\n' - 'Complete output ({line_count} lines):\n{output}{divider}' - ).format( - exit_status=exit_status, - command_display=command_display, - cwd_display=cwd_display, - line_count=len(lines), - output=output, - divider=LOG_DIVIDER, - ) - return msg - - -def call_subprocess( - cmd, # type: Union[List[str], CommandArgs] - show_stdout=False, # type: bool - cwd=None, # type: Optional[str] - on_returncode='raise', # type: str - extra_ok_returncodes=None, # type: Optional[Iterable[int]] - command_desc=None, # type: Optional[str] - extra_environ=None, # type: Optional[Mapping[str, Any]] - unset_environ=None, # type: Optional[Iterable[str]] - spinner=None, # type: Optional[SpinnerInterface] - log_failed_cmd=True # type: Optional[bool] -): - # type: (...) -> Text - """ - Args: - show_stdout: if true, use INFO to log the subprocess's stderr and - stdout streams. Otherwise, use DEBUG. Defaults to False. - extra_ok_returncodes: an iterable of integer return codes that are - acceptable, in addition to 0. Defaults to None, which means []. - unset_environ: an iterable of environment variable names to unset - prior to calling subprocess.Popen(). - log_failed_cmd: if false, failed commands are not logged, only raised. - """ - if extra_ok_returncodes is None: - extra_ok_returncodes = [] - if unset_environ is None: - unset_environ = [] - # Most places in pip use show_stdout=False. What this means is-- - # - # - We connect the child's output (combined stderr and stdout) to a - # single pipe, which we read. - # - We log this output to stderr at DEBUG level as it is received. - # - If DEBUG logging isn't enabled (e.g. if --verbose logging wasn't - # requested), then we show a spinner so the user can still see the - # subprocess is in progress. - # - If the subprocess exits with an error, we log the output to stderr - # at ERROR level if it hasn't already been displayed to the console - # (e.g. if --verbose logging wasn't enabled). This way we don't log - # the output to the console twice. - # - # If show_stdout=True, then the above is still done, but with DEBUG - # replaced by INFO. - if show_stdout: - # Then log the subprocess output at INFO level. - log_subprocess = subprocess_logger.info - used_level = logging.INFO - else: - # Then log the subprocess output using DEBUG. This also ensures - # it will be logged to the log file (aka user_log), if enabled. - log_subprocess = subprocess_logger.debug - used_level = logging.DEBUG - - # Whether the subprocess will be visible in the console. - showing_subprocess = subprocess_logger.getEffectiveLevel() <= used_level - - # Only use the spinner if we're not showing the subprocess output - # and we have a spinner. - use_spinner = not showing_subprocess and spinner is not None - - if command_desc is None: - command_desc = format_command_args(cmd) - - log_subprocess("Running command %s", command_desc) - env = os.environ.copy() - if extra_environ: - env.update(extra_environ) - for name in unset_environ: - env.pop(name, None) - try: - proc = subprocess.Popen( - # Convert HiddenText objects to the underlying str. - reveal_command_args(cmd), - stderr=subprocess.STDOUT, stdin=subprocess.PIPE, - stdout=subprocess.PIPE, cwd=cwd, env=env, - ) - proc.stdin.close() - except Exception as exc: - if log_failed_cmd: - subprocess_logger.critical( - "Error %s while executing command %s", exc, command_desc, - ) - raise - all_output = [] - while True: - # The "line" value is a unicode string in Python 2. - line = console_to_str(proc.stdout.readline()) - if not line: - break - line = line.rstrip() - all_output.append(line + '\n') - - # Show the line immediately. - log_subprocess(line) - # Update the spinner. - if use_spinner: - spinner.spin() - try: - proc.wait() - finally: - if proc.stdout: - proc.stdout.close() - proc_had_error = ( - proc.returncode and proc.returncode not in extra_ok_returncodes - ) - if use_spinner: - if proc_had_error: - spinner.finish("error") - else: - spinner.finish("done") - if proc_had_error: - if on_returncode == 'raise': - if not showing_subprocess and log_failed_cmd: - # Then the subprocess streams haven't been logged to the - # console yet. - msg = make_subprocess_output_error( - cmd_args=cmd, - cwd=cwd, - lines=all_output, - exit_status=proc.returncode, - ) - subprocess_logger.error(msg) - exc_msg = ( - 'Command errored out with exit status {}: {} ' - 'Check the logs for full command output.' - ).format(proc.returncode, command_desc) - raise InstallationError(exc_msg) - elif on_returncode == 'warn': - subprocess_logger.warning( - 'Command "%s" had error code %s in %s', - command_desc, proc.returncode, cwd, - ) - elif on_returncode == 'ignore': - pass - else: - raise ValueError('Invalid value: on_returncode=%s' % - repr(on_returncode)) - return ''.join(all_output) - - -def runner_with_spinner_message(message): - # type: (str) -> Callable[..., None] - """Provide a subprocess_runner that shows a spinner message. - - Intended for use with for pep517's Pep517HookCaller. Thus, the runner has - an API that matches what's expected by Pep517HookCaller.subprocess_runner. - """ - - def runner( - cmd, # type: List[str] - cwd=None, # type: Optional[str] - extra_environ=None # type: Optional[Mapping[str, Any]] - ): - # type: (...) -> None - with open_spinner(message) as spinner: - call_subprocess( - cmd, - cwd=cwd, - extra_environ=extra_environ, - spinner=spinner, - ) - - return runner diff --git a/.venv/lib/python3.8/site-packages/pip/_internal/utils/temp_dir.py b/.venv/lib/python3.8/site-packages/pip/_internal/utils/temp_dir.py deleted file mode 100644 index 65e41bc..0000000 --- a/.venv/lib/python3.8/site-packages/pip/_internal/utils/temp_dir.py +++ /dev/null @@ -1,250 +0,0 @@ -from __future__ import absolute_import - -import errno -import itertools -import logging -import os.path -import tempfile -from contextlib import contextmanager - -from pip._vendor.contextlib2 import ExitStack - -from pip._internal.utils.misc import rmtree -from pip._internal.utils.typing import MYPY_CHECK_RUNNING - -if MYPY_CHECK_RUNNING: - from typing import Any, Dict, Iterator, Optional, TypeVar - - _T = TypeVar('_T', bound='TempDirectory') - - -logger = logging.getLogger(__name__) - - -_tempdir_manager = None # type: Optional[ExitStack] - - -@contextmanager -def global_tempdir_manager(): - # type: () -> Iterator[None] - global _tempdir_manager - with ExitStack() as stack: - old_tempdir_manager, _tempdir_manager = _tempdir_manager, stack - try: - yield - finally: - _tempdir_manager = old_tempdir_manager - - -class TempDirectoryTypeRegistry(object): - """Manages temp directory behavior - """ - - def __init__(self): - # type: () -> None - self._should_delete = {} # type: Dict[str, bool] - - def set_delete(self, kind, value): - # type: (str, bool) -> None - """Indicate whether a TempDirectory of the given kind should be - auto-deleted. - """ - self._should_delete[kind] = value - - def get_delete(self, kind): - # type: (str) -> bool - """Get configured auto-delete flag for a given TempDirectory type, - default True. - """ - return self._should_delete.get(kind, True) - - -_tempdir_registry = None # type: Optional[TempDirectoryTypeRegistry] - - -@contextmanager -def tempdir_registry(): - # type: () -> Iterator[TempDirectoryTypeRegistry] - """Provides a scoped global tempdir registry that can be used to dictate - whether directories should be deleted. - """ - global _tempdir_registry - old_tempdir_registry = _tempdir_registry - _tempdir_registry = TempDirectoryTypeRegistry() - try: - yield _tempdir_registry - finally: - _tempdir_registry = old_tempdir_registry - - -class TempDirectory(object): - """Helper class that owns and cleans up a temporary directory. - - This class can be used as a context manager or as an OO representation of a - temporary directory. - - Attributes: - path - Location to the created temporary directory - delete - Whether the directory should be deleted when exiting - (when used as a contextmanager) - - Methods: - cleanup() - Deletes the temporary directory - - When used as a context manager, if the delete attribute is True, on - exiting the context the temporary directory is deleted. - """ - - def __init__( - self, - path=None, # type: Optional[str] - delete=None, # type: Optional[bool] - kind="temp", # type: str - globally_managed=False, # type: bool - ): - super(TempDirectory, self).__init__() - - # If we were given an explicit directory, resolve delete option now. - # Otherwise we wait until cleanup and see what tempdir_registry says. - if path is not None and delete is None: - delete = False - - if path is None: - path = self._create(kind) - - self._path = path - self._deleted = False - self.delete = delete - self.kind = kind - - if globally_managed: - assert _tempdir_manager is not None - _tempdir_manager.enter_context(self) - - @property - def path(self): - # type: () -> str - assert not self._deleted, ( - "Attempted to access deleted path: {}".format(self._path) - ) - return self._path - - def __repr__(self): - # type: () -> str - return "<{} {!r}>".format(self.__class__.__name__, self.path) - - def __enter__(self): - # type: (_T) -> _T - return self - - def __exit__(self, exc, value, tb): - # type: (Any, Any, Any) -> None - if self.delete is not None: - delete = self.delete - elif _tempdir_registry: - delete = _tempdir_registry.get_delete(self.kind) - else: - delete = True - - if delete: - self.cleanup() - - def _create(self, kind): - # type: (str) -> str - """Create a temporary directory and store its path in self.path - """ - # We realpath here because some systems have their default tmpdir - # symlinked to another directory. This tends to confuse build - # scripts, so we canonicalize the path by traversing potential - # symlinks here. - path = os.path.realpath( - tempfile.mkdtemp(prefix="pip-{}-".format(kind)) - ) - logger.debug("Created temporary directory: {}".format(path)) - return path - - def cleanup(self): - # type: () -> None - """Remove the temporary directory created and reset state - """ - self._deleted = True - if os.path.exists(self._path): - rmtree(self._path) - - -class AdjacentTempDirectory(TempDirectory): - """Helper class that creates a temporary directory adjacent to a real one. - - Attributes: - original - The original directory to create a temp directory for. - path - After calling create() or entering, contains the full - path to the temporary directory. - delete - Whether the directory should be deleted when exiting - (when used as a contextmanager) - - """ - # The characters that may be used to name the temp directory - # We always prepend a ~ and then rotate through these until - # a usable name is found. - # pkg_resources raises a different error for .dist-info folder - # with leading '-' and invalid metadata - LEADING_CHARS = "-~.=%0123456789" - - def __init__(self, original, delete=None): - # type: (str, Optional[bool]) -> None - self.original = original.rstrip('/\\') - super(AdjacentTempDirectory, self).__init__(delete=delete) - - @classmethod - def _generate_names(cls, name): - # type: (str) -> Iterator[str] - """Generates a series of temporary names. - - The algorithm replaces the leading characters in the name - with ones that are valid filesystem characters, but are not - valid package names (for both Python and pip definitions of - package). - """ - for i in range(1, len(name)): - for candidate in itertools.combinations_with_replacement( - cls.LEADING_CHARS, i - 1): - new_name = '~' + ''.join(candidate) + name[i:] - if new_name != name: - yield new_name - - # If we make it this far, we will have to make a longer name - for i in range(len(cls.LEADING_CHARS)): - for candidate in itertools.combinations_with_replacement( - cls.LEADING_CHARS, i): - new_name = '~' + ''.join(candidate) + name - if new_name != name: - yield new_name - - def _create(self, kind): - # type: (str) -> str - root, name = os.path.split(self.original) - for candidate in self._generate_names(name): - path = os.path.join(root, candidate) - try: - os.mkdir(path) - except OSError as ex: - # Continue if the name exists already - if ex.errno != errno.EEXIST: - raise - else: - path = os.path.realpath(path) - break - else: - # Final fallback on the default behavior. - path = os.path.realpath( - tempfile.mkdtemp(prefix="pip-{}-".format(kind)) - ) - - logger.debug("Created temporary directory: {}".format(path)) - return path diff --git a/.venv/lib/python3.8/site-packages/pip/_internal/utils/typing.py b/.venv/lib/python3.8/site-packages/pip/_internal/utils/typing.py deleted file mode 100644 index 8505a29..0000000 --- a/.venv/lib/python3.8/site-packages/pip/_internal/utils/typing.py +++ /dev/null @@ -1,38 +0,0 @@ -"""For neatly implementing static typing in pip. - -`mypy` - the static type analysis tool we use - uses the `typing` module, which -provides core functionality fundamental to mypy's functioning. - -Generally, `typing` would be imported at runtime and used in that fashion - -it acts as a no-op at runtime and does not have any run-time overhead by -design. - -As it turns out, `typing` is not vendorable - it uses separate sources for -Python 2/Python 3. Thus, this codebase can not expect it to be present. -To work around this, mypy allows the typing import to be behind a False-y -optional to prevent it from running at runtime and type-comments can be used -to remove the need for the types to be accessible directly during runtime. - -This module provides the False-y guard in a nicely named fashion so that a -curious maintainer can reach here to read this. - -In pip, all static-typing related imports should be guarded as follows: - - from pip._internal.utils.typing import MYPY_CHECK_RUNNING - - if MYPY_CHECK_RUNNING: - from typing import ... - -Ref: https://github.com/python/mypy/issues/3216 -""" - -MYPY_CHECK_RUNNING = False - - -if MYPY_CHECK_RUNNING: - from typing import cast -else: - # typing's cast() is needed at runtime, but we don't want to import typing. - # Thus, we use a dummy no-op version, which we tell mypy to ignore. - def cast(type_, value): # type: ignore - return value diff --git a/.venv/lib/python3.8/site-packages/pip/_internal/utils/ui.py b/.venv/lib/python3.8/site-packages/pip/_internal/utils/ui.py deleted file mode 100644 index 87782aa..0000000 --- a/.venv/lib/python3.8/site-packages/pip/_internal/utils/ui.py +++ /dev/null @@ -1,428 +0,0 @@ -# The following comment should be removed at some point in the future. -# mypy: strict-optional=False -# mypy: disallow-untyped-defs=False - -from __future__ import absolute_import, division - -import contextlib -import itertools -import logging -import sys -import time -from signal import SIGINT, default_int_handler, signal - -from pip._vendor import six -from pip._vendor.progress import HIDE_CURSOR, SHOW_CURSOR -from pip._vendor.progress.bar import Bar, FillingCirclesBar, IncrementalBar -from pip._vendor.progress.spinner import Spinner - -from pip._internal.utils.compat import WINDOWS -from pip._internal.utils.logging import get_indentation -from pip._internal.utils.misc import format_size -from pip._internal.utils.typing import MYPY_CHECK_RUNNING - -if MYPY_CHECK_RUNNING: - from typing import Any, Iterator, IO - -try: - from pip._vendor import colorama -# Lots of different errors can come from this, including SystemError and -# ImportError. -except Exception: - colorama = None - -logger = logging.getLogger(__name__) - - -def _select_progress_class(preferred, fallback): - encoding = getattr(preferred.file, "encoding", None) - - # If we don't know what encoding this file is in, then we'll just assume - # that it doesn't support unicode and use the ASCII bar. - if not encoding: - return fallback - - # Collect all of the possible characters we want to use with the preferred - # bar. - characters = [ - getattr(preferred, "empty_fill", six.text_type()), - getattr(preferred, "fill", six.text_type()), - ] - characters += list(getattr(preferred, "phases", [])) - - # Try to decode the characters we're using for the bar using the encoding - # of the given file, if this works then we'll assume that we can use the - # fancier bar and if not we'll fall back to the plaintext bar. - try: - six.text_type().join(characters).encode(encoding) - except UnicodeEncodeError: - return fallback - else: - return preferred - - -_BaseBar = _select_progress_class(IncrementalBar, Bar) # type: Any - - -class InterruptibleMixin(object): - """ - Helper to ensure that self.finish() gets called on keyboard interrupt. - - This allows downloads to be interrupted without leaving temporary state - (like hidden cursors) behind. - - This class is similar to the progress library's existing SigIntMixin - helper, but as of version 1.2, that helper has the following problems: - - 1. It calls sys.exit(). - 2. It discards the existing SIGINT handler completely. - 3. It leaves its own handler in place even after an uninterrupted finish, - which will have unexpected delayed effects if the user triggers an - unrelated keyboard interrupt some time after a progress-displaying - download has already completed, for example. - """ - - def __init__(self, *args, **kwargs): - """ - Save the original SIGINT handler for later. - """ - super(InterruptibleMixin, self).__init__(*args, **kwargs) - - self.original_handler = signal(SIGINT, self.handle_sigint) - - # If signal() returns None, the previous handler was not installed from - # Python, and we cannot restore it. This probably should not happen, - # but if it does, we must restore something sensible instead, at least. - # The least bad option should be Python's default SIGINT handler, which - # just raises KeyboardInterrupt. - if self.original_handler is None: - self.original_handler = default_int_handler - - def finish(self): - """ - Restore the original SIGINT handler after finishing. - - This should happen regardless of whether the progress display finishes - normally, or gets interrupted. - """ - super(InterruptibleMixin, self).finish() - signal(SIGINT, self.original_handler) - - def handle_sigint(self, signum, frame): - """ - Call self.finish() before delegating to the original SIGINT handler. - - This handler should only be in place while the progress display is - active. - """ - self.finish() - self.original_handler(signum, frame) - - -class SilentBar(Bar): - - def update(self): - pass - - -class BlueEmojiBar(IncrementalBar): - - suffix = "%(percent)d%%" - bar_prefix = " " - bar_suffix = " " - phases = (u"\U0001F539", u"\U0001F537", u"\U0001F535") # type: Any - - -class DownloadProgressMixin(object): - - def __init__(self, *args, **kwargs): - super(DownloadProgressMixin, self).__init__(*args, **kwargs) - self.message = (" " * (get_indentation() + 2)) + self.message - - @property - def downloaded(self): - return format_size(self.index) - - @property - def download_speed(self): - # Avoid zero division errors... - if self.avg == 0.0: - return "..." - return format_size(1 / self.avg) + "/s" - - @property - def pretty_eta(self): - if self.eta: - return "eta %s" % self.eta_td - return "" - - def iter(self, it): - for x in it: - yield x - self.next(len(x)) - self.finish() - - -class WindowsMixin(object): - - def __init__(self, *args, **kwargs): - # The Windows terminal does not support the hide/show cursor ANSI codes - # even with colorama. So we'll ensure that hide_cursor is False on - # Windows. - # This call needs to go before the super() call, so that hide_cursor - # is set in time. The base progress bar class writes the "hide cursor" - # code to the terminal in its init, so if we don't set this soon - # enough, we get a "hide" with no corresponding "show"... - if WINDOWS and self.hide_cursor: - self.hide_cursor = False - - super(WindowsMixin, self).__init__(*args, **kwargs) - - # Check if we are running on Windows and we have the colorama module, - # if we do then wrap our file with it. - if WINDOWS and colorama: - self.file = colorama.AnsiToWin32(self.file) - # The progress code expects to be able to call self.file.isatty() - # but the colorama.AnsiToWin32() object doesn't have that, so we'll - # add it. - self.file.isatty = lambda: self.file.wrapped.isatty() - # The progress code expects to be able to call self.file.flush() - # but the colorama.AnsiToWin32() object doesn't have that, so we'll - # add it. - self.file.flush = lambda: self.file.wrapped.flush() - - -class BaseDownloadProgressBar(WindowsMixin, InterruptibleMixin, - DownloadProgressMixin): - - file = sys.stdout - message = "%(percent)d%%" - suffix = "%(downloaded)s %(download_speed)s %(pretty_eta)s" - -# NOTE: The "type: ignore" comments on the following classes are there to -# work around https://github.com/python/typing/issues/241 - - -class DefaultDownloadProgressBar(BaseDownloadProgressBar, - _BaseBar): - pass - - -class DownloadSilentBar(BaseDownloadProgressBar, SilentBar): # type: ignore - pass - - -class DownloadBar(BaseDownloadProgressBar, # type: ignore - Bar): - pass - - -class DownloadFillingCirclesBar(BaseDownloadProgressBar, # type: ignore - FillingCirclesBar): - pass - - -class DownloadBlueEmojiProgressBar(BaseDownloadProgressBar, # type: ignore - BlueEmojiBar): - pass - - -class DownloadProgressSpinner(WindowsMixin, InterruptibleMixin, - DownloadProgressMixin, Spinner): - - file = sys.stdout - suffix = "%(downloaded)s %(download_speed)s" - - def next_phase(self): - if not hasattr(self, "_phaser"): - self._phaser = itertools.cycle(self.phases) - return next(self._phaser) - - def update(self): - message = self.message % self - phase = self.next_phase() - suffix = self.suffix % self - line = ''.join([ - message, - " " if message else "", - phase, - " " if suffix else "", - suffix, - ]) - - self.writeln(line) - - -BAR_TYPES = { - "off": (DownloadSilentBar, DownloadSilentBar), - "on": (DefaultDownloadProgressBar, DownloadProgressSpinner), - "ascii": (DownloadBar, DownloadProgressSpinner), - "pretty": (DownloadFillingCirclesBar, DownloadProgressSpinner), - "emoji": (DownloadBlueEmojiProgressBar, DownloadProgressSpinner) -} - - -def DownloadProgressProvider(progress_bar, max=None): - if max is None or max == 0: - return BAR_TYPES[progress_bar][1]().iter - else: - return BAR_TYPES[progress_bar][0](max=max).iter - - -################################################################ -# Generic "something is happening" spinners -# -# We don't even try using progress.spinner.Spinner here because it's actually -# simpler to reimplement from scratch than to coerce their code into doing -# what we need. -################################################################ - -@contextlib.contextmanager -def hidden_cursor(file): - # type: (IO[Any]) -> Iterator[None] - # The Windows terminal does not support the hide/show cursor ANSI codes, - # even via colorama. So don't even try. - if WINDOWS: - yield - # We don't want to clutter the output with control characters if we're - # writing to a file, or if the user is running with --quiet. - # See https://github.com/pypa/pip/issues/3418 - elif not file.isatty() or logger.getEffectiveLevel() > logging.INFO: - yield - else: - file.write(HIDE_CURSOR) - try: - yield - finally: - file.write(SHOW_CURSOR) - - -class RateLimiter(object): - def __init__(self, min_update_interval_seconds): - # type: (float) -> None - self._min_update_interval_seconds = min_update_interval_seconds - self._last_update = 0 # type: float - - def ready(self): - # type: () -> bool - now = time.time() - delta = now - self._last_update - return delta >= self._min_update_interval_seconds - - def reset(self): - # type: () -> None - self._last_update = time.time() - - -class SpinnerInterface(object): - def spin(self): - # type: () -> None - raise NotImplementedError() - - def finish(self, final_status): - # type: (str) -> None - raise NotImplementedError() - - -class InteractiveSpinner(SpinnerInterface): - def __init__(self, message, file=None, spin_chars="-\\|/", - # Empirically, 8 updates/second looks nice - min_update_interval_seconds=0.125): - self._message = message - if file is None: - file = sys.stdout - self._file = file - self._rate_limiter = RateLimiter(min_update_interval_seconds) - self._finished = False - - self._spin_cycle = itertools.cycle(spin_chars) - - self._file.write(" " * get_indentation() + self._message + " ... ") - self._width = 0 - - def _write(self, status): - assert not self._finished - # Erase what we wrote before by backspacing to the beginning, writing - # spaces to overwrite the old text, and then backspacing again - backup = "\b" * self._width - self._file.write(backup + " " * self._width + backup) - # Now we have a blank slate to add our status - self._file.write(status) - self._width = len(status) - self._file.flush() - self._rate_limiter.reset() - - def spin(self): - # type: () -> None - if self._finished: - return - if not self._rate_limiter.ready(): - return - self._write(next(self._spin_cycle)) - - def finish(self, final_status): - # type: (str) -> None - if self._finished: - return - self._write(final_status) - self._file.write("\n") - self._file.flush() - self._finished = True - - -# Used for dumb terminals, non-interactive installs (no tty), etc. -# We still print updates occasionally (once every 60 seconds by default) to -# act as a keep-alive for systems like Travis-CI that take lack-of-output as -# an indication that a task has frozen. -class NonInteractiveSpinner(SpinnerInterface): - def __init__(self, message, min_update_interval_seconds=60): - # type: (str, float) -> None - self._message = message - self._finished = False - self._rate_limiter = RateLimiter(min_update_interval_seconds) - self._update("started") - - def _update(self, status): - assert not self._finished - self._rate_limiter.reset() - logger.info("%s: %s", self._message, status) - - def spin(self): - # type: () -> None - if self._finished: - return - if not self._rate_limiter.ready(): - return - self._update("still running...") - - def finish(self, final_status): - # type: (str) -> None - if self._finished: - return - self._update("finished with status '%s'" % (final_status,)) - self._finished = True - - -@contextlib.contextmanager -def open_spinner(message): - # type: (str) -> Iterator[SpinnerInterface] - # Interactive spinner goes directly to sys.stdout rather than being routed - # through the logging system, but it acts like it has level INFO, - # i.e. it's only displayed if we're at level INFO or better. - # Non-interactive spinner goes through the logging system, so it is always - # in sync with logging configuration. - if sys.stdout.isatty() and logger.getEffectiveLevel() <= logging.INFO: - spinner = InteractiveSpinner(message) # type: SpinnerInterface - else: - spinner = NonInteractiveSpinner(message) - try: - with hidden_cursor(sys.stdout): - yield spinner - except KeyboardInterrupt: - spinner.finish("canceled") - raise - except Exception: - spinner.finish("error") - raise - else: - spinner.finish("done") diff --git a/.venv/lib/python3.8/site-packages/pip/_internal/utils/unpacking.py b/.venv/lib/python3.8/site-packages/pip/_internal/utils/unpacking.py deleted file mode 100644 index 7252dc2..0000000 --- a/.venv/lib/python3.8/site-packages/pip/_internal/utils/unpacking.py +++ /dev/null @@ -1,272 +0,0 @@ -"""Utilities related archives. -""" - -# The following comment should be removed at some point in the future. -# mypy: strict-optional=False -# mypy: disallow-untyped-defs=False - -from __future__ import absolute_import - -import logging -import os -import shutil -import stat -import tarfile -import zipfile - -from pip._internal.exceptions import InstallationError -from pip._internal.utils.filetypes import ( - BZ2_EXTENSIONS, - TAR_EXTENSIONS, - XZ_EXTENSIONS, - ZIP_EXTENSIONS, -) -from pip._internal.utils.misc import ensure_dir -from pip._internal.utils.typing import MYPY_CHECK_RUNNING - -if MYPY_CHECK_RUNNING: - from typing import Iterable, List, Optional, Text, Union - - -logger = logging.getLogger(__name__) - - -SUPPORTED_EXTENSIONS = ZIP_EXTENSIONS + TAR_EXTENSIONS - -try: - import bz2 # noqa - SUPPORTED_EXTENSIONS += BZ2_EXTENSIONS -except ImportError: - logger.debug('bz2 module is not available') - -try: - # Only for Python 3.3+ - import lzma # noqa - SUPPORTED_EXTENSIONS += XZ_EXTENSIONS -except ImportError: - logger.debug('lzma module is not available') - - -def current_umask(): - """Get the current umask which involves having to set it temporarily.""" - mask = os.umask(0) - os.umask(mask) - return mask - - -def split_leading_dir(path): - # type: (Union[str, Text]) -> List[Union[str, Text]] - path = path.lstrip('/').lstrip('\\') - if ( - '/' in path and ( - ('\\' in path and path.find('/') < path.find('\\')) or - '\\' not in path - ) - ): - return path.split('/', 1) - elif '\\' in path: - return path.split('\\', 1) - else: - return [path, ''] - - -def has_leading_dir(paths): - # type: (Iterable[Union[str, Text]]) -> bool - """Returns true if all the paths have the same leading path name - (i.e., everything is in one subdirectory in an archive)""" - common_prefix = None - for path in paths: - prefix, rest = split_leading_dir(path) - if not prefix: - return False - elif common_prefix is None: - common_prefix = prefix - elif prefix != common_prefix: - return False - return True - - -def is_within_directory(directory, target): - # type: ((Union[str, Text]), (Union[str, Text])) -> bool - """ - Return true if the absolute path of target is within the directory - """ - abs_directory = os.path.abspath(directory) - abs_target = os.path.abspath(target) - - prefix = os.path.commonprefix([abs_directory, abs_target]) - return prefix == abs_directory - - -def unzip_file(filename, location, flatten=True): - # type: (str, str, bool) -> None - """ - Unzip the file (with path `filename`) to the destination `location`. All - files are written based on system defaults and umask (i.e. permissions are - not preserved), except that regular file members with any execute - permissions (user, group, or world) have "chmod +x" applied after being - written. Note that for windows, any execute changes using os.chmod are - no-ops per the python docs. - """ - ensure_dir(location) - zipfp = open(filename, 'rb') - try: - zip = zipfile.ZipFile(zipfp, allowZip64=True) - leading = has_leading_dir(zip.namelist()) and flatten - for info in zip.infolist(): - name = info.filename - fn = name - if leading: - fn = split_leading_dir(name)[1] - fn = os.path.join(location, fn) - dir = os.path.dirname(fn) - if not is_within_directory(location, fn): - message = ( - 'The zip file ({}) has a file ({}) trying to install ' - 'outside target directory ({})' - ) - raise InstallationError(message.format(filename, fn, location)) - if fn.endswith('/') or fn.endswith('\\'): - # A directory - ensure_dir(fn) - else: - ensure_dir(dir) - # Don't use read() to avoid allocating an arbitrarily large - # chunk of memory for the file's content - fp = zip.open(name) - try: - with open(fn, 'wb') as destfp: - shutil.copyfileobj(fp, destfp) - finally: - fp.close() - mode = info.external_attr >> 16 - # if mode and regular file and any execute permissions for - # user/group/world? - if mode and stat.S_ISREG(mode) and mode & 0o111: - # make dest file have execute for user/group/world - # (chmod +x) no-op on windows per python docs - os.chmod(fn, (0o777 - current_umask() | 0o111)) - finally: - zipfp.close() - - -def untar_file(filename, location): - # type: (str, str) -> None - """ - Untar the file (with path `filename`) to the destination `location`. - All files are written based on system defaults and umask (i.e. permissions - are not preserved), except that regular file members with any execute - permissions (user, group, or world) have "chmod +x" applied after being - written. Note that for windows, any execute changes using os.chmod are - no-ops per the python docs. - """ - ensure_dir(location) - if filename.lower().endswith('.gz') or filename.lower().endswith('.tgz'): - mode = 'r:gz' - elif filename.lower().endswith(BZ2_EXTENSIONS): - mode = 'r:bz2' - elif filename.lower().endswith(XZ_EXTENSIONS): - mode = 'r:xz' - elif filename.lower().endswith('.tar'): - mode = 'r' - else: - logger.warning( - 'Cannot determine compression type for file %s', filename, - ) - mode = 'r:*' - tar = tarfile.open(filename, mode) - try: - leading = has_leading_dir([ - member.name for member in tar.getmembers() - ]) - for member in tar.getmembers(): - fn = member.name - if leading: - # https://github.com/python/mypy/issues/1174 - fn = split_leading_dir(fn)[1] # type: ignore - path = os.path.join(location, fn) - if not is_within_directory(location, path): - message = ( - 'The tar file ({}) has a file ({}) trying to install ' - 'outside target directory ({})' - ) - raise InstallationError( - message.format(filename, path, location) - ) - if member.isdir(): - ensure_dir(path) - elif member.issym(): - try: - # https://github.com/python/typeshed/issues/2673 - tar._extract_member(member, path) # type: ignore - except Exception as exc: - # Some corrupt tar files seem to produce this - # (specifically bad symlinks) - logger.warning( - 'In the tar file %s the member %s is invalid: %s', - filename, member.name, exc, - ) - continue - else: - try: - fp = tar.extractfile(member) - except (KeyError, AttributeError) as exc: - # Some corrupt tar files seem to produce this - # (specifically bad symlinks) - logger.warning( - 'In the tar file %s the member %s is invalid: %s', - filename, member.name, exc, - ) - continue - ensure_dir(os.path.dirname(path)) - with open(path, 'wb') as destfp: - shutil.copyfileobj(fp, destfp) - fp.close() - # Update the timestamp (useful for cython compiled files) - # https://github.com/python/typeshed/issues/2673 - tar.utime(member, path) # type: ignore - # member have any execute permissions for user/group/world? - if member.mode & 0o111: - # make dest file have execute for user/group/world - # no-op on windows per python docs - os.chmod(path, (0o777 - current_umask() | 0o111)) - finally: - tar.close() - - -def unpack_file( - filename, # type: str - location, # type: str - content_type=None, # type: Optional[str] -): - # type: (...) -> None - filename = os.path.realpath(filename) - if ( - content_type == 'application/zip' or - filename.lower().endswith(ZIP_EXTENSIONS) or - zipfile.is_zipfile(filename) - ): - unzip_file( - filename, - location, - flatten=not filename.endswith('.whl') - ) - elif ( - content_type == 'application/x-gzip' or - tarfile.is_tarfile(filename) or - filename.lower().endswith( - TAR_EXTENSIONS + BZ2_EXTENSIONS + XZ_EXTENSIONS - ) - ): - untar_file(filename, location) - else: - # FIXME: handle? - # FIXME: magic signatures? - logger.critical( - 'Cannot unpack file %s (downloaded from %s, content-type: %s); ' - 'cannot detect archive format', - filename, location, content_type, - ) - raise InstallationError( - 'Cannot determine archive format of {}'.format(location) - ) diff --git a/.venv/lib/python3.8/site-packages/pip/_internal/utils/urls.py b/.venv/lib/python3.8/site-packages/pip/_internal/utils/urls.py deleted file mode 100644 index 9ad40fe..0000000 --- a/.venv/lib/python3.8/site-packages/pip/_internal/utils/urls.py +++ /dev/null @@ -1,54 +0,0 @@ -import os -import sys - -from pip._vendor.six.moves.urllib import parse as urllib_parse -from pip._vendor.six.moves.urllib import request as urllib_request - -from pip._internal.utils.typing import MYPY_CHECK_RUNNING - -if MYPY_CHECK_RUNNING: - from typing import Optional, Text, Union - - -def get_url_scheme(url): - # type: (Union[str, Text]) -> Optional[Text] - if ':' not in url: - return None - return url.split(':', 1)[0].lower() - - -def path_to_url(path): - # type: (Union[str, Text]) -> str - """ - Convert a path to a file: URL. The path will be made absolute and have - quoted path parts. - """ - path = os.path.normpath(os.path.abspath(path)) - url = urllib_parse.urljoin('file:', urllib_request.pathname2url(path)) - return url - - -def url_to_path(url): - # type: (str) -> str - """ - Convert a file: URL to a path. - """ - assert url.startswith('file:'), ( - "You can only turn file: urls into filenames (not %r)" % url) - - _, netloc, path, _, _ = urllib_parse.urlsplit(url) - - if not netloc or netloc == 'localhost': - # According to RFC 8089, same as empty authority. - netloc = '' - elif sys.platform == 'win32': - # If we have a UNC path, prepend UNC share notation. - netloc = '\\\\' + netloc - else: - raise ValueError( - 'non-local file URIs are not supported on this platform: %r' - % url - ) - - path = urllib_request.url2pathname(netloc + path) - return path diff --git a/.venv/lib/python3.8/site-packages/pip/_internal/utils/virtualenv.py b/.venv/lib/python3.8/site-packages/pip/_internal/utils/virtualenv.py deleted file mode 100644 index d81e6ac..0000000 --- a/.venv/lib/python3.8/site-packages/pip/_internal/utils/virtualenv.py +++ /dev/null @@ -1,115 +0,0 @@ -from __future__ import absolute_import - -import logging -import os -import re -import site -import sys - -from pip._internal.utils.typing import MYPY_CHECK_RUNNING - -if MYPY_CHECK_RUNNING: - from typing import List, Optional - -logger = logging.getLogger(__name__) -_INCLUDE_SYSTEM_SITE_PACKAGES_REGEX = re.compile( - r"include-system-site-packages\s*=\s*(?P<value>true|false)" -) - - -def _running_under_venv(): - # type: () -> bool - """Checks if sys.base_prefix and sys.prefix match. - - This handles PEP 405 compliant virtual environments. - """ - return sys.prefix != getattr(sys, "base_prefix", sys.prefix) - - -def _running_under_regular_virtualenv(): - # type: () -> bool - """Checks if sys.real_prefix is set. - - This handles virtual environments created with pypa's virtualenv. - """ - # pypa/virtualenv case - return hasattr(sys, 'real_prefix') - - -def running_under_virtualenv(): - # type: () -> bool - """Return True if we're running inside a virtualenv, False otherwise. - """ - return _running_under_venv() or _running_under_regular_virtualenv() - - -def _get_pyvenv_cfg_lines(): - # type: () -> Optional[List[str]] - """Reads {sys.prefix}/pyvenv.cfg and returns its contents as list of lines - - Returns None, if it could not read/access the file. - """ - pyvenv_cfg_file = os.path.join(sys.prefix, 'pyvenv.cfg') - try: - with open(pyvenv_cfg_file) as f: - return f.read().splitlines() # avoids trailing newlines - except IOError: - return None - - -def _no_global_under_venv(): - # type: () -> bool - """Check `{sys.prefix}/pyvenv.cfg` for system site-packages inclusion - - PEP 405 specifies that when system site-packages are not supposed to be - visible from a virtual environment, `pyvenv.cfg` must contain the following - line: - - include-system-site-packages = false - - Additionally, log a warning if accessing the file fails. - """ - cfg_lines = _get_pyvenv_cfg_lines() - if cfg_lines is None: - # We're not in a "sane" venv, so assume there is no system - # site-packages access (since that's PEP 405's default state). - logger.warning( - "Could not access 'pyvenv.cfg' despite a virtual environment " - "being active. Assuming global site-packages is not accessible " - "in this environment." - ) - return True - - for line in cfg_lines: - match = _INCLUDE_SYSTEM_SITE_PACKAGES_REGEX.match(line) - if match is not None and match.group('value') == 'false': - return True - return False - - -def _no_global_under_regular_virtualenv(): - # type: () -> bool - """Check if "no-global-site-packages.txt" exists beside site.py - - This mirrors logic in pypa/virtualenv for determining whether system - site-packages are visible in the virtual environment. - """ - site_mod_dir = os.path.dirname(os.path.abspath(site.__file__)) - no_global_site_packages_file = os.path.join( - site_mod_dir, 'no-global-site-packages.txt', - ) - return os.path.exists(no_global_site_packages_file) - - -def virtualenv_no_global(): - # type: () -> bool - """Returns a boolean, whether running in venv with no system site-packages. - """ - - if _running_under_regular_virtualenv(): - return _no_global_under_regular_virtualenv() - - if _running_under_venv(): - return _no_global_under_venv() - - return False diff --git a/.venv/lib/python3.8/site-packages/pip/_internal/utils/wheel.py b/.venv/lib/python3.8/site-packages/pip/_internal/utils/wheel.py deleted file mode 100644 index 837e0af..0000000 --- a/.venv/lib/python3.8/site-packages/pip/_internal/utils/wheel.py +++ /dev/null @@ -1,225 +0,0 @@ -"""Support functions for working with wheel files. -""" - -from __future__ import absolute_import - -import logging -from email.parser import Parser -from zipfile import ZipFile - -from pip._vendor.packaging.utils import canonicalize_name -from pip._vendor.pkg_resources import DistInfoDistribution -from pip._vendor.six import PY2, ensure_str - -from pip._internal.exceptions import UnsupportedWheel -from pip._internal.utils.pkg_resources import DictMetadata -from pip._internal.utils.typing import MYPY_CHECK_RUNNING - -if MYPY_CHECK_RUNNING: - from email.message import Message - from typing import Dict, Tuple - - from pip._vendor.pkg_resources import Distribution - -if PY2: - from zipfile import BadZipfile as BadZipFile -else: - from zipfile import BadZipFile - - -VERSION_COMPATIBLE = (1, 0) - - -logger = logging.getLogger(__name__) - - -class WheelMetadata(DictMetadata): - """Metadata provider that maps metadata decoding exceptions to our - internal exception type. - """ - def __init__(self, metadata, wheel_name): - # type: (Dict[str, bytes], str) -> None - super(WheelMetadata, self).__init__(metadata) - self._wheel_name = wheel_name - - def get_metadata(self, name): - # type: (str) -> str - try: - return super(WheelMetadata, self).get_metadata(name) - except UnicodeDecodeError as e: - # Augment the default error with the origin of the file. - raise UnsupportedWheel( - "Error decoding metadata for {}: {}".format( - self._wheel_name, e - ) - ) - - -def pkg_resources_distribution_for_wheel(wheel_zip, name, location): - # type: (ZipFile, str, str) -> Distribution - """Get a pkg_resources distribution given a wheel. - - :raises UnsupportedWheel: on any errors - """ - info_dir, _ = parse_wheel(wheel_zip, name) - - metadata_files = [ - p for p in wheel_zip.namelist() if p.startswith("{}/".format(info_dir)) - ] - - metadata_text = {} # type: Dict[str, bytes] - for path in metadata_files: - # If a flag is set, namelist entries may be unicode in Python 2. - # We coerce them to native str type to match the types used in the rest - # of the code. This cannot fail because unicode can always be encoded - # with UTF-8. - full_path = ensure_str(path) - _, metadata_name = full_path.split("/", 1) - - try: - metadata_text[metadata_name] = read_wheel_metadata_file( - wheel_zip, full_path - ) - except UnsupportedWheel as e: - raise UnsupportedWheel( - "{} has an invalid wheel, {}".format(name, str(e)) - ) - - metadata = WheelMetadata(metadata_text, location) - - return DistInfoDistribution( - location=location, metadata=metadata, project_name=name - ) - - -def parse_wheel(wheel_zip, name): - # type: (ZipFile, str) -> Tuple[str, Message] - """Extract information from the provided wheel, ensuring it meets basic - standards. - - Returns the name of the .dist-info directory and the parsed WHEEL metadata. - """ - try: - info_dir = wheel_dist_info_dir(wheel_zip, name) - metadata = wheel_metadata(wheel_zip, info_dir) - version = wheel_version(metadata) - except UnsupportedWheel as e: - raise UnsupportedWheel( - "{} has an invalid wheel, {}".format(name, str(e)) - ) - - check_compatibility(version, name) - - return info_dir, metadata - - -def wheel_dist_info_dir(source, name): - # type: (ZipFile, str) -> str - """Returns the name of the contained .dist-info directory. - - Raises AssertionError or UnsupportedWheel if not found, >1 found, or - it doesn't match the provided name. - """ - # Zip file path separators must be / - subdirs = list(set(p.split("/")[0] for p in source.namelist())) - - info_dirs = [s for s in subdirs if s.endswith('.dist-info')] - - if not info_dirs: - raise UnsupportedWheel(".dist-info directory not found") - - if len(info_dirs) > 1: - raise UnsupportedWheel( - "multiple .dist-info directories found: {}".format( - ", ".join(info_dirs) - ) - ) - - info_dir = info_dirs[0] - - info_dir_name = canonicalize_name(info_dir) - canonical_name = canonicalize_name(name) - if not info_dir_name.startswith(canonical_name): - raise UnsupportedWheel( - ".dist-info directory {!r} does not start with {!r}".format( - info_dir, canonical_name - ) - ) - - # Zip file paths can be unicode or str depending on the zip entry flags, - # so normalize it. - return ensure_str(info_dir) - - -def read_wheel_metadata_file(source, path): - # type: (ZipFile, str) -> bytes - try: - return source.read(path) - # BadZipFile for general corruption, KeyError for missing entry, - # and RuntimeError for password-protected files - except (BadZipFile, KeyError, RuntimeError) as e: - raise UnsupportedWheel( - "could not read {!r} file: {!r}".format(path, e) - ) - - -def wheel_metadata(source, dist_info_dir): - # type: (ZipFile, str) -> Message - """Return the WHEEL metadata of an extracted wheel, if possible. - Otherwise, raise UnsupportedWheel. - """ - path = "{}/WHEEL".format(dist_info_dir) - # Zip file path separators must be / - wheel_contents = read_wheel_metadata_file(source, path) - - try: - wheel_text = ensure_str(wheel_contents) - except UnicodeDecodeError as e: - raise UnsupportedWheel("error decoding {!r}: {!r}".format(path, e)) - - # FeedParser (used by Parser) does not raise any exceptions. The returned - # message may have .defects populated, but for backwards-compatibility we - # currently ignore them. - return Parser().parsestr(wheel_text) - - -def wheel_version(wheel_data): - # type: (Message) -> Tuple[int, ...] - """Given WHEEL metadata, return the parsed Wheel-Version. - Otherwise, raise UnsupportedWheel. - """ - version_text = wheel_data["Wheel-Version"] - if version_text is None: - raise UnsupportedWheel("WHEEL is missing Wheel-Version") - - version = version_text.strip() - - try: - return tuple(map(int, version.split('.'))) - except ValueError: - raise UnsupportedWheel("invalid Wheel-Version: {!r}".format(version)) - - -def check_compatibility(version, name): - # type: (Tuple[int, ...], str) -> None - """Raises errors or warns if called with an incompatible Wheel-Version. - - Pip should refuse to install a Wheel-Version that's a major series - ahead of what it's compatible with (e.g 2.0 > 1.1); and warn when - installing a version only minor version ahead (e.g 1.2 > 1.1). - - version: a 2-tuple representing a Wheel-Version (Major, Minor) - name: name of wheel or package to raise exception about - - :raises UnsupportedWheel: when an incompatible Wheel-Version is given - """ - if version[0] > VERSION_COMPATIBLE[0]: - raise UnsupportedWheel( - "%s's Wheel-Version (%s) is not compatible with this version " - "of pip" % (name, '.'.join(map(str, version))) - ) - elif version > VERSION_COMPATIBLE: - logger.warning( - 'Installing from a newer Wheel-Version (%s)', - '.'.join(map(str, version)), - ) diff --git a/.venv/lib/python3.8/site-packages/pip/_internal/vcs/__init__.py b/.venv/lib/python3.8/site-packages/pip/_internal/vcs/__init__.py deleted file mode 100644 index 2a4eb13..0000000 --- a/.venv/lib/python3.8/site-packages/pip/_internal/vcs/__init__.py +++ /dev/null @@ -1,15 +0,0 @@ -# Expose a limited set of classes and functions so callers outside of -# the vcs package don't need to import deeper than `pip._internal.vcs`. -# (The test directory and imports protected by MYPY_CHECK_RUNNING may -# still need to import from a vcs sub-package.) -# Import all vcs modules to register each VCS in the VcsSupport object. -import pip._internal.vcs.bazaar -import pip._internal.vcs.git -import pip._internal.vcs.mercurial -import pip._internal.vcs.subversion # noqa: F401 -from pip._internal.vcs.versioncontrol import ( # noqa: F401 - RemoteNotFoundError, - is_url, - make_vcs_requirement_url, - vcs, -) diff --git a/.venv/lib/python3.8/site-packages/pip/_internal/vcs/__pycache__/__init__.cpython-38.pyc b/.venv/lib/python3.8/site-packages/pip/_internal/vcs/__pycache__/__init__.cpython-38.pyc deleted file mode 100644 index a7a6aa463cf47a718e38730e3f735f63255d8b7e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 448 zcmWIL<>g{vU|=}A?@w|j69dCz5C<7EF)%PVFfcF_+b}RNq%fo~<}gGtf@vlw%?zbk zz%)}1Yc5+9TP}MPdoD*5M=oa+CnG}&V=#jz^GlGqewr+|go9FZ^Gj0w@=M(EOY>4( zi;D7#Zn0$+$Cno6+>*#m%ubCjOD>KtN-ZqSEK1Ey%_{-RFqb74YjWL^D99|(i_gp} zNiE7t%+V`LF4jv*tV&EQy2V_OS#V1fQ#w7f<d!t1aBgZ*a%oX!V$LlYOv&QXq_Wha z;>`TKTMC%6P^sknypp2)oFY&l6)`g~Fch(X2v!CLhLsFOJRmlR_+_VGl3So(kXfKx znpcpRoSmAYTb_}cnxk8un_X0zl2Z(l(}(*>zbv^}KR!M)FS8^*Uaz3?7Kcr4eoARh RsvR3BCO8-v7&sUq5CCsAhzI}x diff --git a/.venv/lib/python3.8/site-packages/pip/_internal/vcs/__pycache__/bazaar.cpython-38.pyc b/.venv/lib/python3.8/site-packages/pip/_internal/vcs/__pycache__/bazaar.cpython-38.pyc deleted file mode 100644 index 40491035309ee2e817af588bedbb60121b2bc098..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3747 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 V0Y)A$6kr0iXm}U}n7Nn*;sEfYqW1s* diff --git a/.venv/lib/python3.8/site-packages/pip/_internal/vcs/__pycache__/git.cpython-38.pyc b/.venv/lib/python3.8/site-packages/pip/_internal/vcs/__pycache__/git.cpython-38.pyc deleted file mode 100644 index a6d53bda720448d105b3f71a15dedd7f78b1ad39..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9559 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 Tk&T&)nTwf&MWCLco*^Cp!?c<7 diff --git a/.venv/lib/python3.8/site-packages/pip/_internal/vcs/__pycache__/mercurial.cpython-38.pyc b/.venv/lib/python3.8/site-packages/pip/_internal/vcs/__pycache__/mercurial.cpython-38.pyc deleted file mode 100644 index 79a05c3e7468547320d79e81be3ac90ab56c4344..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4888 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 Oim<VOSj=3^0yO~j4(n9_ diff --git a/.venv/lib/python3.8/site-packages/pip/_internal/vcs/__pycache__/subversion.cpython-38.pyc b/.venv/lib/python3.8/site-packages/pip/_internal/vcs/__pycache__/subversion.cpython-38.pyc deleted file mode 100644 index 21589ea3141804de676c322c6db89393f8d11d99..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8487 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 diff --git a/.venv/lib/python3.8/site-packages/pip/_internal/vcs/__pycache__/versioncontrol.cpython-38.pyc b/.venv/lib/python3.8/site-packages/pip/_internal/vcs/__pycache__/versioncontrol.cpython-38.pyc deleted file mode 100644 index d22b76ced8fb22bb768d331c4c02207ec1df0a23..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 19216 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 SIk>q5Ib;M_1Uv<T*q8xLC#Ng` diff --git a/.venv/lib/python3.8/site-packages/pip/_internal/vcs/bazaar.py b/.venv/lib/python3.8/site-packages/pip/_internal/vcs/bazaar.py deleted file mode 100644 index 347c06f..0000000 --- a/.venv/lib/python3.8/site-packages/pip/_internal/vcs/bazaar.py +++ /dev/null @@ -1,120 +0,0 @@ -# The following comment should be removed at some point in the future. -# mypy: disallow-untyped-defs=False - -from __future__ import absolute_import - -import logging -import os - -from pip._vendor.six.moves.urllib import parse as urllib_parse - -from pip._internal.utils.misc import display_path, rmtree -from pip._internal.utils.subprocess import make_command -from pip._internal.utils.typing import MYPY_CHECK_RUNNING -from pip._internal.utils.urls import path_to_url -from pip._internal.vcs.versioncontrol import VersionControl, vcs - -if MYPY_CHECK_RUNNING: - from typing import Optional, Tuple - from pip._internal.utils.misc import HiddenText - from pip._internal.vcs.versioncontrol import AuthInfo, RevOptions - - -logger = logging.getLogger(__name__) - - -class Bazaar(VersionControl): - name = 'bzr' - dirname = '.bzr' - repo_name = 'branch' - schemes = ( - 'bzr', 'bzr+http', 'bzr+https', 'bzr+ssh', 'bzr+sftp', 'bzr+ftp', - 'bzr+lp', - ) - - def __init__(self, *args, **kwargs): - super(Bazaar, self).__init__(*args, **kwargs) - # This is only needed for python <2.7.5 - # Register lp but do not expose as a scheme to support bzr+lp. - if getattr(urllib_parse, 'uses_fragment', None): - urllib_parse.uses_fragment.extend(['lp']) - - @staticmethod - def get_base_rev_args(rev): - return ['-r', rev] - - def export(self, location, url): - # type: (str, HiddenText) -> None - """ - Export the Bazaar repository at the url to the destination location - """ - # Remove the location to make sure Bazaar can export it correctly - if os.path.exists(location): - rmtree(location) - - url, rev_options = self.get_url_rev_options(url) - self.run_command( - make_command('export', location, url, rev_options.to_args()), - show_stdout=False, - ) - - def fetch_new(self, dest, url, rev_options): - # type: (str, HiddenText, RevOptions) -> None - rev_display = rev_options.to_display() - logger.info( - 'Checking out %s%s to %s', - url, - rev_display, - display_path(dest), - ) - cmd_args = ( - make_command('branch', '-q', rev_options.to_args(), url, dest) - ) - self.run_command(cmd_args) - - def switch(self, dest, url, rev_options): - # type: (str, HiddenText, RevOptions) -> None - self.run_command(make_command('switch', url), cwd=dest) - - def update(self, dest, url, rev_options): - # type: (str, HiddenText, RevOptions) -> None - cmd_args = make_command('pull', '-q', rev_options.to_args()) - self.run_command(cmd_args, cwd=dest) - - @classmethod - def get_url_rev_and_auth(cls, url): - # type: (str) -> Tuple[str, Optional[str], AuthInfo] - # hotfix the URL scheme after removing bzr+ from bzr+ssh:// readd it - url, rev, user_pass = super(Bazaar, cls).get_url_rev_and_auth(url) - if url.startswith('ssh://'): - url = 'bzr+' + url - return url, rev, user_pass - - @classmethod - def get_remote_url(cls, location): - urls = cls.run_command(['info'], show_stdout=False, cwd=location) - for line in urls.splitlines(): - line = line.strip() - for x in ('checkout of branch: ', - 'parent branch: '): - if line.startswith(x): - repo = line.split(x)[1] - if cls._is_local_repository(repo): - return path_to_url(repo) - return repo - return None - - @classmethod - def get_revision(cls, location): - revision = cls.run_command( - ['revno'], show_stdout=False, cwd=location, - ) - return revision.splitlines()[-1] - - @classmethod - def is_commit_id_equal(cls, dest, name): - """Always assume the versions don't match""" - return False - - -vcs.register(Bazaar) diff --git a/.venv/lib/python3.8/site-packages/pip/_internal/vcs/git.py b/.venv/lib/python3.8/site-packages/pip/_internal/vcs/git.py deleted file mode 100644 index d706064..0000000 --- a/.venv/lib/python3.8/site-packages/pip/_internal/vcs/git.py +++ /dev/null @@ -1,395 +0,0 @@ -# The following comment should be removed at some point in the future. -# mypy: disallow-untyped-defs=False - -from __future__ import absolute_import - -import logging -import os.path -import re - -from pip._vendor.packaging.version import parse as parse_version -from pip._vendor.six.moves.urllib import parse as urllib_parse -from pip._vendor.six.moves.urllib import request as urllib_request - -from pip._internal.exceptions import BadCommand -from pip._internal.utils.misc import display_path, hide_url -from pip._internal.utils.subprocess import make_command -from pip._internal.utils.temp_dir import TempDirectory -from pip._internal.utils.typing import MYPY_CHECK_RUNNING -from pip._internal.vcs.versioncontrol import ( - RemoteNotFoundError, - VersionControl, - find_path_to_setup_from_repo_root, - vcs, -) - -if MYPY_CHECK_RUNNING: - from typing import Optional, Tuple - from pip._internal.utils.misc import HiddenText - from pip._internal.vcs.versioncontrol import AuthInfo, RevOptions - - -urlsplit = urllib_parse.urlsplit -urlunsplit = urllib_parse.urlunsplit - - -logger = logging.getLogger(__name__) - - -HASH_REGEX = re.compile('^[a-fA-F0-9]{40}$') - - -def looks_like_hash(sha): - return bool(HASH_REGEX.match(sha)) - - -class Git(VersionControl): - name = 'git' - dirname = '.git' - repo_name = 'clone' - schemes = ( - 'git', 'git+http', 'git+https', 'git+ssh', 'git+git', 'git+file', - ) - # Prevent the user's environment variables from interfering with pip: - # https://github.com/pypa/pip/issues/1130 - unset_environ = ('GIT_DIR', 'GIT_WORK_TREE') - default_arg_rev = 'HEAD' - - @staticmethod - def get_base_rev_args(rev): - return [rev] - - def is_immutable_rev_checkout(self, url, dest): - # type: (str, str) -> bool - _, rev_options = self.get_url_rev_options(hide_url(url)) - if not rev_options.rev: - return False - if not self.is_commit_id_equal(dest, rev_options.rev): - # the current commit is different from rev, - # which means rev was something else than a commit hash - return False - # return False in the rare case rev is both a commit hash - # and a tag or a branch; we don't want to cache in that case - # because that branch/tag could point to something else in the future - is_tag_or_branch = bool( - self.get_revision_sha(dest, rev_options.rev)[0] - ) - return not is_tag_or_branch - - def get_git_version(self): - VERSION_PFX = 'git version ' - version = self.run_command(['version'], show_stdout=False) - if version.startswith(VERSION_PFX): - version = version[len(VERSION_PFX):].split()[0] - else: - version = '' - # get first 3 positions of the git version because - # on windows it is x.y.z.windows.t, and this parses as - # LegacyVersion which always smaller than a Version. - version = '.'.join(version.split('.')[:3]) - return parse_version(version) - - @classmethod - def get_current_branch(cls, location): - """ - Return the current branch, or None if HEAD isn't at a branch - (e.g. detached HEAD). - """ - # git-symbolic-ref exits with empty stdout if "HEAD" is a detached - # HEAD rather than a symbolic ref. In addition, the -q causes the - # command to exit with status code 1 instead of 128 in this case - # and to suppress the message to stderr. - args = ['symbolic-ref', '-q', 'HEAD'] - output = cls.run_command( - args, extra_ok_returncodes=(1, ), show_stdout=False, cwd=location, - ) - ref = output.strip() - - if ref.startswith('refs/heads/'): - return ref[len('refs/heads/'):] - - return None - - def export(self, location, url): - # type: (str, HiddenText) -> None - """Export the Git repository at the url to the destination location""" - if not location.endswith('/'): - location = location + '/' - - with TempDirectory(kind="export") as temp_dir: - self.unpack(temp_dir.path, url=url) - self.run_command( - ['checkout-index', '-a', '-f', '--prefix', location], - show_stdout=False, cwd=temp_dir.path - ) - - @classmethod - def get_revision_sha(cls, dest, rev): - """ - Return (sha_or_none, is_branch), where sha_or_none is a commit hash - if the revision names a remote branch or tag, otherwise None. - - Args: - dest: the repository directory. - rev: the revision name. - """ - # Pass rev to pre-filter the list. - output = cls.run_command(['show-ref', rev], cwd=dest, - show_stdout=False, on_returncode='ignore') - refs = {} - # NOTE: We do not use splitlines here since that would split on other - # unicode separators, which can be maliciously used to install a - # different revision. - for line in output.strip().split("\n"): - line = line.rstrip("\r") - if not line: - continue - try: - sha, ref = line.split(" ", maxsplit=2) - except ValueError: - # Include the offending line to simplify troubleshooting if - # this error ever occurs. - raise ValueError('unexpected show-ref line: {!r}'.format(line)) - - refs[ref] = sha - - branch_ref = 'refs/remotes/origin/{}'.format(rev) - tag_ref = 'refs/tags/{}'.format(rev) - - sha = refs.get(branch_ref) - if sha is not None: - return (sha, True) - - sha = refs.get(tag_ref) - - return (sha, False) - - @classmethod - def resolve_revision(cls, dest, url, rev_options): - # type: (str, HiddenText, RevOptions) -> RevOptions - """ - Resolve a revision to a new RevOptions object with the SHA1 of the - branch, tag, or ref if found. - - Args: - rev_options: a RevOptions object. - """ - rev = rev_options.arg_rev - # The arg_rev property's implementation for Git ensures that the - # rev return value is always non-None. - assert rev is not None - - sha, is_branch = cls.get_revision_sha(dest, rev) - - if sha is not None: - rev_options = rev_options.make_new(sha) - rev_options.branch_name = rev if is_branch else None - - return rev_options - - # Do not show a warning for the common case of something that has - # the form of a Git commit hash. - if not looks_like_hash(rev): - logger.warning( - "Did not find branch or tag '%s', assuming revision or ref.", - rev, - ) - - if not rev.startswith('refs/'): - return rev_options - - # If it looks like a ref, we have to fetch it explicitly. - cls.run_command( - make_command('fetch', '-q', url, rev_options.to_args()), - cwd=dest, - ) - # Change the revision to the SHA of the ref we fetched - sha = cls.get_revision(dest, rev='FETCH_HEAD') - rev_options = rev_options.make_new(sha) - - return rev_options - - @classmethod - def is_commit_id_equal(cls, dest, name): - """ - Return whether the current commit hash equals the given name. - - Args: - dest: the repository directory. - name: a string name. - """ - if not name: - # Then avoid an unnecessary subprocess call. - return False - - return cls.get_revision(dest) == name - - def fetch_new(self, dest, url, rev_options): - # type: (str, HiddenText, RevOptions) -> None - rev_display = rev_options.to_display() - logger.info('Cloning %s%s to %s', url, rev_display, display_path(dest)) - self.run_command(make_command('clone', '-q', url, dest)) - - if rev_options.rev: - # Then a specific revision was requested. - rev_options = self.resolve_revision(dest, url, rev_options) - branch_name = getattr(rev_options, 'branch_name', None) - if branch_name is None: - # Only do a checkout if the current commit id doesn't match - # the requested revision. - if not self.is_commit_id_equal(dest, rev_options.rev): - cmd_args = make_command( - 'checkout', '-q', rev_options.to_args(), - ) - self.run_command(cmd_args, cwd=dest) - elif self.get_current_branch(dest) != branch_name: - # Then a specific branch was requested, and that branch - # is not yet checked out. - track_branch = 'origin/{}'.format(branch_name) - cmd_args = [ - 'checkout', '-b', branch_name, '--track', track_branch, - ] - self.run_command(cmd_args, cwd=dest) - - #: repo may contain submodules - self.update_submodules(dest) - - def switch(self, dest, url, rev_options): - # type: (str, HiddenText, RevOptions) -> None - self.run_command( - make_command('config', 'remote.origin.url', url), - cwd=dest, - ) - cmd_args = make_command('checkout', '-q', rev_options.to_args()) - self.run_command(cmd_args, cwd=dest) - - self.update_submodules(dest) - - def update(self, dest, url, rev_options): - # type: (str, HiddenText, RevOptions) -> None - # First fetch changes from the default remote - if self.get_git_version() >= parse_version('1.9.0'): - # fetch tags in addition to everything else - self.run_command(['fetch', '-q', '--tags'], cwd=dest) - else: - self.run_command(['fetch', '-q'], cwd=dest) - # Then reset to wanted revision (maybe even origin/master) - rev_options = self.resolve_revision(dest, url, rev_options) - cmd_args = make_command('reset', '--hard', '-q', rev_options.to_args()) - self.run_command(cmd_args, cwd=dest) - #: update submodules - self.update_submodules(dest) - - @classmethod - def get_remote_url(cls, location): - """ - Return URL of the first remote encountered. - - Raises RemoteNotFoundError if the repository does not have a remote - url configured. - """ - # We need to pass 1 for extra_ok_returncodes since the command - # exits with return code 1 if there are no matching lines. - stdout = cls.run_command( - ['config', '--get-regexp', r'remote\..*\.url'], - extra_ok_returncodes=(1, ), show_stdout=False, cwd=location, - ) - remotes = stdout.splitlines() - try: - found_remote = remotes[0] - except IndexError: - raise RemoteNotFoundError - - for remote in remotes: - if remote.startswith('remote.origin.url '): - found_remote = remote - break - url = found_remote.split(' ')[1] - return url.strip() - - @classmethod - def get_revision(cls, location, rev=None): - if rev is None: - rev = 'HEAD' - current_rev = cls.run_command( - ['rev-parse', rev], show_stdout=False, cwd=location, - ) - return current_rev.strip() - - @classmethod - def get_subdirectory(cls, location): - """ - Return the path to setup.py, relative to the repo root. - Return None if setup.py is in the repo root. - """ - # find the repo root - git_dir = cls.run_command( - ['rev-parse', '--git-dir'], - show_stdout=False, cwd=location).strip() - if not os.path.isabs(git_dir): - git_dir = os.path.join(location, git_dir) - repo_root = os.path.abspath(os.path.join(git_dir, '..')) - return find_path_to_setup_from_repo_root(location, repo_root) - - @classmethod - def get_url_rev_and_auth(cls, url): - # type: (str) -> Tuple[str, Optional[str], AuthInfo] - """ - Prefixes stub URLs like 'user@hostname:user/repo.git' with 'ssh://'. - That's required because although they use SSH they sometimes don't - work with a ssh:// scheme (e.g. GitHub). But we need a scheme for - parsing. Hence we remove it again afterwards and return it as a stub. - """ - # Works around an apparent Git bug - # (see https://article.gmane.org/gmane.comp.version-control.git/146500) - scheme, netloc, path, query, fragment = urlsplit(url) - if scheme.endswith('file'): - initial_slashes = path[:-len(path.lstrip('/'))] - newpath = ( - initial_slashes + - urllib_request.url2pathname(path) - .replace('\\', '/').lstrip('/') - ) - url = urlunsplit((scheme, netloc, newpath, query, fragment)) - after_plus = scheme.find('+') + 1 - url = scheme[:after_plus] + urlunsplit( - (scheme[after_plus:], netloc, newpath, query, fragment), - ) - - if '://' not in url: - assert 'file:' not in url - url = url.replace('git+', 'git+ssh://') - url, rev, user_pass = super(Git, cls).get_url_rev_and_auth(url) - url = url.replace('ssh://', '') - else: - url, rev, user_pass = super(Git, cls).get_url_rev_and_auth(url) - - return url, rev, user_pass - - @classmethod - def update_submodules(cls, location): - if not os.path.exists(os.path.join(location, '.gitmodules')): - return - cls.run_command( - ['submodule', 'update', '--init', '--recursive', '-q'], - cwd=location, - ) - - @classmethod - def controls_location(cls, location): - if super(Git, cls).controls_location(location): - return True - try: - r = cls.run_command(['rev-parse'], - cwd=location, - show_stdout=False, - on_returncode='ignore', - log_failed_cmd=False) - return not r - except BadCommand: - logger.debug("could not determine if %s is under git control " - "because git is not available", location) - return False - - -vcs.register(Git) diff --git a/.venv/lib/python3.8/site-packages/pip/_internal/vcs/mercurial.py b/.venv/lib/python3.8/site-packages/pip/_internal/vcs/mercurial.py deleted file mode 100644 index d9b58cf..0000000 --- a/.venv/lib/python3.8/site-packages/pip/_internal/vcs/mercurial.py +++ /dev/null @@ -1,155 +0,0 @@ -# The following comment should be removed at some point in the future. -# mypy: disallow-untyped-defs=False - -from __future__ import absolute_import - -import logging -import os - -from pip._vendor.six.moves import configparser - -from pip._internal.exceptions import BadCommand, InstallationError -from pip._internal.utils.misc import display_path -from pip._internal.utils.subprocess import make_command -from pip._internal.utils.temp_dir import TempDirectory -from pip._internal.utils.typing import MYPY_CHECK_RUNNING -from pip._internal.utils.urls import path_to_url -from pip._internal.vcs.versioncontrol import ( - VersionControl, - find_path_to_setup_from_repo_root, - vcs, -) - -if MYPY_CHECK_RUNNING: - from pip._internal.utils.misc import HiddenText - from pip._internal.vcs.versioncontrol import RevOptions - - -logger = logging.getLogger(__name__) - - -class Mercurial(VersionControl): - name = 'hg' - dirname = '.hg' - repo_name = 'clone' - schemes = ( - 'hg', 'hg+file', 'hg+http', 'hg+https', 'hg+ssh', 'hg+static-http', - ) - - @staticmethod - def get_base_rev_args(rev): - return [rev] - - def export(self, location, url): - # type: (str, HiddenText) -> None - """Export the Hg repository at the url to the destination location""" - with TempDirectory(kind="export") as temp_dir: - self.unpack(temp_dir.path, url=url) - - self.run_command( - ['archive', location], show_stdout=False, cwd=temp_dir.path - ) - - def fetch_new(self, dest, url, rev_options): - # type: (str, HiddenText, RevOptions) -> None - rev_display = rev_options.to_display() - logger.info( - 'Cloning hg %s%s to %s', - url, - rev_display, - display_path(dest), - ) - self.run_command(make_command('clone', '--noupdate', '-q', url, dest)) - self.run_command( - make_command('update', '-q', rev_options.to_args()), - cwd=dest, - ) - - def switch(self, dest, url, rev_options): - # type: (str, HiddenText, RevOptions) -> None - repo_config = os.path.join(dest, self.dirname, 'hgrc') - config = configparser.RawConfigParser() - try: - config.read(repo_config) - config.set('paths', 'default', url.secret) - with open(repo_config, 'w') as config_file: - config.write(config_file) - except (OSError, configparser.NoSectionError) as exc: - logger.warning( - 'Could not switch Mercurial repository to %s: %s', url, exc, - ) - else: - cmd_args = make_command('update', '-q', rev_options.to_args()) - self.run_command(cmd_args, cwd=dest) - - def update(self, dest, url, rev_options): - # type: (str, HiddenText, RevOptions) -> None - self.run_command(['pull', '-q'], cwd=dest) - cmd_args = make_command('update', '-q', rev_options.to_args()) - self.run_command(cmd_args, cwd=dest) - - @classmethod - def get_remote_url(cls, location): - url = cls.run_command( - ['showconfig', 'paths.default'], - show_stdout=False, cwd=location).strip() - if cls._is_local_repository(url): - url = path_to_url(url) - return url.strip() - - @classmethod - def get_revision(cls, location): - """ - Return the repository-local changeset revision number, as an integer. - """ - current_revision = cls.run_command( - ['parents', '--template={rev}'], - show_stdout=False, cwd=location).strip() - return current_revision - - @classmethod - def get_requirement_revision(cls, location): - """ - Return the changeset identification hash, as a 40-character - hexadecimal string - """ - current_rev_hash = cls.run_command( - ['parents', '--template={node}'], - show_stdout=False, cwd=location).strip() - return current_rev_hash - - @classmethod - def is_commit_id_equal(cls, dest, name): - """Always assume the versions don't match""" - return False - - @classmethod - def get_subdirectory(cls, location): - """ - Return the path to setup.py, relative to the repo root. - Return None if setup.py is in the repo root. - """ - # find the repo root - repo_root = cls.run_command( - ['root'], show_stdout=False, cwd=location).strip() - if not os.path.isabs(repo_root): - repo_root = os.path.abspath(os.path.join(location, repo_root)) - return find_path_to_setup_from_repo_root(location, repo_root) - - @classmethod - def controls_location(cls, location): - if super(Mercurial, cls).controls_location(location): - return True - try: - cls.run_command( - ['identify'], - cwd=location, - show_stdout=False, - on_returncode='raise', - log_failed_cmd=False) - return True - except (BadCommand, InstallationError): - return False - - -vcs.register(Mercurial) diff --git a/.venv/lib/python3.8/site-packages/pip/_internal/vcs/subversion.py b/.venv/lib/python3.8/site-packages/pip/_internal/vcs/subversion.py deleted file mode 100644 index 6c76d1a..0000000 --- a/.venv/lib/python3.8/site-packages/pip/_internal/vcs/subversion.py +++ /dev/null @@ -1,333 +0,0 @@ -# The following comment should be removed at some point in the future. -# mypy: disallow-untyped-defs=False - -from __future__ import absolute_import - -import logging -import os -import re - -from pip._internal.utils.logging import indent_log -from pip._internal.utils.misc import ( - display_path, - is_console_interactive, - rmtree, - split_auth_from_netloc, -) -from pip._internal.utils.subprocess import make_command -from pip._internal.utils.typing import MYPY_CHECK_RUNNING -from pip._internal.vcs.versioncontrol import VersionControl, vcs - -_svn_xml_url_re = re.compile('url="([^"]+)"') -_svn_rev_re = re.compile(r'committed-rev="(\d+)"') -_svn_info_xml_rev_re = re.compile(r'\s*revision="(\d+)"') -_svn_info_xml_url_re = re.compile(r'<url>(.*)</url>') - - -if MYPY_CHECK_RUNNING: - from typing import Optional, Tuple - from pip._internal.utils.subprocess import CommandArgs - from pip._internal.utils.misc import HiddenText - from pip._internal.vcs.versioncontrol import AuthInfo, RevOptions - - -logger = logging.getLogger(__name__) - - -class Subversion(VersionControl): - name = 'svn' - dirname = '.svn' - repo_name = 'checkout' - schemes = ('svn', 'svn+ssh', 'svn+http', 'svn+https', 'svn+svn') - - @classmethod - def should_add_vcs_url_prefix(cls, remote_url): - return True - - @staticmethod - def get_base_rev_args(rev): - return ['-r', rev] - - @classmethod - def get_revision(cls, location): - """ - Return the maximum revision for all files under a given location - """ - # Note: taken from setuptools.command.egg_info - revision = 0 - - for base, dirs, files in os.walk(location): - if cls.dirname not in dirs: - dirs[:] = [] - continue # no sense walking uncontrolled subdirs - dirs.remove(cls.dirname) - entries_fn = os.path.join(base, cls.dirname, 'entries') - if not os.path.exists(entries_fn): - # FIXME: should we warn? - continue - - dirurl, localrev = cls._get_svn_url_rev(base) - - if base == location: - base = dirurl + '/' # save the root url - elif not dirurl or not dirurl.startswith(base): - dirs[:] = [] - continue # not part of the same svn tree, skip it - revision = max(revision, localrev) - return revision - - @classmethod - def get_netloc_and_auth(cls, netloc, scheme): - """ - This override allows the auth information to be passed to svn via the - --username and --password options instead of via the URL. - """ - if scheme == 'ssh': - # The --username and --password options can't be used for - # svn+ssh URLs, so keep the auth information in the URL. - return super(Subversion, cls).get_netloc_and_auth(netloc, scheme) - - return split_auth_from_netloc(netloc) - - @classmethod - def get_url_rev_and_auth(cls, url): - # type: (str) -> Tuple[str, Optional[str], AuthInfo] - # hotfix the URL scheme after removing svn+ from svn+ssh:// readd it - url, rev, user_pass = super(Subversion, cls).get_url_rev_and_auth(url) - if url.startswith('ssh://'): - url = 'svn+' + url - return url, rev, user_pass - - @staticmethod - def make_rev_args(username, password): - # type: (Optional[str], Optional[HiddenText]) -> CommandArgs - extra_args = [] # type: CommandArgs - if username: - extra_args += ['--username', username] - if password: - extra_args += ['--password', password] - - return extra_args - - @classmethod - def get_remote_url(cls, location): - # In cases where the source is in a subdirectory, not alongside - # setup.py we have to look up in the location until we find a real - # setup.py - orig_location = location - while not os.path.exists(os.path.join(location, 'setup.py')): - last_location = location - location = os.path.dirname(location) - if location == last_location: - # We've traversed up to the root of the filesystem without - # finding setup.py - logger.warning( - "Could not find setup.py for directory %s (tried all " - "parent directories)", - orig_location, - ) - return None - - return cls._get_svn_url_rev(location)[0] - - @classmethod - def _get_svn_url_rev(cls, location): - from pip._internal.exceptions import InstallationError - - entries_path = os.path.join(location, cls.dirname, 'entries') - if os.path.exists(entries_path): - with open(entries_path) as f: - data = f.read() - else: # subversion >= 1.7 does not have the 'entries' file - data = '' - - if (data.startswith('8') or - data.startswith('9') or - data.startswith('10')): - data = list(map(str.splitlines, data.split('\n\x0c\n'))) - del data[0][0] # get rid of the '8' - url = data[0][3] - revs = [int(d[9]) for d in data if len(d) > 9 and d[9]] + [0] - elif data.startswith('<?xml'): - match = _svn_xml_url_re.search(data) - if not match: - raise ValueError('Badly formatted data: %r' % data) - url = match.group(1) # get repository URL - revs = [int(m.group(1)) for m in _svn_rev_re.finditer(data)] + [0] - else: - try: - # subversion >= 1.7 - # Note that using get_remote_call_options is not necessary here - # because `svn info` is being run against a local directory. - # We don't need to worry about making sure interactive mode - # is being used to prompt for passwords, because passwords - # are only potentially needed for remote server requests. - xml = cls.run_command( - ['info', '--xml', location], - show_stdout=False, - ) - url = _svn_info_xml_url_re.search(xml).group(1) - revs = [ - int(m.group(1)) for m in _svn_info_xml_rev_re.finditer(xml) - ] - except InstallationError: - url, revs = None, [] - - if revs: - rev = max(revs) - else: - rev = 0 - - return url, rev - - @classmethod - def is_commit_id_equal(cls, dest, name): - """Always assume the versions don't match""" - return False - - def __init__(self, use_interactive=None): - # type: (bool) -> None - if use_interactive is None: - use_interactive = is_console_interactive() - self.use_interactive = use_interactive - - # This member is used to cache the fetched version of the current - # ``svn`` client. - # Special value definitions: - # None: Not evaluated yet. - # Empty tuple: Could not parse version. - self._vcs_version = None # type: Optional[Tuple[int, ...]] - - super(Subversion, self).__init__() - - def call_vcs_version(self): - # type: () -> Tuple[int, ...] - """Query the version of the currently installed Subversion client. - - :return: A tuple containing the parts of the version information or - ``()`` if the version returned from ``svn`` could not be parsed. - :raises: BadCommand: If ``svn`` is not installed. - """ - # Example versions: - # svn, version 1.10.3 (r1842928) - # compiled Feb 25 2019, 14:20:39 on x86_64-apple-darwin17.0.0 - # svn, version 1.7.14 (r1542130) - # compiled Mar 28 2018, 08:49:13 on x86_64-pc-linux-gnu - version_prefix = 'svn, version ' - version = self.run_command(['--version'], show_stdout=False) - if not version.startswith(version_prefix): - return () - - version = version[len(version_prefix):].split()[0] - version_list = version.split('.') - try: - parsed_version = tuple(map(int, version_list)) - except ValueError: - return () - - return parsed_version - - def get_vcs_version(self): - # type: () -> Tuple[int, ...] - """Return the version of the currently installed Subversion client. - - If the version of the Subversion client has already been queried, - a cached value will be used. - - :return: A tuple containing the parts of the version information or - ``()`` if the version returned from ``svn`` could not be parsed. - :raises: BadCommand: If ``svn`` is not installed. - """ - if self._vcs_version is not None: - # Use cached version, if available. - # If parsing the version failed previously (empty tuple), - # do not attempt to parse it again. - return self._vcs_version - - vcs_version = self.call_vcs_version() - self._vcs_version = vcs_version - return vcs_version - - def get_remote_call_options(self): - # type: () -> CommandArgs - """Return options to be used on calls to Subversion that contact the server. - - These options are applicable for the following ``svn`` subcommands used - in this class. - - - checkout - - export - - switch - - update - - :return: A list of command line arguments to pass to ``svn``. - """ - if not self.use_interactive: - # --non-interactive switch is available since Subversion 0.14.4. - # Subversion < 1.8 runs in interactive mode by default. - return ['--non-interactive'] - - svn_version = self.get_vcs_version() - # By default, Subversion >= 1.8 runs in non-interactive mode if - # stdin is not a TTY. Since that is how pip invokes SVN, in - # call_subprocess(), pip must pass --force-interactive to ensure - # the user can be prompted for a password, if required. - # SVN added the --force-interactive option in SVN 1.8. Since - # e.g. RHEL/CentOS 7, which is supported until 2024, ships with - # SVN 1.7, pip should continue to support SVN 1.7. Therefore, pip - # can't safely add the option if the SVN version is < 1.8 (or unknown). - if svn_version >= (1, 8): - return ['--force-interactive'] - - return [] - - def export(self, location, url): - # type: (str, HiddenText) -> None - """Export the svn repository at the url to the destination location""" - url, rev_options = self.get_url_rev_options(url) - - logger.info('Exporting svn repository %s to %s', url, location) - with indent_log(): - if os.path.exists(location): - # Subversion doesn't like to check out over an existing - # directory --force fixes this, but was only added in svn 1.5 - rmtree(location) - cmd_args = make_command( - 'export', self.get_remote_call_options(), - rev_options.to_args(), url, location, - ) - self.run_command(cmd_args, show_stdout=False) - - def fetch_new(self, dest, url, rev_options): - # type: (str, HiddenText, RevOptions) -> None - rev_display = rev_options.to_display() - logger.info( - 'Checking out %s%s to %s', - url, - rev_display, - display_path(dest), - ) - cmd_args = make_command( - 'checkout', '-q', self.get_remote_call_options(), - rev_options.to_args(), url, dest, - ) - self.run_command(cmd_args) - - def switch(self, dest, url, rev_options): - # type: (str, HiddenText, RevOptions) -> None - cmd_args = make_command( - 'switch', self.get_remote_call_options(), rev_options.to_args(), - url, dest, - ) - self.run_command(cmd_args) - - def update(self, dest, url, rev_options): - # type: (str, HiddenText, RevOptions) -> None - cmd_args = make_command( - 'update', self.get_remote_call_options(), rev_options.to_args(), - dest, - ) - self.run_command(cmd_args) - - -vcs.register(Subversion) diff --git a/.venv/lib/python3.8/site-packages/pip/_internal/vcs/versioncontrol.py b/.venv/lib/python3.8/site-packages/pip/_internal/vcs/versioncontrol.py deleted file mode 100644 index 7cfd568..0000000 --- a/.venv/lib/python3.8/site-packages/pip/_internal/vcs/versioncontrol.py +++ /dev/null @@ -1,700 +0,0 @@ -"""Handles all VCS (version control) support""" - -from __future__ import absolute_import - -import errno -import logging -import os -import shutil -import sys - -from pip._vendor import pkg_resources -from pip._vendor.six.moves.urllib import parse as urllib_parse - -from pip._internal.exceptions import BadCommand -from pip._internal.utils.compat import samefile -from pip._internal.utils.misc import ( - ask_path_exists, - backup_dir, - display_path, - hide_url, - hide_value, - rmtree, -) -from pip._internal.utils.subprocess import call_subprocess, make_command -from pip._internal.utils.typing import MYPY_CHECK_RUNNING -from pip._internal.utils.urls import get_url_scheme - -if MYPY_CHECK_RUNNING: - from typing import ( - Any, Dict, Iterable, Iterator, List, Mapping, Optional, Text, Tuple, - Type, Union - ) - from pip._internal.utils.ui import SpinnerInterface - from pip._internal.utils.misc import HiddenText - from pip._internal.utils.subprocess import CommandArgs - - AuthInfo = Tuple[Optional[str], Optional[str]] - - -__all__ = ['vcs'] - - -logger = logging.getLogger(__name__) - - -def is_url(name): - # type: (Union[str, Text]) -> bool - """ - Return true if the name looks like a URL. - """ - scheme = get_url_scheme(name) - if scheme is None: - return False - return scheme in ['http', 'https', 'file', 'ftp'] + vcs.all_schemes - - -def make_vcs_requirement_url(repo_url, rev, project_name, subdir=None): - # type: (str, str, str, Optional[str]) -> str - """ - Return the URL for a VCS requirement. - - Args: - repo_url: the remote VCS url, with any needed VCS prefix (e.g. "git+"). - project_name: the (unescaped) project name. - """ - egg_project_name = pkg_resources.to_filename(project_name) - req = '{}@{}#egg={}'.format(repo_url, rev, egg_project_name) - if subdir: - req += '&subdirectory={}'.format(subdir) - - return req - - -def find_path_to_setup_from_repo_root(location, repo_root): - # type: (str, str) -> Optional[str] - """ - Find the path to `setup.py` by searching up the filesystem from `location`. - Return the path to `setup.py` relative to `repo_root`. - Return None if `setup.py` is in `repo_root` or cannot be found. - """ - # find setup.py - orig_location = location - while not os.path.exists(os.path.join(location, 'setup.py')): - last_location = location - location = os.path.dirname(location) - if location == last_location: - # We've traversed up to the root of the filesystem without - # finding setup.py - logger.warning( - "Could not find setup.py for directory %s (tried all " - "parent directories)", - orig_location, - ) - return None - - if samefile(repo_root, location): - return None - - return os.path.relpath(location, repo_root) - - -class RemoteNotFoundError(Exception): - pass - - -class RevOptions(object): - - """ - Encapsulates a VCS-specific revision to install, along with any VCS - install options. - - Instances of this class should be treated as if immutable. - """ - - def __init__( - self, - vc_class, # type: Type[VersionControl] - rev=None, # type: Optional[str] - extra_args=None, # type: Optional[CommandArgs] - ): - # type: (...) -> None - """ - Args: - vc_class: a VersionControl subclass. - rev: the name of the revision to install. - extra_args: a list of extra options. - """ - if extra_args is None: - extra_args = [] - - self.extra_args = extra_args - self.rev = rev - self.vc_class = vc_class - self.branch_name = None # type: Optional[str] - - def __repr__(self): - # type: () -> str - return '<RevOptions {}: rev={!r}>'.format(self.vc_class.name, self.rev) - - @property - def arg_rev(self): - # type: () -> Optional[str] - if self.rev is None: - return self.vc_class.default_arg_rev - - return self.rev - - def to_args(self): - # type: () -> CommandArgs - """ - Return the VCS-specific command arguments. - """ - args = [] # type: CommandArgs - rev = self.arg_rev - if rev is not None: - args += self.vc_class.get_base_rev_args(rev) - args += self.extra_args - - return args - - def to_display(self): - # type: () -> str - if not self.rev: - return '' - - return ' (to revision {})'.format(self.rev) - - def make_new(self, rev): - # type: (str) -> RevOptions - """ - Make a copy of the current instance, but with a new rev. - - Args: - rev: the name of the revision for the new object. - """ - return self.vc_class.make_rev_options(rev, extra_args=self.extra_args) - - -class VcsSupport(object): - _registry = {} # type: Dict[str, VersionControl] - schemes = ['ssh', 'git', 'hg', 'bzr', 'sftp', 'svn'] - - def __init__(self): - # type: () -> None - # Register more schemes with urlparse for various version control - # systems - urllib_parse.uses_netloc.extend(self.schemes) - # Python >= 2.7.4, 3.3 doesn't have uses_fragment - if getattr(urllib_parse, 'uses_fragment', None): - urllib_parse.uses_fragment.extend(self.schemes) - super(VcsSupport, self).__init__() - - def __iter__(self): - # type: () -> Iterator[str] - return self._registry.__iter__() - - @property - def backends(self): - # type: () -> List[VersionControl] - return list(self._registry.values()) - - @property - def dirnames(self): - # type: () -> List[str] - return [backend.dirname for backend in self.backends] - - @property - def all_schemes(self): - # type: () -> List[str] - schemes = [] # type: List[str] - for backend in self.backends: - schemes.extend(backend.schemes) - return schemes - - def register(self, cls): - # type: (Type[VersionControl]) -> None - if not hasattr(cls, 'name'): - logger.warning('Cannot register VCS %s', cls.__name__) - return - if cls.name not in self._registry: - self._registry[cls.name] = cls() - logger.debug('Registered VCS backend: %s', cls.name) - - def unregister(self, name): - # type: (str) -> None - if name in self._registry: - del self._registry[name] - - def get_backend_for_dir(self, location): - # type: (str) -> Optional[VersionControl] - """ - Return a VersionControl object if a repository of that type is found - at the given directory. - """ - for vcs_backend in self._registry.values(): - if vcs_backend.controls_location(location): - logger.debug('Determine that %s uses VCS: %s', - location, vcs_backend.name) - return vcs_backend - return None - - def get_backend_for_scheme(self, scheme): - # type: (str) -> Optional[VersionControl] - """ - Return a VersionControl object or None. - """ - for vcs_backend in self._registry.values(): - if scheme in vcs_backend.schemes: - return vcs_backend - return None - - def get_backend(self, name): - # type: (str) -> Optional[VersionControl] - """ - Return a VersionControl object or None. - """ - name = name.lower() - return self._registry.get(name) - - -vcs = VcsSupport() - - -class VersionControl(object): - name = '' - dirname = '' - repo_name = '' - # List of supported schemes for this Version Control - schemes = () # type: Tuple[str, ...] - # Iterable of environment variable names to pass to call_subprocess(). - unset_environ = () # type: Tuple[str, ...] - default_arg_rev = None # type: Optional[str] - - @classmethod - def should_add_vcs_url_prefix(cls, remote_url): - # type: (str) -> bool - """ - Return whether the vcs prefix (e.g. "git+") should be added to a - repository's remote url when used in a requirement. - """ - return not remote_url.lower().startswith('{}:'.format(cls.name)) - - @classmethod - def get_subdirectory(cls, location): - # type: (str) -> Optional[str] - """ - Return the path to setup.py, relative to the repo root. - Return None if setup.py is in the repo root. - """ - return None - - @classmethod - def get_requirement_revision(cls, repo_dir): - # type: (str) -> str - """ - Return the revision string that should be used in a requirement. - """ - return cls.get_revision(repo_dir) - - @classmethod - def get_src_requirement(cls, repo_dir, project_name): - # type: (str, str) -> Optional[str] - """ - Return the requirement string to use to redownload the files - currently at the given repository directory. - - Args: - project_name: the (unescaped) project name. - - The return value has a form similar to the following: - - {repository_url}@{revision}#egg={project_name} - """ - repo_url = cls.get_remote_url(repo_dir) - if repo_url is None: - return None - - if cls.should_add_vcs_url_prefix(repo_url): - repo_url = '{}+{}'.format(cls.name, repo_url) - - revision = cls.get_requirement_revision(repo_dir) - subdir = cls.get_subdirectory(repo_dir) - req = make_vcs_requirement_url(repo_url, revision, project_name, - subdir=subdir) - - return req - - @staticmethod - def get_base_rev_args(rev): - # type: (str) -> List[str] - """ - Return the base revision arguments for a vcs command. - - Args: - rev: the name of a revision to install. Cannot be None. - """ - raise NotImplementedError - - def is_immutable_rev_checkout(self, url, dest): - # type: (str, str) -> bool - """ - Return true if the commit hash checked out at dest matches - the revision in url. - - Always return False, if the VCS does not support immutable commit - hashes. - - This method does not check if there are local uncommitted changes - in dest after checkout, as pip currently has no use case for that. - """ - return False - - @classmethod - def make_rev_options(cls, rev=None, extra_args=None): - # type: (Optional[str], Optional[CommandArgs]) -> RevOptions - """ - Return a RevOptions object. - - Args: - rev: the name of a revision to install. - extra_args: a list of extra options. - """ - return RevOptions(cls, rev, extra_args=extra_args) - - @classmethod - def _is_local_repository(cls, repo): - # type: (str) -> bool - """ - posix absolute paths start with os.path.sep, - win32 ones start with drive (like c:\\folder) - """ - drive, tail = os.path.splitdrive(repo) - return repo.startswith(os.path.sep) or bool(drive) - - def export(self, location, url): - # type: (str, HiddenText) -> None - """ - Export the repository at the url to the destination location - i.e. only download the files, without vcs informations - - :param url: the repository URL starting with a vcs prefix. - """ - raise NotImplementedError - - @classmethod - def get_netloc_and_auth(cls, netloc, scheme): - # type: (str, str) -> Tuple[str, Tuple[Optional[str], Optional[str]]] - """ - Parse the repository URL's netloc, and return the new netloc to use - along with auth information. - - Args: - netloc: the original repository URL netloc. - scheme: the repository URL's scheme without the vcs prefix. - - This is mainly for the Subversion class to override, so that auth - information can be provided via the --username and --password options - instead of through the URL. For other subclasses like Git without - such an option, auth information must stay in the URL. - - Returns: (netloc, (username, password)). - """ - return netloc, (None, None) - - @classmethod - def get_url_rev_and_auth(cls, url): - # type: (str) -> Tuple[str, Optional[str], AuthInfo] - """ - Parse the repository URL to use, and return the URL, revision, - and auth info to use. - - Returns: (url, rev, (username, password)). - """ - scheme, netloc, path, query, frag = urllib_parse.urlsplit(url) - if '+' not in scheme: - raise ValueError( - "Sorry, {!r} is a malformed VCS url. " - "The format is <vcs>+<protocol>://<url>, " - "e.g. svn+http://myrepo/svn/MyApp#egg=MyApp".format(url) - ) - # Remove the vcs prefix. - scheme = scheme.split('+', 1)[1] - netloc, user_pass = cls.get_netloc_and_auth(netloc, scheme) - rev = None - if '@' in path: - path, rev = path.rsplit('@', 1) - url = urllib_parse.urlunsplit((scheme, netloc, path, query, '')) - return url, rev, user_pass - - @staticmethod - def make_rev_args(username, password): - # type: (Optional[str], Optional[HiddenText]) -> CommandArgs - """ - Return the RevOptions "extra arguments" to use in obtain(). - """ - return [] - - def get_url_rev_options(self, url): - # type: (HiddenText) -> Tuple[HiddenText, RevOptions] - """ - Return the URL and RevOptions object to use in obtain() and in - some cases export(), as a tuple (url, rev_options). - """ - secret_url, rev, user_pass = self.get_url_rev_and_auth(url.secret) - username, secret_password = user_pass - password = None # type: Optional[HiddenText] - if secret_password is not None: - password = hide_value(secret_password) - extra_args = self.make_rev_args(username, password) - rev_options = self.make_rev_options(rev, extra_args=extra_args) - - return hide_url(secret_url), rev_options - - @staticmethod - def normalize_url(url): - # type: (str) -> str - """ - Normalize a URL for comparison by unquoting it and removing any - trailing slash. - """ - return urllib_parse.unquote(url).rstrip('/') - - @classmethod - def compare_urls(cls, url1, url2): - # type: (str, str) -> bool - """ - Compare two repo URLs for identity, ignoring incidental differences. - """ - return (cls.normalize_url(url1) == cls.normalize_url(url2)) - - def fetch_new(self, dest, url, rev_options): - # type: (str, HiddenText, RevOptions) -> None - """ - Fetch a revision from a repository, in the case that this is the - first fetch from the repository. - - Args: - dest: the directory to fetch the repository to. - rev_options: a RevOptions object. - """ - raise NotImplementedError - - def switch(self, dest, url, rev_options): - # type: (str, HiddenText, RevOptions) -> None - """ - Switch the repo at ``dest`` to point to ``URL``. - - Args: - rev_options: a RevOptions object. - """ - raise NotImplementedError - - def update(self, dest, url, rev_options): - # type: (str, HiddenText, RevOptions) -> None - """ - Update an already-existing repo to the given ``rev_options``. - - Args: - rev_options: a RevOptions object. - """ - raise NotImplementedError - - @classmethod - def is_commit_id_equal(cls, dest, name): - # type: (str, Optional[str]) -> bool - """ - Return whether the id of the current commit equals the given name. - - Args: - dest: the repository directory. - name: a string name. - """ - raise NotImplementedError - - def obtain(self, dest, url): - # type: (str, HiddenText) -> None - """ - Install or update in editable mode the package represented by this - VersionControl object. - - :param dest: the repository directory in which to install or update. - :param url: the repository URL starting with a vcs prefix. - """ - url, rev_options = self.get_url_rev_options(url) - - if not os.path.exists(dest): - self.fetch_new(dest, url, rev_options) - return - - rev_display = rev_options.to_display() - if self.is_repository_directory(dest): - existing_url = self.get_remote_url(dest) - if self.compare_urls(existing_url, url.secret): - logger.debug( - '%s in %s exists, and has correct URL (%s)', - self.repo_name.title(), - display_path(dest), - url, - ) - if not self.is_commit_id_equal(dest, rev_options.rev): - logger.info( - 'Updating %s %s%s', - display_path(dest), - self.repo_name, - rev_display, - ) - self.update(dest, url, rev_options) - else: - logger.info('Skipping because already up-to-date.') - return - - logger.warning( - '%s %s in %s exists with URL %s', - self.name, - self.repo_name, - display_path(dest), - existing_url, - ) - prompt = ('(s)witch, (i)gnore, (w)ipe, (b)ackup ', - ('s', 'i', 'w', 'b')) - else: - logger.warning( - 'Directory %s already exists, and is not a %s %s.', - dest, - self.name, - self.repo_name, - ) - # https://github.com/python/mypy/issues/1174 - prompt = ('(i)gnore, (w)ipe, (b)ackup ', # type: ignore - ('i', 'w', 'b')) - - logger.warning( - 'The plan is to install the %s repository %s', - self.name, - url, - ) - response = ask_path_exists('What to do? %s' % prompt[0], prompt[1]) - - if response == 'a': - sys.exit(-1) - - if response == 'w': - logger.warning('Deleting %s', display_path(dest)) - rmtree(dest) - self.fetch_new(dest, url, rev_options) - return - - if response == 'b': - dest_dir = backup_dir(dest) - logger.warning( - 'Backing up %s to %s', display_path(dest), dest_dir, - ) - shutil.move(dest, dest_dir) - self.fetch_new(dest, url, rev_options) - return - - # Do nothing if the response is "i". - if response == 's': - logger.info( - 'Switching %s %s to %s%s', - self.repo_name, - display_path(dest), - url, - rev_display, - ) - self.switch(dest, url, rev_options) - - def unpack(self, location, url): - # type: (str, HiddenText) -> None - """ - Clean up current location and download the url repository - (and vcs infos) into location - - :param url: the repository URL starting with a vcs prefix. - """ - if os.path.exists(location): - rmtree(location) - self.obtain(location, url=url) - - @classmethod - def get_remote_url(cls, location): - # type: (str) -> str - """ - Return the url used at location - - Raises RemoteNotFoundError if the repository does not have a remote - url configured. - """ - raise NotImplementedError - - @classmethod - def get_revision(cls, location): - # type: (str) -> str - """ - Return the current commit id of the files at the given location. - """ - raise NotImplementedError - - @classmethod - def run_command( - cls, - cmd, # type: Union[List[str], CommandArgs] - show_stdout=True, # type: bool - cwd=None, # type: Optional[str] - on_returncode='raise', # type: str - extra_ok_returncodes=None, # type: Optional[Iterable[int]] - command_desc=None, # type: Optional[str] - extra_environ=None, # type: Optional[Mapping[str, Any]] - spinner=None, # type: Optional[SpinnerInterface] - log_failed_cmd=True # type: bool - ): - # type: (...) -> Text - """ - Run a VCS subcommand - This is simply a wrapper around call_subprocess that adds the VCS - command name, and checks that the VCS is available - """ - cmd = make_command(cls.name, *cmd) - try: - return call_subprocess(cmd, show_stdout, cwd, - on_returncode=on_returncode, - extra_ok_returncodes=extra_ok_returncodes, - command_desc=command_desc, - extra_environ=extra_environ, - unset_environ=cls.unset_environ, - spinner=spinner, - log_failed_cmd=log_failed_cmd) - except OSError as e: - # errno.ENOENT = no such file or directory - # In other words, the VCS executable isn't available - if e.errno == errno.ENOENT: - raise BadCommand( - 'Cannot find command %r - do you have ' - '%r installed and in your ' - 'PATH?' % (cls.name, cls.name)) - else: - raise # re-raise exception if a different error occurred - - @classmethod - def is_repository_directory(cls, path): - # type: (str) -> bool - """ - Return whether a directory path is a repository directory. - """ - logger.debug('Checking in %s for %s (%s)...', - path, cls.dirname, cls.name) - return os.path.exists(os.path.join(path, cls.dirname)) - - @classmethod - def controls_location(cls, location): - # type: (str) -> bool - """ - Check if a location is controlled by the vcs. - It is meant to be overridden to implement smarter detection - mechanisms for specific vcs. - - This can do more than is_repository_directory() alone. For example, - the Git override checks that Git is actually available. - """ - return cls.is_repository_directory(location) diff --git a/.venv/lib/python3.8/site-packages/pip/_internal/wheel_builder.py b/.venv/lib/python3.8/site-packages/pip/_internal/wheel_builder.py deleted file mode 100644 index 7c7820d..0000000 --- a/.venv/lib/python3.8/site-packages/pip/_internal/wheel_builder.py +++ /dev/null @@ -1,305 +0,0 @@ -"""Orchestrator for building wheels from InstallRequirements. -""" - -# The following comment should be removed at some point in the future. -# mypy: strict-optional=False - -import logging -import os.path -import re -import shutil - -from pip._internal.models.link import Link -from pip._internal.operations.build.wheel import build_wheel_pep517 -from pip._internal.operations.build.wheel_legacy import build_wheel_legacy -from pip._internal.utils.logging import indent_log -from pip._internal.utils.misc import ensure_dir, hash_file, is_wheel_installed -from pip._internal.utils.setuptools_build import make_setuptools_clean_args -from pip._internal.utils.subprocess import call_subprocess -from pip._internal.utils.temp_dir import TempDirectory -from pip._internal.utils.typing import MYPY_CHECK_RUNNING -from pip._internal.utils.urls import path_to_url -from pip._internal.vcs import vcs - -if MYPY_CHECK_RUNNING: - from typing import ( - Any, Callable, Iterable, List, Optional, Pattern, Tuple, - ) - - from pip._internal.cache import WheelCache - from pip._internal.req.req_install import InstallRequirement - - BinaryAllowedPredicate = Callable[[InstallRequirement], bool] - BuildResult = Tuple[List[InstallRequirement], List[InstallRequirement]] - -logger = logging.getLogger(__name__) - - -def _contains_egg_info( - s, _egg_info_re=re.compile(r'([a-z0-9_.]+)-([a-z0-9_.!+-]+)', re.I)): - # type: (str, Pattern[str]) -> bool - """Determine whether the string looks like an egg_info. - - :param s: The string to parse. E.g. foo-2.1 - """ - return bool(_egg_info_re.search(s)) - - -def _should_build( - req, # type: InstallRequirement - need_wheel, # type: bool - check_binary_allowed, # type: BinaryAllowedPredicate -): - # type: (...) -> bool - """Return whether an InstallRequirement should be built into a wheel.""" - if req.constraint: - # never build requirements that are merely constraints - return False - if req.is_wheel: - if need_wheel: - logger.info( - 'Skipping %s, due to already being wheel.', req.name, - ) - return False - - if need_wheel: - # i.e. pip wheel, not pip install - return True - - # From this point, this concerns the pip install command only - # (need_wheel=False). - - if not req.use_pep517 and not is_wheel_installed(): - # we don't build legacy requirements if wheel is not installed - return False - - if req.editable or not req.source_dir: - return False - - if not check_binary_allowed(req): - logger.info( - "Skipping wheel build for %s, due to binaries " - "being disabled for it.", req.name, - ) - return False - - return True - - -def should_build_for_wheel_command( - req, # type: InstallRequirement -): - # type: (...) -> bool - return _should_build( - req, need_wheel=True, check_binary_allowed=_always_true - ) - - -def should_build_for_install_command( - req, # type: InstallRequirement - check_binary_allowed, # type: BinaryAllowedPredicate -): - # type: (...) -> bool - return _should_build( - req, need_wheel=False, check_binary_allowed=check_binary_allowed - ) - - -def _should_cache( - req, # type: InstallRequirement -): - # type: (...) -> Optional[bool] - """ - Return whether a built InstallRequirement can be stored in the persistent - wheel cache, assuming the wheel cache is available, and _should_build() - has determined a wheel needs to be built. - """ - if not should_build_for_install_command( - req, check_binary_allowed=_always_true - ): - # never cache if pip install would not have built - # (editable mode, etc) - return False - - if req.link and req.link.is_vcs: - # VCS checkout. Do not cache - # unless it points to an immutable commit hash. - assert not req.editable - assert req.source_dir - vcs_backend = vcs.get_backend_for_scheme(req.link.scheme) - assert vcs_backend - if vcs_backend.is_immutable_rev_checkout(req.link.url, req.source_dir): - return True - return False - - base, ext = req.link.splitext() - if _contains_egg_info(base): - return True - - # Otherwise, do not cache. - return False - - -def _get_cache_dir( - req, # type: InstallRequirement - wheel_cache, # type: WheelCache -): - # type: (...) -> str - """Return the persistent or temporary cache directory where the built - wheel need to be stored. - """ - cache_available = bool(wheel_cache.cache_dir) - if cache_available and _should_cache(req): - cache_dir = wheel_cache.get_path_for_link(req.link) - else: - cache_dir = wheel_cache.get_ephem_path_for_link(req.link) - return cache_dir - - -def _always_true(_): - # type: (Any) -> bool - return True - - -def _build_one( - req, # type: InstallRequirement - output_dir, # type: str - build_options, # type: List[str] - global_options, # type: List[str] -): - # type: (...) -> Optional[str] - """Build one wheel. - - :return: The filename of the built wheel, or None if the build failed. - """ - try: - ensure_dir(output_dir) - except OSError as e: - logger.warning( - "Building wheel for %s failed: %s", - req.name, e, - ) - return None - - # Install build deps into temporary directory (PEP 518) - with req.build_env: - return _build_one_inside_env( - req, output_dir, build_options, global_options - ) - - -def _build_one_inside_env( - req, # type: InstallRequirement - output_dir, # type: str - build_options, # type: List[str] - global_options, # type: List[str] -): - # type: (...) -> Optional[str] - with TempDirectory(kind="wheel") as temp_dir: - if req.use_pep517: - wheel_path = build_wheel_pep517( - name=req.name, - backend=req.pep517_backend, - metadata_directory=req.metadata_directory, - build_options=build_options, - tempd=temp_dir.path, - ) - else: - wheel_path = build_wheel_legacy( - name=req.name, - setup_py_path=req.setup_py_path, - source_dir=req.unpacked_source_directory, - global_options=global_options, - build_options=build_options, - tempd=temp_dir.path, - ) - - if wheel_path is not None: - wheel_name = os.path.basename(wheel_path) - dest_path = os.path.join(output_dir, wheel_name) - try: - wheel_hash, length = hash_file(wheel_path) - shutil.move(wheel_path, dest_path) - logger.info('Created wheel for %s: ' - 'filename=%s size=%d sha256=%s', - req.name, wheel_name, length, - wheel_hash.hexdigest()) - logger.info('Stored in directory: %s', output_dir) - return dest_path - except Exception as e: - logger.warning( - "Building wheel for %s failed: %s", - req.name, e, - ) - # Ignore return, we can't do anything else useful. - if not req.use_pep517: - _clean_one_legacy(req, global_options) - return None - - -def _clean_one_legacy(req, global_options): - # type: (InstallRequirement, List[str]) -> bool - clean_args = make_setuptools_clean_args( - req.setup_py_path, - global_options=global_options, - ) - - logger.info('Running setup.py clean for %s', req.name) - try: - call_subprocess(clean_args, cwd=req.source_dir) - return True - except Exception: - logger.error('Failed cleaning build dir for %s', req.name) - return False - - -def build( - requirements, # type: Iterable[InstallRequirement] - wheel_cache, # type: WheelCache - build_options, # type: List[str] - global_options, # type: List[str] -): - # type: (...) -> BuildResult - """Build wheels. - - :return: The list of InstallRequirement that succeeded to build and - the list of InstallRequirement that failed to build. - """ - if not requirements: - return [], [] - - # Build the wheels. - logger.info( - 'Building wheels for collected packages: %s', - ', '.join(req.name for req in requirements), - ) - - with indent_log(): - build_successes, build_failures = [], [] - for req in requirements: - cache_dir = _get_cache_dir(req, wheel_cache) - wheel_file = _build_one( - req, cache_dir, build_options, global_options - ) - if wheel_file: - # Update the link for this. - req.link = Link(path_to_url(wheel_file)) - req.local_file_path = req.link.file_path - assert req.link.is_wheel - build_successes.append(req) - else: - build_failures.append(req) - - # notify success/failure - if build_successes: - logger.info( - 'Successfully built %s', - ' '.join([req.name for req in build_successes]), - ) - if build_failures: - logger.info( - 'Failed to build %s', - ' '.join([req.name for req in build_failures]), - ) - # Return a list of requirements that failed to build - return build_successes, build_failures diff --git a/.venv/lib/python3.8/site-packages/pip/_vendor/__init__.py b/.venv/lib/python3.8/site-packages/pip/_vendor/__init__.py deleted file mode 100644 index e02eaef..0000000 --- a/.venv/lib/python3.8/site-packages/pip/_vendor/__init__.py +++ /dev/null @@ -1,119 +0,0 @@ -""" -pip._vendor is for vendoring dependencies of pip to prevent needing pip to -depend on something external. - -Files inside of pip._vendor should be considered immutable and should only be -updated to versions from upstream. -""" -from __future__ import absolute_import - -import glob -import os.path -import sys - -# Downstream redistributors which have debundled our dependencies should also -# patch this value to be true. This will trigger the additional patching -# to cause things like "six" to be available as pip. -DEBUNDLED = True - -# By default, look in this directory for a bunch of .whl files which we will -# add to the beginning of sys.path before attempting to import anything. This -# is done to support downstream re-distributors like Debian and Fedora who -# wish to create their own Wheels for our dependencies to aid in debundling. -prefix = getattr(sys, "base_prefix", sys.prefix) -if prefix.startswith('/usr/lib/pypy'): - prefix = '/usr' -WHEEL_DIR = os.path.abspath(os.path.join(prefix, 'share', 'python-wheels')) - - -# Define a small helper function to alias our vendored modules to the real ones -# if the vendored ones do not exist. This idea of this was taken from -# https://github.com/kennethreitz/requests/pull/2567. -def vendored(modulename): - vendored_name = "{0}.{1}".format(__name__, modulename) - - try: - __import__(modulename, globals(), locals(), level=0) - except ImportError: - # We can just silently allow import failures to pass here. If we - # got to this point it means that ``import pip._vendor.whatever`` - # failed and so did ``import whatever``. Since we're importing this - # upfront in an attempt to alias imports, not erroring here will - # just mean we get a regular import error whenever pip *actually* - # tries to import one of these modules to use it, which actually - # gives us a better error message than we would have otherwise - # gotten. - pass - else: - sys.modules[vendored_name] = sys.modules[modulename] - base, head = vendored_name.rsplit(".", 1) - setattr(sys.modules[base], head, sys.modules[modulename]) - - -# If we're operating in a debundled setup, then we want to go ahead and trigger -# the aliasing of our vendored libraries as well as looking for wheels to add -# to our sys.path. This will cause all of this code to be a no-op typically -# however downstream redistributors can enable it in a consistent way across -# all platforms. -if DEBUNDLED: - # Actually look inside of WHEEL_DIR to find .whl files and add them to the - # front of our sys.path. - sys.path[:] = glob.glob(os.path.join(WHEEL_DIR, "*.whl")) + sys.path - - # Actually alias all of our vendored dependencies. - vendored("appdirs") - vendored("cachecontrol") - vendored("colorama") - vendored("contextlib2") - vendored("distlib") - vendored("distro") - vendored("html5lib") - vendored("six") - vendored("six.moves") - vendored("six.moves.urllib") - vendored("six.moves.urllib.parse") - vendored("packaging") - vendored("packaging.version") - vendored("packaging.specifiers") - vendored("pep517") - vendored("pkg_resources") - vendored("progress") - vendored("retrying") - vendored("requests") - vendored("requests.exceptions") - vendored("requests.packages") - vendored("requests.packages.urllib3") - vendored("requests.packages.urllib3._collections") - vendored("requests.packages.urllib3.connection") - vendored("requests.packages.urllib3.connectionpool") - vendored("requests.packages.urllib3.contrib") - vendored("requests.packages.urllib3.contrib.ntlmpool") - vendored("requests.packages.urllib3.contrib.pyopenssl") - vendored("requests.packages.urllib3.exceptions") - vendored("requests.packages.urllib3.fields") - vendored("requests.packages.urllib3.filepost") - vendored("requests.packages.urllib3.packages") - try: - vendored("requests.packages.urllib3.packages.ordered_dict") - vendored("requests.packages.urllib3.packages.six") - except ImportError: - # Debian already unbundles these from requests. - pass - vendored("requests.packages.urllib3.packages.ssl_match_hostname") - vendored("requests.packages.urllib3.packages.ssl_match_hostname." - "_implementation") - vendored("requests.packages.urllib3.poolmanager") - vendored("requests.packages.urllib3.request") - vendored("requests.packages.urllib3.response") - vendored("requests.packages.urllib3.util") - vendored("requests.packages.urllib3.util.connection") - vendored("requests.packages.urllib3.util.request") - vendored("requests.packages.urllib3.util.response") - vendored("requests.packages.urllib3.util.retry") - vendored("requests.packages.urllib3.util.ssl_") - vendored("requests.packages.urllib3.util.timeout") - vendored("requests.packages.urllib3.util.url") - vendored("toml") - vendored("toml.encoder") - vendored("toml.decoder") - vendored("urllib3") diff --git a/.venv/lib/python3.8/site-packages/pip/_vendor/__pycache__/__init__.cpython-38.pyc b/.venv/lib/python3.8/site-packages/pip/_vendor/__pycache__/__init__.cpython-38.pyc deleted file mode 100644 index a6908bcc9260276b0a34658d940f289606d18ddb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3037 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 E0H)5gr2qf` diff --git a/.venv/lib/python3.8/site-packages/pkg_resources-0.0.0.dist-info/AUTHORS.txt b/.venv/lib/python3.8/site-packages/pkg_resources-0.0.0.dist-info/AUTHORS.txt deleted file mode 100644 index 72c87d7..0000000 --- a/.venv/lib/python3.8/site-packages/pkg_resources-0.0.0.dist-info/AUTHORS.txt +++ /dev/null @@ -1,562 +0,0 @@ -A_Rog <adam.thomas.rogerson@gmail.com> -Aakanksha Agrawal <11389424+rasponic@users.noreply.github.com> -Abhinav Sagar <40603139+abhinavsagar@users.noreply.github.com> -ABHYUDAY PRATAP SINGH <abhyudaypratap@outlook.com> -abs51295 <aagams68@gmail.com> -AceGentile <ventogrigio83@gmail.com> -Adam Chainz <adam@adamj.eu> -Adam Tse <adam.tse@me.com> -Adam Tse <atse@users.noreply.github.com> -Adam Wentz <awentz@theonion.com> -admin <admin@admins-MacBook-Pro.local> -Adrien Morison <adrien.morison@gmail.com> -ahayrapetyan <ahayrapetya2@bloomberg.net> -Ahilya <ahilya16009@iiitd.ac.in> -AinsworthK <yat626@yahoo.com.hk> -Akash Srivastava <akashsrivastava4927@gmail.com> -Alan Yee <alyee@ucsd.edu> -Albert Tugushev <albert@tugushev.ru> -Albert-Guan <albert.guan94@gmail.com> -albertg <albert.guan94@gmail.com> -Aleks Bunin <github@compuix.com> -Alethea Flowers <magicalgirl@google.com> -Alex Gaynor <alex.gaynor@gmail.com> -Alex Grönholm <alex.gronholm@nextday.fi> -Alex Loosley <a.loosley@reply.de> -Alex Morega <alex@grep.ro> -Alex Stachowiak <alexander@computer.org> -Alexander Shtyrov <rawzausho@gmail.com> -Alexandre Conrad <alexandre.conrad@gmail.com> -Alexey Popravka <a.popravka@smartweb.com.ua> -Alexey Popravka <alexey.popravka@horsedevel.com> -Alli <alzeih@users.noreply.github.com> -Ami Fischman <ami@fischman.org> -Ananya Maiti <ananyoevo@gmail.com> -Anatoly Techtonik <techtonik@gmail.com> -Anders Kaseorg <andersk@mit.edu> -Andreas Lutro <anlutro@gmail.com> -Andrei Geacar <andrei.geacar@gmail.com> -Andrew Gaul <andrew@gaul.org> -Andrey Bulgakov <mail@andreiko.ru> -Andrés Delfino <34587441+andresdelfino@users.noreply.github.com> -Andrés Delfino <adelfino@gmail.com> -Andy Freeland <andy.freeland@redjack.com> -Andy Freeland <andy@andyfreeland.net> -Andy Kluger <AndydeCleyre@users.noreply.github.com> -Ani Hayrapetyan <ahayrapetya2@bloomberg.net> -Aniruddha Basak <codewithaniruddha@gmail.com> -Anish Tambe <anish.tambe@yahoo.in> -Anrs Hu <anrs@douban.com> -Anthony Sottile <asottile@umich.edu> -Antoine Musso <hashar@free.fr> -Anton Ovchinnikov <revolver112@gmail.com> -Anton Patrushev <apatrushev@gmail.com> -Antonio Alvarado Hernandez <tnotstar@gmail.com> -Antony Lee <anntzer.lee@gmail.com> -Antti Kaihola <akaihol+github@ambitone.com> -Anubhav Patel <anubhavp28@gmail.com> -Anuj Godase <godaseanuj@gmail.com> -AQNOUCH Mohammed <aqnouch.mohammed@gmail.com> -AraHaan <seandhunt_7@yahoo.com> -Arindam Choudhury <arindam@live.com> -Armin Ronacher <armin.ronacher@active-4.com> -Artem <duketemon@users.noreply.github.com> -Ashley Manton <ajd.manton@googlemail.com> -Ashwin Ramaswami <aramaswamis@gmail.com> -atse <atse@users.noreply.github.com> -Atsushi Odagiri <aodagx@gmail.com> -Avner Cohen <israbirding@gmail.com> -Baptiste Mispelon <bmispelon@gmail.com> -Barney Gale <barney.gale@gmail.com> -barneygale <barney.gale@gmail.com> -Bartek Ogryczak <b.ogryczak@gmail.com> -Bastian Venthur <mail@venthur.de> -Ben Darnell <ben@bendarnell.com> -Ben Hoyt <benhoyt@gmail.com> -Ben Rosser <rosser.bjr@gmail.com> -Bence Nagy <bence@underyx.me> -Benjamin Peterson <benjamin@python.org> -Benjamin VanEvery <ben@simondata.com> -Benoit Pierre <benoit.pierre@gmail.com> -Berker Peksag <berker.peksag@gmail.com> -Bernardo B. Marques <bernardo.fire@gmail.com> -Bernhard M. Wiedemann <bwiedemann@suse.de> -Bertil Hatt <bertil.hatt@farfetch.com> -Bogdan Opanchuk <bogdan@opanchuk.net> -BorisZZZ <BorisZZZ@users.noreply.github.com> -Brad Erickson <eosrei@gmail.com> -Bradley Ayers <bradley.ayers@gmail.com> -Brandon L. Reiss <brandon@damyata.co> -Brandt Bucher <brandtbucher@gmail.com> -Brett Randall <javabrett@gmail.com> -Brian Cristante <33549821+brcrista@users.noreply.github.com> -Brian Cristante <brcrista@microsoft.com> -Brian Rosner <brosner@gmail.com> -BrownTruck <BrownTruck@users.noreply.github.com> -Bruno Oliveira <nicoddemus@gmail.com> -Bruno Renié <brutasse@gmail.com> -Bstrdsmkr <bstrdsmkr@gmail.com> -Buck Golemon <buck@yelp.com> -burrows <burrows@preveil.com> -Bussonnier Matthias <bussonniermatthias@gmail.com> -c22 <c22@users.noreply.github.com> -Caleb Martinez <accounts@calebmartinez.com> -Calvin Smith <eukaryote@users.noreply.github.com> -Carl Meyer <carl@oddbird.net> -Carlos Liam <carlos@aarzee.me> -Carol Willing <carolcode@willingconsulting.com> -Carter Thayer <carterwthayer@gmail.com> -Cass <cass.petrus@gmail.com> -Chandrasekhar Atina <chandu.atina@gmail.com> -Chih-Hsuan Yen <yan12125@gmail.com> -Chih-Hsuan Yen <yen@chyen.cc> -Chris Brinker <chris.brinker@gmail.com> -Chris Hunt <chrahunt@gmail.com> -Chris Jerdonek <chris.jerdonek@gmail.com> -Chris McDonough <chrism@plope.com> -Chris Wolfe <chriswwolfe@gmail.com> -Christian Heimes <christian@python.org> -Christian Oudard <christian.oudard@gmail.com> -Christopher Hunt <chrahunt@gmail.com> -Christopher Snyder <cnsnyder@users.noreply.github.com> -Clark Boylan <clark.boylan@gmail.com> -Clay McClure <clay@daemons.net> -Cody <Purring@users.noreply.github.com> -Cody Soyland <codysoyland@gmail.com> -Colin Watson <cjwatson@debian.org> -Connor Osborn <cdosborn@email.arizona.edu> -Cooper Lees <me@cooperlees.com> -Cooper Ry Lees <me@cooperlees.com> -Cory Benfield <lukasaoz@gmail.com> -Cory Wright <corywright@gmail.com> -Craig Kerstiens <craig.kerstiens@gmail.com> -Cristian Sorinel <cristian.sorinel@gmail.com> -Curtis Doty <Curtis@GreenKey.net> -cytolentino <ctolentino8@bloomberg.net> -Damian Quiroga <qdamian@gmail.com> -Dan Black <dyspop@gmail.com> -Dan Savilonis <djs@n-cube.org> -Dan Sully <daniel-github@electricrain.com> -daniel <mcdonaldd@unimelb.edu.au> -Daniel Collins <accounts@dac.io> -Daniel Hahler <git@thequod.de> -Daniel Holth <dholth@fastmail.fm> -Daniel Jost <torpedojost@gmail.com> -Daniel Shaulov <daniel.shaulov@gmail.com> -Daniele Esposti <expobrain@users.noreply.github.com> -Daniele Procida <daniele@vurt.org> -Danny Hermes <daniel.j.hermes@gmail.com> -Dav Clark <davclark@gmail.com> -Dave Abrahams <dave@boostpro.com> -Dave Jones <dave@waveform.org.uk> -David Aguilar <davvid@gmail.com> -David Black <db@d1b.org> -David Bordeynik <david.bordeynik@gmail.com> -David Bordeynik <david@zebra-med.com> -David Caro <david@dcaro.es> -David Evans <d@drhevans.com> -David Linke <dr.david.linke@gmail.com> -David Pursehouse <david.pursehouse@gmail.com> -David Tucker <david@tucker.name> -David Wales <daviewales@gmail.com> -Davidovich <david.genest@gmail.com> -derwolfe <chriswwolfe@gmail.com> -Desetude <harry@desetude.com> -Diego Caraballo <diegocaraballo84@gmail.com> -DiegoCaraballo <diegocaraballo84@gmail.com> -Dmitry Gladkov <dmitry.gladkov@gmail.com> -Domen Kožar <domen@dev.si> -Donald Stufft <donald@stufft.io> -Dongweiming <dongweiming@admaster.com.cn> -Douglas Thor <dougthor42@users.noreply.github.com> -DrFeathers <WilliamGeorgeBurgess@gmail.com> -Dustin Ingram <di@di.codes> -Dwayne Bailey <dwayne@translate.org.za> -Ed Morley <501702+edmorley@users.noreply.github.com> -Ed Morley <emorley@mozilla.com> -Eitan Adler <lists@eitanadler.com> -ekristina <panacejja@gmail.com> -elainechan <elaine.chan@outlook.com> -Eli Schwartz <eschwartz93@gmail.com> -Eli Schwartz <eschwartz@archlinux.org> -Emil Burzo <contact@emilburzo.com> -Emil Styrke <emil.styrke@gmail.com> -Endoh Takanao <djmchl@gmail.com> -enoch <lanxenet@gmail.com> -Erdinc Mutlu <erdinc_mutlu@yahoo.com> -Eric Gillingham <Gillingham@bikezen.net> -Eric Hanchrow <eric.hanchrow@gmail.com> -Eric Hopper <hopper@omnifarious.org> -Erik M. Bray <embray@stsci.edu> -Erik Rose <erik@mozilla.com> -Ernest W Durbin III <ewdurbin@gmail.com> -Ernest W. Durbin III <ewdurbin@gmail.com> -Erwin Janssen <erwinjanssen@outlook.com> -Eugene Vereshchagin <evvers@gmail.com> -everdimension <everdimension@gmail.com> -Felix Yan <felixonmars@archlinux.org> -fiber-space <fiber-space@users.noreply.github.com> -Filip Kokosiński <filip.kokosinski@gmail.com> -Florian Briand <ownerfrance+github@hotmail.com> -Florian Rathgeber <florian.rathgeber@gmail.com> -Francesco <f.guerrieri@gmail.com> -Francesco Montesano <franz.bergesund@gmail.com> -Frost Ming <mianghong@gmail.com> -Gabriel Curio <g.curio@gmail.com> -Gabriel de Perthuis <g2p.code@gmail.com> -Garry Polley <garrympolley@gmail.com> -gdanielson <graeme.danielson@gmail.com> -Geoffrey Lehée <geoffrey@lehee.name> -Geoffrey Sneddon <me@gsnedders.com> -George Song <george@55minutes.com> -Georgi Valkov <georgi.t.valkov@gmail.com> -Giftlin Rajaiah <giftlin.rgn@gmail.com> -gizmoguy1 <gizmoguy1@gmail.com> -gkdoc <40815324+gkdoc@users.noreply.github.com> -Gopinath M <31352222+mgopi1990@users.noreply.github.com> -GOTO Hayato <3532528+gh640@users.noreply.github.com> -gpiks <gaurav.pikale@gmail.com> -Guilherme Espada <porcariadagata@gmail.com> -Guy Rozendorn <guy@rzn.co.il> -gzpan123 <gzpan123@gmail.com> -Hanjun Kim <hallazzang@gmail.com> -Hari Charan <hcharan997@gmail.com> -Harsh Vardhan <harsh59v@gmail.com> -Herbert Pfennig <herbert@albinen.com> -Hsiaoming Yang <lepture@me.com> -Hugo <hugovk@users.noreply.github.com> -Hugo Lopes Tavares <hltbra@gmail.com> -Hugo van Kemenade <hugovk@users.noreply.github.com> -hugovk <hugovk@users.noreply.github.com> -Hynek Schlawack <hs@ox.cx> -Ian Bicking <ianb@colorstudy.com> -Ian Cordasco <graffatcolmingov@gmail.com> -Ian Lee <IanLee1521@gmail.com> -Ian Stapleton Cordasco <graffatcolmingov@gmail.com> -Ian Wienand <ian@wienand.org> -Ian Wienand <iwienand@redhat.com> -Igor Kuzmitshov <kuzmiigo@gmail.com> -Igor Sobreira <igor@igorsobreira.com> -Ilya Baryshev <baryshev@gmail.com> -INADA Naoki <songofacandy@gmail.com> -Ionel Cristian Mărieș <contact@ionelmc.ro> -Ionel Maries Cristian <ionel.mc@gmail.com> -Ivan Pozdeev <vano@mail.mipt.ru> -Jacob Kim <me@thejacobkim.com> -jakirkham <jakirkham@gmail.com> -Jakub Stasiak <kuba.stasiak@gmail.com> -Jakub Vysoky <jakub@borka.cz> -Jakub Wilk <jwilk@jwilk.net> -James Cleveland <jamescleveland@gmail.com> -James Cleveland <radiosilence@users.noreply.github.com> -James Firth <hello@james-firth.com> -James Polley <jp@jamezpolley.com> -Jan Pokorný <jpokorny@redhat.com> -Jannis Leidel <jannis@leidel.info> -jarondl <me@jarondl.net> -Jason R. Coombs <jaraco@jaraco.com> -Jay Graves <jay@skabber.com> -Jean-Christophe Fillion-Robin <jchris.fillionr@kitware.com> -Jeff Barber <jbarber@computer.org> -Jeff Dairiki <dairiki@dairiki.org> -Jelmer Vernooij <jelmer@jelmer.uk> -jenix21 <devfrog@gmail.com> -Jeremy Stanley <fungi@yuggoth.org> -Jeremy Zafran <jzafran@users.noreply.github.com> -Jiashuo Li <jiasli@microsoft.com> -Jim Garrison <jim@garrison.cc> -Jivan Amara <Development@JivanAmara.net> -John Paton <j.paton@catawiki.nl> -John-Scott Atlakson <john.scott.atlakson@gmail.com> -johnthagen <johnthagen@gmail.com> -johnthagen <johnthagen@users.noreply.github.com> -Jon Banafato <jon@jonafato.com> -Jon Dufresne <jon.dufresne@gmail.com> -Jon Parise <jon@indelible.org> -Jonas Nockert <jonasnockert@gmail.com> -Jonathan Herbert <foohyfooh@gmail.com> -Joost Molenaar <j.j.molenaar@gmail.com> -Jorge Niedbalski <niedbalski@gmail.com> -Joseph Long <jdl@fastmail.fm> -Josh Bronson <jabronson@gmail.com> -Josh Hansen <josh@skwash.net> -Josh Schneier <josh.schneier@gmail.com> -Juanjo Bazán <jjbazan@gmail.com> -Julian Berman <Julian@GrayVines.com> -Julian Gethmann <julian.gethmann@kit.edu> -Julien Demoor <julien@jdemoor.com> -jwg4 <jack.grahl@yahoo.co.uk> -Jyrki Pulliainen <jyrki@spotify.com> -Kai Chen <kaichen120@gmail.com> -Kamal Bin Mustafa <kamal@smach.net> -kaustav haldar <hi@kaustav.me> -keanemind <keanemind@gmail.com> -Keith Maxwell <keith.maxwell@gmail.com> -Kelsey Hightower <kelsey.hightower@gmail.com> -Kenneth Belitzky <kenny@belitzky.com> -Kenneth Reitz <me@kennethreitz.com> -Kenneth Reitz <me@kennethreitz.org> -Kevin Burke <kev@inburke.com> -Kevin Carter <kevin.carter@rackspace.com> -Kevin Frommelt <kevin.frommelt@webfilings.com> -Kevin R Patterson <kevin.r.patterson@intel.com> -Kexuan Sun <me@kianasun.com> -Kit Randel <kit@nocturne.net.nz> -kpinc <kop@meme.com> -Krishna Oza <krishoza15sep@gmail.com> -Kumar McMillan <kumar.mcmillan@gmail.com> -Kyle Persohn <kyle.persohn@gmail.com> -lakshmanaram <lakshmanaram.n@gmail.com> -Laszlo Kiss-Kollar <kiss.kollar.laszlo@gmail.com> -Laurent Bristiel <laurent@bristiel.com> -Laurie Opperman <laurie@sitesee.com.au> -Leon Sasson <leonsassonha@gmail.com> -Lev Givon <lev@columbia.edu> -Lincoln de Sousa <lincoln@comum.org> -Lipis <lipiridis@gmail.com> -Loren Carvalho <lcarvalho@linkedin.com> -Lucas Cimon <lucas.cimon@gmail.com> -Ludovic Gasc <gmludo@gmail.com> -Luke Macken <lmacken@redhat.com> -Luo Jiebin <luo.jiebin@qq.com> -luojiebin <luojiebin@users.noreply.github.com> -luz.paz <luzpaz@users.noreply.github.com> -László Kiss Kollár <lkisskollar@bloomberg.net> -László Kiss Kollár <lkollar@users.noreply.github.com> -Marc Abramowitz <marc@marc-abramowitz.com> -Marc Tamlyn <marc.tamlyn@gmail.com> -Marcus Smith <qwcode@gmail.com> -Mariatta <Mariatta@users.noreply.github.com> -Mark Kohler <mark.kohler@proteinsimple.com> -Mark Williams <markrwilliams@gmail.com> -Mark Williams <mrw@enotuniq.org> -Markus Hametner <fin+github@xbhd.org> -Masaki <mk5986@nyu.edu> -Masklinn <bitbucket.org@masklinn.net> -Matej Stuchlik <mstuchli@redhat.com> -Mathew Jennings <mjennings@foursquare.com> -Mathieu Bridon <bochecha@daitauha.fr> -Matt Good <matt@matt-good.net> -Matt Maker <trip@monstro.us> -Matt Robenolt <matt@ydekproductions.com> -matthew <matthew@trumbell.net> -Matthew Einhorn <moiein2000@gmail.com> -Matthew Gilliard <matthew.gilliard@gmail.com> -Matthew Iversen <teh.ivo@gmail.com> -Matthew Trumbell <matthew@thirdstonepartners.com> -Matthew Willson <matthew@swiftkey.com> -Matthias Bussonnier <bussonniermatthias@gmail.com> -mattip <matti.picus@gmail.com> -Maxim Kurnikov <maxim.kurnikov@gmail.com> -Maxime Rouyrre <rouyrre+git@gmail.com> -mayeut <mayeut@users.noreply.github.com> -mbaluna <44498973+mbaluna@users.noreply.github.com> -mdebi <17590103+mdebi@users.noreply.github.com> -memoselyk <memoselyk@gmail.com> -Michael <michael-k@users.noreply.github.com> -Michael Aquilina <michaelaquilina@gmail.com> -Michael E. Karpeles <michael.karpeles@gmail.com> -Michael Klich <michal@michalklich.com> -Michael Williamson <mike@zwobble.org> -michaelpacer <michaelpacer@gmail.com> -Mickaël Schoentgen <mschoentgen@nuxeo.com> -Miguel Araujo Perez <miguel.araujo.perez@gmail.com> -Mihir Singh <git.service@mihirsingh.com> -Mike <mikeh@blur.com> -Mike Hendricks <mikeh@blur.com> -Min RK <benjaminrk@gmail.com> -MinRK <benjaminrk@gmail.com> -Miro Hrončok <miro@hroncok.cz> -Monica Baluna <mbaluna@bloomberg.net> -montefra <franz.bergesund@gmail.com> -Monty Taylor <mordred@inaugust.com> -Nate Coraor <nate@bx.psu.edu> -Nathaniel J. Smith <njs@pobox.com> -Nehal J Wani <nehaljw.kkd1@gmail.com> -Neil Botelho <neil.botelho321@gmail.com> -Nick Coghlan <ncoghlan@gmail.com> -Nick Stenning <nick@whiteink.com> -Nick Timkovich <prometheus235@gmail.com> -Nicolas Bock <nicolasbock@gmail.com> -Nikhil Benesch <nikhil.benesch@gmail.com> -Nitesh Sharma <nbsharma@outlook.com> -Nowell Strite <nowell@strite.org> -NtaleGrey <Shadikntale@gmail.com> -nvdv <modestdev@gmail.com> -Ofekmeister <ofekmeister@gmail.com> -ofrinevo <ofrine@gmail.com> -Oliver Jeeves <oliver.jeeves@ocado.com> -Oliver Tonnhofer <olt@bogosoft.com> -Olivier Girardot <ssaboum@gmail.com> -Olivier Grisel <olivier.grisel@ensta.org> -Ollie Rutherfurd <orutherfurd@gmail.com> -OMOTO Kenji <k-omoto@m3.com> -Omry Yadan <omry@fb.com> -Oren Held <orenhe@il.ibm.com> -Oscar Benjamin <oscar.j.benjamin@gmail.com> -Oz N Tiram <oz.tiram@gmail.com> -Pachwenko <32424503+Pachwenko@users.noreply.github.com> -Patrick Dubroy <pdubroy@gmail.com> -Patrick Jenkins <patrick@socialgrowthtechnologies.com> -Patrick Lawson <pl@foursquare.com> -patricktokeeffe <patricktokeeffe@users.noreply.github.com> -Patrik Kopkan <pkopkan@redhat.com> -Paul Kehrer <paul.l.kehrer@gmail.com> -Paul Moore <p.f.moore@gmail.com> -Paul Nasrat <pnasrat@gmail.com> -Paul Oswald <pauloswald@gmail.com> -Paul van der Linden <mail@paultjuh.org> -Paulus Schoutsen <paulus@paulusschoutsen.nl> -Pavithra Eswaramoorthy <33131404+QueenCoffee@users.noreply.github.com> -Pawel Jasinski <pawel.jasinski@gmail.com> -Pekka Klärck <peke@iki.fi> -Peter Lisák <peter.lisak@showmax.com> -Peter Waller <peter.waller@gmail.com> -petr-tik <petr-tik@users.noreply.github.com> -Phaneendra Chiruvella <hi@pcx.io> -Phil Freo <phil@philfreo.com> -Phil Pennock <phil@pennock-tech.com> -Phil Whelan <phil123@gmail.com> -Philip Jägenstedt <philip@foolip.org> -Philip Molloy <pamolloy@users.noreply.github.com> -Philippe Ombredanne <pombredanne@gmail.com> -Pi Delport <pjdelport@gmail.com> -Pierre-Yves Rofes <github@rofes.fr> -pip <pypa-dev@googlegroups.com> -Prabakaran Kumaresshan <k_prabakaran+github@hotmail.com> -Prabhjyotsing Surjit Singh Sodhi <psinghsodhi@bloomberg.net> -Prabhu Marappan <prabhum.794@gmail.com> -Pradyun Gedam <pradyunsg@gmail.com> -Pratik Mallya <mallya@us.ibm.com> -Preet Thakkar <preet.thakkar@students.iiit.ac.in> -Preston Holmes <preston@ptone.com> -Przemek Wrzos <hetmankp@none> -Pulkit Goyal <7895pulkit@gmail.com> -Qiangning Hong <hongqn@gmail.com> -Quentin Pradet <quentin.pradet@gmail.com> -R. David Murray <rdmurray@bitdance.com> -Rafael Caricio <rafael.jacinto@gmail.com> -Ralf Schmitt <ralf@systemexit.de> -Razzi Abuissa <razzi53@gmail.com> -rdb <rdb@users.noreply.github.com> -Remi Rampin <r@remirampin.com> -Remi Rampin <remirampin@gmail.com> -Rene Dudfield <renesd@gmail.com> -Riccardo Magliocchetti <riccardo.magliocchetti@gmail.com> -Richard Jones <r1chardj0n3s@gmail.com> -RobberPhex <robberphex@gmail.com> -Robert Collins <rbtcollins@hp.com> -Robert McGibbon <rmcgibbo@gmail.com> -Robert T. McGibbon <rmcgibbo@gmail.com> -robin elisha robinson <elisha.rob@gmail.com> -Roey Berman <roey.berman@gmail.com> -Rohan Jain <crodjer@gmail.com> -Rohan Jain <crodjer@users.noreply.github.com> -Rohan Jain <mail@rohanjain.in> -Roman Bogorodskiy <roman.bogorodskiy@ericsson.com> -Romuald Brunet <romuald@chivil.com> -Ronny Pfannschmidt <Ronny.Pfannschmidt@gmx.de> -Rory McCann <rory@technomancy.org> -Ross Brattain <ross.b.brattain@intel.com> -Roy Wellington Ⅳ <cactus_hugged@yahoo.com> -Roy Wellington Ⅳ <roy@mybasis.com> -Ryan Wooden <rygwdn@gmail.com> -ryneeverett <ryneeverett@gmail.com> -Sachi King <nakato@nakato.io> -Salvatore Rinchiera <salvatore@rinchiera.com> -Savio Jomton <sajo240519@gmail.com> -schlamar <marc.schlaich@gmail.com> -Scott Kitterman <sklist@kitterman.com> -Sean <me@sean.taipei> -seanj <seanj@xyke.com> -Sebastian Jordan <sebastian.jordan.mail@googlemail.com> -Sebastian Schaetz <sschaetz@butterflynetinc.com> -Segev Finer <segev208@gmail.com> -SeongSoo Cho <ppiyakk2@printf.kr> -Sergey Vasilyev <nolar@nolar.info> -Seth Woodworth <seth@sethish.com> -Shlomi Fish <shlomif@shlomifish.org> -Shovan Maity <shovan.maity@mayadata.io> -Simeon Visser <svisser@users.noreply.github.com> -Simon Cross <hodgestar@gmail.com> -Simon Pichugin <simon.pichugin@gmail.com> -sinoroc <sinoroc.code+git@gmail.com> -Sorin Sbarnea <sorin.sbarnea@gmail.com> -Stavros Korokithakis <stavros@korokithakis.net> -Stefan Scherfke <stefan@sofa-rockers.org> -Stephan Erb <github@stephanerb.eu> -stepshal <nessento@openmailbox.org> -Steve (Gadget) Barnes <gadgetsteve@hotmail.com> -Steve Barnes <gadgetsteve@hotmail.com> -Steve Dower <steve.dower@microsoft.com> -Steve Kowalik <steven@wedontsleep.org> -Steven Myint <git@stevenmyint.com> -stonebig <stonebig34@gmail.com> -Stéphane Bidoul (ACSONE) <stephane.bidoul@acsone.eu> -Stéphane Bidoul <stephane.bidoul@acsone.eu> -Stéphane Klein <contact@stephane-klein.info> -Sumana Harihareswara <sh@changeset.nyc> -Sviatoslav Sydorenko <wk.cvs.github@sydorenko.org.ua> -Sviatoslav Sydorenko <wk@sydorenko.org.ua> -Swat009 <swatantra.kumar8@gmail.com> -Takayuki SHIMIZUKAWA <shimizukawa@gmail.com> -tbeswick <tbeswick@enphaseenergy.com> -Thijs Triemstra <info@collab.nl> -Thomas Fenzl <thomas.fenzl@gmail.com> -Thomas Grainger <tagrain@gmail.com> -Thomas Guettler <tguettler@tbz-pariv.de> -Thomas Johansson <devnull@localhost> -Thomas Kluyver <thomas@kluyver.me.uk> -Thomas Smith <smithtg@ncbi.nlm.nih.gov> -Tim D. Smith <github@tim-smith.us> -Tim Gates <tim.gates@iress.com> -Tim Harder <radhermit@gmail.com> -Tim Heap <tim@timheap.me> -tim smith <github@tim-smith.us> -tinruufu <tinruufu@gmail.com> -Tom Forbes <tom@tomforb.es> -Tom Freudenheim <tom.freudenheim@onepeloton.com> -Tom V <tom@viner.tv> -Tomas Orsava <torsava@redhat.com> -Tomer Chachamu <tomer.chachamu@gmail.com> -Tony Beswick <tonybeswick@orcon.net.nz> -Tony Zhaocheng Tan <tony@tonytan.io> -TonyBeswick <TonyBeswick@users.noreply.github.com> -toonarmycaptain <toonarmycaptain@hotmail.com> -Toshio Kuratomi <toshio@fedoraproject.org> -Travis Swicegood <development@domain51.com> -Tzu-ping Chung <uranusjr@gmail.com> -Valentin Haenel <valentin.haenel@gmx.de> -Victor Stinner <victor.stinner@gmail.com> -victorvpaulo <victorvpaulo@gmail.com> -Viktor Szépe <viktor@szepe.net> -Ville Skyttä <ville.skytta@iki.fi> -Vinay Sajip <vinay_sajip@yahoo.co.uk> -Vincent Philippon <sindaewoh@gmail.com> -Vinicyus Macedo <7549205+vinicyusmacedo@users.noreply.github.com> -Vitaly Babiy <vbabiy86@gmail.com> -Vladimir Rutsky <rutsky@users.noreply.github.com> -W. Trevor King <wking@drexel.edu> -Wil Tan <wil@dready.org> -Wilfred Hughes <me@wilfred.me.uk> -William ML Leslie <william.leslie.ttg@gmail.com> -William T Olson <trevor@heytrevor.com> -Wilson Mo <wilsonfv@126.com> -wim glenn <wim.glenn@gmail.com> -Wolfgang Maier <wolfgang.maier@biologie.uni-freiburg.de> -Xavier Fernandez <xav.fernandez@gmail.com> -Xavier Fernandez <xavier.fernandez@polyconseil.fr> -xoviat <xoviat@users.noreply.github.com> -xtreak <tir.karthi@gmail.com> -YAMAMOTO Takashi <yamamoto@midokura.com> -Yen Chi Hsuan <yan12125@gmail.com> -Yeray Diaz Diaz <yeraydiazdiaz@gmail.com> -Yoval P <yoval@gmx.com> -Yu Jian <askingyj@gmail.com> -Yuan Jing Vincent Yan <yyan82@bloomberg.net> -Zearin <zearin@gonk.net> -Zearin <Zearin@users.noreply.github.com> -Zhiping Deng <kofreestyler@gmail.com> -Zvezdan Petkovic <zpetkovic@acm.org> -Łukasz Langa <lukasz@langa.pl> -Семён Марьясин <simeon@maryasin.name> diff --git a/.venv/lib/python3.8/site-packages/pkg_resources-0.0.0.dist-info/INSTALLER b/.venv/lib/python3.8/site-packages/pkg_resources-0.0.0.dist-info/INSTALLER deleted file mode 100644 index a1b589e..0000000 --- a/.venv/lib/python3.8/site-packages/pkg_resources-0.0.0.dist-info/INSTALLER +++ /dev/null @@ -1 +0,0 @@ -pip diff --git a/.venv/lib/python3.8/site-packages/pkg_resources-0.0.0.dist-info/LICENSE.txt b/.venv/lib/python3.8/site-packages/pkg_resources-0.0.0.dist-info/LICENSE.txt deleted file mode 100644 index 737fec5..0000000 --- a/.venv/lib/python3.8/site-packages/pkg_resources-0.0.0.dist-info/LICENSE.txt +++ /dev/null @@ -1,20 +0,0 @@ -Copyright (c) 2008-2019 The pip developers (see AUTHORS.txt file) - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/.venv/lib/python3.8/site-packages/pkg_resources-0.0.0.dist-info/METADATA b/.venv/lib/python3.8/site-packages/pkg_resources-0.0.0.dist-info/METADATA deleted file mode 100644 index cf6c930..0000000 --- a/.venv/lib/python3.8/site-packages/pkg_resources-0.0.0.dist-info/METADATA +++ /dev/null @@ -1,13 +0,0 @@ -Metadata-Version: 2.1 -Name: pkg_resources -Version: 0.0.0 -Summary: UNKNOWN -Home-page: UNKNOWN -Author: UNKNOWN -Author-email: UNKNOWN -License: UNKNOWN -Platform: UNKNOWN - -UNKNOWN - - diff --git a/.venv/lib/python3.8/site-packages/pkg_resources-0.0.0.dist-info/RECORD b/.venv/lib/python3.8/site-packages/pkg_resources-0.0.0.dist-info/RECORD deleted file mode 100644 index 2bbae1d..0000000 --- a/.venv/lib/python3.8/site-packages/pkg_resources-0.0.0.dist-info/RECORD +++ /dev/null @@ -1,38 +0,0 @@ -pkg_resources-0.0.0.dist-info/AUTHORS.txt,sha256=RtqU9KfonVGhI48DAA4-yTOBUhBtQTjFhaDzHoyh7uU,21518 -pkg_resources-0.0.0.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 -pkg_resources-0.0.0.dist-info/LICENSE.txt,sha256=W6Ifuwlk-TatfRU2LR7W1JMcyMj5_y1NkRkOEJvnRDE,1090 -pkg_resources-0.0.0.dist-info/METADATA,sha256=V9_WPOtD1FnuKrTGv6Ique7kAOn2lasvT8W0_iMCCCk,177 -pkg_resources-0.0.0.dist-info/RECORD,, -pkg_resources-0.0.0.dist-info/WHEEL,sha256=kGT74LWyRUZrL4VgLh6_g12IeVl_9u9ZVhadrgXZUEY,110 -pkg_resources/__init__.py,sha256=0IssxXPnaDKpYZRra8Ime0JG4hwosQljItGD0bnIkGk,108349 -pkg_resources/__pycache__/__init__.cpython-38.pyc,, -pkg_resources/__pycache__/py31compat.cpython-38.pyc,, -pkg_resources/_vendor/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -pkg_resources/_vendor/__pycache__/__init__.cpython-38.pyc,, -pkg_resources/_vendor/__pycache__/appdirs.cpython-38.pyc,, -pkg_resources/_vendor/__pycache__/pyparsing.cpython-38.pyc,, -pkg_resources/_vendor/__pycache__/six.cpython-38.pyc,, -pkg_resources/_vendor/appdirs.py,sha256=MievUEuv3l_mQISH5SF0shDk_BNhHHzYiAPrT3ITN4I,24701 -pkg_resources/_vendor/packaging/__about__.py,sha256=zkcCPTN_6TcLW0Nrlg0176-R1QQ_WVPTm8sz1R4-HjM,720 -pkg_resources/_vendor/packaging/__init__.py,sha256=_vNac5TrzwsrzbOFIbF-5cHqc_Y2aPT2D7zrIR06BOo,513 -pkg_resources/_vendor/packaging/__pycache__/__about__.cpython-38.pyc,, -pkg_resources/_vendor/packaging/__pycache__/__init__.cpython-38.pyc,, -pkg_resources/_vendor/packaging/__pycache__/_compat.cpython-38.pyc,, -pkg_resources/_vendor/packaging/__pycache__/_structures.cpython-38.pyc,, -pkg_resources/_vendor/packaging/__pycache__/markers.cpython-38.pyc,, -pkg_resources/_vendor/packaging/__pycache__/requirements.cpython-38.pyc,, -pkg_resources/_vendor/packaging/__pycache__/specifiers.cpython-38.pyc,, -pkg_resources/_vendor/packaging/__pycache__/utils.cpython-38.pyc,, -pkg_resources/_vendor/packaging/__pycache__/version.cpython-38.pyc,, -pkg_resources/_vendor/packaging/_compat.py,sha256=Vi_A0rAQeHbU-a9X0tt1yQm9RqkgQbDSxzRw8WlU9kA,860 -pkg_resources/_vendor/packaging/_structures.py,sha256=RImECJ4c_wTlaTYYwZYLHEiebDMaAJmK1oPARhw1T5o,1416 -pkg_resources/_vendor/packaging/markers.py,sha256=uEcBBtGvzqltgnArqb9c4RrcInXezDLos14zbBHhWJo,8248 -pkg_resources/_vendor/packaging/requirements.py,sha256=SikL2UynbsT0qtY9ltqngndha_sfo0w6XGFhAhoSoaQ,4355 -pkg_resources/_vendor/packaging/specifiers.py,sha256=SAMRerzO3fK2IkFZCaZkuwZaL_EGqHNOz4pni4vhnN0,28025 -pkg_resources/_vendor/packaging/utils.py,sha256=3m6WvPm6NNxE8rkTGmn0r75B_GZSGg7ikafxHsBN1WA,421 -pkg_resources/_vendor/packaging/version.py,sha256=OwGnxYfr2ghNzYx59qWIBkrK3SnB6n-Zfd1XaLpnnM0,11556 -pkg_resources/_vendor/pyparsing.py,sha256=tmrp-lu-qO1i75ZzIN5A12nKRRD1Cm4Vpk-5LR9rims,232055 -pkg_resources/_vendor/six.py,sha256=A6hdJZVjI3t_geebZ9BzUvwRrIXo0lfwzQlM2LcKyas,30098 -pkg_resources/extern/__init__.py,sha256=cHiEfHuLmm6rs5Ve_ztBfMI7Lr31vss-D4wkqF5xzlI,2498 -pkg_resources/extern/__pycache__/__init__.cpython-38.pyc,, -pkg_resources/py31compat.py,sha256=-WQ0e4c3RG_acdhwC3gLiXhP_lg4G5q7XYkZkQg0gxU,558 diff --git a/.venv/lib/python3.8/site-packages/pkg_resources-0.0.0.dist-info/WHEEL b/.venv/lib/python3.8/site-packages/pkg_resources-0.0.0.dist-info/WHEEL deleted file mode 100644 index ef99c6c..0000000 --- a/.venv/lib/python3.8/site-packages/pkg_resources-0.0.0.dist-info/WHEEL +++ /dev/null @@ -1,6 +0,0 @@ -Wheel-Version: 1.0 -Generator: bdist_wheel (0.34.2) -Root-Is-Purelib: true -Tag: py2-none-any -Tag: py3-none-any - diff --git a/.venv/lib/python3.8/site-packages/pkg_resources/__init__.py b/.venv/lib/python3.8/site-packages/pkg_resources/__init__.py deleted file mode 100644 index 2f5aa64..0000000 --- a/.venv/lib/python3.8/site-packages/pkg_resources/__init__.py +++ /dev/null @@ -1,3296 +0,0 @@ -# coding: utf-8 -""" -Package resource API --------------------- - -A resource is a logical file contained within a package, or a logical -subdirectory thereof. The package resource API expects resource names -to have their path parts separated with ``/``, *not* whatever the local -path separator is. Do not use os.path operations to manipulate resource -names being passed into the API. - -The package resource API is designed to work with normal filesystem packages, -.egg files, and unpacked .egg files. It can also work in a limited way with -.zip files and with custom PEP 302 loaders that support the ``get_data()`` -method. -""" - -from __future__ import absolute_import - -import sys -import os -import io -import time -import re -import types -import zipfile -import zipimport -import warnings -import stat -import functools -import pkgutil -import operator -import platform -import collections -import plistlib -import email.parser -import errno -import tempfile -import textwrap -import itertools -import inspect -import ntpath -import posixpath -from pkgutil import get_importer - -try: - import _imp -except ImportError: - # Python 3.2 compatibility - import imp as _imp - -try: - FileExistsError -except NameError: - FileExistsError = OSError - -from pkg_resources.extern import six -from pkg_resources.extern.six.moves import urllib, map, filter - -# capture these to bypass sandboxing -from os import utime -try: - from os import mkdir, rename, unlink - WRITE_SUPPORT = True -except ImportError: - # no write support, probably under GAE - WRITE_SUPPORT = False - -from os import open as os_open -from os.path import isdir, split - -try: - import importlib.machinery as importlib_machinery - # access attribute to force import under delayed import mechanisms. - importlib_machinery.__name__ -except ImportError: - importlib_machinery = None - -from . import py31compat -from pkg_resources.extern import appdirs -from pkg_resources.extern import packaging -__import__('pkg_resources.extern.packaging.version') -__import__('pkg_resources.extern.packaging.specifiers') -__import__('pkg_resources.extern.packaging.requirements') -__import__('pkg_resources.extern.packaging.markers') - - -__metaclass__ = type - - -if (3, 0) < sys.version_info < (3, 5): - raise RuntimeError("Python 3.5 or later is required") - -if six.PY2: - # Those builtin exceptions are only defined in Python 3 - PermissionError = None - NotADirectoryError = None - -# declare some globals that will be defined later to -# satisfy the linters. -require = None -working_set = None -add_activation_listener = None -resources_stream = None -cleanup_resources = None -resource_dir = None -resource_stream = None -set_extraction_path = None -resource_isdir = None -resource_string = None -iter_entry_points = None -resource_listdir = None -resource_filename = None -resource_exists = None -_distribution_finders = None -_namespace_handlers = None -_namespace_packages = None - - -class PEP440Warning(RuntimeWarning): - """ - Used when there is an issue with a version or specifier not complying with - PEP 440. - """ - - -def parse_version(v): - try: - return packaging.version.Version(v) - except packaging.version.InvalidVersion: - return packaging.version.LegacyVersion(v) - - -_state_vars = {} - - -def _declare_state(vartype, **kw): - globals().update(kw) - _state_vars.update(dict.fromkeys(kw, vartype)) - - -def __getstate__(): - state = {} - g = globals() - for k, v in _state_vars.items(): - state[k] = g['_sget_' + v](g[k]) - return state - - -def __setstate__(state): - g = globals() - for k, v in state.items(): - g['_sset_' + _state_vars[k]](k, g[k], v) - return state - - -def _sget_dict(val): - return val.copy() - - -def _sset_dict(key, ob, state): - ob.clear() - ob.update(state) - - -def _sget_object(val): - return val.__getstate__() - - -def _sset_object(key, ob, state): - ob.__setstate__(state) - - -_sget_none = _sset_none = lambda *args: None - - -def get_supported_platform(): - """Return this platform's maximum compatible version. - - distutils.util.get_platform() normally reports the minimum version - of Mac OS X that would be required to *use* extensions produced by - distutils. But what we want when checking compatibility is to know the - version of Mac OS X that we are *running*. To allow usage of packages that - explicitly require a newer version of Mac OS X, we must also know the - current version of the OS. - - If this condition occurs for any other platform with a version in its - platform strings, this function should be extended accordingly. - """ - plat = get_build_platform() - m = macosVersionString.match(plat) - if m is not None and sys.platform == "darwin": - try: - plat = 'macosx-%s-%s' % ('.'.join(_macosx_vers()[:2]), m.group(3)) - except ValueError: - # not Mac OS X - pass - return plat - - -__all__ = [ - # Basic resource access and distribution/entry point discovery - 'require', 'run_script', 'get_provider', 'get_distribution', - 'load_entry_point', 'get_entry_map', 'get_entry_info', - 'iter_entry_points', - 'resource_string', 'resource_stream', 'resource_filename', - 'resource_listdir', 'resource_exists', 'resource_isdir', - - # Environmental control - 'declare_namespace', 'working_set', 'add_activation_listener', - 'find_distributions', 'set_extraction_path', 'cleanup_resources', - 'get_default_cache', - - # Primary implementation classes - 'Environment', 'WorkingSet', 'ResourceManager', - 'Distribution', 'Requirement', 'EntryPoint', - - # Exceptions - 'ResolutionError', 'VersionConflict', 'DistributionNotFound', - 'UnknownExtra', 'ExtractionError', - - # Warnings - 'PEP440Warning', - - # Parsing functions and string utilities - 'parse_requirements', 'parse_version', 'safe_name', 'safe_version', - 'get_platform', 'compatible_platforms', 'yield_lines', 'split_sections', - 'safe_extra', 'to_filename', 'invalid_marker', 'evaluate_marker', - - # filesystem utilities - 'ensure_directory', 'normalize_path', - - # Distribution "precedence" constants - 'EGG_DIST', 'BINARY_DIST', 'SOURCE_DIST', 'CHECKOUT_DIST', 'DEVELOP_DIST', - - # "Provider" interfaces, implementations, and registration/lookup APIs - 'IMetadataProvider', 'IResourceProvider', 'FileMetadata', - 'PathMetadata', 'EggMetadata', 'EmptyProvider', 'empty_provider', - 'NullProvider', 'EggProvider', 'DefaultProvider', 'ZipProvider', - 'register_finder', 'register_namespace_handler', 'register_loader_type', - 'fixup_namespace_packages', 'get_importer', - - # Warnings - 'PkgResourcesDeprecationWarning', - - # Deprecated/backward compatibility only - 'run_main', 'AvailableDistributions', -] - - -class ResolutionError(Exception): - """Abstract base for dependency resolution errors""" - - def __repr__(self): - return self.__class__.__name__ + repr(self.args) - - -class VersionConflict(ResolutionError): - """ - An already-installed version conflicts with the requested version. - - Should be initialized with the installed Distribution and the requested - Requirement. - """ - - _template = "{self.dist} is installed but {self.req} is required" - - @property - def dist(self): - return self.args[0] - - @property - def req(self): - return self.args[1] - - def report(self): - return self._template.format(**locals()) - - def with_context(self, required_by): - """ - If required_by is non-empty, return a version of self that is a - ContextualVersionConflict. - """ - if not required_by: - return self - args = self.args + (required_by,) - return ContextualVersionConflict(*args) - - -class ContextualVersionConflict(VersionConflict): - """ - A VersionConflict that accepts a third parameter, the set of the - requirements that required the installed Distribution. - """ - - _template = VersionConflict._template + ' by {self.required_by}' - - @property - def required_by(self): - return self.args[2] - - -class DistributionNotFound(ResolutionError): - """A requested distribution was not found""" - - _template = ("The '{self.req}' distribution was not found " - "and is required by {self.requirers_str}") - - @property - def req(self): - return self.args[0] - - @property - def requirers(self): - return self.args[1] - - @property - def requirers_str(self): - if not self.requirers: - return 'the application' - return ', '.join(self.requirers) - - def report(self): - return self._template.format(**locals()) - - def __str__(self): - return self.report() - - -class UnknownExtra(ResolutionError): - """Distribution doesn't have an "extra feature" of the given name""" - - -_provider_factories = {} - -PY_MAJOR = '{}.{}'.format(*sys.version_info) -EGG_DIST = 3 -BINARY_DIST = 2 -SOURCE_DIST = 1 -CHECKOUT_DIST = 0 -DEVELOP_DIST = -1 - - -def register_loader_type(loader_type, provider_factory): - """Register `provider_factory` to make providers for `loader_type` - - `loader_type` is the type or class of a PEP 302 ``module.__loader__``, - and `provider_factory` is a function that, passed a *module* object, - returns an ``IResourceProvider`` for that module. - """ - _provider_factories[loader_type] = provider_factory - - -def get_provider(moduleOrReq): - """Return an IResourceProvider for the named module or requirement""" - if isinstance(moduleOrReq, Requirement): - return working_set.find(moduleOrReq) or require(str(moduleOrReq))[0] - try: - module = sys.modules[moduleOrReq] - except KeyError: - __import__(moduleOrReq) - module = sys.modules[moduleOrReq] - loader = getattr(module, '__loader__', None) - return _find_adapter(_provider_factories, loader)(module) - - -def _macosx_vers(_cache=[]): - if not _cache: - version = platform.mac_ver()[0] - # fallback for MacPorts - if version == '': - plist = '/System/Library/CoreServices/SystemVersion.plist' - if os.path.exists(plist): - if hasattr(plistlib, 'readPlist'): - plist_content = plistlib.readPlist(plist) - if 'ProductVersion' in plist_content: - version = plist_content['ProductVersion'] - - _cache.append(version.split('.')) - return _cache[0] - - -def _macosx_arch(machine): - return {'PowerPC': 'ppc', 'Power_Macintosh': 'ppc'}.get(machine, machine) - - -def get_build_platform(): - """Return this platform's string for platform-specific distributions - - XXX Currently this is the same as ``distutils.util.get_platform()``, but it - needs some hacks for Linux and Mac OS X. - """ - from sysconfig import get_platform - - plat = get_platform() - if sys.platform == "darwin" and not plat.startswith('macosx-'): - try: - version = _macosx_vers() - machine = os.uname()[4].replace(" ", "_") - return "macosx-%d.%d-%s" % ( - int(version[0]), int(version[1]), - _macosx_arch(machine), - ) - except ValueError: - # if someone is running a non-Mac darwin system, this will fall - # through to the default implementation - pass - return plat - - -macosVersionString = re.compile(r"macosx-(\d+)\.(\d+)-(.*)") -darwinVersionString = re.compile(r"darwin-(\d+)\.(\d+)\.(\d+)-(.*)") -# XXX backward compat -get_platform = get_build_platform - - -def compatible_platforms(provided, required): - """Can code for the `provided` platform run on the `required` platform? - - Returns true if either platform is ``None``, or the platforms are equal. - - XXX Needs compatibility checks for Linux and other unixy OSes. - """ - if provided is None or required is None or provided == required: - # easy case - return True - - # Mac OS X special cases - reqMac = macosVersionString.match(required) - if reqMac: - provMac = macosVersionString.match(provided) - - # is this a Mac package? - if not provMac: - # this is backwards compatibility for packages built before - # setuptools 0.6. All packages built after this point will - # use the new macosx designation. - provDarwin = darwinVersionString.match(provided) - if provDarwin: - dversion = int(provDarwin.group(1)) - macosversion = "%s.%s" % (reqMac.group(1), reqMac.group(2)) - if dversion == 7 and macosversion >= "10.3" or \ - dversion == 8 and macosversion >= "10.4": - return True - # egg isn't macosx or legacy darwin - return False - - # are they the same major version and machine type? - if provMac.group(1) != reqMac.group(1) or \ - provMac.group(3) != reqMac.group(3): - return False - - # is the required OS major update >= the provided one? - if int(provMac.group(2)) > int(reqMac.group(2)): - return False - - return True - - # XXX Linux and other platforms' special cases should go here - return False - - -def run_script(dist_spec, script_name): - """Locate distribution `dist_spec` and run its `script_name` script""" - ns = sys._getframe(1).f_globals - name = ns['__name__'] - ns.clear() - ns['__name__'] = name - require(dist_spec)[0].run_script(script_name, ns) - - -# backward compatibility -run_main = run_script - - -def get_distribution(dist): - """Return a current distribution object for a Requirement or string""" - if isinstance(dist, six.string_types): - dist = Requirement.parse(dist) - if isinstance(dist, Requirement): - dist = get_provider(dist) - if not isinstance(dist, Distribution): - raise TypeError("Expected string, Requirement, or Distribution", dist) - return dist - - -def load_entry_point(dist, group, name): - """Return `name` entry point of `group` for `dist` or raise ImportError""" - return get_distribution(dist).load_entry_point(group, name) - - -def get_entry_map(dist, group=None): - """Return the entry point map for `group`, or the full entry map""" - return get_distribution(dist).get_entry_map(group) - - -def get_entry_info(dist, group, name): - """Return the EntryPoint object for `group`+`name`, or ``None``""" - return get_distribution(dist).get_entry_info(group, name) - - -class IMetadataProvider: - def has_metadata(name): - """Does the package's distribution contain the named metadata?""" - - def get_metadata(name): - """The named metadata resource as a string""" - - def get_metadata_lines(name): - """Yield named metadata resource as list of non-blank non-comment lines - - Leading and trailing whitespace is stripped from each line, and lines - with ``#`` as the first non-blank character are omitted.""" - - def metadata_isdir(name): - """Is the named metadata a directory? (like ``os.path.isdir()``)""" - - def metadata_listdir(name): - """List of metadata names in the directory (like ``os.listdir()``)""" - - def run_script(script_name, namespace): - """Execute the named script in the supplied namespace dictionary""" - - -class IResourceProvider(IMetadataProvider): - """An object that provides access to package resources""" - - def get_resource_filename(manager, resource_name): - """Return a true filesystem path for `resource_name` - - `manager` must be an ``IResourceManager``""" - - def get_resource_stream(manager, resource_name): - """Return a readable file-like object for `resource_name` - - `manager` must be an ``IResourceManager``""" - - def get_resource_string(manager, resource_name): - """Return a string containing the contents of `resource_name` - - `manager` must be an ``IResourceManager``""" - - def has_resource(resource_name): - """Does the package contain the named resource?""" - - def resource_isdir(resource_name): - """Is the named resource a directory? (like ``os.path.isdir()``)""" - - def resource_listdir(resource_name): - """List of resource names in the directory (like ``os.listdir()``)""" - - -class WorkingSet: - """A collection of active distributions on sys.path (or a similar list)""" - - def __init__(self, entries=None): - """Create working set from list of path entries (default=sys.path)""" - self.entries = [] - self.entry_keys = {} - self.by_key = {} - self.callbacks = [] - - if entries is None: - entries = sys.path - - for entry in entries: - self.add_entry(entry) - - @classmethod - def _build_master(cls): - """ - Prepare the master working set. - """ - ws = cls() - try: - from __main__ import __requires__ - except ImportError: - # The main program does not list any requirements - return ws - - # ensure the requirements are met - try: - ws.require(__requires__) - except VersionConflict: - return cls._build_from_requirements(__requires__) - - return ws - - @classmethod - def _build_from_requirements(cls, req_spec): - """ - Build a working set from a requirement spec. Rewrites sys.path. - """ - # try it without defaults already on sys.path - # by starting with an empty path - ws = cls([]) - reqs = parse_requirements(req_spec) - dists = ws.resolve(reqs, Environment()) - for dist in dists: - ws.add(dist) - - # add any missing entries from sys.path - for entry in sys.path: - if entry not in ws.entries: - ws.add_entry(entry) - - # then copy back to sys.path - sys.path[:] = ws.entries - return ws - - def add_entry(self, entry): - """Add a path item to ``.entries``, finding any distributions on it - - ``find_distributions(entry, True)`` is used to find distributions - corresponding to the path entry, and they are added. `entry` is - always appended to ``.entries``, even if it is already present. - (This is because ``sys.path`` can contain the same value more than - once, and the ``.entries`` of the ``sys.path`` WorkingSet should always - equal ``sys.path``.) - """ - self.entry_keys.setdefault(entry, []) - self.entries.append(entry) - for dist in find_distributions(entry, True): - self.add(dist, entry, False) - - def __contains__(self, dist): - """True if `dist` is the active distribution for its project""" - return self.by_key.get(dist.key) == dist - - def find(self, req): - """Find a distribution matching requirement `req` - - If there is an active distribution for the requested project, this - returns it as long as it meets the version requirement specified by - `req`. But, if there is an active distribution for the project and it - does *not* meet the `req` requirement, ``VersionConflict`` is raised. - If there is no active distribution for the requested project, ``None`` - is returned. - """ - dist = self.by_key.get(req.key) - if dist is not None and dist not in req: - # XXX add more info - raise VersionConflict(dist, req) - return dist - - def iter_entry_points(self, group, name=None): - """Yield entry point objects from `group` matching `name` - - If `name` is None, yields all entry points in `group` from all - distributions in the working set, otherwise only ones matching - both `group` and `name` are yielded (in distribution order). - """ - return ( - entry - for dist in self - for entry in dist.get_entry_map(group).values() - if name is None or name == entry.name - ) - - def run_script(self, requires, script_name): - """Locate distribution for `requires` and run `script_name` script""" - ns = sys._getframe(1).f_globals - name = ns['__name__'] - ns.clear() - ns['__name__'] = name - self.require(requires)[0].run_script(script_name, ns) - - def __iter__(self): - """Yield distributions for non-duplicate projects in the working set - - The yield order is the order in which the items' path entries were - added to the working set. - """ - seen = {} - for item in self.entries: - if item not in self.entry_keys: - # workaround a cache issue - continue - - for key in self.entry_keys[item]: - if key not in seen: - seen[key] = 1 - yield self.by_key[key] - - def add(self, dist, entry=None, insert=True, replace=False): - """Add `dist` to working set, associated with `entry` - - If `entry` is unspecified, it defaults to the ``.location`` of `dist`. - On exit from this routine, `entry` is added to the end of the working - set's ``.entries`` (if it wasn't already present). - - `dist` is only added to the working set if it's for a project that - doesn't already have a distribution in the set, unless `replace=True`. - If it's added, any callbacks registered with the ``subscribe()`` method - will be called. - """ - if insert: - dist.insert_on(self.entries, entry, replace=replace) - - if entry is None: - entry = dist.location - keys = self.entry_keys.setdefault(entry, []) - keys2 = self.entry_keys.setdefault(dist.location, []) - if not replace and dist.key in self.by_key: - # ignore hidden distros - return - - self.by_key[dist.key] = dist - if dist.key not in keys: - keys.append(dist.key) - if dist.key not in keys2: - keys2.append(dist.key) - self._added_new(dist) - - def resolve(self, requirements, env=None, installer=None, - replace_conflicting=False, extras=None): - """List all distributions needed to (recursively) meet `requirements` - - `requirements` must be a sequence of ``Requirement`` objects. `env`, - if supplied, should be an ``Environment`` instance. If - not supplied, it defaults to all distributions available within any - entry or distribution in the working set. `installer`, if supplied, - will be invoked with each requirement that cannot be met by an - already-installed distribution; it should return a ``Distribution`` or - ``None``. - - Unless `replace_conflicting=True`, raises a VersionConflict exception - if - any requirements are found on the path that have the correct name but - the wrong version. Otherwise, if an `installer` is supplied it will be - invoked to obtain the correct version of the requirement and activate - it. - - `extras` is a list of the extras to be used with these requirements. - This is important because extra requirements may look like `my_req; - extra = "my_extra"`, which would otherwise be interpreted as a purely - optional requirement. Instead, we want to be able to assert that these - requirements are truly required. - """ - - # set up the stack - requirements = list(requirements)[::-1] - # set of processed requirements - processed = {} - # key -> dist - best = {} - to_activate = [] - - req_extras = _ReqExtras() - - # Mapping of requirement to set of distributions that required it; - # useful for reporting info about conflicts. - required_by = collections.defaultdict(set) - - while requirements: - # process dependencies breadth-first - req = requirements.pop(0) - if req in processed: - # Ignore cyclic or redundant dependencies - continue - - if not req_extras.markers_pass(req, extras): - continue - - dist = best.get(req.key) - if dist is None: - # Find the best distribution and add it to the map - dist = self.by_key.get(req.key) - if dist is None or (dist not in req and replace_conflicting): - ws = self - if env is None: - if dist is None: - env = Environment(self.entries) - else: - # Use an empty environment and workingset to avoid - # any further conflicts with the conflicting - # distribution - env = Environment([]) - ws = WorkingSet([]) - dist = best[req.key] = env.best_match( - req, ws, installer, - replace_conflicting=replace_conflicting - ) - if dist is None: - requirers = required_by.get(req, None) - raise DistributionNotFound(req, requirers) - to_activate.append(dist) - if dist not in req: - # Oops, the "best" so far conflicts with a dependency - dependent_req = required_by[req] - raise VersionConflict(dist, req).with_context(dependent_req) - - # push the new requirements onto the stack - new_requirements = dist.requires(req.extras)[::-1] - requirements.extend(new_requirements) - - # Register the new requirements needed by req - for new_requirement in new_requirements: - required_by[new_requirement].add(req.project_name) - req_extras[new_requirement] = req.extras - - processed[req] = True - - # return list of distros to activate - return to_activate - - def find_plugins( - self, plugin_env, full_env=None, installer=None, fallback=True): - """Find all activatable distributions in `plugin_env` - - Example usage:: - - distributions, errors = working_set.find_plugins( - Environment(plugin_dirlist) - ) - # add plugins+libs to sys.path - map(working_set.add, distributions) - # display errors - print('Could not load', errors) - - The `plugin_env` should be an ``Environment`` instance that contains - only distributions that are in the project's "plugin directory" or - directories. The `full_env`, if supplied, should be an ``Environment`` - contains all currently-available distributions. If `full_env` is not - supplied, one is created automatically from the ``WorkingSet`` this - method is called on, which will typically mean that every directory on - ``sys.path`` will be scanned for distributions. - - `installer` is a standard installer callback as used by the - ``resolve()`` method. The `fallback` flag indicates whether we should - attempt to resolve older versions of a plugin if the newest version - cannot be resolved. - - This method returns a 2-tuple: (`distributions`, `error_info`), where - `distributions` is a list of the distributions found in `plugin_env` - that were loadable, along with any other distributions that are needed - to resolve their dependencies. `error_info` is a dictionary mapping - unloadable plugin distributions to an exception instance describing the - error that occurred. Usually this will be a ``DistributionNotFound`` or - ``VersionConflict`` instance. - """ - - plugin_projects = list(plugin_env) - # scan project names in alphabetic order - plugin_projects.sort() - - error_info = {} - distributions = {} - - if full_env is None: - env = Environment(self.entries) - env += plugin_env - else: - env = full_env + plugin_env - - shadow_set = self.__class__([]) - # put all our entries in shadow_set - list(map(shadow_set.add, self)) - - for project_name in plugin_projects: - - for dist in plugin_env[project_name]: - - req = [dist.as_requirement()] - - try: - resolvees = shadow_set.resolve(req, env, installer) - - except ResolutionError as v: - # save error info - error_info[dist] = v - if fallback: - # try the next older version of project - continue - else: - # give up on this project, keep going - break - - else: - list(map(shadow_set.add, resolvees)) - distributions.update(dict.fromkeys(resolvees)) - - # success, no need to try any more versions of this project - break - - distributions = list(distributions) - distributions.sort() - - return distributions, error_info - - def require(self, *requirements): - """Ensure that distributions matching `requirements` are activated - - `requirements` must be a string or a (possibly-nested) sequence - thereof, specifying the distributions and versions required. The - return value is a sequence of the distributions that needed to be - activated to fulfill the requirements; all relevant distributions are - included, even if they were already activated in this working set. - """ - needed = self.resolve(parse_requirements(requirements)) - - for dist in needed: - self.add(dist) - - return needed - - def subscribe(self, callback, existing=True): - """Invoke `callback` for all distributions - - If `existing=True` (default), - call on all existing ones, as well. - """ - if callback in self.callbacks: - return - self.callbacks.append(callback) - if not existing: - return - for dist in self: - callback(dist) - - def _added_new(self, dist): - for callback in self.callbacks: - callback(dist) - - def __getstate__(self): - return ( - self.entries[:], self.entry_keys.copy(), self.by_key.copy(), - self.callbacks[:] - ) - - def __setstate__(self, e_k_b_c): - entries, keys, by_key, callbacks = e_k_b_c - self.entries = entries[:] - self.entry_keys = keys.copy() - self.by_key = by_key.copy() - self.callbacks = callbacks[:] - - -class _ReqExtras(dict): - """ - Map each requirement to the extras that demanded it. - """ - - def markers_pass(self, req, extras=None): - """ - Evaluate markers for req against each extra that - demanded it. - - Return False if the req has a marker and fails - evaluation. Otherwise, return True. - """ - extra_evals = ( - req.marker.evaluate({'extra': extra}) - for extra in self.get(req, ()) + (extras or (None,)) - ) - return not req.marker or any(extra_evals) - - -class Environment: - """Searchable snapshot of distributions on a search path""" - - def __init__( - self, search_path=None, platform=get_supported_platform(), - python=PY_MAJOR): - """Snapshot distributions available on a search path - - Any distributions found on `search_path` are added to the environment. - `search_path` should be a sequence of ``sys.path`` items. If not - supplied, ``sys.path`` is used. - - `platform` is an optional string specifying the name of the platform - that platform-specific distributions must be compatible with. If - unspecified, it defaults to the current platform. `python` is an - optional string naming the desired version of Python (e.g. ``'3.6'``); - it defaults to the current version. - - You may explicitly set `platform` (and/or `python`) to ``None`` if you - wish to map *all* distributions, not just those compatible with the - running platform or Python version. - """ - self._distmap = {} - self.platform = platform - self.python = python - self.scan(search_path) - - def can_add(self, dist): - """Is distribution `dist` acceptable for this environment? - - The distribution must match the platform and python version - requirements specified when this environment was created, or False - is returned. - """ - py_compat = ( - self.python is None - or dist.py_version is None - or dist.py_version == self.python - ) - return py_compat and compatible_platforms(dist.platform, self.platform) - - def remove(self, dist): - """Remove `dist` from the environment""" - self._distmap[dist.key].remove(dist) - - def scan(self, search_path=None): - """Scan `search_path` for distributions usable in this environment - - Any distributions found are added to the environment. - `search_path` should be a sequence of ``sys.path`` items. If not - supplied, ``sys.path`` is used. Only distributions conforming to - the platform/python version defined at initialization are added. - """ - if search_path is None: - search_path = sys.path - - for item in search_path: - for dist in find_distributions(item): - self.add(dist) - - def __getitem__(self, project_name): - """Return a newest-to-oldest list of distributions for `project_name` - - Uses case-insensitive `project_name` comparison, assuming all the - project's distributions use their project's name converted to all - lowercase as their key. - - """ - distribution_key = project_name.lower() - return self._distmap.get(distribution_key, []) - - def add(self, dist): - """Add `dist` if we ``can_add()`` it and it has not already been added - """ - if self.can_add(dist) and dist.has_version(): - dists = self._distmap.setdefault(dist.key, []) - if dist not in dists: - dists.append(dist) - dists.sort(key=operator.attrgetter('hashcmp'), reverse=True) - - def best_match( - self, req, working_set, installer=None, replace_conflicting=False): - """Find distribution best matching `req` and usable on `working_set` - - This calls the ``find(req)`` method of the `working_set` to see if a - suitable distribution is already active. (This may raise - ``VersionConflict`` if an unsuitable version of the project is already - active in the specified `working_set`.) If a suitable distribution - isn't active, this method returns the newest distribution in the - environment that meets the ``Requirement`` in `req`. If no suitable - distribution is found, and `installer` is supplied, then the result of - calling the environment's ``obtain(req, installer)`` method will be - returned. - """ - try: - dist = working_set.find(req) - except VersionConflict: - if not replace_conflicting: - raise - dist = None - if dist is not None: - return dist - for dist in self[req.key]: - if dist in req: - return dist - # try to download/install - return self.obtain(req, installer) - - def obtain(self, requirement, installer=None): - """Obtain a distribution matching `requirement` (e.g. via download) - - Obtain a distro that matches requirement (e.g. via download). In the - base ``Environment`` class, this routine just returns - ``installer(requirement)``, unless `installer` is None, in which case - None is returned instead. This method is a hook that allows subclasses - to attempt other ways of obtaining a distribution before falling back - to the `installer` argument.""" - if installer is not None: - return installer(requirement) - - def __iter__(self): - """Yield the unique project names of the available distributions""" - for key in self._distmap.keys(): - if self[key]: - yield key - - def __iadd__(self, other): - """In-place addition of a distribution or environment""" - if isinstance(other, Distribution): - self.add(other) - elif isinstance(other, Environment): - for project in other: - for dist in other[project]: - self.add(dist) - else: - raise TypeError("Can't add %r to environment" % (other,)) - return self - - def __add__(self, other): - """Add an environment or distribution to an environment""" - new = self.__class__([], platform=None, python=None) - for env in self, other: - new += env - return new - - -# XXX backward compatibility -AvailableDistributions = Environment - - -class ExtractionError(RuntimeError): - """An error occurred extracting a resource - - The following attributes are available from instances of this exception: - - manager - The resource manager that raised this exception - - cache_path - The base directory for resource extraction - - original_error - The exception instance that caused extraction to fail - """ - - -class ResourceManager: - """Manage resource extraction and packages""" - extraction_path = None - - def __init__(self): - self.cached_files = {} - - def resource_exists(self, package_or_requirement, resource_name): - """Does the named resource exist?""" - return get_provider(package_or_requirement).has_resource(resource_name) - - def resource_isdir(self, package_or_requirement, resource_name): - """Is the named resource an existing directory?""" - return get_provider(package_or_requirement).resource_isdir( - resource_name - ) - - def resource_filename(self, package_or_requirement, resource_name): - """Return a true filesystem path for specified resource""" - return get_provider(package_or_requirement).get_resource_filename( - self, resource_name - ) - - def resource_stream(self, package_or_requirement, resource_name): - """Return a readable file-like object for specified resource""" - return get_provider(package_or_requirement).get_resource_stream( - self, resource_name - ) - - def resource_string(self, package_or_requirement, resource_name): - """Return specified resource as a string""" - return get_provider(package_or_requirement).get_resource_string( - self, resource_name - ) - - def resource_listdir(self, package_or_requirement, resource_name): - """List the contents of the named resource directory""" - return get_provider(package_or_requirement).resource_listdir( - resource_name - ) - - def extraction_error(self): - """Give an error message for problems extracting file(s)""" - - old_exc = sys.exc_info()[1] - cache_path = self.extraction_path or get_default_cache() - - tmpl = textwrap.dedent(""" - Can't extract file(s) to egg cache - - The following error occurred while trying to extract file(s) - to the Python egg cache: - - {old_exc} - - The Python egg cache directory is currently set to: - - {cache_path} - - Perhaps your account does not have write access to this directory? - You can change the cache directory by setting the PYTHON_EGG_CACHE - environment variable to point to an accessible directory. - """).lstrip() - err = ExtractionError(tmpl.format(**locals())) - err.manager = self - err.cache_path = cache_path - err.original_error = old_exc - raise err - - def get_cache_path(self, archive_name, names=()): - """Return absolute location in cache for `archive_name` and `names` - - The parent directory of the resulting path will be created if it does - not already exist. `archive_name` should be the base filename of the - enclosing egg (which may not be the name of the enclosing zipfile!), - including its ".egg" extension. `names`, if provided, should be a - sequence of path name parts "under" the egg's extraction location. - - This method should only be called by resource providers that need to - obtain an extraction location, and only for names they intend to - extract, as it tracks the generated names for possible cleanup later. - """ - extract_path = self.extraction_path or get_default_cache() - target_path = os.path.join(extract_path, archive_name + '-tmp', *names) - try: - _bypass_ensure_directory(target_path) - except Exception: - self.extraction_error() - - self._warn_unsafe_extraction_path(extract_path) - - self.cached_files[target_path] = 1 - return target_path - - @staticmethod - def _warn_unsafe_extraction_path(path): - """ - If the default extraction path is overridden and set to an insecure - location, such as /tmp, it opens up an opportunity for an attacker to - replace an extracted file with an unauthorized payload. Warn the user - if a known insecure location is used. - - See Distribute #375 for more details. - """ - if os.name == 'nt' and not path.startswith(os.environ['windir']): - # On Windows, permissions are generally restrictive by default - # and temp directories are not writable by other users, so - # bypass the warning. - return - mode = os.stat(path).st_mode - if mode & stat.S_IWOTH or mode & stat.S_IWGRP: - msg = ( - "%s is writable by group/others and vulnerable to attack " - "when " - "used with get_resource_filename. Consider a more secure " - "location (set with .set_extraction_path or the " - "PYTHON_EGG_CACHE environment variable)." % path - ) - warnings.warn(msg, UserWarning) - - def postprocess(self, tempname, filename): - """Perform any platform-specific postprocessing of `tempname` - - This is where Mac header rewrites should be done; other platforms don't - have anything special they should do. - - Resource providers should call this method ONLY after successfully - extracting a compressed resource. They must NOT call it on resources - that are already in the filesystem. - - `tempname` is the current (temporary) name of the file, and `filename` - is the name it will be renamed to by the caller after this routine - returns. - """ - - if os.name == 'posix': - # Make the resource executable - mode = ((os.stat(tempname).st_mode) | 0o555) & 0o7777 - os.chmod(tempname, mode) - - def set_extraction_path(self, path): - """Set the base path where resources will be extracted to, if needed. - - If you do not call this routine before any extractions take place, the - path defaults to the return value of ``get_default_cache()``. (Which - is based on the ``PYTHON_EGG_CACHE`` environment variable, with various - platform-specific fallbacks. See that routine's documentation for more - details.) - - Resources are extracted to subdirectories of this path based upon - information given by the ``IResourceProvider``. You may set this to a - temporary directory, but then you must call ``cleanup_resources()`` to - delete the extracted files when done. There is no guarantee that - ``cleanup_resources()`` will be able to remove all extracted files. - - (Note: you may not change the extraction path for a given resource - manager once resources have been extracted, unless you first call - ``cleanup_resources()``.) - """ - if self.cached_files: - raise ValueError( - "Can't change extraction path, files already extracted" - ) - - self.extraction_path = path - - def cleanup_resources(self, force=False): - """ - Delete all extracted resource files and directories, returning a list - of the file and directory names that could not be successfully removed. - This function does not have any concurrency protection, so it should - generally only be called when the extraction path is a temporary - directory exclusive to a single process. This method is not - automatically called; you must call it explicitly or register it as an - ``atexit`` function if you wish to ensure cleanup of a temporary - directory used for extractions. - """ - # XXX - - -def get_default_cache(): - """ - Return the ``PYTHON_EGG_CACHE`` environment variable - or a platform-relevant user cache dir for an app - named "Python-Eggs". - """ - return ( - os.environ.get('PYTHON_EGG_CACHE') - or appdirs.user_cache_dir(appname='Python-Eggs') - ) - - -def safe_name(name): - """Convert an arbitrary string to a standard distribution name - - Any runs of non-alphanumeric/. characters are replaced with a single '-'. - """ - return re.sub('[^A-Za-z0-9.]+', '-', name) - - -def safe_version(version): - """ - Convert an arbitrary string to a standard version string - """ - try: - # normalize the version - return str(packaging.version.Version(version)) - except packaging.version.InvalidVersion: - version = version.replace(' ', '.') - return re.sub('[^A-Za-z0-9.]+', '-', version) - - -def safe_extra(extra): - """Convert an arbitrary string to a standard 'extra' name - - Any runs of non-alphanumeric characters are replaced with a single '_', - and the result is always lowercased. - """ - return re.sub('[^A-Za-z0-9.-]+', '_', extra).lower() - - -def to_filename(name): - """Convert a project or version name to its filename-escaped form - - Any '-' characters are currently replaced with '_'. - """ - return name.replace('-', '_') - - -def invalid_marker(text): - """ - Validate text as a PEP 508 environment marker; return an exception - if invalid or False otherwise. - """ - try: - evaluate_marker(text) - except SyntaxError as e: - e.filename = None - e.lineno = None - return e - return False - - -def evaluate_marker(text, extra=None): - """ - Evaluate a PEP 508 environment marker. - Return a boolean indicating the marker result in this environment. - Raise SyntaxError if marker is invalid. - - This implementation uses the 'pyparsing' module. - """ - try: - marker = packaging.markers.Marker(text) - return marker.evaluate() - except packaging.markers.InvalidMarker as e: - raise SyntaxError(e) - - -class NullProvider: - """Try to implement resources and metadata for arbitrary PEP 302 loaders""" - - egg_name = None - egg_info = None - loader = None - - def __init__(self, module): - self.loader = getattr(module, '__loader__', None) - self.module_path = os.path.dirname(getattr(module, '__file__', '')) - - def get_resource_filename(self, manager, resource_name): - return self._fn(self.module_path, resource_name) - - def get_resource_stream(self, manager, resource_name): - return io.BytesIO(self.get_resource_string(manager, resource_name)) - - def get_resource_string(self, manager, resource_name): - return self._get(self._fn(self.module_path, resource_name)) - - def has_resource(self, resource_name): - return self._has(self._fn(self.module_path, resource_name)) - - def _get_metadata_path(self, name): - return self._fn(self.egg_info, name) - - def has_metadata(self, name): - if not self.egg_info: - return self.egg_info - - path = self._get_metadata_path(name) - return self._has(path) - - def get_metadata(self, name): - if not self.egg_info: - return "" - path = self._get_metadata_path(name) - value = self._get(path) - if six.PY2: - return value - try: - return value.decode('utf-8') - except UnicodeDecodeError as exc: - # Include the path in the error message to simplify - # troubleshooting, and without changing the exception type. - exc.reason += ' in {} file at path: {}'.format(name, path) - raise - - def get_metadata_lines(self, name): - return yield_lines(self.get_metadata(name)) - - def resource_isdir(self, resource_name): - return self._isdir(self._fn(self.module_path, resource_name)) - - def metadata_isdir(self, name): - return self.egg_info and self._isdir(self._fn(self.egg_info, name)) - - def resource_listdir(self, resource_name): - return self._listdir(self._fn(self.module_path, resource_name)) - - def metadata_listdir(self, name): - if self.egg_info: - return self._listdir(self._fn(self.egg_info, name)) - return [] - - def run_script(self, script_name, namespace): - script = 'scripts/' + script_name - if not self.has_metadata(script): - raise ResolutionError( - "Script {script!r} not found in metadata at {self.egg_info!r}" - .format(**locals()), - ) - script_text = self.get_metadata(script).replace('\r\n', '\n') - script_text = script_text.replace('\r', '\n') - script_filename = self._fn(self.egg_info, script) - namespace['__file__'] = script_filename - if os.path.exists(script_filename): - source = open(script_filename).read() - code = compile(source, script_filename, 'exec') - exec(code, namespace, namespace) - else: - from linecache import cache - cache[script_filename] = ( - len(script_text), 0, script_text.split('\n'), script_filename - ) - script_code = compile(script_text, script_filename, 'exec') - exec(script_code, namespace, namespace) - - def _has(self, path): - raise NotImplementedError( - "Can't perform this operation for unregistered loader type" - ) - - def _isdir(self, path): - raise NotImplementedError( - "Can't perform this operation for unregistered loader type" - ) - - def _listdir(self, path): - raise NotImplementedError( - "Can't perform this operation for unregistered loader type" - ) - - def _fn(self, base, resource_name): - self._validate_resource_path(resource_name) - if resource_name: - return os.path.join(base, *resource_name.split('/')) - return base - - @staticmethod - def _validate_resource_path(path): - """ - Validate the resource paths according to the docs. - https://setuptools.readthedocs.io/en/latest/pkg_resources.html#basic-resource-access - - >>> warned = getfixture('recwarn') - >>> warnings.simplefilter('always') - >>> vrp = NullProvider._validate_resource_path - >>> vrp('foo/bar.txt') - >>> bool(warned) - False - >>> vrp('../foo/bar.txt') - >>> bool(warned) - True - >>> warned.clear() - >>> vrp('/foo/bar.txt') - >>> bool(warned) - True - >>> vrp('foo/../../bar.txt') - >>> bool(warned) - True - >>> warned.clear() - >>> vrp('foo/f../bar.txt') - >>> bool(warned) - False - - Windows path separators are straight-up disallowed. - >>> vrp(r'\\foo/bar.txt') - Traceback (most recent call last): - ... - ValueError: Use of .. or absolute path in a resource path \ -is not allowed. - - >>> vrp(r'C:\\foo/bar.txt') - Traceback (most recent call last): - ... - ValueError: Use of .. or absolute path in a resource path \ -is not allowed. - - Blank values are allowed - - >>> vrp('') - >>> bool(warned) - False - - Non-string values are not. - - >>> vrp(None) - Traceback (most recent call last): - ... - AttributeError: ... - """ - invalid = ( - os.path.pardir in path.split(posixpath.sep) or - posixpath.isabs(path) or - ntpath.isabs(path) - ) - if not invalid: - return - - msg = "Use of .. or absolute path in a resource path is not allowed." - - # Aggressively disallow Windows absolute paths - if ntpath.isabs(path) and not posixpath.isabs(path): - raise ValueError(msg) - - # for compatibility, warn; in future - # raise ValueError(msg) - warnings.warn( - msg[:-1] + " and will raise exceptions in a future release.", - DeprecationWarning, - stacklevel=4, - ) - - def _get(self, path): - if hasattr(self.loader, 'get_data'): - return self.loader.get_data(path) - raise NotImplementedError( - "Can't perform this operation for loaders without 'get_data()'" - ) - - -register_loader_type(object, NullProvider) - - -class EggProvider(NullProvider): - """Provider based on a virtual filesystem""" - - def __init__(self, module): - NullProvider.__init__(self, module) - self._setup_prefix() - - def _setup_prefix(self): - # we assume here that our metadata may be nested inside a "basket" - # of multiple eggs; that's why we use module_path instead of .archive - path = self.module_path - old = None - while path != old: - if _is_egg_path(path): - self.egg_name = os.path.basename(path) - self.egg_info = os.path.join(path, 'EGG-INFO') - self.egg_root = path - break - old = path - path, base = os.path.split(path) - - -class DefaultProvider(EggProvider): - """Provides access to package resources in the filesystem""" - - def _has(self, path): - return os.path.exists(path) - - def _isdir(self, path): - return os.path.isdir(path) - - def _listdir(self, path): - return os.listdir(path) - - def get_resource_stream(self, manager, resource_name): - return open(self._fn(self.module_path, resource_name), 'rb') - - def _get(self, path): - with open(path, 'rb') as stream: - return stream.read() - - @classmethod - def _register(cls): - loader_names = 'SourceFileLoader', 'SourcelessFileLoader', - for name in loader_names: - loader_cls = getattr(importlib_machinery, name, type(None)) - register_loader_type(loader_cls, cls) - - -DefaultProvider._register() - - -class EmptyProvider(NullProvider): - """Provider that returns nothing for all requests""" - - module_path = None - - _isdir = _has = lambda self, path: False - - def _get(self, path): - return '' - - def _listdir(self, path): - return [] - - def __init__(self): - pass - - -empty_provider = EmptyProvider() - - -class ZipManifests(dict): - """ - zip manifest builder - """ - - @classmethod - def build(cls, path): - """ - Build a dictionary similar to the zipimport directory - caches, except instead of tuples, store ZipInfo objects. - - Use a platform-specific path separator (os.sep) for the path keys - for compatibility with pypy on Windows. - """ - with zipfile.ZipFile(path) as zfile: - items = ( - ( - name.replace('/', os.sep), - zfile.getinfo(name), - ) - for name in zfile.namelist() - ) - return dict(items) - - load = build - - -class MemoizedZipManifests(ZipManifests): - """ - Memoized zipfile manifests. - """ - manifest_mod = collections.namedtuple('manifest_mod', 'manifest mtime') - - def load(self, path): - """ - Load a manifest at path or return a suitable manifest already loaded. - """ - path = os.path.normpath(path) - mtime = os.stat(path).st_mtime - - if path not in self or self[path].mtime != mtime: - manifest = self.build(path) - self[path] = self.manifest_mod(manifest, mtime) - - return self[path].manifest - - -class ZipProvider(EggProvider): - """Resource support for zips and eggs""" - - eagers = None - _zip_manifests = MemoizedZipManifests() - - def __init__(self, module): - EggProvider.__init__(self, module) - self.zip_pre = self.loader.archive + os.sep - - def _zipinfo_name(self, fspath): - # Convert a virtual filename (full path to file) into a zipfile subpath - # usable with the zipimport directory cache for our target archive - fspath = fspath.rstrip(os.sep) - if fspath == self.loader.archive: - return '' - if fspath.startswith(self.zip_pre): - return fspath[len(self.zip_pre):] - raise AssertionError( - "%s is not a subpath of %s" % (fspath, self.zip_pre) - ) - - def _parts(self, zip_path): - # Convert a zipfile subpath into an egg-relative path part list. - # pseudo-fs path - fspath = self.zip_pre + zip_path - if fspath.startswith(self.egg_root + os.sep): - return fspath[len(self.egg_root) + 1:].split(os.sep) - raise AssertionError( - "%s is not a subpath of %s" % (fspath, self.egg_root) - ) - - @property - def zipinfo(self): - return self._zip_manifests.load(self.loader.archive) - - def get_resource_filename(self, manager, resource_name): - if not self.egg_name: - raise NotImplementedError( - "resource_filename() only supported for .egg, not .zip" - ) - # no need to lock for extraction, since we use temp names - zip_path = self._resource_to_zip(resource_name) - eagers = self._get_eager_resources() - if '/'.join(self._parts(zip_path)) in eagers: - for name in eagers: - self._extract_resource(manager, self._eager_to_zip(name)) - return self._extract_resource(manager, zip_path) - - @staticmethod - def _get_date_and_size(zip_stat): - size = zip_stat.file_size - # ymdhms+wday, yday, dst - date_time = zip_stat.date_time + (0, 0, -1) - # 1980 offset already done - timestamp = time.mktime(date_time) - return timestamp, size - - def _extract_resource(self, manager, zip_path): - - if zip_path in self._index(): - for name in self._index()[zip_path]: - last = self._extract_resource( - manager, os.path.join(zip_path, name) - ) - # return the extracted directory name - return os.path.dirname(last) - - timestamp, size = self._get_date_and_size(self.zipinfo[zip_path]) - - if not WRITE_SUPPORT: - raise IOError('"os.rename" and "os.unlink" are not supported ' - 'on this platform') - try: - - real_path = manager.get_cache_path( - self.egg_name, self._parts(zip_path) - ) - - if self._is_current(real_path, zip_path): - return real_path - - outf, tmpnam = _mkstemp( - ".$extract", - dir=os.path.dirname(real_path), - ) - os.write(outf, self.loader.get_data(zip_path)) - os.close(outf) - utime(tmpnam, (timestamp, timestamp)) - manager.postprocess(tmpnam, real_path) - - try: - rename(tmpnam, real_path) - - except os.error: - if os.path.isfile(real_path): - if self._is_current(real_path, zip_path): - # the file became current since it was checked above, - # so proceed. - return real_path - # Windows, del old file and retry - elif os.name == 'nt': - unlink(real_path) - rename(tmpnam, real_path) - return real_path - raise - - except os.error: - # report a user-friendly error - manager.extraction_error() - - return real_path - - def _is_current(self, file_path, zip_path): - """ - Return True if the file_path is current for this zip_path - """ - timestamp, size = self._get_date_and_size(self.zipinfo[zip_path]) - if not os.path.isfile(file_path): - return False - stat = os.stat(file_path) - if stat.st_size != size or stat.st_mtime != timestamp: - return False - # check that the contents match - zip_contents = self.loader.get_data(zip_path) - with open(file_path, 'rb') as f: - file_contents = f.read() - return zip_contents == file_contents - - def _get_eager_resources(self): - if self.eagers is None: - eagers = [] - for name in ('native_libs.txt', 'eager_resources.txt'): - if self.has_metadata(name): - eagers.extend(self.get_metadata_lines(name)) - self.eagers = eagers - return self.eagers - - def _index(self): - try: - return self._dirindex - except AttributeError: - ind = {} - for path in self.zipinfo: - parts = path.split(os.sep) - while parts: - parent = os.sep.join(parts[:-1]) - if parent in ind: - ind[parent].append(parts[-1]) - break - else: - ind[parent] = [parts.pop()] - self._dirindex = ind - return ind - - def _has(self, fspath): - zip_path = self._zipinfo_name(fspath) - return zip_path in self.zipinfo or zip_path in self._index() - - def _isdir(self, fspath): - return self._zipinfo_name(fspath) in self._index() - - def _listdir(self, fspath): - return list(self._index().get(self._zipinfo_name(fspath), ())) - - def _eager_to_zip(self, resource_name): - return self._zipinfo_name(self._fn(self.egg_root, resource_name)) - - def _resource_to_zip(self, resource_name): - return self._zipinfo_name(self._fn(self.module_path, resource_name)) - - -register_loader_type(zipimport.zipimporter, ZipProvider) - - -class FileMetadata(EmptyProvider): - """Metadata handler for standalone PKG-INFO files - - Usage:: - - metadata = FileMetadata("/path/to/PKG-INFO") - - This provider rejects all data and metadata requests except for PKG-INFO, - which is treated as existing, and will be the contents of the file at - the provided location. - """ - - def __init__(self, path): - self.path = path - - def _get_metadata_path(self, name): - return self.path - - def has_metadata(self, name): - return name == 'PKG-INFO' and os.path.isfile(self.path) - - def get_metadata(self, name): - if name != 'PKG-INFO': - raise KeyError("No metadata except PKG-INFO is available") - - with io.open(self.path, encoding='utf-8', errors="replace") as f: - metadata = f.read() - self._warn_on_replacement(metadata) - return metadata - - def _warn_on_replacement(self, metadata): - # Python 2.7 compat for: replacement_char = '�' - replacement_char = b'\xef\xbf\xbd'.decode('utf-8') - if replacement_char in metadata: - tmpl = "{self.path} could not be properly decoded in UTF-8" - msg = tmpl.format(**locals()) - warnings.warn(msg) - - def get_metadata_lines(self, name): - return yield_lines(self.get_metadata(name)) - - -class PathMetadata(DefaultProvider): - """Metadata provider for egg directories - - Usage:: - - # Development eggs: - - egg_info = "/path/to/PackageName.egg-info" - base_dir = os.path.dirname(egg_info) - metadata = PathMetadata(base_dir, egg_info) - dist_name = os.path.splitext(os.path.basename(egg_info))[0] - dist = Distribution(basedir, project_name=dist_name, metadata=metadata) - - # Unpacked egg directories: - - egg_path = "/path/to/PackageName-ver-pyver-etc.egg" - metadata = PathMetadata(egg_path, os.path.join(egg_path,'EGG-INFO')) - dist = Distribution.from_filename(egg_path, metadata=metadata) - """ - - def __init__(self, path, egg_info): - self.module_path = path - self.egg_info = egg_info - - -class EggMetadata(ZipProvider): - """Metadata provider for .egg files""" - - def __init__(self, importer): - """Create a metadata provider from a zipimporter""" - - self.zip_pre = importer.archive + os.sep - self.loader = importer - if importer.prefix: - self.module_path = os.path.join(importer.archive, importer.prefix) - else: - self.module_path = importer.archive - self._setup_prefix() - - -_declare_state('dict', _distribution_finders={}) - - -def register_finder(importer_type, distribution_finder): - """Register `distribution_finder` to find distributions in sys.path items - - `importer_type` is the type or class of a PEP 302 "Importer" (sys.path item - handler), and `distribution_finder` is a callable that, passed a path - item and the importer instance, yields ``Distribution`` instances found on - that path item. See ``pkg_resources.find_on_path`` for an example.""" - _distribution_finders[importer_type] = distribution_finder - - -def find_distributions(path_item, only=False): - """Yield distributions accessible via `path_item`""" - importer = get_importer(path_item) - finder = _find_adapter(_distribution_finders, importer) - return finder(importer, path_item, only) - - -def find_eggs_in_zip(importer, path_item, only=False): - """ - Find eggs in zip files; possibly multiple nested eggs. - """ - if importer.archive.endswith('.whl'): - # wheels are not supported with this finder - # they don't have PKG-INFO metadata, and won't ever contain eggs - return - metadata = EggMetadata(importer) - if metadata.has_metadata('PKG-INFO'): - yield Distribution.from_filename(path_item, metadata=metadata) - if only: - # don't yield nested distros - return - for subitem in metadata.resource_listdir(''): - if _is_egg_path(subitem): - subpath = os.path.join(path_item, subitem) - dists = find_eggs_in_zip(zipimport.zipimporter(subpath), subpath) - for dist in dists: - yield dist - elif subitem.lower().endswith('.dist-info'): - subpath = os.path.join(path_item, subitem) - submeta = EggMetadata(zipimport.zipimporter(subpath)) - submeta.egg_info = subpath - yield Distribution.from_location(path_item, subitem, submeta) - - -register_finder(zipimport.zipimporter, find_eggs_in_zip) - - -def find_nothing(importer, path_item, only=False): - return () - - -register_finder(object, find_nothing) - - -def _by_version_descending(names): - """ - Given a list of filenames, return them in descending order - by version number. - - >>> names = 'bar', 'foo', 'Python-2.7.10.egg', 'Python-2.7.2.egg' - >>> _by_version_descending(names) - ['Python-2.7.10.egg', 'Python-2.7.2.egg', 'foo', 'bar'] - >>> names = 'Setuptools-1.2.3b1.egg', 'Setuptools-1.2.3.egg' - >>> _by_version_descending(names) - ['Setuptools-1.2.3.egg', 'Setuptools-1.2.3b1.egg'] - >>> names = 'Setuptools-1.2.3b1.egg', 'Setuptools-1.2.3.post1.egg' - >>> _by_version_descending(names) - ['Setuptools-1.2.3.post1.egg', 'Setuptools-1.2.3b1.egg'] - """ - def _by_version(name): - """ - Parse each component of the filename - """ - name, ext = os.path.splitext(name) - parts = itertools.chain(name.split('-'), [ext]) - return [packaging.version.parse(part) for part in parts] - - return sorted(names, key=_by_version, reverse=True) - - -def find_on_path(importer, path_item, only=False): - """Yield distributions accessible on a sys.path directory""" - path_item = _normalize_cached(path_item) - - if _is_unpacked_egg(path_item): - yield Distribution.from_filename( - path_item, metadata=PathMetadata( - path_item, os.path.join(path_item, 'EGG-INFO') - ) - ) - return - - entries = safe_listdir(path_item) - - # for performance, before sorting by version, - # screen entries for only those that will yield - # distributions - filtered = ( - entry - for entry in entries - if dist_factory(path_item, entry, only) - ) - - # scan for .egg and .egg-info in directory - path_item_entries = _by_version_descending(filtered) - for entry in path_item_entries: - fullpath = os.path.join(path_item, entry) - factory = dist_factory(path_item, entry, only) - for dist in factory(fullpath): - yield dist - - -def dist_factory(path_item, entry, only): - """ - Return a dist_factory for a path_item and entry - """ - lower = entry.lower() - is_meta = any(map(lower.endswith, ('.egg-info', '.dist-info'))) - return ( - distributions_from_metadata - if is_meta else - find_distributions - if not only and _is_egg_path(entry) else - resolve_egg_link - if not only and lower.endswith('.egg-link') else - NoDists() - ) - - -class NoDists: - """ - >>> bool(NoDists()) - False - - >>> list(NoDists()('anything')) - [] - """ - def __bool__(self): - return False - if six.PY2: - __nonzero__ = __bool__ - - def __call__(self, fullpath): - return iter(()) - - -def safe_listdir(path): - """ - Attempt to list contents of path, but suppress some exceptions. - """ - try: - return os.listdir(path) - except (PermissionError, NotADirectoryError): - pass - except OSError as e: - # Ignore the directory if does not exist, not a directory or - # permission denied - ignorable = ( - e.errno in (errno.ENOTDIR, errno.EACCES, errno.ENOENT) - # Python 2 on Windows needs to be handled this way :( - or getattr(e, "winerror", None) == 267 - ) - if not ignorable: - raise - return () - - -def distributions_from_metadata(path): - root = os.path.dirname(path) - if os.path.isdir(path): - if len(os.listdir(path)) == 0: - # empty metadata dir; skip - return - metadata = PathMetadata(root, path) - else: - metadata = FileMetadata(path) - entry = os.path.basename(path) - yield Distribution.from_location( - root, entry, metadata, precedence=DEVELOP_DIST, - ) - - -def non_empty_lines(path): - """ - Yield non-empty lines from file at path - """ - with open(path) as f: - for line in f: - line = line.strip() - if line: - yield line - - -def resolve_egg_link(path): - """ - Given a path to an .egg-link, resolve distributions - present in the referenced path. - """ - referenced_paths = non_empty_lines(path) - resolved_paths = ( - os.path.join(os.path.dirname(path), ref) - for ref in referenced_paths - ) - dist_groups = map(find_distributions, resolved_paths) - return next(dist_groups, ()) - - -register_finder(pkgutil.ImpImporter, find_on_path) - -if hasattr(importlib_machinery, 'FileFinder'): - register_finder(importlib_machinery.FileFinder, find_on_path) - -_declare_state('dict', _namespace_handlers={}) -_declare_state('dict', _namespace_packages={}) - - -def register_namespace_handler(importer_type, namespace_handler): - """Register `namespace_handler` to declare namespace packages - - `importer_type` is the type or class of a PEP 302 "Importer" (sys.path item - handler), and `namespace_handler` is a callable like this:: - - def namespace_handler(importer, path_entry, moduleName, module): - # return a path_entry to use for child packages - - Namespace handlers are only called if the importer object has already - agreed that it can handle the relevant path item, and they should only - return a subpath if the module __path__ does not already contain an - equivalent subpath. For an example namespace handler, see - ``pkg_resources.file_ns_handler``. - """ - _namespace_handlers[importer_type] = namespace_handler - - -def _handle_ns(packageName, path_item): - """Ensure that named package includes a subpath of path_item (if needed)""" - - importer = get_importer(path_item) - if importer is None: - return None - - # capture warnings due to #1111 - with warnings.catch_warnings(): - warnings.simplefilter("ignore") - loader = importer.find_module(packageName) - - if loader is None: - return None - module = sys.modules.get(packageName) - if module is None: - module = sys.modules[packageName] = types.ModuleType(packageName) - module.__path__ = [] - _set_parent_ns(packageName) - elif not hasattr(module, '__path__'): - raise TypeError("Not a package:", packageName) - handler = _find_adapter(_namespace_handlers, importer) - subpath = handler(importer, path_item, packageName, module) - if subpath is not None: - path = module.__path__ - path.append(subpath) - loader.load_module(packageName) - _rebuild_mod_path(path, packageName, module) - return subpath - - -def _rebuild_mod_path(orig_path, package_name, module): - """ - Rebuild module.__path__ ensuring that all entries are ordered - corresponding to their sys.path order - """ - sys_path = [_normalize_cached(p) for p in sys.path] - - def safe_sys_path_index(entry): - """ - Workaround for #520 and #513. - """ - try: - return sys_path.index(entry) - except ValueError: - return float('inf') - - def position_in_sys_path(path): - """ - Return the ordinal of the path based on its position in sys.path - """ - path_parts = path.split(os.sep) - module_parts = package_name.count('.') + 1 - parts = path_parts[:-module_parts] - return safe_sys_path_index(_normalize_cached(os.sep.join(parts))) - - new_path = sorted(orig_path, key=position_in_sys_path) - new_path = [_normalize_cached(p) for p in new_path] - - if isinstance(module.__path__, list): - module.__path__[:] = new_path - else: - module.__path__ = new_path - - -def declare_namespace(packageName): - """Declare that package 'packageName' is a namespace package""" - - _imp.acquire_lock() - try: - if packageName in _namespace_packages: - return - - path = sys.path - parent, _, _ = packageName.rpartition('.') - - if parent: - declare_namespace(parent) - if parent not in _namespace_packages: - __import__(parent) - try: - path = sys.modules[parent].__path__ - except AttributeError: - raise TypeError("Not a package:", parent) - - # Track what packages are namespaces, so when new path items are added, - # they can be updated - _namespace_packages.setdefault(parent or None, []).append(packageName) - _namespace_packages.setdefault(packageName, []) - - for path_item in path: - # Ensure all the parent's path items are reflected in the child, - # if they apply - _handle_ns(packageName, path_item) - - finally: - _imp.release_lock() - - -def fixup_namespace_packages(path_item, parent=None): - """Ensure that previously-declared namespace packages include path_item""" - _imp.acquire_lock() - try: - for package in _namespace_packages.get(parent, ()): - subpath = _handle_ns(package, path_item) - if subpath: - fixup_namespace_packages(subpath, package) - finally: - _imp.release_lock() - - -def file_ns_handler(importer, path_item, packageName, module): - """Compute an ns-package subpath for a filesystem or zipfile importer""" - - subpath = os.path.join(path_item, packageName.split('.')[-1]) - normalized = _normalize_cached(subpath) - for item in module.__path__: - if _normalize_cached(item) == normalized: - break - else: - # Only return the path if it's not already there - return subpath - - -register_namespace_handler(pkgutil.ImpImporter, file_ns_handler) -register_namespace_handler(zipimport.zipimporter, file_ns_handler) - -if hasattr(importlib_machinery, 'FileFinder'): - register_namespace_handler(importlib_machinery.FileFinder, file_ns_handler) - - -def null_ns_handler(importer, path_item, packageName, module): - return None - - -register_namespace_handler(object, null_ns_handler) - - -def normalize_path(filename): - """Normalize a file/dir name for comparison purposes""" - return os.path.normcase(os.path.realpath(os.path.normpath(_cygwin_patch(filename)))) - - -def _cygwin_patch(filename): # pragma: nocover - """ - Contrary to POSIX 2008, on Cygwin, getcwd (3) contains - symlink components. Using - os.path.abspath() works around this limitation. A fix in os.getcwd() - would probably better, in Cygwin even more so, except - that this seems to be by design... - """ - return os.path.abspath(filename) if sys.platform == 'cygwin' else filename - - -def _normalize_cached(filename, _cache={}): - try: - return _cache[filename] - except KeyError: - _cache[filename] = result = normalize_path(filename) - return result - - -def _is_egg_path(path): - """ - Determine if given path appears to be an egg. - """ - return path.lower().endswith('.egg') - - -def _is_unpacked_egg(path): - """ - Determine if given path appears to be an unpacked egg. - """ - return ( - _is_egg_path(path) and - os.path.isfile(os.path.join(path, 'EGG-INFO', 'PKG-INFO')) - ) - - -def _set_parent_ns(packageName): - parts = packageName.split('.') - name = parts.pop() - if parts: - parent = '.'.join(parts) - setattr(sys.modules[parent], name, sys.modules[packageName]) - - -def yield_lines(strs): - """Yield non-empty/non-comment lines of a string or sequence""" - if isinstance(strs, six.string_types): - for s in strs.splitlines(): - s = s.strip() - # skip blank lines/comments - if s and not s.startswith('#'): - yield s - else: - for ss in strs: - for s in yield_lines(ss): - yield s - - -MODULE = re.compile(r"\w+(\.\w+)*$").match -EGG_NAME = re.compile( - r""" - (?P<name>[^-]+) ( - -(?P<ver>[^-]+) ( - -py(?P<pyver>[^-]+) ( - -(?P<plat>.+) - )? - )? - )? - """, - re.VERBOSE | re.IGNORECASE, -).match - - -class EntryPoint: - """Object representing an advertised importable object""" - - def __init__(self, name, module_name, attrs=(), extras=(), dist=None): - if not MODULE(module_name): - raise ValueError("Invalid module name", module_name) - self.name = name - self.module_name = module_name - self.attrs = tuple(attrs) - self.extras = tuple(extras) - self.dist = dist - - def __str__(self): - s = "%s = %s" % (self.name, self.module_name) - if self.attrs: - s += ':' + '.'.join(self.attrs) - if self.extras: - s += ' [%s]' % ','.join(self.extras) - return s - - def __repr__(self): - return "EntryPoint.parse(%r)" % str(self) - - def load(self, require=True, *args, **kwargs): - """ - Require packages for this EntryPoint, then resolve it. - """ - if not require or args or kwargs: - warnings.warn( - "Parameters to load are deprecated. Call .resolve and " - ".require separately.", - PkgResourcesDeprecationWarning, - stacklevel=2, - ) - if require: - self.require(*args, **kwargs) - return self.resolve() - - def resolve(self): - """ - Resolve the entry point from its module and attrs. - """ - module = __import__(self.module_name, fromlist=['__name__'], level=0) - try: - return functools.reduce(getattr, self.attrs, module) - except AttributeError as exc: - raise ImportError(str(exc)) - - def require(self, env=None, installer=None): - if self.extras and not self.dist: - raise UnknownExtra("Can't require() without a distribution", self) - - # Get the requirements for this entry point with all its extras and - # then resolve them. We have to pass `extras` along when resolving so - # that the working set knows what extras we want. Otherwise, for - # dist-info distributions, the working set will assume that the - # requirements for that extra are purely optional and skip over them. - reqs = self.dist.requires(self.extras) - items = working_set.resolve(reqs, env, installer, extras=self.extras) - list(map(working_set.add, items)) - - pattern = re.compile( - r'\s*' - r'(?P<name>.+?)\s*' - r'=\s*' - r'(?P<module>[\w.]+)\s*' - r'(:\s*(?P<attr>[\w.]+))?\s*' - r'(?P<extras>\[.*\])?\s*$' - ) - - @classmethod - def parse(cls, src, dist=None): - """Parse a single entry point from string `src` - - Entry point syntax follows the form:: - - name = some.module:some.attr [extra1, extra2] - - The entry name and module name are required, but the ``:attrs`` and - ``[extras]`` parts are optional - """ - m = cls.pattern.match(src) - if not m: - msg = "EntryPoint must be in 'name=module:attrs [extras]' format" - raise ValueError(msg, src) - res = m.groupdict() - extras = cls._parse_extras(res['extras']) - attrs = res['attr'].split('.') if res['attr'] else () - return cls(res['name'], res['module'], attrs, extras, dist) - - @classmethod - def _parse_extras(cls, extras_spec): - if not extras_spec: - return () - req = Requirement.parse('x' + extras_spec) - if req.specs: - raise ValueError() - return req.extras - - @classmethod - def parse_group(cls, group, lines, dist=None): - """Parse an entry point group""" - if not MODULE(group): - raise ValueError("Invalid group name", group) - this = {} - for line in yield_lines(lines): - ep = cls.parse(line, dist) - if ep.name in this: - raise ValueError("Duplicate entry point", group, ep.name) - this[ep.name] = ep - return this - - @classmethod - def parse_map(cls, data, dist=None): - """Parse a map of entry point groups""" - if isinstance(data, dict): - data = data.items() - else: - data = split_sections(data) - maps = {} - for group, lines in data: - if group is None: - if not lines: - continue - raise ValueError("Entry points must be listed in groups") - group = group.strip() - if group in maps: - raise ValueError("Duplicate group name", group) - maps[group] = cls.parse_group(group, lines, dist) - return maps - - -def _remove_md5_fragment(location): - if not location: - return '' - parsed = urllib.parse.urlparse(location) - if parsed[-1].startswith('md5='): - return urllib.parse.urlunparse(parsed[:-1] + ('',)) - return location - - -def _version_from_file(lines): - """ - Given an iterable of lines from a Metadata file, return - the value of the Version field, if present, or None otherwise. - """ - def is_version_line(line): - return line.lower().startswith('version:') - version_lines = filter(is_version_line, lines) - line = next(iter(version_lines), '') - _, _, value = line.partition(':') - return safe_version(value.strip()) or None - - -class Distribution: - """Wrap an actual or potential sys.path entry w/metadata""" - PKG_INFO = 'PKG-INFO' - - def __init__( - self, location=None, metadata=None, project_name=None, - version=None, py_version=PY_MAJOR, platform=None, - precedence=EGG_DIST): - self.project_name = safe_name(project_name or 'Unknown') - if version is not None: - self._version = safe_version(version) - self.py_version = py_version - self.platform = platform - self.location = location - self.precedence = precedence - self._provider = metadata or empty_provider - - @classmethod - def from_location(cls, location, basename, metadata=None, **kw): - project_name, version, py_version, platform = [None] * 4 - basename, ext = os.path.splitext(basename) - if ext.lower() in _distributionImpl: - cls = _distributionImpl[ext.lower()] - - match = EGG_NAME(basename) - if match: - project_name, version, py_version, platform = match.group( - 'name', 'ver', 'pyver', 'plat' - ) - return cls( - location, metadata, project_name=project_name, version=version, - py_version=py_version, platform=platform, **kw - )._reload_version() - - def _reload_version(self): - return self - - @property - def hashcmp(self): - return ( - self.parsed_version, - self.precedence, - self.key, - _remove_md5_fragment(self.location), - self.py_version or '', - self.platform or '', - ) - - def __hash__(self): - return hash(self.hashcmp) - - def __lt__(self, other): - return self.hashcmp < other.hashcmp - - def __le__(self, other): - return self.hashcmp <= other.hashcmp - - def __gt__(self, other): - return self.hashcmp > other.hashcmp - - def __ge__(self, other): - return self.hashcmp >= other.hashcmp - - def __eq__(self, other): - if not isinstance(other, self.__class__): - # It's not a Distribution, so they are not equal - return False - return self.hashcmp == other.hashcmp - - def __ne__(self, other): - return not self == other - - # These properties have to be lazy so that we don't have to load any - # metadata until/unless it's actually needed. (i.e., some distributions - # may not know their name or version without loading PKG-INFO) - - @property - def key(self): - try: - return self._key - except AttributeError: - self._key = key = self.project_name.lower() - return key - - @property - def parsed_version(self): - if not hasattr(self, "_parsed_version"): - self._parsed_version = parse_version(self.version) - - return self._parsed_version - - def _warn_legacy_version(self): - LV = packaging.version.LegacyVersion - is_legacy = isinstance(self._parsed_version, LV) - if not is_legacy: - return - - # While an empty version is technically a legacy version and - # is not a valid PEP 440 version, it's also unlikely to - # actually come from someone and instead it is more likely that - # it comes from setuptools attempting to parse a filename and - # including it in the list. So for that we'll gate this warning - # on if the version is anything at all or not. - if not self.version: - return - - tmpl = textwrap.dedent(""" - '{project_name} ({version})' is being parsed as a legacy, - non PEP 440, - version. You may find odd behavior and sort order. - In particular it will be sorted as less than 0.0. It - is recommended to migrate to PEP 440 compatible - versions. - """).strip().replace('\n', ' ') - - warnings.warn(tmpl.format(**vars(self)), PEP440Warning) - - @property - def version(self): - try: - return self._version - except AttributeError: - version = self._get_version() - if version is None: - path = self._get_metadata_path_for_display(self.PKG_INFO) - msg = ( - "Missing 'Version:' header and/or {} file at path: {}" - ).format(self.PKG_INFO, path) - raise ValueError(msg, self) - - return version - - @property - def _dep_map(self): - """ - A map of extra to its list of (direct) requirements - for this distribution, including the null extra. - """ - try: - return self.__dep_map - except AttributeError: - self.__dep_map = self._filter_extras(self._build_dep_map()) - return self.__dep_map - - @staticmethod - def _filter_extras(dm): - """ - Given a mapping of extras to dependencies, strip off - environment markers and filter out any dependencies - not matching the markers. - """ - for extra in list(filter(None, dm)): - new_extra = extra - reqs = dm.pop(extra) - new_extra, _, marker = extra.partition(':') - fails_marker = marker and ( - invalid_marker(marker) - or not evaluate_marker(marker) - ) - if fails_marker: - reqs = [] - new_extra = safe_extra(new_extra) or None - - dm.setdefault(new_extra, []).extend(reqs) - return dm - - def _build_dep_map(self): - dm = {} - for name in 'requires.txt', 'depends.txt': - for extra, reqs in split_sections(self._get_metadata(name)): - dm.setdefault(extra, []).extend(parse_requirements(reqs)) - return dm - - def requires(self, extras=()): - """List of Requirements needed for this distro if `extras` are used""" - dm = self._dep_map - deps = [] - deps.extend(dm.get(None, ())) - for ext in extras: - try: - deps.extend(dm[safe_extra(ext)]) - except KeyError: - raise UnknownExtra( - "%s has no such extra feature %r" % (self, ext) - ) - return deps - - def _get_metadata_path_for_display(self, name): - """ - Return the path to the given metadata file, if available. - """ - try: - # We need to access _get_metadata_path() on the provider object - # directly rather than through this class's __getattr__() - # since _get_metadata_path() is marked private. - path = self._provider._get_metadata_path(name) - - # Handle exceptions e.g. in case the distribution's metadata - # provider doesn't support _get_metadata_path(). - except Exception: - return '[could not detect]' - - return path - - def _get_metadata(self, name): - if self.has_metadata(name): - for line in self.get_metadata_lines(name): - yield line - - def _get_version(self): - lines = self._get_metadata(self.PKG_INFO) - version = _version_from_file(lines) - - return version - - def activate(self, path=None, replace=False): - """Ensure distribution is importable on `path` (default=sys.path)""" - if path is None: - path = sys.path - self.insert_on(path, replace=replace) - if path is sys.path: - fixup_namespace_packages(self.location) - for pkg in self._get_metadata('namespace_packages.txt'): - if pkg in sys.modules: - declare_namespace(pkg) - - def egg_name(self): - """Return what this distribution's standard .egg filename should be""" - filename = "%s-%s-py%s" % ( - to_filename(self.project_name), to_filename(self.version), - self.py_version or PY_MAJOR - ) - - if self.platform: - filename += '-' + self.platform - return filename - - def __repr__(self): - if self.location: - return "%s (%s)" % (self, self.location) - else: - return str(self) - - def __str__(self): - try: - version = getattr(self, 'version', None) - except ValueError: - version = None - version = version or "[unknown version]" - return "%s %s" % (self.project_name, version) - - def __getattr__(self, attr): - """Delegate all unrecognized public attributes to .metadata provider""" - if attr.startswith('_'): - raise AttributeError(attr) - return getattr(self._provider, attr) - - def __dir__(self): - return list( - set(super(Distribution, self).__dir__()) - | set( - attr for attr in self._provider.__dir__() - if not attr.startswith('_') - ) - ) - - if not hasattr(object, '__dir__'): - # python 2.7 not supported - del __dir__ - - @classmethod - def from_filename(cls, filename, metadata=None, **kw): - return cls.from_location( - _normalize_cached(filename), os.path.basename(filename), metadata, - **kw - ) - - def as_requirement(self): - """Return a ``Requirement`` that matches this distribution exactly""" - if isinstance(self.parsed_version, packaging.version.Version): - spec = "%s==%s" % (self.project_name, self.parsed_version) - else: - spec = "%s===%s" % (self.project_name, self.parsed_version) - - return Requirement.parse(spec) - - def load_entry_point(self, group, name): - """Return the `name` entry point of `group` or raise ImportError""" - ep = self.get_entry_info(group, name) - if ep is None: - raise ImportError("Entry point %r not found" % ((group, name),)) - return ep.load() - - def get_entry_map(self, group=None): - """Return the entry point map for `group`, or the full entry map""" - try: - ep_map = self._ep_map - except AttributeError: - ep_map = self._ep_map = EntryPoint.parse_map( - self._get_metadata('entry_points.txt'), self - ) - if group is not None: - return ep_map.get(group, {}) - return ep_map - - def get_entry_info(self, group, name): - """Return the EntryPoint object for `group`+`name`, or ``None``""" - return self.get_entry_map(group).get(name) - - def insert_on(self, path, loc=None, replace=False): - """Ensure self.location is on path - - If replace=False (default): - - If location is already in path anywhere, do nothing. - - Else: - - If it's an egg and its parent directory is on path, - insert just ahead of the parent. - - Else: add to the end of path. - If replace=True: - - If location is already on path anywhere (not eggs) - or higher priority than its parent (eggs) - do nothing. - - Else: - - If it's an egg and its parent directory is on path, - insert just ahead of the parent, - removing any lower-priority entries. - - Else: add it to the front of path. - """ - - loc = loc or self.location - if not loc: - return - - nloc = _normalize_cached(loc) - bdir = os.path.dirname(nloc) - npath = [(p and _normalize_cached(p) or p) for p in path] - - for p, item in enumerate(npath): - if item == nloc: - if replace: - break - else: - # don't modify path (even removing duplicates) if - # found and not replace - return - elif item == bdir and self.precedence == EGG_DIST: - # if it's an .egg, give it precedence over its directory - # UNLESS it's already been added to sys.path and replace=False - if (not replace) and nloc in npath[p:]: - return - if path is sys.path: - self.check_version_conflict() - path.insert(p, loc) - npath.insert(p, nloc) - break - else: - if path is sys.path: - self.check_version_conflict() - if replace: - path.insert(0, loc) - else: - path.append(loc) - return - - # p is the spot where we found or inserted loc; now remove duplicates - while True: - try: - np = npath.index(nloc, p + 1) - except ValueError: - break - else: - del npath[np], path[np] - # ha! - p = np - - return - - def check_version_conflict(self): - if self.key == 'setuptools': - # ignore the inevitable setuptools self-conflicts :( - return - - nsp = dict.fromkeys(self._get_metadata('namespace_packages.txt')) - loc = normalize_path(self.location) - for modname in self._get_metadata('top_level.txt'): - if (modname not in sys.modules or modname in nsp - or modname in _namespace_packages): - continue - if modname in ('pkg_resources', 'setuptools', 'site'): - continue - fn = getattr(sys.modules[modname], '__file__', None) - if fn and (normalize_path(fn).startswith(loc) or - fn.startswith(self.location)): - continue - issue_warning( - "Module %s was already imported from %s, but %s is being added" - " to sys.path" % (modname, fn, self.location), - ) - - def has_version(self): - try: - self.version - except ValueError: - issue_warning("Unbuilt egg for " + repr(self)) - return False - return True - - def clone(self, **kw): - """Copy this distribution, substituting in any changed keyword args""" - names = 'project_name version py_version platform location precedence' - for attr in names.split(): - kw.setdefault(attr, getattr(self, attr, None)) - kw.setdefault('metadata', self._provider) - return self.__class__(**kw) - - @property - def extras(self): - return [dep for dep in self._dep_map if dep] - - -class EggInfoDistribution(Distribution): - def _reload_version(self): - """ - Packages installed by distutils (e.g. numpy or scipy), - which uses an old safe_version, and so - their version numbers can get mangled when - converted to filenames (e.g., 1.11.0.dev0+2329eae to - 1.11.0.dev0_2329eae). These distributions will not be - parsed properly - downstream by Distribution and safe_version, so - take an extra step and try to get the version number from - the metadata file itself instead of the filename. - """ - md_version = self._get_version() - if md_version: - self._version = md_version - return self - - -class DistInfoDistribution(Distribution): - """ - Wrap an actual or potential sys.path entry - w/metadata, .dist-info style. - """ - PKG_INFO = 'METADATA' - EQEQ = re.compile(r"([\(,])\s*(\d.*?)\s*([,\)])") - - @property - def _parsed_pkg_info(self): - """Parse and cache metadata""" - try: - return self._pkg_info - except AttributeError: - metadata = self.get_metadata(self.PKG_INFO) - self._pkg_info = email.parser.Parser().parsestr(metadata) - return self._pkg_info - - @property - def _dep_map(self): - try: - return self.__dep_map - except AttributeError: - self.__dep_map = self._compute_dependencies() - return self.__dep_map - - def _compute_dependencies(self): - """Recompute this distribution's dependencies.""" - dm = self.__dep_map = {None: []} - - reqs = [] - # Including any condition expressions - for req in self._parsed_pkg_info.get_all('Requires-Dist') or []: - reqs.extend(parse_requirements(req)) - - def reqs_for_extra(extra): - for req in reqs: - if not req.marker or req.marker.evaluate({'extra': extra}): - yield req - - common = frozenset(reqs_for_extra(None)) - dm[None].extend(common) - - for extra in self._parsed_pkg_info.get_all('Provides-Extra') or []: - s_extra = safe_extra(extra.strip()) - dm[s_extra] = list(frozenset(reqs_for_extra(extra)) - common) - - return dm - - -_distributionImpl = { - '.egg': Distribution, - '.egg-info': EggInfoDistribution, - '.dist-info': DistInfoDistribution, -} - - -def issue_warning(*args, **kw): - level = 1 - g = globals() - try: - # find the first stack frame that is *not* code in - # the pkg_resources module, to use for the warning - while sys._getframe(level).f_globals is g: - level += 1 - except ValueError: - pass - warnings.warn(stacklevel=level + 1, *args, **kw) - - -class RequirementParseError(ValueError): - def __str__(self): - return ' '.join(self.args) - - -def parse_requirements(strs): - """Yield ``Requirement`` objects for each specification in `strs` - - `strs` must be a string, or a (possibly-nested) iterable thereof. - """ - # create a steppable iterator, so we can handle \-continuations - lines = iter(yield_lines(strs)) - - for line in lines: - # Drop comments -- a hash without a space may be in a URL. - if ' #' in line: - line = line[:line.find(' #')] - # If there is a line continuation, drop it, and append the next line. - if line.endswith('\\'): - line = line[:-2].strip() - try: - line += next(lines) - except StopIteration: - return - yield Requirement(line) - - -class Requirement(packaging.requirements.Requirement): - def __init__(self, requirement_string): - """DO NOT CALL THIS UNDOCUMENTED METHOD; use Requirement.parse()!""" - try: - super(Requirement, self).__init__(requirement_string) - except packaging.requirements.InvalidRequirement as e: - raise RequirementParseError(str(e)) - self.unsafe_name = self.name - project_name = safe_name(self.name) - self.project_name, self.key = project_name, project_name.lower() - self.specs = [ - (spec.operator, spec.version) for spec in self.specifier] - self.extras = tuple(map(safe_extra, self.extras)) - self.hashCmp = ( - self.key, - self.url, - self.specifier, - frozenset(self.extras), - str(self.marker) if self.marker else None, - ) - self.__hash = hash(self.hashCmp) - - def __eq__(self, other): - return ( - isinstance(other, Requirement) and - self.hashCmp == other.hashCmp - ) - - def __ne__(self, other): - return not self == other - - def __contains__(self, item): - if isinstance(item, Distribution): - if item.key != self.key: - return False - - item = item.version - - # Allow prereleases always in order to match the previous behavior of - # this method. In the future this should be smarter and follow PEP 440 - # more accurately. - return self.specifier.contains(item, prereleases=True) - - def __hash__(self): - return self.__hash - - def __repr__(self): - return "Requirement.parse(%r)" % str(self) - - @staticmethod - def parse(s): - req, = parse_requirements(s) - return req - - -def _always_object(classes): - """ - Ensure object appears in the mro even - for old-style classes. - """ - if object not in classes: - return classes + (object,) - return classes - - -def _find_adapter(registry, ob): - """Return an adapter factory for `ob` from `registry`""" - types = _always_object(inspect.getmro(getattr(ob, '__class__', type(ob)))) - for t in types: - if t in registry: - return registry[t] - - -def ensure_directory(path): - """Ensure that the parent directory of `path` exists""" - dirname = os.path.dirname(path) - py31compat.makedirs(dirname, exist_ok=True) - - -def _bypass_ensure_directory(path): - """Sandbox-bypassing version of ensure_directory()""" - if not WRITE_SUPPORT: - raise IOError('"os.mkdir" not supported on this platform.') - dirname, filename = split(path) - if dirname and filename and not isdir(dirname): - _bypass_ensure_directory(dirname) - try: - mkdir(dirname, 0o755) - except FileExistsError: - pass - - -def split_sections(s): - """Split a string or iterable thereof into (section, content) pairs - - Each ``section`` is a stripped version of the section header ("[section]") - and each ``content`` is a list of stripped lines excluding blank lines and - comment-only lines. If there are any such lines before the first section - header, they're returned in a first ``section`` of ``None``. - """ - section = None - content = [] - for line in yield_lines(s): - if line.startswith("["): - if line.endswith("]"): - if section or content: - yield section, content - section = line[1:-1].strip() - content = [] - else: - raise ValueError("Invalid section heading", line) - else: - content.append(line) - - # wrap up last segment - yield section, content - - -def _mkstemp(*args, **kw): - old_open = os.open - try: - # temporarily bypass sandboxing - os.open = os_open - return tempfile.mkstemp(*args, **kw) - finally: - # and then put it back - os.open = old_open - - -# Silence the PEP440Warning by default, so that end users don't get hit by it -# randomly just because they use pkg_resources. We want to append the rule -# because we want earlier uses of filterwarnings to take precedence over this -# one. -warnings.filterwarnings("ignore", category=PEP440Warning, append=True) - - -# from jaraco.functools 1.3 -def _call_aside(f, *args, **kwargs): - f(*args, **kwargs) - return f - - -@_call_aside -def _initialize(g=globals()): - "Set up global resource manager (deliberately not state-saved)" - manager = ResourceManager() - g['_manager'] = manager - g.update( - (name, getattr(manager, name)) - for name in dir(manager) - if not name.startswith('_') - ) - - -@_call_aside -def _initialize_master_working_set(): - """ - Prepare the master working set and make the ``require()`` - API available. - - This function has explicit effects on the global state - of pkg_resources. It is intended to be invoked once at - the initialization of this module. - - Invocation by other packages is unsupported and done - at their own risk. - """ - working_set = WorkingSet._build_master() - _declare_state('object', working_set=working_set) - - require = working_set.require - iter_entry_points = working_set.iter_entry_points - add_activation_listener = working_set.subscribe - run_script = working_set.run_script - # backward compatibility - run_main = run_script - # Activate all distributions already on sys.path with replace=False and - # ensure that all distributions added to the working set in the future - # (e.g. by calling ``require()``) will get activated as well, - # with higher priority (replace=True). - tuple( - dist.activate(replace=False) - for dist in working_set - ) - add_activation_listener( - lambda dist: dist.activate(replace=True), - existing=False, - ) - working_set.entries = [] - # match order - list(map(working_set.add_entry, sys.path)) - globals().update(locals()) - -class PkgResourcesDeprecationWarning(Warning): - """ - Base class for warning about deprecations in ``pkg_resources`` - - This class is not derived from ``DeprecationWarning``, and as such is - visible by default. - """ diff --git a/.venv/lib/python3.8/site-packages/pkg_resources/__pycache__/__init__.cpython-38.pyc b/.venv/lib/python3.8/site-packages/pkg_resources/__pycache__/__init__.cpython-38.pyc deleted file mode 100644 index 006ce6e631f5c43c0043f312c6aa091bff352eee..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 100356 zcmWIL<>g{vU|=}A?@zMraz=*7APzEiXJBA(U|?V<Uc|w`kirnfkiwY4l*5?I6ve~{ zVl(G3M=_@`rZDHQM6rNr)+kmm%@)N5rrD#|!8At{2bkuJ;sn!NQCwh}JBk}j^F;B0 zY2GMaFwGam2d4R>_`$S5lmM6(j1mOXLQz6sS~yAsOp8W|f@!fRF)%G2B@U(~q9nky zWRxVBmWq-B)6!AWDU2yBIefV?Q8J7SRS?@{qh!Mw^5j?;QsuI_CNLJUF*1N4SciO+ zY$QV-Qv^d5N2&rNLpVd86bnPDB3PXkNEIVPs#25!L`@1~3TuvXu1b^&IGosWRCCp$ z)N<9M)N?hWG{9o)IV`!FQJRblRWd1zDI7U0xmr<Lx!O_MxjIogj0`E9QMyn&Aa3b{ z*pb2&r3<%%JBKA#FG?S59#4)zu3?m6u2GZ`BSRG=6pV9CqD&bXQcbhW;4X%kb_Z%2 zbCfC6G~N`x9P?a@C=0M@{5i_GmQj{qwm^<@u2qy3BSWfnieNJ%m==Q4!cbZSOxr}+ zrii98XW6kZFf(K`OkgT<ND%|mK6xyR40#->_9^1cj7^NGDp?K_n2KUjn4=t1n4_Fh zn4_Fin4?@$n4?@%n4{cMn4{cNn4>&Wn4>&Xn4`Q>n4`Q?n4^4Bn4^4Cn4|nsn4|nt zn4<zxn4<zyn4^MHn4^N-8B!!tBwH9#BvV70nWI8eq*A0?7^1>58KS~dWKv{X7@{Il z<Wl5Y7@{Im6jBsh7^0$5lv0#i7^0$6R8mx17@}fQ)Kb)27@}fRG*UEM7^31*v{JNN z7+4sh;-eB$bW(I%7@`tW^iuRw3{nhJj8cqKOj1l!%u>u#EK)2}tWvB~Y*K7f>{9Gg z98w%poKl=qTvA+9+)~_AJW@PUyi&YVd{TT<BvbrSq*MG;0#X7~f>MH0LQ+Cg!cxLh zB2pq#qEez$Vp3vL;!@&M5>gUVl2VdWQc_Y=(o)h>GEy>AvQn~Ba#C_r@>23s3Q`JF ziqhSqlH3_mic>sW7*ae_lbe~NQrsC*N>aR97*f1aQ<|BhQr#I+N>j>O7*fhoQ=6Hi z(%czR%2T{s7*f2!^6BmjDHSO`Eet6>V17m>LsVu;WmXm_Ci@tovQw&}a#E_Ja#MJt z@=_S1@>6P}3Q}rQa$6Xp3RCJ*3|bhXiqaX<7*py~8d?~mic=a>npzm5N>Z9rT3Q&Q zN>kYvl%=#TWQ-~Yv)UFiMpdMiMpdS?rv$YyL{+79r0BOWL{+C&N7bZsrWm#`MAfEr zr5Lp^MAc1TOkqgrPBCs_jH*xRNik_*h-z?WNa;;UXkkc6Xl9CPbZ1EEOG#{DNJ&g> zY-WyXa%V{CPjP8sNO5UqifVReNSTl_v4tUJVrok>b5yH4L&~HS=N5((=Vqp;w$!$$ zc6Wx9$tk`q3@N^;_RY*u9qtS%Q&L=87*brDnW8#VrlvTxFhq5wOiS@^VTkHZnVu5R z!VuMyG9x9lg(0dpWoAlP3qw?2%B+;|7KW()35+R>DYH`|S{S1yxHF{8Nl9;ENJ(#I zikg^Om^vwSVlxvXgF8dY+?0$KhLnudiOtMWlie9o=A~q|Fr;LrPHtw7nvyzY!PJEe zV0H6TQd<~OQo-t`rA}*Rh??%skg_0UVGBdbLa>i!xHF_IN?F{(kg_;+Ml*BNOm~Kq zB`H}g3@KS)(`Ka>rgCM?PMrm{d1*>g3qwj$>a=F&s5$NoDa%rlTNqN3Q>QdDN6mF- zNLike(!!9Ek~*uIIci>NM9PXxhLn}Ppz?lIN_GoF)cgsIDNHG=Q|wz9qZUkHOkqx0 zld`sjF=}Dze6T$WLH0~wOkqh`m$JTvF=|oj{M1RQi$J0&8&Wp5Fhnh$z?j0CvMFVA z3uDxhlr1S+TNt92x-+C~OWEGSkg~m*DQa2Dj+C7(3{lHdcBSlYVTf9hvL|J43q#b( zlzl1tTNt8NrOr>~%UYef1Y~OJnpD%21I<hm*oro!&QCSXS_>72xcwl=?NEOl0<lvL zr{uISM6F9Xl5(_#A!>cfv6SO23{e|WPNdkhFhp&fz?j08axx{ag)wSV%BhsoEeuhc zQ`dp*+YGjE9oU}`Hq37JBAwKAV7tNMDQ8m7wlG9(NnMvZDRm1-SIW7Rs1}B(ttsbI zF0?R2ZOa7Zmy0QvS{S3Yr(90C(!vn6Bjsw!wHAh`ohjE-ZnQ8&?Mk_s65PTNwHusk zZY^ZY+7q=G%)Xt<p0zKPJ!`)c!$PL4Jy8eT8B*?~c(gF2cr-Ib9Zb2Ka<7FU>QKu4 zlm{&gQHR|bQXZzbwJ@Z(H8VvWac4+*l=8TRA?0!Ek!I$oqwWkTPg0(?Fr+*M^N*z- zNj;i+Eall8=BVQ-&r@EsFhrejXGnRO@~VX)<yGp*X6C3<DX&xfS{R~EyECM`NpWvs zNO4cK$~u#EwwXEVY|7h|cP$K2=ThFMd}v{aI-l|}C9;Jf>O#t=l+P^;Q5RFbq=d9E zL|sbxn)0oMA?k7}ch;4Z@2R0FoGCwgnHd>Uey03tVTih#dNuW0GbogPr~GMQY-WtQ zo_aOqZ_2+GhGxd78}1A#|5FND7*YySZ#FYW-AZ8&X3$_~WMD{)Vq#$63P?=OPE1c# zC`v8PFD*(=Rd5XO<kH0gxVRh<iZY885*2dt(=(G3a}?4tb5a$O^Ycm)GxJhY6v{J8 zGBWcN5)}#{M(Zf#7a>%06_+NZWEQ0+m*f{!DwJfT7NzE==_x3LWTe70Agpl=@Ki{x zC`e5%DMkq9CFZ6UbCu*PWF(fQf=tLPQYc6)$xtXrEGj8hC{8U%EJ`eaIz%BMK|diu zM?otuzeG!+JR`9rwJfy=q)Q<uKRGdn3#=2WC%;G`vsh0-!6jcIFTX^gv^Z5EzgQ2f zBEKNDD6u3nKd)G!BwrynF)y>AG$*kH5pG;yXDKA5X6B_U6eJcGr=}=m=9T1wt#S<T z)Z^m9>BY=qg_P9d%ydxbmE<dw=NDyzLs20wzbF?Pz{QotC8@cvAS%}3(o0QG2M2wz zjzVHyib81~D7;fs6c7@63JRVj3dxCi3W+(zP;<dClara72@aveO0Y#-dR3VP5W~P` zfuc|$xwN<>KUX2ZH9*1Gz(^q{KQSe>s92#SBe6uGxU`@kzo-Q4xrBuD)ROp=#F9h} z&4dK5+|-hc{1iQ|m!S5sCgUys#H8Z<oYIoi_{?089zRXSTRb2g5N>LbCgUyU;>-$7 z=38u~ML9W{Nw=7D6ANy!rDf)nfMr=rOEPm)HJNX*=4Pj47TsbiN(BY>Ew<9UoXouJ z5I0T6TP*nnsd<`Aw^%caK}uMQ3vx0`UNSN;FlaK~;wq>#HcZaXEl4cUWW2?mSWu9X zSyZgac#9JhWQpmSdFfSZ1=;EGuuM>_ms(MhT9l^;m)9#xEh^5;&#TfTpsu(eH90da zGqtF=N}GVvqSV6D%%arX)Vz{ng7)Vo7G<Xv6>BoRWM*JsC<6P8sYsZCf#D@90|P^q zd_ZMMMt+`xv7RX?zk$*wC^aiUElEiRMF%nlnE>vx2rw`(q%uS?rZ7Y?r7%V@r!WOG zXfog84R8%GF);{FEXo6gPa>Csf`URQC|Q?hq~?KQz9>}zR1V}RWEK~frh*faLZSjR zpg@j*hXpu0fg&KM5|lka$qQ^8C~cXT80djHek)mSam2@iqBcJM7FT?HZhlH>PHKGo zEuQ%J!qUVXs0@32d`f<DeEdp=B56=ifQVmK`X#vq`URN<y0CnpTb_}cnxku!XqcN= zSW>Ky5*hmO@tJv<CGqik1(ijj3=9kvpw1f;0|NsGBbc8I3LaQ+f!G`j3=Ga7MHZmY z<||>yVqCyf!?2JsoFSNjg#pCRV$S9&GJ^CMK>P(PAbB>1NQPjB2!<4fV1|{9ewwUB zLJSNHx7eZKbc;O<lCo~`dFGWR=47V8_`E);>50jeP_8E9Eygm0hl^xDhVT|778R$) zLyf8jIS=Gc21X`EK1LzNB4q{!1{9xwe8|SYz~Bv1s>Hy+P{Pp6uz<0KaUmlkLkZIY z#uDZQEH#WZ3=5e+A|N*x$$~Nw>n-;5ocyH3oZ?$-r3ER8C8@W#<BLlYOH$*@5{rs& zv7}@sm)zn=E6UH!POU7~WV*#(mRM9$S&({*DZ3oq-F)#WsmVEsMX3-YIzg^s0fjar z4`Y!w$k8AU41;7q7#{qY47Ff~*D{tcE?`>7;KC5A5W`f<RLfk$n8H}YEY2XwP{UZm zB+1asSi?}mWW!J>RKpO=pvmNSi!HtwRQPBz7pZ^}j~XZ#Su;ygbBkB9++qd$=oVx8 zEynC3Q1GBToF_g$J+%a^Dn7ms<ZSS`03!<{8>0ZD6l0MQ$nl``g6w!u28BBw6ymjv zH4F<F!46kJIJ|@j<YchpnIO)uVQyw-WGLiAa(r=WNj%K)x-cIU>48|Fi~w;kIC1dA z#}~uhIt}DjNZJ6oRF1L81l^?|SA)_A*rgz)H4F<F7BU1gKvDqXEtcf`g36VQx0uTk zb0GGBZ3J7!1qoJADwqqh3S<xiV-YB`B!dbpSa5*YAPlxdjDdlnh7n{5BZy|KK}&Q@ zw^);NQWJ}cR2di;Rx;mW&Q7ho#gv~^q>shBT=B)AumQPXA;<-w6vM#C!B}KVsz<?* zSY(F94jzav^OLetlS`I?Y=QdI4rB+&Us(Og2lXeq{~(c2WQE-(kZ&M1twOTN9%K{D z77z`JHV_64K^22M4bQaTI9kbgizTrry%@}a5a0;ou*pfxO-f0$TgSk_@EK%KkrTSn zAkTpk0ywggpru7E11QshO14@?P<G4aEQ%{(&SFVn%4RBxt5Qp0PGMQVTEf;08uwyt zWs+oA$XLU;fIWq6A!8bo7(*>+L`Z~%p@buwt0)FiT0%xvz^R-a+$;@BEh#MmRWg~y z3I#cdC29FZx$4CVxrr5-xuv-ZpsFOXBr_=|6;|Eoae?cQl+5Ci(vr-aVm%P42g>O% z?HZcU=2T9lLQyKHB?4;8q$=cQ=7G(G7NTHd^3xQ26O$GEgB2nm?Va-c(wr29Bv5k? zTxX|%T7g=n#i?2fpq4@&sA*8FP*9YgQktBaqL5SxHU{Au1qG+l5^(cVp*&TgJTVW% zNzGG8&PYwp233hLA7$obmQ;eO)slRL?7aMPP(2Ga3+g-tOsAzPBo?JAXcd*_fhuY( zP+K}*Au%T>zg(fT7}T`SPlGob!M*{Tms(MflbM`Z0uBwZpA-@m@>0uFi(o;DY?Thk z*}0{~C6JaRip!Eqi;7b7N|3dcWTYzi2Sek;Gfkl+BeNLPLrBR4HK7&qlaot}iWSm8 z{erwog?vyi03OZg?TE}gh0Ky-u$y5~sZd-}l$n=atOGGPtu!wgY;JJ|ESkWPl9HOD zkeHmDUzC!Wm!4AzZDrhIOGzv$&&;dh$xTeoFRsv4E!I^nzQw5b5|rG*Eh<gUTSB0u zlT@0SlM)ZJ^_CD=1GGL420P&vYi?pma>gy@;>zM%9B`E^S^1fHw|L^g8Y;l`^DWl& zqWsc=TU=p@Ii;ztMMe2VnoPG?Kw54w=0Y+iqBs=;Sr2Vwry`uN5mXR>+G`BFY>Zrt zLX1p|YK(kLY>Y)gpn8lQ+St3rRaBZ6Uz}W&Sx^FLYZnydmu04;7Tpp684OC7MVU#Z zpg_AN0BYFBr{<LuRmK<OXXcgM;svRJ2!I;md<br4URwSw!OW7>B4iE4xA<WV=XglW zpbDfW=H3#7s{r*DK`psk0&t<6%;FMIs~urXYDH#oN%1W{xDrUSUJ%x702xqRkeHl$ ziyPEi%FIg#)pfVT6H`*+6O&6a%fNlLc#y%Vd8tLWgwiteQsR;QU3^OzRKTWIloWw9 z<mbhM`gykmK^0D3X+b>9=Hgp|ApfVNrX`l<l*A_|CTFDH;&#m|%Ph*z12x@mafRm> zf%0&0YRN7BAZRz*H!&|UJ+<f-k4q*fNT6ZO9fWA|-{Nuwg?Rut$iez@z!3sY8n^hN z$;>%FFD(buv=Tu!$S=RdEx$A`<rYt99w;y7xq`fLiyusZ^8&;aAxQfWnk+!BExyHB zoS2phZe`!%0W+Z`3pAlX3)@>Fuo5XJ6`li%Z*f;<rskx?=Va!k7T@9nce3J(Q^7VC z-{Jxr2M*C&+$H((@R;VygtTnqA)T08{HbM$Ii;YsBUC^jHLtj|C^a5FFmQ_x()G=( zN`=G=hpW4Lyo+aW$SrOsPd~??NGK=RKQzeM6~f_l_HcFf_74q#aCux@!(4s*10Xy> zPv6v%L{Kj^0G1a7Jz=p07vgct%t?hQyu}lcSdszfal59c!#TXJxdkPaaD9BKAZ|Q7 zoALOS=H$R-K|0|aeiukmf(vj*Wfs6W{6(qhnZ=+C21>E1MYp8j0`N2+pOKiCl9O6= zO9U<l%EPHe@!<BhL|SG=X#qHf!C538(uqwiE&?@BZpj5?r^EbR?2=kgl$s3AEYObL zEe=rGk(-#AcT3E%EHN`DF)1e%Iqel=^dv#$Cb%alfzgvpVQyiFVo6~MX3%6U$^-SB z^c<6l!C6irDX};eTnD727Nq8-q~;}qDrWFlL1uoQLMo_;EJo?QfSNfVKY-gKpk7oB zLl#38V+m6YLl$#0qd2^+%5sY{K0Y}ovA8%szDOKYG_n+>78DgZg4&Ucw^)i(bJEa@ zT#op7kec}Tf1pAZ<R=EkDhW_XA>~Uwm?BU=4rFi<$j?QRpcb4Ih?or`z~wlC0JXQk zp8pLp8Pr7MU}Ry!2u6_4z`<yP5sXnRsjQ%O6?jCCEtNHeHH8h#W=~;H;b>uq;z;34 z;c8)s;!NQVX3*p*$_EAYDsZLg2pat<N=;0u)XmH*E=kPENlk&*)ydG}r5IA{g6eHh zVUb!48XbZb4A5#k7+$%8dd``NIhj?kF*cAkgxSc61w5Jrl7^cKb`w%D2&t8;jH^L$ zq6aFWYeCH)gmFowB?=J9qSQjL9LTK9qSO?Ov;m4VaM}QM%0Ou&g;5gJ>t^x;kCzmI zLbqrpY7BuQ2h@8lF5zKhU?>I|!N61{f>!*39Y%_M{2*I!+Q(d!S}1^IoiMs}MX7}t zwt><I*ms}?0LXV)jA;xdOw9~^jL<&XO6FUf@g=FbphiXNEjCc2IkDsx8+f3z7^}zG zAT41LxLX*j#4z0gYAh#%Lk84OU|?VXIR(TAI|mekHH^g^pyoTsSv8DljN%NnOeKsp zOnsnUH)B-^IMzV}NS<l%5vlkja6>mQKTj82dg>??L0bJtV@PQVpkx7VwSrOwWDp8u zj&puqNoqw&X<`n#bKzELGJ*5^ElHeeHJOWMfeHt1Sc-~Iss!snFB^D3BUbUCA@0<Q z5^+#qfx1NutSpQyj6950GU#qVR_>?C1ulZnOA1gY^%h4#5olz&q_POqYc84(N;OMB z#BvaUC_=z2P(XuoHWSDNpj5!Y$imLT#Kg$O48k1DxXTpKI0y0|Un)x$YYLM%LlkQ& z8@yy;Phkya&}1uG3MxHX!2#*0faW(yTqGtZrxuieCILz^GK*3`L+^>XsU@jJpeA{$ zLUC#dsP|BkkqR~h8oc242Sh(qBn8yHQ9$H%<e~#wFo-E6RU+~~XuLEfKB=-6BX_`) zBWm8)Wb!L=1BE57yjTS4#%qBB6l4MeQ<W;t<e~?2b$n8#pC$*^SOpclMWCoHS^=^Z zWH?e{LPR4dh?PLLf)Wx3BMU1R6B8pi;Bm*H2MP5;Dl4RBXl6vN8&Y^$7^1jRc!L=< z`HBiav8)D~)F~{56!@Uh7uGLOC{HW~58I}J8k$wXpven$L^-UkfLk%R(9Z<T*c5`} z3nK=Lib4GZqT{e=4k##bMj$BDn1X^58i5kXsR-6m2E`q*X{Kl%KKpKQLX$yJu_cnN za=2^-1wj#>b_{qBj3JAmm@9=bm?4E}0VAjoUC0O;g!ilB2UVVl1)#n<xRqALq@$q8 zRJ0Q0LLU%;tvcg{yATx4wjfu627MWr*ce$DtCaA&6r=?sq(B8exUdJ6Iw1F9)ICKD zaJZ%jRGvA5+yIUr#wuwX_JeB~P!kVY$uNM}AU$A<LHPu2KoV>+)@qGC9^{MocsC?# zWw2TcRp_V5jWs(Xaxy5DL4qAL8V9j@HOR~0JdGg0g)}H@>4WSR0naF~FtLCOXiy=| z#K^^prJx4+6_mn@K>>_hP(x;8iV8uQ)ehMU3Mu)i#d+!_kZI7wJOw3i&r2aKHL;|$ zC{+ns04t<tmZjz?fI1I;MWD2XwKxJ9?*(!&D7-lst5~aR^{Q*ZgCXGJ^X32l|No;j z0YD1jse%VQz*)jj!(hVzO2wK?iTsQV3_;Moj6wpeV-%m32%h*&0F9sJCT6FC#>~JY z6OiGc1f-5k0%S-JMF`Xg0Obf!M+Y>+1a9Mle3}TKr%Xu51<xDl#m7Spi%&?<0oOyI zX;Lgs0Zn2lzz2~)^P4)b8Qeq#Er@Aa3Xq{#h(VBsO0hy>o<c$bMlUiU0o<(t8KeNw z4XMjOGoQlnJ|Z+IGE+g5CEQS_g8X$$06nyjq70n8CNVHDM8IN;fgL5cg5m^}SHPL3 z1UzP2!%)K5%v7XO!nA-HG;Uj<RKiliTEo!H*vtrNAy@I0uw}8=Fi0}gGKMqcsX<3) zBOs%*C7d9&j0^}hkn!3Qt{Tt^7v^T>TBZ{25}q2SW~Lg(W>Cq+Qe_Vv!cELmzz85{ z@T7uMWePNmK+y>;w?GXAaEl!@3kVIFct1_vTU?pN;Ko8;a%xcyDD!~^rEjr-y2?et zpq3nSaY<2;7l_3U3Hjn%9NwvwkkJsXc<2;#eEco;^wg5Xl9HlZyzwC2@rfyk1tqCP zMQcHmUCg(*A-esGf>H}_u|YVXhBRmj96dHd85kInK(PVpkuorGF-n1_-}o3g7zG%4 z7*S#e)cJ$Y2Bm;<4MTBE2?J;@2ow|G5p~cwx=#uyOqsGkvvEud8H;>MSWDPaSeluN zd`j3Bu!ANNYME15YnZdyihOFAQ&>SUSHrM?qlR$-CupP{G<#RW05UU}L6aTQ|GC9b zWuPAnUPqwslbKYMSX8O+oL`h0oLW?tnVeb-m4i0;^a?<uXQ0|HF(m-Z<O?VQjc=Dg z6%@IG!iuX1G?#dbJvT8KG|qX8DZls@3wS7vEfq3|$DWZ`3=V1zu!%XDNkw}>F~pWw z0P6P_fo4ZES#GgG#@34DKys{LrMGy&6r|yuSArh!z6=Zu`JjLY6>AKjrZ^J^h-Bnq z<YMGt<X{qDECQ)Pi2+bS3yKAB{s6^T3TPb~(;TJ+3^fd(c~5Y?dyBcCAQ?1?8IWI| zS`^@XiyzF0_f1R&E$S%F04-WbPX#Y0$W2Vn$jnPca~)#zH?b%=qaNf;P?5>NSac43 zng!$>c$TeWU;s^=Fy%1hGS)IMGSo0MGt@GcFl8~PFlRFrRn;&qU`b(F$XHxeWmm%5 z4C-gGEnr{B07?Q2I8xYB*cUR@GN*8qaMmz^qQ99D%;E&ig_dyDFgG)%F^e%kC#|`& zxr!<vnH-X(Ye1QotLg|e^Ok_d?LoasP*+mD7&`6_&b}~FUFal#GD?H67*cjeL_{b! zL#79EK#P4ci(v(Labj+&LSnH(LIS8A37V|II%NY|x&s;j$b|GD^HNh&iWQ3Ub5j*E z5|gtbb%sx7UTFom%?X>cffTpk5=4`+s0>t4xPa<UP$C75_`d{&_%B9<Ta58l{E#tv zUDXsl)f8RT;v!JbU6bb)XK`h5a(-S~W;(<GP@w`z>RiPopoK=DJ{~xE6&(Pl*iujx zdyBm&wIByHF3p^oR|1aeB7aaeVS$(u0CEc`g%_O#vCx_gpeej&P)Y%n@(gS|Ol*uI zj7*FWl8b?hk?kJ`3m-EZV-ZMYl?2r38Zjx_nlXA{N>@WqOS4KIGR2__7J|w^DX;>R znw*`1fdO77y#SX<DU8`1#S-AzJrK=M!<fxfBm-)SfXXV+YJpm&8m6KrU>?Il##-hY z=He-!^#h>#rIw|JrD#G4a}CP^mK5fNjLnR-tSKxtOb{NJW`)iLvemGruw^q9)zq-1 zuxGOt_tdbaaAY$TO{if@;ml?&ngFshg)5k$h8amW^FqdK=HfkIG46$oU=z7PVnqi) zYD<{GGOQq*OPIm3V0Jc3(F2e?%uG$5s@u+qc?!w-DUg9kP|E_=K1fMG%t#fL<|*WZ zW+PJ-5};KSlC(V}twXX*u|i2vX{thInnG$O>a<oSD6#wH=cR(ubUtJW8Y~kPgQxIP zL5p0Vqivv^;|EUduyJ_E%piEe5Ix;PCeTXrGAk+-{DV`AA?e>Q1e}(uSXGPlREr_a zI8a<yu^1ZY8NURTIAErU8@QdP$yx;JU>13TQnN550YOW8$Xr*^HBgfE1Epqm@W2JA z-Ij8T0~R8nby<bJiOILvLG2e1gA2rP0nfJG;z)rGC*Fe0yFqzqrDjn%0|UcCP!<3! zq+no|U}9nBVq{_DVrF3h(R_>&i~@{o|CvCT3Dm9@VHEn$#KgiZ!wBM`By3PF2Vrng z4;oYjCD#<jg^XEDpyZpvB*{<<N*>IhCB!w%HB2c?HVh>!pvF!Lvn0a;R?s4hg`fq! z;PLA!2cP_8(2_q;i3RT_gUhdYP$8HAE`va6C9|YhAptV|1|Eh_P=Ij2@d4>)fT|(C zm28l<3MXh$Nm@~2Zt5-0w0P(`n<7h4aD!SkMIoRtXNlqjSq!%77B|E|u<5s$@``V< zfJz_qzy#?#4+>1sm<R(C52#XP<UnnafE)s9GlByN)B^#v;!7B_n3|c2#K5b8K>3>i zEXv%>RHOlEIf548)G(B=H8U04l(45T)-W_PH8FyQ05zGa93Xi?AyEM~Hw<z)Jjn9F z%O}9KNTLGLP%x+k2%0R*ORv&(1+V%{O@UT9I>_q43rdl@LYf>!pqbGkP-NfYffxav z3n>P-5^u4Br@@Lq4Yi_dQ1a#ssVsoZ!LDS4jJ%<h#9<5!40k{w2Wp&vLJrcT0FfBW zSwOaeLl4w-1BFvFBWOic4bwu<LORAO7iefCfTAct0X(s)0G??DbzBm_)54G*12`=u zfP$eYF|#;T!4te-65M#zWGVu=sVE#YgTV}OGbk$-Jp-i@G}nU^JqNiS+~QzD$rK<V zczlC=hj1}?%z^QjE!4fB(h%9PxrqhfID@(v919>dX{9+iP+#RH7Qh@D0ZOw>NDf7F zBS`)Yk{dy8f_3~sY`memlCjDL$(4wSRA?^^*`3;ua0fd#ApueV!yFk23cS}K0?l<G ziH}IGgSiYwgF+FMS&Bi$3ZlE7!qmbL#S9rwjbee!(nLW=;-c7~b2RKJ+~9FI4(K>s zE2upP%7!q*L2M8PCn``lK)Tdb)-L&}kTomN89nu4ltve5g#~C0Hh54Kl-N=fa-nmc z_I}{9VI?EB^m2<QBe6Ihrt~}9+l*Cm7?Y-Y$VxF9*4SLF9+Cm?=s{hBSj(LV8bXF- zScnUY-eJZDWM&%XzF+v=2b!#hDJ9B%mm)z^+OV!DHWz|AKcK7%nyE<2NzBVu0I`zu zb3y%71@K%rqzRy)px~352wH6dt_n(u5;Jo^i+jp5GD}jybFrZ2FUY$E1*s_tpv963 zsfo!MU^5`AxFM#2W;hfSAaimF3Calxpr$f7uVoe$mw>H@I3zhE5wv_EwFumR$j{9z zDM?My!xNO?buF;)fz0FoMG8<A%m_ygP>2Sig4NCwl2lRCp+cepe2(8<K|v!YGdoow zApyF|UJty=1GI`<6OR}8;LZmtXJ&#;+c8!tU^*XFF;Pyp_sJ{<&tJgwf)huvLMEgM z2=@T8^Fe7OC9{Z-+XY}of|sVGWEQa@xn2p6>!Idj6y?}*oULm`YI11_cy9#Q=_%0m z2h0bcg+)1;sVQJdNV)_qo6OA5ODw8{guEtG(Gze@35q|k5^w<mAwb;|aHE71$@Mar zt_Q6ofHYM6G&v#d9>jF{dr(II03tquh)*B_v<?w$FvK3TLb;WJf#Dk{v4VyhIT$&Z zIhZ-vKqSVL3A}g)mC=ae8ML+?wjv>gwS^&y71UpDVTfW&;Yi_ZVTfW+;Y#6d0Zpg# zr0{~L)A@oKH2I6#K)pv}$2?f|0v_4}HEuIgQj0-r%u<WN`$C}QGQ4~%CMv#CpjBBS zr0)P)HUr=7QIY|v%V5iqz%4%L$SA0kNXUgOG)hnaug*(KMH`cZu0u*lfJEy`CeTO? zWN8vFikV0u4vOAeqM&>aR{?SpC?yCWMYuY~xE^@DC59fN!XOhK2B4)1pfxAp?I^n7 z0s^VQm;g5(<Q(z?qUb9qy`d(sTf!)QE-oobP0STV^06ubA47By<=<Sme?iqjUOKGq z22~fJf*w5AoL5o|s(0w?=ghoxDboC$nU_vfxvGQSet~%!slft^UPOcCJC=w7H&|dw z<&j(~hZ#el1`A9nQO-oIxnNpJt+_yJebDk$Q33-4gA$T!F-OMrVAjQh>o%g?3$LzV zdLhL+tgt7xy29q*I0gm=RU`*1VFoYEQdotCYq`S@P&EDo5x+ph9}ocwk0OvANC5@T zlAsa@T<G$GEC=;cKr5y=Siz7P%k&wjl?*EDi`Ssfk*kAS<BZ@HRIpW3pcPc$byLlZ zQS8uGIR~^=&Y8lS!Uvuu*GS<{5olqI;!Y7v5o%$G;z<!s5ouwF;!V*^5l@k5VT|HS z(Mpj_k!oR#;!n{|kxr3mVT=+;kxh|nVTck;(Mgd{QD|X|5=v1_QEFj`5>8Q0QE6d_ z5=l`_QEOp{5(SMzY3debf+`mmM}_44oE*qfN>HW;ElMp*MQPs`g9f3BE1^3QH9)JU z6^b)+GjkG)6hQ3*O+S>P2c;JU+MtlmP{R<<kO?9g!6Xw{1iWb`o1;jrge8j=Gy~zn z5X)D~RKu`<4K&Zd$WW*S?SR-j7o~y*K%h%*!OJ|rjaZQFAV-77{lQ(q%+z894d|L# zTbPqI{WRHcv4gslnW@FMxIm1`c+hU4TWm>S#x2g|#GITY(8w-$V5I0ExCsJU)C*P& zU9VI07bMII7D7rnphN@OKn7Z#79XzzN;#k&IcV0KjggI!jfn${tAr8jb@gD|z)&(8 zDBwV&W8nT5Xod+g244j_SOYRH&jdasLV|^%gejY=NDnfCUc(66>Q%*8!?=JM5_phf zGD=twn;mLEBTGyR;i|!7?#xw&;3-N_ogPpG+QJHHzU3x@7K4Jfgo3Ju;?xqz;2uaF zbbuSQJq|hsR~#R&$p#7o(E82z_#zfY28LVQNW%!=Su*e%qFWO2kmc>52#km72X$zQ zHJNWQC+8I3Vk$2N8-O0fyiko0r&)r+88pq!z{<wR#3;bX#{^o9#K*|TD8N)DfgIKl z`ykp-QYvUv5|o3%0iFgPflg;=W~^l@VF1l1f(PjsYnVZ6-4-%|Mwh`Ul(hylpUDcE z=_*tLrCk?>SczJ;8nzmyEVgX+B8wWP1?)9!V0jCW7)T9hwx^ZJhM@*DHp5gE2oH28 z&{}_mMC6c$bkGuE3)Vn^qW~J{(^CjaEiVFf=@ei|8xbj>g+axj^vMn?8FR`~i!wkw z=ERf~M4ASt;37sw1_n*`A`Va_fksimLwiM>ATCQ$YGLs$R?x6nF=Pw{wB`#fCW=72 zxP9T_&(6Wf!3dgl<Y5MlQ}HkhFjgsJhCfDpqeKNL?Ss~efTIF5xB*)10UFLqX8?_a z)-Ys&0v)nlkOeeB(9Gn*5Gw>OE?8@rKoi0XL0i^TQka7oG+7ewGBPkYrlf#(gO_9| zfHvBJrv4KW^g!7+Gqo5r8V;I)1*Pu9yh_XhFS7*RxmHL>04YUX$FBi0s8UBEq^LAi zGa&)g!!8BwQZ30>04YW_5FXvh`9(#k#Rd6!;NCiPn>M`os)TgLOEOX`!5!;F(8(ft z3JM8eyFhlp4NA-@Ppm9ffXrp4g7*cXdM*{T{30_=A+rSJw8R`x`?gY{peVICH4iB> zYlML2+A@n3l2VfsK|9YA5@3ldApyLH8`LCBg!Vzf(`TSX^r;HD`9+|jA~6r{r2M?( zRJaEekX-{Rqd~1p6tfXYL;<>i2I42UdEj{o1!O&XnsCVwH$P3bBG8)YTU^DdCD1Y- zlE9CGDtXW>cM)i9Ev)ngr)2PQM{r#aCO~C3I6r_AV=<`kW#Hmt<YDAvtP(-EPY+%b zfRw?8%NRhtJy5y@r&-XHE-cMvF@d(8WrMOhW0fT+fhc6ADL_YAGa=&>Sn64Dj|()0 zUr>|}+UTdrT=XC0lQST~8Z-dQ1YS1^$(UgGg9(r)K!q_hqCjiUL75ZeJO-vJaU_4l zgQv6;GxLh$<59c<@&*Wly`lpy3A4cab3tAKPg*c$a~5fUGFmo!kp^gXtA-Ig@(%JO zQ{n|i1_rmxJWzfEl^yUQcknJHP!>Zf=)rSYNIfX<KCM*vrfysT14=(2Qy@zQp+N*% z_L&LUqy?^-zzcbcL1{j*SRp4rFC8?1m06;Yo0?hz33urH4@Th%+B=^D+dv003pC@F zpa<SSrvr*U(5xD4<2gPzLR|(PiGxlbgNy^Mnu4AN0dfqu>jAa`*(Ev(2?@}-FW3eg zNXY^omrp^I_Q+wDm#=`&Jy^mFHXIGlOyEV6pq-DYNOt&XvY@3ua0L#_PT+-U*s{|m z1_p*QPy&QyCjlld#wvcKWC$uBF{U#>$q$5!L6v$tLpx&{6X-Cr7LFPQ7Y6X+9_B=0 zMg|7Ruqn7egw1Av=XHu9)h2Y7KmnfeAj9y8vfMLG0U`t{7D2=EItt*;Ma7`Ki{M6N zCB$6tz#GgsQ0)a$01q<cWDZsdN}os#R2|6n!gA1jN`78Wr9ysQDrh5V324zqI^39~ z{E`d>m?epMDKNKzwpN0jm71cUk(q~5n<(TLrKA>VB2oiJD-zVGF$Qh=0PTaWVTd&V zHLn*ibTBMr1TFb-VThHfW$Iu|VaVnv*6LuaVaft6{t>BR3S(eoC=@AVg74+kWG({D znA~Cm7y8BEVSG*ITTFTekWvU#sIFuxLYoo-mq?s8>8W|C6$M3hy`a<p8axB785dw+ zV&q`p`dg)slp-*;_UYL`b`RL;!A$|TLRLbS&ZAo>%E-U~KANB?ih+Tl4P+mvHNn8n z!^HHjN(P@zC<zg?9sv}1;BpYucR`xEWv*ccPu;TAFfV{i-Lim0Y#3@7KxY>$WQ0!M zGSx7Hnk<mbM^*ONCT~GIP(hg=v_`iWF@H<U+-=cA&;%DNxFUehffs`ZO^cp_Dhg~9 zbD#;?DWE_>osg{(MG6?ipeagn0)+-BR6t{$#h{hHnGB#)1hPPfAJ~9uh8l(}#%%T? zsX{Ig3v`kI=vV~M%8VM2xJn9R4Py;6D3r38YM3P%z)4J{kPF-kWv<!*$<L_S2^2n{ zxsH@l$O2^Wa!pW`h%KifvNmYO2b^gjIRuo!LAer~T|mPU<r$gD8Q_u^)E+EWhaBGn zDoQ~8#`4r6$hHAcaSd*Hfm)0p1CX*cBGZ8<)%`S?Ax#cYLj+t}YO+A0hNU<)HSZP+ z$f6=p-3?B?5CWV#IO5~Mi9UV~C|<xFMm84E3Nj`pCQxIVgAu*M2-=(%AL5n_iVavB z1k{58@xkd8v|PQ0xk#*rF^d5b7d0#?jGz;nKuZj=If_(j7{N;r7$EEWKuzmfR?r?c zQ2Nbc0`u8wSc=1H7_&g)Y}sr@VW4;doy?KN1`@Sl0FgDU+3ZCXHLMHRK|D}T2SnF^ zdOv+Npml<bS>XN=WMv>o9%PCpbD}sCq*)Ga3qcPZ0yPkdQ%iId5{rxTlQWSHQ3AzH zC2Cs%(H2%H%>#9dz%{oHsLqEr0>MM#pm<A2&;ykspzX#937|G8#9Blg`sXR6R%Dhy zY7X$Cv!eXclFYnR9i%3=0!ms)%}W891Tr3)EZ}8%acYS=Xt52Vi=m(aX@Hj}7K2ty zqcy@cp=)kH=?&sCP>Kat7ARIi?Ew#afX!2fEW}9!En)`c3h>?*xHCX44P@KE$5nym zzd$3tkPX40%mDHMIM7S;azN7v3D6Z}wxITE0wRn&L0t&-Vn`@}n)j6o@X-<l*hWy~ z9eD`}#idE0>6fHb(6kh2E;u7U1@64^%$yw1i3T7;keeGT8H=tmFfjOOa^B+1%qvbU zDv8g}181&V9I#jfxA%)cJJ=w33fw#fwf1ju#e;(^J}<RglO3D`5%tq8Hi&s(^KY?$ zM}AmAq!A=P!W+@x?!sD7egtJv1|AkhA<*CrXh?xkfQf~PhmngBf~)wDO3uWTlw@#i z1I?A7t^kM+&Xg65pu=uJ!wH}vfE1=yX3&z^Oom#vOom$abcR}v62@kRT29a+=@OQO zjI~@fj1w4(N@^Gvu!0t`)pFNx*MKsjN1<K~=K{7G?i$vGOvPb^dNu3|*lW16I2JP2 z^3?Evmd;IJECOvw<wO@R?yKRc;m&3+`ccDD^rMEMmKU@}Gn=DmA4Ff#x)M;~%?%p* z$P*~xf)0Z4fN9<urYznX?i$`2<{Fk1mR=SXhFYE)u+26MQ2jq@xIlKMFfL@O<tyQ< z;jZBWcMdof@YnEwvOmQB35-Q5HC#2^k_@%{B?2I^W~K##HT(-1n;2_&76{dFX9+I^ zEsJG@hLb=I;{uTy0k8=I;A%y%hO0(Ul3{^p4R@9pSe!dcxQ4Sv(1u|GW1&Y1YYkfs zw+%y~UJVCmOIhMM76u0Jv}$5b4oV}cSOK)C6Vh?kC`tt#43Sxunp3F>?kj-%D4^OI zH26}CQ~<$hZHPEx@=KvOwXifbFF6%dI3y$>tu6wUJdg$|q$6Jj-4p=I^_gkl6U{(# zqB^inFl;IfX{$e|4*=Rio0pslI$A9ao|izU#la?3F-ky8A1A{0RfA{vK_{~1K@JQ7 zxdmL*g4O^bSH-Y`0;vcB`2xHcJ|`!&C;{9xf;$23Fjywf%qz>!h7}IrB?qAH2=wqV zaIpm%VgPv~DHT*ufVONQjVM41Or#CO$d0oHmHE)21IW$@g+zsf1mqQ3pujJJy9(Ct zK`M7cQ42p%{}_DkL1tb$q#)E$0QbE>>qXFdW(uhlpv{Px`G^saOhnXx#*~o!3R!6h z-qQveO$Qae;87p&j4rr@1_^;jhmuRc6DbNwrI5wPpvVD9mKTBgv(Wylo`Qlus7DIw zUx4EPv?T-)Eue}77Av4og2o3tBw+DUlCO}T1Yf%YvmR;(C@F(1M)C%@R}1cKCYB%? zOPM7|A({Z*4pa;ptOA|B2wl<uG6y07YE&hqf(|)^9N7qJj}@mP_kyA8NJ0LF4NgJM z>;oNN0~@9S8-}7wAvdv7AtygSTLC<In~+-x8eX=B`x&CcRzWGZG9JuUO3+b&GzlTc z?0}cEf&vs&J!R&Vq!twvrGhr3gI5a`loqAtAhJt-0jOD#n1k#DQ0B}lE=f&H0iRm~ zK5nNZA7mPMV!0$A)WAtC0v%tN2qIF85n+fF$dI&BQdEjKBL}%#UIdzJf{nooLu+m1 zgd3tMev1V(HFAq9J}9*id^kt(EpEg-Pw_2oXj2Ka{NfgKacape=7RhJ&=OhjX@Bvc zgCvXK<4)j)EqFW`TpxpHj&5-!r52aOgS**9pnYdWpn4cQLQn+WL@WUsPi6xLbnz_^ zotl>du3&HRK!-@cYYH@lz_s-)9^?SH#hjW~25ttFfX)plDpCgZ?{q*WauyWjC#Mz{ zr>5Lu0lDB7=)@0LioC^Dlv)Uh++y$sTgc94@F)dnd>g!x?iMfX;D-`W0=XrSms$>D zz>E7^{AeQR%>-^n28Pq1W&)^R#UL#NS`f_0!o<eH#l*(M#mK?L#Kgl0!dy&zj3SII z;PtOOte|mn7DgrpCI%)(rhft~9N@+T7b6!F2crP97$X-mXy*=S9-~SKsd)h%&qrzZ zgEk9*I@I7M1{b`EQOjDx3hLl9GQb)b(2Cv!c2-3#M-4{}qd7w@M;-@gG*6tNmIKs( zO$V*E<t$++VXfiJVgs$J1)UdO!|K8iI}Ow%so|0Y_4qnK%@NSHk95Xbo+_al&IKGb zJT)9O%nO-odBYj<oLCr2IJ3EmPB1dm@-Z@0snqa6D&!iLqIKa6kqnE33e)nqz$^|% zhQg?D22+L<##+8Qz6gd$hQhQ62Dlq|o0-6FU|+yh!o7f}hIb)&_#dRJFs(4EgrSDL znX#6=h8^PL8ul8tG{|UVF&k_&GA9QzHkMcd&Vk6a2e>PlP>@rao|zY)npcKY$-7o0 z<`(3D%BaNjR4Xe)2NP5zp_riqJuXDS7B+zcIuA%M4Rq=c#OPuTcmV{`4Z=t@y9PuN z=l~i}hD8i-gVdq<C?U1&I1$?VQXca5o1wR*zyyZeoE3w8jQICov^O2et8oZgfg! zaY0UECDb=4h7}ZL=9OruJA;q70@c)@jdAKQk82_V2h{sU4o~75G|)x><P=}TNG`Y+ zgc8&cg`jaU=v)M}6j3i$P=bUCVu_!ULO!C_hb=_NOfA*}ANQL8S~(1ka&XNFt0(cd zz~Es58)XNL2Ex{v=Tzz<+Eys822}}Z3J4oP6?0xbqGCr_o}ULET}}p1b*CsKmX_q_ zCYFE>I?kz701rQc>d=G)M9Gkl06vEd?lQ;;xF8!KeJh3hJa`2M>U5P<7C?>5O-%%? zDNHO;0G&z<n*4$tjEvNnL7sR~fHoi$ijx!bK*t4xMrcqyibx0vsO^wMh2oOLyp+Tu z(80uzgJ6o_T}aUQJb2nH3A9fOQ5`0L7a!%6A$K8Ru?L;2Pf$q9NlaJB%uC4xZI38c zD9=a*HHkn+#z9(z@Q_I?0i8}#0&03dOH+mXoD{^7bKvDpiO|di9qb1mN>>a&UJh;+ zC;;+HK$SYws1&5e54gPojfW!WWJIEZk#0$8K~Acbf(E#o51Sn+P5=!vfQ}oA2OV&h zpb3gC<UuGj)u5P71h2S&waidrKmpRa%*<0j&V_JygIk)QF)r|l%An#<M<EeBMFQGU zrT}WMf*U}n1qCA4LApx_<MP3)4Rhc}VZ$obWN<!HNC2Os1o0Te;h?q#WT~e@Zel?} zW*%Y`yfhC~sDRuAivv`jfm%+Wp&Dp=8**|7sI!%l3La<x4Ise|{Q#AmV7nns2cP*@ zl$xTa5L#TCm;>7m2usiC9R}FB4d@*Qw6;HTj|?6peww^RDxfwBOL2Zt2~vA$I%r%L zG$H_L|L`RiBeyq-K+Os8IZfd6MvK%zsx?5Py!?=+5f`L*1C>~}IACR0ks-(?jx=ay zxWx}u1T7Uo>s;U|>lQCca26SWv~m?^B&Ot-gDMEnN)iUhcnN4$2ekLLI6tQ>HMJP~ zVYJBAn>sTCLow(~R|XXhCJrVRMiwRx@GvF^6Bm;J69*Fy6X=K$ArPC9g^7z<hFO47 zfSH4dgOLMuauV58j3H>yFf?fMVKL}H8PItQC5)gkm4%F;A!zWj4CWe!1)!mKMn;B0 zA@DK_#>9P$3=FQ|Bi<m10VNoarihT+o(YhdcgSIWsVPXs8mcPzx>x8{AyC&jQ9+|1 zzqmLvDW_654?Iz+2_G1MClgQ^m71TX176dSnFc<Y8dS8SIu0}!1nq|*PBa0Xu?aof z29(SpC5!@iY6g<WkVhdf%>)+#kbDd(3X>4UEvx|zUPq8tnv({uFEUb*dpE__;3}^u zH7B(U)DuH<FVf(7W?phmX-aB}4yby`gO;b23gE&A+NFmz%fP4AgR3!E0}3?Ei5Pv< zWQJr9(9#xg?tzZ47lDqsxWxwX3?%7-hw;D!X!H)e;;0&wIKk79oP10ij66(e4Quc@ zF(?y2pmYYBg#<UO!Lw(KpjrKFwjw^zVl)sNv?>KW^2AiE1QBy#h~)vD0S(&a%*arv z1`^d|s%rKGkA5g5fU0BA>N3b~D~xd&L=pqdO@eo?!-pT>tJyRmCqRIr9b_D65CLQm zOf`6V5j23VP@bBTg9txAO{OByfhOSI88qx}aezz!Ip`J#Oh2|Dyu}G0$n6FNBxpS( z0~=^NBo8C#1S$^HMG|nuxK|c{R^fw!5FB7kp#BG_g<r^qm~LbQyB0Rb4DPtOg8F{o zcm)&S$dzYgV3-MV6DYnI7`Yfxrm_%Y!6@YjXwL$u6b8pFY>`6>Lka`vuwc-H3Fu63 z@N@{%LeK;X3rsGJ1$xk#CM%=^44&;V1(nm_5omA#V>u89e4z7OkTaq4ZVVg@9E?2w z(AH!iPWDC#IgnF9-UB-qw8*rEF@^<n*mx~VEo%)E%yFQ#l{L(uK2QxqJW~w|l*L@b zill-C5yDU}fL#yv2iyyqY>@hfJvBZ%J}EvK;#Wmb@Wa)hcZESE|6;fg!7FD#i@?x) zh&T^ilhF@^nEgWBG+F%o-260|{ro~S8ACM1&^Ky;&oyKQRaM;J<5nQesv=Nt7rX)u zyl$sR2;@A_k^}I}FLV<JNDQ>}2U2!`4gmre2Sx562~gSr$4n8(@kky*Brnj?SWQp| zAEW}b1elALiIGc~iIGc`gP((iLx78qgM&kmOAZwC4F9=e!6X0wxkA7)EF5g0*;23= zi~yA>pg1fB`3hxc2;_i8#wZr>6d7BQDkB3!l^wXY@J%d$?9)Q3c|Zj>sAPu>tU#-^ z)ZD~8(5b_qfjCeJ;fGPCfhGw-ZYT!rZ*B)&+QOK^1X^1GS{0DOypXAesX!`)MI5}= zqL#UXA&ZfRp}?So2~?(mPSLE|4R#X9bXQP?16q%p3%MHtyl$x|wNN239kjHl1mb3} z1HtZtYfM3QCtMV|Bf%{(rx?6}9ppQZX&K;QH;5hJamTd8%p61y5qg$uW`3R?@=$0I zxYZ3_m4_$=QHlZ3x+qX^fEP%B&P1qTh!v}4>|g+`cuHZYVa#M)$OxXLW`Y#tw^+e` z@mtAsiw)wOTO3f^Q#F~2K!+F>fetZR$p{&4LZl-xMh1o*pxgn<$1F@t|EshRBXW8W zvx>okZMfDuK+eEthK$AefHDJfVqPV*Act579v0&UJ24*QtYS!#_5-DLaA65LWo`q= z72ukXgNsS%9~(=RI1ZP9vL`Fnya+M}Vm8=^U;=CbD9Nq{Spf1T2O|p$I1%H{1E5PU zQ1Sp%DoZm%Dr*{K3oBz38*~dR;+Rn>@N#*^C{E~dc`oR3dF~YH6oC}M7RD%^6qyvE z6yX-eDBcv26wwxjD83Z26!8{@D1OMbb5R1|93~5Hm{*wwr-BYh0rxqI^AZb+GxEWE z?@(Jc`JnrRioq(uiv|3WL0*JqY7iTgslX+)0s{kNjXOgPQw>8rV+}L7JZ4zH3_7<0 zbWb1XB8WsqW(I~}n0=_0A%+mptwppD95I%vLVA7qc?t;-cY@C?hBjhB%SRQUi%e4y zM@J(v2C5!NuNl;}O@udFL0wIhkpR$&2GC_io@t<C`rx@3F_3|(x)?mtkJLp@fE_*o znIXtifRChu=BM-0(VNAf{Z=4HfQki}R=BO;7A;H^$B{7bNjlhx7CDeRW57c*aFYnF zC4ikM0J97<4ORfY`UdI`xJl^#$xF<I_D{jLEfpahgPWhG0KGm(BULY5Paz>e-B`~| zJt098F>R4qq5vJN2M_pxf&u0hX#W5ya3k|e!P6i}r|g5y#6${njl{eZ{rn<@1gPUR zLFofFF$QX?SLT<(y;7c8oB@&tZNb+{%*oM09URaBr2vI2(DD2w8TrMa%eX*y9f9vh z01ql4_sOC61Sr4)5Y%6SdLHf%Q0)T3ewv^wc|f@%H?aV6`VAYzy|-9EBT&%t?-n;w zk_Rg*3IdgS;F1YUfQu(k8{!bCcmkJy!r)CAj8!5?!?1|`7@*1lmc2n)8-&5x8&q$C zny#RE_5!&Y#w<nz3nZQmKHDQ7RAVw`F@su>&EUc4s;8c4yXC>7Itk$2n+1?zY0zL= z31}HMQXYk#?g9!8(7-AvEMVhCkOU2$c>ztHAwm??XM_Y3?4V_MOd_=)ilI3Sv=JA2 zrBY_G0+Q9>BRHYskl^DBz*RHcD4dH$L17QN^9pnx7wBRN@S!T;XhCkz-{LH&jE7`J zq{;*oQMcHW6Z1fA_gkRI0!?o)aBwkl{AXg~`pd*xC5#+lP?abRW>DP0;|p{)7bspp zF(nBa830cnKq~YqrJ&T@{IXQol5F_sDpDYTR(1t~5))|g7U+l>kcJ{bkO(+sfeDbS zi$Evhy#TowWIqE_l@PK!i@+A4I1^NBfZ8A6WCdzqg0?eca}<H^cB*BpVT3Ht1l`Kh z3}W-uf`&GjYnVZu&O*6DA&4guQy3W-f<c$8p%&tx#Dtt$Km{<kmIDu)qsBDhdIdDz z4qjOUDh5Dh4^j{fKsBPE;160$i|Rknaas9AkU};eo=icGg_Sk>sJQ}Epn|UqOe|3V z?b-q#DxL_M&xMTrfT~S|=RoVA!KZM6c7+uowiQ4Y`W1zMl7tk90QXkG=>klE6Gt#3 z1H&6o;sEymIUrlXco?e$kP`{0NJB{?pi~S>Cg3CjPRZcgia@(vz}J6)m+A#GXfh^( z_VPd*(239yYu%E3UC`)uaS42^7&W{=DFk%f6lm!fcn%h6>MOK3wOAoJu{ag9<{~w( zII|=Zluw|eiV)S1YjBD(i$U`XiN(dG;GhSMMj)5>P%UU@g@95cXxm6C=<-C!HV5@$ z$a;t5{JgT%BG7z0Xt*~g2Og6-ptJBmZURjflw^RkW~Wvn)q0>S`oM~cz&RE)Zw)JP z^gvB!0c8KjXQx)87d+hH>$N~FoA~(Opx6QhJ_82_W0g2^JRzyV9bKR`vY-J<P^+)V zqXxX-y2t~zfhmgxyvh=M&sH{jkw*;^=(s0P&Ia!kV_(1lIw&fIDTTQgaR8JLXeSf2 z+Q>`;&2J<mKnp<d3cJh_aQ`S1bS5k0@MPF1TT*Ij9%$Y$6|w&A7U*2WjO5&ckd;i} zRdk@U<3KfVD(J9;a8P)0gZ3_igfjE<AVG>)atEH}2OU6sivx6mcw$L@(Jd~}F^lP` zC7^2)q3g53c>#15D_T&4$MD!#7#NDd8G>1eQGgLNUR=eG9MFj=DX8mQL1Q7H+8dl9 zKs)uS_-a5WCo(Q%tYw96b!5!uD$;>&iDW5OX#&kFvqFy-WK99>U$LrT4F;XI$e6_h zp3N2k&6n3OX0sK!)UYx!Ffs%)6uQ)aTkN1U+~D^54kqYaGIAPH0IfVg9Y2Pw;w~)) z7qy_)IMM_xQvL!@5P^o@AiGf@8_P6`QVT&_$RHyeu*PlzvI(H#w>TBtKSmrzUtF3A zX+WU34Row5bhj6HSQoTr46@4$v_J;DnhBn@ux>X=1D)king=%>ni62{f@W;+fHTA% zxN#8sV2j4!i*prFyrQS6px~LNkf;E+0NMF)voedpi&#P9@Trh(KA;6+8Tl#D<N6^1 z2)a3{xCEtH3bh_?5K@f=9*zJn@Pp_^U#JI~J1a^p1a12PcW>ZMgd2wJR8R<jdtabc zu_+2@)1HV9Q3>?kO3;K^X%48D2{#Uu5@4MJBzJ<B5knScfzpN!WWo!y;0`I7K&P<a zW<f?ikeAegYA*25SUzZ|64H=?m<k>0gA5>mwi<({lOW4%z*!eugMkTfHKxtTz`zg6 zwV)AP20qX=k9>?Qj7;DIPg%gbKe?Ey#E|naD2qUr2cZl`fvPr8LkXOdL0f&mD^xg( z1R$fq!LW0j?=dnk_(PVap{-p8H+(^XhP)OtK>^Z(D$7h%NXah;&nF_SO+YmXbUAKf z2_*lf!e>`NOFFTc0_rD%X3G(?CEy!m5)zPn3)(6Py7mQ{P@${HAzdR#ydVay5)cUm z6uGcvN1C7=sj#)!s59u0T}qjG(A8?7st_LQAURM%gxCU}P64k#15XuY7Q^xks8CSI z04<IKcbUQ0v=u89mnMOSR#OqK1J%9I*>cEqFnF73ej0S0ASm3?;v*?F4YU;$G!qGu z1<fnKT?ZX|K=>FmFp*vg3To(SQP7I|7VItzkQ5{_f>R%u04G7vQODY#BnYmXIXM_n z8`_X`jWN&%N^YQmsAABqnxOswXm}jFbC|J)p@vbCp@^#nGS~+`249n@$`-OA1=M^j z&C4t-h3`E9w^G0>1we9$!5ZWup%^sZ0&awWhRs((_iKW39(p|}&B(xD4)PADYGVLz z`M~Isf_HqNv@}3|hxZ*o2lIh;s+WLH*%kv&e}X$Xc{X5C(5Z<ou-*jdNJ(&=2kA|~ zCQ1zoRr2^sSU`Jp(ip`Unn4S(L06|RRT+8a>4Hy`1vMWs!ENJwP@#?NTTmAssnn{H zc1{GB*(oUsszsn03rSLw6>?T$HmE29kIjSjrx$^4YlijaS-}Yoe2gckX<CG(AOf8+ zkO|t28*d8=JMgv{Cdi_E&}upXCeX%Rq<jhL*n^eh4n-~KZr60s@yCoQOufvYW_Ar@ z8fb$#Xj+e{hS{8<mZ?wzJgLlFWddrACFY^@nDdKJs~}J=LQw%q7oY>H!2=X48H+$m z0-*jbN(HsKnDbK0!4van3FQ`hJg7??AMXkBFsKd0zyvzpn~M>(Lkv{~8og!ma|2O= zSO;;z7xr-kM8^9%die(xfyPFPK#e|dH?|1WT`7tNb!Na(1S<B6KpC$Hlw6C_K@wRY z0-P-o1UQ3&;&VT!@eImp9E>c?ObjfHO#iqfIQTeNxcE7^IY3Rm|6DR$JREEsJfK_& z8)*U4py@gA6bUF+QHO^?XJZ!?F)%PBf_hty&`Y`?_c?;b)4+q@$t9rT2Xt%#<VJZ& z=N2@0l9ms;l@cslQUV@D0iB*zl&XNp#NZ(SaH*S@oC?k4puRF}i8pi+AoSELc=-l0 z9kdJxe1kny64J;3x3fU^%pjWraT540KkzUuiaFp~1-4kN5;~~@@e1g&PtbXLpta^; zJ^4kM>6v+nIq~3?E?^<pND+KhI;7D6S|tN6^1-|NQ;<voWl+$R3RpLuI~qXY9tui) zplX|g5hLC}MJzbpTF}qHVTxh_pMnEA@C<wgP81vDb{IUT-+<1(VL&?jMjkwv<s< z3LVaG2Az5%ks{f`5G9Zzl_Cv3^F{%D`VHvJ8_=MeVo?_8Y#VjRA!MLtS3Wp`V95kD zyq*WTJSaIkF+H`|52e-sB}0%;!3`8piUl881HMKZG8w~oiw7KoDe<7w$*|sU1<qEP zurPz&=LT{E#7RY<aw!jV4>(5K2o#!NtN9>zC@_Lgb!CE_ky<4OKgtR;EDmZ4!xKnm zaf!Vq6XdX2&?!gIowB#Ypohc7=NF-@I>K_kRZ%<x149nn*-TaPplj%moefLt@!)j> z#U#332jy%=m|39S2G}@I28E}8xL?4BHRYlfI^gmKBvAlzETjhIU}XAVC5O|&kaMj- zp$jf-pqGh(>QiuNgUTFGtqBfo2KX7eCh)Np@bTK<2nSze0G<s3=TSs22j(GIEP#)m z!sc?&ba5HT<&ff>1GFamf0ZImw}Y$&#WzN96LP*K-1(r>Kfqm6kXaa~+u`;D_~a~X zeux28n;3q;onWA6)R7tis!$(bx)3xN1X@}Ox{((a;=e$R3v8~9W?*1wBF(j+)8)`z z3*v*53)akO2;OK0Y8-;r2&Y0%(F5^8k%yF7;fWmPZtz)T*xU`0=m5DJDUB=OOedfv z<SCg&D8(75wFplppvoV#qkSRxh7RyPZl(gU5@zsq4lD~;Q<xSqE?`^8P|IAxUc;Ql zk;YKM+04)fI!T|UhM|Tfo~wqbh9#c6hOvevo~MSTi4k(#PL-)UXqXVxC;}}yRLD&& z2HyY;8fh#j%1_Ek%`Jx4JbCHhBNjD^HNjh`6G2Cjg6kkq4F<xHRwT5rhN%VBR;lUf z3gDs_Qjdbvf-tBOMpW_O8WGVnD9^~uNmVE*f-JMkhq(e~EQ-a@-U@V93T_*;?gv=~ z!PWUWDe<Wl$+ej7K-Y^{lMd>nK_~8VDnX0f6iV_jO$K`p+%`ZnJRr3wBe9@Zp)$X; z2sC$;Uz%3}zKRJv2M69k20j}KBnR5g3-(JUXzB^NwA&uVtDuQO(A+_CMq*w%ct92s zvPkYt0=p92r~;+ofXEOJf4_LpeYnn!&K|BP#vwKI70MEeGQmYnNj~Ht4N%l2=0P0> zo*aZ{0K_OeC}cqkXh9?Gpk-;v;HAU2_@T)l6M9i{Q99^UD-O^djO9g%1-IBzQd3g% zK$lH|W{(TNjl`lwpkiP#i1-Fl&4mcmTYRW3Cr#)<3hdArEh+)E#aT*n3vzBTrxq2V zH^v2!oC8j1eW1(<syrB&c^G+^_ymMNN4_z#F;-z@Q*^Chvr&q4P+kR93E(0IG|CC; zuoiHEHwZI>u42hzsR5swC(e+@RKqlnsgI$SrHZG7wT1<>jxL-bPlkn|ge{w^$Ok$O z$^hD{!^i*~1qI#H1D-`n0dEtoVX<MT0bMb`oVbn&bZZvq1Q><HB=A+ZsS2=7*P!t< za0r5{y9CgxiOe#{P0o-(&je8MhP+7@lpzZe!I!hcV_G2}bRByts4-TW15Q-n{g2Q= zECuLvBWMB|G~u0(G$H}oa{?RB2DcMHQ}3v*KrCDUrBrZ38dT4L+y%84o?27$l5_Hl zK}`)%{?>r({{sz-f~-k`<OC#r3JCR8nFSz26_HkALKeD$3<Dk8q@<Uco~{HcVL%fn zpmj-*(_BF7{4>))oAtprSD@@Ofx8QN<t{j6z>X*Y-T0!QRGOEPTBHP?>`hHiS4Whk z`FZeYLYfZ&4>Cgslc7Na-cOU1ssI{rOa+~D1d0eqs~CEoa1m%oG_eG{En1-jF^>ir zSb;Rsz!xZkE=h)^4amqR*l<u;4{|fenAA!I(EiCh&~jq9525KFyht^(L;+-0HdwI& z=$x1$@Tm_F13*SW*HNb`KrcpD$Vn_oEkcwRRV=zCxdq@FM3bwi0MtGN6%F7^alq#{ z7J(*WK&K5>f;Kb8W8C!3=?d%H6;*;Vy-a+0Vo_dvX&&M>aq#`(;KH~l2Xtm0w6Neo zPJFjm!EV0A1N9zQ`7Q2}#3In4zMz-{=W_@FYPa43-)j%fP++yIKqUz1$N&aj9!3d9 zCh!_cJ|-^Ep-C9cS&*3sttb^esBHqT=pjQx;57<NMRK5_p%R8H@bNVZ8H?pWm39f} z&>Dt?jF6)@OIWhl92ko2Y8Xpcve+FMih@#DY8b>ow>)ty;H+UP;Q}9N13FueH4(J3 z3?8eVkZcWIq5?|%(2gpkg`8QekYAQsRFs*L0-A}+OM%vWp!5Vfl_9wlY27#?RTY;e zXMh@b`X#vq;EnD11*v((3Z(@gefb5TD;rDmGD{%6WKi8wQj(aQoeCOsg1Zd5GZv%+ z8aJS`??J5r@Y<BbJcZJ{#L|+C{37s;(glf?piL-x3ZM(g!C9@eI2EyrEE6>N1-|nh z)UO7e7l2$sf~Pf+Hv$ExrYgWUqNge-8=ISgi%;;Wc`2zSprwq6#C(ehRE3p;wlWp@ zRh?D^UsnaH&cXF)Ql$d;vJQRl_!#K+zZ8YC(ww~1BCvExzCt3{`=AX_dEn(%;Qjpy zpu_^}lYslGpp>eo;GCaVoC(_eln6P)uNciU8lV+J;2_c~PA!4#rbXlg(3l^nkVS6} zpbUq>ngE)5n%s~a2|ktRGN?9Yhqe`Nu@sjimfT_oZ6eN3Nxj7$9Pb(KAL0RFxCaH? z;s9mH%)IpCTPz^fE$-0b)FM#qWag!7GJ`YuEtXu6Ugq55bVv>Zk4b^DSy2rm1H)l> z-r|yC0bQ9a!o<YF^oQv`6MK~odNUed{zs{%LAeZs!PT@LxSI~mX<8-Fl_sFP=ERV~ z>;P&?gK`=pXhM;Z0dgo*q6rfNLqKW~=yo&k#w*x51;h%rg8bqV=uT%)^^%{akO11k z28u!S*~Con&bOje1<*BQ8L6PF0u_qj2Zh3KPfy9uOSOg^N(NssRIHGapQn!4jR<Z= zCgxR^WPmIM_qh^tKzX4OwwW^}AE};!g&?eID=LO5164B$C7>lu&}zuv&nHqLF|8!E zNTIki8MJ{Lw2`S2o>`$e6l858czr<;c#k){mI6;_q*g+fKKc2FfGaZ4$p-m(a5YGi z7#WErkfj`u2})2C29#()^*7{*dn8{V0v6On2PuO#(-ky8L7rcfSX8MA9{h*4CBS_L zNX?f3G7%Cfpav`mL(g{v34+`QYv2^6f<!<SBIt|@ur1)N?a)90hZS_%2p%X!;I+(1 z$06KeEyyp<tjGj)6*K?ygHFp~Mao~TpjxmERGG0RXXNImKnIv_ae({*vi=qa%)LcD zAhqD!0wzFN<`y?ns=EuyI^bR>KNph-W0f>4vSA}wNNQ0A*Fj@vAPmkOpy@(TBesaI zgfWE?JiWjOS{4gliOZaL3A7kC6?_ze0=U%%sxLvsSWzk>R^fY3p=ktsW(#=dE@bx) zQdD}Tf%-=ZDf!?|5h4*n16Bb#RR!AX2sJD-Kd)G!1biVZ==wa+{2gMR59}If%?4k5 zSp<$0=%y=BzDxj>vrtu#yCgx2GV~M_G{QmWjlp9RbjE5T=!96<m2L^>WoQEEmZq}I zqWnD2EEv2ar2{F>L4|65DI$?$78;-_IMDPPXn8KE0s@cwLj4X}hm)TSo_R|I&*p#{ zS)keo?mk$pgfwjmi*v|{6wn|8hd*fQ5Z1N_9i9em-Deg<Dt%B?rYMvaAZ;cFZE!6D z?Pt!<gWe1b+3<_~9$P&H1yBbS)GP;8M&Qf=s^;Ks1tn;3#zgd2bwCHEfXb>oa2fz_ z&jY7`gal|4G9FeL7K0)Pxs98Wnv)8>w*=uyP*wpKt$CnQ610jUBm;U(X<oiUdTC-& zVqQrqsK=0qC_!;q1}g?&H8x~jAb3L^nvF=wS;H^CB-IMyoy1B=nnv{3q5440ad1Kf zMQ9>4aA7`$2N-N_0(3?%Qq}?&_~1oCP}4x0_Mnr{mHDL#Y2bT*K*0z%35O4nj^?d0 zg^b`p#}=R_!`!I@E<Qo0ZGy%mD`73h)D+N)OHeZ#d~qeXMGu=l1uwh<7gJyYR8|$G zGB7ZF1eH;sA$kU3&>7%N|5;e7lwoNWR!(7Q!?<A-SfD|FaDfG?*P-hxotPLH;J$W& zq!7>|H>iJ7kp}c2Nd>h07Aa5YKo_b&>NL>U9NaW;Zb=0P1bF2ZOjjkingMl+5=#`4 z;U_L6rJ_`t3XsHubS4bA!w0`f8gu|0II)0Z7gX3K=jTD{wB$-qU0nh>?q5ftI3H9+ zLAr==$3c2ypq<j-ejTFI2wg0k3X3vWjDo7oL<M-3gd2qLRcb|YPH8b{h!B*E6+qqZ z9Pqq4s38EZ+EG?2ARmx`dJY08C8nlWL$U;D-8o1A<Oie$@A*aWW9dLLpj||W6Pgkd z5=%fw{(<hwF3kfsYe8cUptKHK><;NE!uy@zS#Nxv10P=i%6!m-0jg3EO?y9ZyHpdh z65tkVT7FS7`jx#!prIaaR>XBu7&8GF1(+ry#8^f*O<}Clyx<NocybpsrvttLqzE+a zPy`ycF9HpRLoUDob$yE(K}`l8P;)#p8PZ+@x1Nh8f!YY5j0Scg*hVA*oDD$}ZK<Ga z2-^Mvx&@hqiG!Jgg@X+aWw<1n7`Y@lL^!0dP91`?9jKj9!T?&^3R?aM8j{Xp0WX3C z-3!c8)dNmb(5V1W+bMzAx)ZE1zX)^=d`@BssKKoZ-@pv&-yudl!QC@ZSF)f0tO?X! zN>NaP4Cv~*rl%JxL1Oim0D8S$#f_v&lkpaNVnG2&yC$@8)&dGg(5loTK~N8f4`eZ< zr2snk1t~}o#T#fWLlTrEz)diA9!9QzD7}49fdv{a1cx4EHevzj<UFPthJ~PBI&)RO zGh{t2sQ;T-l$2QlYRAI%szb6N>{t$zH60*_L&mio^C}gJO7p<8;h@u46LShO67x!P zQ;RZ__4O3scfdhf2hi?z3Z$`;2+QQ^y6TW%`^6U>=cpT%s9R;AYpEBj{fkjolj#;y zQR*$`;?g8+_wN;zfUbc71p=r&$-s&c0PwL=(4cXZPzeL*{!qwW^UaLVtEL&Vn6g;1 zxr$uiBciOJW2F}|)iQu?GzZO3gMtipg+>Z1=-9w2CvXxVJ_KP)Bte7F&~q({E`SE0 zT|vZ5Q2ftg1U1(=iZ+8pK;u2&8^?>}L0nMg0iRA;G#jLJ4rs865h4#x5?}(H-%1%6 z7<55F0<QL0n3#kZh0rg1M@btXn?O@OAWwrl3fkigT24{5k$B&!gG)AbaOFfeX%L$* z;?*Hr+CkMOC{Guq7K2ttf>x?Q?lu4~=>{!!gVuCa{KzRtH&(moBIuM1W<;PBMM6Rj zv>OvCTY*Eaih+T_5)^Vwpb20$jKl=0`N6pfwDAPAfEyHI;Hy-bt7_n31*$$li<3aZ zAh1XW<rvT$2WSi!)Di&kbyJIz6Tz1)<`?B6!c1LP9X)s;6>|yrtT*t2D`*Z<kB4TQ zB2dZ!d$mXglsd57R9RHbz`)=H_Z(_Y0r?k{TELzIUA0`r1G#$@e3^_H3quKL<+Kwc zLoFjCLzM(*Em%Agm}CZBEdxHQizyhinwqhW5p+sd9#aGZqytw4872-(%*jjvZ3qTU z%YcUM5)}em0~AaREKo*;Ap2ddq0J&txddOU0?uxrvu*RrKxTnL7rf~RGF|~XlMhme z__=Aa6xD(XQSRW%ypqHU@FlfH6G0Ui8|V(pynIcjTPz@V++xJ2XKNT37`#BC#0N?O zte~M*0q}H<6eCKD5R??)AqFm6#2}Ru_?B^|8Ya;B-_Y`fA&U`KzSJ@^GJt1em_Z#~ z=*ecxb<FTE165{BRX4$&g>Rz97gi8YL+iang{1ua9MH*4pmD<FMDQdEDC0oF71XK+ z=O55oRnVd%^!=Ve;Jba1f(_L0f$Gf!orVSudT93p+@j0`oq`7HiY9`4jHRHxAs`FY z3o1c38)xRFt1IN@r<CTTLL3UZkpooTfbRMOpCfpS%@@2yyvP?6LA;)j*oBJC1?5$i zqWPdS4bHHj?af6CKwNNn2PR}d#Um)fBS7&6iWCM8P`q(5ir`s^bO75*B&I0V6s9OP zP>Bz|auKp3i37SKi4(lRm?4S_y1|$my1|$Sd>a?&_ASV5Tzt^mxcE~<Q^de)kU)2G zf$rS`-N?ldB?P{Y3v}xi<UTGD@NHb6TelR!w{eL<Z{reAf!xL=kt&&@o}$sh(99Sm zm7<xV)xr=Z4bENKMLnQZOs*kCmEh6^78#(32G86;MuK5CdqUbT@QNOk0gVlez=u7h z78Rpj(FH0JKn)9UkpMbs2(<Jig)xPp8MJAc5j54ffCVhZl)~K1ybv^I!wNb=LX*X> zXagwwam0g1l;h)z_JGP@wxaEzh}sPzK!Fb#oMlhRECLmVx40px1U%mX>(uQ6sRhR| zm;gsKsKJ^CifB*{WB}d5BI;L~lM_&s51Ki{vuX;Y9_$%V&IT3UpyNCst9T%bwwP`) z$EW2LEn{S0fG&(G0?iE<VOs?SUbh2s1t^#p7^{>}+yENwfpxFJVF2<W%J?v7CI%k5 zp!@);e?fCFphdU~!ArRyj$*#Wl$n2v-Knx9wb;|Y2)ue_C6@FLT7*-I<RAsy4#Kg_ z2JRg2ihG6ypgRjd2iq`#!U(js4CWvf(3S8-D?p9_g;fzY=YZT<L9}x~>uA6M2`Y0L z7#Kio+|FS{4Ih^HjKpGub6{x)TdaZByj3H)N)jcIKs%aXv4&FCgPems^)P}ee@M76 zft_%RBQ-r8yet9c4)Cl7IQfDJP#V4^6c0)vuv`gF@^whgl1FhCrdkxofl?9(gOfI> zkq8<~E#?7{!H_5fZGZw@nFoqUM%XDe%th-#5x5aVtVK%kVCP~ROaa}A+X!+bs71{H zsuDr7kC-6{^A(CCLER8g!3=gJsL2j;UNIMF6r~1yhY<LXF3`jX(?Z5t<`U*CmLiQB z=3s^@o*HJznj>gk3R=04$H-92!pKl1Q^Uf-kj0+Dynq9eZOj>%7~<KR7{K)^LoG`k z3%p(htypLA1D8a<SW8RNbS<jHK|}u4wa_7!67aaBl|pr`CMQzZtN{fODDrPH2Sgfy z){-QHW|M?M^D;pUmsAi5Zef5n04Emb=Yf}&Ko^aG??QnTbgX5GIi;z$m{Ti~(VLy1 zn}$0;K?~Z(2?|>9B@c{j;N3Gk;B#NAPy-q{`Je<eMp6Ye;~=L|f$qlvC)JfqMWE9) zia^#DZ2<WXoHD@#D0vovE<K(Oau3Kf2F5DX^oVRX^wMpxI&$(Z8{{rgaMl4AyhZD< zxCgX~a~6_&q*3w*EXzWS!Uzp`IRZLW2bApcCBR7zl-L-u7-~>U6G+VO1~~#;z+np> z&~?yraXJT<{s}n;qm)H;$Sn@ot)&D42ekZe0g`KEu?G%lY!S5X4`)<CPPxfqD3Zb! zJn0N*1;-w|K?J%idojpSpwI`UXc5LLRENQX3Fa_R83s*444|R{RAhjQ3(%klsH-8) z0N&)z0NUhUtWv_5!j#37#sFHF2wHsD#0WZ~7$gU}6Cs5Kav9?S))ZDK8+2tTLl!$| zjupJ6lPQJGhM|Nbi*o^24eLV2qOKC|8rEjU1w0EGYS~J7YuIX7Q`noCYuQWqYS?R- zYM7dt85#2IK(}${@aGEDaxgNK2!a+>rEt`+ED%azS;$z!n#NMYQNwD(P{Lco0@cr1 z!dJry(+_SRarsqofR3arC@I#jvI$Nu$}A{RsD_9r7S)1>Wx;y}LFE%HoD>p4YEpC3 z^k5Z?Vo_}s6ED{-My_9syhTeut!I|hiqvG-vEQuVMIf5OMWB)!a&{zQ(Hl7LUj;R< zz{wn37r+~3MTbBVpg!&`7SI6vE%xO6+=9%U)S~?$TR1_TD6rv02S9x0oYcG`P@_td z3w$^j<f5T3pe7(2#8<btA#^;r)5Q<v!1}?r*owhz)mto}vJ_$_OaoX1Trz<PaPb5> zQF{d_ae?O58NgeEnLvf*f6(AQXru#lHx3UY2=X!UFtIT(F>o+2{pVojVXP8I%^jtA z@es#g6dRy?0#1IQU?^dLOiY5JZzYpol_g~Iq5wKQ51xC1>~sc=cZ0@xOY@MfJprv5 z0j)c!EJ$6+cuUwXzr+*PP)|((*BwQZLD>oHMKA&OC#YK95Ar7@6ET4nuM48MAJp<8 z-sMH7L6)2W5!kE)6?#X|tP@7H4zfTV6g04$3SxsW)}SI_A*cvBiDn^MTOM2C04gZp zg@YDoi8-jP$^_XTU!(>a-^*gIVN7GJVOqcf8Y-U0)W;Ca0KUqW$?q4Vz9#D}@py1Y zHnAiXKH&#$g+V6D!Ob7g(lAJ>hHO{A#R8hL#M&7EWubE*k3gD6pwkZ}7^?(O!!9ik zWjG1N7ofB8L8Av*pk^8~=q}iWjM;1jY9%ZS*g)e61!^Vi5Ekg{k75H*yD5dKmI)?W z6aZ6M98khh!vq>zDB;ZF0_~ekVFn#tn8G5?P{Iv5G7EIq6G*=%d!j!p((DytfChY| zCnQUP+eF2nWx4r9$hVQE<R>F7Imjp}DJZtm*Dp>jDJ>|;&(A5=0~H%38L41(nfdyu zdHSHWdBr9A1=;EFATQR-D9O!HPD(7!OxA@}<GP99r5}*-FwkNNJ3BiC(Au8V6a`y_ z^wg5H%!-oIqErp_qSR!NxH{sXa+p%kf*`$O@X$nBW==_Jk%l_t-cU5PWkm%Fwx~TN z90>zF9s_etSy6$8dRl(Ieo|tQUP(m>nyH{67!8oiQd1C40}oYUnxdztPohDftCvvB zf!L%6n*S-%Kv)P03$Q~ewg7Aj$d!6}`g(e#c$#Flf^116%??Pw!b2oHGcP5-9J<J$ z7<5@R==cf9^h0q;QDSC#Mu~1|0ca~Gc!M+YUU*oL6{*L79D*6UAw`MFsi4&p3L3fj z#U%<wsmZB%C6IMSIf=z3npSXk=;=YmyFh6s4Ak-mm-AK%p~c|qfAsV~<CpMt)Zoc^ z&}BRDfg5nn1I?O()*QoK3O63%RA;L}?^vgt#Jp_CY8XgFK>dT7$HB>r_^bpE3cvh3 zUC5jYvK4vx$QRDQf(x`09+5@Jj7~?`22p5~B1g4fl`Tav48FLfN*_Gq4_*%f-Xn^* zMhG+ptB|OWRthQt6+qLJiN&dUMdv{`|1#d<Dh4fa%}Fgw&C%pR)MdBW3KEM_GK;{~ z*)2}+`Y=$61KsLUaEmpwI5DaC7F%8kNDQ*Fq7&3e=mItFgj`Y!ic&!%$@zI`>nhnZ zA!D^gy&%=#b_<vQH(t&&GB8{L)rp{f1%sIg_>3-&zf7#4)4y4mMHo3)KxaZQF*5zF zQbDaLu~*F)?Ho`I3T}3&fR|T-M)OiYyWAx}tOZP<vvq<QN|;l?wIQhGrpfGgiv!eq zO-U?Ctg<E8hJ!TQiouhW`K2Wa>M*?;n(CS?MTbF+WbkO_Es+1uf(UHwD$odmJR9sZ z8*sA}TT?DQwM0_}+dMsFNC`B82<@DL>;;X27J&yLK?8q~VL{O7RuOnW2i)QZH}OGT zdC1H@sMiXa&j)qRAcx?BT9`$kc3%;wEe7dmP6hb`6njM=ha(MDAmSD@=9~_STO$Sr z2GG&Bpp%|im^fHCnBkC}gCEXj<q+p!1w%F_MlLUmDSl7`61+PYG<=1+t2>3cg&~S1 zg(Zcx1++t$Ef{nweJ^OtTMahi3tknN0zT|op)9kgq%<)HJfs6z#EFq?Kw~-JWCK}G zumF6<18C(sX!La<10&KdUS{y<I(Vb*End(e_@xE$1x2Z8nH5FLL7@Z=5ikKx@}M}; z1w}N-3I;|V(D{Ms=`d#^w)2AKUSaKLkWvr^y9jhIEog+ImNA8)7IOR(b5R)N6#F6v z$cQ^AS=TVcvx0eSpkv_{f{qepuK|s}a}<WvFxE1G<v2kqW0-0gYncnVz{#J<?-z%w zySuKZpPRoX7kIek7EgR;aXhF;3C{cQ9^fqwP-7RI=5B+03T_O8I*E|PSd^b%0xnFT zt4ARtT+I17DMg@LzL63QIAHEDGB6l|0tPhZ!N3d}*8<&h#K#DlSz}^kVXTsLMGh!% zI}#ewp!p(kP>KgdSCJ%$1scc!M@kXMU?j^BQ2|OJS|A%iT_;cq<zT@`b)fPCoa$UK zW`fXDT?%^(LlhgR>kpn4;!5FeVTj^L<xJs8;RVmiaHa4CGidS`^?_2R88phl?Plmc zJLm>$c=Zl0$3gRCpiVH3lnQbnI9))xprDm6pg2Vg#K5Bq(qYF|_<(Y_GbkWHd5nRv zO2j2KEwMDG1nR^hJ*-_w5^UxL#RxW=LB)z2lFecmHe>Hi!tDkP0)b~m7!i{XOyElG z7CW?Gh_%}cD#|>OESA8q7^)j%LI&Qe1f^5xz$rr(XxN+yRI>y#tYq@L#Z;7}$y@}A z5=eQ8a|+}q0|SE(k~@^q-2tjjV7;Dr=%frdnxKUPC?r6E08Rs-jxKn%jj@@jUkr4k z1?ZHTa0Vs@Q-(l>Acn;Z!C*Q9Qhq%KO`I}8oOuw$hIC>f8I=uU8B)#xXH!sl?+<b? zs6c|0U+7K-%|)PeV?jzmc?|4E(0TbOjG!*63q!12EfZ+5O$}2CQwl>fV>2^oSRZuY zaWfMmLm>yWMABrsB@hfA{c+38N%hGG?M%2O0ucdSIg1e0WC70~-V%n~^OuvE6rY<2 zx+p!hsPYy|No7H5(In6`BTEqnsNKQ?slCCc5kjsczr_U=O3r~Ee+@4$ZgIxLhHHXB z0RZmDGlA}86JV^8#0UhKT0c#0Y!!A9DAOTTtDuAcsZ2dVW$7Cb0k#@JfWseDcsPKp z2kjLF7h16Dl!Xa%A{&%az{QsZM)3tZQiFvdiWSQ_*_<g{Eeuhd;0a{zqApO8r3Why zpa+wH*RO+*2?X!*0F7vYmbHRTh)pdn!7@_}s?)$}0F)p=!wV~!{M;Z33|ryg#K6D+ zx(~Mqq^C;EHMgLo66ORwo1Dblq?ANEjH(-(CEyty+!le-bSfxJLBYkqSS5sN6*xVE zrJ#8Z#740OKJbm(4p4!Ufn*1ocVOfADES6t2MB}wUkna2*Z@1k9&9&7fZ7+?c<hM> zol_bgugQfqQG&}UP@xP-o}hq%wE95CLM%l~kD!zh2eJ=T*n!d`3lk4$<t8)ksuaBe zmkM5?39cepQ$cAFw3V3k7Ee@Wfp217W*R6lRmp+7a#fiH3b{}*g{0C<(A`^L36x|2 zD-%I<F(~=NYKVTFPKI{)odq2XpfzkR44~VJOPE0eVpvN`&?-olL{I>LZ36Yxoj^7# zfQ~N%FZ@j`s#GY>%+1V61nnCHZ5>dk$}E5sL5O_?aNXch@nRile+{$?5OmWgcux@M zcCTU`h2j#>L1<B#1)h0npo>*O3&o0|3u-|2gL;pkTgIRZQNjDG(lV1F!vXN|3<Zt+ zV!h(j0!{FW4p2J+)P7R{U04lw3n<fq#_bbJGLtfMKpP>!8}<q+3o1d4W#~W&Vw3_U zeS-1<s5%5+fB?BqDOL_tvM*prVE_%WE@bKeAA-4%F^viNB7~xI;5Cdakfn;?7Rpsn zdCZ=kS_0bOu@ZV20%)FjCF3pDDo_ImlKjAhAm}=TMo^*ymBB2mOn-S8IsR3tA}1I< zaO%Kv8v^J^aCYbx>|5+nnFXNQ;}!>~84IfN!MA2<GK1>}a79?83u?T8Q~f7Up$u}s zEmpAU<sc`3DqjXp9!4%!w%=^*RYI7K@Y7_+n%Tew{dbVRSwNKz#D8Fmzy!#mqW2&x zLDqnL3c3-2iIGbPEQ*o8Km`OSu@{57y2u@*RPccupu0Ju*r1&x_7rd@>6VCZYHmJg z*DA8Bt5m_s111GZ%b@UwXFTYjF6fe1NbZc!%}=S~gXhcKlFZyxlne=S8VG|6GRWB> zu!d?aV+k~gWU+v|GYr}6#d?q<^|DxNn6jBcXWlMg12t;FQ+w<+%%HU<AQd*?Ggu`V zvOrgKGggIzoejz#peBMsBHY2CX)$op2e0Ud98Lf~krPQ(4ro9cboFmy3i61bCMUQ- z2~G{SIP&s~Kxflu6oEF$-Qoc4ItBUn7Ax4>MWFaB`UQ$q4p@L7_kW81f+F-EhyX`2 zm;lH04@L%t$)K196{HL-phF<U7`Ye)n5raUF@YROdY~lZr^$geWvPMe=K>|^6!3+C zU<Va}Y`~hxeljvJ^n$DgHPS!_uJJGxfy6M97^px6C$U*rniHw4&7l4da|#Q%|AV$F zE|m+iF0Pp|iW|Bzjwh8DvNo=nF^UhmI*vaDvN}!xx;jn}x;joM1+qF$I0dpgP6WC- zP857z7eka7bak9KxWS@W)DLQ~D8aVyfG<bSFDd~SgjJaZkOgn4>FHP+De!a(s;0md z2YC9Q5p<CgQx<sMMVz6AAs*?jDfS{zR}#|O1da9FVux<*hol=w(N>iS9v8qlD6kw9 z0U*mEjq0e(0(e^|9$IOm<S9_$3sMfwQvskEF2)6rLKob)23;JG#gffbBm-(_)i5q# ztzpPwTgX^sRl``q4q`VmLN2TdW+>rE0SzQDWU-|&LC$UjH@uns!0o1Al8|lW;4x;< zc0EW|N>flR*5tg!Rs<SWEkO9R2owTEpw(GLpl#Ykj7$s+MMpphlFzZYIJF400u($Z z3SIkji!H4fWFk_^1m%ZYyz!tqG%qb5+&W(k3LQ|B7koSlBWMe@5a@`5|5cJGA%(05 zCAdII7d5!R>pH|iV<=3Z@trIt(1Idy25=BDm4JeashKf_Q5<@&*8(<>JgAph!kz-U za*QF12|c(#w<#AfF)=V`azOkI4uJ=t+zzkgz+nL%7b#)^sf6^oZgGIqM`B4v5$G5r z^uS<?2Or?E9TW=S@`0I)QHW6v5(1zq2a#653Q?+QP!kg5eQ-(vg&}D82;$`|W{`)# z3w|_NZt;PFJRVkT6+;RPM08?lZr%dbq@Wu6AjoB)B+0;3C5#*+&<H{4MuUnOb_NCp zu!BJRh(Hc1M(pebt-1j(@d6#8y^x`nC534LOAW&UR?y0gg^V>U*=$7tH7qWm>y}t+ zKx;NY>pIv$D>Oi3bcGgBF=o)hJ56T4DpPn58dQ;i%0&%L1@NXc(BaDY;IraEEg{gd z3CLX}dR3VP;8uzzM-g~%3p8?jO8`DA8DEkQ3ancqpw2;jYGQh75nQeqd}2ruCldq1 zEx~y3mWO1}4dIa4(p$Vx<q#8K2Ph*Jk#d0av4M?*^hwbY19(LDC@8!^BM_i<GoX=T z78Wi>4n`3$u2Mvf0hAF0nEz1{2q<5`6A0+gO;CJ*5A_14f6!Rr0#K#PSj!ALHVAS# zHfWb6C}n|Hl7MF<G+AzOg3OOE&a6tk#R*!-9}lh?S->P)ZZ?Pp-N*t;>&2i$8(2U} zi-bTv<^)L=mn7yEp!pZN5E5)$VqOZ^^h+S`gPKGPOl;5-PLRC}juaFPDCrN>WCLji zr@snD2Jl5o3m6tMWV01HfEN8OWT=50>@Edvaxm6FS2EXtj=N<7tr{wn0FR%t*06vw z5IDVo)(tU9GAv|_VX9@VWh>z*PAK7oED5RlRKvJ{tA-(qyM|!_PYu&T#)V9^>@^Gv zctNX%7BUre)Ubn=E|&16K*nWRYuFburZD$1#W2-!)N+<EE#R-=sA0$wSRe?|&B#!~ zv_Pna1GJ!_M7V~thP8$@jR`brQp31Fq=vJG9h4KQ_)0`UY>;?3LtX|8LkUxsST@%L z#v(t+HYTty#6h-AU<5a`pe~xgSfo(H&c+bQ0CpEsmP86mHWNrqi6rQ{bVde*$q02# z&;z2v8S)g6>?(rTRl~SI3N&^OJw%EfbQ_#sm7P*PXe9tBQ!0UHv_SmQyqwIuY$fo~ z3!r)jkxjvS-a-4rp}X*^IQ3MZSxl4h7Bgr9s|hreC4Gx6J~J;RwW5d*Q~`mDU&NA) zrJy2N0wlo=N_)KFL7pM5@xh@10scWDx7a=X!8H_kKO-djgEKQXXdE26&E^(Id~SAe zNosDvEmqJ0E2)rr4>ZejixqS-RB90@i9xnLf)d;<R`5Arx7ad^L74=y=#v}Nw*YOO zgsqAK7XzRY04#rt1vFt?Bo1<@7|5ZVMX8B7;6*66Sn^9t(r&Sp<brkxqGcJdpKpWm zh#zRkf{BMw0JKb$f#*LP3lEbBXwZs@33SCS1IK?B79K`6CMM7k?Ekn}L>Rdk`51Ya zm>Bt(gc$i4`Ixzwc)+WtxEOhugqZl4s$@}e8Z_+Tg&#^r<78l90AWZ*1GP~=t8f^y z7(v+!oKcu-S-?q<1=PMTRspqDN}xAcfEM6ovDL6-GZ#D6u!0ulWiuDKfmGBmWO0BF z6I#ev%T~fw!<fR<%+$|U%U;92fO{cBEeB|2FKD<kf}w`3h9etvk}GqSH@tTM-39|% zcL3VC0_qrpVgwwlpviP-41*hs;8k0o;tJG6ft%n~^aPZ~c#7aj2-5xmCom;YY=Jum zpd)F(1>7G{asyYSp!87$s=<rE1FoFlwQ$g46J$jZIPT#Q4(Vj@fE)lj3i1|X+AUtN zdtoBzkuS@{z#zoVz)%dXA6P^fLAR`e_PMYyftI@oF;<DAL}6xeJk-l5wF0O{0M*ps z$g=}SUKT?NLpDc|MLI(*V+!a>Avw?y*9#ayWm1t)4dVjv(j*WMR4x??f#;h*4QJ58 zY9>ETrYiotM9@Vr@j01E#h_I&Rl?wk4xW6#f|@Kv0-!(y&rs@u!VWY;sR?N*L8L$< z1L*$dWny4Z0{I)X%n)>!D`;#M)J_5&qKD#RP?d;gFN)VegBtL33mS2)0u{dCqL2l$ z%dG=aq-8RIt4Yua-(le4c5wdyv^u?pxkw4LMr#3E4RZ=Z3L|KJ)k4NvmKqlDJs}yO zlP@J17O>Yar!ayl4Mv7Sr9z_`<^>!J8PXX+vNjBbMukeyAY=p;#lZ}afqP9RKS+hk zd5aUY@fTdq-Qq)Ca!>>+*&yvqaN!5)g+Ll6;G0)8K?xXo4jFT1UP=)t?cQPqw;sVu z0aEiy&;wYCiGe{I6u>f|QiYL;k%JL*c?0O!bQW;aLx_=u33P5DcoZZ6zS#!sK8)5l zD1Cv`7O0~Is&zp{04NYaQ}fwu1#+P44?!bz*=&f}EOt=30Q(H&7+8`3H<`gX2i%_q z6CgK&M=@<cE(SGmKuMxX03{)0Bo?E%3)F&zy9>1A2Iel%a%WKc0Ok^=BCtz9jwoUU zxe071m;hV6n~{OR0c0`AM9`2jinZ7$wcwczG<R77-j=Zt)D(t}kEAdzWCAVEU&-VL zju=grBG4uAMPN68);~j>gv~Xe!DnYA*NC9F1~lx2chxtj903OeXcq=(t_yV)I>g=; zpnMAM>R?-)&(Flb;D+P^)Lt7TFG3o`81VrQ7UG=&9>&Jz3?3#122Uhs$e;uSyq5rR ziKYbB!4+`P1R5SG;sQlHXkZu;0-!cR(F#zF4o;xpg%{w365v__+zbH~%|)Pc3KDB* zb3mX#DgrqX9KT2eI7xwqG!}yDbkIIK@JKr&8)!KN4+j?$BNsCV=w@LK4s#9x4o(h1 z*fI-@AskS81P|eW2;@;h&?yNmD9b3YPiRA?v!ghnliBT{!}LKHy85P;B!bq=C}bq& zrR1a*fveAA@W}u<`FW`d0p5^B1(0PIkX2owpu>HwkPfefFJ!k>01eB+%+yfQ2UU*x zCHeX=W0at$3xW5S!cLx4C`ttnm4lDN0Xqh?Cme1lY-S2J@($|q!OVkfA%~pe2|9VJ zC>4B;WFqK@%*<lY7FozaUEuXr(BnN}6)<?{J_B|P3*-zRP^$v!tQ4f9H9@137%3bS zC*YD0)J}vH_@Dt8aJPIVBe-P7I*AQRdND|;Srj?U^l*+EfqHFV>p(dR)YXF)YDGq% z^o(sY%SJ{9hIk~4<WVgGRj05(2DhRxd<ZX7L7SIA>rt|q@<l+4nL#avEb!dDCTQge zEH*Tm(Hm6QoCRthBq2FV62)1doq8}=p*RRs7r<+G7f{0nbOk4Kkw6IpWE~i2>H;)= z2HN49!rIH+&j+fO7O;TMvqoxLLI)%m89;l`G}-)$jF}i1sx<uaL3iaq@&aUEIwI|Z z&Lk*H%*+9u-c+<1RAPd*S7<Wb;z-R)&Ic`?zQqRaCKPM36>S9-C96P+APq(k7u0IJ zB?38NFh4IIdR7K#Yc*_?8Qe0`0(BNRV7^B$NkEIfQbFMcG8eQrf`dtfQHYU?u?jT= zk>eF51VQa1c$6A3FfgPrE?@wi`3(vuaQj9tg&8zhkj0qBP{IT{`MZ{-gn0oAsJjeV zJf+FvR}3=Z{r<h+fT%L6E(UE}0p;^r)FX=uia^^Yaw-*4!29S@Ks#PSL)>&NG+B$b zf`SLJV+Fn>5w^9?925`&NWl~jI&Gw=9Hb4~ibOLe28KLP(15Zc0~2UW1+)UON)aV# zVGDnh00QM`P%;B&Gf;CBQk{cZIG`#VoU@B|fgFJ?U4vS?Wgtg@i~((}L$Mq=Rv=sJ z{BX?Xg31T<wSFKEg7@wrB??5d1yq^`fNTc2nS+sq8@fD?lY;|yO#)hUg}o*L_3(>2 zKs7`$69WURGzT4h0p5lUt|CCEC&LbS%1kZBQ86ehxPTU{<`;mHx&mnA9;wy<ElmRr zLMqrQAXOBJ;7d9D5_3~Q!+N?P1xoN99BAblsOhX=tB_x;2TF8$&^_iFFw+oAfMNMa z!B!z4u_OcL4-J?hIv@vu_wyq3fR4fek6a_!P+X9c3EJEQnwJGz2{IrrF*g-qr)IQ4 zEZmVGGZbtQ$G>Lg=Yj1^$t=<V1tO@f1KVK>QVC}1z{?(6n5&@`C8*|6RtU`lEiy|@ z0l64HHJzDSj24<8*Wn6H-Lljo-GWLGnOc$z3R^_5!t6v3DNvY#%+!I0c2<679@yJp zVRhJ&Lv>BmAVl-N9_V_Vcu?;b9&BL!*nAE0Fv@5IsJH>;C~&3(kAs7jLxKnY;u+x; zt|k+B(Ia>nEv$cW5LEPnRyHDK8gQEol*9T!`302OK|`@sqR1%(UI+WFWX0N+1nEaI z6Oj=?nWhS6Fb5-xFxlC!6EqX1086u=WP`|ipvZ%?$8eWkkP0%30aPi1C%%}$Efkg- z#w^w%gA&Fpwgv1pjG#TTS*+kyrW|=3U_L`UM-9UQPSA)SXwXKJsY=%w+^Pc2%)%Or z&?Zum0w`h?5<zp#kaZKOMW9j*JdK3tzJlkHK;tO4*q}>n!7&3~cnWUwgVuV&j!5Hx z8H5zT@JO2m3R`gX$IJ)Xrp_qF!~t1~3kxYk+!a}Z+C|{FK@eb*Kw&!>WD+R)K}~Y- z>VcJvw?yMXITCzB6zIZ%G*Az?2v1iN<dPajP$gjlySETDE*+Gbo>>e!>K1%wE1Gc$ zpu;>sCWE%AKyIS~ofrqI9g8a=Wtu`}Nop>%NKJqRM?7d59QdwzP#YD*0qrsYU*896 z$U=^h0iF1v<e3XP9~*RFyatMi-~tNT%-4i8i?KTp)Z77Yd;zt0z^le|6hMclr>20; zQA;ez0GkAIBzWW(<Q|wS!OLP2^O93_6e=@Qb5e>G5)$C&U}xs%B_zOA6e~bB!a`38 z1s_%lDiy%K*HcgconV@fP=K<h3>0qh(5oOoNBHFzL5>kh1ns%h^DD9eP0cag;)OW} z9B8+MvBWBR>YBj7z_1jQCO}0E13OB_0wog=2A4pfJrAH52QNQj1mDul1Zp#ZhCON+ zn?cKt7_0Okmk1);3tKS^z5oMsO=SYev+<x%OweR50+n(_J3s}NEyxcnw>aU_w^%@P zUPacRHW3>r1X9uOr2yYby&mLxP~U)o33Q__N*M}jH-n@=#ZmDwP}`Xyive_C+(O18 z0nprg2~!PdK^1ci^8)4+=7o$!Mxar!8payt6qa7_BA^<kA}f%}8s-ITDXa@Y!-zGt zEG6uqZPG;z(9PD2HK5JetR>tfJPUYhSV7ySo0)3aYS>&DV!1#gz2N0UMTIUkEDQJ+ zf?NQa+jc?I%>>ik%vj4&!&<`;&tJl_KmatlR>QH78El3N$Ss=eRSw{^=$4rWt{cHi zuR*KLKy^*AwL(FDadBo+4(QzIoRZ9foK%Ip)MC&T)1amZWO-B-i(Yv~4x|^blCcQX z@`TKvbLoMi58MFJ6a>$VgPQv(#h{f|MW7-CviUk2v=^EeR1U%`ILKBE&<&<Y-62qE zcS`^ieV{e@#qpVW;F(BH&`c{h!`|YCGgFJeCz*jOvs)0eVQ1rOa)J{=kprl3a|96} z7vEwpE=>X@B`^b&a*Dv0FN3a71Pg&`c=ROi&cwj54U}j=D~}jhc$gsruL6uLOrXXy zXp|6gIWr$<MuCxyu?VCCC0&71Exca}$|9gDqsS2CEKr%N$&Bt;kSN3*ppy6&4>&yX z^1%m=UjexVoc$P!{FoRRP{wva;-LNuI1hrlqoCv2S{Oj<kU(pSKz+VmP~Kxr^nsn* z3c8ahPa#nOG*AXAB0*^a)cz=joy-ba@|O!LcvDh~lT-6R{WyjEqLfs~ssBlp3h)!& zN^_GymrsDx8fd>6*cb&{1@)xFB6S@F(1uYE1w97RNY7l)&;V3RqX`;;#o(sICsoEn zt%yfBK?7_!q&*d_PMnblCx9FTX^Nt_GZ?;oSJzO_NY6OQ5bP8k1$A^8usBIh#A*T- zlc9D}<~q=^;}Ew~=0=1$gj|Y}3_%GVlnjFz7#NC;z?;*+OX48&$Drg0>Mk=ZU<GYX zuVG9F%@{L5#^`F8Kx<Zm88lg{%)o93wR8g#i;7bfQWKLiz^C5l=YjT|A{`G5N(*qs z;FADRoCC`hVCR53bm<H=46y>BTmg0#<3h%XOoc4L4B$Mc$y@{)9ETh%`2w_{9<pHb z77J+p0IUQ;fb%Ao4JhM)R+-v;0Od?j_6D7|P-Txj-69rkBFQ5J5vFOfA&SLY9I)Qi zEzZo6)FSW>^INRR8Ht(Db0?S~Q>x6M8B2Xw!Gh#WZY0}Yf!qnI=NMQ77)2PXw2|bH zau~u<Nb(^?v7osXM$m~Bpp_+>Oht8|o_;76JH?RnA(?v{WIZUD82C9jio!uf7%07f zW?euSG&TX6Tvi69ohjh7)4|xx*vVMJ2%?KjKvSw6j3q1`j3um~_IU>*c=CWLg$Ysx zgYRwO0I98IZf9s`Ok)DC3+1R`2BoZ8mJ&`-Wel2tbzz7#s%3+jQp2{8sg}KjtAnwI zt%ISNxt61b1GE|dTq$$baDpq;rotGI`I>B1W&|29pzAXg;4MqoAV6i&T~Kg2Gchor zUZ@F6qu}Mnpw?3jXaNvo2}1{C4I{`oMNH5un3)j0ImTN&pxQS+Eit(yzo=3Zl2D77 zK&M$T6@lwLa198qPe94F2(-AEje~)q7!?03OiYYC|ElD{)eE$}h=_F?&=J=a1x0q6 z+_wbdK`TQOb26(^AxHA2+!6q-7bu1HxIvY55vYzYaswp<PzMi@dchNOw|Kxe27xjQ zXc+@2+KVDUZ8$FU%I`0zsQ|iyp(M2^HRYBdsGbHl0OLWkcA2TgVE^6X09}m%lDowY z^*+*7$dMpdfIJMXJE5NY3QBsQ83qO>4kpk!%uEbSj7$tX|C#=Cu(B|5u<|f5{bOT? zY|R5rCl@86Cr?nZ21>l(8Wwa;XbmH1aZN3A38<CJoW%^<C)Es|3oTM8VF_laVJbE# zVXa|oW-Kx&VFUA>!0kt-g^Wc`CG4OTip`)YWacVMa2W=j!3QnCFD`*aEqF935xfQ- z92Vd%1t>fqmxE|B{o({wN#J%^kqc<37QzRuG|}XQw3GZnDGwCyMXsPmvNR~^z`9+< z@!+-@r~w3;S||cH%ThowApn{<$|*|)MKNeZF8da{Up}a_Qmn}eX<vbo8zixT4wk*e zo>?3ZG6z!nAd(&^wnafn4-_v9EF6pi%uN5;n3?`FF|t8vj{j^-EI+~N0@MZv6$fw( z${?U=onp{FFl-}osjOLSMRKVuQS9LS&Je``SqEN}3JQ*3aM*%s`=tE*91W-!G@v6g zNJl7ulz>txLWzbt?6Mcw08TWdc1EdWKn*+)1}6+q3IR9r-h#p$90u4H7;?nNgIp6I zuLlYjkPjI^r=~!HR}UtM(#rxV0%5Q<pmGv&GEXoAxIL-Kc#8#8K|qHIisC`}0Bk*& z0EIm0a&XXj@bU4+*e!)f`e|}v9n?t&nF#V;(H79MSMK=uy!^bX)S~?O_@YdZ9M~cR z0kRSt18N}Kz=b;_3p)oB8zT!7SR5q~K@|Z=4cK>Opurs;$SUQ9u#>8pN|@7_vbjLB z!=P0Pkqmi$EDR-}v#SfBXY(3>25&%xdI@V5dkJe6M;dcBTR}t#CunLWg{hf2g*lrE zG?rhS06iy<sTTRnUhoE;Do=2FaV!BXf+_(GMu5_U0`jC7sO*7UrvX~P1-gkxp*TMm zbnbt0Y5`~=Fl;LUM|ox*c;3S=lN**CG`S$<<0DWY@&}|A<z^NaXXfXDmuB4(^2;xA zbjgI?NeK~S_Ya0JKufLi@^7)b`uT^rcm~~Kb9Hofb`8G8=IZC~>K6juBM80t34BiM zEzZpJynOI2Sm;?YhKYf}92760t^xxK=*U<hMixc^7BMD1@IeJ4j71<dC~*Xed{8L@ z%Av)eL-}D-T?-kZEh=Wvi9JPDB`hVNStN#qjG(2)*-S-xpqi_M4K&2o%v8&i#{pWa z4IUu?9cs@3(pAe0KDCDtv=5?$JB6v21yt>V^l38tfmdT{GT!1U03AD$lA4#CihRgJ z5qRMncsnj=Np=w^Y{3KcMWB)YqWhq*2iH+vpmYklhg*{cJpXu$1-zXb)I|i>E$G1n z%78wgU;?dO0Igu>VH9FwVdP=r0Ixn`VgSScMId!3K?O?Apg{$2P?><+GN1v3ekIU8 zBJc`d&@su33&HEOi}-55LkNX@h-o-b8KTKlWe84;kOl|njQLd1Zb1dmA!Nmnu|-g) z4Ym;ktkzExvi0>AD|iJvEIojy&R9Si(foLeKQBKo9&9eCkWVd+2Kg716&b*5Z$Xu1 zQ3a?n1eI~HLK&14Kz;<_V$fM+B@7*)0TM>UKC~J}aI1?6Ts<;1GeP#irZ6{y7Ot^W zC4yZG>w|)_6ezDH<|%+{Gf?dX>V_8Q=ai+Qjs$}B6%?fwgSrBld7w_JLQ!g3Y7r<^ zfNm`>$$*SpphO6$<OHQ%a4QScp|4?xm4T*OCU81t?qFER2s#oGl<o?V+FC4-42u|( z1*JA<i|ZD1QED1wh8bM)feSrQQ!57)il9(pVPg7UrHo#cVrguF<3*DN9M(l3r-DbV zZn5O0R+PY!s{q2I;2G)STYONHQ=oiqP~9F6z7MY$Y$C*QV0Wc3F)*Zo+yxq!WnkrC z<N`H%ShyIAKr*+uK=W~+k)qTh&{1vRiI?Jn#N^a?=%8q^CgUw(Bw^5;3+RG)Q0j*z z4A9Uv11MF13v!S}Xam5rm_S#l!Uljr{Wlalz{9^OsmVEsMXBHe^}(_VFsmT*Xfz)5 z#o{Q`A>W+LY|y<%nZ?M9JW^8A5Dta~nFeg66*NLzk^yeWR_Z`c1qV&y!PrR0CxQCC z%J5U*AuT^}gAbHJN{ds$EyCoC%p6c+2hRpV$HGD8L4pewVc?a<pwUtAaCK@5Y+)$O zRSNk@pxHKs4A3nwkbPp{?3I{alnT1X3Up6gCg_l-Jm~rtXl~0%ElbRUoEi%rj)shu zmt>^EFTw*^3N{LQA6O!Mi%n)4*bvB(*9!6AbQ>R!xT_g<mo2EqO$40_1-YFjwXig^ zEHMX^>5EH~K;?y=f`S{$05>A|p{^~`Q7BG@+*gJ<Ql66<pH~cvr-TGZnc-Jd59*pQ z71@Cr%7Pdv0g|N<S$!e{14At+OM%K427Z*B0BWOw>Hu&~xCf~NKv#t`fsUrj<|q;Y zmGLEvptXSgQj82Gj0>1SiwzhVK!^81szgM609sI)%~9k5)&uVSf>p58u%s|%bASez z7jS|^SQu(qKuw?;1{;QS2GEt{CETEzhmj#qq=cu21yuePPbuLA-Cx?w)WlfASHfQd zDxFztSZl!BrD|B3SwKV5DU8{iMYn2LvcLn=3j}J|K&xMCm=_3w>|tam5vpMaU3v~W z8?*+r?~=93)itlUv<Q?nKo{jE=BC0^r~>3F;M8ITL_)|<gQRWHxU7OkW*Ycv-P9CK zzgukJc1tR#!3v7#`1oIZe)%Qf$rW&Vx6%}bObCD$M%>~{PAo~z054tu9e#I<2l@27 zTioD2E+n-Tfi5d3+5(zI0Ie*%#R{4xD!#?#3qGVj1ayu<3n<?CKnLD{_9ms~mBi;2 zLykLo3DO3hfoK4=B0$ScZ*haRD}wfkmgc115{xfO1#h4Q34oKeCdVyqXvqc2n~+Wu zXr2PHsvdO2`z>~8UM&KR%YqvvXld*g7c`N^=N0#Zk{YPGWncz%Rauz17`Yflz#Ur9 za&{3$Hb#&L2!jp+h46S7iza~TZ&0ZWE2d$cS&&#U=#nDHa51PN1l8J|Ozli*jG#f| z7LHCv=vWG9>mx@kGiWNLhB<}3m#LN|g(HQjg#ol@3Dofg?KaP1DPe79DoUtfsbR`u zN#RW4Y-O@x$YTTX<5^NTgBdirstUm+Ll7jipoO6xyd(f$Fa^353_RrpI(q?B`hjlI z1Jw!O0qE2eunEceMMbH_1^JMnY4DZqshLHHu@|sfh)U$f3n;IGs%G%0AZYm|cvO%F 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 K6acLoRRaJ(^<2FG diff --git a/.venv/lib/python3.8/site-packages/pkg_resources/__pycache__/py31compat.cpython-38.pyc b/.venv/lib/python3.8/site-packages/pkg_resources/__pycache__/py31compat.cpython-38.pyc deleted file mode 100644 index d47ec412f77d345dc5c55fdccca6e664be00f5b9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 600 zcmWIL<>g{vU|=}A?@zKG69dCz5C<7EGcYhXFfcF_ConKDq%fo~<}gG-XvQc;FrO)k zDTOJ8IfpryC5nZSA%!!AHHEE(F^V;nC5x@VCxtzgDT|$jftewjG2bJFBby<Qg^7WY zA&MiFqbMwuHIF5gA&WDLGlemjL6hqx$Zo%vj0_A6nvA!Yi!&?Sl9@naPz-Vo$idDa zCwVY1FjVoCFf3rKVOYq>$PmtuXTriz!j#Qb<iyBO%f!e~C04^&WKhGD#azOi#gffj zWYokE&S1)r!cfap#}vU3$&kks!H~ib%%I8Wr^$MYDZls@M{Z(vYD#8N@hx`$VArCe z{GwZ|sYOM3`M20yT_Ze$Lo}Ihu@oehWZdFNt;j4ciO<iz#hhA^ypo}ahk=3NmyLc& zZh?M5W`S;LUO{4Vc4~@lc}8k#j;>LnVQyk!NwI!Gc6xkKYH@yPQF3arenF+NVRC+M zL1KwsLFFx;c$oF^#)cdqUxK{Lz{teN$0)!kz*xiw3L2)Dpn!PE0%9{4@iQ<m6bXO` zP*7<yx@mG1fuxGq85kIDF&9@B-(pLxC`m2KD*|Z)8*z&{Akyd-Pg!bFab|vAd}dx+ z{w=<|)YOz>xC4q<K}Lf71ojw&-~}1UVUwGmQks)$2a2a+kj)&79E==HJj`4?Y>X2B Gm{<Um%!qRU diff --git a/.venv/lib/python3.8/site-packages/pkg_resources/_vendor/__init__.py b/.venv/lib/python3.8/site-packages/pkg_resources/_vendor/__init__.py deleted file mode 100644 index e69de29..0000000 diff --git a/.venv/lib/python3.8/site-packages/pkg_resources/_vendor/__pycache__/__init__.cpython-38.pyc b/.venv/lib/python3.8/site-packages/pkg_resources/_vendor/__pycache__/__init__.cpython-38.pyc deleted file mode 100644 index 1b013b736d18b15f8ba30cccd532a2c416d4a184..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 157 zcmWIL<>g{vU|=}A?@uy_eheazF(U&5g98HtLoo{j149Z!FoPze-%5rekT8Py<)mMd zTcBT%S)f~*SCE*TotmOso{^fGqid9Cn44HwQmkK)ogQD5TAW{6l$=_uA77T5my%zk fA0MBYmst`YuUAlci^C>2KczG$)edC#XOJ5J(cdRX diff --git a/.venv/lib/python3.8/site-packages/pkg_resources/_vendor/__pycache__/appdirs.cpython-38.pyc b/.venv/lib/python3.8/site-packages/pkg_resources/_vendor/__pycache__/appdirs.cpython-38.pyc deleted file mode 100644 index 1b83383d45cf7ba6aa000cb94cf270eed9ffbf6f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20510 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	!%IA15&pO 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 diff --git a/.venv/lib/python3.8/site-packages/pkg_resources/_vendor/__pycache__/pyparsing.cpython-38.pyc b/.venv/lib/python3.8/site-packages/pkg_resources/_vendor/__pycache__/pyparsing.cpython-38.pyc deleted file mode 100644 index a1e416e16ee42be727fbe6901da3a0cdf575bd4b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 201634 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ĉ<2<m@<HuIM# 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 diff --git a/.venv/lib/python3.8/site-packages/pkg_resources/_vendor/__pycache__/six.cpython-38.pyc b/.venv/lib/python3.8/site-packages/pkg_resources/_vendor/__pycache__/six.cpython-38.pyc deleted file mode 100644 index 2724681c770101e271df6a542c4fbcf574fa01fe..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 24430 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 Y3Ua#$BPaz3u?jG9{AXbTr6m?70N=*l!~g&Q diff --git a/.venv/lib/python3.8/site-packages/pkg_resources/_vendor/appdirs.py b/.venv/lib/python3.8/site-packages/pkg_resources/_vendor/appdirs.py deleted file mode 100644 index ae67001..0000000 --- a/.venv/lib/python3.8/site-packages/pkg_resources/_vendor/appdirs.py +++ /dev/null @@ -1,608 +0,0 @@ -#!/usr/bin/env python -# -*- coding: utf-8 -*- -# Copyright (c) 2005-2010 ActiveState Software Inc. -# Copyright (c) 2013 Eddy Petrișor - -"""Utilities for determining application-specific dirs. - -See <http://github.com/ActiveState/appdirs> for details and usage. -""" -# Dev Notes: -# - MSDN on where to store app data files: -# http://support.microsoft.com/default.aspx?scid=kb;en-us;310294#XSLTH3194121123120121120120 -# - Mac OS X: http://developer.apple.com/documentation/MacOSX/Conceptual/BPFileSystem/index.html -# - XDG spec for Un*x: http://standards.freedesktop.org/basedir-spec/basedir-spec-latest.html - -__version_info__ = (1, 4, 3) -__version__ = '.'.join(map(str, __version_info__)) - - -import sys -import os - -PY3 = sys.version_info[0] == 3 - -if PY3: - unicode = str - -if sys.platform.startswith('java'): - import platform - os_name = platform.java_ver()[3][0] - if os_name.startswith('Windows'): # "Windows XP", "Windows 7", etc. - system = 'win32' - elif os_name.startswith('Mac'): # "Mac OS X", etc. - system = 'darwin' - else: # "Linux", "SunOS", "FreeBSD", etc. - # Setting this to "linux2" is not ideal, but only Windows or Mac - # are actually checked for and the rest of the module expects - # *sys.platform* style strings. - system = 'linux2' -else: - system = sys.platform - - - -def user_data_dir(appname=None, appauthor=None, version=None, roaming=False): - r"""Return full path to the user-specific data dir for this application. - - "appname" is the name of application. - If None, just the system directory is returned. - "appauthor" (only used on Windows) is the name of the - appauthor or distributing body for this application. Typically - it is the owning company name. This falls back to appname. You may - pass False to disable it. - "version" is an optional version path element to append to the - path. You might want to use this if you want multiple versions - of your app to be able to run independently. If used, this - would typically be "<major>.<minor>". - Only applied when appname is present. - "roaming" (boolean, default False) can be set True to use the Windows - roaming appdata directory. That means that for users on a Windows - network setup for roaming profiles, this user data will be - sync'd on login. See - <http://technet.microsoft.com/en-us/library/cc766489(WS.10).aspx> - for a discussion of issues. - - Typical user data directories are: - Mac OS X: ~/Library/Application Support/<AppName> - Unix: ~/.local/share/<AppName> # or in $XDG_DATA_HOME, if defined - Win XP (not roaming): C:\Documents and Settings\<username>\Application Data\<AppAuthor>\<AppName> - Win XP (roaming): C:\Documents and Settings\<username>\Local Settings\Application Data\<AppAuthor>\<AppName> - Win 7 (not roaming): C:\Users\<username>\AppData\Local\<AppAuthor>\<AppName> - Win 7 (roaming): C:\Users\<username>\AppData\Roaming\<AppAuthor>\<AppName> - - For Unix, we follow the XDG spec and support $XDG_DATA_HOME. - That means, by default "~/.local/share/<AppName>". - """ - if system == "win32": - if appauthor is None: - appauthor = appname - const = roaming and "CSIDL_APPDATA" or "CSIDL_LOCAL_APPDATA" - path = os.path.normpath(_get_win_folder(const)) - if appname: - if appauthor is not False: - path = os.path.join(path, appauthor, appname) - else: - path = os.path.join(path, appname) - elif system == 'darwin': - path = os.path.expanduser('~/Library/Application Support/') - if appname: - path = os.path.join(path, appname) - else: - path = os.getenv('XDG_DATA_HOME', os.path.expanduser("~/.local/share")) - if appname: - path = os.path.join(path, appname) - if appname and version: - path = os.path.join(path, version) - return path - - -def site_data_dir(appname=None, appauthor=None, version=None, multipath=False): - r"""Return full path to the user-shared data dir for this application. - - "appname" is the name of application. - If None, just the system directory is returned. - "appauthor" (only used on Windows) is the name of the - appauthor or distributing body for this application. Typically - it is the owning company name. This falls back to appname. You may - pass False to disable it. - "version" is an optional version path element to append to the - path. You might want to use this if you want multiple versions - of your app to be able to run independently. If used, this - would typically be "<major>.<minor>". - Only applied when appname is present. - "multipath" is an optional parameter only applicable to *nix - which indicates that the entire list of data dirs should be - returned. By default, the first item from XDG_DATA_DIRS is - returned, or '/usr/local/share/<AppName>', - if XDG_DATA_DIRS is not set - - Typical site data directories are: - Mac OS X: /Library/Application Support/<AppName> - Unix: /usr/local/share/<AppName> or /usr/share/<AppName> - Win XP: C:\Documents and Settings\All Users\Application Data\<AppAuthor>\<AppName> - Vista: (Fail! "C:\ProgramData" is a hidden *system* directory on Vista.) - Win 7: C:\ProgramData\<AppAuthor>\<AppName> # Hidden, but writeable on Win 7. - - For Unix, this is using the $XDG_DATA_DIRS[0] default. - - WARNING: Do not use this on Windows. See the Vista-Fail note above for why. - """ - if system == "win32": - if appauthor is None: - appauthor = appname - path = os.path.normpath(_get_win_folder("CSIDL_COMMON_APPDATA")) - if appname: - if appauthor is not False: - path = os.path.join(path, appauthor, appname) - else: - path = os.path.join(path, appname) - elif system == 'darwin': - path = os.path.expanduser('/Library/Application Support') - if appname: - path = os.path.join(path, appname) - else: - # XDG default for $XDG_DATA_DIRS - # only first, if multipath is False - path = os.getenv('XDG_DATA_DIRS', - os.pathsep.join(['/usr/local/share', '/usr/share'])) - pathlist = [os.path.expanduser(x.rstrip(os.sep)) for x in path.split(os.pathsep)] - if appname: - if version: - appname = os.path.join(appname, version) - pathlist = [os.sep.join([x, appname]) for x in pathlist] - - if multipath: - path = os.pathsep.join(pathlist) - else: - path = pathlist[0] - return path - - if appname and version: - path = os.path.join(path, version) - return path - - -def user_config_dir(appname=None, appauthor=None, version=None, roaming=False): - r"""Return full path to the user-specific config dir for this application. - - "appname" is the name of application. - If None, just the system directory is returned. - "appauthor" (only used on Windows) is the name of the - appauthor or distributing body for this application. Typically - it is the owning company name. This falls back to appname. You may - pass False to disable it. - "version" is an optional version path element to append to the - path. You might want to use this if you want multiple versions - of your app to be able to run independently. If used, this - would typically be "<major>.<minor>". - Only applied when appname is present. - "roaming" (boolean, default False) can be set True to use the Windows - roaming appdata directory. That means that for users on a Windows - network setup for roaming profiles, this user data will be - sync'd on login. See - <http://technet.microsoft.com/en-us/library/cc766489(WS.10).aspx> - for a discussion of issues. - - Typical user config directories are: - Mac OS X: same as user_data_dir - Unix: ~/.config/<AppName> # or in $XDG_CONFIG_HOME, if defined - Win *: same as user_data_dir - - For Unix, we follow the XDG spec and support $XDG_CONFIG_HOME. - That means, by default "~/.config/<AppName>". - """ - if system in ["win32", "darwin"]: - path = user_data_dir(appname, appauthor, None, roaming) - else: - path = os.getenv('XDG_CONFIG_HOME', os.path.expanduser("~/.config")) - if appname: - path = os.path.join(path, appname) - if appname and version: - path = os.path.join(path, version) - return path - - -def site_config_dir(appname=None, appauthor=None, version=None, multipath=False): - r"""Return full path to the user-shared data dir for this application. - - "appname" is the name of application. - If None, just the system directory is returned. - "appauthor" (only used on Windows) is the name of the - appauthor or distributing body for this application. Typically - it is the owning company name. This falls back to appname. You may - pass False to disable it. - "version" is an optional version path element to append to the - path. You might want to use this if you want multiple versions - of your app to be able to run independently. If used, this - would typically be "<major>.<minor>". - Only applied when appname is present. - "multipath" is an optional parameter only applicable to *nix - which indicates that the entire list of config dirs should be - returned. By default, the first item from XDG_CONFIG_DIRS is - returned, or '/etc/xdg/<AppName>', if XDG_CONFIG_DIRS is not set - - Typical site config directories are: - Mac OS X: same as site_data_dir - Unix: /etc/xdg/<AppName> or $XDG_CONFIG_DIRS[i]/<AppName> for each value in - $XDG_CONFIG_DIRS - Win *: same as site_data_dir - Vista: (Fail! "C:\ProgramData" is a hidden *system* directory on Vista.) - - For Unix, this is using the $XDG_CONFIG_DIRS[0] default, if multipath=False - - WARNING: Do not use this on Windows. See the Vista-Fail note above for why. - """ - if system in ["win32", "darwin"]: - path = site_data_dir(appname, appauthor) - if appname and version: - path = os.path.join(path, version) - else: - # XDG default for $XDG_CONFIG_DIRS - # only first, if multipath is False - path = os.getenv('XDG_CONFIG_DIRS', '/etc/xdg') - pathlist = [os.path.expanduser(x.rstrip(os.sep)) for x in path.split(os.pathsep)] - if appname: - if version: - appname = os.path.join(appname, version) - pathlist = [os.sep.join([x, appname]) for x in pathlist] - - if multipath: - path = os.pathsep.join(pathlist) - else: - path = pathlist[0] - return path - - -def user_cache_dir(appname=None, appauthor=None, version=None, opinion=True): - r"""Return full path to the user-specific cache dir for this application. - - "appname" is the name of application. - If None, just the system directory is returned. - "appauthor" (only used on Windows) is the name of the - appauthor or distributing body for this application. Typically - it is the owning company name. This falls back to appname. You may - pass False to disable it. - "version" is an optional version path element to append to the - path. You might want to use this if you want multiple versions - of your app to be able to run independently. If used, this - would typically be "<major>.<minor>". - Only applied when appname is present. - "opinion" (boolean) can be False to disable the appending of - "Cache" to the base app data dir for Windows. See - discussion below. - - Typical user cache directories are: - Mac OS X: ~/Library/Caches/<AppName> - Unix: ~/.cache/<AppName> (XDG default) - Win XP: C:\Documents and Settings\<username>\Local Settings\Application Data\<AppAuthor>\<AppName>\Cache - Vista: C:\Users\<username>\AppData\Local\<AppAuthor>\<AppName>\Cache - - On Windows the only suggestion in the MSDN docs is that local settings go in - the `CSIDL_LOCAL_APPDATA` directory. This is identical to the non-roaming - app data dir (the default returned by `user_data_dir` above). Apps typically - put cache data somewhere *under* the given dir here. Some examples: - ...\Mozilla\Firefox\Profiles\<ProfileName>\Cache - ...\Acme\SuperApp\Cache\1.0 - OPINION: This function appends "Cache" to the `CSIDL_LOCAL_APPDATA` value. - This can be disabled with the `opinion=False` option. - """ - if system == "win32": - if appauthor is None: - appauthor = appname - path = os.path.normpath(_get_win_folder("CSIDL_LOCAL_APPDATA")) - if appname: - if appauthor is not False: - path = os.path.join(path, appauthor, appname) - else: - path = os.path.join(path, appname) - if opinion: - path = os.path.join(path, "Cache") - elif system == 'darwin': - path = os.path.expanduser('~/Library/Caches') - if appname: - path = os.path.join(path, appname) - else: - path = os.getenv('XDG_CACHE_HOME', os.path.expanduser('~/.cache')) - if appname: - path = os.path.join(path, appname) - if appname and version: - path = os.path.join(path, version) - return path - - -def user_state_dir(appname=None, appauthor=None, version=None, roaming=False): - r"""Return full path to the user-specific state dir for this application. - - "appname" is the name of application. - If None, just the system directory is returned. - "appauthor" (only used on Windows) is the name of the - appauthor or distributing body for this application. Typically - it is the owning company name. This falls back to appname. You may - pass False to disable it. - "version" is an optional version path element to append to the - path. You might want to use this if you want multiple versions - of your app to be able to run independently. If used, this - would typically be "<major>.<minor>". - Only applied when appname is present. - "roaming" (boolean, default False) can be set True to use the Windows - roaming appdata directory. That means that for users on a Windows - network setup for roaming profiles, this user data will be - sync'd on login. See - <http://technet.microsoft.com/en-us/library/cc766489(WS.10).aspx> - for a discussion of issues. - - Typical user state directories are: - Mac OS X: same as user_data_dir - Unix: ~/.local/state/<AppName> # or in $XDG_STATE_HOME, if defined - Win *: same as user_data_dir - - For Unix, we follow this Debian proposal <https://wiki.debian.org/XDGBaseDirectorySpecification#state> - to extend the XDG spec and support $XDG_STATE_HOME. - - That means, by default "~/.local/state/<AppName>". - """ - if system in ["win32", "darwin"]: - path = user_data_dir(appname, appauthor, None, roaming) - else: - path = os.getenv('XDG_STATE_HOME', os.path.expanduser("~/.local/state")) - if appname: - path = os.path.join(path, appname) - if appname and version: - path = os.path.join(path, version) - return path - - -def user_log_dir(appname=None, appauthor=None, version=None, opinion=True): - r"""Return full path to the user-specific log dir for this application. - - "appname" is the name of application. - If None, just the system directory is returned. - "appauthor" (only used on Windows) is the name of the - appauthor or distributing body for this application. Typically - it is the owning company name. This falls back to appname. You may - pass False to disable it. - "version" is an optional version path element to append to the - path. You might want to use this if you want multiple versions - of your app to be able to run independently. If used, this - would typically be "<major>.<minor>". - Only applied when appname is present. - "opinion" (boolean) can be False to disable the appending of - "Logs" to the base app data dir for Windows, and "log" to the - base cache dir for Unix. See discussion below. - - Typical user log directories are: - Mac OS X: ~/Library/Logs/<AppName> - Unix: ~/.cache/<AppName>/log # or under $XDG_CACHE_HOME if defined - Win XP: C:\Documents and Settings\<username>\Local Settings\Application Data\<AppAuthor>\<AppName>\Logs - Vista: C:\Users\<username>\AppData\Local\<AppAuthor>\<AppName>\Logs - - On Windows the only suggestion in the MSDN docs is that local settings - go in the `CSIDL_LOCAL_APPDATA` directory. (Note: I'm interested in - examples of what some windows apps use for a logs dir.) - - OPINION: This function appends "Logs" to the `CSIDL_LOCAL_APPDATA` - value for Windows and appends "log" to the user cache dir for Unix. - This can be disabled with the `opinion=False` option. - """ - if system == "darwin": - path = os.path.join( - os.path.expanduser('~/Library/Logs'), - appname) - elif system == "win32": - path = user_data_dir(appname, appauthor, version) - version = False - if opinion: - path = os.path.join(path, "Logs") - else: - path = user_cache_dir(appname, appauthor, version) - version = False - if opinion: - path = os.path.join(path, "log") - if appname and version: - path = os.path.join(path, version) - return path - - -class AppDirs(object): - """Convenience wrapper for getting application dirs.""" - def __init__(self, appname=None, appauthor=None, version=None, - roaming=False, multipath=False): - self.appname = appname - self.appauthor = appauthor - self.version = version - self.roaming = roaming - self.multipath = multipath - - @property - def user_data_dir(self): - return user_data_dir(self.appname, self.appauthor, - version=self.version, roaming=self.roaming) - - @property - def site_data_dir(self): - return site_data_dir(self.appname, self.appauthor, - version=self.version, multipath=self.multipath) - - @property - def user_config_dir(self): - return user_config_dir(self.appname, self.appauthor, - version=self.version, roaming=self.roaming) - - @property - def site_config_dir(self): - return site_config_dir(self.appname, self.appauthor, - version=self.version, multipath=self.multipath) - - @property - def user_cache_dir(self): - return user_cache_dir(self.appname, self.appauthor, - version=self.version) - - @property - def user_state_dir(self): - return user_state_dir(self.appname, self.appauthor, - version=self.version) - - @property - def user_log_dir(self): - return user_log_dir(self.appname, self.appauthor, - version=self.version) - - -#---- internal support stuff - -def _get_win_folder_from_registry(csidl_name): - """This is a fallback technique at best. I'm not sure if using the - registry for this guarantees us the correct answer for all CSIDL_* - names. - """ - if PY3: - import winreg as _winreg - else: - import _winreg - - shell_folder_name = { - "CSIDL_APPDATA": "AppData", - "CSIDL_COMMON_APPDATA": "Common AppData", - "CSIDL_LOCAL_APPDATA": "Local AppData", - }[csidl_name] - - key = _winreg.OpenKey( - _winreg.HKEY_CURRENT_USER, - r"Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" - ) - dir, type = _winreg.QueryValueEx(key, shell_folder_name) - return dir - - -def _get_win_folder_with_pywin32(csidl_name): - from win32com.shell import shellcon, shell - dir = shell.SHGetFolderPath(0, getattr(shellcon, csidl_name), 0, 0) - # Try to make this a unicode path because SHGetFolderPath does - # not return unicode strings when there is unicode data in the - # path. - try: - dir = unicode(dir) - - # Downgrade to short path name if have highbit chars. See - # <http://bugs.activestate.com/show_bug.cgi?id=85099>. - has_high_char = False - for c in dir: - if ord(c) > 255: - has_high_char = True - break - if has_high_char: - try: - import win32api - dir = win32api.GetShortPathName(dir) - except ImportError: - pass - except UnicodeError: - pass - return dir - - -def _get_win_folder_with_ctypes(csidl_name): - import ctypes - - csidl_const = { - "CSIDL_APPDATA": 26, - "CSIDL_COMMON_APPDATA": 35, - "CSIDL_LOCAL_APPDATA": 28, - }[csidl_name] - - buf = ctypes.create_unicode_buffer(1024) - ctypes.windll.shell32.SHGetFolderPathW(None, csidl_const, None, 0, buf) - - # Downgrade to short path name if have highbit chars. See - # <http://bugs.activestate.com/show_bug.cgi?id=85099>. - has_high_char = False - for c in buf: - if ord(c) > 255: - has_high_char = True - break - if has_high_char: - buf2 = ctypes.create_unicode_buffer(1024) - if ctypes.windll.kernel32.GetShortPathNameW(buf.value, buf2, 1024): - buf = buf2 - - return buf.value - -def _get_win_folder_with_jna(csidl_name): - import array - from com.sun import jna - from com.sun.jna.platform import win32 - - buf_size = win32.WinDef.MAX_PATH * 2 - buf = array.zeros('c', buf_size) - shell = win32.Shell32.INSTANCE - shell.SHGetFolderPath(None, getattr(win32.ShlObj, csidl_name), None, win32.ShlObj.SHGFP_TYPE_CURRENT, buf) - dir = jna.Native.toString(buf.tostring()).rstrip("\0") - - # Downgrade to short path name if have highbit chars. See - # <http://bugs.activestate.com/show_bug.cgi?id=85099>. - has_high_char = False - for c in dir: - if ord(c) > 255: - has_high_char = True - break - if has_high_char: - buf = array.zeros('c', buf_size) - kernel = win32.Kernel32.INSTANCE - if kernel.GetShortPathName(dir, buf, buf_size): - dir = jna.Native.toString(buf.tostring()).rstrip("\0") - - return dir - -if system == "win32": - try: - import win32com.shell - _get_win_folder = _get_win_folder_with_pywin32 - except ImportError: - try: - from ctypes import windll - _get_win_folder = _get_win_folder_with_ctypes - except ImportError: - try: - import com.sun.jna - _get_win_folder = _get_win_folder_with_jna - except ImportError: - _get_win_folder = _get_win_folder_from_registry - - -#---- self test code - -if __name__ == "__main__": - appname = "MyApp" - appauthor = "MyCompany" - - props = ("user_data_dir", - "user_config_dir", - "user_cache_dir", - "user_state_dir", - "user_log_dir", - "site_data_dir", - "site_config_dir") - - print("-- app dirs %s --" % __version__) - - print("-- app dirs (with optional 'version')") - dirs = AppDirs(appname, appauthor, version="1.0") - for prop in props: - print("%s: %s" % (prop, getattr(dirs, prop))) - - print("\n-- app dirs (without optional 'version')") - dirs = AppDirs(appname, appauthor) - for prop in props: - print("%s: %s" % (prop, getattr(dirs, prop))) - - print("\n-- app dirs (without optional 'appauthor')") - dirs = AppDirs(appname) - for prop in props: - print("%s: %s" % (prop, getattr(dirs, prop))) - - print("\n-- app dirs (with disabled 'appauthor')") - dirs = AppDirs(appname, appauthor=False) - for prop in props: - print("%s: %s" % (prop, getattr(dirs, prop))) diff --git a/.venv/lib/python3.8/site-packages/pkg_resources/_vendor/packaging/__about__.py b/.venv/lib/python3.8/site-packages/pkg_resources/_vendor/packaging/__about__.py deleted file mode 100644 index 95d330e..0000000 --- a/.venv/lib/python3.8/site-packages/pkg_resources/_vendor/packaging/__about__.py +++ /dev/null @@ -1,21 +0,0 @@ -# This file is dual licensed under the terms of the Apache License, Version -# 2.0, and the BSD License. See the LICENSE file in the root of this repository -# for complete details. -from __future__ import absolute_import, division, print_function - -__all__ = [ - "__title__", "__summary__", "__uri__", "__version__", "__author__", - "__email__", "__license__", "__copyright__", -] - -__title__ = "packaging" -__summary__ = "Core utilities for Python packages" -__uri__ = "https://github.com/pypa/packaging" - -__version__ = "16.8" - -__author__ = "Donald Stufft and individual contributors" -__email__ = "donald@stufft.io" - -__license__ = "BSD or Apache License, Version 2.0" -__copyright__ = "Copyright 2014-2016 %s" % __author__ diff --git a/.venv/lib/python3.8/site-packages/pkg_resources/_vendor/packaging/__init__.py b/.venv/lib/python3.8/site-packages/pkg_resources/_vendor/packaging/__init__.py deleted file mode 100644 index 5ee6220..0000000 --- a/.venv/lib/python3.8/site-packages/pkg_resources/_vendor/packaging/__init__.py +++ /dev/null @@ -1,14 +0,0 @@ -# This file is dual licensed under the terms of the Apache License, Version -# 2.0, and the BSD License. See the LICENSE file in the root of this repository -# for complete details. -from __future__ import absolute_import, division, print_function - -from .__about__ import ( - __author__, __copyright__, __email__, __license__, __summary__, __title__, - __uri__, __version__ -) - -__all__ = [ - "__title__", "__summary__", "__uri__", "__version__", "__author__", - "__email__", "__license__", "__copyright__", -] diff --git a/.venv/lib/python3.8/site-packages/pkg_resources/_vendor/packaging/__pycache__/__about__.cpython-38.pyc b/.venv/lib/python3.8/site-packages/pkg_resources/_vendor/packaging/__pycache__/__about__.cpython-38.pyc deleted file mode 100644 index 5b19f68b49c90c4f189ec254b307e841c10acdae..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 707 zcmWIL<>g{vU|=}A?@#gtCI*JbAPzF-U|?WyU|?V<4q#wlNMT4}%wfo7jAG1Xiek!T zj$&qHNMTB0PGL!5O<_x6PvJ=6Oy`JVN#TlOP2rAWOW}!PPvMQ?Na2g(OyQ5>N)d?S zP7zGy6k~|uNf8QW&=h_NvP+Zs7Jp(=aehu|Noss%Zb5!g$t{kQ%(Bel%>2Atd<8|B zc_r~_rFqFEAU<b&d`V_WPHKGoE$;aE;?msQ#G=ah_*?Ap@ufwX5Ye*KB9Pwr_*-1@ z@rk7+8Tm!=@wYhR<5P1JGjkwnax#-s^NK;n@W#g{=ND8KWu|A8fRq&^CTAz6XXd3> zDLLmCr7Dz`Waea+WTqA?q~#YW1XPw}<mV|s6r~ndDQ1+E6ck(O>!)XyWRxc9CFker z7gQD`>O)k3jA1b})3d13bji<4%t=uQE-6h*D^W<yOHs(o19>y0G%-gZIX|zYC^M<F zB)_P*N+1QS)S(!xR4+5XO35kMMIpaP!LcAQIU`lU2jX}gg)oRu6^!%@s>GaOzEChS zFf`FMGB7k#P%ZY;<OKyoT4_mXQEGgA5fcLgLlHBGU}0cj0EJs(PELG$5i3ZD4Mebm z2vE!yae`Q&6jH<uV(~CAFsx)K5&*G5#4lg{lH3CQg3JQl(marVQ&V)yGg4D?bd3@X za}x_oiuDV!)8mU$i}Op1l2eQI<I7U>Qu2!sVWS@(pO}<iS`r_xS5SG2!zMRBr8Fni i4&<_8B?blt5oRU^C}afF|5#XA7+Dxum{^#=BqIPyYR}^U diff --git a/.venv/lib/python3.8/site-packages/pkg_resources/_vendor/packaging/__pycache__/__init__.cpython-38.pyc b/.venv/lib/python3.8/site-packages/pkg_resources/_vendor/packaging/__pycache__/__init__.cpython-38.pyc deleted file mode 100644 index b24a0ed944de6c8cd4a5439bfa23bb7567acb1c0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 545 zcmWIL<>g{vU|=}A?@ux#69dCz5C<7^FfcGUFfcF_hcGZOq%fo~<}l<kMlt3xMKR?v zM=>)pq%fs0=dk3mMzQ9yMX}|wN3rK}L~-PDMsenHMRDbFM{(!!MDZ{(q_Cv0rm&^3 zr*Ncjrf{Wjr*lN{rtkzaX!5=U*{8{Ti$5``I6tSfBsD%Ww;;c$<Q7LtW?5!&W`5o+ zzJj96yps5|(!Au7%>2BUj0_A6njE*d;^PxbOEU6{;^S}e#>Xe;7gQEyre~DI$KT?N zk5A1_%*=_8zr`INpOcxKnpd0(;S`tV<|Y<ZLKKx`mgIoM+2i9&i!vb!%2JC!w#LU7 zaWgP56oCS$hzG>t1rcl@0u(GooFEoE0|SGfCLhQxX{9BlMXB-eMNA+GW)Q)`z`y`< zOJY)fX-Ry15m+-wOA*2Zu=!w{;FjECkB?8x$%&6&$xtK+G6zKb^3gBJEzmE>EYK~@ zD@aVvPEFA*&qz(p(KSjm%uOsTDb_E@PLD52EzU13N=_}-k1tEjOUW<N2dPa=&&*5L skB`sH%PfhH*DI*J#bJ}1pHiBWY6o&-u?PbLg9wub8xsQ*GJ@%U0B0SJzyJUM diff --git a/.venv/lib/python3.8/site-packages/pkg_resources/_vendor/packaging/__pycache__/_compat.cpython-38.pyc b/.venv/lib/python3.8/site-packages/pkg_resources/_vendor/packaging/__pycache__/_compat.cpython-38.pyc deleted file mode 100644 index 56bd620caf6bcae8858d7830e824f5174ad36624..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 981 zcmWIL<>g{vU|=}A?@w|JGXuk85C<7EF)%PVFfcF_hcPfPq%fo~<}l<kMlt3xMKR?v zM=>*k#F%neqF7Q{vRG3XBpFhevzemU;5?RWrYQDQ_9B;5jx@$7&OEkME)bo<n!?t? z5XGIs6wIK>{t{%PCi5-+#H8Z<oYIoi_{`jb{GyUu94VP)nZ=p;dAIlqiZb&`;?qj= zl1no4^ZZ_d9QKl#fq@~J5u_W6K>}<H3=HfbC#x|qFt{_cGqf|NF{Lo3Ftu=`Fm*6C zGuJYeFf3rKVM<|6Vaa4z$P&z;$y%k)rJ$go;9QiNSdyxcsF0LcoT`wVlUQ7=P@Y+m zp^&JMn_7|x7SIE$OorMBr$APNIK@&73=F9ZQH&`JQB25|M=_@`2Qz50R4IZ?j7OMf zlarsEm{V-02Nz0a0ht8FAT|gKgZ#w9z`)SKSi{)CP{Z5|GLF%2C4(l*E#~B$;#(|v ziMgq_xJoiIi{n8aD89v*vXbc*D}>DgGQJ2DGQYg_OL7bJ3o;9IOY;g6le1G(bjveR zQ*(5U5)E?`3rmXi3$oMWi&Bg8ON)|Ii}mBnQu9*si}XQi6Vo&E()Ht$^K%OlOY{mV zZ?VV6=cSg%$IF1+2Z|O3#wtyMUetr?^3!Cw#StG5a(R6GEw1?Z-29Z%oYeUETRidc zg{6r(5SbzY1_lPO<BLE+0AcYnFfiQW1bGV_G14#xa4;5$fTZ|KQbFk`v8Xa0tN^S_ zlj#;qNo7GQ*hEd{B0iA8ydVOk2do5Q1=w^xRF8m^6oVpzfnAKbNSuLzL6ZmM=(N(3 z(xTM(_#%-1i$F=C2&C#3b8%(yEuON}B2XfZ&&*59zr`F7X#^sSZ!s5_6y4$}E-A{) zOOFRRsrVKbII6%RVACPa0mT`F1$GmM4J3^0Kvook+%Lk!!OX|V$HKzM!NkT40BY^_ Ar2qf` diff --git a/.venv/lib/python3.8/site-packages/pkg_resources/_vendor/packaging/__pycache__/_structures.cpython-38.pyc b/.venv/lib/python3.8/site-packages/pkg_resources/_vendor/packaging/__pycache__/_structures.cpython-38.pyc deleted file mode 100644 index ebc94eb3e3ef963a826c8e3c616cff84d128716d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2763 zcmWIL<>g{vU|=}A?@w|ED+9x05C<8vFfcGUFfcF_yD%^?q%fo~<}l<kMlt3xMKR?v zM=>)pxHF_Mr7*WJq%fzlG&4uBrm{9OM6tRvq_Cv0wlJiyf<@U<*_s)m*izVn88q2n zg3Q-szQv!IRGgnvT9O){nOl%wRC0?WC9^EEI5R)*7GFV8W?o5rT4`Q#NoIatGDrt9 zW`emYgn@w}l_82Tg&~S5g)xPxg&~SLg*k<#g&~S1g*An(g&~SHg*}C%1!OyC3Req5 z6nhGH3Qr3|6h{hg3SSFD6lV&5ia-lP6jzF1ickwf6nBbnFoUMZEe_ATw9LHBlFDR8 zB&$Je5OxNI2`F$<7=sx!nf!`a85kH=GOT30#ZsJ_lUBsWz`y_|e);Q{<QC``WESX_ z<`pC+XQ!s<mS?1<=I9zF8s;VzmK5t3WT(d$r55Lx7A2<^>&KU+=B4Bp>4VfJrf24* z>&F+D6qP2Iloq8H>lIYq;)stgN-ZdgkLLur0TdJrj8%d#*XqG!F`UiJz`y`@HV*>> zLkU9(V+}(yV>4qg!%9ZKl}xu-G7^h3Zn1!jE@Fqd9_)o8kVPPCK`P?oLE4M4SPPL& z2FpN048+C=t(8oEZeVj)G8J(!FfiO=%`eGFEdmQc2(W!@@$oq&@$vjfp5#aJBuI|1 zT}1+Lp9sQP;JAU?ks2Q_gv*Z9_;?IE(1Njsv4$awv6(5Dp@<ul1ek7dWfo`V6_+ID zC8yrvjE_&wNh~gok1xVue`;ZTyeJO)L2|h5=L1J0%zhpQs0)ffrs1+JFEu`10*7rN zISkvd#a;*`mT-6|y(B(f8iy4iIl@*HNx`EEmmR6`@p8EA07V+e+0Zn|0AhnMIPHV7 zYzZu=G#PIR_@$;NmSmQt!jcx&w9g(NpO=~*AFqgHrvOZc9#qnAB@ZZ*<R#{&#>d~{ zijU9DPbtj-v3cU-3riDoATmXu0=Ed1tc!#}{uBWbpg1X#1hGItS0n>sfjkHaX>fuC z6QEQJE^0tIv>23bIhZ(@Q6X4<Ad1W)Sq26MjA92R=%J-$6{jvN^dLS2c?ZHmcoP&( znn(dIi5^vC6m{S{S_CS=u*EYtR&)qhNo+BPKNW-HULVOSaV)+gvW&x<U5Y^I%ZQLg zpgaRAtYLWu#KvFH;Vfo~Kxx^OfQ8g8*}yr+f`FC86>s<}j3Q9(v?gE?k%b)Inh9J2 z*b%Y_6l<XD1&cKh8-%fybl_3}YoZ60Gmc1BNnlBd;L^{pNFG!!fpaK=02fK1oUaZt z14oerlK0bO2bGFxrJ$Bfe0&iojTM0sSrMpEzQvZGl$DxX0&youJyLl9whd&_Ee;z< VscHw(Qw(Z8h%gJtvM~$D0su9u=sExZ diff --git a/.venv/lib/python3.8/site-packages/pkg_resources/_vendor/packaging/__pycache__/markers.cpython-38.pyc b/.venv/lib/python3.8/site-packages/pkg_resources/_vendor/packaging/__pycache__/markers.cpython-38.pyc deleted file mode 100644 index 5d4db404a627b7a5b1d864c4358b6817a233bec6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8919 zcmWIL<>g{vU|=}A?@zLY0t3Ti5C<7^GB7YWFfcF_J1{daq%fo~<}l<kMlt3xMKR?v zM=>*k#F%neqF7QGQkZgBqgcT-TNE3ZW{+Y|VMt-l;mGBT;>_iW;>zWY;?CuX;sNVp z$>GT5jpEJai{i`WkK)f2h!Oycv*vK*3PuSrGNiDju;&QpibRQk*&I2dxnfabx#Cgc zj0`E9DO@SsDLg5>>8w!_?hGk>DV!|~DV(X2&CF3!?hGmXDO@cKDO_N_v^ztJKniyY zLkc&TFXPUTBA6o7!jK}AD%;E)CFjnNBAg=9!jK}8D%Z>$CGXCVBAO!B!jK{c<}0`} zq==_Tv@oPdfcc84LMf8XjHyB?Qq7D`45>mX(ok9kO3OlNIVdd;r4^vGB9vBw(#lX; z1xl+zX*DRV4y84qv?i3+0?|=QDat8IDRL?DDN-p?DcW<`qLfpW7O14?r0BLVEM#N^ zxlj-6UVV`IRG}0DC~XL(ji9tKls19VrXV^>HB~iLD8&rKP8CWq2hmY#scH*UQY_#$ z2&7mxGo}ipSb=5LQ`Hx!q*%jcg;H$5_S=GGHByyQ)twlkG*kIfHB;5Z8B#UH8JZcR zv{JPesHE5->9TKTT%f&>AxbAzD8&KF)=lMaW{A>D)k@_{)k)P8XGqlr>2_j>(ofY( z)lcP3)c}b$Gm10VF)%Wua)WrOJmL&d1}TmyPAv>khAF`*E-9`pj8R4@ZXnxI+(Be2 zOO|meOO{D0OO|OWOO{zGOO|;mOO{27#~h9*%M{NPuNH<Vt5n%$hA8V4?-ZXFhA5j9 z-xR+VhA7(<|CE3hhA6v~z!csVhA4Y?hLoTbo)(4_9&ieCNMQ<Q&<uGA%3GSuxA+s2 zit}?yOH$)Aa|`l|N^WtaWR_(XXXfYK;wvc1%qxjcE6qzT$;{95(`32D7m!#~oa$PU zoLT@9y2S(L2c;I5=9CoQ;w~;J%FIg-E=epZxy1?LxaOs3vfSc|N-fIwFY?VVO1;JE zUX)*2aEsk7zo<O1DCHJUU}=6yYDzFzuO{OycAw0W)S|?kmy8Sy44RC$cpwJFmsA#{ z7Hcxy;tVcGP0mcqOf9-4;F(vJn3I`;5aET2_$C%*rxx834$VtRP0P$nO>xf8El4cN zEY8onB>@+7%`3|+%FoM9%`5Rs%uT(;2Gf?3nwD6aQxczwP>>7?Fk}pJ9=JdfU|?WK zWr$)-VTfW%VT@u12QYJy5Ca24l`EHmf`Wo$o<b(Xr3$%VhbfdN7AvIXm*%DDD3lhb z78NTLXXKaWq$m`nrll4sl;kS}xCSVg8d&Io_4}=4xy2D5pO=`M8Xtd)D?UCqKczGW z#O8^QFDy;Wfy%JQ$EV~c$H%W^D3W1dfDpgD^-FRK^b0ZzbW8IJ5|gu2Q*_HSQd4tu zjS>xW6AMd<^$W7o<BL*@^Gl18Q;YTE%Tn`F@{9CAY7^5l^V0PpZZ6g<s04dT5>yH^ zF)%Q2Fp?Z7!k|D20DB54Q1S~>ixNQz3LGwpB_*l31tqB|3i){oi3(+jIi;xzB^ik& z3Mu)i#d+!_3dN-bptP!xSpp58B5{~^5gsp+1&M(yl&8SKA|MCHKpd<93T8AXmgFlW zrGnxx1>r=6y!;Y{)QZgF5{1mX;>?s(h5R&yl8jWaDM(3*pyNT7tKxAyC=$R)PzNOm zrZBZIL@}o@r?9jzM6sl>rm(dzM6sr@r*O0|M6soC1~X`K-D2^}Pf1M%nE*@FAT|g) zgKPv<#x;yJ4Dk#p48aU58T~XFZ?S@-LX+thOL1yWT9E=MeBtQ~9NeH(nwghb5+APz zG6ZBA17j60$SS?~c!*3gDC5BF1hGM?;C7ZU)G%Z*HZuk@6oH~mlj#<7aY+%_u9b{M zidd{<kB=`dDT<FbM6!_wY9m+z!$MXD1_rQ&pzuv$TmZH*i>ZXUhM}2pA*gs{@~h&p zsWzz9s5VqAs@1g9WVywbmS2>cSaORqK0Y}ovA8%szDNS(8f6fn0wOSjqA0bXC_df< z$ziadfXHCD3=|w-mvJyKFqAMfF@gdg5)h2Hg#GeMJaY?jQbFZaYKm)7QGQVoHk&z% zQ;RYab26(^&5^9;1BVG*%1@IW;sH>0E|LOyKnX;E(p!-Rh@}N05S{|Fz<ElJfq?;( z;)+48<Y3}p2EihbC`Nezid%3B1qC&tkc6esU<OT=TO47DMVX07IjI=I0n&{W9H8id zri+z~MYsaK2;^>CB##Th%-2JBekBXK=RvxV3J-*DwHX)~tYOA+FcpFLWciad3{;X~ zc#;{G8bMhOk{TB>1~X_f`BkwhRU6bQX)+e6fuaISRD=Br4k1ubF)&u~gY7`_Xpt^R zE7&&(0vwB=9O{VVFA$$Be=+$NV0a4T9I(4UNd%Oq;W@eplya~oTd-d|VGd$otm5%6 zAj%{93=9nJFnt_MMIinyu}oM_0aq;XWvNBQphk^cK~7=`C@aSoRF-7q=Yg6%kQ@b8 zcS{&eAE?N`B@9)YR+^IoH%S0)Qc-G7YGQHfErbZnHiSrSVsb`iUg|A=xUS;L;*!+d zTYONnVOn^KD~sb{if*yz7lW()U+nqCdLXy_0?F&a<bS~}(1Yqn5`kLz3+`n-s8y(5 zyd{cVm^HPcq$p97tq7F(i)=v22$ZXe>_9Ag5CO{A$)My5E6qV{Hdt~7m5wD0C5#K0 zYM4?OB^e;(LMBj3Sjps91S;z^nZeoV7Q3U5r(>{d@Ga)_)RL9Vw-}3WG3MN2EJ4bU zpfr1n!zL#&Hz_62E|Y<Q;WNnEB2bE{Vz#xl{lx^rcDBEmY;1oqDcV*s)!F`HwEM+q z^NS5sA!p{@V#>_Ja4*Qs;FQV(E^;BR1i7)u3Ech!C#ND;kbluK5Xk0okhm8E1H&&y z^<Ruiq?-=PbvRA0f|-7cIWaHg7E^u^$rjvVEh#O?NyTYJBg~3lj2gcfH8C<WJa|C0 zJt!lWFg7z4Nu)4>itri+7Y0yJ)i4Bun+clCekcZjN&yxI28Liz?gZ5U=?patu{^bm zB@8u;&5RS73R!|7tyE3MTO#qv`Kd+8sqqD%J_e{kTAEX$$#jcJ&)^ngCVEQXvdPIT zE=kVMEwJkcnGUjsje&`wN&}lQdNw)v$%#3|c6tbHnoPI2GK(|wic1pnl2eO7=@!)c zD1vlm(CjOUVqjqC1z7}A$H2(N$j1a03qff@fkF%3x>x~8Pz)uEB}^sEY0S+`#Udpv zO(4%RfJ4!vgcVe!r7&hQ6?uTdHibzNtU8UU86?71!vGQig)m4KtfvXmtb>GnEmI9+ zQC<q`0`?jvP@R#&24jmeq_B%K1T*9*fpvn+TL6+v;Q$RzKy-t2z+;ZfuZRzn6hOHW zBMw1cDh7ET)J&*hh!ujwAZQe(mnn>ak)e<Y(&=#nwGz`Zi;7D??M1$LP(hnm5)bJ> ztYj*RW?*2r#h8m0xVJcM(o^$ND+-G27JzI4#U%?UE)`J?K#E0}`d^F+MG+u(M=~%l zV7MD(5JuXoVO+qlkO3v_fvcXPB#=31c|4YZfngcUP2lvUgwsv%1gXhU6bJGs3rM6W z9Aqp%h|lL(T%1}2>gRylZnv0oQuB%uK{6~^`I&i|%(vJeAyt$B5@gNH%S$an3oEet zDIgbt;(~!ugiVZ5;6D=+4-*$7A0rDR7n2Ah7o!LhSRG2*1Z74L1{ZdqYPp7?hB2EB z+Mohkvy$l+b52I_E#{((Vz2;&02RI9a&`^KE1=Sj2!q*?4KB(7=|l@#Q2DtQBn~oB zlcOjI#0~@z0U*K`M0kS;KM>&qBK$$I49aAnq924oDHG%uu%|$lR7sUEq%baEtYKWh zw2+~ODV=E{V>4qdb2vku2n$0Ab2e9z9wP$?Ml$5_L@?AaFJP%*0A+;|)&*=3T?-j& zS!!5P7_vEvl1kW9m=<t=dO|f!3z?f4n;2_YY8YymnnB$JX1`kuRm$+;1chn?#iCkJ zuNB;FP)N*6QK&XjEUMMh<SYV>5)^@|El6S$1jR5%a(-S(VrE|PEv|S-A2`3LxX1<M zQ&7JZ-0ah2Ey@L{Wy&uo$^$W2iVIScZ?S;XL!t*9te`l$#Sx!cmY5TtU$7mNK*T@+ z#K^=b#mL9V#>B<M$H>9R#K`lXg{7zz6po<808#?NpfCmH7H~L%TAMWt3m9q`OBfe2 z)iTvEl`v*=6e*Q3r7$jFu3-d)XcJ=%C<K`Ns`Meg2KCKRI=%`Zx0HfgRSL+RUQHIT z4{veBm%;{Tia>P(#J9}1xRDg!Vga>zz`Z|Azow^x2WU=%{0geP85nt(KtALE`LGh* zhnx%y4D7JB$pr=mhIEE>##$y&Q5d_ambrwXh8d}#R)QAP%-}-T3DPQ9z*@pq!(7AI z%mf<AEaU>~0Tr$DYM5h~YguYpYuQQ|YFJ9xo0*DAN<gWGC5y9}sg}KlEsL|3BTuM? zC5y9`9W28Jmf?V#%vHl)!&<}9%nUKRhB<{Po2_^i$Q?DzDa_eSMO-yZ3s}>^qo{>k zCEO`2DXc9FHB6u?7*s`QviZII|NsAgO{StyPznlz5g5fHD6+xDIVgqHFvRjfit}bh zXi?4p&AOV5x0n-iax|gkHcMtnDtggfl)}Kk@D3CMpwt5{v{k@~ur#qG6<Y2WV=1>a zdB8<vQ5wjR@Dj2p9hAV?5(^4a^HOdJVi*K&EEa*H7Lp`D$r#i$s?_AX#SSSti;F-_ zvRiEFph3psqAZa4p!`!*1Y&_R5NA$CaXfe^;}&NTjER=Kis~2`7_Nc*1?m(tFtRam zFp4m7F^VyAF>*0+G4e2SFtIW6Fi9}+Fmf>RFoD&h1T-j+L16;UQAP|5pi+qeRMONk zf<`z%xhjPzo4H7@hOvezg;|oJgsFxhiy1UlY|c>2SOe+;viMcWRvYN$CT8Uq)#`y* znR#$la#4QmE!MQmyu=(xTbc!&gKqIayCXTNWvMyfUh*wANXJ)``4&rNURwSwc4%ke z7E5+!UJ9DmZwW(dZRFn0M^I3JI;fzg4;v!~qZngR7buH?3J(|t6)2#L2=+3lFa|aM zQ$X!Sg%YL`#w_M6mS)CU1~7}YmNAbbg{hVyg&E}88io?KEY=eC1sn?*O4t{0f=Mng z$pR+1!6Xlu<X#Ax>|tpIx0bTlQ&{J42Qz50`Q73}>)9|G6y-B8FuVlCg(i2A5hw{5 zfCwuPVFn^hKm=%*q{tM+G6oTbAi@GfSc19$ytmjh5{nZ{N{VhV7grX8{aw@zlI{Qz z6`(ZBlwW*{1J)}8rA0_@j~yBpx7Z-Py&|xwpnel*6fLtXwFu%Ua1jnBK;?K5C|~{r zg*YVffsz{+6AL2?GZP~dBMT!N669lK`HInN2l*FdNinE*fjR1eHZI5oZWJ;`v8AvF zGiY)biGt!46qm4g1tnup+=Js4)HJCQ0mbYBCP-CK!w?UuUfoz2N?5YFilP`9YMB@r zsx(p<7qHeaf|7R@TMbhdTMCmn11QcGGSxDdu-AYq({Kh;h7^WcraGnwhDe4yrU+O+ zqDmV&k`Em*w}MozItt+4fkG;1@Jk`FL;+mWz63P^G&#Tx@>^`ajzQk8LASWUDk0Mf zw>V&BQ4y%c0LduKIr+)p0c}kd$iO0~u(-vTdW$`^s0cKsh?X&mK(Qgj$iPqxs>>M| znHWVF1sGWvnHYrrvoKZhLnaT%9p?l$*otO?QWUm<9?-Cy6v%FH#4uLz!EM7n#tDiu zaD0JU^`KFu5=Ky81Juv~jV$roK=f-=gPJUwcA8A!FaZ}ASO;f7BZ9I>_9J`?8OroS zX%d1GAP9q90P;==Lo)-Yx01q`%~>Q-!vt!efhsykp$BbFF(s-nGBCJ;isr<URE0!n z)a!A92hKqgDM6_vrA2w5v2=x`{QR8M#5{$xqWoNVQzI`OESH{HmYN6Et&o@wYGIXt zB;e*CH8J#%8z%~x#R`de3i;sKt;8IK#G>?4&}b`YMkXJWTS0^Qi8(n6`9*NE3KEM- zpac90DXAr?MY*8)CS+5QJP?wRiYx=N4@nQ$FC`hN3dyBKMX7lu3IX6TDusfg{N&W) zV#s^}C>;DWS-^$FEw<8vl*E!$aP<RDJetgqv<$8Vg`wsk&tst_>RTMpW?HHOD0V>^ ziGdSTz;hu|G)#piBjG{g`Je<0F3AuCxJ(0;DgrPoIG8v%K!e7bj3Jtipb4$C(vs4m z)cE)!Q1UJUC7mKr3ckewYUU=E<QEl902w?HM1cDHx8zVJt@KhWN>YpR^a?6LnLaZw z9g@vKef1(xqpt|$uOd(run1I;6>)>i0aaB+yr9yX(dQO>JZLN-v7`vxQ{w`)vB7hU z#gK+OxVg?AAD@_$1Db&YkFtV0ao_@^2;5o+HDYhE<tJsOCYOLm!y(NTP#Fv!M7qTh z<{0GZ=;Y&C1j-k;_=;0Y!1Je$;Q7^C++nUk!Jhtp@y@;hw>TlCSiFD0EgmQ{%+V** z^%k3xzrT-vz%4GgXwWTgDBCl{)%O+$Xm+e9wYc~en@@makgMM<wjc-%Q|1~GfY9R@ z;_q8D9TXm*Ar5dUbc-pc<Q7v->Mf?!!dpyvskfNYLAa!-5Tp#$=qf4$vA_*6P(uk) zC4y=#aOHuN#K4IF6#ut4Y;wVqmUf_cEq=nlz#ziJ!3c&-5{wdzJWM={0xV1nObkqn zObkr_Sl9$WkX?WuLbEZl{byog`^Uu0_Lqr;?GF<x+ixZ|wqH!_Y(JSe*nTi^vVCXb zV*AF#&GwavhwTd!FWYA(KDJLx{A?eY1lT?>39`Ls`p+Z^szRao7aIp3GhTE5GjWSB y@-Yd3FcSxu=3(SvVq+9x6k+0F=3wWN09D2;jBxmajfX>!jhTa+Lz;twLmU909m%c$ diff --git a/.venv/lib/python3.8/site-packages/pkg_resources/_vendor/packaging/__pycache__/requirements.cpython-38.pyc b/.venv/lib/python3.8/site-packages/pkg_resources/_vendor/packaging/__pycache__/requirements.cpython-38.pyc deleted file mode 100644 index 7880929ab838c537faf5bfb64586bb9e2eaa060f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3878 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 Pa)3->7W&V`%)<--cJ$^m diff --git a/.venv/lib/python3.8/site-packages/pkg_resources/_vendor/packaging/__pycache__/specifiers.cpython-38.pyc b/.venv/lib/python3.8/site-packages/pkg_resources/_vendor/packaging/__pycache__/specifiers.cpython-38.pyc deleted file mode 100644 index b3499fc16eda16625f122854b94208bd57ccb3b2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 19787 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 UQ^16SQ=p!qo<W!kw82Xn0D@ZG!T<mO diff --git a/.venv/lib/python3.8/site-packages/pkg_resources/_vendor/packaging/__pycache__/utils.cpython-38.pyc b/.venv/lib/python3.8/site-packages/pkg_resources/_vendor/packaging/__pycache__/utils.cpython-38.pyc deleted file mode 100644 index ecc946ba1eb10448d301bd587aabb57bf02ba957..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 466 zcmWIL<>g{vU|=}A?@#hlMh1q*APzESW?*1&U|?V<Hez64NMT4}%wfo7jAG1Xiek!T zj$&p6i81A{M6sl@EMQGxUdR~5mco+4+QJaUp28H&pvm?UWSS=PE&jx$;{2S_lGOOj z+=Bd~l3N@pnPr*9nfZCQ_zH?L^Gf2=O7oISGV}BNs@S4+<Mm>-lNmvJp%}zwVPIfz z202E6fq|ifVF6<bV-3SXrUgt38G;!!nf!h+>S{9I5{^$!%*)TqOis+ntV)e9N=;9# zxW!ytnskdbC%-(kNR#mvOI~7b>Pm(pkl%lK>X+me=oe%b=$7UcBqnF4rs$Suq^9QR z8YLR$CKi?y>lb9F#}}m*=a&{GrxxqSm!;;V<QM6K)F!59=B4YGmSpA>>lIYq5=5~X zWC;(*xlABGFcpE=njE*d;^WgwOG=AU<Kv4!GDV;;E&}=O7E@8`E%xO6+=9%U)FL(p l1_rPmurrYeZUzR1TO2mI`6;D2sdgZZ#UQmJOdQNy%mCArcu)WU diff --git a/.venv/lib/python3.8/site-packages/pkg_resources/_vendor/packaging/__pycache__/version.cpython-38.pyc b/.venv/lib/python3.8/site-packages/pkg_resources/_vendor/packaging/__pycache__/version.cpython-38.pyc deleted file mode 100644 index d594e6a0ba425afb24e40c1b2c873d8c79903345..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10634 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 C9D&RL diff --git a/.venv/lib/python3.8/site-packages/pkg_resources/_vendor/packaging/_compat.py b/.venv/lib/python3.8/site-packages/pkg_resources/_vendor/packaging/_compat.py deleted file mode 100644 index 210bb80..0000000 --- a/.venv/lib/python3.8/site-packages/pkg_resources/_vendor/packaging/_compat.py +++ /dev/null @@ -1,30 +0,0 @@ -# This file is dual licensed under the terms of the Apache License, Version -# 2.0, and the BSD License. See the LICENSE file in the root of this repository -# for complete details. -from __future__ import absolute_import, division, print_function - -import sys - - -PY2 = sys.version_info[0] == 2 -PY3 = sys.version_info[0] == 3 - -# flake8: noqa - -if PY3: - string_types = str, -else: - string_types = basestring, - - -def with_metaclass(meta, *bases): - """ - Create a base class with a metaclass. - """ - # This requires a bit of explanation: the basic idea is to make a dummy - # metaclass for one level of class instantiation that replaces itself with - # the actual metaclass. - class metaclass(meta): - def __new__(cls, name, this_bases, d): - return meta(name, bases, d) - return type.__new__(metaclass, 'temporary_class', (), {}) diff --git a/.venv/lib/python3.8/site-packages/pkg_resources/_vendor/packaging/_structures.py b/.venv/lib/python3.8/site-packages/pkg_resources/_vendor/packaging/_structures.py deleted file mode 100644 index ccc2786..0000000 --- a/.venv/lib/python3.8/site-packages/pkg_resources/_vendor/packaging/_structures.py +++ /dev/null @@ -1,68 +0,0 @@ -# This file is dual licensed under the terms of the Apache License, Version -# 2.0, and the BSD License. See the LICENSE file in the root of this repository -# for complete details. -from __future__ import absolute_import, division, print_function - - -class Infinity(object): - - def __repr__(self): - return "Infinity" - - def __hash__(self): - return hash(repr(self)) - - def __lt__(self, other): - return False - - def __le__(self, other): - return False - - def __eq__(self, other): - return isinstance(other, self.__class__) - - def __ne__(self, other): - return not isinstance(other, self.__class__) - - def __gt__(self, other): - return True - - def __ge__(self, other): - return True - - def __neg__(self): - return NegativeInfinity - -Infinity = Infinity() - - -class NegativeInfinity(object): - - def __repr__(self): - return "-Infinity" - - def __hash__(self): - return hash(repr(self)) - - def __lt__(self, other): - return True - - def __le__(self, other): - return True - - def __eq__(self, other): - return isinstance(other, self.__class__) - - def __ne__(self, other): - return not isinstance(other, self.__class__) - - def __gt__(self, other): - return False - - def __ge__(self, other): - return False - - def __neg__(self): - return Infinity - -NegativeInfinity = NegativeInfinity() diff --git a/.venv/lib/python3.8/site-packages/pkg_resources/_vendor/packaging/markers.py b/.venv/lib/python3.8/site-packages/pkg_resources/_vendor/packaging/markers.py deleted file mode 100644 index 892e578..0000000 --- a/.venv/lib/python3.8/site-packages/pkg_resources/_vendor/packaging/markers.py +++ /dev/null @@ -1,301 +0,0 @@ -# This file is dual licensed under the terms of the Apache License, Version -# 2.0, and the BSD License. See the LICENSE file in the root of this repository -# for complete details. -from __future__ import absolute_import, division, print_function - -import operator -import os -import platform -import sys - -from pkg_resources.extern.pyparsing import ParseException, ParseResults, stringStart, stringEnd -from pkg_resources.extern.pyparsing import ZeroOrMore, Group, Forward, QuotedString -from pkg_resources.extern.pyparsing import Literal as L # noqa - -from ._compat import string_types -from .specifiers import Specifier, InvalidSpecifier - - -__all__ = [ - "InvalidMarker", "UndefinedComparison", "UndefinedEnvironmentName", - "Marker", "default_environment", -] - - -class InvalidMarker(ValueError): - """ - An invalid marker was found, users should refer to PEP 508. - """ - - -class UndefinedComparison(ValueError): - """ - An invalid operation was attempted on a value that doesn't support it. - """ - - -class UndefinedEnvironmentName(ValueError): - """ - A name was attempted to be used that does not exist inside of the - environment. - """ - - -class Node(object): - - def __init__(self, value): - self.value = value - - def __str__(self): - return str(self.value) - - def __repr__(self): - return "<{0}({1!r})>".format(self.__class__.__name__, str(self)) - - def serialize(self): - raise NotImplementedError - - -class Variable(Node): - - def serialize(self): - return str(self) - - -class Value(Node): - - def serialize(self): - return '"{0}"'.format(self) - - -class Op(Node): - - def serialize(self): - return str(self) - - -VARIABLE = ( - L("implementation_version") | - L("platform_python_implementation") | - L("implementation_name") | - L("python_full_version") | - L("platform_release") | - L("platform_version") | - L("platform_machine") | - L("platform_system") | - L("python_version") | - L("sys_platform") | - L("os_name") | - L("os.name") | # PEP-345 - L("sys.platform") | # PEP-345 - L("platform.version") | # PEP-345 - L("platform.machine") | # PEP-345 - L("platform.python_implementation") | # PEP-345 - L("python_implementation") | # undocumented setuptools legacy - L("extra") -) -ALIASES = { - 'os.name': 'os_name', - 'sys.platform': 'sys_platform', - 'platform.version': 'platform_version', - 'platform.machine': 'platform_machine', - 'platform.python_implementation': 'platform_python_implementation', - 'python_implementation': 'platform_python_implementation' -} -VARIABLE.setParseAction(lambda s, l, t: Variable(ALIASES.get(t[0], t[0]))) - -VERSION_CMP = ( - L("===") | - L("==") | - L(">=") | - L("<=") | - L("!=") | - L("~=") | - L(">") | - L("<") -) - -MARKER_OP = VERSION_CMP | L("not in") | L("in") -MARKER_OP.setParseAction(lambda s, l, t: Op(t[0])) - -MARKER_VALUE = QuotedString("'") | QuotedString('"') -MARKER_VALUE.setParseAction(lambda s, l, t: Value(t[0])) - -BOOLOP = L("and") | L("or") - -MARKER_VAR = VARIABLE | MARKER_VALUE - -MARKER_ITEM = Group(MARKER_VAR + MARKER_OP + MARKER_VAR) -MARKER_ITEM.setParseAction(lambda s, l, t: tuple(t[0])) - -LPAREN = L("(").suppress() -RPAREN = L(")").suppress() - -MARKER_EXPR = Forward() -MARKER_ATOM = MARKER_ITEM | Group(LPAREN + MARKER_EXPR + RPAREN) -MARKER_EXPR << MARKER_ATOM + ZeroOrMore(BOOLOP + MARKER_EXPR) - -MARKER = stringStart + MARKER_EXPR + stringEnd - - -def _coerce_parse_result(results): - if isinstance(results, ParseResults): - return [_coerce_parse_result(i) for i in results] - else: - return results - - -def _format_marker(marker, first=True): - assert isinstance(marker, (list, tuple, string_types)) - - # Sometimes we have a structure like [[...]] which is a single item list - # where the single item is itself it's own list. In that case we want skip - # the rest of this function so that we don't get extraneous () on the - # outside. - if (isinstance(marker, list) and len(marker) == 1 and - isinstance(marker[0], (list, tuple))): - return _format_marker(marker[0]) - - if isinstance(marker, list): - inner = (_format_marker(m, first=False) for m in marker) - if first: - return " ".join(inner) - else: - return "(" + " ".join(inner) + ")" - elif isinstance(marker, tuple): - return " ".join([m.serialize() for m in marker]) - else: - return marker - - -_operators = { - "in": lambda lhs, rhs: lhs in rhs, - "not in": lambda lhs, rhs: lhs not in rhs, - "<": operator.lt, - "<=": operator.le, - "==": operator.eq, - "!=": operator.ne, - ">=": operator.ge, - ">": operator.gt, -} - - -def _eval_op(lhs, op, rhs): - try: - spec = Specifier("".join([op.serialize(), rhs])) - except InvalidSpecifier: - pass - else: - return spec.contains(lhs) - - oper = _operators.get(op.serialize()) - if oper is None: - raise UndefinedComparison( - "Undefined {0!r} on {1!r} and {2!r}.".format(op, lhs, rhs) - ) - - return oper(lhs, rhs) - - -_undefined = object() - - -def _get_env(environment, name): - value = environment.get(name, _undefined) - - if value is _undefined: - raise UndefinedEnvironmentName( - "{0!r} does not exist in evaluation environment.".format(name) - ) - - return value - - -def _evaluate_markers(markers, environment): - groups = [[]] - - for marker in markers: - assert isinstance(marker, (list, tuple, string_types)) - - if isinstance(marker, list): - groups[-1].append(_evaluate_markers(marker, environment)) - elif isinstance(marker, tuple): - lhs, op, rhs = marker - - if isinstance(lhs, Variable): - lhs_value = _get_env(environment, lhs.value) - rhs_value = rhs.value - else: - lhs_value = lhs.value - rhs_value = _get_env(environment, rhs.value) - - groups[-1].append(_eval_op(lhs_value, op, rhs_value)) - else: - assert marker in ["and", "or"] - if marker == "or": - groups.append([]) - - return any(all(item) for item in groups) - - -def format_full_version(info): - version = '{0.major}.{0.minor}.{0.micro}'.format(info) - kind = info.releaselevel - if kind != 'final': - version += kind[0] + str(info.serial) - return version - - -def default_environment(): - if hasattr(sys, 'implementation'): - iver = format_full_version(sys.implementation.version) - implementation_name = sys.implementation.name - else: - iver = '0' - implementation_name = '' - - return { - "implementation_name": implementation_name, - "implementation_version": iver, - "os_name": os.name, - "platform_machine": platform.machine(), - "platform_release": platform.release(), - "platform_system": platform.system(), - "platform_version": platform.version(), - "python_full_version": platform.python_version(), - "platform_python_implementation": platform.python_implementation(), - "python_version": platform.python_version()[:3], - "sys_platform": sys.platform, - } - - -class Marker(object): - - def __init__(self, marker): - try: - self._markers = _coerce_parse_result(MARKER.parseString(marker)) - except ParseException as e: - err_str = "Invalid marker: {0!r}, parse error at {1!r}".format( - marker, marker[e.loc:e.loc + 8]) - raise InvalidMarker(err_str) - - def __str__(self): - return _format_marker(self._markers) - - def __repr__(self): - return "<Marker({0!r})>".format(str(self)) - - def evaluate(self, environment=None): - """Evaluate a marker. - - Return the boolean from evaluating the given marker against the - environment. environment is an optional argument to override all or - part of the determined environment. - - The environment is determined from the current Python process. - """ - current_environment = default_environment() - if environment is not None: - current_environment.update(environment) - - return _evaluate_markers(self._markers, current_environment) diff --git a/.venv/lib/python3.8/site-packages/pkg_resources/_vendor/packaging/requirements.py b/.venv/lib/python3.8/site-packages/pkg_resources/_vendor/packaging/requirements.py deleted file mode 100644 index 0c8c4a3..0000000 --- a/.venv/lib/python3.8/site-packages/pkg_resources/_vendor/packaging/requirements.py +++ /dev/null @@ -1,127 +0,0 @@ -# This file is dual licensed under the terms of the Apache License, Version -# 2.0, and the BSD License. See the LICENSE file in the root of this repository -# for complete details. -from __future__ import absolute_import, division, print_function - -import string -import re - -from pkg_resources.extern.pyparsing import stringStart, stringEnd, originalTextFor, ParseException -from pkg_resources.extern.pyparsing import ZeroOrMore, Word, Optional, Regex, Combine -from pkg_resources.extern.pyparsing import Literal as L # noqa -from pkg_resources.extern.six.moves.urllib import parse as urlparse - -from .markers import MARKER_EXPR, Marker -from .specifiers import LegacySpecifier, Specifier, SpecifierSet - - -class InvalidRequirement(ValueError): - """ - An invalid requirement was found, users should refer to PEP 508. - """ - - -ALPHANUM = Word(string.ascii_letters + string.digits) - -LBRACKET = L("[").suppress() -RBRACKET = L("]").suppress() -LPAREN = L("(").suppress() -RPAREN = L(")").suppress() -COMMA = L(",").suppress() -SEMICOLON = L(";").suppress() -AT = L("@").suppress() - -PUNCTUATION = Word("-_.") -IDENTIFIER_END = ALPHANUM | (ZeroOrMore(PUNCTUATION) + ALPHANUM) -IDENTIFIER = Combine(ALPHANUM + ZeroOrMore(IDENTIFIER_END)) - -NAME = IDENTIFIER("name") -EXTRA = IDENTIFIER - -URI = Regex(r'[^ ]+')("url") -URL = (AT + URI) - -EXTRAS_LIST = EXTRA + ZeroOrMore(COMMA + EXTRA) -EXTRAS = (LBRACKET + Optional(EXTRAS_LIST) + RBRACKET)("extras") - -VERSION_PEP440 = Regex(Specifier._regex_str, re.VERBOSE | re.IGNORECASE) -VERSION_LEGACY = Regex(LegacySpecifier._regex_str, re.VERBOSE | re.IGNORECASE) - -VERSION_ONE = VERSION_PEP440 ^ VERSION_LEGACY -VERSION_MANY = Combine(VERSION_ONE + ZeroOrMore(COMMA + VERSION_ONE), - joinString=",", adjacent=False)("_raw_spec") -_VERSION_SPEC = Optional(((LPAREN + VERSION_MANY + RPAREN) | VERSION_MANY)) -_VERSION_SPEC.setParseAction(lambda s, l, t: t._raw_spec or '') - -VERSION_SPEC = originalTextFor(_VERSION_SPEC)("specifier") -VERSION_SPEC.setParseAction(lambda s, l, t: t[1]) - -MARKER_EXPR = originalTextFor(MARKER_EXPR())("marker") -MARKER_EXPR.setParseAction( - lambda s, l, t: Marker(s[t._original_start:t._original_end]) -) -MARKER_SEPERATOR = SEMICOLON -MARKER = MARKER_SEPERATOR + MARKER_EXPR - -VERSION_AND_MARKER = VERSION_SPEC + Optional(MARKER) -URL_AND_MARKER = URL + Optional(MARKER) - -NAMED_REQUIREMENT = \ - NAME + Optional(EXTRAS) + (URL_AND_MARKER | VERSION_AND_MARKER) - -REQUIREMENT = stringStart + NAMED_REQUIREMENT + stringEnd - - -class Requirement(object): - """Parse a requirement. - - Parse a given requirement string into its parts, such as name, specifier, - URL, and extras. Raises InvalidRequirement on a badly-formed requirement - string. - """ - - # TODO: Can we test whether something is contained within a requirement? - # If so how do we do that? Do we need to test against the _name_ of - # the thing as well as the version? What about the markers? - # TODO: Can we normalize the name and extra name? - - def __init__(self, requirement_string): - try: - req = REQUIREMENT.parseString(requirement_string) - except ParseException as e: - raise InvalidRequirement( - "Invalid requirement, parse error at \"{0!r}\"".format( - requirement_string[e.loc:e.loc + 8])) - - self.name = req.name - if req.url: - parsed_url = urlparse.urlparse(req.url) - if not (parsed_url.scheme and parsed_url.netloc) or ( - not parsed_url.scheme and not parsed_url.netloc): - raise InvalidRequirement("Invalid URL given") - self.url = req.url - else: - self.url = None - self.extras = set(req.extras.asList() if req.extras else []) - self.specifier = SpecifierSet(req.specifier) - self.marker = req.marker if req.marker else None - - def __str__(self): - parts = [self.name] - - if self.extras: - parts.append("[{0}]".format(",".join(sorted(self.extras)))) - - if self.specifier: - parts.append(str(self.specifier)) - - if self.url: - parts.append("@ {0}".format(self.url)) - - if self.marker: - parts.append("; {0}".format(self.marker)) - - return "".join(parts) - - def __repr__(self): - return "<Requirement({0!r})>".format(str(self)) diff --git a/.venv/lib/python3.8/site-packages/pkg_resources/_vendor/packaging/specifiers.py b/.venv/lib/python3.8/site-packages/pkg_resources/_vendor/packaging/specifiers.py deleted file mode 100644 index 7f5a76c..0000000 --- a/.venv/lib/python3.8/site-packages/pkg_resources/_vendor/packaging/specifiers.py +++ /dev/null @@ -1,774 +0,0 @@ -# This file is dual licensed under the terms of the Apache License, Version -# 2.0, and the BSD License. See the LICENSE file in the root of this repository -# for complete details. -from __future__ import absolute_import, division, print_function - -import abc -import functools -import itertools -import re - -from ._compat import string_types, with_metaclass -from .version import Version, LegacyVersion, parse - - -class InvalidSpecifier(ValueError): - """ - An invalid specifier was found, users should refer to PEP 440. - """ - - -class BaseSpecifier(with_metaclass(abc.ABCMeta, object)): - - @abc.abstractmethod - def __str__(self): - """ - Returns the str representation of this Specifier like object. This - should be representative of the Specifier itself. - """ - - @abc.abstractmethod - def __hash__(self): - """ - Returns a hash value for this Specifier like object. - """ - - @abc.abstractmethod - def __eq__(self, other): - """ - Returns a boolean representing whether or not the two Specifier like - objects are equal. - """ - - @abc.abstractmethod - def __ne__(self, other): - """ - Returns a boolean representing whether or not the two Specifier like - objects are not equal. - """ - - @abc.abstractproperty - def prereleases(self): - """ - Returns whether or not pre-releases as a whole are allowed by this - specifier. - """ - - @prereleases.setter - def prereleases(self, value): - """ - Sets whether or not pre-releases as a whole are allowed by this - specifier. - """ - - @abc.abstractmethod - def contains(self, item, prereleases=None): - """ - Determines if the given item is contained within this specifier. - """ - - @abc.abstractmethod - def filter(self, iterable, prereleases=None): - """ - Takes an iterable of items and filters them so that only items which - are contained within this specifier are allowed in it. - """ - - -class _IndividualSpecifier(BaseSpecifier): - - _operators = {} - - def __init__(self, spec="", prereleases=None): - match = self._regex.search(spec) - if not match: - raise InvalidSpecifier("Invalid specifier: '{0}'".format(spec)) - - self._spec = ( - match.group("operator").strip(), - match.group("version").strip(), - ) - - # Store whether or not this Specifier should accept prereleases - self._prereleases = prereleases - - def __repr__(self): - pre = ( - ", prereleases={0!r}".format(self.prereleases) - if self._prereleases is not None - else "" - ) - - return "<{0}({1!r}{2})>".format( - self.__class__.__name__, - str(self), - pre, - ) - - def __str__(self): - return "{0}{1}".format(*self._spec) - - def __hash__(self): - return hash(self._spec) - - def __eq__(self, other): - if isinstance(other, string_types): - try: - other = self.__class__(other) - except InvalidSpecifier: - return NotImplemented - elif not isinstance(other, self.__class__): - return NotImplemented - - return self._spec == other._spec - - def __ne__(self, other): - if isinstance(other, string_types): - try: - other = self.__class__(other) - except InvalidSpecifier: - return NotImplemented - elif not isinstance(other, self.__class__): - return NotImplemented - - return self._spec != other._spec - - def _get_operator(self, op): - return getattr(self, "_compare_{0}".format(self._operators[op])) - - def _coerce_version(self, version): - if not isinstance(version, (LegacyVersion, Version)): - version = parse(version) - return version - - @property - def operator(self): - return self._spec[0] - - @property - def version(self): - return self._spec[1] - - @property - def prereleases(self): - return self._prereleases - - @prereleases.setter - def prereleases(self, value): - self._prereleases = value - - def __contains__(self, item): - return self.contains(item) - - def contains(self, item, prereleases=None): - # Determine if prereleases are to be allowed or not. - if prereleases is None: - prereleases = self.prereleases - - # Normalize item to a Version or LegacyVersion, this allows us to have - # a shortcut for ``"2.0" in Specifier(">=2") - item = self._coerce_version(item) - - # Determine if we should be supporting prereleases in this specifier - # or not, if we do not support prereleases than we can short circuit - # logic if this version is a prereleases. - if item.is_prerelease and not prereleases: - return False - - # Actually do the comparison to determine if this item is contained - # within this Specifier or not. - return self._get_operator(self.operator)(item, self.version) - - def filter(self, iterable, prereleases=None): - yielded = False - found_prereleases = [] - - kw = {"prereleases": prereleases if prereleases is not None else True} - - # Attempt to iterate over all the values in the iterable and if any of - # them match, yield them. - for version in iterable: - parsed_version = self._coerce_version(version) - - if self.contains(parsed_version, **kw): - # If our version is a prerelease, and we were not set to allow - # prereleases, then we'll store it for later incase nothing - # else matches this specifier. - if (parsed_version.is_prerelease and not - (prereleases or self.prereleases)): - found_prereleases.append(version) - # Either this is not a prerelease, or we should have been - # accepting prereleases from the begining. - else: - yielded = True - yield version - - # Now that we've iterated over everything, determine if we've yielded - # any values, and if we have not and we have any prereleases stored up - # then we will go ahead and yield the prereleases. - if not yielded and found_prereleases: - for version in found_prereleases: - yield version - - -class LegacySpecifier(_IndividualSpecifier): - - _regex_str = ( - r""" - (?P<operator>(==|!=|<=|>=|<|>)) - \s* - (?P<version> - [^,;\s)]* # Since this is a "legacy" specifier, and the version - # string can be just about anything, we match everything - # except for whitespace, a semi-colon for marker support, - # a closing paren since versions can be enclosed in - # them, and a comma since it's a version separator. - ) - """ - ) - - _regex = re.compile( - r"^\s*" + _regex_str + r"\s*$", re.VERBOSE | re.IGNORECASE) - - _operators = { - "==": "equal", - "!=": "not_equal", - "<=": "less_than_equal", - ">=": "greater_than_equal", - "<": "less_than", - ">": "greater_than", - } - - def _coerce_version(self, version): - if not isinstance(version, LegacyVersion): - version = LegacyVersion(str(version)) - return version - - def _compare_equal(self, prospective, spec): - return prospective == self._coerce_version(spec) - - def _compare_not_equal(self, prospective, spec): - return prospective != self._coerce_version(spec) - - def _compare_less_than_equal(self, prospective, spec): - return prospective <= self._coerce_version(spec) - - def _compare_greater_than_equal(self, prospective, spec): - return prospective >= self._coerce_version(spec) - - def _compare_less_than(self, prospective, spec): - return prospective < self._coerce_version(spec) - - def _compare_greater_than(self, prospective, spec): - return prospective > self._coerce_version(spec) - - -def _require_version_compare(fn): - @functools.wraps(fn) - def wrapped(self, prospective, spec): - if not isinstance(prospective, Version): - return False - return fn(self, prospective, spec) - return wrapped - - -class Specifier(_IndividualSpecifier): - - _regex_str = ( - r""" - (?P<operator>(~=|==|!=|<=|>=|<|>|===)) - (?P<version> - (?: - # The identity operators allow for an escape hatch that will - # do an exact string match of the version you wish to install. - # This will not be parsed by PEP 440 and we cannot determine - # any semantic meaning from it. This operator is discouraged - # but included entirely as an escape hatch. - (?<====) # Only match for the identity operator - \s* - [^\s]* # We just match everything, except for whitespace - # since we are only testing for strict identity. - ) - | - (?: - # The (non)equality operators allow for wild card and local - # versions to be specified so we have to define these two - # operators separately to enable that. - (?<===|!=) # Only match for equals and not equals - - \s* - v? - (?:[0-9]+!)? # epoch - [0-9]+(?:\.[0-9]+)* # release - (?: # pre release - [-_\.]? - (a|b|c|rc|alpha|beta|pre|preview) - [-_\.]? - [0-9]* - )? - (?: # post release - (?:-[0-9]+)|(?:[-_\.]?(post|rev|r)[-_\.]?[0-9]*) - )? - - # You cannot use a wild card and a dev or local version - # together so group them with a | and make them optional. - (?: - (?:[-_\.]?dev[-_\.]?[0-9]*)? # dev release - (?:\+[a-z0-9]+(?:[-_\.][a-z0-9]+)*)? # local - | - \.\* # Wild card syntax of .* - )? - ) - | - (?: - # The compatible operator requires at least two digits in the - # release segment. - (?<=~=) # Only match for the compatible operator - - \s* - v? - (?:[0-9]+!)? # epoch - [0-9]+(?:\.[0-9]+)+ # release (We have a + instead of a *) - (?: # pre release - [-_\.]? - (a|b|c|rc|alpha|beta|pre|preview) - [-_\.]? - [0-9]* - )? - (?: # post release - (?:-[0-9]+)|(?:[-_\.]?(post|rev|r)[-_\.]?[0-9]*) - )? - (?:[-_\.]?dev[-_\.]?[0-9]*)? # dev release - ) - | - (?: - # All other operators only allow a sub set of what the - # (non)equality operators do. Specifically they do not allow - # local versions to be specified nor do they allow the prefix - # matching wild cards. - (?<!==|!=|~=) # We have special cases for these - # operators so we want to make sure they - # don't match here. - - \s* - v? - (?:[0-9]+!)? # epoch - [0-9]+(?:\.[0-9]+)* # release - (?: # pre release - [-_\.]? - (a|b|c|rc|alpha|beta|pre|preview) - [-_\.]? - [0-9]* - )? - (?: # post release - (?:-[0-9]+)|(?:[-_\.]?(post|rev|r)[-_\.]?[0-9]*) - )? - (?:[-_\.]?dev[-_\.]?[0-9]*)? # dev release - ) - ) - """ - ) - - _regex = re.compile( - r"^\s*" + _regex_str + r"\s*$", re.VERBOSE | re.IGNORECASE) - - _operators = { - "~=": "compatible", - "==": "equal", - "!=": "not_equal", - "<=": "less_than_equal", - ">=": "greater_than_equal", - "<": "less_than", - ">": "greater_than", - "===": "arbitrary", - } - - @_require_version_compare - def _compare_compatible(self, prospective, spec): - # Compatible releases have an equivalent combination of >= and ==. That - # is that ~=2.2 is equivalent to >=2.2,==2.*. This allows us to - # implement this in terms of the other specifiers instead of - # implementing it ourselves. The only thing we need to do is construct - # the other specifiers. - - # We want everything but the last item in the version, but we want to - # ignore post and dev releases and we want to treat the pre-release as - # it's own separate segment. - prefix = ".".join( - list( - itertools.takewhile( - lambda x: (not x.startswith("post") and not - x.startswith("dev")), - _version_split(spec), - ) - )[:-1] - ) - - # Add the prefix notation to the end of our string - prefix += ".*" - - return (self._get_operator(">=")(prospective, spec) and - self._get_operator("==")(prospective, prefix)) - - @_require_version_compare - def _compare_equal(self, prospective, spec): - # We need special logic to handle prefix matching - if spec.endswith(".*"): - # In the case of prefix matching we want to ignore local segment. - prospective = Version(prospective.public) - # Split the spec out by dots, and pretend that there is an implicit - # dot in between a release segment and a pre-release segment. - spec = _version_split(spec[:-2]) # Remove the trailing .* - - # Split the prospective version out by dots, and pretend that there - # is an implicit dot in between a release segment and a pre-release - # segment. - prospective = _version_split(str(prospective)) - - # Shorten the prospective version to be the same length as the spec - # so that we can determine if the specifier is a prefix of the - # prospective version or not. - prospective = prospective[:len(spec)] - - # Pad out our two sides with zeros so that they both equal the same - # length. - spec, prospective = _pad_version(spec, prospective) - else: - # Convert our spec string into a Version - spec = Version(spec) - - # If the specifier does not have a local segment, then we want to - # act as if the prospective version also does not have a local - # segment. - if not spec.local: - prospective = Version(prospective.public) - - return prospective == spec - - @_require_version_compare - def _compare_not_equal(self, prospective, spec): - return not self._compare_equal(prospective, spec) - - @_require_version_compare - def _compare_less_than_equal(self, prospective, spec): - return prospective <= Version(spec) - - @_require_version_compare - def _compare_greater_than_equal(self, prospective, spec): - return prospective >= Version(spec) - - @_require_version_compare - def _compare_less_than(self, prospective, spec): - # Convert our spec to a Version instance, since we'll want to work with - # it as a version. - spec = Version(spec) - - # Check to see if the prospective version is less than the spec - # version. If it's not we can short circuit and just return False now - # instead of doing extra unneeded work. - if not prospective < spec: - return False - - # This special case is here so that, unless the specifier itself - # includes is a pre-release version, that we do not accept pre-release - # versions for the version mentioned in the specifier (e.g. <3.1 should - # not match 3.1.dev0, but should match 3.0.dev0). - if not spec.is_prerelease and prospective.is_prerelease: - if Version(prospective.base_version) == Version(spec.base_version): - return False - - # If we've gotten to here, it means that prospective version is both - # less than the spec version *and* it's not a pre-release of the same - # version in the spec. - return True - - @_require_version_compare - def _compare_greater_than(self, prospective, spec): - # Convert our spec to a Version instance, since we'll want to work with - # it as a version. - spec = Version(spec) - - # Check to see if the prospective version is greater than the spec - # version. If it's not we can short circuit and just return False now - # instead of doing extra unneeded work. - if not prospective > spec: - return False - - # This special case is here so that, unless the specifier itself - # includes is a post-release version, that we do not accept - # post-release versions for the version mentioned in the specifier - # (e.g. >3.1 should not match 3.0.post0, but should match 3.2.post0). - if not spec.is_postrelease and prospective.is_postrelease: - if Version(prospective.base_version) == Version(spec.base_version): - return False - - # Ensure that we do not allow a local version of the version mentioned - # in the specifier, which is techincally greater than, to match. - if prospective.local is not None: - if Version(prospective.base_version) == Version(spec.base_version): - return False - - # If we've gotten to here, it means that prospective version is both - # greater than the spec version *and* it's not a pre-release of the - # same version in the spec. - return True - - def _compare_arbitrary(self, prospective, spec): - return str(prospective).lower() == str(spec).lower() - - @property - def prereleases(self): - # If there is an explicit prereleases set for this, then we'll just - # blindly use that. - if self._prereleases is not None: - return self._prereleases - - # Look at all of our specifiers and determine if they are inclusive - # operators, and if they are if they are including an explicit - # prerelease. - operator, version = self._spec - if operator in ["==", ">=", "<=", "~=", "==="]: - # The == specifier can include a trailing .*, if it does we - # want to remove before parsing. - if operator == "==" and version.endswith(".*"): - version = version[:-2] - - # Parse the version, and if it is a pre-release than this - # specifier allows pre-releases. - if parse(version).is_prerelease: - return True - - return False - - @prereleases.setter - def prereleases(self, value): - self._prereleases = value - - -_prefix_regex = re.compile(r"^([0-9]+)((?:a|b|c|rc)[0-9]+)$") - - -def _version_split(version): - result = [] - for item in version.split("."): - match = _prefix_regex.search(item) - if match: - result.extend(match.groups()) - else: - result.append(item) - return result - - -def _pad_version(left, right): - left_split, right_split = [], [] - - # Get the release segment of our versions - left_split.append(list(itertools.takewhile(lambda x: x.isdigit(), left))) - right_split.append(list(itertools.takewhile(lambda x: x.isdigit(), right))) - - # Get the rest of our versions - left_split.append(left[len(left_split[0]):]) - right_split.append(right[len(right_split[0]):]) - - # Insert our padding - left_split.insert( - 1, - ["0"] * max(0, len(right_split[0]) - len(left_split[0])), - ) - right_split.insert( - 1, - ["0"] * max(0, len(left_split[0]) - len(right_split[0])), - ) - - return ( - list(itertools.chain(*left_split)), - list(itertools.chain(*right_split)), - ) - - -class SpecifierSet(BaseSpecifier): - - def __init__(self, specifiers="", prereleases=None): - # Split on , to break each indidivual specifier into it's own item, and - # strip each item to remove leading/trailing whitespace. - specifiers = [s.strip() for s in specifiers.split(",") if s.strip()] - - # Parsed each individual specifier, attempting first to make it a - # Specifier and falling back to a LegacySpecifier. - parsed = set() - for specifier in specifiers: - try: - parsed.add(Specifier(specifier)) - except InvalidSpecifier: - parsed.add(LegacySpecifier(specifier)) - - # Turn our parsed specifiers into a frozen set and save them for later. - self._specs = frozenset(parsed) - - # Store our prereleases value so we can use it later to determine if - # we accept prereleases or not. - self._prereleases = prereleases - - def __repr__(self): - pre = ( - ", prereleases={0!r}".format(self.prereleases) - if self._prereleases is not None - else "" - ) - - return "<SpecifierSet({0!r}{1})>".format(str(self), pre) - - def __str__(self): - return ",".join(sorted(str(s) for s in self._specs)) - - def __hash__(self): - return hash(self._specs) - - def __and__(self, other): - if isinstance(other, string_types): - other = SpecifierSet(other) - elif not isinstance(other, SpecifierSet): - return NotImplemented - - specifier = SpecifierSet() - specifier._specs = frozenset(self._specs | other._specs) - - if self._prereleases is None and other._prereleases is not None: - specifier._prereleases = other._prereleases - elif self._prereleases is not None and other._prereleases is None: - specifier._prereleases = self._prereleases - elif self._prereleases == other._prereleases: - specifier._prereleases = self._prereleases - else: - raise ValueError( - "Cannot combine SpecifierSets with True and False prerelease " - "overrides." - ) - - return specifier - - def __eq__(self, other): - if isinstance(other, string_types): - other = SpecifierSet(other) - elif isinstance(other, _IndividualSpecifier): - other = SpecifierSet(str(other)) - elif not isinstance(other, SpecifierSet): - return NotImplemented - - return self._specs == other._specs - - def __ne__(self, other): - if isinstance(other, string_types): - other = SpecifierSet(other) - elif isinstance(other, _IndividualSpecifier): - other = SpecifierSet(str(other)) - elif not isinstance(other, SpecifierSet): - return NotImplemented - - return self._specs != other._specs - - def __len__(self): - return len(self._specs) - - def __iter__(self): - return iter(self._specs) - - @property - def prereleases(self): - # If we have been given an explicit prerelease modifier, then we'll - # pass that through here. - if self._prereleases is not None: - return self._prereleases - - # If we don't have any specifiers, and we don't have a forced value, - # then we'll just return None since we don't know if this should have - # pre-releases or not. - if not self._specs: - return None - - # Otherwise we'll see if any of the given specifiers accept - # prereleases, if any of them do we'll return True, otherwise False. - return any(s.prereleases for s in self._specs) - - @prereleases.setter - def prereleases(self, value): - self._prereleases = value - - def __contains__(self, item): - return self.contains(item) - - def contains(self, item, prereleases=None): - # Ensure that our item is a Version or LegacyVersion instance. - if not isinstance(item, (LegacyVersion, Version)): - item = parse(item) - - # Determine if we're forcing a prerelease or not, if we're not forcing - # one for this particular filter call, then we'll use whatever the - # SpecifierSet thinks for whether or not we should support prereleases. - if prereleases is None: - prereleases = self.prereleases - - # We can determine if we're going to allow pre-releases by looking to - # see if any of the underlying items supports them. If none of them do - # and this item is a pre-release then we do not allow it and we can - # short circuit that here. - # Note: This means that 1.0.dev1 would not be contained in something - # like >=1.0.devabc however it would be in >=1.0.debabc,>0.0.dev0 - if not prereleases and item.is_prerelease: - return False - - # We simply dispatch to the underlying specs here to make sure that the - # given version is contained within all of them. - # Note: This use of all() here means that an empty set of specifiers - # will always return True, this is an explicit design decision. - return all( - s.contains(item, prereleases=prereleases) - for s in self._specs - ) - - def filter(self, iterable, prereleases=None): - # Determine if we're forcing a prerelease or not, if we're not forcing - # one for this particular filter call, then we'll use whatever the - # SpecifierSet thinks for whether or not we should support prereleases. - if prereleases is None: - prereleases = self.prereleases - - # If we have any specifiers, then we want to wrap our iterable in the - # filter method for each one, this will act as a logical AND amongst - # each specifier. - if self._specs: - for spec in self._specs: - iterable = spec.filter(iterable, prereleases=bool(prereleases)) - return iterable - # If we do not have any specifiers, then we need to have a rough filter - # which will filter out any pre-releases, unless there are no final - # releases, and which will filter out LegacyVersion in general. - else: - filtered = [] - found_prereleases = [] - - for item in iterable: - # Ensure that we some kind of Version class for this item. - if not isinstance(item, (LegacyVersion, Version)): - parsed_version = parse(item) - else: - parsed_version = item - - # Filter out any item which is parsed as a LegacyVersion - if isinstance(parsed_version, LegacyVersion): - continue - - # Store any item which is a pre-release for later unless we've - # already found a final version or we are accepting prereleases - if parsed_version.is_prerelease and not prereleases: - if not filtered: - found_prereleases.append(item) - else: - filtered.append(item) - - # If we've found no items except for pre-releases, then we'll go - # ahead and use the pre-releases - if not filtered and found_prereleases and prereleases is None: - return found_prereleases - - return filtered diff --git a/.venv/lib/python3.8/site-packages/pkg_resources/_vendor/packaging/utils.py b/.venv/lib/python3.8/site-packages/pkg_resources/_vendor/packaging/utils.py deleted file mode 100644 index 942387c..0000000 --- a/.venv/lib/python3.8/site-packages/pkg_resources/_vendor/packaging/utils.py +++ /dev/null @@ -1,14 +0,0 @@ -# This file is dual licensed under the terms of the Apache License, Version -# 2.0, and the BSD License. See the LICENSE file in the root of this repository -# for complete details. -from __future__ import absolute_import, division, print_function - -import re - - -_canonicalize_regex = re.compile(r"[-_.]+") - - -def canonicalize_name(name): - # This is taken from PEP 503. - return _canonicalize_regex.sub("-", name).lower() diff --git a/.venv/lib/python3.8/site-packages/pkg_resources/_vendor/packaging/version.py b/.venv/lib/python3.8/site-packages/pkg_resources/_vendor/packaging/version.py deleted file mode 100644 index 83b5ee8..0000000 --- a/.venv/lib/python3.8/site-packages/pkg_resources/_vendor/packaging/version.py +++ /dev/null @@ -1,393 +0,0 @@ -# This file is dual licensed under the terms of the Apache License, Version -# 2.0, and the BSD License. See the LICENSE file in the root of this repository -# for complete details. -from __future__ import absolute_import, division, print_function - -import collections -import itertools -import re - -from ._structures import Infinity - - -__all__ = [ - "parse", "Version", "LegacyVersion", "InvalidVersion", "VERSION_PATTERN" -] - - -_Version = collections.namedtuple( - "_Version", - ["epoch", "release", "dev", "pre", "post", "local"], -) - - -def parse(version): - """ - Parse the given version string and return either a :class:`Version` object - or a :class:`LegacyVersion` object depending on if the given version is - a valid PEP 440 version or a legacy version. - """ - try: - return Version(version) - except InvalidVersion: - return LegacyVersion(version) - - -class InvalidVersion(ValueError): - """ - An invalid version was found, users should refer to PEP 440. - """ - - -class _BaseVersion(object): - - def __hash__(self): - return hash(self._key) - - def __lt__(self, other): - return self._compare(other, lambda s, o: s < o) - - def __le__(self, other): - return self._compare(other, lambda s, o: s <= o) - - def __eq__(self, other): - return self._compare(other, lambda s, o: s == o) - - def __ge__(self, other): - return self._compare(other, lambda s, o: s >= o) - - def __gt__(self, other): - return self._compare(other, lambda s, o: s > o) - - def __ne__(self, other): - return self._compare(other, lambda s, o: s != o) - - def _compare(self, other, method): - if not isinstance(other, _BaseVersion): - return NotImplemented - - return method(self._key, other._key) - - -class LegacyVersion(_BaseVersion): - - def __init__(self, version): - self._version = str(version) - self._key = _legacy_cmpkey(self._version) - - def __str__(self): - return self._version - - def __repr__(self): - return "<LegacyVersion({0})>".format(repr(str(self))) - - @property - def public(self): - return self._version - - @property - def base_version(self): - return self._version - - @property - def local(self): - return None - - @property - def is_prerelease(self): - return False - - @property - def is_postrelease(self): - return False - - -_legacy_version_component_re = re.compile( - r"(\d+ | [a-z]+ | \.| -)", re.VERBOSE, -) - -_legacy_version_replacement_map = { - "pre": "c", "preview": "c", "-": "final-", "rc": "c", "dev": "@", -} - - -def _parse_version_parts(s): - for part in _legacy_version_component_re.split(s): - part = _legacy_version_replacement_map.get(part, part) - - if not part or part == ".": - continue - - if part[:1] in "0123456789": - # pad for numeric comparison - yield part.zfill(8) - else: - yield "*" + part - - # ensure that alpha/beta/candidate are before final - yield "*final" - - -def _legacy_cmpkey(version): - # We hardcode an epoch of -1 here. A PEP 440 version can only have a epoch - # greater than or equal to 0. This will effectively put the LegacyVersion, - # which uses the defacto standard originally implemented by setuptools, - # as before all PEP 440 versions. - epoch = -1 - - # This scheme is taken from pkg_resources.parse_version setuptools prior to - # it's adoption of the packaging library. - parts = [] - for part in _parse_version_parts(version.lower()): - if part.startswith("*"): - # remove "-" before a prerelease tag - if part < "*final": - while parts and parts[-1] == "*final-": - parts.pop() - - # remove trailing zeros from each series of numeric parts - while parts and parts[-1] == "00000000": - parts.pop() - - parts.append(part) - parts = tuple(parts) - - return epoch, parts - -# Deliberately not anchored to the start and end of the string, to make it -# easier for 3rd party code to reuse -VERSION_PATTERN = r""" - v? - (?: - (?:(?P<epoch>[0-9]+)!)? # epoch - (?P<release>[0-9]+(?:\.[0-9]+)*) # release segment - (?P<pre> # pre-release - [-_\.]? - (?P<pre_l>(a|b|c|rc|alpha|beta|pre|preview)) - [-_\.]? - (?P<pre_n>[0-9]+)? - )? - (?P<post> # post release - (?:-(?P<post_n1>[0-9]+)) - | - (?: - [-_\.]? - (?P<post_l>post|rev|r) - [-_\.]? - (?P<post_n2>[0-9]+)? - ) - )? - (?P<dev> # dev release - [-_\.]? - (?P<dev_l>dev) - [-_\.]? - (?P<dev_n>[0-9]+)? - )? - ) - (?:\+(?P<local>[a-z0-9]+(?:[-_\.][a-z0-9]+)*))? # local version -""" - - -class Version(_BaseVersion): - - _regex = re.compile( - r"^\s*" + VERSION_PATTERN + r"\s*$", - re.VERBOSE | re.IGNORECASE, - ) - - def __init__(self, version): - # Validate the version and parse it into pieces - match = self._regex.search(version) - if not match: - raise InvalidVersion("Invalid version: '{0}'".format(version)) - - # Store the parsed out pieces of the version - self._version = _Version( - epoch=int(match.group("epoch")) if match.group("epoch") else 0, - release=tuple(int(i) for i in match.group("release").split(".")), - pre=_parse_letter_version( - match.group("pre_l"), - match.group("pre_n"), - ), - post=_parse_letter_version( - match.group("post_l"), - match.group("post_n1") or match.group("post_n2"), - ), - dev=_parse_letter_version( - match.group("dev_l"), - match.group("dev_n"), - ), - local=_parse_local_version(match.group("local")), - ) - - # Generate a key which will be used for sorting - self._key = _cmpkey( - self._version.epoch, - self._version.release, - self._version.pre, - self._version.post, - self._version.dev, - self._version.local, - ) - - def __repr__(self): - return "<Version({0})>".format(repr(str(self))) - - def __str__(self): - parts = [] - - # Epoch - if self._version.epoch != 0: - parts.append("{0}!".format(self._version.epoch)) - - # Release segment - parts.append(".".join(str(x) for x in self._version.release)) - - # Pre-release - if self._version.pre is not None: - parts.append("".join(str(x) for x in self._version.pre)) - - # Post-release - if self._version.post is not None: - parts.append(".post{0}".format(self._version.post[1])) - - # Development release - if self._version.dev is not None: - parts.append(".dev{0}".format(self._version.dev[1])) - - # Local version segment - if self._version.local is not None: - parts.append( - "+{0}".format(".".join(str(x) for x in self._version.local)) - ) - - return "".join(parts) - - @property - def public(self): - return str(self).split("+", 1)[0] - - @property - def base_version(self): - parts = [] - - # Epoch - if self._version.epoch != 0: - parts.append("{0}!".format(self._version.epoch)) - - # Release segment - parts.append(".".join(str(x) for x in self._version.release)) - - return "".join(parts) - - @property - def local(self): - version_string = str(self) - if "+" in version_string: - return version_string.split("+", 1)[1] - - @property - def is_prerelease(self): - return bool(self._version.dev or self._version.pre) - - @property - def is_postrelease(self): - return bool(self._version.post) - - -def _parse_letter_version(letter, number): - if letter: - # We consider there to be an implicit 0 in a pre-release if there is - # not a numeral associated with it. - if number is None: - number = 0 - - # We normalize any letters to their lower case form - letter = letter.lower() - - # We consider some words to be alternate spellings of other words and - # in those cases we want to normalize the spellings to our preferred - # spelling. - if letter == "alpha": - letter = "a" - elif letter == "beta": - letter = "b" - elif letter in ["c", "pre", "preview"]: - letter = "rc" - elif letter in ["rev", "r"]: - letter = "post" - - return letter, int(number) - if not letter and number: - # We assume if we are given a number, but we are not given a letter - # then this is using the implicit post release syntax (e.g. 1.0-1) - letter = "post" - - return letter, int(number) - - -_local_version_seperators = re.compile(r"[\._-]") - - -def _parse_local_version(local): - """ - Takes a string like abc.1.twelve and turns it into ("abc", 1, "twelve"). - """ - if local is not None: - return tuple( - part.lower() if not part.isdigit() else int(part) - for part in _local_version_seperators.split(local) - ) - - -def _cmpkey(epoch, release, pre, post, dev, local): - # When we compare a release version, we want to compare it with all of the - # trailing zeros removed. So we'll use a reverse the list, drop all the now - # leading zeros until we come to something non zero, then take the rest - # re-reverse it back into the correct order and make it a tuple and use - # that for our sorting key. - release = tuple( - reversed(list( - itertools.dropwhile( - lambda x: x == 0, - reversed(release), - ) - )) - ) - - # We need to "trick" the sorting algorithm to put 1.0.dev0 before 1.0a0. - # We'll do this by abusing the pre segment, but we _only_ want to do this - # if there is not a pre or a post segment. If we have one of those then - # the normal sorting rules will handle this case correctly. - if pre is None and post is None and dev is not None: - pre = -Infinity - # Versions without a pre-release (except as noted above) should sort after - # those with one. - elif pre is None: - pre = Infinity - - # Versions without a post segment should sort before those with one. - if post is None: - post = -Infinity - - # Versions without a development segment should sort after those with one. - if dev is None: - dev = Infinity - - if local is None: - # Versions without a local segment should sort before those with one. - local = -Infinity - else: - # Versions with a local segment need that segment parsed to implement - # the sorting rules in PEP440. - # - Alpha numeric segments sort before numeric segments - # - Alpha numeric segments sort lexicographically - # - Numeric segments sort numerically - # - Shorter versions sort before longer versions when the prefixes - # match exactly - local = tuple( - (i, "") if isinstance(i, int) else (-Infinity, i) - for i in local - ) - - return epoch, release, pre, post, dev, local diff --git a/.venv/lib/python3.8/site-packages/pkg_resources/_vendor/pyparsing.py b/.venv/lib/python3.8/site-packages/pkg_resources/_vendor/pyparsing.py deleted file mode 100644 index cf75e1e..0000000 --- a/.venv/lib/python3.8/site-packages/pkg_resources/_vendor/pyparsing.py +++ /dev/null @@ -1,5742 +0,0 @@ -# module pyparsing.py -# -# Copyright (c) 2003-2018 Paul T. McGuire -# -# Permission is hereby granted, free of charge, to any person obtaining -# a copy of this software and associated documentation files (the -# "Software"), to deal in the Software without restriction, including -# without limitation the rights to use, copy, modify, merge, publish, -# distribute, sublicense, and/or sell copies of the Software, and to -# permit persons to whom the Software is furnished to do so, subject to -# the following conditions: -# -# The above copyright notice and this permission notice shall be -# included in all copies or substantial portions of the Software. -# -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -# IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -# CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -# TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -# SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -# - -__doc__ = \ -""" -pyparsing module - Classes and methods to define and execute parsing grammars -============================================================================= - -The pyparsing module is an alternative approach to creating and executing simple grammars, -vs. the traditional lex/yacc approach, or the use of regular expressions. With pyparsing, you -don't need to learn a new syntax for defining grammars or matching expressions - the parsing module -provides a library of classes that you use to construct the grammar directly in Python. - -Here is a program to parse "Hello, World!" (or any greeting of the form -C{"<salutation>, <addressee>!"}), built up using L{Word}, L{Literal}, and L{And} elements -(L{'+'<ParserElement.__add__>} operator gives L{And} expressions, strings are auto-converted to -L{Literal} expressions):: - - from pyparsing import Word, alphas - - # define grammar of a greeting - greet = Word(alphas) + "," + Word(alphas) + "!" - - hello = "Hello, World!" - print (hello, "->", greet.parseString(hello)) - -The program outputs the following:: - - Hello, World! -> ['Hello', ',', 'World', '!'] - -The Python representation of the grammar is quite readable, owing to the self-explanatory -class names, and the use of '+', '|' and '^' operators. - -The L{ParseResults} object returned from L{ParserElement.parseString<ParserElement.parseString>} can be accessed as a nested list, a dictionary, or an -object with named attributes. - -The pyparsing module handles some of the problems that are typically vexing when writing text parsers: - - extra or missing whitespace (the above program will also handle "Hello,World!", "Hello , World !", etc.) - - quoted strings - - embedded comments - - -Getting Started - ------------------ -Visit the classes L{ParserElement} and L{ParseResults} to see the base classes that most other pyparsing -classes inherit from. Use the docstrings for examples of how to: - - construct literal match expressions from L{Literal} and L{CaselessLiteral} classes - - construct character word-group expressions using the L{Word} class - - see how to create repetitive expressions using L{ZeroOrMore} and L{OneOrMore} classes - - use L{'+'<And>}, L{'|'<MatchFirst>}, L{'^'<Or>}, and L{'&'<Each>} operators to combine simple expressions into more complex ones - - associate names with your parsed results using L{ParserElement.setResultsName} - - find some helpful expression short-cuts like L{delimitedList} and L{oneOf} - - find more useful common expressions in the L{pyparsing_common} namespace class -""" - -__version__ = "2.2.1" -__versionTime__ = "18 Sep 2018 00:49 UTC" -__author__ = "Paul McGuire <ptmcg@users.sourceforge.net>" - -import string -from weakref import ref as wkref -import copy -import sys -import warnings -import re -import sre_constants -import collections -import pprint -import traceback -import types -from datetime import datetime - -try: - from _thread import RLock -except ImportError: - from threading import RLock - -try: - # Python 3 - from collections.abc import Iterable - from collections.abc import MutableMapping -except ImportError: - # Python 2.7 - from collections import Iterable - from collections import MutableMapping - -try: - from collections import OrderedDict as _OrderedDict -except ImportError: - try: - from ordereddict import OrderedDict as _OrderedDict - except ImportError: - _OrderedDict = None - -#~ sys.stderr.write( "testing pyparsing module, version %s, %s\n" % (__version__,__versionTime__ ) ) - -__all__ = [ -'And', 'CaselessKeyword', 'CaselessLiteral', 'CharsNotIn', 'Combine', 'Dict', 'Each', 'Empty', -'FollowedBy', 'Forward', 'GoToColumn', 'Group', 'Keyword', 'LineEnd', 'LineStart', 'Literal', -'MatchFirst', 'NoMatch', 'NotAny', 'OneOrMore', 'OnlyOnce', 'Optional', 'Or', -'ParseBaseException', 'ParseElementEnhance', 'ParseException', 'ParseExpression', 'ParseFatalException', -'ParseResults', 'ParseSyntaxException', 'ParserElement', 'QuotedString', 'RecursiveGrammarException', -'Regex', 'SkipTo', 'StringEnd', 'StringStart', 'Suppress', 'Token', 'TokenConverter', -'White', 'Word', 'WordEnd', 'WordStart', 'ZeroOrMore', -'alphanums', 'alphas', 'alphas8bit', 'anyCloseTag', 'anyOpenTag', 'cStyleComment', 'col', -'commaSeparatedList', 'commonHTMLEntity', 'countedArray', 'cppStyleComment', 'dblQuotedString', -'dblSlashComment', 'delimitedList', 'dictOf', 'downcaseTokens', 'empty', 'hexnums', -'htmlComment', 'javaStyleComment', 'line', 'lineEnd', 'lineStart', 'lineno', -'makeHTMLTags', 'makeXMLTags', 'matchOnlyAtCol', 'matchPreviousExpr', 'matchPreviousLiteral', -'nestedExpr', 'nullDebugAction', 'nums', 'oneOf', 'opAssoc', 'operatorPrecedence', 'printables', -'punc8bit', 'pythonStyleComment', 'quotedString', 'removeQuotes', 'replaceHTMLEntity', -'replaceWith', 'restOfLine', 'sglQuotedString', 'srange', 'stringEnd', -'stringStart', 'traceParseAction', 'unicodeString', 'upcaseTokens', 'withAttribute', -'indentedBlock', 'originalTextFor', 'ungroup', 'infixNotation','locatedExpr', 'withClass', -'CloseMatch', 'tokenMap', 'pyparsing_common', -] - -system_version = tuple(sys.version_info)[:3] -PY_3 = system_version[0] == 3 -if PY_3: - _MAX_INT = sys.maxsize - basestring = str - unichr = chr - _ustr = str - - # build list of single arg builtins, that can be used as parse actions - singleArgBuiltins = [sum, len, sorted, reversed, list, tuple, set, any, all, min, max] - -else: - _MAX_INT = sys.maxint - range = xrange - - def _ustr(obj): - """Drop-in replacement for str(obj) that tries to be Unicode friendly. It first tries - str(obj). If that fails with a UnicodeEncodeError, then it tries unicode(obj). It - then < returns the unicode object | encodes it with the default encoding | ... >. - """ - if isinstance(obj,unicode): - return obj - - try: - # If this works, then _ustr(obj) has the same behaviour as str(obj), so - # it won't break any existing code. - return str(obj) - - except UnicodeEncodeError: - # Else encode it - ret = unicode(obj).encode(sys.getdefaultencoding(), 'xmlcharrefreplace') - xmlcharref = Regex(r'&#\d+;') - xmlcharref.setParseAction(lambda t: '\\u' + hex(int(t[0][2:-1]))[2:]) - return xmlcharref.transformString(ret) - - # build list of single arg builtins, tolerant of Python version, that can be used as parse actions - singleArgBuiltins = [] - import __builtin__ - for fname in "sum len sorted reversed list tuple set any all min max".split(): - try: - singleArgBuiltins.append(getattr(__builtin__,fname)) - except AttributeError: - continue - -_generatorType = type((y for y in range(1))) - -def _xml_escape(data): - """Escape &, <, >, ", ', etc. in a string of data.""" - - # ampersand must be replaced first - from_symbols = '&><"\'' - to_symbols = ('&'+s+';' for s in "amp gt lt quot apos".split()) - for from_,to_ in zip(from_symbols, to_symbols): - data = data.replace(from_, to_) - return data - -class _Constants(object): - pass - -alphas = string.ascii_uppercase + string.ascii_lowercase -nums = "0123456789" -hexnums = nums + "ABCDEFabcdef" -alphanums = alphas + nums -_bslash = chr(92) -printables = "".join(c for c in string.printable if c not in string.whitespace) - -class ParseBaseException(Exception): - """base exception class for all parsing runtime exceptions""" - # Performance tuning: we construct a *lot* of these, so keep this - # constructor as small and fast as possible - def __init__( self, pstr, loc=0, msg=None, elem=None ): - self.loc = loc - if msg is None: - self.msg = pstr - self.pstr = "" - else: - self.msg = msg - self.pstr = pstr - self.parserElement = elem - self.args = (pstr, loc, msg) - - @classmethod - def _from_exception(cls, pe): - """ - internal factory method to simplify creating one type of ParseException - from another - avoids having __init__ signature conflicts among subclasses - """ - return cls(pe.pstr, pe.loc, pe.msg, pe.parserElement) - - def __getattr__( self, aname ): - """supported attributes by name are: - - lineno - returns the line number of the exception text - - col - returns the column number of the exception text - - line - returns the line containing the exception text - """ - if( aname == "lineno" ): - return lineno( self.loc, self.pstr ) - elif( aname in ("col", "column") ): - return col( self.loc, self.pstr ) - elif( aname == "line" ): - return line( self.loc, self.pstr ) - else: - raise AttributeError(aname) - - def __str__( self ): - return "%s (at char %d), (line:%d, col:%d)" % \ - ( self.msg, self.loc, self.lineno, self.column ) - def __repr__( self ): - return _ustr(self) - def markInputline( self, markerString = ">!<" ): - """Extracts the exception line from the input string, and marks - the location of the exception with a special symbol. - """ - line_str = self.line - line_column = self.column - 1 - if markerString: - line_str = "".join((line_str[:line_column], - markerString, line_str[line_column:])) - return line_str.strip() - def __dir__(self): - return "lineno col line".split() + dir(type(self)) - -class ParseException(ParseBaseException): - """ - Exception thrown when parse expressions don't match class; - supported attributes by name are: - - lineno - returns the line number of the exception text - - col - returns the column number of the exception text - - line - returns the line containing the exception text - - Example:: - try: - Word(nums).setName("integer").parseString("ABC") - except ParseException as pe: - print(pe) - print("column: {}".format(pe.col)) - - prints:: - Expected integer (at char 0), (line:1, col:1) - column: 1 - """ - pass - -class ParseFatalException(ParseBaseException): - """user-throwable exception thrown when inconsistent parse content - is found; stops all parsing immediately""" - pass - -class ParseSyntaxException(ParseFatalException): - """just like L{ParseFatalException}, but thrown internally when an - L{ErrorStop<And._ErrorStop>} ('-' operator) indicates that parsing is to stop - immediately because an unbacktrackable syntax error has been found""" - pass - -#~ class ReparseException(ParseBaseException): - #~ """Experimental class - parse actions can raise this exception to cause - #~ pyparsing to reparse the input string: - #~ - with a modified input string, and/or - #~ - with a modified start location - #~ Set the values of the ReparseException in the constructor, and raise the - #~ exception in a parse action to cause pyparsing to use the new string/location. - #~ Setting the values as None causes no change to be made. - #~ """ - #~ def __init_( self, newstring, restartLoc ): - #~ self.newParseText = newstring - #~ self.reparseLoc = restartLoc - -class RecursiveGrammarException(Exception): - """exception thrown by L{ParserElement.validate} if the grammar could be improperly recursive""" - def __init__( self, parseElementList ): - self.parseElementTrace = parseElementList - - def __str__( self ): - return "RecursiveGrammarException: %s" % self.parseElementTrace - -class _ParseResultsWithOffset(object): - def __init__(self,p1,p2): - self.tup = (p1,p2) - def __getitem__(self,i): - return self.tup[i] - def __repr__(self): - return repr(self.tup[0]) - def setOffset(self,i): - self.tup = (self.tup[0],i) - -class ParseResults(object): - """ - Structured parse results, to provide multiple means of access to the parsed data: - - as a list (C{len(results)}) - - by list index (C{results[0], results[1]}, etc.) - - by attribute (C{results.<resultsName>} - see L{ParserElement.setResultsName}) - - Example:: - integer = Word(nums) - date_str = (integer.setResultsName("year") + '/' - + integer.setResultsName("month") + '/' - + integer.setResultsName("day")) - # equivalent form: - # date_str = integer("year") + '/' + integer("month") + '/' + integer("day") - - # parseString returns a ParseResults object - result = date_str.parseString("1999/12/31") - - def test(s, fn=repr): - print("%s -> %s" % (s, fn(eval(s)))) - test("list(result)") - test("result[0]") - test("result['month']") - test("result.day") - test("'month' in result") - test("'minutes' in result") - test("result.dump()", str) - prints:: - list(result) -> ['1999', '/', '12', '/', '31'] - result[0] -> '1999' - result['month'] -> '12' - result.day -> '31' - 'month' in result -> True - 'minutes' in result -> False - result.dump() -> ['1999', '/', '12', '/', '31'] - - day: 31 - - month: 12 - - year: 1999 - """ - def __new__(cls, toklist=None, name=None, asList=True, modal=True ): - if isinstance(toklist, cls): - return toklist - retobj = object.__new__(cls) - retobj.__doinit = True - return retobj - - # Performance tuning: we construct a *lot* of these, so keep this - # constructor as small and fast as possible - def __init__( self, toklist=None, name=None, asList=True, modal=True, isinstance=isinstance ): - if self.__doinit: - self.__doinit = False - self.__name = None - self.__parent = None - self.__accumNames = {} - self.__asList = asList - self.__modal = modal - if toklist is None: - toklist = [] - if isinstance(toklist, list): - self.__toklist = toklist[:] - elif isinstance(toklist, _generatorType): - self.__toklist = list(toklist) - else: - self.__toklist = [toklist] - self.__tokdict = dict() - - if name is not None and name: - if not modal: - self.__accumNames[name] = 0 - if isinstance(name,int): - name = _ustr(name) # will always return a str, but use _ustr for consistency - self.__name = name - if not (isinstance(toklist, (type(None), basestring, list)) and toklist in (None,'',[])): - if isinstance(toklist,basestring): - toklist = [ toklist ] - if asList: - if isinstance(toklist,ParseResults): - self[name] = _ParseResultsWithOffset(toklist.copy(),0) - else: - self[name] = _ParseResultsWithOffset(ParseResults(toklist[0]),0) - self[name].__name = name - else: - try: - self[name] = toklist[0] - except (KeyError,TypeError,IndexError): - self[name] = toklist - - def __getitem__( self, i ): - if isinstance( i, (int,slice) ): - return self.__toklist[i] - else: - if i not in self.__accumNames: - return self.__tokdict[i][-1][0] - else: - return ParseResults([ v[0] for v in self.__tokdict[i] ]) - - def __setitem__( self, k, v, isinstance=isinstance ): - if isinstance(v,_ParseResultsWithOffset): - self.__tokdict[k] = self.__tokdict.get(k,list()) + [v] - sub = v[0] - elif isinstance(k,(int,slice)): - self.__toklist[k] = v - sub = v - else: - self.__tokdict[k] = self.__tokdict.get(k,list()) + [_ParseResultsWithOffset(v,0)] - sub = v - if isinstance(sub,ParseResults): - sub.__parent = wkref(self) - - def __delitem__( self, i ): - if isinstance(i,(int,slice)): - mylen = len( self.__toklist ) - del self.__toklist[i] - - # convert int to slice - if isinstance(i, int): - if i < 0: - i += mylen - i = slice(i, i+1) - # get removed indices - removed = list(range(*i.indices(mylen))) - removed.reverse() - # fixup indices in token dictionary - for name,occurrences in self.__tokdict.items(): - for j in removed: - for k, (value, position) in enumerate(occurrences): - occurrences[k] = _ParseResultsWithOffset(value, position - (position > j)) - else: - del self.__tokdict[i] - - def __contains__( self, k ): - return k in self.__tokdict - - def __len__( self ): return len( self.__toklist ) - def __bool__(self): return ( not not self.__toklist ) - __nonzero__ = __bool__ - def __iter__( self ): return iter( self.__toklist ) - def __reversed__( self ): return iter( self.__toklist[::-1] ) - def _iterkeys( self ): - if hasattr(self.__tokdict, "iterkeys"): - return self.__tokdict.iterkeys() - else: - return iter(self.__tokdict) - - def _itervalues( self ): - return (self[k] for k in self._iterkeys()) - - def _iteritems( self ): - return ((k, self[k]) for k in self._iterkeys()) - - if PY_3: - keys = _iterkeys - """Returns an iterator of all named result keys (Python 3.x only).""" - - values = _itervalues - """Returns an iterator of all named result values (Python 3.x only).""" - - items = _iteritems - """Returns an iterator of all named result key-value tuples (Python 3.x only).""" - - else: - iterkeys = _iterkeys - """Returns an iterator of all named result keys (Python 2.x only).""" - - itervalues = _itervalues - """Returns an iterator of all named result values (Python 2.x only).""" - - iteritems = _iteritems - """Returns an iterator of all named result key-value tuples (Python 2.x only).""" - - def keys( self ): - """Returns all named result keys (as a list in Python 2.x, as an iterator in Python 3.x).""" - return list(self.iterkeys()) - - def values( self ): - """Returns all named result values (as a list in Python 2.x, as an iterator in Python 3.x).""" - return list(self.itervalues()) - - def items( self ): - """Returns all named result key-values (as a list of tuples in Python 2.x, as an iterator in Python 3.x).""" - return list(self.iteritems()) - - def haskeys( self ): - """Since keys() returns an iterator, this method is helpful in bypassing - code that looks for the existence of any defined results names.""" - return bool(self.__tokdict) - - def pop( self, *args, **kwargs): - """ - Removes and returns item at specified index (default=C{last}). - Supports both C{list} and C{dict} semantics for C{pop()}. If passed no - argument or an integer argument, it will use C{list} semantics - and pop tokens from the list of parsed tokens. If passed a - non-integer argument (most likely a string), it will use C{dict} - semantics and pop the corresponding value from any defined - results names. A second default return value argument is - supported, just as in C{dict.pop()}. - - Example:: - def remove_first(tokens): - tokens.pop(0) - print(OneOrMore(Word(nums)).parseString("0 123 321")) # -> ['0', '123', '321'] - print(OneOrMore(Word(nums)).addParseAction(remove_first).parseString("0 123 321")) # -> ['123', '321'] - - label = Word(alphas) - patt = label("LABEL") + OneOrMore(Word(nums)) - print(patt.parseString("AAB 123 321").dump()) - - # Use pop() in a parse action to remove named result (note that corresponding value is not - # removed from list form of results) - def remove_LABEL(tokens): - tokens.pop("LABEL") - return tokens - patt.addParseAction(remove_LABEL) - print(patt.parseString("AAB 123 321").dump()) - prints:: - ['AAB', '123', '321'] - - LABEL: AAB - - ['AAB', '123', '321'] - """ - if not args: - args = [-1] - for k,v in kwargs.items(): - if k == 'default': - args = (args[0], v) - else: - raise TypeError("pop() got an unexpected keyword argument '%s'" % k) - if (isinstance(args[0], int) or - len(args) == 1 or - args[0] in self): - index = args[0] - ret = self[index] - del self[index] - return ret - else: - defaultvalue = args[1] - return defaultvalue - - def get(self, key, defaultValue=None): - """ - Returns named result matching the given key, or if there is no - such name, then returns the given C{defaultValue} or C{None} if no - C{defaultValue} is specified. - - Similar to C{dict.get()}. - - Example:: - integer = Word(nums) - date_str = integer("year") + '/' + integer("month") + '/' + integer("day") - - result = date_str.parseString("1999/12/31") - print(result.get("year")) # -> '1999' - print(result.get("hour", "not specified")) # -> 'not specified' - print(result.get("hour")) # -> None - """ - if key in self: - return self[key] - else: - return defaultValue - - def insert( self, index, insStr ): - """ - Inserts new element at location index in the list of parsed tokens. - - Similar to C{list.insert()}. - - Example:: - print(OneOrMore(Word(nums)).parseString("0 123 321")) # -> ['0', '123', '321'] - - # use a parse action to insert the parse location in the front of the parsed results - def insert_locn(locn, tokens): - tokens.insert(0, locn) - print(OneOrMore(Word(nums)).addParseAction(insert_locn).parseString("0 123 321")) # -> [0, '0', '123', '321'] - """ - self.__toklist.insert(index, insStr) - # fixup indices in token dictionary - for name,occurrences in self.__tokdict.items(): - for k, (value, position) in enumerate(occurrences): - occurrences[k] = _ParseResultsWithOffset(value, position + (position > index)) - - def append( self, item ): - """ - Add single element to end of ParseResults list of elements. - - Example:: - print(OneOrMore(Word(nums)).parseString("0 123 321")) # -> ['0', '123', '321'] - - # use a parse action to compute the sum of the parsed integers, and add it to the end - def append_sum(tokens): - tokens.append(sum(map(int, tokens))) - print(OneOrMore(Word(nums)).addParseAction(append_sum).parseString("0 123 321")) # -> ['0', '123', '321', 444] - """ - self.__toklist.append(item) - - def extend( self, itemseq ): - """ - Add sequence of elements to end of ParseResults list of elements. - - Example:: - patt = OneOrMore(Word(alphas)) - - # use a parse action to append the reverse of the matched strings, to make a palindrome - def make_palindrome(tokens): - tokens.extend(reversed([t[::-1] for t in tokens])) - return ''.join(tokens) - print(patt.addParseAction(make_palindrome).parseString("lskdj sdlkjf lksd")) # -> 'lskdjsdlkjflksddsklfjkldsjdksl' - """ - if isinstance(itemseq, ParseResults): - self += itemseq - else: - self.__toklist.extend(itemseq) - - def clear( self ): - """ - Clear all elements and results names. - """ - del self.__toklist[:] - self.__tokdict.clear() - - def __getattr__( self, name ): - try: - return self[name] - except KeyError: - return "" - - if name in self.__tokdict: - if name not in self.__accumNames: - return self.__tokdict[name][-1][0] - else: - return ParseResults([ v[0] for v in self.__tokdict[name] ]) - else: - return "" - - def __add__( self, other ): - ret = self.copy() - ret += other - return ret - - def __iadd__( self, other ): - if other.__tokdict: - offset = len(self.__toklist) - addoffset = lambda a: offset if a<0 else a+offset - otheritems = other.__tokdict.items() - otherdictitems = [(k, _ParseResultsWithOffset(v[0],addoffset(v[1])) ) - for (k,vlist) in otheritems for v in vlist] - for k,v in otherdictitems: - self[k] = v - if isinstance(v[0],ParseResults): - v[0].__parent = wkref(self) - - self.__toklist += other.__toklist - self.__accumNames.update( other.__accumNames ) - return self - - def __radd__(self, other): - if isinstance(other,int) and other == 0: - # useful for merging many ParseResults using sum() builtin - return self.copy() - else: - # this may raise a TypeError - so be it - return other + self - - def __repr__( self ): - return "(%s, %s)" % ( repr( self.__toklist ), repr( self.__tokdict ) ) - - def __str__( self ): - return '[' + ', '.join(_ustr(i) if isinstance(i, ParseResults) else repr(i) for i in self.__toklist) + ']' - - def _asStringList( self, sep='' ): - out = [] - for item in self.__toklist: - if out and sep: - out.append(sep) - if isinstance( item, ParseResults ): - out += item._asStringList() - else: - out.append( _ustr(item) ) - return out - - def asList( self ): - """ - Returns the parse results as a nested list of matching tokens, all converted to strings. - - Example:: - patt = OneOrMore(Word(alphas)) - result = patt.parseString("sldkj lsdkj sldkj") - # even though the result prints in string-like form, it is actually a pyparsing ParseResults - print(type(result), result) # -> <class 'pyparsing.ParseResults'> ['sldkj', 'lsdkj', 'sldkj'] - - # Use asList() to create an actual list - result_list = result.asList() - print(type(result_list), result_list) # -> <class 'list'> ['sldkj', 'lsdkj', 'sldkj'] - """ - return [res.asList() if isinstance(res,ParseResults) else res for res in self.__toklist] - - def asDict( self ): - """ - Returns the named parse results as a nested dictionary. - - Example:: - integer = Word(nums) - date_str = integer("year") + '/' + integer("month") + '/' + integer("day") - - result = date_str.parseString('12/31/1999') - print(type(result), repr(result)) # -> <class 'pyparsing.ParseResults'> (['12', '/', '31', '/', '1999'], {'day': [('1999', 4)], 'year': [('12', 0)], 'month': [('31', 2)]}) - - result_dict = result.asDict() - print(type(result_dict), repr(result_dict)) # -> <class 'dict'> {'day': '1999', 'year': '12', 'month': '31'} - - # even though a ParseResults supports dict-like access, sometime you just need to have a dict - import json - print(json.dumps(result)) # -> Exception: TypeError: ... is not JSON serializable - print(json.dumps(result.asDict())) # -> {"month": "31", "day": "1999", "year": "12"} - """ - if PY_3: - item_fn = self.items - else: - item_fn = self.iteritems - - def toItem(obj): - if isinstance(obj, ParseResults): - if obj.haskeys(): - return obj.asDict() - else: - return [toItem(v) for v in obj] - else: - return obj - - return dict((k,toItem(v)) for k,v in item_fn()) - - def copy( self ): - """ - Returns a new copy of a C{ParseResults} object. - """ - ret = ParseResults( self.__toklist ) - ret.__tokdict = self.__tokdict.copy() - ret.__parent = self.__parent - ret.__accumNames.update( self.__accumNames ) - ret.__name = self.__name - return ret - - def asXML( self, doctag=None, namedItemsOnly=False, indent="", formatted=True ): - """ - (Deprecated) Returns the parse results as XML. Tags are created for tokens and lists that have defined results names. - """ - nl = "\n" - out = [] - namedItems = dict((v[1],k) for (k,vlist) in self.__tokdict.items() - for v in vlist) - nextLevelIndent = indent + " " - - # collapse out indents if formatting is not desired - if not formatted: - indent = "" - nextLevelIndent = "" - nl = "" - - selfTag = None - if doctag is not None: - selfTag = doctag - else: - if self.__name: - selfTag = self.__name - - if not selfTag: - if namedItemsOnly: - return "" - else: - selfTag = "ITEM" - - out += [ nl, indent, "<", selfTag, ">" ] - - for i,res in enumerate(self.__toklist): - if isinstance(res,ParseResults): - if i in namedItems: - out += [ res.asXML(namedItems[i], - namedItemsOnly and doctag is None, - nextLevelIndent, - formatted)] - else: - out += [ res.asXML(None, - namedItemsOnly and doctag is None, - nextLevelIndent, - formatted)] - else: - # individual token, see if there is a name for it - resTag = None - if i in namedItems: - resTag = namedItems[i] - if not resTag: - if namedItemsOnly: - continue - else: - resTag = "ITEM" - xmlBodyText = _xml_escape(_ustr(res)) - out += [ nl, nextLevelIndent, "<", resTag, ">", - xmlBodyText, - "</", resTag, ">" ] - - out += [ nl, indent, "</", selfTag, ">" ] - return "".join(out) - - def __lookup(self,sub): - for k,vlist in self.__tokdict.items(): - for v,loc in vlist: - if sub is v: - return k - return None - - def getName(self): - r""" - Returns the results name for this token expression. Useful when several - different expressions might match at a particular location. - - Example:: - integer = Word(nums) - ssn_expr = Regex(r"\d\d\d-\d\d-\d\d\d\d") - house_number_expr = Suppress('#') + Word(nums, alphanums) - user_data = (Group(house_number_expr)("house_number") - | Group(ssn_expr)("ssn") - | Group(integer)("age")) - user_info = OneOrMore(user_data) - - result = user_info.parseString("22 111-22-3333 #221B") - for item in result: - print(item.getName(), ':', item[0]) - prints:: - age : 22 - ssn : 111-22-3333 - house_number : 221B - """ - if self.__name: - return self.__name - elif self.__parent: - par = self.__parent() - if par: - return par.__lookup(self) - else: - return None - elif (len(self) == 1 and - len(self.__tokdict) == 1 and - next(iter(self.__tokdict.values()))[0][1] in (0,-1)): - return next(iter(self.__tokdict.keys())) - else: - return None - - def dump(self, indent='', depth=0, full=True): - """ - Diagnostic method for listing out the contents of a C{ParseResults}. - Accepts an optional C{indent} argument so that this string can be embedded - in a nested display of other data. - - Example:: - integer = Word(nums) - date_str = integer("year") + '/' + integer("month") + '/' + integer("day") - - result = date_str.parseString('12/31/1999') - print(result.dump()) - prints:: - ['12', '/', '31', '/', '1999'] - - day: 1999 - - month: 31 - - year: 12 - """ - out = [] - NL = '\n' - out.append( indent+_ustr(self.asList()) ) - if full: - if self.haskeys(): - items = sorted((str(k), v) for k,v in self.items()) - for k,v in items: - if out: - out.append(NL) - out.append( "%s%s- %s: " % (indent,(' '*depth), k) ) - if isinstance(v,ParseResults): - if v: - out.append( v.dump(indent,depth+1) ) - else: - out.append(_ustr(v)) - else: - out.append(repr(v)) - elif any(isinstance(vv,ParseResults) for vv in self): - v = self - for i,vv in enumerate(v): - if isinstance(vv,ParseResults): - out.append("\n%s%s[%d]:\n%s%s%s" % (indent,(' '*(depth)),i,indent,(' '*(depth+1)),vv.dump(indent,depth+1) )) - else: - out.append("\n%s%s[%d]:\n%s%s%s" % (indent,(' '*(depth)),i,indent,(' '*(depth+1)),_ustr(vv))) - - return "".join(out) - - def pprint(self, *args, **kwargs): - """ - Pretty-printer for parsed results as a list, using the C{pprint} module. - Accepts additional positional or keyword args as defined for the - C{pprint.pprint} method. (U{http://docs.python.org/3/library/pprint.html#pprint.pprint}) - - Example:: - ident = Word(alphas, alphanums) - num = Word(nums) - func = Forward() - term = ident | num | Group('(' + func + ')') - func <<= ident + Group(Optional(delimitedList(term))) - result = func.parseString("fna a,b,(fnb c,d,200),100") - result.pprint(width=40) - prints:: - ['fna', - ['a', - 'b', - ['(', 'fnb', ['c', 'd', '200'], ')'], - '100']] - """ - pprint.pprint(self.asList(), *args, **kwargs) - - # add support for pickle protocol - def __getstate__(self): - return ( self.__toklist, - ( self.__tokdict.copy(), - self.__parent is not None and self.__parent() or None, - self.__accumNames, - self.__name ) ) - - def __setstate__(self,state): - self.__toklist = state[0] - (self.__tokdict, - par, - inAccumNames, - self.__name) = state[1] - self.__accumNames = {} - self.__accumNames.update(inAccumNames) - if par is not None: - self.__parent = wkref(par) - else: - self.__parent = None - - def __getnewargs__(self): - return self.__toklist, self.__name, self.__asList, self.__modal - - def __dir__(self): - return (dir(type(self)) + list(self.keys())) - -MutableMapping.register(ParseResults) - -def col (loc,strg): - """Returns current column within a string, counting newlines as line separators. - The first column is number 1. - - Note: the default parsing behavior is to expand tabs in the input string - before starting the parsing process. See L{I{ParserElement.parseString}<ParserElement.parseString>} for more information - on parsing strings containing C{<TAB>}s, and suggested methods to maintain a - consistent view of the parsed string, the parse location, and line and column - positions within the parsed string. - """ - s = strg - return 1 if 0<loc<len(s) and s[loc-1] == '\n' else loc - s.rfind("\n", 0, loc) - -def lineno(loc,strg): - """Returns current line number within a string, counting newlines as line separators. - The first line is number 1. - - Note: the default parsing behavior is to expand tabs in the input string - before starting the parsing process. See L{I{ParserElement.parseString}<ParserElement.parseString>} for more information - on parsing strings containing C{<TAB>}s, and suggested methods to maintain a - consistent view of the parsed string, the parse location, and line and column - positions within the parsed string. - """ - return strg.count("\n",0,loc) + 1 - -def line( loc, strg ): - """Returns the line of text containing loc within a string, counting newlines as line separators. - """ - lastCR = strg.rfind("\n", 0, loc) - nextCR = strg.find("\n", loc) - if nextCR >= 0: - return strg[lastCR+1:nextCR] - else: - return strg[lastCR+1:] - -def _defaultStartDebugAction( instring, loc, expr ): - print (("Match " + _ustr(expr) + " at loc " + _ustr(loc) + "(%d,%d)" % ( lineno(loc,instring), col(loc,instring) ))) - -def _defaultSuccessDebugAction( instring, startloc, endloc, expr, toks ): - print ("Matched " + _ustr(expr) + " -> " + str(toks.asList())) - -def _defaultExceptionDebugAction( instring, loc, expr, exc ): - print ("Exception raised:" + _ustr(exc)) - -def nullDebugAction(*args): - """'Do-nothing' debug action, to suppress debugging output during parsing.""" - pass - -# Only works on Python 3.x - nonlocal is toxic to Python 2 installs -#~ 'decorator to trim function calls to match the arity of the target' -#~ def _trim_arity(func, maxargs=3): - #~ if func in singleArgBuiltins: - #~ return lambda s,l,t: func(t) - #~ limit = 0 - #~ foundArity = False - #~ def wrapper(*args): - #~ nonlocal limit,foundArity - #~ while 1: - #~ try: - #~ ret = func(*args[limit:]) - #~ foundArity = True - #~ return ret - #~ except TypeError: - #~ if limit == maxargs or foundArity: - #~ raise - #~ limit += 1 - #~ continue - #~ return wrapper - -# this version is Python 2.x-3.x cross-compatible -'decorator to trim function calls to match the arity of the target' -def _trim_arity(func, maxargs=2): - if func in singleArgBuiltins: - return lambda s,l,t: func(t) - limit = [0] - foundArity = [False] - - # traceback return data structure changed in Py3.5 - normalize back to plain tuples - if system_version[:2] >= (3,5): - def extract_stack(limit=0): - # special handling for Python 3.5.0 - extra deep call stack by 1 - offset = -3 if system_version == (3,5,0) else -2 - frame_summary = traceback.extract_stack(limit=-offset+limit-1)[offset] - return [frame_summary[:2]] - def extract_tb(tb, limit=0): - frames = traceback.extract_tb(tb, limit=limit) - frame_summary = frames[-1] - return [frame_summary[:2]] - else: - extract_stack = traceback.extract_stack - extract_tb = traceback.extract_tb - - # synthesize what would be returned by traceback.extract_stack at the call to - # user's parse action 'func', so that we don't incur call penalty at parse time - - LINE_DIFF = 6 - # IF ANY CODE CHANGES, EVEN JUST COMMENTS OR BLANK LINES, BETWEEN THE NEXT LINE AND - # THE CALL TO FUNC INSIDE WRAPPER, LINE_DIFF MUST BE MODIFIED!!!! - this_line = extract_stack(limit=2)[-1] - pa_call_line_synth = (this_line[0], this_line[1]+LINE_DIFF) - - def wrapper(*args): - while 1: - try: - ret = func(*args[limit[0]:]) - foundArity[0] = True - return ret - except TypeError: - # re-raise TypeErrors if they did not come from our arity testing - if foundArity[0]: - raise - else: - try: - tb = sys.exc_info()[-1] - if not extract_tb(tb, limit=2)[-1][:2] == pa_call_line_synth: - raise - finally: - del tb - - if limit[0] <= maxargs: - limit[0] += 1 - continue - raise - - # copy func name to wrapper for sensible debug output - func_name = "<parse action>" - try: - func_name = getattr(func, '__name__', - getattr(func, '__class__').__name__) - except Exception: - func_name = str(func) - wrapper.__name__ = func_name - - return wrapper - -class ParserElement(object): - """Abstract base level parser element class.""" - DEFAULT_WHITE_CHARS = " \n\t\r" - verbose_stacktrace = False - - @staticmethod - def setDefaultWhitespaceChars( chars ): - r""" - Overrides the default whitespace chars - - Example:: - # default whitespace chars are space, <TAB> and newline - OneOrMore(Word(alphas)).parseString("abc def\nghi jkl") # -> ['abc', 'def', 'ghi', 'jkl'] - - # change to just treat newline as significant - ParserElement.setDefaultWhitespaceChars(" \t") - OneOrMore(Word(alphas)).parseString("abc def\nghi jkl") # -> ['abc', 'def'] - """ - ParserElement.DEFAULT_WHITE_CHARS = chars - - @staticmethod - def inlineLiteralsUsing(cls): - """ - Set class to be used for inclusion of string literals into a parser. - - Example:: - # default literal class used is Literal - integer = Word(nums) - date_str = integer("year") + '/' + integer("month") + '/' + integer("day") - - date_str.parseString("1999/12/31") # -> ['1999', '/', '12', '/', '31'] - - - # change to Suppress - ParserElement.inlineLiteralsUsing(Suppress) - date_str = integer("year") + '/' + integer("month") + '/' + integer("day") - - date_str.parseString("1999/12/31") # -> ['1999', '12', '31'] - """ - ParserElement._literalStringClass = cls - - def __init__( self, savelist=False ): - self.parseAction = list() - self.failAction = None - #~ self.name = "<unknown>" # don't define self.name, let subclasses try/except upcall - self.strRepr = None - self.resultsName = None - self.saveAsList = savelist - self.skipWhitespace = True - self.whiteChars = ParserElement.DEFAULT_WHITE_CHARS - self.copyDefaultWhiteChars = True - self.mayReturnEmpty = False # used when checking for left-recursion - self.keepTabs = False - self.ignoreExprs = list() - self.debug = False - self.streamlined = False - self.mayIndexError = True # used to optimize exception handling for subclasses that don't advance parse index - self.errmsg = "" - self.modalResults = True # used to mark results names as modal (report only last) or cumulative (list all) - self.debugActions = ( None, None, None ) #custom debug actions - self.re = None - self.callPreparse = True # used to avoid redundant calls to preParse - self.callDuringTry = False - - def copy( self ): - """ - Make a copy of this C{ParserElement}. Useful for defining different parse actions - for the same parsing pattern, using copies of the original parse element. - - Example:: - integer = Word(nums).setParseAction(lambda toks: int(toks[0])) - integerK = integer.copy().addParseAction(lambda toks: toks[0]*1024) + Suppress("K") - integerM = integer.copy().addParseAction(lambda toks: toks[0]*1024*1024) + Suppress("M") - - print(OneOrMore(integerK | integerM | integer).parseString("5K 100 640K 256M")) - prints:: - [5120, 100, 655360, 268435456] - Equivalent form of C{expr.copy()} is just C{expr()}:: - integerM = integer().addParseAction(lambda toks: toks[0]*1024*1024) + Suppress("M") - """ - cpy = copy.copy( self ) - cpy.parseAction = self.parseAction[:] - cpy.ignoreExprs = self.ignoreExprs[:] - if self.copyDefaultWhiteChars: - cpy.whiteChars = ParserElement.DEFAULT_WHITE_CHARS - return cpy - - def setName( self, name ): - """ - Define name for this expression, makes debugging and exception messages clearer. - - Example:: - Word(nums).parseString("ABC") # -> Exception: Expected W:(0123...) (at char 0), (line:1, col:1) - Word(nums).setName("integer").parseString("ABC") # -> Exception: Expected integer (at char 0), (line:1, col:1) - """ - self.name = name - self.errmsg = "Expected " + self.name - if hasattr(self,"exception"): - self.exception.msg = self.errmsg - return self - - def setResultsName( self, name, listAllMatches=False ): - """ - Define name for referencing matching tokens as a nested attribute - of the returned parse results. - NOTE: this returns a *copy* of the original C{ParserElement} object; - this is so that the client can define a basic element, such as an - integer, and reference it in multiple places with different names. - - You can also set results names using the abbreviated syntax, - C{expr("name")} in place of C{expr.setResultsName("name")} - - see L{I{__call__}<__call__>}. - - Example:: - date_str = (integer.setResultsName("year") + '/' - + integer.setResultsName("month") + '/' - + integer.setResultsName("day")) - - # equivalent form: - date_str = integer("year") + '/' + integer("month") + '/' + integer("day") - """ - newself = self.copy() - if name.endswith("*"): - name = name[:-1] - listAllMatches=True - newself.resultsName = name - newself.modalResults = not listAllMatches - return newself - - def setBreak(self,breakFlag = True): - """Method to invoke the Python pdb debugger when this element is - about to be parsed. Set C{breakFlag} to True to enable, False to - disable. - """ - if breakFlag: - _parseMethod = self._parse - def breaker(instring, loc, doActions=True, callPreParse=True): - import pdb - pdb.set_trace() - return _parseMethod( instring, loc, doActions, callPreParse ) - breaker._originalParseMethod = _parseMethod - self._parse = breaker - else: - if hasattr(self._parse,"_originalParseMethod"): - self._parse = self._parse._originalParseMethod - return self - - def setParseAction( self, *fns, **kwargs ): - """ - Define one or more actions to perform when successfully matching parse element definition. - Parse action fn is a callable method with 0-3 arguments, called as C{fn(s,loc,toks)}, - C{fn(loc,toks)}, C{fn(toks)}, or just C{fn()}, where: - - s = the original string being parsed (see note below) - - loc = the location of the matching substring - - toks = a list of the matched tokens, packaged as a C{L{ParseResults}} object - If the functions in fns modify the tokens, they can return them as the return - value from fn, and the modified list of tokens will replace the original. - Otherwise, fn does not need to return any value. - - Optional keyword arguments: - - callDuringTry = (default=C{False}) indicate if parse action should be run during lookaheads and alternate testing - - Note: the default parsing behavior is to expand tabs in the input string - before starting the parsing process. See L{I{parseString}<parseString>} for more information - on parsing strings containing C{<TAB>}s, and suggested methods to maintain a - consistent view of the parsed string, the parse location, and line and column - positions within the parsed string. - - Example:: - integer = Word(nums) - date_str = integer + '/' + integer + '/' + integer - - date_str.parseString("1999/12/31") # -> ['1999', '/', '12', '/', '31'] - - # use parse action to convert to ints at parse time - integer = Word(nums).setParseAction(lambda toks: int(toks[0])) - date_str = integer + '/' + integer + '/' + integer - - # note that integer fields are now ints, not strings - date_str.parseString("1999/12/31") # -> [1999, '/', 12, '/', 31] - """ - self.parseAction = list(map(_trim_arity, list(fns))) - self.callDuringTry = kwargs.get("callDuringTry", False) - return self - - def addParseAction( self, *fns, **kwargs ): - """ - Add one or more parse actions to expression's list of parse actions. See L{I{setParseAction}<setParseAction>}. - - See examples in L{I{copy}<copy>}. - """ - self.parseAction += list(map(_trim_arity, list(fns))) - self.callDuringTry = self.callDuringTry or kwargs.get("callDuringTry", False) - return self - - def addCondition(self, *fns, **kwargs): - """Add a boolean predicate function to expression's list of parse actions. See - L{I{setParseAction}<setParseAction>} for function call signatures. Unlike C{setParseAction}, - functions passed to C{addCondition} need to return boolean success/fail of the condition. - - Optional keyword arguments: - - message = define a custom message to be used in the raised exception - - fatal = if True, will raise ParseFatalException to stop parsing immediately; otherwise will raise ParseException - - Example:: - integer = Word(nums).setParseAction(lambda toks: int(toks[0])) - year_int = integer.copy() - year_int.addCondition(lambda toks: toks[0] >= 2000, message="Only support years 2000 and later") - date_str = year_int + '/' + integer + '/' + integer - - result = date_str.parseString("1999/12/31") # -> Exception: Only support years 2000 and later (at char 0), (line:1, col:1) - """ - msg = kwargs.get("message", "failed user-defined condition") - exc_type = ParseFatalException if kwargs.get("fatal", False) else ParseException - for fn in fns: - def pa(s,l,t): - if not bool(_trim_arity(fn)(s,l,t)): - raise exc_type(s,l,msg) - self.parseAction.append(pa) - self.callDuringTry = self.callDuringTry or kwargs.get("callDuringTry", False) - return self - - def setFailAction( self, fn ): - """Define action to perform if parsing fails at this expression. - Fail acton fn is a callable function that takes the arguments - C{fn(s,loc,expr,err)} where: - - s = string being parsed - - loc = location where expression match was attempted and failed - - expr = the parse expression that failed - - err = the exception thrown - The function returns no value. It may throw C{L{ParseFatalException}} - if it is desired to stop parsing immediately.""" - self.failAction = fn - return self - - def _skipIgnorables( self, instring, loc ): - exprsFound = True - while exprsFound: - exprsFound = False - for e in self.ignoreExprs: - try: - while 1: - loc,dummy = e._parse( instring, loc ) - exprsFound = True - except ParseException: - pass - return loc - - def preParse( self, instring, loc ): - if self.ignoreExprs: - loc = self._skipIgnorables( instring, loc ) - - if self.skipWhitespace: - wt = self.whiteChars - instrlen = len(instring) - while loc < instrlen and instring[loc] in wt: - loc += 1 - - return loc - - def parseImpl( self, instring, loc, doActions=True ): - return loc, [] - - def postParse( self, instring, loc, tokenlist ): - return tokenlist - - #~ @profile - def _parseNoCache( self, instring, loc, doActions=True, callPreParse=True ): - debugging = ( self.debug ) #and doActions ) - - if debugging or self.failAction: - #~ print ("Match",self,"at loc",loc,"(%d,%d)" % ( lineno(loc,instring), col(loc,instring) )) - if (self.debugActions[0] ): - self.debugActions[0]( instring, loc, self ) - if callPreParse and self.callPreparse: - preloc = self.preParse( instring, loc ) - else: - preloc = loc - tokensStart = preloc - try: - try: - loc,tokens = self.parseImpl( instring, preloc, doActions ) - except IndexError: - raise ParseException( instring, len(instring), self.errmsg, self ) - except ParseBaseException as err: - #~ print ("Exception raised:", err) - if self.debugActions[2]: - self.debugActions[2]( instring, tokensStart, self, err ) - if self.failAction: - self.failAction( instring, tokensStart, self, err ) - raise - else: - if callPreParse and self.callPreparse: - preloc = self.preParse( instring, loc ) - else: - preloc = loc - tokensStart = preloc - if self.mayIndexError or preloc >= len(instring): - try: - loc,tokens = self.parseImpl( instring, preloc, doActions ) - except IndexError: - raise ParseException( instring, len(instring), self.errmsg, self ) - else: - loc,tokens = self.parseImpl( instring, preloc, doActions ) - - tokens = self.postParse( instring, loc, tokens ) - - retTokens = ParseResults( tokens, self.resultsName, asList=self.saveAsList, modal=self.modalResults ) - if self.parseAction and (doActions or self.callDuringTry): - if debugging: - try: - for fn in self.parseAction: - tokens = fn( instring, tokensStart, retTokens ) - if tokens is not None: - retTokens = ParseResults( tokens, - self.resultsName, - asList=self.saveAsList and isinstance(tokens,(ParseResults,list)), - modal=self.modalResults ) - except ParseBaseException as err: - #~ print "Exception raised in user parse action:", err - if (self.debugActions[2] ): - self.debugActions[2]( instring, tokensStart, self, err ) - raise - else: - for fn in self.parseAction: - tokens = fn( instring, tokensStart, retTokens ) - if tokens is not None: - retTokens = ParseResults( tokens, - self.resultsName, - asList=self.saveAsList and isinstance(tokens,(ParseResults,list)), - modal=self.modalResults ) - if debugging: - #~ print ("Matched",self,"->",retTokens.asList()) - if (self.debugActions[1] ): - self.debugActions[1]( instring, tokensStart, loc, self, retTokens ) - - return loc, retTokens - - def tryParse( self, instring, loc ): - try: - return self._parse( instring, loc, doActions=False )[0] - except ParseFatalException: - raise ParseException( instring, loc, self.errmsg, self) - - def canParseNext(self, instring, loc): - try: - self.tryParse(instring, loc) - except (ParseException, IndexError): - return False - else: - return True - - class _UnboundedCache(object): - def __init__(self): - cache = {} - self.not_in_cache = not_in_cache = object() - - def get(self, key): - return cache.get(key, not_in_cache) - - def set(self, key, value): - cache[key] = value - - def clear(self): - cache.clear() - - def cache_len(self): - return len(cache) - - self.get = types.MethodType(get, self) - self.set = types.MethodType(set, self) - self.clear = types.MethodType(clear, self) - self.__len__ = types.MethodType(cache_len, self) - - if _OrderedDict is not None: - class _FifoCache(object): - def __init__(self, size): - self.not_in_cache = not_in_cache = object() - - cache = _OrderedDict() - - def get(self, key): - return cache.get(key, not_in_cache) - - def set(self, key, value): - cache[key] = value - while len(cache) > size: - try: - cache.popitem(False) - except KeyError: - pass - - def clear(self): - cache.clear() - - def cache_len(self): - return len(cache) - - self.get = types.MethodType(get, self) - self.set = types.MethodType(set, self) - self.clear = types.MethodType(clear, self) - self.__len__ = types.MethodType(cache_len, self) - - else: - class _FifoCache(object): - def __init__(self, size): - self.not_in_cache = not_in_cache = object() - - cache = {} - key_fifo = collections.deque([], size) - - def get(self, key): - return cache.get(key, not_in_cache) - - def set(self, key, value): - cache[key] = value - while len(key_fifo) > size: - cache.pop(key_fifo.popleft(), None) - key_fifo.append(key) - - def clear(self): - cache.clear() - key_fifo.clear() - - def cache_len(self): - return len(cache) - - self.get = types.MethodType(get, self) - self.set = types.MethodType(set, self) - self.clear = types.MethodType(clear, self) - self.__len__ = types.MethodType(cache_len, self) - - # argument cache for optimizing repeated calls when backtracking through recursive expressions - packrat_cache = {} # this is set later by enabledPackrat(); this is here so that resetCache() doesn't fail - packrat_cache_lock = RLock() - packrat_cache_stats = [0, 0] - - # this method gets repeatedly called during backtracking with the same arguments - - # we can cache these arguments and save ourselves the trouble of re-parsing the contained expression - def _parseCache( self, instring, loc, doActions=True, callPreParse=True ): - HIT, MISS = 0, 1 - lookup = (self, instring, loc, callPreParse, doActions) - with ParserElement.packrat_cache_lock: - cache = ParserElement.packrat_cache - value = cache.get(lookup) - if value is cache.not_in_cache: - ParserElement.packrat_cache_stats[MISS] += 1 - try: - value = self._parseNoCache(instring, loc, doActions, callPreParse) - except ParseBaseException as pe: - # cache a copy of the exception, without the traceback - cache.set(lookup, pe.__class__(*pe.args)) - raise - else: - cache.set(lookup, (value[0], value[1].copy())) - return value - else: - ParserElement.packrat_cache_stats[HIT] += 1 - if isinstance(value, Exception): - raise value - return (value[0], value[1].copy()) - - _parse = _parseNoCache - - @staticmethod - def resetCache(): - ParserElement.packrat_cache.clear() - ParserElement.packrat_cache_stats[:] = [0] * len(ParserElement.packrat_cache_stats) - - _packratEnabled = False - @staticmethod - def enablePackrat(cache_size_limit=128): - """Enables "packrat" parsing, which adds memoizing to the parsing logic. - Repeated parse attempts at the same string location (which happens - often in many complex grammars) can immediately return a cached value, - instead of re-executing parsing/validating code. Memoizing is done of - both valid results and parsing exceptions. - - Parameters: - - cache_size_limit - (default=C{128}) - if an integer value is provided - will limit the size of the packrat cache; if None is passed, then - the cache size will be unbounded; if 0 is passed, the cache will - be effectively disabled. - - This speedup may break existing programs that use parse actions that - have side-effects. For this reason, packrat parsing is disabled when - you first import pyparsing. To activate the packrat feature, your - program must call the class method C{ParserElement.enablePackrat()}. If - your program uses C{psyco} to "compile as you go", you must call - C{enablePackrat} before calling C{psyco.full()}. If you do not do this, - Python will crash. For best results, call C{enablePackrat()} immediately - after importing pyparsing. - - Example:: - import pyparsing - pyparsing.ParserElement.enablePackrat() - """ - if not ParserElement._packratEnabled: - ParserElement._packratEnabled = True - if cache_size_limit is None: - ParserElement.packrat_cache = ParserElement._UnboundedCache() - else: - ParserElement.packrat_cache = ParserElement._FifoCache(cache_size_limit) - ParserElement._parse = ParserElement._parseCache - - def parseString( self, instring, parseAll=False ): - """ - Execute the parse expression with the given string. - This is the main interface to the client code, once the complete - expression has been built. - - If you want the grammar to require that the entire input string be - successfully parsed, then set C{parseAll} to True (equivalent to ending - the grammar with C{L{StringEnd()}}). - - Note: C{parseString} implicitly calls C{expandtabs()} on the input string, - in order to report proper column numbers in parse actions. - If the input string contains tabs and - the grammar uses parse actions that use the C{loc} argument to index into the - string being parsed, you can ensure you have a consistent view of the input - string by: - - calling C{parseWithTabs} on your grammar before calling C{parseString} - (see L{I{parseWithTabs}<parseWithTabs>}) - - define your parse action using the full C{(s,loc,toks)} signature, and - reference the input string using the parse action's C{s} argument - - explictly expand the tabs in your input string before calling - C{parseString} - - Example:: - Word('a').parseString('aaaaabaaa') # -> ['aaaaa'] - Word('a').parseString('aaaaabaaa', parseAll=True) # -> Exception: Expected end of text - """ - ParserElement.resetCache() - if not self.streamlined: - self.streamline() - #~ self.saveAsList = True - for e in self.ignoreExprs: - e.streamline() - if not self.keepTabs: - instring = instring.expandtabs() - try: - loc, tokens = self._parse( instring, 0 ) - if parseAll: - loc = self.preParse( instring, loc ) - se = Empty() + StringEnd() - se._parse( instring, loc ) - except ParseBaseException as exc: - if ParserElement.verbose_stacktrace: - raise - else: - # catch and re-raise exception from here, clears out pyparsing internal stack trace - raise exc - else: - return tokens - - def scanString( self, instring, maxMatches=_MAX_INT, overlap=False ): - """ - Scan the input string for expression matches. Each match will return the - matching tokens, start location, and end location. May be called with optional - C{maxMatches} argument, to clip scanning after 'n' matches are found. If - C{overlap} is specified, then overlapping matches will be reported. - - Note that the start and end locations are reported relative to the string - being parsed. See L{I{parseString}<parseString>} for more information on parsing - strings with embedded tabs. - - Example:: - source = "sldjf123lsdjjkf345sldkjf879lkjsfd987" - print(source) - for tokens,start,end in Word(alphas).scanString(source): - print(' '*start + '^'*(end-start)) - print(' '*start + tokens[0]) - - prints:: - - sldjf123lsdjjkf345sldkjf879lkjsfd987 - ^^^^^ - sldjf - ^^^^^^^ - lsdjjkf - ^^^^^^ - sldkjf - ^^^^^^ - lkjsfd - """ - if not self.streamlined: - self.streamline() - for e in self.ignoreExprs: - e.streamline() - - if not self.keepTabs: - instring = _ustr(instring).expandtabs() - instrlen = len(instring) - loc = 0 - preparseFn = self.preParse - parseFn = self._parse - ParserElement.resetCache() - matches = 0 - try: - while loc <= instrlen and matches < maxMatches: - try: - preloc = preparseFn( instring, loc ) - nextLoc,tokens = parseFn( instring, preloc, callPreParse=False ) - except ParseException: - loc = preloc+1 - else: - if nextLoc > loc: - matches += 1 - yield tokens, preloc, nextLoc - if overlap: - nextloc = preparseFn( instring, loc ) - if nextloc > loc: - loc = nextLoc - else: - loc += 1 - else: - loc = nextLoc - else: - loc = preloc+1 - except ParseBaseException as exc: - if ParserElement.verbose_stacktrace: - raise - else: - # catch and re-raise exception from here, clears out pyparsing internal stack trace - raise exc - - def transformString( self, instring ): - """ - Extension to C{L{scanString}}, to modify matching text with modified tokens that may - be returned from a parse action. To use C{transformString}, define a grammar and - attach a parse action to it that modifies the returned token list. - Invoking C{transformString()} on a target string will then scan for matches, - and replace the matched text patterns according to the logic in the parse - action. C{transformString()} returns the resulting transformed string. - - Example:: - wd = Word(alphas) - wd.setParseAction(lambda toks: toks[0].title()) - - print(wd.transformString("now is the winter of our discontent made glorious summer by this sun of york.")) - Prints:: - Now Is The Winter Of Our Discontent Made Glorious Summer By This Sun Of York. - """ - out = [] - lastE = 0 - # force preservation of <TAB>s, to minimize unwanted transformation of string, and to - # keep string locs straight between transformString and scanString - self.keepTabs = True - try: - for t,s,e in self.scanString( instring ): - out.append( instring[lastE:s] ) - if t: - if isinstance(t,ParseResults): - out += t.asList() - elif isinstance(t,list): - out += t - else: - out.append(t) - lastE = e - out.append(instring[lastE:]) - out = [o for o in out if o] - return "".join(map(_ustr,_flatten(out))) - except ParseBaseException as exc: - if ParserElement.verbose_stacktrace: - raise - else: - # catch and re-raise exception from here, clears out pyparsing internal stack trace - raise exc - - def searchString( self, instring, maxMatches=_MAX_INT ): - """ - Another extension to C{L{scanString}}, simplifying the access to the tokens found - to match the given parse expression. May be called with optional - C{maxMatches} argument, to clip searching after 'n' matches are found. - - Example:: - # a capitalized word starts with an uppercase letter, followed by zero or more lowercase letters - cap_word = Word(alphas.upper(), alphas.lower()) - - print(cap_word.searchString("More than Iron, more than Lead, more than Gold I need Electricity")) - - # the sum() builtin can be used to merge results into a single ParseResults object - print(sum(cap_word.searchString("More than Iron, more than Lead, more than Gold I need Electricity"))) - prints:: - [['More'], ['Iron'], ['Lead'], ['Gold'], ['I'], ['Electricity']] - ['More', 'Iron', 'Lead', 'Gold', 'I', 'Electricity'] - """ - try: - return ParseResults([ t for t,s,e in self.scanString( instring, maxMatches ) ]) - except ParseBaseException as exc: - if ParserElement.verbose_stacktrace: - raise - else: - # catch and re-raise exception from here, clears out pyparsing internal stack trace - raise exc - - def split(self, instring, maxsplit=_MAX_INT, includeSeparators=False): - """ - Generator method to split a string using the given expression as a separator. - May be called with optional C{maxsplit} argument, to limit the number of splits; - and the optional C{includeSeparators} argument (default=C{False}), if the separating - matching text should be included in the split results. - - Example:: - punc = oneOf(list(".,;:/-!?")) - print(list(punc.split("This, this?, this sentence, is badly punctuated!"))) - prints:: - ['This', ' this', '', ' this sentence', ' is badly punctuated', ''] - """ - splits = 0 - last = 0 - for t,s,e in self.scanString(instring, maxMatches=maxsplit): - yield instring[last:s] - if includeSeparators: - yield t[0] - last = e - yield instring[last:] - - def __add__(self, other ): - """ - Implementation of + operator - returns C{L{And}}. Adding strings to a ParserElement - converts them to L{Literal}s by default. - - Example:: - greet = Word(alphas) + "," + Word(alphas) + "!" - hello = "Hello, World!" - print (hello, "->", greet.parseString(hello)) - Prints:: - Hello, World! -> ['Hello', ',', 'World', '!'] - """ - if isinstance( other, basestring ): - other = ParserElement._literalStringClass( other ) - if not isinstance( other, ParserElement ): - warnings.warn("Cannot combine element of type %s with ParserElement" % type(other), - SyntaxWarning, stacklevel=2) - return None - return And( [ self, other ] ) - - def __radd__(self, other ): - """ - Implementation of + operator when left operand is not a C{L{ParserElement}} - """ - if isinstance( other, basestring ): - other = ParserElement._literalStringClass( other ) - if not isinstance( other, ParserElement ): - warnings.warn("Cannot combine element of type %s with ParserElement" % type(other), - SyntaxWarning, stacklevel=2) - return None - return other + self - - def __sub__(self, other): - """ - Implementation of - operator, returns C{L{And}} with error stop - """ - if isinstance( other, basestring ): - other = ParserElement._literalStringClass( other ) - if not isinstance( other, ParserElement ): - warnings.warn("Cannot combine element of type %s with ParserElement" % type(other), - SyntaxWarning, stacklevel=2) - return None - return self + And._ErrorStop() + other - - def __rsub__(self, other ): - """ - Implementation of - operator when left operand is not a C{L{ParserElement}} - """ - if isinstance( other, basestring ): - other = ParserElement._literalStringClass( other ) - if not isinstance( other, ParserElement ): - warnings.warn("Cannot combine element of type %s with ParserElement" % type(other), - SyntaxWarning, stacklevel=2) - return None - return other - self - - def __mul__(self,other): - """ - Implementation of * operator, allows use of C{expr * 3} in place of - C{expr + expr + expr}. Expressions may also me multiplied by a 2-integer - tuple, similar to C{{min,max}} multipliers in regular expressions. Tuples - may also include C{None} as in: - - C{expr*(n,None)} or C{expr*(n,)} is equivalent - to C{expr*n + L{ZeroOrMore}(expr)} - (read as "at least n instances of C{expr}") - - C{expr*(None,n)} is equivalent to C{expr*(0,n)} - (read as "0 to n instances of C{expr}") - - C{expr*(None,None)} is equivalent to C{L{ZeroOrMore}(expr)} - - C{expr*(1,None)} is equivalent to C{L{OneOrMore}(expr)} - - Note that C{expr*(None,n)} does not raise an exception if - more than n exprs exist in the input stream; that is, - C{expr*(None,n)} does not enforce a maximum number of expr - occurrences. If this behavior is desired, then write - C{expr*(None,n) + ~expr} - """ - if isinstance(other,int): - minElements, optElements = other,0 - elif isinstance(other,tuple): - other = (other + (None, None))[:2] - if other[0] is None: - other = (0, other[1]) - if isinstance(other[0],int) and other[1] is None: - if other[0] == 0: - return ZeroOrMore(self) - if other[0] == 1: - return OneOrMore(self) - else: - return self*other[0] + ZeroOrMore(self) - elif isinstance(other[0],int) and isinstance(other[1],int): - minElements, optElements = other - optElements -= minElements - else: - raise TypeError("cannot multiply 'ParserElement' and ('%s','%s') objects", type(other[0]),type(other[1])) - else: - raise TypeError("cannot multiply 'ParserElement' and '%s' objects", type(other)) - - if minElements < 0: - raise ValueError("cannot multiply ParserElement by negative value") - if optElements < 0: - raise ValueError("second tuple value must be greater or equal to first tuple value") - if minElements == optElements == 0: - raise ValueError("cannot multiply ParserElement by 0 or (0,0)") - - if (optElements): - def makeOptionalList(n): - if n>1: - return Optional(self + makeOptionalList(n-1)) - else: - return Optional(self) - if minElements: - if minElements == 1: - ret = self + makeOptionalList(optElements) - else: - ret = And([self]*minElements) + makeOptionalList(optElements) - else: - ret = makeOptionalList(optElements) - else: - if minElements == 1: - ret = self - else: - ret = And([self]*minElements) - return ret - - def __rmul__(self, other): - return self.__mul__(other) - - def __or__(self, other ): - """ - Implementation of | operator - returns C{L{MatchFirst}} - """ - if isinstance( other, basestring ): - other = ParserElement._literalStringClass( other ) - if not isinstance( other, ParserElement ): - warnings.warn("Cannot combine element of type %s with ParserElement" % type(other), - SyntaxWarning, stacklevel=2) - return None - return MatchFirst( [ self, other ] ) - - def __ror__(self, other ): - """ - Implementation of | operator when left operand is not a C{L{ParserElement}} - """ - if isinstance( other, basestring ): - other = ParserElement._literalStringClass( other ) - if not isinstance( other, ParserElement ): - warnings.warn("Cannot combine element of type %s with ParserElement" % type(other), - SyntaxWarning, stacklevel=2) - return None - return other | self - - def __xor__(self, other ): - """ - Implementation of ^ operator - returns C{L{Or}} - """ - if isinstance( other, basestring ): - other = ParserElement._literalStringClass( other ) - if not isinstance( other, ParserElement ): - warnings.warn("Cannot combine element of type %s with ParserElement" % type(other), - SyntaxWarning, stacklevel=2) - return None - return Or( [ self, other ] ) - - def __rxor__(self, other ): - """ - Implementation of ^ operator when left operand is not a C{L{ParserElement}} - """ - if isinstance( other, basestring ): - other = ParserElement._literalStringClass( other ) - if not isinstance( other, ParserElement ): - warnings.warn("Cannot combine element of type %s with ParserElement" % type(other), - SyntaxWarning, stacklevel=2) - return None - return other ^ self - - def __and__(self, other ): - """ - Implementation of & operator - returns C{L{Each}} - """ - if isinstance( other, basestring ): - other = ParserElement._literalStringClass( other ) - if not isinstance( other, ParserElement ): - warnings.warn("Cannot combine element of type %s with ParserElement" % type(other), - SyntaxWarning, stacklevel=2) - return None - return Each( [ self, other ] ) - - def __rand__(self, other ): - """ - Implementation of & operator when left operand is not a C{L{ParserElement}} - """ - if isinstance( other, basestring ): - other = ParserElement._literalStringClass( other ) - if not isinstance( other, ParserElement ): - warnings.warn("Cannot combine element of type %s with ParserElement" % type(other), - SyntaxWarning, stacklevel=2) - return None - return other & self - - def __invert__( self ): - """ - Implementation of ~ operator - returns C{L{NotAny}} - """ - return NotAny( self ) - - def __call__(self, name=None): - """ - Shortcut for C{L{setResultsName}}, with C{listAllMatches=False}. - - If C{name} is given with a trailing C{'*'} character, then C{listAllMatches} will be - passed as C{True}. - - If C{name} is omitted, same as calling C{L{copy}}. - - Example:: - # these are equivalent - userdata = Word(alphas).setResultsName("name") + Word(nums+"-").setResultsName("socsecno") - userdata = Word(alphas)("name") + Word(nums+"-")("socsecno") - """ - if name is not None: - return self.setResultsName(name) - else: - return self.copy() - - def suppress( self ): - """ - Suppresses the output of this C{ParserElement}; useful to keep punctuation from - cluttering up returned output. - """ - return Suppress( self ) - - def leaveWhitespace( self ): - """ - Disables the skipping of whitespace before matching the characters in the - C{ParserElement}'s defined pattern. This is normally only used internally by - the pyparsing module, but may be needed in some whitespace-sensitive grammars. - """ - self.skipWhitespace = False - return self - - def setWhitespaceChars( self, chars ): - """ - Overrides the default whitespace chars - """ - self.skipWhitespace = True - self.whiteChars = chars - self.copyDefaultWhiteChars = False - return self - - def parseWithTabs( self ): - """ - Overrides default behavior to expand C{<TAB>}s to spaces before parsing the input string. - Must be called before C{parseString} when the input grammar contains elements that - match C{<TAB>} characters. - """ - self.keepTabs = True - return self - - def ignore( self, other ): - """ - Define expression to be ignored (e.g., comments) while doing pattern - matching; may be called repeatedly, to define multiple comment or other - ignorable patterns. - - Example:: - patt = OneOrMore(Word(alphas)) - patt.parseString('ablaj /* comment */ lskjd') # -> ['ablaj'] - - patt.ignore(cStyleComment) - patt.parseString('ablaj /* comment */ lskjd') # -> ['ablaj', 'lskjd'] - """ - if isinstance(other, basestring): - other = Suppress(other) - - if isinstance( other, Suppress ): - if other not in self.ignoreExprs: - self.ignoreExprs.append(other) - else: - self.ignoreExprs.append( Suppress( other.copy() ) ) - return self - - def setDebugActions( self, startAction, successAction, exceptionAction ): - """ - Enable display of debugging messages while doing pattern matching. - """ - self.debugActions = (startAction or _defaultStartDebugAction, - successAction or _defaultSuccessDebugAction, - exceptionAction or _defaultExceptionDebugAction) - self.debug = True - return self - - def setDebug( self, flag=True ): - """ - Enable display of debugging messages while doing pattern matching. - Set C{flag} to True to enable, False to disable. - - Example:: - wd = Word(alphas).setName("alphaword") - integer = Word(nums).setName("numword") - term = wd | integer - - # turn on debugging for wd - wd.setDebug() - - OneOrMore(term).parseString("abc 123 xyz 890") - - prints:: - Match alphaword at loc 0(1,1) - Matched alphaword -> ['abc'] - Match alphaword at loc 3(1,4) - Exception raised:Expected alphaword (at char 4), (line:1, col:5) - Match alphaword at loc 7(1,8) - Matched alphaword -> ['xyz'] - Match alphaword at loc 11(1,12) - Exception raised:Expected alphaword (at char 12), (line:1, col:13) - Match alphaword at loc 15(1,16) - Exception raised:Expected alphaword (at char 15), (line:1, col:16) - - The output shown is that produced by the default debug actions - custom debug actions can be - specified using L{setDebugActions}. Prior to attempting - to match the C{wd} expression, the debugging message C{"Match <exprname> at loc <n>(<line>,<col>)"} - is shown. Then if the parse succeeds, a C{"Matched"} message is shown, or an C{"Exception raised"} - message is shown. Also note the use of L{setName} to assign a human-readable name to the expression, - which makes debugging and exception messages easier to understand - for instance, the default - name created for the C{Word} expression without calling C{setName} is C{"W:(ABCD...)"}. - """ - if flag: - self.setDebugActions( _defaultStartDebugAction, _defaultSuccessDebugAction, _defaultExceptionDebugAction ) - else: - self.debug = False - return self - - def __str__( self ): - return self.name - - def __repr__( self ): - return _ustr(self) - - def streamline( self ): - self.streamlined = True - self.strRepr = None - return self - - def checkRecursion( self, parseElementList ): - pass - - def validate( self, validateTrace=[] ): - """ - Check defined expressions for valid structure, check for infinite recursive definitions. - """ - self.checkRecursion( [] ) - - def parseFile( self, file_or_filename, parseAll=False ): - """ - Execute the parse expression on the given file or filename. - If a filename is specified (instead of a file object), - the entire file is opened, read, and closed before parsing. - """ - try: - file_contents = file_or_filename.read() - except AttributeError: - with open(file_or_filename, "r") as f: - file_contents = f.read() - try: - return self.parseString(file_contents, parseAll) - except ParseBaseException as exc: - if ParserElement.verbose_stacktrace: - raise - else: - # catch and re-raise exception from here, clears out pyparsing internal stack trace - raise exc - - def __eq__(self,other): - if isinstance(other, ParserElement): - return self is other or vars(self) == vars(other) - elif isinstance(other, basestring): - return self.matches(other) - else: - return super(ParserElement,self)==other - - def __ne__(self,other): - return not (self == other) - - def __hash__(self): - return hash(id(self)) - - def __req__(self,other): - return self == other - - def __rne__(self,other): - return not (self == other) - - def matches(self, testString, parseAll=True): - """ - Method for quick testing of a parser against a test string. Good for simple - inline microtests of sub expressions while building up larger parser. - - Parameters: - - testString - to test against this expression for a match - - parseAll - (default=C{True}) - flag to pass to C{L{parseString}} when running tests - - Example:: - expr = Word(nums) - assert expr.matches("100") - """ - try: - self.parseString(_ustr(testString), parseAll=parseAll) - return True - except ParseBaseException: - return False - - def runTests(self, tests, parseAll=True, comment='#', fullDump=True, printResults=True, failureTests=False): - """ - Execute the parse expression on a series of test strings, showing each - test, the parsed results or where the parse failed. Quick and easy way to - run a parse expression against a list of sample strings. - - Parameters: - - tests - a list of separate test strings, or a multiline string of test strings - - parseAll - (default=C{True}) - flag to pass to C{L{parseString}} when running tests - - comment - (default=C{'#'}) - expression for indicating embedded comments in the test - string; pass None to disable comment filtering - - fullDump - (default=C{True}) - dump results as list followed by results names in nested outline; - if False, only dump nested list - - printResults - (default=C{True}) prints test output to stdout - - failureTests - (default=C{False}) indicates if these tests are expected to fail parsing - - Returns: a (success, results) tuple, where success indicates that all tests succeeded - (or failed if C{failureTests} is True), and the results contain a list of lines of each - test's output - - Example:: - number_expr = pyparsing_common.number.copy() - - result = number_expr.runTests(''' - # unsigned integer - 100 - # negative integer - -100 - # float with scientific notation - 6.02e23 - # integer with scientific notation - 1e-12 - ''') - print("Success" if result[0] else "Failed!") - - result = number_expr.runTests(''' - # stray character - 100Z - # missing leading digit before '.' - -.100 - # too many '.' - 3.14.159 - ''', failureTests=True) - print("Success" if result[0] else "Failed!") - prints:: - # unsigned integer - 100 - [100] - - # negative integer - -100 - [-100] - - # float with scientific notation - 6.02e23 - [6.02e+23] - - # integer with scientific notation - 1e-12 - [1e-12] - - Success - - # stray character - 100Z - ^ - FAIL: Expected end of text (at char 3), (line:1, col:4) - - # missing leading digit before '.' - -.100 - ^ - FAIL: Expected {real number with scientific notation | real number | signed integer} (at char 0), (line:1, col:1) - - # too many '.' - 3.14.159 - ^ - FAIL: Expected end of text (at char 4), (line:1, col:5) - - Success - - Each test string must be on a single line. If you want to test a string that spans multiple - lines, create a test like this:: - - expr.runTest(r"this is a test\\n of strings that spans \\n 3 lines") - - (Note that this is a raw string literal, you must include the leading 'r'.) - """ - if isinstance(tests, basestring): - tests = list(map(str.strip, tests.rstrip().splitlines())) - if isinstance(comment, basestring): - comment = Literal(comment) - allResults = [] - comments = [] - success = True - for t in tests: - if comment is not None and comment.matches(t, False) or comments and not t: - comments.append(t) - continue - if not t: - continue - out = ['\n'.join(comments), t] - comments = [] - try: - t = t.replace(r'\n','\n') - result = self.parseString(t, parseAll=parseAll) - out.append(result.dump(full=fullDump)) - success = success and not failureTests - except ParseBaseException as pe: - fatal = "(FATAL)" if isinstance(pe, ParseFatalException) else "" - if '\n' in t: - out.append(line(pe.loc, t)) - out.append(' '*(col(pe.loc,t)-1) + '^' + fatal) - else: - out.append(' '*pe.loc + '^' + fatal) - out.append("FAIL: " + str(pe)) - success = success and failureTests - result = pe - except Exception as exc: - out.append("FAIL-EXCEPTION: " + str(exc)) - success = success and failureTests - result = exc - - if printResults: - if fullDump: - out.append('') - print('\n'.join(out)) - - allResults.append((t, result)) - - return success, allResults - - -class Token(ParserElement): - """ - Abstract C{ParserElement} subclass, for defining atomic matching patterns. - """ - def __init__( self ): - super(Token,self).__init__( savelist=False ) - - -class Empty(Token): - """ - An empty token, will always match. - """ - def __init__( self ): - super(Empty,self).__init__() - self.name = "Empty" - self.mayReturnEmpty = True - self.mayIndexError = False - - -class NoMatch(Token): - """ - A token that will never match. - """ - def __init__( self ): - super(NoMatch,self).__init__() - self.name = "NoMatch" - self.mayReturnEmpty = True - self.mayIndexError = False - self.errmsg = "Unmatchable token" - - def parseImpl( self, instring, loc, doActions=True ): - raise ParseException(instring, loc, self.errmsg, self) - - -class Literal(Token): - """ - Token to exactly match a specified string. - - Example:: - Literal('blah').parseString('blah') # -> ['blah'] - Literal('blah').parseString('blahfooblah') # -> ['blah'] - Literal('blah').parseString('bla') # -> Exception: Expected "blah" - - For case-insensitive matching, use L{CaselessLiteral}. - - For keyword matching (force word break before and after the matched string), - use L{Keyword} or L{CaselessKeyword}. - """ - def __init__( self, matchString ): - super(Literal,self).__init__() - self.match = matchString - self.matchLen = len(matchString) - try: - self.firstMatchChar = matchString[0] - except IndexError: - warnings.warn("null string passed to Literal; use Empty() instead", - SyntaxWarning, stacklevel=2) - self.__class__ = Empty - self.name = '"%s"' % _ustr(self.match) - self.errmsg = "Expected " + self.name - self.mayReturnEmpty = False - self.mayIndexError = False - - # Performance tuning: this routine gets called a *lot* - # if this is a single character match string and the first character matches, - # short-circuit as quickly as possible, and avoid calling startswith - #~ @profile - def parseImpl( self, instring, loc, doActions=True ): - if (instring[loc] == self.firstMatchChar and - (self.matchLen==1 or instring.startswith(self.match,loc)) ): - return loc+self.matchLen, self.match - raise ParseException(instring, loc, self.errmsg, self) -_L = Literal -ParserElement._literalStringClass = Literal - -class Keyword(Token): - """ - Token to exactly match a specified string as a keyword, that is, it must be - immediately followed by a non-keyword character. Compare with C{L{Literal}}: - - C{Literal("if")} will match the leading C{'if'} in C{'ifAndOnlyIf'}. - - C{Keyword("if")} will not; it will only match the leading C{'if'} in C{'if x=1'}, or C{'if(y==2)'} - Accepts two optional constructor arguments in addition to the keyword string: - - C{identChars} is a string of characters that would be valid identifier characters, - defaulting to all alphanumerics + "_" and "$" - - C{caseless} allows case-insensitive matching, default is C{False}. - - Example:: - Keyword("start").parseString("start") # -> ['start'] - Keyword("start").parseString("starting") # -> Exception - - For case-insensitive matching, use L{CaselessKeyword}. - """ - DEFAULT_KEYWORD_CHARS = alphanums+"_$" - - def __init__( self, matchString, identChars=None, caseless=False ): - super(Keyword,self).__init__() - if identChars is None: - identChars = Keyword.DEFAULT_KEYWORD_CHARS - self.match = matchString - self.matchLen = len(matchString) - try: - self.firstMatchChar = matchString[0] - except IndexError: - warnings.warn("null string passed to Keyword; use Empty() instead", - SyntaxWarning, stacklevel=2) - self.name = '"%s"' % self.match - self.errmsg = "Expected " + self.name - self.mayReturnEmpty = False - self.mayIndexError = False - self.caseless = caseless - if caseless: - self.caselessmatch = matchString.upper() - identChars = identChars.upper() - self.identChars = set(identChars) - - def parseImpl( self, instring, loc, doActions=True ): - if self.caseless: - if ( (instring[ loc:loc+self.matchLen ].upper() == self.caselessmatch) and - (loc >= len(instring)-self.matchLen or instring[loc+self.matchLen].upper() not in self.identChars) and - (loc == 0 or instring[loc-1].upper() not in self.identChars) ): - return loc+self.matchLen, self.match - else: - if (instring[loc] == self.firstMatchChar and - (self.matchLen==1 or instring.startswith(self.match,loc)) and - (loc >= len(instring)-self.matchLen or instring[loc+self.matchLen] not in self.identChars) and - (loc == 0 or instring[loc-1] not in self.identChars) ): - return loc+self.matchLen, self.match - raise ParseException(instring, loc, self.errmsg, self) - - def copy(self): - c = super(Keyword,self).copy() - c.identChars = Keyword.DEFAULT_KEYWORD_CHARS - return c - - @staticmethod - def setDefaultKeywordChars( chars ): - """Overrides the default Keyword chars - """ - Keyword.DEFAULT_KEYWORD_CHARS = chars - -class CaselessLiteral(Literal): - """ - Token to match a specified string, ignoring case of letters. - Note: the matched results will always be in the case of the given - match string, NOT the case of the input text. - - Example:: - OneOrMore(CaselessLiteral("CMD")).parseString("cmd CMD Cmd10") # -> ['CMD', 'CMD', 'CMD'] - - (Contrast with example for L{CaselessKeyword}.) - """ - def __init__( self, matchString ): - super(CaselessLiteral,self).__init__( matchString.upper() ) - # Preserve the defining literal. - self.returnString = matchString - self.name = "'%s'" % self.returnString - self.errmsg = "Expected " + self.name - - def parseImpl( self, instring, loc, doActions=True ): - if instring[ loc:loc+self.matchLen ].upper() == self.match: - return loc+self.matchLen, self.returnString - raise ParseException(instring, loc, self.errmsg, self) - -class CaselessKeyword(Keyword): - """ - Caseless version of L{Keyword}. - - Example:: - OneOrMore(CaselessKeyword("CMD")).parseString("cmd CMD Cmd10") # -> ['CMD', 'CMD'] - - (Contrast with example for L{CaselessLiteral}.) - """ - def __init__( self, matchString, identChars=None ): - super(CaselessKeyword,self).__init__( matchString, identChars, caseless=True ) - - def parseImpl( self, instring, loc, doActions=True ): - if ( (instring[ loc:loc+self.matchLen ].upper() == self.caselessmatch) and - (loc >= len(instring)-self.matchLen or instring[loc+self.matchLen].upper() not in self.identChars) ): - return loc+self.matchLen, self.match - raise ParseException(instring, loc, self.errmsg, self) - -class CloseMatch(Token): - """ - A variation on L{Literal} which matches "close" matches, that is, - strings with at most 'n' mismatching characters. C{CloseMatch} takes parameters: - - C{match_string} - string to be matched - - C{maxMismatches} - (C{default=1}) maximum number of mismatches allowed to count as a match - - The results from a successful parse will contain the matched text from the input string and the following named results: - - C{mismatches} - a list of the positions within the match_string where mismatches were found - - C{original} - the original match_string used to compare against the input string - - If C{mismatches} is an empty list, then the match was an exact match. - - Example:: - patt = CloseMatch("ATCATCGAATGGA") - patt.parseString("ATCATCGAAXGGA") # -> (['ATCATCGAAXGGA'], {'mismatches': [[9]], 'original': ['ATCATCGAATGGA']}) - patt.parseString("ATCAXCGAAXGGA") # -> Exception: Expected 'ATCATCGAATGGA' (with up to 1 mismatches) (at char 0), (line:1, col:1) - - # exact match - patt.parseString("ATCATCGAATGGA") # -> (['ATCATCGAATGGA'], {'mismatches': [[]], 'original': ['ATCATCGAATGGA']}) - - # close match allowing up to 2 mismatches - patt = CloseMatch("ATCATCGAATGGA", maxMismatches=2) - patt.parseString("ATCAXCGAAXGGA") # -> (['ATCAXCGAAXGGA'], {'mismatches': [[4, 9]], 'original': ['ATCATCGAATGGA']}) - """ - def __init__(self, match_string, maxMismatches=1): - super(CloseMatch,self).__init__() - self.name = match_string - self.match_string = match_string - self.maxMismatches = maxMismatches - self.errmsg = "Expected %r (with up to %d mismatches)" % (self.match_string, self.maxMismatches) - self.mayIndexError = False - self.mayReturnEmpty = False - - def parseImpl( self, instring, loc, doActions=True ): - start = loc - instrlen = len(instring) - maxloc = start + len(self.match_string) - - if maxloc <= instrlen: - match_string = self.match_string - match_stringloc = 0 - mismatches = [] - maxMismatches = self.maxMismatches - - for match_stringloc,s_m in enumerate(zip(instring[loc:maxloc], self.match_string)): - src,mat = s_m - if src != mat: - mismatches.append(match_stringloc) - if len(mismatches) > maxMismatches: - break - else: - loc = match_stringloc + 1 - results = ParseResults([instring[start:loc]]) - results['original'] = self.match_string - results['mismatches'] = mismatches - return loc, results - - raise ParseException(instring, loc, self.errmsg, self) - - -class Word(Token): - """ - Token for matching words composed of allowed character sets. - Defined with string containing all allowed initial characters, - an optional string containing allowed body characters (if omitted, - defaults to the initial character set), and an optional minimum, - maximum, and/or exact length. The default value for C{min} is 1 (a - minimum value < 1 is not valid); the default values for C{max} and C{exact} - are 0, meaning no maximum or exact length restriction. An optional - C{excludeChars} parameter can list characters that might be found in - the input C{bodyChars} string; useful to define a word of all printables - except for one or two characters, for instance. - - L{srange} is useful for defining custom character set strings for defining - C{Word} expressions, using range notation from regular expression character sets. - - A common mistake is to use C{Word} to match a specific literal string, as in - C{Word("Address")}. Remember that C{Word} uses the string argument to define - I{sets} of matchable characters. This expression would match "Add", "AAA", - "dAred", or any other word made up of the characters 'A', 'd', 'r', 'e', and 's'. - To match an exact literal string, use L{Literal} or L{Keyword}. - - pyparsing includes helper strings for building Words: - - L{alphas} - - L{nums} - - L{alphanums} - - L{hexnums} - - L{alphas8bit} (alphabetic characters in ASCII range 128-255 - accented, tilded, umlauted, etc.) - - L{punc8bit} (non-alphabetic characters in ASCII range 128-255 - currency, symbols, superscripts, diacriticals, etc.) - - L{printables} (any non-whitespace character) - - Example:: - # a word composed of digits - integer = Word(nums) # equivalent to Word("0123456789") or Word(srange("0-9")) - - # a word with a leading capital, and zero or more lowercase - capital_word = Word(alphas.upper(), alphas.lower()) - - # hostnames are alphanumeric, with leading alpha, and '-' - hostname = Word(alphas, alphanums+'-') - - # roman numeral (not a strict parser, accepts invalid mix of characters) - roman = Word("IVXLCDM") - - # any string of non-whitespace characters, except for ',' - csv_value = Word(printables, excludeChars=",") - """ - def __init__( self, initChars, bodyChars=None, min=1, max=0, exact=0, asKeyword=False, excludeChars=None ): - super(Word,self).__init__() - if excludeChars: - initChars = ''.join(c for c in initChars if c not in excludeChars) - if bodyChars: - bodyChars = ''.join(c for c in bodyChars if c not in excludeChars) - self.initCharsOrig = initChars - self.initChars = set(initChars) - if bodyChars : - self.bodyCharsOrig = bodyChars - self.bodyChars = set(bodyChars) - else: - self.bodyCharsOrig = initChars - self.bodyChars = set(initChars) - - self.maxSpecified = max > 0 - - if min < 1: - raise ValueError("cannot specify a minimum length < 1; use Optional(Word()) if zero-length word is permitted") - - self.minLen = min - - if max > 0: - self.maxLen = max - else: - self.maxLen = _MAX_INT - - if exact > 0: - self.maxLen = exact - self.minLen = exact - - self.name = _ustr(self) - self.errmsg = "Expected " + self.name - self.mayIndexError = False - self.asKeyword = asKeyword - - if ' ' not in self.initCharsOrig+self.bodyCharsOrig and (min==1 and max==0 and exact==0): - if self.bodyCharsOrig == self.initCharsOrig: - self.reString = "[%s]+" % _escapeRegexRangeChars(self.initCharsOrig) - elif len(self.initCharsOrig) == 1: - self.reString = "%s[%s]*" % \ - (re.escape(self.initCharsOrig), - _escapeRegexRangeChars(self.bodyCharsOrig),) - else: - self.reString = "[%s][%s]*" % \ - (_escapeRegexRangeChars(self.initCharsOrig), - _escapeRegexRangeChars(self.bodyCharsOrig),) - if self.asKeyword: - self.reString = r"\b"+self.reString+r"\b" - try: - self.re = re.compile( self.reString ) - except Exception: - self.re = None - - def parseImpl( self, instring, loc, doActions=True ): - if self.re: - result = self.re.match(instring,loc) - if not result: - raise ParseException(instring, loc, self.errmsg, self) - - loc = result.end() - return loc, result.group() - - if not(instring[ loc ] in self.initChars): - raise ParseException(instring, loc, self.errmsg, self) - - start = loc - loc += 1 - instrlen = len(instring) - bodychars = self.bodyChars - maxloc = start + self.maxLen - maxloc = min( maxloc, instrlen ) - while loc < maxloc and instring[loc] in bodychars: - loc += 1 - - throwException = False - if loc - start < self.minLen: - throwException = True - if self.maxSpecified and loc < instrlen and instring[loc] in bodychars: - throwException = True - if self.asKeyword: - if (start>0 and instring[start-1] in bodychars) or (loc<instrlen and instring[loc] in bodychars): - throwException = True - - if throwException: - raise ParseException(instring, loc, self.errmsg, self) - - return loc, instring[start:loc] - - def __str__( self ): - try: - return super(Word,self).__str__() - except Exception: - pass - - - if self.strRepr is None: - - def charsAsStr(s): - if len(s)>4: - return s[:4]+"..." - else: - return s - - if ( self.initCharsOrig != self.bodyCharsOrig ): - self.strRepr = "W:(%s,%s)" % ( charsAsStr(self.initCharsOrig), charsAsStr(self.bodyCharsOrig) ) - else: - self.strRepr = "W:(%s)" % charsAsStr(self.initCharsOrig) - - return self.strRepr - - -class Regex(Token): - r""" - Token for matching strings that match a given regular expression. - Defined with string specifying the regular expression in a form recognized by the inbuilt Python re module. - If the given regex contains named groups (defined using C{(?P<name>...)}), these will be preserved as - named parse results. - - Example:: - realnum = Regex(r"[+-]?\d+\.\d*") - date = Regex(r'(?P<year>\d{4})-(?P<month>\d\d?)-(?P<day>\d\d?)') - # ref: http://stackoverflow.com/questions/267399/how-do-you-match-only-valid-roman-numerals-with-a-regular-expression - roman = Regex(r"M{0,4}(CM|CD|D?C{0,3})(XC|XL|L?X{0,3})(IX|IV|V?I{0,3})") - """ - compiledREtype = type(re.compile("[A-Z]")) - def __init__( self, pattern, flags=0): - """The parameters C{pattern} and C{flags} are passed to the C{re.compile()} function as-is. See the Python C{re} module for an explanation of the acceptable patterns and flags.""" - super(Regex,self).__init__() - - if isinstance(pattern, basestring): - if not pattern: - warnings.warn("null string passed to Regex; use Empty() instead", - SyntaxWarning, stacklevel=2) - - self.pattern = pattern - self.flags = flags - - try: - self.re = re.compile(self.pattern, self.flags) - self.reString = self.pattern - except sre_constants.error: - warnings.warn("invalid pattern (%s) passed to Regex" % pattern, - SyntaxWarning, stacklevel=2) - raise - - elif isinstance(pattern, Regex.compiledREtype): - self.re = pattern - self.pattern = \ - self.reString = str(pattern) - self.flags = flags - - else: - raise ValueError("Regex may only be constructed with a string or a compiled RE object") - - self.name = _ustr(self) - self.errmsg = "Expected " + self.name - self.mayIndexError = False - self.mayReturnEmpty = True - - def parseImpl( self, instring, loc, doActions=True ): - result = self.re.match(instring,loc) - if not result: - raise ParseException(instring, loc, self.errmsg, self) - - loc = result.end() - d = result.groupdict() - ret = ParseResults(result.group()) - if d: - for k in d: - ret[k] = d[k] - return loc,ret - - def __str__( self ): - try: - return super(Regex,self).__str__() - except Exception: - pass - - if self.strRepr is None: - self.strRepr = "Re:(%s)" % repr(self.pattern) - - return self.strRepr - - -class QuotedString(Token): - r""" - Token for matching strings that are delimited by quoting characters. - - Defined with the following parameters: - - quoteChar - string of one or more characters defining the quote delimiting string - - escChar - character to escape quotes, typically backslash (default=C{None}) - - escQuote - special quote sequence to escape an embedded quote string (such as SQL's "" to escape an embedded ") (default=C{None}) - - multiline - boolean indicating whether quotes can span multiple lines (default=C{False}) - - unquoteResults - boolean indicating whether the matched text should be unquoted (default=C{True}) - - endQuoteChar - string of one or more characters defining the end of the quote delimited string (default=C{None} => same as quoteChar) - - convertWhitespaceEscapes - convert escaped whitespace (C{'\t'}, C{'\n'}, etc.) to actual whitespace (default=C{True}) - - Example:: - qs = QuotedString('"') - print(qs.searchString('lsjdf "This is the quote" sldjf')) - complex_qs = QuotedString('{{', endQuoteChar='}}') - print(complex_qs.searchString('lsjdf {{This is the "quote"}} sldjf')) - sql_qs = QuotedString('"', escQuote='""') - print(sql_qs.searchString('lsjdf "This is the quote with ""embedded"" quotes" sldjf')) - prints:: - [['This is the quote']] - [['This is the "quote"']] - [['This is the quote with "embedded" quotes']] - """ - def __init__( self, quoteChar, escChar=None, escQuote=None, multiline=False, unquoteResults=True, endQuoteChar=None, convertWhitespaceEscapes=True): - super(QuotedString,self).__init__() - - # remove white space from quote chars - wont work anyway - quoteChar = quoteChar.strip() - if not quoteChar: - warnings.warn("quoteChar cannot be the empty string",SyntaxWarning,stacklevel=2) - raise SyntaxError() - - if endQuoteChar is None: - endQuoteChar = quoteChar - else: - endQuoteChar = endQuoteChar.strip() - if not endQuoteChar: - warnings.warn("endQuoteChar cannot be the empty string",SyntaxWarning,stacklevel=2) - raise SyntaxError() - - self.quoteChar = quoteChar - self.quoteCharLen = len(quoteChar) - self.firstQuoteChar = quoteChar[0] - self.endQuoteChar = endQuoteChar - self.endQuoteCharLen = len(endQuoteChar) - self.escChar = escChar - self.escQuote = escQuote - self.unquoteResults = unquoteResults - self.convertWhitespaceEscapes = convertWhitespaceEscapes - - if multiline: - self.flags = re.MULTILINE | re.DOTALL - self.pattern = r'%s(?:[^%s%s]' % \ - ( re.escape(self.quoteChar), - _escapeRegexRangeChars(self.endQuoteChar[0]), - (escChar is not None and _escapeRegexRangeChars(escChar) or '') ) - else: - self.flags = 0 - self.pattern = r'%s(?:[^%s\n\r%s]' % \ - ( re.escape(self.quoteChar), - _escapeRegexRangeChars(self.endQuoteChar[0]), - (escChar is not None and _escapeRegexRangeChars(escChar) or '') ) - if len(self.endQuoteChar) > 1: - self.pattern += ( - '|(?:' + ')|(?:'.join("%s[^%s]" % (re.escape(self.endQuoteChar[:i]), - _escapeRegexRangeChars(self.endQuoteChar[i])) - for i in range(len(self.endQuoteChar)-1,0,-1)) + ')' - ) - if escQuote: - self.pattern += (r'|(?:%s)' % re.escape(escQuote)) - if escChar: - self.pattern += (r'|(?:%s.)' % re.escape(escChar)) - self.escCharReplacePattern = re.escape(self.escChar)+"(.)" - self.pattern += (r')*%s' % re.escape(self.endQuoteChar)) - - try: - self.re = re.compile(self.pattern, self.flags) - self.reString = self.pattern - except sre_constants.error: - warnings.warn("invalid pattern (%s) passed to Regex" % self.pattern, - SyntaxWarning, stacklevel=2) - raise - - self.name = _ustr(self) - self.errmsg = "Expected " + self.name - self.mayIndexError = False - self.mayReturnEmpty = True - - def parseImpl( self, instring, loc, doActions=True ): - result = instring[loc] == self.firstQuoteChar and self.re.match(instring,loc) or None - if not result: - raise ParseException(instring, loc, self.errmsg, self) - - loc = result.end() - ret = result.group() - - if self.unquoteResults: - - # strip off quotes - ret = ret[self.quoteCharLen:-self.endQuoteCharLen] - - if isinstance(ret,basestring): - # replace escaped whitespace - if '\\' in ret and self.convertWhitespaceEscapes: - ws_map = { - r'\t' : '\t', - r'\n' : '\n', - r'\f' : '\f', - r'\r' : '\r', - } - for wslit,wschar in ws_map.items(): - ret = ret.replace(wslit, wschar) - - # replace escaped characters - if self.escChar: - ret = re.sub(self.escCharReplacePattern, r"\g<1>", ret) - - # replace escaped quotes - if self.escQuote: - ret = ret.replace(self.escQuote, self.endQuoteChar) - - return loc, ret - - def __str__( self ): - try: - return super(QuotedString,self).__str__() - except Exception: - pass - - if self.strRepr is None: - self.strRepr = "quoted string, starting with %s ending with %s" % (self.quoteChar, self.endQuoteChar) - - return self.strRepr - - -class CharsNotIn(Token): - """ - Token for matching words composed of characters I{not} in a given set (will - include whitespace in matched characters if not listed in the provided exclusion set - see example). - Defined with string containing all disallowed characters, and an optional - minimum, maximum, and/or exact length. The default value for C{min} is 1 (a - minimum value < 1 is not valid); the default values for C{max} and C{exact} - are 0, meaning no maximum or exact length restriction. - - Example:: - # define a comma-separated-value as anything that is not a ',' - csv_value = CharsNotIn(',') - print(delimitedList(csv_value).parseString("dkls,lsdkjf,s12 34,@!#,213")) - prints:: - ['dkls', 'lsdkjf', 's12 34', '@!#', '213'] - """ - def __init__( self, notChars, min=1, max=0, exact=0 ): - super(CharsNotIn,self).__init__() - self.skipWhitespace = False - self.notChars = notChars - - if min < 1: - raise ValueError("cannot specify a minimum length < 1; use Optional(CharsNotIn()) if zero-length char group is permitted") - - self.minLen = min - - if max > 0: - self.maxLen = max - else: - self.maxLen = _MAX_INT - - if exact > 0: - self.maxLen = exact - self.minLen = exact - - self.name = _ustr(self) - self.errmsg = "Expected " + self.name - self.mayReturnEmpty = ( self.minLen == 0 ) - self.mayIndexError = False - - def parseImpl( self, instring, loc, doActions=True ): - if instring[loc] in self.notChars: - raise ParseException(instring, loc, self.errmsg, self) - - start = loc - loc += 1 - notchars = self.notChars - maxlen = min( start+self.maxLen, len(instring) ) - while loc < maxlen and \ - (instring[loc] not in notchars): - loc += 1 - - if loc - start < self.minLen: - raise ParseException(instring, loc, self.errmsg, self) - - return loc, instring[start:loc] - - def __str__( self ): - try: - return super(CharsNotIn, self).__str__() - except Exception: - pass - - if self.strRepr is None: - if len(self.notChars) > 4: - self.strRepr = "!W:(%s...)" % self.notChars[:4] - else: - self.strRepr = "!W:(%s)" % self.notChars - - return self.strRepr - -class White(Token): - """ - Special matching class for matching whitespace. Normally, whitespace is ignored - by pyparsing grammars. This class is included when some whitespace structures - are significant. Define with a string containing the whitespace characters to be - matched; default is C{" \\t\\r\\n"}. Also takes optional C{min}, C{max}, and C{exact} arguments, - as defined for the C{L{Word}} class. - """ - whiteStrs = { - " " : "<SPC>", - "\t": "<TAB>", - "\n": "<LF>", - "\r": "<CR>", - "\f": "<FF>", - } - def __init__(self, ws=" \t\r\n", min=1, max=0, exact=0): - super(White,self).__init__() - self.matchWhite = ws - self.setWhitespaceChars( "".join(c for c in self.whiteChars if c not in self.matchWhite) ) - #~ self.leaveWhitespace() - self.name = ("".join(White.whiteStrs[c] for c in self.matchWhite)) - self.mayReturnEmpty = True - self.errmsg = "Expected " + self.name - - self.minLen = min - - if max > 0: - self.maxLen = max - else: - self.maxLen = _MAX_INT - - if exact > 0: - self.maxLen = exact - self.minLen = exact - - def parseImpl( self, instring, loc, doActions=True ): - if not(instring[ loc ] in self.matchWhite): - raise ParseException(instring, loc, self.errmsg, self) - start = loc - loc += 1 - maxloc = start + self.maxLen - maxloc = min( maxloc, len(instring) ) - while loc < maxloc and instring[loc] in self.matchWhite: - loc += 1 - - if loc - start < self.minLen: - raise ParseException(instring, loc, self.errmsg, self) - - return loc, instring[start:loc] - - -class _PositionToken(Token): - def __init__( self ): - super(_PositionToken,self).__init__() - self.name=self.__class__.__name__ - self.mayReturnEmpty = True - self.mayIndexError = False - -class GoToColumn(_PositionToken): - """ - Token to advance to a specific column of input text; useful for tabular report scraping. - """ - def __init__( self, colno ): - super(GoToColumn,self).__init__() - self.col = colno - - def preParse( self, instring, loc ): - if col(loc,instring) != self.col: - instrlen = len(instring) - if self.ignoreExprs: - loc = self._skipIgnorables( instring, loc ) - while loc < instrlen and instring[loc].isspace() and col( loc, instring ) != self.col : - loc += 1 - return loc - - def parseImpl( self, instring, loc, doActions=True ): - thiscol = col( loc, instring ) - if thiscol > self.col: - raise ParseException( instring, loc, "Text not in expected column", self ) - newloc = loc + self.col - thiscol - ret = instring[ loc: newloc ] - return newloc, ret - - -class LineStart(_PositionToken): - """ - Matches if current position is at the beginning of a line within the parse string - - Example:: - - test = '''\ - AAA this line - AAA and this line - AAA but not this one - B AAA and definitely not this one - ''' - - for t in (LineStart() + 'AAA' + restOfLine).searchString(test): - print(t) - - Prints:: - ['AAA', ' this line'] - ['AAA', ' and this line'] - - """ - def __init__( self ): - super(LineStart,self).__init__() - self.errmsg = "Expected start of line" - - def parseImpl( self, instring, loc, doActions=True ): - if col(loc, instring) == 1: - return loc, [] - raise ParseException(instring, loc, self.errmsg, self) - -class LineEnd(_PositionToken): - """ - Matches if current position is at the end of a line within the parse string - """ - def __init__( self ): - super(LineEnd,self).__init__() - self.setWhitespaceChars( ParserElement.DEFAULT_WHITE_CHARS.replace("\n","") ) - self.errmsg = "Expected end of line" - - def parseImpl( self, instring, loc, doActions=True ): - if loc<len(instring): - if instring[loc] == "\n": - return loc+1, "\n" - else: - raise ParseException(instring, loc, self.errmsg, self) - elif loc == len(instring): - return loc+1, [] - else: - raise ParseException(instring, loc, self.errmsg, self) - -class StringStart(_PositionToken): - """ - Matches if current position is at the beginning of the parse string - """ - def __init__( self ): - super(StringStart,self).__init__() - self.errmsg = "Expected start of text" - - def parseImpl( self, instring, loc, doActions=True ): - if loc != 0: - # see if entire string up to here is just whitespace and ignoreables - if loc != self.preParse( instring, 0 ): - raise ParseException(instring, loc, self.errmsg, self) - return loc, [] - -class StringEnd(_PositionToken): - """ - Matches if current position is at the end of the parse string - """ - def __init__( self ): - super(StringEnd,self).__init__() - self.errmsg = "Expected end of text" - - def parseImpl( self, instring, loc, doActions=True ): - if loc < len(instring): - raise ParseException(instring, loc, self.errmsg, self) - elif loc == len(instring): - return loc+1, [] - elif loc > len(instring): - return loc, [] - else: - raise ParseException(instring, loc, self.errmsg, self) - -class WordStart(_PositionToken): - """ - Matches if the current position is at the beginning of a Word, and - is not preceded by any character in a given set of C{wordChars} - (default=C{printables}). To emulate the C{\b} behavior of regular expressions, - use C{WordStart(alphanums)}. C{WordStart} will also match at the beginning of - the string being parsed, or at the beginning of a line. - """ - def __init__(self, wordChars = printables): - super(WordStart,self).__init__() - self.wordChars = set(wordChars) - self.errmsg = "Not at the start of a word" - - def parseImpl(self, instring, loc, doActions=True ): - if loc != 0: - if (instring[loc-1] in self.wordChars or - instring[loc] not in self.wordChars): - raise ParseException(instring, loc, self.errmsg, self) - return loc, [] - -class WordEnd(_PositionToken): - """ - Matches if the current position is at the end of a Word, and - is not followed by any character in a given set of C{wordChars} - (default=C{printables}). To emulate the C{\b} behavior of regular expressions, - use C{WordEnd(alphanums)}. C{WordEnd} will also match at the end of - the string being parsed, or at the end of a line. - """ - def __init__(self, wordChars = printables): - super(WordEnd,self).__init__() - self.wordChars = set(wordChars) - self.skipWhitespace = False - self.errmsg = "Not at the end of a word" - - def parseImpl(self, instring, loc, doActions=True ): - instrlen = len(instring) - if instrlen>0 and loc<instrlen: - if (instring[loc] in self.wordChars or - instring[loc-1] not in self.wordChars): - raise ParseException(instring, loc, self.errmsg, self) - return loc, [] - - -class ParseExpression(ParserElement): - """ - Abstract subclass of ParserElement, for combining and post-processing parsed tokens. - """ - def __init__( self, exprs, savelist = False ): - super(ParseExpression,self).__init__(savelist) - if isinstance( exprs, _generatorType ): - exprs = list(exprs) - - if isinstance( exprs, basestring ): - self.exprs = [ ParserElement._literalStringClass( exprs ) ] - elif isinstance( exprs, Iterable ): - exprs = list(exprs) - # if sequence of strings provided, wrap with Literal - if all(isinstance(expr, basestring) for expr in exprs): - exprs = map(ParserElement._literalStringClass, exprs) - self.exprs = list(exprs) - else: - try: - self.exprs = list( exprs ) - except TypeError: - self.exprs = [ exprs ] - self.callPreparse = False - - def __getitem__( self, i ): - return self.exprs[i] - - def append( self, other ): - self.exprs.append( other ) - self.strRepr = None - return self - - def leaveWhitespace( self ): - """Extends C{leaveWhitespace} defined in base class, and also invokes C{leaveWhitespace} on - all contained expressions.""" - self.skipWhitespace = False - self.exprs = [ e.copy() for e in self.exprs ] - for e in self.exprs: - e.leaveWhitespace() - return self - - def ignore( self, other ): - if isinstance( other, Suppress ): - if other not in self.ignoreExprs: - super( ParseExpression, self).ignore( other ) - for e in self.exprs: - e.ignore( self.ignoreExprs[-1] ) - else: - super( ParseExpression, self).ignore( other ) - for e in self.exprs: - e.ignore( self.ignoreExprs[-1] ) - return self - - def __str__( self ): - try: - return super(ParseExpression,self).__str__() - except Exception: - pass - - if self.strRepr is None: - self.strRepr = "%s:(%s)" % ( self.__class__.__name__, _ustr(self.exprs) ) - return self.strRepr - - def streamline( self ): - super(ParseExpression,self).streamline() - - for e in self.exprs: - e.streamline() - - # collapse nested And's of the form And( And( And( a,b), c), d) to And( a,b,c,d ) - # but only if there are no parse actions or resultsNames on the nested And's - # (likewise for Or's and MatchFirst's) - if ( len(self.exprs) == 2 ): - other = self.exprs[0] - if ( isinstance( other, self.__class__ ) and - not(other.parseAction) and - other.resultsName is None and - not other.debug ): - self.exprs = other.exprs[:] + [ self.exprs[1] ] - self.strRepr = None - self.mayReturnEmpty |= other.mayReturnEmpty - self.mayIndexError |= other.mayIndexError - - other = self.exprs[-1] - if ( isinstance( other, self.__class__ ) and - not(other.parseAction) and - other.resultsName is None and - not other.debug ): - self.exprs = self.exprs[:-1] + other.exprs[:] - self.strRepr = None - self.mayReturnEmpty |= other.mayReturnEmpty - self.mayIndexError |= other.mayIndexError - - self.errmsg = "Expected " + _ustr(self) - - return self - - def setResultsName( self, name, listAllMatches=False ): - ret = super(ParseExpression,self).setResultsName(name,listAllMatches) - return ret - - def validate( self, validateTrace=[] ): - tmp = validateTrace[:]+[self] - for e in self.exprs: - e.validate(tmp) - self.checkRecursion( [] ) - - def copy(self): - ret = super(ParseExpression,self).copy() - ret.exprs = [e.copy() for e in self.exprs] - return ret - -class And(ParseExpression): - """ - Requires all given C{ParseExpression}s to be found in the given order. - Expressions may be separated by whitespace. - May be constructed using the C{'+'} operator. - May also be constructed using the C{'-'} operator, which will suppress backtracking. - - Example:: - integer = Word(nums) - name_expr = OneOrMore(Word(alphas)) - - expr = And([integer("id"),name_expr("name"),integer("age")]) - # more easily written as: - expr = integer("id") + name_expr("name") + integer("age") - """ - - class _ErrorStop(Empty): - def __init__(self, *args, **kwargs): - super(And._ErrorStop,self).__init__(*args, **kwargs) - self.name = '-' - self.leaveWhitespace() - - def __init__( self, exprs, savelist = True ): - super(And,self).__init__(exprs, savelist) - self.mayReturnEmpty = all(e.mayReturnEmpty for e in self.exprs) - self.setWhitespaceChars( self.exprs[0].whiteChars ) - self.skipWhitespace = self.exprs[0].skipWhitespace - self.callPreparse = True - - def parseImpl( self, instring, loc, doActions=True ): - # pass False as last arg to _parse for first element, since we already - # pre-parsed the string as part of our And pre-parsing - loc, resultlist = self.exprs[0]._parse( instring, loc, doActions, callPreParse=False ) - errorStop = False - for e in self.exprs[1:]: - if isinstance(e, And._ErrorStop): - errorStop = True - continue - if errorStop: - try: - loc, exprtokens = e._parse( instring, loc, doActions ) - except ParseSyntaxException: - raise - except ParseBaseException as pe: - pe.__traceback__ = None - raise ParseSyntaxException._from_exception(pe) - except IndexError: - raise ParseSyntaxException(instring, len(instring), self.errmsg, self) - else: - loc, exprtokens = e._parse( instring, loc, doActions ) - if exprtokens or exprtokens.haskeys(): - resultlist += exprtokens - return loc, resultlist - - def __iadd__(self, other ): - if isinstance( other, basestring ): - other = ParserElement._literalStringClass( other ) - return self.append( other ) #And( [ self, other ] ) - - def checkRecursion( self, parseElementList ): - subRecCheckList = parseElementList[:] + [ self ] - for e in self.exprs: - e.checkRecursion( subRecCheckList ) - if not e.mayReturnEmpty: - break - - def __str__( self ): - if hasattr(self,"name"): - return self.name - - if self.strRepr is None: - self.strRepr = "{" + " ".join(_ustr(e) for e in self.exprs) + "}" - - return self.strRepr - - -class Or(ParseExpression): - """ - Requires that at least one C{ParseExpression} is found. - If two expressions match, the expression that matches the longest string will be used. - May be constructed using the C{'^'} operator. - - Example:: - # construct Or using '^' operator - - number = Word(nums) ^ Combine(Word(nums) + '.' + Word(nums)) - print(number.searchString("123 3.1416 789")) - prints:: - [['123'], ['3.1416'], ['789']] - """ - def __init__( self, exprs, savelist = False ): - super(Or,self).__init__(exprs, savelist) - if self.exprs: - self.mayReturnEmpty = any(e.mayReturnEmpty for e in self.exprs) - else: - self.mayReturnEmpty = True - - def parseImpl( self, instring, loc, doActions=True ): - maxExcLoc = -1 - maxException = None - matches = [] - for e in self.exprs: - try: - loc2 = e.tryParse( instring, loc ) - except ParseException as err: - err.__traceback__ = None - if err.loc > maxExcLoc: - maxException = err - maxExcLoc = err.loc - except IndexError: - if len(instring) > maxExcLoc: - maxException = ParseException(instring,len(instring),e.errmsg,self) - maxExcLoc = len(instring) - else: - # save match among all matches, to retry longest to shortest - matches.append((loc2, e)) - - if matches: - matches.sort(key=lambda x: -x[0]) - for _,e in matches: - try: - return e._parse( instring, loc, doActions ) - except ParseException as err: - err.__traceback__ = None - if err.loc > maxExcLoc: - maxException = err - maxExcLoc = err.loc - - if maxException is not None: - maxException.msg = self.errmsg - raise maxException - else: - raise ParseException(instring, loc, "no defined alternatives to match", self) - - - def __ixor__(self, other ): - if isinstance( other, basestring ): - other = ParserElement._literalStringClass( other ) - return self.append( other ) #Or( [ self, other ] ) - - def __str__( self ): - if hasattr(self,"name"): - return self.name - - if self.strRepr is None: - self.strRepr = "{" + " ^ ".join(_ustr(e) for e in self.exprs) + "}" - - return self.strRepr - - def checkRecursion( self, parseElementList ): - subRecCheckList = parseElementList[:] + [ self ] - for e in self.exprs: - e.checkRecursion( subRecCheckList ) - - -class MatchFirst(ParseExpression): - """ - Requires that at least one C{ParseExpression} is found. - If two expressions match, the first one listed is the one that will match. - May be constructed using the C{'|'} operator. - - Example:: - # construct MatchFirst using '|' operator - - # watch the order of expressions to match - number = Word(nums) | Combine(Word(nums) + '.' + Word(nums)) - print(number.searchString("123 3.1416 789")) # Fail! -> [['123'], ['3'], ['1416'], ['789']] - - # put more selective expression first - number = Combine(Word(nums) + '.' + Word(nums)) | Word(nums) - print(number.searchString("123 3.1416 789")) # Better -> [['123'], ['3.1416'], ['789']] - """ - def __init__( self, exprs, savelist = False ): - super(MatchFirst,self).__init__(exprs, savelist) - if self.exprs: - self.mayReturnEmpty = any(e.mayReturnEmpty for e in self.exprs) - else: - self.mayReturnEmpty = True - - def parseImpl( self, instring, loc, doActions=True ): - maxExcLoc = -1 - maxException = None - for e in self.exprs: - try: - ret = e._parse( instring, loc, doActions ) - return ret - except ParseException as err: - if err.loc > maxExcLoc: - maxException = err - maxExcLoc = err.loc - except IndexError: - if len(instring) > maxExcLoc: - maxException = ParseException(instring,len(instring),e.errmsg,self) - maxExcLoc = len(instring) - - # only got here if no expression matched, raise exception for match that made it the furthest - else: - if maxException is not None: - maxException.msg = self.errmsg - raise maxException - else: - raise ParseException(instring, loc, "no defined alternatives to match", self) - - def __ior__(self, other ): - if isinstance( other, basestring ): - other = ParserElement._literalStringClass( other ) - return self.append( other ) #MatchFirst( [ self, other ] ) - - def __str__( self ): - if hasattr(self,"name"): - return self.name - - if self.strRepr is None: - self.strRepr = "{" + " | ".join(_ustr(e) for e in self.exprs) + "}" - - return self.strRepr - - def checkRecursion( self, parseElementList ): - subRecCheckList = parseElementList[:] + [ self ] - for e in self.exprs: - e.checkRecursion( subRecCheckList ) - - -class Each(ParseExpression): - """ - Requires all given C{ParseExpression}s to be found, but in any order. - Expressions may be separated by whitespace. - May be constructed using the C{'&'} operator. - - Example:: - color = oneOf("RED ORANGE YELLOW GREEN BLUE PURPLE BLACK WHITE BROWN") - shape_type = oneOf("SQUARE CIRCLE TRIANGLE STAR HEXAGON OCTAGON") - integer = Word(nums) - shape_attr = "shape:" + shape_type("shape") - posn_attr = "posn:" + Group(integer("x") + ',' + integer("y"))("posn") - color_attr = "color:" + color("color") - size_attr = "size:" + integer("size") - - # use Each (using operator '&') to accept attributes in any order - # (shape and posn are required, color and size are optional) - shape_spec = shape_attr & posn_attr & Optional(color_attr) & Optional(size_attr) - - shape_spec.runTests(''' - shape: SQUARE color: BLACK posn: 100, 120 - shape: CIRCLE size: 50 color: BLUE posn: 50,80 - color:GREEN size:20 shape:TRIANGLE posn:20,40 - ''' - ) - prints:: - shape: SQUARE color: BLACK posn: 100, 120 - ['shape:', 'SQUARE', 'color:', 'BLACK', 'posn:', ['100', ',', '120']] - - color: BLACK - - posn: ['100', ',', '120'] - - x: 100 - - y: 120 - - shape: SQUARE - - - shape: CIRCLE size: 50 color: BLUE posn: 50,80 - ['shape:', 'CIRCLE', 'size:', '50', 'color:', 'BLUE', 'posn:', ['50', ',', '80']] - - color: BLUE - - posn: ['50', ',', '80'] - - x: 50 - - y: 80 - - shape: CIRCLE - - size: 50 - - - color: GREEN size: 20 shape: TRIANGLE posn: 20,40 - ['color:', 'GREEN', 'size:', '20', 'shape:', 'TRIANGLE', 'posn:', ['20', ',', '40']] - - color: GREEN - - posn: ['20', ',', '40'] - - x: 20 - - y: 40 - - shape: TRIANGLE - - size: 20 - """ - def __init__( self, exprs, savelist = True ): - super(Each,self).__init__(exprs, savelist) - self.mayReturnEmpty = all(e.mayReturnEmpty for e in self.exprs) - self.skipWhitespace = True - self.initExprGroups = True - - def parseImpl( self, instring, loc, doActions=True ): - if self.initExprGroups: - self.opt1map = dict((id(e.expr),e) for e in self.exprs if isinstance(e,Optional)) - opt1 = [ e.expr for e in self.exprs if isinstance(e,Optional) ] - opt2 = [ e for e in self.exprs if e.mayReturnEmpty and not isinstance(e,Optional)] - self.optionals = opt1 + opt2 - self.multioptionals = [ e.expr for e in self.exprs if isinstance(e,ZeroOrMore) ] - self.multirequired = [ e.expr for e in self.exprs if isinstance(e,OneOrMore) ] - self.required = [ e for e in self.exprs if not isinstance(e,(Optional,ZeroOrMore,OneOrMore)) ] - self.required += self.multirequired - self.initExprGroups = False - tmpLoc = loc - tmpReqd = self.required[:] - tmpOpt = self.optionals[:] - matchOrder = [] - - keepMatching = True - while keepMatching: - tmpExprs = tmpReqd + tmpOpt + self.multioptionals + self.multirequired - failed = [] - for e in tmpExprs: - try: - tmpLoc = e.tryParse( instring, tmpLoc ) - except ParseException: - failed.append(e) - else: - matchOrder.append(self.opt1map.get(id(e),e)) - if e in tmpReqd: - tmpReqd.remove(e) - elif e in tmpOpt: - tmpOpt.remove(e) - if len(failed) == len(tmpExprs): - keepMatching = False - - if tmpReqd: - missing = ", ".join(_ustr(e) for e in tmpReqd) - raise ParseException(instring,loc,"Missing one or more required elements (%s)" % missing ) - - # add any unmatched Optionals, in case they have default values defined - matchOrder += [e for e in self.exprs if isinstance(e,Optional) and e.expr in tmpOpt] - - resultlist = [] - for e in matchOrder: - loc,results = e._parse(instring,loc,doActions) - resultlist.append(results) - - finalResults = sum(resultlist, ParseResults([])) - return loc, finalResults - - def __str__( self ): - if hasattr(self,"name"): - return self.name - - if self.strRepr is None: - self.strRepr = "{" + " & ".join(_ustr(e) for e in self.exprs) + "}" - - return self.strRepr - - def checkRecursion( self, parseElementList ): - subRecCheckList = parseElementList[:] + [ self ] - for e in self.exprs: - e.checkRecursion( subRecCheckList ) - - -class ParseElementEnhance(ParserElement): - """ - Abstract subclass of C{ParserElement}, for combining and post-processing parsed tokens. - """ - def __init__( self, expr, savelist=False ): - super(ParseElementEnhance,self).__init__(savelist) - if isinstance( expr, basestring ): - if issubclass(ParserElement._literalStringClass, Token): - expr = ParserElement._literalStringClass(expr) - else: - expr = ParserElement._literalStringClass(Literal(expr)) - self.expr = expr - self.strRepr = None - if expr is not None: - self.mayIndexError = expr.mayIndexError - self.mayReturnEmpty = expr.mayReturnEmpty - self.setWhitespaceChars( expr.whiteChars ) - self.skipWhitespace = expr.skipWhitespace - self.saveAsList = expr.saveAsList - self.callPreparse = expr.callPreparse - self.ignoreExprs.extend(expr.ignoreExprs) - - def parseImpl( self, instring, loc, doActions=True ): - if self.expr is not None: - return self.expr._parse( instring, loc, doActions, callPreParse=False ) - else: - raise ParseException("",loc,self.errmsg,self) - - def leaveWhitespace( self ): - self.skipWhitespace = False - self.expr = self.expr.copy() - if self.expr is not None: - self.expr.leaveWhitespace() - return self - - def ignore( self, other ): - if isinstance( other, Suppress ): - if other not in self.ignoreExprs: - super( ParseElementEnhance, self).ignore( other ) - if self.expr is not None: - self.expr.ignore( self.ignoreExprs[-1] ) - else: - super( ParseElementEnhance, self).ignore( other ) - if self.expr is not None: - self.expr.ignore( self.ignoreExprs[-1] ) - return self - - def streamline( self ): - super(ParseElementEnhance,self).streamline() - if self.expr is not None: - self.expr.streamline() - return self - - def checkRecursion( self, parseElementList ): - if self in parseElementList: - raise RecursiveGrammarException( parseElementList+[self] ) - subRecCheckList = parseElementList[:] + [ self ] - if self.expr is not None: - self.expr.checkRecursion( subRecCheckList ) - - def validate( self, validateTrace=[] ): - tmp = validateTrace[:]+[self] - if self.expr is not None: - self.expr.validate(tmp) - self.checkRecursion( [] ) - - def __str__( self ): - try: - return super(ParseElementEnhance,self).__str__() - except Exception: - pass - - if self.strRepr is None and self.expr is not None: - self.strRepr = "%s:(%s)" % ( self.__class__.__name__, _ustr(self.expr) ) - return self.strRepr - - -class FollowedBy(ParseElementEnhance): - """ - Lookahead matching of the given parse expression. C{FollowedBy} - does I{not} advance the parsing position within the input string, it only - verifies that the specified parse expression matches at the current - position. C{FollowedBy} always returns a null token list. - - Example:: - # use FollowedBy to match a label only if it is followed by a ':' - data_word = Word(alphas) - label = data_word + FollowedBy(':') - attr_expr = Group(label + Suppress(':') + OneOrMore(data_word, stopOn=label).setParseAction(' '.join)) - - OneOrMore(attr_expr).parseString("shape: SQUARE color: BLACK posn: upper left").pprint() - prints:: - [['shape', 'SQUARE'], ['color', 'BLACK'], ['posn', 'upper left']] - """ - def __init__( self, expr ): - super(FollowedBy,self).__init__(expr) - self.mayReturnEmpty = True - - def parseImpl( self, instring, loc, doActions=True ): - self.expr.tryParse( instring, loc ) - return loc, [] - - -class NotAny(ParseElementEnhance): - """ - Lookahead to disallow matching with the given parse expression. C{NotAny} - does I{not} advance the parsing position within the input string, it only - verifies that the specified parse expression does I{not} match at the current - position. Also, C{NotAny} does I{not} skip over leading whitespace. C{NotAny} - always returns a null token list. May be constructed using the '~' operator. - - Example:: - - """ - def __init__( self, expr ): - super(NotAny,self).__init__(expr) - #~ self.leaveWhitespace() - self.skipWhitespace = False # do NOT use self.leaveWhitespace(), don't want to propagate to exprs - self.mayReturnEmpty = True - self.errmsg = "Found unwanted token, "+_ustr(self.expr) - - def parseImpl( self, instring, loc, doActions=True ): - if self.expr.canParseNext(instring, loc): - raise ParseException(instring, loc, self.errmsg, self) - return loc, [] - - def __str__( self ): - if hasattr(self,"name"): - return self.name - - if self.strRepr is None: - self.strRepr = "~{" + _ustr(self.expr) + "}" - - return self.strRepr - -class _MultipleMatch(ParseElementEnhance): - def __init__( self, expr, stopOn=None): - super(_MultipleMatch, self).__init__(expr) - self.saveAsList = True - ender = stopOn - if isinstance(ender, basestring): - ender = ParserElement._literalStringClass(ender) - self.not_ender = ~ender if ender is not None else None - - def parseImpl( self, instring, loc, doActions=True ): - self_expr_parse = self.expr._parse - self_skip_ignorables = self._skipIgnorables - check_ender = self.not_ender is not None - if check_ender: - try_not_ender = self.not_ender.tryParse - - # must be at least one (but first see if we are the stopOn sentinel; - # if so, fail) - if check_ender: - try_not_ender(instring, loc) - loc, tokens = self_expr_parse( instring, loc, doActions, callPreParse=False ) - try: - hasIgnoreExprs = (not not self.ignoreExprs) - while 1: - if check_ender: - try_not_ender(instring, loc) - if hasIgnoreExprs: - preloc = self_skip_ignorables( instring, loc ) - else: - preloc = loc - loc, tmptokens = self_expr_parse( instring, preloc, doActions ) - if tmptokens or tmptokens.haskeys(): - tokens += tmptokens - except (ParseException,IndexError): - pass - - return loc, tokens - -class OneOrMore(_MultipleMatch): - """ - Repetition of one or more of the given expression. - - Parameters: - - expr - expression that must match one or more times - - stopOn - (default=C{None}) - expression for a terminating sentinel - (only required if the sentinel would ordinarily match the repetition - expression) - - Example:: - data_word = Word(alphas) - label = data_word + FollowedBy(':') - attr_expr = Group(label + Suppress(':') + OneOrMore(data_word).setParseAction(' '.join)) - - text = "shape: SQUARE posn: upper left color: BLACK" - OneOrMore(attr_expr).parseString(text).pprint() # Fail! read 'color' as data instead of next label -> [['shape', 'SQUARE color']] - - # use stopOn attribute for OneOrMore to avoid reading label string as part of the data - attr_expr = Group(label + Suppress(':') + OneOrMore(data_word, stopOn=label).setParseAction(' '.join)) - OneOrMore(attr_expr).parseString(text).pprint() # Better -> [['shape', 'SQUARE'], ['posn', 'upper left'], ['color', 'BLACK']] - - # could also be written as - (attr_expr * (1,)).parseString(text).pprint() - """ - - def __str__( self ): - if hasattr(self,"name"): - return self.name - - if self.strRepr is None: - self.strRepr = "{" + _ustr(self.expr) + "}..." - - return self.strRepr - -class ZeroOrMore(_MultipleMatch): - """ - Optional repetition of zero or more of the given expression. - - Parameters: - - expr - expression that must match zero or more times - - stopOn - (default=C{None}) - expression for a terminating sentinel - (only required if the sentinel would ordinarily match the repetition - expression) - - Example: similar to L{OneOrMore} - """ - def __init__( self, expr, stopOn=None): - super(ZeroOrMore,self).__init__(expr, stopOn=stopOn) - self.mayReturnEmpty = True - - def parseImpl( self, instring, loc, doActions=True ): - try: - return super(ZeroOrMore, self).parseImpl(instring, loc, doActions) - except (ParseException,IndexError): - return loc, [] - - def __str__( self ): - if hasattr(self,"name"): - return self.name - - if self.strRepr is None: - self.strRepr = "[" + _ustr(self.expr) + "]..." - - return self.strRepr - -class _NullToken(object): - def __bool__(self): - return False - __nonzero__ = __bool__ - def __str__(self): - return "" - -_optionalNotMatched = _NullToken() -class Optional(ParseElementEnhance): - """ - Optional matching of the given expression. - - Parameters: - - expr - expression that must match zero or more times - - default (optional) - value to be returned if the optional expression is not found. - - Example:: - # US postal code can be a 5-digit zip, plus optional 4-digit qualifier - zip = Combine(Word(nums, exact=5) + Optional('-' + Word(nums, exact=4))) - zip.runTests(''' - # traditional ZIP code - 12345 - - # ZIP+4 form - 12101-0001 - - # invalid ZIP - 98765- - ''') - prints:: - # traditional ZIP code - 12345 - ['12345'] - - # ZIP+4 form - 12101-0001 - ['12101-0001'] - - # invalid ZIP - 98765- - ^ - FAIL: Expected end of text (at char 5), (line:1, col:6) - """ - def __init__( self, expr, default=_optionalNotMatched ): - super(Optional,self).__init__( expr, savelist=False ) - self.saveAsList = self.expr.saveAsList - self.defaultValue = default - self.mayReturnEmpty = True - - def parseImpl( self, instring, loc, doActions=True ): - try: - loc, tokens = self.expr._parse( instring, loc, doActions, callPreParse=False ) - except (ParseException,IndexError): - if self.defaultValue is not _optionalNotMatched: - if self.expr.resultsName: - tokens = ParseResults([ self.defaultValue ]) - tokens[self.expr.resultsName] = self.defaultValue - else: - tokens = [ self.defaultValue ] - else: - tokens = [] - return loc, tokens - - def __str__( self ): - if hasattr(self,"name"): - return self.name - - if self.strRepr is None: - self.strRepr = "[" + _ustr(self.expr) + "]" - - return self.strRepr - -class SkipTo(ParseElementEnhance): - """ - Token for skipping over all undefined text until the matched expression is found. - - Parameters: - - expr - target expression marking the end of the data to be skipped - - include - (default=C{False}) if True, the target expression is also parsed - (the skipped text and target expression are returned as a 2-element list). - - ignore - (default=C{None}) used to define grammars (typically quoted strings and - comments) that might contain false matches to the target expression - - failOn - (default=C{None}) define expressions that are not allowed to be - included in the skipped test; if found before the target expression is found, - the SkipTo is not a match - - Example:: - report = ''' - Outstanding Issues Report - 1 Jan 2000 - - # | Severity | Description | Days Open - -----+----------+-------------------------------------------+----------- - 101 | Critical | Intermittent system crash | 6 - 94 | Cosmetic | Spelling error on Login ('log|n') | 14 - 79 | Minor | System slow when running too many reports | 47 - ''' - integer = Word(nums) - SEP = Suppress('|') - # use SkipTo to simply match everything up until the next SEP - # - ignore quoted strings, so that a '|' character inside a quoted string does not match - # - parse action will call token.strip() for each matched token, i.e., the description body - string_data = SkipTo(SEP, ignore=quotedString) - string_data.setParseAction(tokenMap(str.strip)) - ticket_expr = (integer("issue_num") + SEP - + string_data("sev") + SEP - + string_data("desc") + SEP - + integer("days_open")) - - for tkt in ticket_expr.searchString(report): - print tkt.dump() - prints:: - ['101', 'Critical', 'Intermittent system crash', '6'] - - days_open: 6 - - desc: Intermittent system crash - - issue_num: 101 - - sev: Critical - ['94', 'Cosmetic', "Spelling error on Login ('log|n')", '14'] - - days_open: 14 - - desc: Spelling error on Login ('log|n') - - issue_num: 94 - - sev: Cosmetic - ['79', 'Minor', 'System slow when running too many reports', '47'] - - days_open: 47 - - desc: System slow when running too many reports - - issue_num: 79 - - sev: Minor - """ - def __init__( self, other, include=False, ignore=None, failOn=None ): - super( SkipTo, self ).__init__( other ) - self.ignoreExpr = ignore - self.mayReturnEmpty = True - self.mayIndexError = False - self.includeMatch = include - self.asList = False - if isinstance(failOn, basestring): - self.failOn = ParserElement._literalStringClass(failOn) - else: - self.failOn = failOn - self.errmsg = "No match found for "+_ustr(self.expr) - - def parseImpl( self, instring, loc, doActions=True ): - startloc = loc - instrlen = len(instring) - expr = self.expr - expr_parse = self.expr._parse - self_failOn_canParseNext = self.failOn.canParseNext if self.failOn is not None else None - self_ignoreExpr_tryParse = self.ignoreExpr.tryParse if self.ignoreExpr is not None else None - - tmploc = loc - while tmploc <= instrlen: - if self_failOn_canParseNext is not None: - # break if failOn expression matches - if self_failOn_canParseNext(instring, tmploc): - break - - if self_ignoreExpr_tryParse is not None: - # advance past ignore expressions - while 1: - try: - tmploc = self_ignoreExpr_tryParse(instring, tmploc) - except ParseBaseException: - break - - try: - expr_parse(instring, tmploc, doActions=False, callPreParse=False) - except (ParseException, IndexError): - # no match, advance loc in string - tmploc += 1 - else: - # matched skipto expr, done - break - - else: - # ran off the end of the input string without matching skipto expr, fail - raise ParseException(instring, loc, self.errmsg, self) - - # build up return values - loc = tmploc - skiptext = instring[startloc:loc] - skipresult = ParseResults(skiptext) - - if self.includeMatch: - loc, mat = expr_parse(instring,loc,doActions,callPreParse=False) - skipresult += mat - - return loc, skipresult - -class Forward(ParseElementEnhance): - """ - Forward declaration of an expression to be defined later - - used for recursive grammars, such as algebraic infix notation. - When the expression is known, it is assigned to the C{Forward} variable using the '<<' operator. - - Note: take care when assigning to C{Forward} not to overlook precedence of operators. - Specifically, '|' has a lower precedence than '<<', so that:: - fwdExpr << a | b | c - will actually be evaluated as:: - (fwdExpr << a) | b | c - thereby leaving b and c out as parseable alternatives. It is recommended that you - explicitly group the values inserted into the C{Forward}:: - fwdExpr << (a | b | c) - Converting to use the '<<=' operator instead will avoid this problem. - - See L{ParseResults.pprint} for an example of a recursive parser created using - C{Forward}. - """ - def __init__( self, other=None ): - super(Forward,self).__init__( other, savelist=False ) - - def __lshift__( self, other ): - if isinstance( other, basestring ): - other = ParserElement._literalStringClass(other) - self.expr = other - self.strRepr = None - self.mayIndexError = self.expr.mayIndexError - self.mayReturnEmpty = self.expr.mayReturnEmpty - self.setWhitespaceChars( self.expr.whiteChars ) - self.skipWhitespace = self.expr.skipWhitespace - self.saveAsList = self.expr.saveAsList - self.ignoreExprs.extend(self.expr.ignoreExprs) - return self - - def __ilshift__(self, other): - return self << other - - def leaveWhitespace( self ): - self.skipWhitespace = False - return self - - def streamline( self ): - if not self.streamlined: - self.streamlined = True - if self.expr is not None: - self.expr.streamline() - return self - - def validate( self, validateTrace=[] ): - if self not in validateTrace: - tmp = validateTrace[:]+[self] - if self.expr is not None: - self.expr.validate(tmp) - self.checkRecursion([]) - - def __str__( self ): - if hasattr(self,"name"): - return self.name - return self.__class__.__name__ + ": ..." - - # stubbed out for now - creates awful memory and perf issues - self._revertClass = self.__class__ - self.__class__ = _ForwardNoRecurse - try: - if self.expr is not None: - retString = _ustr(self.expr) - else: - retString = "None" - finally: - self.__class__ = self._revertClass - return self.__class__.__name__ + ": " + retString - - def copy(self): - if self.expr is not None: - return super(Forward,self).copy() - else: - ret = Forward() - ret <<= self - return ret - -class _ForwardNoRecurse(Forward): - def __str__( self ): - return "..." - -class TokenConverter(ParseElementEnhance): - """ - Abstract subclass of C{ParseExpression}, for converting parsed results. - """ - def __init__( self, expr, savelist=False ): - super(TokenConverter,self).__init__( expr )#, savelist ) - self.saveAsList = False - -class Combine(TokenConverter): - """ - Converter to concatenate all matching tokens to a single string. - By default, the matching patterns must also be contiguous in the input string; - this can be disabled by specifying C{'adjacent=False'} in the constructor. - - Example:: - real = Word(nums) + '.' + Word(nums) - print(real.parseString('3.1416')) # -> ['3', '.', '1416'] - # will also erroneously match the following - print(real.parseString('3. 1416')) # -> ['3', '.', '1416'] - - real = Combine(Word(nums) + '.' + Word(nums)) - print(real.parseString('3.1416')) # -> ['3.1416'] - # no match when there are internal spaces - print(real.parseString('3. 1416')) # -> Exception: Expected W:(0123...) - """ - def __init__( self, expr, joinString="", adjacent=True ): - super(Combine,self).__init__( expr ) - # suppress whitespace-stripping in contained parse expressions, but re-enable it on the Combine itself - if adjacent: - self.leaveWhitespace() - self.adjacent = adjacent - self.skipWhitespace = True - self.joinString = joinString - self.callPreparse = True - - def ignore( self, other ): - if self.adjacent: - ParserElement.ignore(self, other) - else: - super( Combine, self).ignore( other ) - return self - - def postParse( self, instring, loc, tokenlist ): - retToks = tokenlist.copy() - del retToks[:] - retToks += ParseResults([ "".join(tokenlist._asStringList(self.joinString)) ], modal=self.modalResults) - - if self.resultsName and retToks.haskeys(): - return [ retToks ] - else: - return retToks - -class Group(TokenConverter): - """ - Converter to return the matched tokens as a list - useful for returning tokens of C{L{ZeroOrMore}} and C{L{OneOrMore}} expressions. - - Example:: - ident = Word(alphas) - num = Word(nums) - term = ident | num - func = ident + Optional(delimitedList(term)) - print(func.parseString("fn a,b,100")) # -> ['fn', 'a', 'b', '100'] - - func = ident + Group(Optional(delimitedList(term))) - print(func.parseString("fn a,b,100")) # -> ['fn', ['a', 'b', '100']] - """ - def __init__( self, expr ): - super(Group,self).__init__( expr ) - self.saveAsList = True - - def postParse( self, instring, loc, tokenlist ): - return [ tokenlist ] - -class Dict(TokenConverter): - """ - Converter to return a repetitive expression as a list, but also as a dictionary. - Each element can also be referenced using the first token in the expression as its key. - Useful for tabular report scraping when the first column can be used as a item key. - - Example:: - data_word = Word(alphas) - label = data_word + FollowedBy(':') - attr_expr = Group(label + Suppress(':') + OneOrMore(data_word).setParseAction(' '.join)) - - text = "shape: SQUARE posn: upper left color: light blue texture: burlap" - attr_expr = (label + Suppress(':') + OneOrMore(data_word, stopOn=label).setParseAction(' '.join)) - - # print attributes as plain groups - print(OneOrMore(attr_expr).parseString(text).dump()) - - # instead of OneOrMore(expr), parse using Dict(OneOrMore(Group(expr))) - Dict will auto-assign names - result = Dict(OneOrMore(Group(attr_expr))).parseString(text) - print(result.dump()) - - # access named fields as dict entries, or output as dict - print(result['shape']) - print(result.asDict()) - prints:: - ['shape', 'SQUARE', 'posn', 'upper left', 'color', 'light blue', 'texture', 'burlap'] - - [['shape', 'SQUARE'], ['posn', 'upper left'], ['color', 'light blue'], ['texture', 'burlap']] - - color: light blue - - posn: upper left - - shape: SQUARE - - texture: burlap - SQUARE - {'color': 'light blue', 'posn': 'upper left', 'texture': 'burlap', 'shape': 'SQUARE'} - See more examples at L{ParseResults} of accessing fields by results name. - """ - def __init__( self, expr ): - super(Dict,self).__init__( expr ) - self.saveAsList = True - - def postParse( self, instring, loc, tokenlist ): - for i,tok in enumerate(tokenlist): - if len(tok) == 0: - continue - ikey = tok[0] - if isinstance(ikey,int): - ikey = _ustr(tok[0]).strip() - if len(tok)==1: - tokenlist[ikey] = _ParseResultsWithOffset("",i) - elif len(tok)==2 and not isinstance(tok[1],ParseResults): - tokenlist[ikey] = _ParseResultsWithOffset(tok[1],i) - else: - dictvalue = tok.copy() #ParseResults(i) - del dictvalue[0] - if len(dictvalue)!= 1 or (isinstance(dictvalue,ParseResults) and dictvalue.haskeys()): - tokenlist[ikey] = _ParseResultsWithOffset(dictvalue,i) - else: - tokenlist[ikey] = _ParseResultsWithOffset(dictvalue[0],i) - - if self.resultsName: - return [ tokenlist ] - else: - return tokenlist - - -class Suppress(TokenConverter): - """ - Converter for ignoring the results of a parsed expression. - - Example:: - source = "a, b, c,d" - wd = Word(alphas) - wd_list1 = wd + ZeroOrMore(',' + wd) - print(wd_list1.parseString(source)) - - # often, delimiters that are useful during parsing are just in the - # way afterward - use Suppress to keep them out of the parsed output - wd_list2 = wd + ZeroOrMore(Suppress(',') + wd) - print(wd_list2.parseString(source)) - prints:: - ['a', ',', 'b', ',', 'c', ',', 'd'] - ['a', 'b', 'c', 'd'] - (See also L{delimitedList}.) - """ - def postParse( self, instring, loc, tokenlist ): - return [] - - def suppress( self ): - return self - - -class OnlyOnce(object): - """ - Wrapper for parse actions, to ensure they are only called once. - """ - def __init__(self, methodCall): - self.callable = _trim_arity(methodCall) - self.called = False - def __call__(self,s,l,t): - if not self.called: - results = self.callable(s,l,t) - self.called = True - return results - raise ParseException(s,l,"") - def reset(self): - self.called = False - -def traceParseAction(f): - """ - Decorator for debugging parse actions. - - When the parse action is called, this decorator will print C{">> entering I{method-name}(line:I{current_source_line}, I{parse_location}, I{matched_tokens})".} - When the parse action completes, the decorator will print C{"<<"} followed by the returned value, or any exception that the parse action raised. - - Example:: - wd = Word(alphas) - - @traceParseAction - def remove_duplicate_chars(tokens): - return ''.join(sorted(set(''.join(tokens)))) - - wds = OneOrMore(wd).setParseAction(remove_duplicate_chars) - print(wds.parseString("slkdjs sld sldd sdlf sdljf")) - prints:: - >>entering remove_duplicate_chars(line: 'slkdjs sld sldd sdlf sdljf', 0, (['slkdjs', 'sld', 'sldd', 'sdlf', 'sdljf'], {})) - <<leaving remove_duplicate_chars (ret: 'dfjkls') - ['dfjkls'] - """ - f = _trim_arity(f) - def z(*paArgs): - thisFunc = f.__name__ - s,l,t = paArgs[-3:] - if len(paArgs)>3: - thisFunc = paArgs[0].__class__.__name__ + '.' + thisFunc - sys.stderr.write( ">>entering %s(line: '%s', %d, %r)\n" % (thisFunc,line(l,s),l,t) ) - try: - ret = f(*paArgs) - except Exception as exc: - sys.stderr.write( "<<leaving %s (exception: %s)\n" % (thisFunc,exc) ) - raise - sys.stderr.write( "<<leaving %s (ret: %r)\n" % (thisFunc,ret) ) - return ret - try: - z.__name__ = f.__name__ - except AttributeError: - pass - return z - -# -# global helpers -# -def delimitedList( expr, delim=",", combine=False ): - """ - Helper to define a delimited list of expressions - the delimiter defaults to ','. - By default, the list elements and delimiters can have intervening whitespace, and - comments, but this can be overridden by passing C{combine=True} in the constructor. - If C{combine} is set to C{True}, the matching tokens are returned as a single token - string, with the delimiters included; otherwise, the matching tokens are returned - as a list of tokens, with the delimiters suppressed. - - Example:: - delimitedList(Word(alphas)).parseString("aa,bb,cc") # -> ['aa', 'bb', 'cc'] - delimitedList(Word(hexnums), delim=':', combine=True).parseString("AA:BB:CC:DD:EE") # -> ['AA:BB:CC:DD:EE'] - """ - dlName = _ustr(expr)+" ["+_ustr(delim)+" "+_ustr(expr)+"]..." - if combine: - return Combine( expr + ZeroOrMore( delim + expr ) ).setName(dlName) - else: - return ( expr + ZeroOrMore( Suppress( delim ) + expr ) ).setName(dlName) - -def countedArray( expr, intExpr=None ): - """ - Helper to define a counted list of expressions. - This helper defines a pattern of the form:: - integer expr expr expr... - where the leading integer tells how many expr expressions follow. - The matched tokens returns the array of expr tokens as a list - the leading count token is suppressed. - - If C{intExpr} is specified, it should be a pyparsing expression that produces an integer value. - - Example:: - countedArray(Word(alphas)).parseString('2 ab cd ef') # -> ['ab', 'cd'] - - # in this parser, the leading integer value is given in binary, - # '10' indicating that 2 values are in the array - binaryConstant = Word('01').setParseAction(lambda t: int(t[0], 2)) - countedArray(Word(alphas), intExpr=binaryConstant).parseString('10 ab cd ef') # -> ['ab', 'cd'] - """ - arrayExpr = Forward() - def countFieldParseAction(s,l,t): - n = t[0] - arrayExpr << (n and Group(And([expr]*n)) or Group(empty)) - return [] - if intExpr is None: - intExpr = Word(nums).setParseAction(lambda t:int(t[0])) - else: - intExpr = intExpr.copy() - intExpr.setName("arrayLen") - intExpr.addParseAction(countFieldParseAction, callDuringTry=True) - return ( intExpr + arrayExpr ).setName('(len) ' + _ustr(expr) + '...') - -def _flatten(L): - ret = [] - for i in L: - if isinstance(i,list): - ret.extend(_flatten(i)) - else: - ret.append(i) - return ret - -def matchPreviousLiteral(expr): - """ - Helper to define an expression that is indirectly defined from - the tokens matched in a previous expression, that is, it looks - for a 'repeat' of a previous expression. For example:: - first = Word(nums) - second = matchPreviousLiteral(first) - matchExpr = first + ":" + second - will match C{"1:1"}, but not C{"1:2"}. Because this matches a - previous literal, will also match the leading C{"1:1"} in C{"1:10"}. - If this is not desired, use C{matchPreviousExpr}. - Do I{not} use with packrat parsing enabled. - """ - rep = Forward() - def copyTokenToRepeater(s,l,t): - if t: - if len(t) == 1: - rep << t[0] - else: - # flatten t tokens - tflat = _flatten(t.asList()) - rep << And(Literal(tt) for tt in tflat) - else: - rep << Empty() - expr.addParseAction(copyTokenToRepeater, callDuringTry=True) - rep.setName('(prev) ' + _ustr(expr)) - return rep - -def matchPreviousExpr(expr): - """ - Helper to define an expression that is indirectly defined from - the tokens matched in a previous expression, that is, it looks - for a 'repeat' of a previous expression. For example:: - first = Word(nums) - second = matchPreviousExpr(first) - matchExpr = first + ":" + second - will match C{"1:1"}, but not C{"1:2"}. Because this matches by - expressions, will I{not} match the leading C{"1:1"} in C{"1:10"}; - the expressions are evaluated first, and then compared, so - C{"1"} is compared with C{"10"}. - Do I{not} use with packrat parsing enabled. - """ - rep = Forward() - e2 = expr.copy() - rep <<= e2 - def copyTokenToRepeater(s,l,t): - matchTokens = _flatten(t.asList()) - def mustMatchTheseTokens(s,l,t): - theseTokens = _flatten(t.asList()) - if theseTokens != matchTokens: - raise ParseException("",0,"") - rep.setParseAction( mustMatchTheseTokens, callDuringTry=True ) - expr.addParseAction(copyTokenToRepeater, callDuringTry=True) - rep.setName('(prev) ' + _ustr(expr)) - return rep - -def _escapeRegexRangeChars(s): - #~ escape these chars: ^-] - for c in r"\^-]": - s = s.replace(c,_bslash+c) - s = s.replace("\n",r"\n") - s = s.replace("\t",r"\t") - return _ustr(s) - -def oneOf( strs, caseless=False, useRegex=True ): - """ - Helper to quickly define a set of alternative Literals, and makes sure to do - longest-first testing when there is a conflict, regardless of the input order, - but returns a C{L{MatchFirst}} for best performance. - - Parameters: - - strs - a string of space-delimited literals, or a collection of string literals - - caseless - (default=C{False}) - treat all literals as caseless - - useRegex - (default=C{True}) - as an optimization, will generate a Regex - object; otherwise, will generate a C{MatchFirst} object (if C{caseless=True}, or - if creating a C{Regex} raises an exception) - - Example:: - comp_oper = oneOf("< = > <= >= !=") - var = Word(alphas) - number = Word(nums) - term = var | number - comparison_expr = term + comp_oper + term - print(comparison_expr.searchString("B = 12 AA=23 B<=AA AA>12")) - prints:: - [['B', '=', '12'], ['AA', '=', '23'], ['B', '<=', 'AA'], ['AA', '>', '12']] - """ - if caseless: - isequal = ( lambda a,b: a.upper() == b.upper() ) - masks = ( lambda a,b: b.upper().startswith(a.upper()) ) - parseElementClass = CaselessLiteral - else: - isequal = ( lambda a,b: a == b ) - masks = ( lambda a,b: b.startswith(a) ) - parseElementClass = Literal - - symbols = [] - if isinstance(strs,basestring): - symbols = strs.split() - elif isinstance(strs, Iterable): - symbols = list(strs) - else: - warnings.warn("Invalid argument to oneOf, expected string or iterable", - SyntaxWarning, stacklevel=2) - if not symbols: - return NoMatch() - - i = 0 - while i < len(symbols)-1: - cur = symbols[i] - for j,other in enumerate(symbols[i+1:]): - if ( isequal(other, cur) ): - del symbols[i+j+1] - break - elif ( masks(cur, other) ): - del symbols[i+j+1] - symbols.insert(i,other) - cur = other - break - else: - i += 1 - - if not caseless and useRegex: - #~ print (strs,"->", "|".join( [ _escapeRegexChars(sym) for sym in symbols] )) - try: - if len(symbols)==len("".join(symbols)): - return Regex( "[%s]" % "".join(_escapeRegexRangeChars(sym) for sym in symbols) ).setName(' | '.join(symbols)) - else: - return Regex( "|".join(re.escape(sym) for sym in symbols) ).setName(' | '.join(symbols)) - except Exception: - warnings.warn("Exception creating Regex for oneOf, building MatchFirst", - SyntaxWarning, stacklevel=2) - - - # last resort, just use MatchFirst - return MatchFirst(parseElementClass(sym) for sym in symbols).setName(' | '.join(symbols)) - -def dictOf( key, value ): - """ - Helper to easily and clearly define a dictionary by specifying the respective patterns - for the key and value. Takes care of defining the C{L{Dict}}, C{L{ZeroOrMore}}, and C{L{Group}} tokens - in the proper order. The key pattern can include delimiting markers or punctuation, - as long as they are suppressed, thereby leaving the significant key text. The value - pattern can include named results, so that the C{Dict} results can include named token - fields. - - Example:: - text = "shape: SQUARE posn: upper left color: light blue texture: burlap" - attr_expr = (label + Suppress(':') + OneOrMore(data_word, stopOn=label).setParseAction(' '.join)) - print(OneOrMore(attr_expr).parseString(text).dump()) - - attr_label = label - attr_value = Suppress(':') + OneOrMore(data_word, stopOn=label).setParseAction(' '.join) - - # similar to Dict, but simpler call format - result = dictOf(attr_label, attr_value).parseString(text) - print(result.dump()) - print(result['shape']) - print(result.shape) # object attribute access works too - print(result.asDict()) - prints:: - [['shape', 'SQUARE'], ['posn', 'upper left'], ['color', 'light blue'], ['texture', 'burlap']] - - color: light blue - - posn: upper left - - shape: SQUARE - - texture: burlap - SQUARE - SQUARE - {'color': 'light blue', 'shape': 'SQUARE', 'posn': 'upper left', 'texture': 'burlap'} - """ - return Dict( ZeroOrMore( Group ( key + value ) ) ) - -def originalTextFor(expr, asString=True): - """ - Helper to return the original, untokenized text for a given expression. Useful to - restore the parsed fields of an HTML start tag into the raw tag text itself, or to - revert separate tokens with intervening whitespace back to the original matching - input text. By default, returns astring containing the original parsed text. - - If the optional C{asString} argument is passed as C{False}, then the return value is a - C{L{ParseResults}} containing any results names that were originally matched, and a - single token containing the original matched text from the input string. So if - the expression passed to C{L{originalTextFor}} contains expressions with defined - results names, you must set C{asString} to C{False} if you want to preserve those - results name values. - - Example:: - src = "this is test <b> bold <i>text</i> </b> normal text " - for tag in ("b","i"): - opener,closer = makeHTMLTags(tag) - patt = originalTextFor(opener + SkipTo(closer) + closer) - print(patt.searchString(src)[0]) - prints:: - ['<b> bold <i>text</i> </b>'] - ['<i>text</i>'] - """ - locMarker = Empty().setParseAction(lambda s,loc,t: loc) - endlocMarker = locMarker.copy() - endlocMarker.callPreparse = False - matchExpr = locMarker("_original_start") + expr + endlocMarker("_original_end") - if asString: - extractText = lambda s,l,t: s[t._original_start:t._original_end] - else: - def extractText(s,l,t): - t[:] = [s[t.pop('_original_start'):t.pop('_original_end')]] - matchExpr.setParseAction(extractText) - matchExpr.ignoreExprs = expr.ignoreExprs - return matchExpr - -def ungroup(expr): - """ - Helper to undo pyparsing's default grouping of And expressions, even - if all but one are non-empty. - """ - return TokenConverter(expr).setParseAction(lambda t:t[0]) - -def locatedExpr(expr): - """ - Helper to decorate a returned token with its starting and ending locations in the input string. - This helper adds the following results names: - - locn_start = location where matched expression begins - - locn_end = location where matched expression ends - - value = the actual parsed results - - Be careful if the input text contains C{<TAB>} characters, you may want to call - C{L{ParserElement.parseWithTabs}} - - Example:: - wd = Word(alphas) - for match in locatedExpr(wd).searchString("ljsdf123lksdjjf123lkkjj1222"): - print(match) - prints:: - [[0, 'ljsdf', 5]] - [[8, 'lksdjjf', 15]] - [[18, 'lkkjj', 23]] - """ - locator = Empty().setParseAction(lambda s,l,t: l) - return Group(locator("locn_start") + expr("value") + locator.copy().leaveWhitespace()("locn_end")) - - -# convenience constants for positional expressions -empty = Empty().setName("empty") -lineStart = LineStart().setName("lineStart") -lineEnd = LineEnd().setName("lineEnd") -stringStart = StringStart().setName("stringStart") -stringEnd = StringEnd().setName("stringEnd") - -_escapedPunc = Word( _bslash, r"\[]-*.$+^?()~ ", exact=2 ).setParseAction(lambda s,l,t:t[0][1]) -_escapedHexChar = Regex(r"\\0?[xX][0-9a-fA-F]+").setParseAction(lambda s,l,t:unichr(int(t[0].lstrip(r'\0x'),16))) -_escapedOctChar = Regex(r"\\0[0-7]+").setParseAction(lambda s,l,t:unichr(int(t[0][1:],8))) -_singleChar = _escapedPunc | _escapedHexChar | _escapedOctChar | CharsNotIn(r'\]', exact=1) -_charRange = Group(_singleChar + Suppress("-") + _singleChar) -_reBracketExpr = Literal("[") + Optional("^").setResultsName("negate") + Group( OneOrMore( _charRange | _singleChar ) ).setResultsName("body") + "]" - -def srange(s): - r""" - Helper to easily define string ranges for use in Word construction. Borrows - syntax from regexp '[]' string range definitions:: - srange("[0-9]") -> "0123456789" - srange("[a-z]") -> "abcdefghijklmnopqrstuvwxyz" - srange("[a-z$_]") -> "abcdefghijklmnopqrstuvwxyz$_" - The input string must be enclosed in []'s, and the returned string is the expanded - character set joined into a single string. - The values enclosed in the []'s may be: - - a single character - - an escaped character with a leading backslash (such as C{\-} or C{\]}) - - an escaped hex character with a leading C{'\x'} (C{\x21}, which is a C{'!'} character) - (C{\0x##} is also supported for backwards compatibility) - - an escaped octal character with a leading C{'\0'} (C{\041}, which is a C{'!'} character) - - a range of any of the above, separated by a dash (C{'a-z'}, etc.) - - any combination of the above (C{'aeiouy'}, C{'a-zA-Z0-9_$'}, etc.) - """ - _expanded = lambda p: p if not isinstance(p,ParseResults) else ''.join(unichr(c) for c in range(ord(p[0]),ord(p[1])+1)) - try: - return "".join(_expanded(part) for part in _reBracketExpr.parseString(s).body) - except Exception: - return "" - -def matchOnlyAtCol(n): - """ - Helper method for defining parse actions that require matching at a specific - column in the input text. - """ - def verifyCol(strg,locn,toks): - if col(locn,strg) != n: - raise ParseException(strg,locn,"matched token not at column %d" % n) - return verifyCol - -def replaceWith(replStr): - """ - Helper method for common parse actions that simply return a literal value. Especially - useful when used with C{L{transformString<ParserElement.transformString>}()}. - - Example:: - num = Word(nums).setParseAction(lambda toks: int(toks[0])) - na = oneOf("N/A NA").setParseAction(replaceWith(math.nan)) - term = na | num - - OneOrMore(term).parseString("324 234 N/A 234") # -> [324, 234, nan, 234] - """ - return lambda s,l,t: [replStr] - -def removeQuotes(s,l,t): - """ - Helper parse action for removing quotation marks from parsed quoted strings. - - Example:: - # by default, quotation marks are included in parsed results - quotedString.parseString("'Now is the Winter of our Discontent'") # -> ["'Now is the Winter of our Discontent'"] - - # use removeQuotes to strip quotation marks from parsed results - quotedString.setParseAction(removeQuotes) - quotedString.parseString("'Now is the Winter of our Discontent'") # -> ["Now is the Winter of our Discontent"] - """ - return t[0][1:-1] - -def tokenMap(func, *args): - """ - Helper to define a parse action by mapping a function to all elements of a ParseResults list.If any additional - args are passed, they are forwarded to the given function as additional arguments after - the token, as in C{hex_integer = Word(hexnums).setParseAction(tokenMap(int, 16))}, which will convert the - parsed data to an integer using base 16. - - Example (compare the last to example in L{ParserElement.transformString}:: - hex_ints = OneOrMore(Word(hexnums)).setParseAction(tokenMap(int, 16)) - hex_ints.runTests(''' - 00 11 22 aa FF 0a 0d 1a - ''') - - upperword = Word(alphas).setParseAction(tokenMap(str.upper)) - OneOrMore(upperword).runTests(''' - my kingdom for a horse - ''') - - wd = Word(alphas).setParseAction(tokenMap(str.title)) - OneOrMore(wd).setParseAction(' '.join).runTests(''' - now is the winter of our discontent made glorious summer by this sun of york - ''') - prints:: - 00 11 22 aa FF 0a 0d 1a - [0, 17, 34, 170, 255, 10, 13, 26] - - my kingdom for a horse - ['MY', 'KINGDOM', 'FOR', 'A', 'HORSE'] - - now is the winter of our discontent made glorious summer by this sun of york - ['Now Is The Winter Of Our Discontent Made Glorious Summer By This Sun Of York'] - """ - def pa(s,l,t): - return [func(tokn, *args) for tokn in t] - - try: - func_name = getattr(func, '__name__', - getattr(func, '__class__').__name__) - except Exception: - func_name = str(func) - pa.__name__ = func_name - - return pa - -upcaseTokens = tokenMap(lambda t: _ustr(t).upper()) -"""(Deprecated) Helper parse action to convert tokens to upper case. Deprecated in favor of L{pyparsing_common.upcaseTokens}""" - -downcaseTokens = tokenMap(lambda t: _ustr(t).lower()) -"""(Deprecated) Helper parse action to convert tokens to lower case. Deprecated in favor of L{pyparsing_common.downcaseTokens}""" - -def _makeTags(tagStr, xml): - """Internal helper to construct opening and closing tag expressions, given a tag name""" - if isinstance(tagStr,basestring): - resname = tagStr - tagStr = Keyword(tagStr, caseless=not xml) - else: - resname = tagStr.name - - tagAttrName = Word(alphas,alphanums+"_-:") - if (xml): - tagAttrValue = dblQuotedString.copy().setParseAction( removeQuotes ) - openTag = Suppress("<") + tagStr("tag") + \ - Dict(ZeroOrMore(Group( tagAttrName + Suppress("=") + tagAttrValue ))) + \ - Optional("/",default=[False]).setResultsName("empty").setParseAction(lambda s,l,t:t[0]=='/') + Suppress(">") - else: - printablesLessRAbrack = "".join(c for c in printables if c not in ">") - tagAttrValue = quotedString.copy().setParseAction( removeQuotes ) | Word(printablesLessRAbrack) - openTag = Suppress("<") + tagStr("tag") + \ - Dict(ZeroOrMore(Group( tagAttrName.setParseAction(downcaseTokens) + \ - Optional( Suppress("=") + tagAttrValue ) ))) + \ - Optional("/",default=[False]).setResultsName("empty").setParseAction(lambda s,l,t:t[0]=='/') + Suppress(">") - closeTag = Combine(_L("</") + tagStr + ">") - - openTag = openTag.setResultsName("start"+"".join(resname.replace(":"," ").title().split())).setName("<%s>" % resname) - closeTag = closeTag.setResultsName("end"+"".join(resname.replace(":"," ").title().split())).setName("</%s>" % resname) - openTag.tag = resname - closeTag.tag = resname - return openTag, closeTag - -def makeHTMLTags(tagStr): - """ - Helper to construct opening and closing tag expressions for HTML, given a tag name. Matches - tags in either upper or lower case, attributes with namespaces and with quoted or unquoted values. - - Example:: - text = '<td>More info at the <a href="http://pyparsing.wikispaces.com">pyparsing</a> wiki page</td>' - # makeHTMLTags returns pyparsing expressions for the opening and closing tags as a 2-tuple - a,a_end = makeHTMLTags("A") - link_expr = a + SkipTo(a_end)("link_text") + a_end - - for link in link_expr.searchString(text): - # attributes in the <A> tag (like "href" shown here) are also accessible as named results - print(link.link_text, '->', link.href) - prints:: - pyparsing -> http://pyparsing.wikispaces.com - """ - return _makeTags( tagStr, False ) - -def makeXMLTags(tagStr): - """ - Helper to construct opening and closing tag expressions for XML, given a tag name. Matches - tags only in the given upper/lower case. - - Example: similar to L{makeHTMLTags} - """ - return _makeTags( tagStr, True ) - -def withAttribute(*args,**attrDict): - """ - Helper to create a validating parse action to be used with start tags created - with C{L{makeXMLTags}} or C{L{makeHTMLTags}}. Use C{withAttribute} to qualify a starting tag - with a required attribute value, to avoid false matches on common tags such as - C{<TD>} or C{<DIV>}. - - Call C{withAttribute} with a series of attribute names and values. Specify the list - of filter attributes names and values as: - - keyword arguments, as in C{(align="right")}, or - - as an explicit dict with C{**} operator, when an attribute name is also a Python - reserved word, as in C{**{"class":"Customer", "align":"right"}} - - a list of name-value tuples, as in ( ("ns1:class", "Customer"), ("ns2:align","right") ) - For attribute names with a namespace prefix, you must use the second form. Attribute - names are matched insensitive to upper/lower case. - - If just testing for C{class} (with or without a namespace), use C{L{withClass}}. - - To verify that the attribute exists, but without specifying a value, pass - C{withAttribute.ANY_VALUE} as the value. - - Example:: - html = ''' - <div> - Some text - <div type="grid">1 4 0 1 0</div> - <div type="graph">1,3 2,3 1,1</div> - <div>this has no type</div> - </div> - - ''' - div,div_end = makeHTMLTags("div") - - # only match div tag having a type attribute with value "grid" - div_grid = div().setParseAction(withAttribute(type="grid")) - grid_expr = div_grid + SkipTo(div | div_end)("body") - for grid_header in grid_expr.searchString(html): - print(grid_header.body) - - # construct a match with any div tag having a type attribute, regardless of the value - div_any_type = div().setParseAction(withAttribute(type=withAttribute.ANY_VALUE)) - div_expr = div_any_type + SkipTo(div | div_end)("body") - for div_header in div_expr.searchString(html): - print(div_header.body) - prints:: - 1 4 0 1 0 - - 1 4 0 1 0 - 1,3 2,3 1,1 - """ - if args: - attrs = args[:] - else: - attrs = attrDict.items() - attrs = [(k,v) for k,v in attrs] - def pa(s,l,tokens): - for attrName,attrValue in attrs: - if attrName not in tokens: - raise ParseException(s,l,"no matching attribute " + attrName) - if attrValue != withAttribute.ANY_VALUE and tokens[attrName] != attrValue: - raise ParseException(s,l,"attribute '%s' has value '%s', must be '%s'" % - (attrName, tokens[attrName], attrValue)) - return pa -withAttribute.ANY_VALUE = object() - -def withClass(classname, namespace=''): - """ - Simplified version of C{L{withAttribute}} when matching on a div class - made - difficult because C{class} is a reserved word in Python. - - Example:: - html = ''' - <div> - Some text - <div class="grid">1 4 0 1 0</div> - <div class="graph">1,3 2,3 1,1</div> - <div>this <div> has no class</div> - </div> - - ''' - div,div_end = makeHTMLTags("div") - div_grid = div().setParseAction(withClass("grid")) - - grid_expr = div_grid + SkipTo(div | div_end)("body") - for grid_header in grid_expr.searchString(html): - print(grid_header.body) - - div_any_type = div().setParseAction(withClass(withAttribute.ANY_VALUE)) - div_expr = div_any_type + SkipTo(div | div_end)("body") - for div_header in div_expr.searchString(html): - print(div_header.body) - prints:: - 1 4 0 1 0 - - 1 4 0 1 0 - 1,3 2,3 1,1 - """ - classattr = "%s:class" % namespace if namespace else "class" - return withAttribute(**{classattr : classname}) - -opAssoc = _Constants() -opAssoc.LEFT = object() -opAssoc.RIGHT = object() - -def infixNotation( baseExpr, opList, lpar=Suppress('('), rpar=Suppress(')') ): - """ - Helper method for constructing grammars of expressions made up of - operators working in a precedence hierarchy. Operators may be unary or - binary, left- or right-associative. Parse actions can also be attached - to operator expressions. The generated parser will also recognize the use - of parentheses to override operator precedences (see example below). - - Note: if you define a deep operator list, you may see performance issues - when using infixNotation. See L{ParserElement.enablePackrat} for a - mechanism to potentially improve your parser performance. - - Parameters: - - baseExpr - expression representing the most basic element for the nested - - opList - list of tuples, one for each operator precedence level in the - expression grammar; each tuple is of the form - (opExpr, numTerms, rightLeftAssoc, parseAction), where: - - opExpr is the pyparsing expression for the operator; - may also be a string, which will be converted to a Literal; - if numTerms is 3, opExpr is a tuple of two expressions, for the - two operators separating the 3 terms - - numTerms is the number of terms for this operator (must - be 1, 2, or 3) - - rightLeftAssoc is the indicator whether the operator is - right or left associative, using the pyparsing-defined - constants C{opAssoc.RIGHT} and C{opAssoc.LEFT}. - - parseAction is the parse action to be associated with - expressions matching this operator expression (the - parse action tuple member may be omitted); if the parse action - is passed a tuple or list of functions, this is equivalent to - calling C{setParseAction(*fn)} (L{ParserElement.setParseAction}) - - lpar - expression for matching left-parentheses (default=C{Suppress('(')}) - - rpar - expression for matching right-parentheses (default=C{Suppress(')')}) - - Example:: - # simple example of four-function arithmetic with ints and variable names - integer = pyparsing_common.signed_integer - varname = pyparsing_common.identifier - - arith_expr = infixNotation(integer | varname, - [ - ('-', 1, opAssoc.RIGHT), - (oneOf('* /'), 2, opAssoc.LEFT), - (oneOf('+ -'), 2, opAssoc.LEFT), - ]) - - arith_expr.runTests(''' - 5+3*6 - (5+3)*6 - -2--11 - ''', fullDump=False) - prints:: - 5+3*6 - [[5, '+', [3, '*', 6]]] - - (5+3)*6 - [[[5, '+', 3], '*', 6]] - - -2--11 - [[['-', 2], '-', ['-', 11]]] - """ - ret = Forward() - lastExpr = baseExpr | ( lpar + ret + rpar ) - for i,operDef in enumerate(opList): - opExpr,arity,rightLeftAssoc,pa = (operDef + (None,))[:4] - termName = "%s term" % opExpr if arity < 3 else "%s%s term" % opExpr - if arity == 3: - if opExpr is None or len(opExpr) != 2: - raise ValueError("if numterms=3, opExpr must be a tuple or list of two expressions") - opExpr1, opExpr2 = opExpr - thisExpr = Forward().setName(termName) - if rightLeftAssoc == opAssoc.LEFT: - if arity == 1: - matchExpr = FollowedBy(lastExpr + opExpr) + Group( lastExpr + OneOrMore( opExpr ) ) - elif arity == 2: - if opExpr is not None: - matchExpr = FollowedBy(lastExpr + opExpr + lastExpr) + Group( lastExpr + OneOrMore( opExpr + lastExpr ) ) - else: - matchExpr = FollowedBy(lastExpr+lastExpr) + Group( lastExpr + OneOrMore(lastExpr) ) - elif arity == 3: - matchExpr = FollowedBy(lastExpr + opExpr1 + lastExpr + opExpr2 + lastExpr) + \ - Group( lastExpr + opExpr1 + lastExpr + opExpr2 + lastExpr ) - else: - raise ValueError("operator must be unary (1), binary (2), or ternary (3)") - elif rightLeftAssoc == opAssoc.RIGHT: - if arity == 1: - # try to avoid LR with this extra test - if not isinstance(opExpr, Optional): - opExpr = Optional(opExpr) - matchExpr = FollowedBy(opExpr.expr + thisExpr) + Group( opExpr + thisExpr ) - elif arity == 2: - if opExpr is not None: - matchExpr = FollowedBy(lastExpr + opExpr + thisExpr) + Group( lastExpr + OneOrMore( opExpr + thisExpr ) ) - else: - matchExpr = FollowedBy(lastExpr + thisExpr) + Group( lastExpr + OneOrMore( thisExpr ) ) - elif arity == 3: - matchExpr = FollowedBy(lastExpr + opExpr1 + thisExpr + opExpr2 + thisExpr) + \ - Group( lastExpr + opExpr1 + thisExpr + opExpr2 + thisExpr ) - else: - raise ValueError("operator must be unary (1), binary (2), or ternary (3)") - else: - raise ValueError("operator must indicate right or left associativity") - if pa: - if isinstance(pa, (tuple, list)): - matchExpr.setParseAction(*pa) - else: - matchExpr.setParseAction(pa) - thisExpr <<= ( matchExpr.setName(termName) | lastExpr ) - lastExpr = thisExpr - ret <<= lastExpr - return ret - -operatorPrecedence = infixNotation -"""(Deprecated) Former name of C{L{infixNotation}}, will be dropped in a future release.""" - -dblQuotedString = Combine(Regex(r'"(?:[^"\n\r\\]|(?:"")|(?:\\(?:[^x]|x[0-9a-fA-F]+)))*')+'"').setName("string enclosed in double quotes") -sglQuotedString = Combine(Regex(r"'(?:[^'\n\r\\]|(?:'')|(?:\\(?:[^x]|x[0-9a-fA-F]+)))*")+"'").setName("string enclosed in single quotes") -quotedString = Combine(Regex(r'"(?:[^"\n\r\\]|(?:"")|(?:\\(?:[^x]|x[0-9a-fA-F]+)))*')+'"'| - Regex(r"'(?:[^'\n\r\\]|(?:'')|(?:\\(?:[^x]|x[0-9a-fA-F]+)))*")+"'").setName("quotedString using single or double quotes") -unicodeString = Combine(_L('u') + quotedString.copy()).setName("unicode string literal") - -def nestedExpr(opener="(", closer=")", content=None, ignoreExpr=quotedString.copy()): - """ - Helper method for defining nested lists enclosed in opening and closing - delimiters ("(" and ")" are the default). - - Parameters: - - opener - opening character for a nested list (default=C{"("}); can also be a pyparsing expression - - closer - closing character for a nested list (default=C{")"}); can also be a pyparsing expression - - content - expression for items within the nested lists (default=C{None}) - - ignoreExpr - expression for ignoring opening and closing delimiters (default=C{quotedString}) - - If an expression is not provided for the content argument, the nested - expression will capture all whitespace-delimited content between delimiters - as a list of separate values. - - Use the C{ignoreExpr} argument to define expressions that may contain - opening or closing characters that should not be treated as opening - or closing characters for nesting, such as quotedString or a comment - expression. Specify multiple expressions using an C{L{Or}} or C{L{MatchFirst}}. - The default is L{quotedString}, but if no expressions are to be ignored, - then pass C{None} for this argument. - - Example:: - data_type = oneOf("void int short long char float double") - decl_data_type = Combine(data_type + Optional(Word('*'))) - ident = Word(alphas+'_', alphanums+'_') - number = pyparsing_common.number - arg = Group(decl_data_type + ident) - LPAR,RPAR = map(Suppress, "()") - - code_body = nestedExpr('{', '}', ignoreExpr=(quotedString | cStyleComment)) - - c_function = (decl_data_type("type") - + ident("name") - + LPAR + Optional(delimitedList(arg), [])("args") + RPAR - + code_body("body")) - c_function.ignore(cStyleComment) - - source_code = ''' - int is_odd(int x) { - return (x%2); - } - - int dec_to_hex(char hchar) { - if (hchar >= '0' && hchar <= '9') { - return (ord(hchar)-ord('0')); - } else { - return (10+ord(hchar)-ord('A')); - } - } - ''' - for func in c_function.searchString(source_code): - print("%(name)s (%(type)s) args: %(args)s" % func) - - prints:: - is_odd (int) args: [['int', 'x']] - dec_to_hex (int) args: [['char', 'hchar']] - """ - if opener == closer: - raise ValueError("opening and closing strings cannot be the same") - if content is None: - if isinstance(opener,basestring) and isinstance(closer,basestring): - if len(opener) == 1 and len(closer)==1: - if ignoreExpr is not None: - content = (Combine(OneOrMore(~ignoreExpr + - CharsNotIn(opener+closer+ParserElement.DEFAULT_WHITE_CHARS,exact=1)) - ).setParseAction(lambda t:t[0].strip())) - else: - content = (empty.copy()+CharsNotIn(opener+closer+ParserElement.DEFAULT_WHITE_CHARS - ).setParseAction(lambda t:t[0].strip())) - else: - if ignoreExpr is not None: - content = (Combine(OneOrMore(~ignoreExpr + - ~Literal(opener) + ~Literal(closer) + - CharsNotIn(ParserElement.DEFAULT_WHITE_CHARS,exact=1)) - ).setParseAction(lambda t:t[0].strip())) - else: - content = (Combine(OneOrMore(~Literal(opener) + ~Literal(closer) + - CharsNotIn(ParserElement.DEFAULT_WHITE_CHARS,exact=1)) - ).setParseAction(lambda t:t[0].strip())) - else: - raise ValueError("opening and closing arguments must be strings if no content expression is given") - ret = Forward() - if ignoreExpr is not None: - ret <<= Group( Suppress(opener) + ZeroOrMore( ignoreExpr | ret | content ) + Suppress(closer) ) - else: - ret <<= Group( Suppress(opener) + ZeroOrMore( ret | content ) + Suppress(closer) ) - ret.setName('nested %s%s expression' % (opener,closer)) - return ret - -def indentedBlock(blockStatementExpr, indentStack, indent=True): - """ - Helper method for defining space-delimited indentation blocks, such as - those used to define block statements in Python source code. - - Parameters: - - blockStatementExpr - expression defining syntax of statement that - is repeated within the indented block - - indentStack - list created by caller to manage indentation stack - (multiple statementWithIndentedBlock expressions within a single grammar - should share a common indentStack) - - indent - boolean indicating whether block must be indented beyond the - the current level; set to False for block of left-most statements - (default=C{True}) - - A valid block must contain at least one C{blockStatement}. - - Example:: - data = ''' - def A(z): - A1 - B = 100 - G = A2 - A2 - A3 - B - def BB(a,b,c): - BB1 - def BBA(): - bba1 - bba2 - bba3 - C - D - def spam(x,y): - def eggs(z): - pass - ''' - - - indentStack = [1] - stmt = Forward() - - identifier = Word(alphas, alphanums) - funcDecl = ("def" + identifier + Group( "(" + Optional( delimitedList(identifier) ) + ")" ) + ":") - func_body = indentedBlock(stmt, indentStack) - funcDef = Group( funcDecl + func_body ) - - rvalue = Forward() - funcCall = Group(identifier + "(" + Optional(delimitedList(rvalue)) + ")") - rvalue << (funcCall | identifier | Word(nums)) - assignment = Group(identifier + "=" + rvalue) - stmt << ( funcDef | assignment | identifier ) - - module_body = OneOrMore(stmt) - - parseTree = module_body.parseString(data) - parseTree.pprint() - prints:: - [['def', - 'A', - ['(', 'z', ')'], - ':', - [['A1'], [['B', '=', '100']], [['G', '=', 'A2']], ['A2'], ['A3']]], - 'B', - ['def', - 'BB', - ['(', 'a', 'b', 'c', ')'], - ':', - [['BB1'], [['def', 'BBA', ['(', ')'], ':', [['bba1'], ['bba2'], ['bba3']]]]]], - 'C', - 'D', - ['def', - 'spam', - ['(', 'x', 'y', ')'], - ':', - [[['def', 'eggs', ['(', 'z', ')'], ':', [['pass']]]]]]] - """ - def checkPeerIndent(s,l,t): - if l >= len(s): return - curCol = col(l,s) - if curCol != indentStack[-1]: - if curCol > indentStack[-1]: - raise ParseFatalException(s,l,"illegal nesting") - raise ParseException(s,l,"not a peer entry") - - def checkSubIndent(s,l,t): - curCol = col(l,s) - if curCol > indentStack[-1]: - indentStack.append( curCol ) - else: - raise ParseException(s,l,"not a subentry") - - def checkUnindent(s,l,t): - if l >= len(s): return - curCol = col(l,s) - if not(indentStack and curCol < indentStack[-1] and curCol <= indentStack[-2]): - raise ParseException(s,l,"not an unindent") - indentStack.pop() - - NL = OneOrMore(LineEnd().setWhitespaceChars("\t ").suppress()) - INDENT = (Empty() + Empty().setParseAction(checkSubIndent)).setName('INDENT') - PEER = Empty().setParseAction(checkPeerIndent).setName('') - UNDENT = Empty().setParseAction(checkUnindent).setName('UNINDENT') - if indent: - smExpr = Group( Optional(NL) + - #~ FollowedBy(blockStatementExpr) + - INDENT + (OneOrMore( PEER + Group(blockStatementExpr) + Optional(NL) )) + UNDENT) - else: - smExpr = Group( Optional(NL) + - (OneOrMore( PEER + Group(blockStatementExpr) + Optional(NL) )) ) - blockStatementExpr.ignore(_bslash + LineEnd()) - return smExpr.setName('indented block') - -alphas8bit = srange(r"[\0xc0-\0xd6\0xd8-\0xf6\0xf8-\0xff]") -punc8bit = srange(r"[\0xa1-\0xbf\0xd7\0xf7]") - -anyOpenTag,anyCloseTag = makeHTMLTags(Word(alphas,alphanums+"_:").setName('any tag')) -_htmlEntityMap = dict(zip("gt lt amp nbsp quot apos".split(),'><& "\'')) -commonHTMLEntity = Regex('&(?P<entity>' + '|'.join(_htmlEntityMap.keys()) +");").setName("common HTML entity") -def replaceHTMLEntity(t): - """Helper parser action to replace common HTML entities with their special characters""" - return _htmlEntityMap.get(t.entity) - -# it's easy to get these comment structures wrong - they're very common, so may as well make them available -cStyleComment = Combine(Regex(r"/\*(?:[^*]|\*(?!/))*") + '*/').setName("C style comment") -"Comment of the form C{/* ... */}" - -htmlComment = Regex(r"<!--[\s\S]*?-->").setName("HTML comment") -"Comment of the form C{<!-- ... -->}" - -restOfLine = Regex(r".*").leaveWhitespace().setName("rest of line") -dblSlashComment = Regex(r"//(?:\\\n|[^\n])*").setName("// comment") -"Comment of the form C{// ... (to end of line)}" - -cppStyleComment = Combine(Regex(r"/\*(?:[^*]|\*(?!/))*") + '*/'| dblSlashComment).setName("C++ style comment") -"Comment of either form C{L{cStyleComment}} or C{L{dblSlashComment}}" - -javaStyleComment = cppStyleComment -"Same as C{L{cppStyleComment}}" - -pythonStyleComment = Regex(r"#.*").setName("Python style comment") -"Comment of the form C{# ... (to end of line)}" - -_commasepitem = Combine(OneOrMore(Word(printables, excludeChars=',') + - Optional( Word(" \t") + - ~Literal(",") + ~LineEnd() ) ) ).streamline().setName("commaItem") -commaSeparatedList = delimitedList( Optional( quotedString.copy() | _commasepitem, default="") ).setName("commaSeparatedList") -"""(Deprecated) Predefined expression of 1 or more printable words or quoted strings, separated by commas. - This expression is deprecated in favor of L{pyparsing_common.comma_separated_list}.""" - -# some other useful expressions - using lower-case class name since we are really using this as a namespace -class pyparsing_common: - """ - Here are some common low-level expressions that may be useful in jump-starting parser development: - - numeric forms (L{integers<integer>}, L{reals<real>}, L{scientific notation<sci_real>}) - - common L{programming identifiers<identifier>} - - network addresses (L{MAC<mac_address>}, L{IPv4<ipv4_address>}, L{IPv6<ipv6_address>}) - - ISO8601 L{dates<iso8601_date>} and L{datetime<iso8601_datetime>} - - L{UUID<uuid>} - - L{comma-separated list<comma_separated_list>} - Parse actions: - - C{L{convertToInteger}} - - C{L{convertToFloat}} - - C{L{convertToDate}} - - C{L{convertToDatetime}} - - C{L{stripHTMLTags}} - - C{L{upcaseTokens}} - - C{L{downcaseTokens}} - - Example:: - pyparsing_common.number.runTests(''' - # any int or real number, returned as the appropriate type - 100 - -100 - +100 - 3.14159 - 6.02e23 - 1e-12 - ''') - - pyparsing_common.fnumber.runTests(''' - # any int or real number, returned as float - 100 - -100 - +100 - 3.14159 - 6.02e23 - 1e-12 - ''') - - pyparsing_common.hex_integer.runTests(''' - # hex numbers - 100 - FF - ''') - - pyparsing_common.fraction.runTests(''' - # fractions - 1/2 - -3/4 - ''') - - pyparsing_common.mixed_integer.runTests(''' - # mixed fractions - 1 - 1/2 - -3/4 - 1-3/4 - ''') - - import uuid - pyparsing_common.uuid.setParseAction(tokenMap(uuid.UUID)) - pyparsing_common.uuid.runTests(''' - # uuid - 12345678-1234-5678-1234-567812345678 - ''') - prints:: - # any int or real number, returned as the appropriate type - 100 - [100] - - -100 - [-100] - - +100 - [100] - - 3.14159 - [3.14159] - - 6.02e23 - [6.02e+23] - - 1e-12 - [1e-12] - - # any int or real number, returned as float - 100 - [100.0] - - -100 - [-100.0] - - +100 - [100.0] - - 3.14159 - [3.14159] - - 6.02e23 - [6.02e+23] - - 1e-12 - [1e-12] - - # hex numbers - 100 - [256] - - FF - [255] - - # fractions - 1/2 - [0.5] - - -3/4 - [-0.75] - - # mixed fractions - 1 - [1] - - 1/2 - [0.5] - - -3/4 - [-0.75] - - 1-3/4 - [1.75] - - # uuid - 12345678-1234-5678-1234-567812345678 - [UUID('12345678-1234-5678-1234-567812345678')] - """ - - convertToInteger = tokenMap(int) - """ - Parse action for converting parsed integers to Python int - """ - - convertToFloat = tokenMap(float) - """ - Parse action for converting parsed numbers to Python float - """ - - integer = Word(nums).setName("integer").setParseAction(convertToInteger) - """expression that parses an unsigned integer, returns an int""" - - hex_integer = Word(hexnums).setName("hex integer").setParseAction(tokenMap(int,16)) - """expression that parses a hexadecimal integer, returns an int""" - - signed_integer = Regex(r'[+-]?\d+').setName("signed integer").setParseAction(convertToInteger) - """expression that parses an integer with optional leading sign, returns an int""" - - fraction = (signed_integer().setParseAction(convertToFloat) + '/' + signed_integer().setParseAction(convertToFloat)).setName("fraction") - """fractional expression of an integer divided by an integer, returns a float""" - fraction.addParseAction(lambda t: t[0]/t[-1]) - - mixed_integer = (fraction | signed_integer + Optional(Optional('-').suppress() + fraction)).setName("fraction or mixed integer-fraction") - """mixed integer of the form 'integer - fraction', with optional leading integer, returns float""" - mixed_integer.addParseAction(sum) - - real = Regex(r'[+-]?\d+\.\d*').setName("real number").setParseAction(convertToFloat) - """expression that parses a floating point number and returns a float""" - - sci_real = Regex(r'[+-]?\d+([eE][+-]?\d+|\.\d*([eE][+-]?\d+)?)').setName("real number with scientific notation").setParseAction(convertToFloat) - """expression that parses a floating point number with optional scientific notation and returns a float""" - - # streamlining this expression makes the docs nicer-looking - number = (sci_real | real | signed_integer).streamline() - """any numeric expression, returns the corresponding Python type""" - - fnumber = Regex(r'[+-]?\d+\.?\d*([eE][+-]?\d+)?').setName("fnumber").setParseAction(convertToFloat) - """any int or real number, returned as float""" - - identifier = Word(alphas+'_', alphanums+'_').setName("identifier") - """typical code identifier (leading alpha or '_', followed by 0 or more alphas, nums, or '_')""" - - ipv4_address = Regex(r'(25[0-5]|2[0-4][0-9]|1?[0-9]{1,2})(\.(25[0-5]|2[0-4][0-9]|1?[0-9]{1,2})){3}').setName("IPv4 address") - "IPv4 address (C{0.0.0.0 - 255.255.255.255})" - - _ipv6_part = Regex(r'[0-9a-fA-F]{1,4}').setName("hex_integer") - _full_ipv6_address = (_ipv6_part + (':' + _ipv6_part)*7).setName("full IPv6 address") - _short_ipv6_address = (Optional(_ipv6_part + (':' + _ipv6_part)*(0,6)) + "::" + Optional(_ipv6_part + (':' + _ipv6_part)*(0,6))).setName("short IPv6 address") - _short_ipv6_address.addCondition(lambda t: sum(1 for tt in t if pyparsing_common._ipv6_part.matches(tt)) < 8) - _mixed_ipv6_address = ("::ffff:" + ipv4_address).setName("mixed IPv6 address") - ipv6_address = Combine((_full_ipv6_address | _mixed_ipv6_address | _short_ipv6_address).setName("IPv6 address")).setName("IPv6 address") - "IPv6 address (long, short, or mixed form)" - - mac_address = Regex(r'[0-9a-fA-F]{2}([:.-])[0-9a-fA-F]{2}(?:\1[0-9a-fA-F]{2}){4}').setName("MAC address") - "MAC address xx:xx:xx:xx:xx (may also have '-' or '.' delimiters)" - - @staticmethod - def convertToDate(fmt="%Y-%m-%d"): - """ - Helper to create a parse action for converting parsed date string to Python datetime.date - - Params - - - fmt - format to be passed to datetime.strptime (default=C{"%Y-%m-%d"}) - - Example:: - date_expr = pyparsing_common.iso8601_date.copy() - date_expr.setParseAction(pyparsing_common.convertToDate()) - print(date_expr.parseString("1999-12-31")) - prints:: - [datetime.date(1999, 12, 31)] - """ - def cvt_fn(s,l,t): - try: - return datetime.strptime(t[0], fmt).date() - except ValueError as ve: - raise ParseException(s, l, str(ve)) - return cvt_fn - - @staticmethod - def convertToDatetime(fmt="%Y-%m-%dT%H:%M:%S.%f"): - """ - Helper to create a parse action for converting parsed datetime string to Python datetime.datetime - - Params - - - fmt - format to be passed to datetime.strptime (default=C{"%Y-%m-%dT%H:%M:%S.%f"}) - - Example:: - dt_expr = pyparsing_common.iso8601_datetime.copy() - dt_expr.setParseAction(pyparsing_common.convertToDatetime()) - print(dt_expr.parseString("1999-12-31T23:59:59.999")) - prints:: - [datetime.datetime(1999, 12, 31, 23, 59, 59, 999000)] - """ - def cvt_fn(s,l,t): - try: - return datetime.strptime(t[0], fmt) - except ValueError as ve: - raise ParseException(s, l, str(ve)) - return cvt_fn - - iso8601_date = Regex(r'(?P<year>\d{4})(?:-(?P<month>\d\d)(?:-(?P<day>\d\d))?)?').setName("ISO8601 date") - "ISO8601 date (C{yyyy-mm-dd})" - - iso8601_datetime = Regex(r'(?P<year>\d{4})-(?P<month>\d\d)-(?P<day>\d\d)[T ](?P<hour>\d\d):(?P<minute>\d\d)(:(?P<second>\d\d(\.\d*)?)?)?(?P<tz>Z|[+-]\d\d:?\d\d)?').setName("ISO8601 datetime") - "ISO8601 datetime (C{yyyy-mm-ddThh:mm:ss.s(Z|+-00:00)}) - trailing seconds, milliseconds, and timezone optional; accepts separating C{'T'} or C{' '}" - - uuid = Regex(r'[0-9a-fA-F]{8}(-[0-9a-fA-F]{4}){3}-[0-9a-fA-F]{12}').setName("UUID") - "UUID (C{xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx})" - - _html_stripper = anyOpenTag.suppress() | anyCloseTag.suppress() - @staticmethod - def stripHTMLTags(s, l, tokens): - """ - Parse action to remove HTML tags from web page HTML source - - Example:: - # strip HTML links from normal text - text = '<td>More info at the <a href="http://pyparsing.wikispaces.com">pyparsing</a> wiki page</td>' - td,td_end = makeHTMLTags("TD") - table_text = td + SkipTo(td_end).setParseAction(pyparsing_common.stripHTMLTags)("body") + td_end - - print(table_text.parseString(text).body) # -> 'More info at the pyparsing wiki page' - """ - return pyparsing_common._html_stripper.transformString(tokens[0]) - - _commasepitem = Combine(OneOrMore(~Literal(",") + ~LineEnd() + Word(printables, excludeChars=',') - + Optional( White(" \t") ) ) ).streamline().setName("commaItem") - comma_separated_list = delimitedList( Optional( quotedString.copy() | _commasepitem, default="") ).setName("comma separated list") - """Predefined expression of 1 or more printable words or quoted strings, separated by commas.""" - - upcaseTokens = staticmethod(tokenMap(lambda t: _ustr(t).upper())) - """Parse action to convert tokens to upper case.""" - - downcaseTokens = staticmethod(tokenMap(lambda t: _ustr(t).lower())) - """Parse action to convert tokens to lower case.""" - - -if __name__ == "__main__": - - selectToken = CaselessLiteral("select") - fromToken = CaselessLiteral("from") - - ident = Word(alphas, alphanums + "_$") - - columnName = delimitedList(ident, ".", combine=True).setParseAction(upcaseTokens) - columnNameList = Group(delimitedList(columnName)).setName("columns") - columnSpec = ('*' | columnNameList) - - tableName = delimitedList(ident, ".", combine=True).setParseAction(upcaseTokens) - tableNameList = Group(delimitedList(tableName)).setName("tables") - - simpleSQL = selectToken("command") + columnSpec("columns") + fromToken + tableNameList("tables") - - # demo runTests method, including embedded comments in test string - simpleSQL.runTests(""" - # '*' as column list and dotted table name - select * from SYS.XYZZY - - # caseless match on "SELECT", and casts back to "select" - SELECT * from XYZZY, ABC - - # list of column names, and mixed case SELECT keyword - Select AA,BB,CC from Sys.dual - - # multiple tables - Select A, B, C from Sys.dual, Table2 - - # invalid SELECT keyword - should fail - Xelect A, B, C from Sys.dual - - # incomplete command - should fail - Select - - # invalid column name - should fail - Select ^^^ frox Sys.dual - - """) - - pyparsing_common.number.runTests(""" - 100 - -100 - +100 - 3.14159 - 6.02e23 - 1e-12 - """) - - # any int or real number, returned as float - pyparsing_common.fnumber.runTests(""" - 100 - -100 - +100 - 3.14159 - 6.02e23 - 1e-12 - """) - - pyparsing_common.hex_integer.runTests(""" - 100 - FF - """) - - import uuid - pyparsing_common.uuid.setParseAction(tokenMap(uuid.UUID)) - pyparsing_common.uuid.runTests(""" - 12345678-1234-5678-1234-567812345678 - """) diff --git a/.venv/lib/python3.8/site-packages/pkg_resources/_vendor/six.py b/.venv/lib/python3.8/site-packages/pkg_resources/_vendor/six.py deleted file mode 100644 index 190c023..0000000 --- a/.venv/lib/python3.8/site-packages/pkg_resources/_vendor/six.py +++ /dev/null @@ -1,868 +0,0 @@ -"""Utilities for writing code that runs on Python 2 and 3""" - -# Copyright (c) 2010-2015 Benjamin Peterson -# -# Permission is hereby granted, free of charge, to any person obtaining a copy -# of this software and associated documentation files (the "Software"), to deal -# in the Software without restriction, including without limitation the rights -# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -# copies of the Software, and to permit persons to whom the Software is -# furnished to do so, subject to the following conditions: -# -# The above copyright notice and this permission notice shall be included in all -# copies or substantial portions of the Software. -# -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -# SOFTWARE. - -from __future__ import absolute_import - -import functools -import itertools -import operator -import sys -import types - -__author__ = "Benjamin Peterson <benjamin@python.org>" -__version__ = "1.10.0" - - -# Useful for very coarse version differentiation. -PY2 = sys.version_info[0] == 2 -PY3 = sys.version_info[0] == 3 -PY34 = sys.version_info[0:2] >= (3, 4) - -if PY3: - string_types = str, - integer_types = int, - class_types = type, - text_type = str - binary_type = bytes - - MAXSIZE = sys.maxsize -else: - string_types = basestring, - integer_types = (int, long) - class_types = (type, types.ClassType) - text_type = unicode - binary_type = str - - if sys.platform.startswith("java"): - # Jython always uses 32 bits. - MAXSIZE = int((1 << 31) - 1) - else: - # It's possible to have sizeof(long) != sizeof(Py_ssize_t). - class X(object): - - def __len__(self): - return 1 << 31 - try: - len(X()) - except OverflowError: - # 32-bit - MAXSIZE = int((1 << 31) - 1) - else: - # 64-bit - MAXSIZE = int((1 << 63) - 1) - del X - - -def _add_doc(func, doc): - """Add documentation to a function.""" - func.__doc__ = doc - - -def _import_module(name): - """Import module, returning the module after the last dot.""" - __import__(name) - return sys.modules[name] - - -class _LazyDescr(object): - - def __init__(self, name): - self.name = name - - def __get__(self, obj, tp): - result = self._resolve() - setattr(obj, self.name, result) # Invokes __set__. - try: - # This is a bit ugly, but it avoids running this again by - # removing this descriptor. - delattr(obj.__class__, self.name) - except AttributeError: - pass - return result - - -class MovedModule(_LazyDescr): - - def __init__(self, name, old, new=None): - super(MovedModule, self).__init__(name) - if PY3: - if new is None: - new = name - self.mod = new - else: - self.mod = old - - def _resolve(self): - return _import_module(self.mod) - - def __getattr__(self, attr): - _module = self._resolve() - value = getattr(_module, attr) - setattr(self, attr, value) - return value - - -class _LazyModule(types.ModuleType): - - def __init__(self, name): - super(_LazyModule, self).__init__(name) - self.__doc__ = self.__class__.__doc__ - - def __dir__(self): - attrs = ["__doc__", "__name__"] - attrs += [attr.name for attr in self._moved_attributes] - return attrs - - # Subclasses should override this - _moved_attributes = [] - - -class MovedAttribute(_LazyDescr): - - def __init__(self, name, old_mod, new_mod, old_attr=None, new_attr=None): - super(MovedAttribute, self).__init__(name) - if PY3: - if new_mod is None: - new_mod = name - self.mod = new_mod - if new_attr is None: - if old_attr is None: - new_attr = name - else: - new_attr = old_attr - self.attr = new_attr - else: - self.mod = old_mod - if old_attr is None: - old_attr = name - self.attr = old_attr - - def _resolve(self): - module = _import_module(self.mod) - return getattr(module, self.attr) - - -class _SixMetaPathImporter(object): - - """ - A meta path importer to import six.moves and its submodules. - - This class implements a PEP302 finder and loader. It should be compatible - with Python 2.5 and all existing versions of Python3 - """ - - def __init__(self, six_module_name): - self.name = six_module_name - self.known_modules = {} - - def _add_module(self, mod, *fullnames): - for fullname in fullnames: - self.known_modules[self.name + "." + fullname] = mod - - def _get_module(self, fullname): - return self.known_modules[self.name + "." + fullname] - - def find_module(self, fullname, path=None): - if fullname in self.known_modules: - return self - return None - - def __get_module(self, fullname): - try: - return self.known_modules[fullname] - except KeyError: - raise ImportError("This loader does not know module " + fullname) - - def load_module(self, fullname): - try: - # in case of a reload - return sys.modules[fullname] - except KeyError: - pass - mod = self.__get_module(fullname) - if isinstance(mod, MovedModule): - mod = mod._resolve() - else: - mod.__loader__ = self - sys.modules[fullname] = mod - return mod - - def is_package(self, fullname): - """ - Return true, if the named module is a package. - - We need this method to get correct spec objects with - Python 3.4 (see PEP451) - """ - return hasattr(self.__get_module(fullname), "__path__") - - def get_code(self, fullname): - """Return None - - Required, if is_package is implemented""" - self.__get_module(fullname) # eventually raises ImportError - return None - get_source = get_code # same as get_code - -_importer = _SixMetaPathImporter(__name__) - - -class _MovedItems(_LazyModule): - - """Lazy loading of moved objects""" - __path__ = [] # mark as package - - -_moved_attributes = [ - MovedAttribute("cStringIO", "cStringIO", "io", "StringIO"), - MovedAttribute("filter", "itertools", "builtins", "ifilter", "filter"), - MovedAttribute("filterfalse", "itertools", "itertools", "ifilterfalse", "filterfalse"), - MovedAttribute("input", "__builtin__", "builtins", "raw_input", "input"), - MovedAttribute("intern", "__builtin__", "sys"), - MovedAttribute("map", "itertools", "builtins", "imap", "map"), - MovedAttribute("getcwd", "os", "os", "getcwdu", "getcwd"), - MovedAttribute("getcwdb", "os", "os", "getcwd", "getcwdb"), - MovedAttribute("range", "__builtin__", "builtins", "xrange", "range"), - MovedAttribute("reload_module", "__builtin__", "importlib" if PY34 else "imp", "reload"), - MovedAttribute("reduce", "__builtin__", "functools"), - MovedAttribute("shlex_quote", "pipes", "shlex", "quote"), - MovedAttribute("StringIO", "StringIO", "io"), - MovedAttribute("UserDict", "UserDict", "collections"), - MovedAttribute("UserList", "UserList", "collections"), - MovedAttribute("UserString", "UserString", "collections"), - MovedAttribute("xrange", "__builtin__", "builtins", "xrange", "range"), - MovedAttribute("zip", "itertools", "builtins", "izip", "zip"), - MovedAttribute("zip_longest", "itertools", "itertools", "izip_longest", "zip_longest"), - MovedModule("builtins", "__builtin__"), - MovedModule("configparser", "ConfigParser"), - MovedModule("copyreg", "copy_reg"), - MovedModule("dbm_gnu", "gdbm", "dbm.gnu"), - MovedModule("_dummy_thread", "dummy_thread", "_dummy_thread"), - MovedModule("http_cookiejar", "cookielib", "http.cookiejar"), - MovedModule("http_cookies", "Cookie", "http.cookies"), - MovedModule("html_entities", "htmlentitydefs", "html.entities"), - MovedModule("html_parser", "HTMLParser", "html.parser"), - MovedModule("http_client", "httplib", "http.client"), - MovedModule("email_mime_multipart", "email.MIMEMultipart", "email.mime.multipart"), - MovedModule("email_mime_nonmultipart", "email.MIMENonMultipart", "email.mime.nonmultipart"), - MovedModule("email_mime_text", "email.MIMEText", "email.mime.text"), - MovedModule("email_mime_base", "email.MIMEBase", "email.mime.base"), - MovedModule("BaseHTTPServer", "BaseHTTPServer", "http.server"), - MovedModule("CGIHTTPServer", "CGIHTTPServer", "http.server"), - MovedModule("SimpleHTTPServer", "SimpleHTTPServer", "http.server"), - MovedModule("cPickle", "cPickle", "pickle"), - MovedModule("queue", "Queue"), - MovedModule("reprlib", "repr"), - MovedModule("socketserver", "SocketServer"), - MovedModule("_thread", "thread", "_thread"), - MovedModule("tkinter", "Tkinter"), - MovedModule("tkinter_dialog", "Dialog", "tkinter.dialog"), - MovedModule("tkinter_filedialog", "FileDialog", "tkinter.filedialog"), - MovedModule("tkinter_scrolledtext", "ScrolledText", "tkinter.scrolledtext"), - MovedModule("tkinter_simpledialog", "SimpleDialog", "tkinter.simpledialog"), - MovedModule("tkinter_tix", "Tix", "tkinter.tix"), - MovedModule("tkinter_ttk", "ttk", "tkinter.ttk"), - MovedModule("tkinter_constants", "Tkconstants", "tkinter.constants"), - MovedModule("tkinter_dnd", "Tkdnd", "tkinter.dnd"), - MovedModule("tkinter_colorchooser", "tkColorChooser", - "tkinter.colorchooser"), - MovedModule("tkinter_commondialog", "tkCommonDialog", - "tkinter.commondialog"), - MovedModule("tkinter_tkfiledialog", "tkFileDialog", "tkinter.filedialog"), - MovedModule("tkinter_font", "tkFont", "tkinter.font"), - MovedModule("tkinter_messagebox", "tkMessageBox", "tkinter.messagebox"), - MovedModule("tkinter_tksimpledialog", "tkSimpleDialog", - "tkinter.simpledialog"), - MovedModule("urllib_parse", __name__ + ".moves.urllib_parse", "urllib.parse"), - MovedModule("urllib_error", __name__ + ".moves.urllib_error", "urllib.error"), - MovedModule("urllib", __name__ + ".moves.urllib", __name__ + ".moves.urllib"), - MovedModule("urllib_robotparser", "robotparser", "urllib.robotparser"), - MovedModule("xmlrpc_client", "xmlrpclib", "xmlrpc.client"), - MovedModule("xmlrpc_server", "SimpleXMLRPCServer", "xmlrpc.server"), -] -# Add windows specific modules. -if sys.platform == "win32": - _moved_attributes += [ - MovedModule("winreg", "_winreg"), - ] - -for attr in _moved_attributes: - setattr(_MovedItems, attr.name, attr) - if isinstance(attr, MovedModule): - _importer._add_module(attr, "moves." + attr.name) -del attr - -_MovedItems._moved_attributes = _moved_attributes - -moves = _MovedItems(__name__ + ".moves") -_importer._add_module(moves, "moves") - - -class Module_six_moves_urllib_parse(_LazyModule): - - """Lazy loading of moved objects in six.moves.urllib_parse""" - - -_urllib_parse_moved_attributes = [ - MovedAttribute("ParseResult", "urlparse", "urllib.parse"), - MovedAttribute("SplitResult", "urlparse", "urllib.parse"), - MovedAttribute("parse_qs", "urlparse", "urllib.parse"), - MovedAttribute("parse_qsl", "urlparse", "urllib.parse"), - MovedAttribute("urldefrag", "urlparse", "urllib.parse"), - MovedAttribute("urljoin", "urlparse", "urllib.parse"), - MovedAttribute("urlparse", "urlparse", "urllib.parse"), - MovedAttribute("urlsplit", "urlparse", "urllib.parse"), - MovedAttribute("urlunparse", "urlparse", "urllib.parse"), - MovedAttribute("urlunsplit", "urlparse", "urllib.parse"), - MovedAttribute("quote", "urllib", "urllib.parse"), - MovedAttribute("quote_plus", "urllib", "urllib.parse"), - MovedAttribute("unquote", "urllib", "urllib.parse"), - MovedAttribute("unquote_plus", "urllib", "urllib.parse"), - MovedAttribute("urlencode", "urllib", "urllib.parse"), - MovedAttribute("splitquery", "urllib", "urllib.parse"), - MovedAttribute("splittag", "urllib", "urllib.parse"), - MovedAttribute("splituser", "urllib", "urllib.parse"), - MovedAttribute("uses_fragment", "urlparse", "urllib.parse"), - MovedAttribute("uses_netloc", "urlparse", "urllib.parse"), - MovedAttribute("uses_params", "urlparse", "urllib.parse"), - MovedAttribute("uses_query", "urlparse", "urllib.parse"), - MovedAttribute("uses_relative", "urlparse", "urllib.parse"), -] -for attr in _urllib_parse_moved_attributes: - setattr(Module_six_moves_urllib_parse, attr.name, attr) -del attr - -Module_six_moves_urllib_parse._moved_attributes = _urllib_parse_moved_attributes - -_importer._add_module(Module_six_moves_urllib_parse(__name__ + ".moves.urllib_parse"), - "moves.urllib_parse", "moves.urllib.parse") - - -class Module_six_moves_urllib_error(_LazyModule): - - """Lazy loading of moved objects in six.moves.urllib_error""" - - -_urllib_error_moved_attributes = [ - MovedAttribute("URLError", "urllib2", "urllib.error"), - MovedAttribute("HTTPError", "urllib2", "urllib.error"), - MovedAttribute("ContentTooShortError", "urllib", "urllib.error"), -] -for attr in _urllib_error_moved_attributes: - setattr(Module_six_moves_urllib_error, attr.name, attr) -del attr - -Module_six_moves_urllib_error._moved_attributes = _urllib_error_moved_attributes - -_importer._add_module(Module_six_moves_urllib_error(__name__ + ".moves.urllib.error"), - "moves.urllib_error", "moves.urllib.error") - - -class Module_six_moves_urllib_request(_LazyModule): - - """Lazy loading of moved objects in six.moves.urllib_request""" - - -_urllib_request_moved_attributes = [ - MovedAttribute("urlopen", "urllib2", "urllib.request"), - MovedAttribute("install_opener", "urllib2", "urllib.request"), - MovedAttribute("build_opener", "urllib2", "urllib.request"), - MovedAttribute("pathname2url", "urllib", "urllib.request"), - MovedAttribute("url2pathname", "urllib", "urllib.request"), - MovedAttribute("getproxies", "urllib", "urllib.request"), - MovedAttribute("Request", "urllib2", "urllib.request"), - MovedAttribute("OpenerDirector", "urllib2", "urllib.request"), - MovedAttribute("HTTPDefaultErrorHandler", "urllib2", "urllib.request"), - MovedAttribute("HTTPRedirectHandler", "urllib2", "urllib.request"), - MovedAttribute("HTTPCookieProcessor", "urllib2", "urllib.request"), - MovedAttribute("ProxyHandler", "urllib2", "urllib.request"), - MovedAttribute("BaseHandler", "urllib2", "urllib.request"), - MovedAttribute("HTTPPasswordMgr", "urllib2", "urllib.request"), - MovedAttribute("HTTPPasswordMgrWithDefaultRealm", "urllib2", "urllib.request"), - MovedAttribute("AbstractBasicAuthHandler", "urllib2", "urllib.request"), - MovedAttribute("HTTPBasicAuthHandler", "urllib2", "urllib.request"), - MovedAttribute("ProxyBasicAuthHandler", "urllib2", "urllib.request"), - MovedAttribute("AbstractDigestAuthHandler", "urllib2", "urllib.request"), - MovedAttribute("HTTPDigestAuthHandler", "urllib2", "urllib.request"), - MovedAttribute("ProxyDigestAuthHandler", "urllib2", "urllib.request"), - MovedAttribute("HTTPHandler", "urllib2", "urllib.request"), - MovedAttribute("HTTPSHandler", "urllib2", "urllib.request"), - MovedAttribute("FileHandler", "urllib2", "urllib.request"), - MovedAttribute("FTPHandler", "urllib2", "urllib.request"), - MovedAttribute("CacheFTPHandler", "urllib2", "urllib.request"), - MovedAttribute("UnknownHandler", "urllib2", "urllib.request"), - MovedAttribute("HTTPErrorProcessor", "urllib2", "urllib.request"), - MovedAttribute("urlretrieve", "urllib", "urllib.request"), - MovedAttribute("urlcleanup", "urllib", "urllib.request"), - MovedAttribute("URLopener", "urllib", "urllib.request"), - MovedAttribute("FancyURLopener", "urllib", "urllib.request"), - MovedAttribute("proxy_bypass", "urllib", "urllib.request"), -] -for attr in _urllib_request_moved_attributes: - setattr(Module_six_moves_urllib_request, attr.name, attr) -del attr - -Module_six_moves_urllib_request._moved_attributes = _urllib_request_moved_attributes - -_importer._add_module(Module_six_moves_urllib_request(__name__ + ".moves.urllib.request"), - "moves.urllib_request", "moves.urllib.request") - - -class Module_six_moves_urllib_response(_LazyModule): - - """Lazy loading of moved objects in six.moves.urllib_response""" - - -_urllib_response_moved_attributes = [ - MovedAttribute("addbase", "urllib", "urllib.response"), - MovedAttribute("addclosehook", "urllib", "urllib.response"), - MovedAttribute("addinfo", "urllib", "urllib.response"), - MovedAttribute("addinfourl", "urllib", "urllib.response"), -] -for attr in _urllib_response_moved_attributes: - setattr(Module_six_moves_urllib_response, attr.name, attr) -del attr - -Module_six_moves_urllib_response._moved_attributes = _urllib_response_moved_attributes - -_importer._add_module(Module_six_moves_urllib_response(__name__ + ".moves.urllib.response"), - "moves.urllib_response", "moves.urllib.response") - - -class Module_six_moves_urllib_robotparser(_LazyModule): - - """Lazy loading of moved objects in six.moves.urllib_robotparser""" - - -_urllib_robotparser_moved_attributes = [ - MovedAttribute("RobotFileParser", "robotparser", "urllib.robotparser"), -] -for attr in _urllib_robotparser_moved_attributes: - setattr(Module_six_moves_urllib_robotparser, attr.name, attr) -del attr - -Module_six_moves_urllib_robotparser._moved_attributes = _urllib_robotparser_moved_attributes - -_importer._add_module(Module_six_moves_urllib_robotparser(__name__ + ".moves.urllib.robotparser"), - "moves.urllib_robotparser", "moves.urllib.robotparser") - - -class Module_six_moves_urllib(types.ModuleType): - - """Create a six.moves.urllib namespace that resembles the Python 3 namespace""" - __path__ = [] # mark as package - parse = _importer._get_module("moves.urllib_parse") - error = _importer._get_module("moves.urllib_error") - request = _importer._get_module("moves.urllib_request") - response = _importer._get_module("moves.urllib_response") - robotparser = _importer._get_module("moves.urllib_robotparser") - - def __dir__(self): - return ['parse', 'error', 'request', 'response', 'robotparser'] - -_importer._add_module(Module_six_moves_urllib(__name__ + ".moves.urllib"), - "moves.urllib") - - -def add_move(move): - """Add an item to six.moves.""" - setattr(_MovedItems, move.name, move) - - -def remove_move(name): - """Remove item from six.moves.""" - try: - delattr(_MovedItems, name) - except AttributeError: - try: - del moves.__dict__[name] - except KeyError: - raise AttributeError("no such move, %r" % (name,)) - - -if PY3: - _meth_func = "__func__" - _meth_self = "__self__" - - _func_closure = "__closure__" - _func_code = "__code__" - _func_defaults = "__defaults__" - _func_globals = "__globals__" -else: - _meth_func = "im_func" - _meth_self = "im_self" - - _func_closure = "func_closure" - _func_code = "func_code" - _func_defaults = "func_defaults" - _func_globals = "func_globals" - - -try: - advance_iterator = next -except NameError: - def advance_iterator(it): - return it.next() -next = advance_iterator - - -try: - callable = callable -except NameError: - def callable(obj): - return any("__call__" in klass.__dict__ for klass in type(obj).__mro__) - - -if PY3: - def get_unbound_function(unbound): - return unbound - - create_bound_method = types.MethodType - - def create_unbound_method(func, cls): - return func - - Iterator = object -else: - def get_unbound_function(unbound): - return unbound.im_func - - def create_bound_method(func, obj): - return types.MethodType(func, obj, obj.__class__) - - def create_unbound_method(func, cls): - return types.MethodType(func, None, cls) - - class Iterator(object): - - def next(self): - return type(self).__next__(self) - - callable = callable -_add_doc(get_unbound_function, - """Get the function out of a possibly unbound function""") - - -get_method_function = operator.attrgetter(_meth_func) -get_method_self = operator.attrgetter(_meth_self) -get_function_closure = operator.attrgetter(_func_closure) -get_function_code = operator.attrgetter(_func_code) -get_function_defaults = operator.attrgetter(_func_defaults) -get_function_globals = operator.attrgetter(_func_globals) - - -if PY3: - def iterkeys(d, **kw): - return iter(d.keys(**kw)) - - def itervalues(d, **kw): - return iter(d.values(**kw)) - - def iteritems(d, **kw): - return iter(d.items(**kw)) - - def iterlists(d, **kw): - return iter(d.lists(**kw)) - - viewkeys = operator.methodcaller("keys") - - viewvalues = operator.methodcaller("values") - - viewitems = operator.methodcaller("items") -else: - def iterkeys(d, **kw): - return d.iterkeys(**kw) - - def itervalues(d, **kw): - return d.itervalues(**kw) - - def iteritems(d, **kw): - return d.iteritems(**kw) - - def iterlists(d, **kw): - return d.iterlists(**kw) - - viewkeys = operator.methodcaller("viewkeys") - - viewvalues = operator.methodcaller("viewvalues") - - viewitems = operator.methodcaller("viewitems") - -_add_doc(iterkeys, "Return an iterator over the keys of a dictionary.") -_add_doc(itervalues, "Return an iterator over the values of a dictionary.") -_add_doc(iteritems, - "Return an iterator over the (key, value) pairs of a dictionary.") -_add_doc(iterlists, - "Return an iterator over the (key, [values]) pairs of a dictionary.") - - -if PY3: - def b(s): - return s.encode("latin-1") - - def u(s): - return s - unichr = chr - import struct - int2byte = struct.Struct(">B").pack - del struct - byte2int = operator.itemgetter(0) - indexbytes = operator.getitem - iterbytes = iter - import io - StringIO = io.StringIO - BytesIO = io.BytesIO - _assertCountEqual = "assertCountEqual" - if sys.version_info[1] <= 1: - _assertRaisesRegex = "assertRaisesRegexp" - _assertRegex = "assertRegexpMatches" - else: - _assertRaisesRegex = "assertRaisesRegex" - _assertRegex = "assertRegex" -else: - def b(s): - return s - # Workaround for standalone backslash - - def u(s): - return unicode(s.replace(r'\\', r'\\\\'), "unicode_escape") - unichr = unichr - int2byte = chr - - def byte2int(bs): - return ord(bs[0]) - - def indexbytes(buf, i): - return ord(buf[i]) - iterbytes = functools.partial(itertools.imap, ord) - import StringIO - StringIO = BytesIO = StringIO.StringIO - _assertCountEqual = "assertItemsEqual" - _assertRaisesRegex = "assertRaisesRegexp" - _assertRegex = "assertRegexpMatches" -_add_doc(b, """Byte literal""") -_add_doc(u, """Text literal""") - - -def assertCountEqual(self, *args, **kwargs): - return getattr(self, _assertCountEqual)(*args, **kwargs) - - -def assertRaisesRegex(self, *args, **kwargs): - return getattr(self, _assertRaisesRegex)(*args, **kwargs) - - -def assertRegex(self, *args, **kwargs): - return getattr(self, _assertRegex)(*args, **kwargs) - - -if PY3: - exec_ = getattr(moves.builtins, "exec") - - def reraise(tp, value, tb=None): - if value is None: - value = tp() - if value.__traceback__ is not tb: - raise value.with_traceback(tb) - raise value - -else: - def exec_(_code_, _globs_=None, _locs_=None): - """Execute code in a namespace.""" - if _globs_ is None: - frame = sys._getframe(1) - _globs_ = frame.f_globals - if _locs_ is None: - _locs_ = frame.f_locals - del frame - elif _locs_ is None: - _locs_ = _globs_ - exec("""exec _code_ in _globs_, _locs_""") - - exec_("""def reraise(tp, value, tb=None): - raise tp, value, tb -""") - - -if sys.version_info[:2] == (3, 2): - exec_("""def raise_from(value, from_value): - if from_value is None: - raise value - raise value from from_value -""") -elif sys.version_info[:2] > (3, 2): - exec_("""def raise_from(value, from_value): - raise value from from_value -""") -else: - def raise_from(value, from_value): - raise value - - -print_ = getattr(moves.builtins, "print", None) -if print_ is None: - def print_(*args, **kwargs): - """The new-style print function for Python 2.4 and 2.5.""" - fp = kwargs.pop("file", sys.stdout) - if fp is None: - return - - def write(data): - if not isinstance(data, basestring): - data = str(data) - # If the file has an encoding, encode unicode with it. - if (isinstance(fp, file) and - isinstance(data, unicode) and - fp.encoding is not None): - errors = getattr(fp, "errors", None) - if errors is None: - errors = "strict" - data = data.encode(fp.encoding, errors) - fp.write(data) - want_unicode = False - sep = kwargs.pop("sep", None) - if sep is not None: - if isinstance(sep, unicode): - want_unicode = True - elif not isinstance(sep, str): - raise TypeError("sep must be None or a string") - end = kwargs.pop("end", None) - if end is not None: - if isinstance(end, unicode): - want_unicode = True - elif not isinstance(end, str): - raise TypeError("end must be None or a string") - if kwargs: - raise TypeError("invalid keyword arguments to print()") - if not want_unicode: - for arg in args: - if isinstance(arg, unicode): - want_unicode = True - break - if want_unicode: - newline = unicode("\n") - space = unicode(" ") - else: - newline = "\n" - space = " " - if sep is None: - sep = space - if end is None: - end = newline - for i, arg in enumerate(args): - if i: - write(sep) - write(arg) - write(end) -if sys.version_info[:2] < (3, 3): - _print = print_ - - def print_(*args, **kwargs): - fp = kwargs.get("file", sys.stdout) - flush = kwargs.pop("flush", False) - _print(*args, **kwargs) - if flush and fp is not None: - fp.flush() - -_add_doc(reraise, """Reraise an exception.""") - -if sys.version_info[0:2] < (3, 4): - def wraps(wrapped, assigned=functools.WRAPPER_ASSIGNMENTS, - updated=functools.WRAPPER_UPDATES): - def wrapper(f): - f = functools.wraps(wrapped, assigned, updated)(f) - f.__wrapped__ = wrapped - return f - return wrapper -else: - wraps = functools.wraps - - -def with_metaclass(meta, *bases): - """Create a base class with a metaclass.""" - # This requires a bit of explanation: the basic idea is to make a dummy - # metaclass for one level of class instantiation that replaces itself with - # the actual metaclass. - class metaclass(meta): - - def __new__(cls, name, this_bases, d): - return meta(name, bases, d) - return type.__new__(metaclass, 'temporary_class', (), {}) - - -def add_metaclass(metaclass): - """Class decorator for creating a class with a metaclass.""" - def wrapper(cls): - orig_vars = cls.__dict__.copy() - slots = orig_vars.get('__slots__') - if slots is not None: - if isinstance(slots, str): - slots = [slots] - for slots_var in slots: - orig_vars.pop(slots_var) - orig_vars.pop('__dict__', None) - orig_vars.pop('__weakref__', None) - return metaclass(cls.__name__, cls.__bases__, orig_vars) - return wrapper - - -def python_2_unicode_compatible(klass): - """ - A decorator that defines __unicode__ and __str__ methods under Python 2. - Under Python 3 it does nothing. - - To support Python 2 and 3 with a single code base, define a __str__ method - returning text and apply this decorator to the class. - """ - if PY2: - if '__str__' not in klass.__dict__: - raise ValueError("@python_2_unicode_compatible cannot be applied " - "to %s because it doesn't define __str__()." % - klass.__name__) - klass.__unicode__ = klass.__str__ - klass.__str__ = lambda self: self.__unicode__().encode('utf-8') - return klass - - -# Complete the moves implementation. -# This code is at the end of this module to speed up module loading. -# Turn this module into a package. -__path__ = [] # required for PEP 302 and PEP 451 -__package__ = __name__ # see PEP 366 @ReservedAssignment -if globals().get("__spec__") is not None: - __spec__.submodule_search_locations = [] # PEP 451 @UndefinedVariable -# Remove other six meta path importers, since they cause problems. This can -# happen if six is removed from sys.modules and then reloaded. (Setuptools does -# this for some reason.) -if sys.meta_path: - for i, importer in enumerate(sys.meta_path): - # Here's some real nastiness: Another "instance" of the six module might - # be floating around. Therefore, we can't use isinstance() to check for - # the six meta path importer, since the other six instance will have - # inserted an importer with different class. - if (type(importer).__name__ == "_SixMetaPathImporter" and - importer.name == __name__): - del sys.meta_path[i] - break - del i, importer -# Finally, add the importer to the meta path import hook. -sys.meta_path.append(_importer) diff --git a/.venv/lib/python3.8/site-packages/pkg_resources/extern/__init__.py b/.venv/lib/python3.8/site-packages/pkg_resources/extern/__init__.py deleted file mode 100644 index c1eb9e9..0000000 --- a/.venv/lib/python3.8/site-packages/pkg_resources/extern/__init__.py +++ /dev/null @@ -1,73 +0,0 @@ -import sys - - -class VendorImporter: - """ - A PEP 302 meta path importer for finding optionally-vendored - or otherwise naturally-installed packages from root_name. - """ - - def __init__(self, root_name, vendored_names=(), vendor_pkg=None): - self.root_name = root_name - self.vendored_names = set(vendored_names) - self.vendor_pkg = vendor_pkg or root_name.replace('extern', '_vendor') - - @property - def search_path(self): - """ - Search first the vendor package then as a natural package. - """ - yield self.vendor_pkg + '.' - yield '' - - def find_module(self, fullname, path=None): - """ - Return self when fullname starts with root_name and the - target module is one vendored through this importer. - """ - root, base, target = fullname.partition(self.root_name + '.') - if root: - return - if not any(map(target.startswith, self.vendored_names)): - return - return self - - def load_module(self, fullname): - """ - Iterate over the search path to locate and load fullname. - """ - root, base, target = fullname.partition(self.root_name + '.') - for prefix in self.search_path: - try: - extant = prefix + target - __import__(extant) - mod = sys.modules[extant] - sys.modules[fullname] = mod - # mysterious hack: - # Remove the reference to the extant package/module - # on later Python versions to cause relative imports - # in the vendor package to resolve the same modules - # as those going through this importer. - if prefix and sys.version_info > (3, 3): - del sys.modules[extant] - return mod - except ImportError: - pass - else: - raise ImportError( - "The '{target}' package is required; " - "normally this is bundled with this package so if you get " - "this warning, consult the packager of your " - "distribution.".format(**locals()) - ) - - def install(self): - """ - Install this importer into sys.meta_path if not already present. - """ - if self not in sys.meta_path: - sys.meta_path.append(self) - - -names = 'packaging', 'pyparsing', 'six', 'appdirs' -VendorImporter(__name__, names).install() diff --git a/.venv/lib/python3.8/site-packages/pkg_resources/extern/__pycache__/__init__.cpython-38.pyc b/.venv/lib/python3.8/site-packages/pkg_resources/extern/__pycache__/__init__.cpython-38.pyc deleted file mode 100644 index fa6abed5556ded6738c6994221df9eb40be9cfad..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2406 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 Ib75fw0I?5qaR2}S diff --git a/.venv/lib/python3.8/site-packages/pkg_resources/py31compat.py b/.venv/lib/python3.8/site-packages/pkg_resources/py31compat.py deleted file mode 100644 index a381c42..0000000 --- a/.venv/lib/python3.8/site-packages/pkg_resources/py31compat.py +++ /dev/null @@ -1,23 +0,0 @@ -import os -import errno -import sys - -from .extern import six - - -def _makedirs_31(path, exist_ok=False): - try: - os.makedirs(path) - except OSError as exc: - if not exist_ok or exc.errno != errno.EEXIST: - raise - - -# rely on compatibility behavior until mode considerations -# and exists_ok considerations are disentangled. -# See https://github.com/pypa/setuptools/pull/1083#issuecomment-315168663 -needs_makedirs = ( - six.PY2 or - (3, 4) <= sys.version_info < (3, 4, 1) -) -makedirs = _makedirs_31 if needs_makedirs else os.makedirs diff --git a/.venv/lib/python3.8/site-packages/setuptools-44.0.0.dist-info/AUTHORS.txt b/.venv/lib/python3.8/site-packages/setuptools-44.0.0.dist-info/AUTHORS.txt deleted file mode 100644 index 72c87d7..0000000 --- a/.venv/lib/python3.8/site-packages/setuptools-44.0.0.dist-info/AUTHORS.txt +++ /dev/null @@ -1,562 +0,0 @@ -A_Rog <adam.thomas.rogerson@gmail.com> -Aakanksha Agrawal <11389424+rasponic@users.noreply.github.com> -Abhinav Sagar <40603139+abhinavsagar@users.noreply.github.com> -ABHYUDAY PRATAP SINGH <abhyudaypratap@outlook.com> -abs51295 <aagams68@gmail.com> -AceGentile <ventogrigio83@gmail.com> -Adam Chainz <adam@adamj.eu> -Adam Tse <adam.tse@me.com> -Adam Tse <atse@users.noreply.github.com> -Adam Wentz <awentz@theonion.com> -admin <admin@admins-MacBook-Pro.local> -Adrien Morison <adrien.morison@gmail.com> -ahayrapetyan <ahayrapetya2@bloomberg.net> -Ahilya <ahilya16009@iiitd.ac.in> -AinsworthK <yat626@yahoo.com.hk> -Akash Srivastava <akashsrivastava4927@gmail.com> -Alan Yee <alyee@ucsd.edu> -Albert Tugushev <albert@tugushev.ru> -Albert-Guan <albert.guan94@gmail.com> -albertg <albert.guan94@gmail.com> -Aleks Bunin <github@compuix.com> -Alethea Flowers <magicalgirl@google.com> -Alex Gaynor <alex.gaynor@gmail.com> -Alex Grönholm <alex.gronholm@nextday.fi> -Alex Loosley <a.loosley@reply.de> -Alex Morega <alex@grep.ro> -Alex Stachowiak <alexander@computer.org> -Alexander Shtyrov <rawzausho@gmail.com> -Alexandre Conrad <alexandre.conrad@gmail.com> -Alexey Popravka <a.popravka@smartweb.com.ua> -Alexey Popravka <alexey.popravka@horsedevel.com> -Alli <alzeih@users.noreply.github.com> -Ami Fischman <ami@fischman.org> -Ananya Maiti <ananyoevo@gmail.com> -Anatoly Techtonik <techtonik@gmail.com> -Anders Kaseorg <andersk@mit.edu> -Andreas Lutro <anlutro@gmail.com> -Andrei Geacar <andrei.geacar@gmail.com> -Andrew Gaul <andrew@gaul.org> -Andrey Bulgakov <mail@andreiko.ru> -Andrés Delfino <34587441+andresdelfino@users.noreply.github.com> -Andrés Delfino <adelfino@gmail.com> -Andy Freeland <andy.freeland@redjack.com> -Andy Freeland <andy@andyfreeland.net> -Andy Kluger <AndydeCleyre@users.noreply.github.com> -Ani Hayrapetyan <ahayrapetya2@bloomberg.net> -Aniruddha Basak <codewithaniruddha@gmail.com> -Anish Tambe <anish.tambe@yahoo.in> -Anrs Hu <anrs@douban.com> -Anthony Sottile <asottile@umich.edu> -Antoine Musso <hashar@free.fr> -Anton Ovchinnikov <revolver112@gmail.com> -Anton Patrushev <apatrushev@gmail.com> -Antonio Alvarado Hernandez <tnotstar@gmail.com> -Antony Lee <anntzer.lee@gmail.com> -Antti Kaihola <akaihol+github@ambitone.com> -Anubhav Patel <anubhavp28@gmail.com> -Anuj Godase <godaseanuj@gmail.com> -AQNOUCH Mohammed <aqnouch.mohammed@gmail.com> -AraHaan <seandhunt_7@yahoo.com> -Arindam Choudhury <arindam@live.com> -Armin Ronacher <armin.ronacher@active-4.com> -Artem <duketemon@users.noreply.github.com> -Ashley Manton <ajd.manton@googlemail.com> -Ashwin Ramaswami <aramaswamis@gmail.com> -atse <atse@users.noreply.github.com> -Atsushi Odagiri <aodagx@gmail.com> -Avner Cohen <israbirding@gmail.com> -Baptiste Mispelon <bmispelon@gmail.com> -Barney Gale <barney.gale@gmail.com> -barneygale <barney.gale@gmail.com> -Bartek Ogryczak <b.ogryczak@gmail.com> -Bastian Venthur <mail@venthur.de> -Ben Darnell <ben@bendarnell.com> -Ben Hoyt <benhoyt@gmail.com> -Ben Rosser <rosser.bjr@gmail.com> -Bence Nagy <bence@underyx.me> -Benjamin Peterson <benjamin@python.org> -Benjamin VanEvery <ben@simondata.com> -Benoit Pierre <benoit.pierre@gmail.com> -Berker Peksag <berker.peksag@gmail.com> -Bernardo B. Marques <bernardo.fire@gmail.com> -Bernhard M. Wiedemann <bwiedemann@suse.de> -Bertil Hatt <bertil.hatt@farfetch.com> -Bogdan Opanchuk <bogdan@opanchuk.net> -BorisZZZ <BorisZZZ@users.noreply.github.com> -Brad Erickson <eosrei@gmail.com> -Bradley Ayers <bradley.ayers@gmail.com> -Brandon L. Reiss <brandon@damyata.co> -Brandt Bucher <brandtbucher@gmail.com> -Brett Randall <javabrett@gmail.com> -Brian Cristante <33549821+brcrista@users.noreply.github.com> -Brian Cristante <brcrista@microsoft.com> -Brian Rosner <brosner@gmail.com> -BrownTruck <BrownTruck@users.noreply.github.com> -Bruno Oliveira <nicoddemus@gmail.com> -Bruno Renié <brutasse@gmail.com> -Bstrdsmkr <bstrdsmkr@gmail.com> -Buck Golemon <buck@yelp.com> -burrows <burrows@preveil.com> -Bussonnier Matthias <bussonniermatthias@gmail.com> -c22 <c22@users.noreply.github.com> -Caleb Martinez <accounts@calebmartinez.com> -Calvin Smith <eukaryote@users.noreply.github.com> -Carl Meyer <carl@oddbird.net> -Carlos Liam <carlos@aarzee.me> -Carol Willing <carolcode@willingconsulting.com> -Carter Thayer <carterwthayer@gmail.com> -Cass <cass.petrus@gmail.com> -Chandrasekhar Atina <chandu.atina@gmail.com> -Chih-Hsuan Yen <yan12125@gmail.com> -Chih-Hsuan Yen <yen@chyen.cc> -Chris Brinker <chris.brinker@gmail.com> -Chris Hunt <chrahunt@gmail.com> -Chris Jerdonek <chris.jerdonek@gmail.com> -Chris McDonough <chrism@plope.com> -Chris Wolfe <chriswwolfe@gmail.com> -Christian Heimes <christian@python.org> -Christian Oudard <christian.oudard@gmail.com> -Christopher Hunt <chrahunt@gmail.com> -Christopher Snyder <cnsnyder@users.noreply.github.com> -Clark Boylan <clark.boylan@gmail.com> -Clay McClure <clay@daemons.net> -Cody <Purring@users.noreply.github.com> -Cody Soyland <codysoyland@gmail.com> -Colin Watson <cjwatson@debian.org> -Connor Osborn <cdosborn@email.arizona.edu> -Cooper Lees <me@cooperlees.com> -Cooper Ry Lees <me@cooperlees.com> -Cory Benfield <lukasaoz@gmail.com> -Cory Wright <corywright@gmail.com> -Craig Kerstiens <craig.kerstiens@gmail.com> -Cristian Sorinel <cristian.sorinel@gmail.com> -Curtis Doty <Curtis@GreenKey.net> -cytolentino <ctolentino8@bloomberg.net> -Damian Quiroga <qdamian@gmail.com> -Dan Black <dyspop@gmail.com> -Dan Savilonis <djs@n-cube.org> -Dan Sully <daniel-github@electricrain.com> -daniel <mcdonaldd@unimelb.edu.au> -Daniel Collins <accounts@dac.io> -Daniel Hahler <git@thequod.de> -Daniel Holth <dholth@fastmail.fm> -Daniel Jost <torpedojost@gmail.com> -Daniel Shaulov <daniel.shaulov@gmail.com> -Daniele Esposti <expobrain@users.noreply.github.com> -Daniele Procida <daniele@vurt.org> -Danny Hermes <daniel.j.hermes@gmail.com> -Dav Clark <davclark@gmail.com> -Dave Abrahams <dave@boostpro.com> -Dave Jones <dave@waveform.org.uk> -David Aguilar <davvid@gmail.com> -David Black <db@d1b.org> -David Bordeynik <david.bordeynik@gmail.com> -David Bordeynik <david@zebra-med.com> -David Caro <david@dcaro.es> -David Evans <d@drhevans.com> -David Linke <dr.david.linke@gmail.com> -David Pursehouse <david.pursehouse@gmail.com> -David Tucker <david@tucker.name> -David Wales <daviewales@gmail.com> -Davidovich <david.genest@gmail.com> -derwolfe <chriswwolfe@gmail.com> -Desetude <harry@desetude.com> -Diego Caraballo <diegocaraballo84@gmail.com> -DiegoCaraballo <diegocaraballo84@gmail.com> -Dmitry Gladkov <dmitry.gladkov@gmail.com> -Domen Kožar <domen@dev.si> -Donald Stufft <donald@stufft.io> -Dongweiming <dongweiming@admaster.com.cn> -Douglas Thor <dougthor42@users.noreply.github.com> -DrFeathers <WilliamGeorgeBurgess@gmail.com> -Dustin Ingram <di@di.codes> -Dwayne Bailey <dwayne@translate.org.za> -Ed Morley <501702+edmorley@users.noreply.github.com> -Ed Morley <emorley@mozilla.com> -Eitan Adler <lists@eitanadler.com> -ekristina <panacejja@gmail.com> -elainechan <elaine.chan@outlook.com> -Eli Schwartz <eschwartz93@gmail.com> -Eli Schwartz <eschwartz@archlinux.org> -Emil Burzo <contact@emilburzo.com> -Emil Styrke <emil.styrke@gmail.com> -Endoh Takanao <djmchl@gmail.com> -enoch <lanxenet@gmail.com> -Erdinc Mutlu <erdinc_mutlu@yahoo.com> -Eric Gillingham <Gillingham@bikezen.net> -Eric Hanchrow <eric.hanchrow@gmail.com> -Eric Hopper <hopper@omnifarious.org> -Erik M. Bray <embray@stsci.edu> -Erik Rose <erik@mozilla.com> -Ernest W Durbin III <ewdurbin@gmail.com> -Ernest W. Durbin III <ewdurbin@gmail.com> -Erwin Janssen <erwinjanssen@outlook.com> -Eugene Vereshchagin <evvers@gmail.com> -everdimension <everdimension@gmail.com> -Felix Yan <felixonmars@archlinux.org> -fiber-space <fiber-space@users.noreply.github.com> -Filip Kokosiński <filip.kokosinski@gmail.com> -Florian Briand <ownerfrance+github@hotmail.com> -Florian Rathgeber <florian.rathgeber@gmail.com> -Francesco <f.guerrieri@gmail.com> -Francesco Montesano <franz.bergesund@gmail.com> -Frost Ming <mianghong@gmail.com> -Gabriel Curio <g.curio@gmail.com> -Gabriel de Perthuis <g2p.code@gmail.com> -Garry Polley <garrympolley@gmail.com> -gdanielson <graeme.danielson@gmail.com> -Geoffrey Lehée <geoffrey@lehee.name> -Geoffrey Sneddon <me@gsnedders.com> -George Song <george@55minutes.com> -Georgi Valkov <georgi.t.valkov@gmail.com> -Giftlin Rajaiah <giftlin.rgn@gmail.com> -gizmoguy1 <gizmoguy1@gmail.com> -gkdoc <40815324+gkdoc@users.noreply.github.com> -Gopinath M <31352222+mgopi1990@users.noreply.github.com> -GOTO Hayato <3532528+gh640@users.noreply.github.com> -gpiks <gaurav.pikale@gmail.com> -Guilherme Espada <porcariadagata@gmail.com> -Guy Rozendorn <guy@rzn.co.il> -gzpan123 <gzpan123@gmail.com> -Hanjun Kim <hallazzang@gmail.com> -Hari Charan <hcharan997@gmail.com> -Harsh Vardhan <harsh59v@gmail.com> -Herbert Pfennig <herbert@albinen.com> -Hsiaoming Yang <lepture@me.com> -Hugo <hugovk@users.noreply.github.com> -Hugo Lopes Tavares <hltbra@gmail.com> -Hugo van Kemenade <hugovk@users.noreply.github.com> -hugovk <hugovk@users.noreply.github.com> -Hynek Schlawack <hs@ox.cx> -Ian Bicking <ianb@colorstudy.com> -Ian Cordasco <graffatcolmingov@gmail.com> -Ian Lee <IanLee1521@gmail.com> -Ian Stapleton Cordasco <graffatcolmingov@gmail.com> -Ian Wienand <ian@wienand.org> -Ian Wienand <iwienand@redhat.com> -Igor Kuzmitshov <kuzmiigo@gmail.com> -Igor Sobreira <igor@igorsobreira.com> -Ilya Baryshev <baryshev@gmail.com> -INADA Naoki <songofacandy@gmail.com> -Ionel Cristian Mărieș <contact@ionelmc.ro> -Ionel Maries Cristian <ionel.mc@gmail.com> -Ivan Pozdeev <vano@mail.mipt.ru> -Jacob Kim <me@thejacobkim.com> -jakirkham <jakirkham@gmail.com> -Jakub Stasiak <kuba.stasiak@gmail.com> -Jakub Vysoky <jakub@borka.cz> -Jakub Wilk <jwilk@jwilk.net> -James Cleveland <jamescleveland@gmail.com> -James Cleveland <radiosilence@users.noreply.github.com> -James Firth <hello@james-firth.com> -James Polley <jp@jamezpolley.com> -Jan Pokorný <jpokorny@redhat.com> -Jannis Leidel <jannis@leidel.info> -jarondl <me@jarondl.net> -Jason R. Coombs <jaraco@jaraco.com> -Jay Graves <jay@skabber.com> -Jean-Christophe Fillion-Robin <jchris.fillionr@kitware.com> -Jeff Barber <jbarber@computer.org> -Jeff Dairiki <dairiki@dairiki.org> -Jelmer Vernooij <jelmer@jelmer.uk> -jenix21 <devfrog@gmail.com> -Jeremy Stanley <fungi@yuggoth.org> -Jeremy Zafran <jzafran@users.noreply.github.com> -Jiashuo Li <jiasli@microsoft.com> -Jim Garrison <jim@garrison.cc> -Jivan Amara <Development@JivanAmara.net> -John Paton <j.paton@catawiki.nl> -John-Scott Atlakson <john.scott.atlakson@gmail.com> -johnthagen <johnthagen@gmail.com> -johnthagen <johnthagen@users.noreply.github.com> -Jon Banafato <jon@jonafato.com> -Jon Dufresne <jon.dufresne@gmail.com> -Jon Parise <jon@indelible.org> -Jonas Nockert <jonasnockert@gmail.com> -Jonathan Herbert <foohyfooh@gmail.com> -Joost Molenaar <j.j.molenaar@gmail.com> -Jorge Niedbalski <niedbalski@gmail.com> -Joseph Long <jdl@fastmail.fm> -Josh Bronson <jabronson@gmail.com> -Josh Hansen <josh@skwash.net> -Josh Schneier <josh.schneier@gmail.com> -Juanjo Bazán <jjbazan@gmail.com> -Julian Berman <Julian@GrayVines.com> -Julian Gethmann <julian.gethmann@kit.edu> -Julien Demoor <julien@jdemoor.com> -jwg4 <jack.grahl@yahoo.co.uk> -Jyrki Pulliainen <jyrki@spotify.com> -Kai Chen <kaichen120@gmail.com> -Kamal Bin Mustafa <kamal@smach.net> -kaustav haldar <hi@kaustav.me> -keanemind <keanemind@gmail.com> -Keith Maxwell <keith.maxwell@gmail.com> -Kelsey Hightower <kelsey.hightower@gmail.com> -Kenneth Belitzky <kenny@belitzky.com> -Kenneth Reitz <me@kennethreitz.com> -Kenneth Reitz <me@kennethreitz.org> -Kevin Burke <kev@inburke.com> -Kevin Carter <kevin.carter@rackspace.com> -Kevin Frommelt <kevin.frommelt@webfilings.com> -Kevin R Patterson <kevin.r.patterson@intel.com> -Kexuan Sun <me@kianasun.com> -Kit Randel <kit@nocturne.net.nz> -kpinc <kop@meme.com> -Krishna Oza <krishoza15sep@gmail.com> -Kumar McMillan <kumar.mcmillan@gmail.com> -Kyle Persohn <kyle.persohn@gmail.com> -lakshmanaram <lakshmanaram.n@gmail.com> -Laszlo Kiss-Kollar <kiss.kollar.laszlo@gmail.com> -Laurent Bristiel <laurent@bristiel.com> -Laurie Opperman <laurie@sitesee.com.au> -Leon Sasson <leonsassonha@gmail.com> -Lev Givon <lev@columbia.edu> -Lincoln de Sousa <lincoln@comum.org> -Lipis <lipiridis@gmail.com> -Loren Carvalho <lcarvalho@linkedin.com> -Lucas Cimon <lucas.cimon@gmail.com> -Ludovic Gasc <gmludo@gmail.com> -Luke Macken <lmacken@redhat.com> -Luo Jiebin <luo.jiebin@qq.com> -luojiebin <luojiebin@users.noreply.github.com> -luz.paz <luzpaz@users.noreply.github.com> -László Kiss Kollár <lkisskollar@bloomberg.net> -László Kiss Kollár <lkollar@users.noreply.github.com> -Marc Abramowitz <marc@marc-abramowitz.com> -Marc Tamlyn <marc.tamlyn@gmail.com> -Marcus Smith <qwcode@gmail.com> -Mariatta <Mariatta@users.noreply.github.com> -Mark Kohler <mark.kohler@proteinsimple.com> -Mark Williams <markrwilliams@gmail.com> -Mark Williams <mrw@enotuniq.org> -Markus Hametner <fin+github@xbhd.org> -Masaki <mk5986@nyu.edu> -Masklinn <bitbucket.org@masklinn.net> -Matej Stuchlik <mstuchli@redhat.com> -Mathew Jennings <mjennings@foursquare.com> -Mathieu Bridon <bochecha@daitauha.fr> -Matt Good <matt@matt-good.net> -Matt Maker <trip@monstro.us> -Matt Robenolt <matt@ydekproductions.com> -matthew <matthew@trumbell.net> -Matthew Einhorn <moiein2000@gmail.com> -Matthew Gilliard <matthew.gilliard@gmail.com> -Matthew Iversen <teh.ivo@gmail.com> -Matthew Trumbell <matthew@thirdstonepartners.com> -Matthew Willson <matthew@swiftkey.com> -Matthias Bussonnier <bussonniermatthias@gmail.com> -mattip <matti.picus@gmail.com> -Maxim Kurnikov <maxim.kurnikov@gmail.com> -Maxime Rouyrre <rouyrre+git@gmail.com> -mayeut <mayeut@users.noreply.github.com> -mbaluna <44498973+mbaluna@users.noreply.github.com> -mdebi <17590103+mdebi@users.noreply.github.com> -memoselyk <memoselyk@gmail.com> -Michael <michael-k@users.noreply.github.com> -Michael Aquilina <michaelaquilina@gmail.com> -Michael E. Karpeles <michael.karpeles@gmail.com> -Michael Klich <michal@michalklich.com> -Michael Williamson <mike@zwobble.org> -michaelpacer <michaelpacer@gmail.com> -Mickaël Schoentgen <mschoentgen@nuxeo.com> -Miguel Araujo Perez <miguel.araujo.perez@gmail.com> -Mihir Singh <git.service@mihirsingh.com> -Mike <mikeh@blur.com> -Mike Hendricks <mikeh@blur.com> -Min RK <benjaminrk@gmail.com> -MinRK <benjaminrk@gmail.com> -Miro Hrončok <miro@hroncok.cz> -Monica Baluna <mbaluna@bloomberg.net> -montefra <franz.bergesund@gmail.com> -Monty Taylor <mordred@inaugust.com> -Nate Coraor <nate@bx.psu.edu> -Nathaniel J. Smith <njs@pobox.com> -Nehal J Wani <nehaljw.kkd1@gmail.com> -Neil Botelho <neil.botelho321@gmail.com> -Nick Coghlan <ncoghlan@gmail.com> -Nick Stenning <nick@whiteink.com> -Nick Timkovich <prometheus235@gmail.com> -Nicolas Bock <nicolasbock@gmail.com> -Nikhil Benesch <nikhil.benesch@gmail.com> -Nitesh Sharma <nbsharma@outlook.com> -Nowell Strite <nowell@strite.org> -NtaleGrey <Shadikntale@gmail.com> -nvdv <modestdev@gmail.com> -Ofekmeister <ofekmeister@gmail.com> -ofrinevo <ofrine@gmail.com> -Oliver Jeeves <oliver.jeeves@ocado.com> -Oliver Tonnhofer <olt@bogosoft.com> -Olivier Girardot <ssaboum@gmail.com> -Olivier Grisel <olivier.grisel@ensta.org> -Ollie Rutherfurd <orutherfurd@gmail.com> -OMOTO Kenji <k-omoto@m3.com> -Omry Yadan <omry@fb.com> -Oren Held <orenhe@il.ibm.com> -Oscar Benjamin <oscar.j.benjamin@gmail.com> -Oz N Tiram <oz.tiram@gmail.com> -Pachwenko <32424503+Pachwenko@users.noreply.github.com> -Patrick Dubroy <pdubroy@gmail.com> -Patrick Jenkins <patrick@socialgrowthtechnologies.com> -Patrick Lawson <pl@foursquare.com> -patricktokeeffe <patricktokeeffe@users.noreply.github.com> -Patrik Kopkan <pkopkan@redhat.com> -Paul Kehrer <paul.l.kehrer@gmail.com> -Paul Moore <p.f.moore@gmail.com> -Paul Nasrat <pnasrat@gmail.com> -Paul Oswald <pauloswald@gmail.com> -Paul van der Linden <mail@paultjuh.org> -Paulus Schoutsen <paulus@paulusschoutsen.nl> -Pavithra Eswaramoorthy <33131404+QueenCoffee@users.noreply.github.com> -Pawel Jasinski <pawel.jasinski@gmail.com> -Pekka Klärck <peke@iki.fi> -Peter Lisák <peter.lisak@showmax.com> -Peter Waller <peter.waller@gmail.com> -petr-tik <petr-tik@users.noreply.github.com> -Phaneendra Chiruvella <hi@pcx.io> -Phil Freo <phil@philfreo.com> -Phil Pennock <phil@pennock-tech.com> -Phil Whelan <phil123@gmail.com> -Philip Jägenstedt <philip@foolip.org> -Philip Molloy <pamolloy@users.noreply.github.com> -Philippe Ombredanne <pombredanne@gmail.com> -Pi Delport <pjdelport@gmail.com> -Pierre-Yves Rofes <github@rofes.fr> -pip <pypa-dev@googlegroups.com> -Prabakaran Kumaresshan <k_prabakaran+github@hotmail.com> -Prabhjyotsing Surjit Singh Sodhi <psinghsodhi@bloomberg.net> -Prabhu Marappan <prabhum.794@gmail.com> -Pradyun Gedam <pradyunsg@gmail.com> -Pratik Mallya <mallya@us.ibm.com> -Preet Thakkar <preet.thakkar@students.iiit.ac.in> -Preston Holmes <preston@ptone.com> -Przemek Wrzos <hetmankp@none> -Pulkit Goyal <7895pulkit@gmail.com> -Qiangning Hong <hongqn@gmail.com> -Quentin Pradet <quentin.pradet@gmail.com> -R. David Murray <rdmurray@bitdance.com> -Rafael Caricio <rafael.jacinto@gmail.com> -Ralf Schmitt <ralf@systemexit.de> -Razzi Abuissa <razzi53@gmail.com> -rdb <rdb@users.noreply.github.com> -Remi Rampin <r@remirampin.com> -Remi Rampin <remirampin@gmail.com> -Rene Dudfield <renesd@gmail.com> -Riccardo Magliocchetti <riccardo.magliocchetti@gmail.com> -Richard Jones <r1chardj0n3s@gmail.com> -RobberPhex <robberphex@gmail.com> -Robert Collins <rbtcollins@hp.com> -Robert McGibbon <rmcgibbo@gmail.com> -Robert T. McGibbon <rmcgibbo@gmail.com> -robin elisha robinson <elisha.rob@gmail.com> -Roey Berman <roey.berman@gmail.com> -Rohan Jain <crodjer@gmail.com> -Rohan Jain <crodjer@users.noreply.github.com> -Rohan Jain <mail@rohanjain.in> -Roman Bogorodskiy <roman.bogorodskiy@ericsson.com> -Romuald Brunet <romuald@chivil.com> -Ronny Pfannschmidt <Ronny.Pfannschmidt@gmx.de> -Rory McCann <rory@technomancy.org> -Ross Brattain <ross.b.brattain@intel.com> -Roy Wellington Ⅳ <cactus_hugged@yahoo.com> -Roy Wellington Ⅳ <roy@mybasis.com> -Ryan Wooden <rygwdn@gmail.com> -ryneeverett <ryneeverett@gmail.com> -Sachi King <nakato@nakato.io> -Salvatore Rinchiera <salvatore@rinchiera.com> -Savio Jomton <sajo240519@gmail.com> -schlamar <marc.schlaich@gmail.com> -Scott Kitterman <sklist@kitterman.com> -Sean <me@sean.taipei> -seanj <seanj@xyke.com> -Sebastian Jordan <sebastian.jordan.mail@googlemail.com> -Sebastian Schaetz <sschaetz@butterflynetinc.com> -Segev Finer <segev208@gmail.com> -SeongSoo Cho <ppiyakk2@printf.kr> -Sergey Vasilyev <nolar@nolar.info> -Seth Woodworth <seth@sethish.com> -Shlomi Fish <shlomif@shlomifish.org> -Shovan Maity <shovan.maity@mayadata.io> -Simeon Visser <svisser@users.noreply.github.com> -Simon Cross <hodgestar@gmail.com> -Simon Pichugin <simon.pichugin@gmail.com> -sinoroc <sinoroc.code+git@gmail.com> -Sorin Sbarnea <sorin.sbarnea@gmail.com> -Stavros Korokithakis <stavros@korokithakis.net> -Stefan Scherfke <stefan@sofa-rockers.org> -Stephan Erb <github@stephanerb.eu> -stepshal <nessento@openmailbox.org> -Steve (Gadget) Barnes <gadgetsteve@hotmail.com> -Steve Barnes <gadgetsteve@hotmail.com> -Steve Dower <steve.dower@microsoft.com> -Steve Kowalik <steven@wedontsleep.org> -Steven Myint <git@stevenmyint.com> -stonebig <stonebig34@gmail.com> -Stéphane Bidoul (ACSONE) <stephane.bidoul@acsone.eu> -Stéphane Bidoul <stephane.bidoul@acsone.eu> -Stéphane Klein <contact@stephane-klein.info> -Sumana Harihareswara <sh@changeset.nyc> -Sviatoslav Sydorenko <wk.cvs.github@sydorenko.org.ua> -Sviatoslav Sydorenko <wk@sydorenko.org.ua> -Swat009 <swatantra.kumar8@gmail.com> -Takayuki SHIMIZUKAWA <shimizukawa@gmail.com> -tbeswick <tbeswick@enphaseenergy.com> -Thijs Triemstra <info@collab.nl> -Thomas Fenzl <thomas.fenzl@gmail.com> -Thomas Grainger <tagrain@gmail.com> -Thomas Guettler <tguettler@tbz-pariv.de> -Thomas Johansson <devnull@localhost> -Thomas Kluyver <thomas@kluyver.me.uk> -Thomas Smith <smithtg@ncbi.nlm.nih.gov> -Tim D. Smith <github@tim-smith.us> -Tim Gates <tim.gates@iress.com> -Tim Harder <radhermit@gmail.com> -Tim Heap <tim@timheap.me> -tim smith <github@tim-smith.us> -tinruufu <tinruufu@gmail.com> -Tom Forbes <tom@tomforb.es> -Tom Freudenheim <tom.freudenheim@onepeloton.com> -Tom V <tom@viner.tv> -Tomas Orsava <torsava@redhat.com> -Tomer Chachamu <tomer.chachamu@gmail.com> -Tony Beswick <tonybeswick@orcon.net.nz> -Tony Zhaocheng Tan <tony@tonytan.io> -TonyBeswick <TonyBeswick@users.noreply.github.com> -toonarmycaptain <toonarmycaptain@hotmail.com> -Toshio Kuratomi <toshio@fedoraproject.org> -Travis Swicegood <development@domain51.com> -Tzu-ping Chung <uranusjr@gmail.com> -Valentin Haenel <valentin.haenel@gmx.de> -Victor Stinner <victor.stinner@gmail.com> -victorvpaulo <victorvpaulo@gmail.com> -Viktor Szépe <viktor@szepe.net> -Ville Skyttä <ville.skytta@iki.fi> -Vinay Sajip <vinay_sajip@yahoo.co.uk> -Vincent Philippon <sindaewoh@gmail.com> -Vinicyus Macedo <7549205+vinicyusmacedo@users.noreply.github.com> -Vitaly Babiy <vbabiy86@gmail.com> -Vladimir Rutsky <rutsky@users.noreply.github.com> -W. Trevor King <wking@drexel.edu> -Wil Tan <wil@dready.org> -Wilfred Hughes <me@wilfred.me.uk> -William ML Leslie <william.leslie.ttg@gmail.com> -William T Olson <trevor@heytrevor.com> -Wilson Mo <wilsonfv@126.com> -wim glenn <wim.glenn@gmail.com> -Wolfgang Maier <wolfgang.maier@biologie.uni-freiburg.de> -Xavier Fernandez <xav.fernandez@gmail.com> -Xavier Fernandez <xavier.fernandez@polyconseil.fr> -xoviat <xoviat@users.noreply.github.com> -xtreak <tir.karthi@gmail.com> -YAMAMOTO Takashi <yamamoto@midokura.com> -Yen Chi Hsuan <yan12125@gmail.com> -Yeray Diaz Diaz <yeraydiazdiaz@gmail.com> -Yoval P <yoval@gmx.com> -Yu Jian <askingyj@gmail.com> -Yuan Jing Vincent Yan <yyan82@bloomberg.net> -Zearin <zearin@gonk.net> -Zearin <Zearin@users.noreply.github.com> -Zhiping Deng <kofreestyler@gmail.com> -Zvezdan Petkovic <zpetkovic@acm.org> -Łukasz Langa <lukasz@langa.pl> -Семён Марьясин <simeon@maryasin.name> diff --git a/.venv/lib/python3.8/site-packages/setuptools-44.0.0.dist-info/INSTALLER b/.venv/lib/python3.8/site-packages/setuptools-44.0.0.dist-info/INSTALLER deleted file mode 100644 index a1b589e..0000000 --- a/.venv/lib/python3.8/site-packages/setuptools-44.0.0.dist-info/INSTALLER +++ /dev/null @@ -1 +0,0 @@ -pip diff --git a/.venv/lib/python3.8/site-packages/setuptools-44.0.0.dist-info/LICENSE.txt b/.venv/lib/python3.8/site-packages/setuptools-44.0.0.dist-info/LICENSE.txt deleted file mode 100644 index 737fec5..0000000 --- a/.venv/lib/python3.8/site-packages/setuptools-44.0.0.dist-info/LICENSE.txt +++ /dev/null @@ -1,20 +0,0 @@ -Copyright (c) 2008-2019 The pip developers (see AUTHORS.txt file) - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/.venv/lib/python3.8/site-packages/setuptools-44.0.0.dist-info/METADATA b/.venv/lib/python3.8/site-packages/setuptools-44.0.0.dist-info/METADATA deleted file mode 100644 index 4adf953..0000000 --- a/.venv/lib/python3.8/site-packages/setuptools-44.0.0.dist-info/METADATA +++ /dev/null @@ -1,82 +0,0 @@ -Metadata-Version: 2.1 -Name: setuptools -Version: 44.0.0 -Summary: Easily download, build, install, upgrade, and uninstall Python packages -Home-page: https://github.com/pypa/setuptools -Author: Python Packaging Authority -Author-email: distutils-sig@python.org -License: UNKNOWN -Project-URL: Documentation, https://setuptools.readthedocs.io/ -Keywords: CPAN PyPI distutils eggs package management -Platform: UNKNOWN -Classifier: Development Status :: 5 - Production/Stable -Classifier: Intended Audience :: Developers -Classifier: License :: OSI Approved :: MIT License -Classifier: Operating System :: OS Independent -Classifier: Programming Language :: Python :: 2 -Classifier: Programming Language :: Python :: 2.7 -Classifier: Programming Language :: Python :: 3 -Classifier: Programming Language :: Python :: 3.5 -Classifier: Programming Language :: Python :: 3.6 -Classifier: Programming Language :: Python :: 3.7 -Classifier: Programming Language :: Python :: 3.8 -Classifier: Topic :: Software Development :: Libraries :: Python Modules -Classifier: Topic :: System :: Archiving :: Packaging -Classifier: Topic :: System :: Systems Administration -Classifier: Topic :: Utilities -Requires-Python: !=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,>=2.7 -Description-Content-Type: text/x-rst; charset=UTF-8 - -.. image:: https://img.shields.io/pypi/v/setuptools.svg - :target: https://pypi.org/project/setuptools - -.. image:: https://img.shields.io/readthedocs/setuptools/latest.svg - :target: https://setuptools.readthedocs.io - -.. image:: https://img.shields.io/travis/pypa/setuptools/master.svg?label=Linux%20CI&logo=travis&logoColor=white - :target: https://travis-ci.org/pypa/setuptools - -.. image:: https://img.shields.io/appveyor/ci/pypa/setuptools/master.svg?label=Windows%20CI&logo=appveyor&logoColor=white - :target: https://ci.appveyor.com/project/pypa/setuptools/branch/master - -.. image:: https://img.shields.io/codecov/c/github/pypa/setuptools/master.svg?logo=codecov&logoColor=white - :target: https://codecov.io/gh/pypa/setuptools - -.. image:: https://tidelift.com/badges/github/pypa/setuptools?style=flat - :target: https://tidelift.com/subscription/pkg/pypi-setuptools?utm_source=pypi-setuptools&utm_medium=readme - -.. image:: https://img.shields.io/pypi/pyversions/setuptools.svg - -See the `Installation Instructions -<https://packaging.python.org/installing/>`_ in the Python Packaging -User's Guide for instructions on installing, upgrading, and uninstalling -Setuptools. - -Questions and comments should be directed to the `distutils-sig -mailing list <http://mail.python.org/pipermail/distutils-sig/>`_. -Bug reports and especially tested patches may be -submitted directly to the `bug tracker -<https://github.com/pypa/setuptools/issues>`_. - -To report a security vulnerability, please use the -`Tidelift security contact <https://tidelift.com/security>`_. -Tidelift will coordinate the fix and disclosure. - - -For Enterprise -============== - -Available as part of the Tidelift Subscription. - -Setuptools and the maintainers of thousands of other packages are working with Tidelift to deliver one enterprise subscription that covers all of the open source you use. - -`Learn more <https://tidelift.com/subscription/pkg/pypi-setuptools?utm_source=pypi-setuptools&utm_medium=referral&utm_campaign=github>`_. - -Code of Conduct -=============== - -Everyone interacting in the setuptools project's codebases, issue trackers, -chat rooms, and mailing lists is expected to follow the -`PyPA Code of Conduct <https://www.pypa.io/en/latest/code-of-conduct/>`_. - - diff --git a/.venv/lib/python3.8/site-packages/setuptools-44.0.0.dist-info/RECORD b/.venv/lib/python3.8/site-packages/setuptools-44.0.0.dist-info/RECORD deleted file mode 100644 index aae75b0..0000000 --- a/.venv/lib/python3.8/site-packages/setuptools-44.0.0.dist-info/RECORD +++ /dev/null @@ -1,163 +0,0 @@ -../../../bin/easy_install,sha256=WZBRdR9b7bIn4-o710ogca0t9zYIuCV4uDBExWV4h0s,281 -../../../bin/easy_install-3.8,sha256=WZBRdR9b7bIn4-o710ogca0t9zYIuCV4uDBExWV4h0s,281 -__pycache__/easy_install.cpython-38.pyc,, -easy_install.py,sha256=MDC9vt5AxDsXX5qcKlBz2TnW6Tpuv_AobnfhCJ9X3PM,126 -setuptools-44.0.0.dist-info/AUTHORS.txt,sha256=RtqU9KfonVGhI48DAA4-yTOBUhBtQTjFhaDzHoyh7uU,21518 -setuptools-44.0.0.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 -setuptools-44.0.0.dist-info/LICENSE.txt,sha256=W6Ifuwlk-TatfRU2LR7W1JMcyMj5_y1NkRkOEJvnRDE,1090 -setuptools-44.0.0.dist-info/METADATA,sha256=L93fcafgVw4xoJUNG0lehyy0prVj-jU_JFxRh0ZUtos,3523 -setuptools-44.0.0.dist-info/RECORD,, -setuptools-44.0.0.dist-info/WHEEL,sha256=kGT74LWyRUZrL4VgLh6_g12IeVl_9u9ZVhadrgXZUEY,110 -setuptools-44.0.0.dist-info/dependency_links.txt,sha256=HlkCFkoK5TbZ5EMLbLKYhLcY_E31kBWD8TqW2EgmatQ,239 -setuptools-44.0.0.dist-info/entry_points.txt,sha256=ZmIqlp-SBdsBS2cuetmU2NdSOs4DG0kxctUR9UJ8Xk0,3150 -setuptools-44.0.0.dist-info/top_level.txt,sha256=2HUXVVwA4Pff1xgTFr3GsTXXKaPaO6vlG6oNJ_4u4Tg,38 -setuptools-44.0.0.dist-info/zip-safe,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1 -setuptools/__init__.py,sha256=WBpCcn2lvdckotabeae1TTYonPOcgCIF3raD2zRWzBc,7283 -setuptools/__pycache__/__init__.cpython-38.pyc,, -setuptools/__pycache__/_deprecation_warning.cpython-38.pyc,, -setuptools/__pycache__/_imp.cpython-38.pyc,, -setuptools/__pycache__/archive_util.cpython-38.pyc,, -setuptools/__pycache__/build_meta.cpython-38.pyc,, -setuptools/__pycache__/config.cpython-38.pyc,, -setuptools/__pycache__/dep_util.cpython-38.pyc,, -setuptools/__pycache__/depends.cpython-38.pyc,, -setuptools/__pycache__/dist.cpython-38.pyc,, -setuptools/__pycache__/errors.cpython-38.pyc,, -setuptools/__pycache__/extension.cpython-38.pyc,, -setuptools/__pycache__/glob.cpython-38.pyc,, -setuptools/__pycache__/installer.cpython-38.pyc,, -setuptools/__pycache__/launch.cpython-38.pyc,, -setuptools/__pycache__/lib2to3_ex.cpython-38.pyc,, -setuptools/__pycache__/monkey.cpython-38.pyc,, -setuptools/__pycache__/msvc.cpython-38.pyc,, -setuptools/__pycache__/namespaces.cpython-38.pyc,, -setuptools/__pycache__/package_index.cpython-38.pyc,, -setuptools/__pycache__/py27compat.cpython-38.pyc,, -setuptools/__pycache__/py31compat.cpython-38.pyc,, -setuptools/__pycache__/py33compat.cpython-38.pyc,, -setuptools/__pycache__/py34compat.cpython-38.pyc,, -setuptools/__pycache__/sandbox.cpython-38.pyc,, -setuptools/__pycache__/site-patch.cpython-38.pyc,, -setuptools/__pycache__/ssl_support.cpython-38.pyc,, -setuptools/__pycache__/unicode_utils.cpython-38.pyc,, -setuptools/__pycache__/version.cpython-38.pyc,, -setuptools/__pycache__/wheel.cpython-38.pyc,, -setuptools/__pycache__/windows_support.cpython-38.pyc,, -setuptools/_deprecation_warning.py,sha256=jU9-dtfv6cKmtQJOXN8nP1mm7gONw5kKEtiPtbwnZyI,218 -setuptools/_imp.py,sha256=jloslOkxrTKbobgemfP94YII0nhqiJzE1bRmCTZ1a5I,2223 -setuptools/_vendor/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -setuptools/_vendor/__pycache__/__init__.cpython-38.pyc,, -setuptools/_vendor/__pycache__/ordered_set.cpython-38.pyc,, -setuptools/_vendor/__pycache__/pyparsing.cpython-38.pyc,, -setuptools/_vendor/__pycache__/six.cpython-38.pyc,, -setuptools/_vendor/ordered_set.py,sha256=dbaCcs27dyN9gnMWGF5nA_BrVn6Q-NrjKYJpV9_fgBs,15130 -setuptools/_vendor/packaging/__about__.py,sha256=CpuMSyh1V7adw8QMjWKkY3LtdqRUkRX4MgJ6nF4stM0,744 -setuptools/_vendor/packaging/__init__.py,sha256=6enbp5XgRfjBjsI9-bn00HjHf5TH21PDMOKkJW8xw-w,562 -setuptools/_vendor/packaging/__pycache__/__about__.cpython-38.pyc,, -setuptools/_vendor/packaging/__pycache__/__init__.cpython-38.pyc,, -setuptools/_vendor/packaging/__pycache__/_compat.cpython-38.pyc,, -setuptools/_vendor/packaging/__pycache__/_structures.cpython-38.pyc,, -setuptools/_vendor/packaging/__pycache__/markers.cpython-38.pyc,, -setuptools/_vendor/packaging/__pycache__/requirements.cpython-38.pyc,, -setuptools/_vendor/packaging/__pycache__/specifiers.cpython-38.pyc,, -setuptools/_vendor/packaging/__pycache__/tags.cpython-38.pyc,, -setuptools/_vendor/packaging/__pycache__/utils.cpython-38.pyc,, -setuptools/_vendor/packaging/__pycache__/version.cpython-38.pyc,, -setuptools/_vendor/packaging/_compat.py,sha256=Ugdm-qcneSchW25JrtMIKgUxfEEBcCAz6WrEeXeqz9o,865 -setuptools/_vendor/packaging/_structures.py,sha256=pVd90XcXRGwpZRB_qdFuVEibhCHpX_bL5zYr9-N0mc8,1416 -setuptools/_vendor/packaging/markers.py,sha256=-meFl9Fr9V8rF5Rduzgett5EHK9wBYRUqssAV2pj0lw,8268 -setuptools/_vendor/packaging/requirements.py,sha256=3dwIJekt8RRGCUbgxX8reeAbgmZYjb0wcCRtmH63kxI,4742 -setuptools/_vendor/packaging/specifiers.py,sha256=0ZzQpcUnvrQ6LjR-mQRLzMr8G6hdRv-mY0VSf_amFtI,27778 -setuptools/_vendor/packaging/tags.py,sha256=EPLXhO6GTD7_oiWEO1U0l0PkfR8R_xivpMDHXnsTlts,12933 -setuptools/_vendor/packaging/utils.py,sha256=VaTC0Ei7zO2xl9ARiWmz2YFLFt89PuuhLbAlXMyAGms,1520 -setuptools/_vendor/packaging/version.py,sha256=Npdwnb8OHedj_2L86yiUqscujb7w_i5gmSK1PhOAFzg,11978 -setuptools/_vendor/pyparsing.py,sha256=tmrp-lu-qO1i75ZzIN5A12nKRRD1Cm4Vpk-5LR9rims,232055 -setuptools/_vendor/six.py,sha256=A6hdJZVjI3t_geebZ9BzUvwRrIXo0lfwzQlM2LcKyas,30098 -setuptools/archive_util.py,sha256=kw8Ib_lKjCcnPKNbS7h8HztRVK0d5RacU3r_KRdVnmM,6592 -setuptools/build_meta.py,sha256=-9Nmj9YdbW4zX3TssPJZhsENrTa4fw3k86Jm1cdKMik,9597 -setuptools/cli-32.exe,sha256=dfEuovMNnA2HLa3jRfMPVi5tk4R7alCbpTvuxtCyw0Y,65536 -setuptools/cli-64.exe,sha256=KLABu5pyrnokJCv6skjXZ6GsXeyYHGcqOUT3oHI3Xpo,74752 -setuptools/cli.exe,sha256=dfEuovMNnA2HLa3jRfMPVi5tk4R7alCbpTvuxtCyw0Y,65536 -setuptools/command/__init__.py,sha256=QCAuA9whnq8Bnoc0bBaS6Lw_KAUO0DiHYZQXEMNn5hg,568 -setuptools/command/__pycache__/__init__.cpython-38.pyc,, -setuptools/command/__pycache__/alias.cpython-38.pyc,, -setuptools/command/__pycache__/bdist_egg.cpython-38.pyc,, -setuptools/command/__pycache__/bdist_rpm.cpython-38.pyc,, -setuptools/command/__pycache__/bdist_wininst.cpython-38.pyc,, -setuptools/command/__pycache__/build_clib.cpython-38.pyc,, -setuptools/command/__pycache__/build_ext.cpython-38.pyc,, -setuptools/command/__pycache__/build_py.cpython-38.pyc,, -setuptools/command/__pycache__/develop.cpython-38.pyc,, -setuptools/command/__pycache__/dist_info.cpython-38.pyc,, -setuptools/command/__pycache__/easy_install.cpython-38.pyc,, -setuptools/command/__pycache__/egg_info.cpython-38.pyc,, -setuptools/command/__pycache__/install.cpython-38.pyc,, -setuptools/command/__pycache__/install_egg_info.cpython-38.pyc,, -setuptools/command/__pycache__/install_lib.cpython-38.pyc,, -setuptools/command/__pycache__/install_scripts.cpython-38.pyc,, -setuptools/command/__pycache__/py36compat.cpython-38.pyc,, -setuptools/command/__pycache__/register.cpython-38.pyc,, -setuptools/command/__pycache__/rotate.cpython-38.pyc,, -setuptools/command/__pycache__/saveopts.cpython-38.pyc,, -setuptools/command/__pycache__/sdist.cpython-38.pyc,, -setuptools/command/__pycache__/setopt.cpython-38.pyc,, -setuptools/command/__pycache__/test.cpython-38.pyc,, -setuptools/command/__pycache__/upload.cpython-38.pyc,, -setuptools/command/__pycache__/upload_docs.cpython-38.pyc,, -setuptools/command/alias.py,sha256=KjpE0sz_SDIHv3fpZcIQK-sCkJz-SrC6Gmug6b9Nkc8,2426 -setuptools/command/bdist_egg.py,sha256=nnfV8Ah8IRC_Ifv5Loa9FdxL66MVbyDXwy-foP810zM,18185 -setuptools/command/bdist_rpm.py,sha256=B7l0TnzCGb-0nLlm6rS00jWLkojASwVmdhW2w5Qz_Ak,1508 -setuptools/command/bdist_wininst.py,sha256=_6dz3lpB1tY200LxKPLM7qgwTCceOMgaWFF-jW2-pm0,637 -setuptools/command/build_clib.py,sha256=bQ9aBr-5ZSO-9fGsGsDLz0mnnFteHUZnftVLkhvHDq0,4484 -setuptools/command/build_ext.py,sha256=Ib42YUGksBswm2mL5xmQPF6NeTA6HcqrvAtEgFCv32A,13019 -setuptools/command/build_py.py,sha256=yWyYaaS9F3o9JbIczn064A5g1C5_UiKRDxGaTqYbtLE,9596 -setuptools/command/develop.py,sha256=MQlnGS6uP19erK2JCNOyQYoYyquk3PADrqrrinqqLtA,8184 -setuptools/command/dist_info.py,sha256=5t6kOfrdgALT-P3ogss6PF9k-Leyesueycuk3dUyZnI,960 -setuptools/command/easy_install.py,sha256=0lY8Agxe-7IgMtxgxFuOY1NrDlBzOUlpCKsvayXlTYY,89903 -setuptools/command/egg_info.py,sha256=0e_TXrMfpa8nGTO7GmJcmpPCMWzliZi6zt9aMchlumc,25578 -setuptools/command/install.py,sha256=8doMxeQEDoK4Eco0mO2WlXXzzp9QnsGJQ7Z7yWkZPG8,4705 -setuptools/command/install_egg_info.py,sha256=4zq_Ad3jE-EffParuyDEnvxU6efB-Xhrzdr8aB6Ln_8,3195 -setuptools/command/install_lib.py,sha256=9zdc-H5h6RPxjySRhOwi30E_WfcVva7gpfhZ5ata60w,5023 -setuptools/command/install_scripts.py,sha256=UD0rEZ6861mTYhIdzcsqKnUl8PozocXWl9VBQ1VTWnc,2439 -setuptools/command/launcher manifest.xml,sha256=xlLbjWrB01tKC0-hlVkOKkiSPbzMml2eOPtJ_ucCnbE,628 -setuptools/command/py36compat.py,sha256=SzjZcOxF7zdFUT47Zv2n7AM3H8koDys_0OpS-n9gIfc,4986 -setuptools/command/register.py,sha256=kk3DxXCb5lXTvqnhfwx2g6q7iwbUmgTyXUCaBooBOUk,468 -setuptools/command/rotate.py,sha256=co5C1EkI7P0GGT6Tqz-T2SIj2LBJTZXYELpmao6d4KQ,2164 -setuptools/command/saveopts.py,sha256=za7QCBcQimKKriWcoCcbhxPjUz30gSB74zuTL47xpP4,658 -setuptools/command/sdist.py,sha256=IL1LepD2h8qGKOFJ3rrQVbjNH_Q6ViD40l0QADr4MEU,8088 -setuptools/command/setopt.py,sha256=NTWDyx-gjDF-txf4dO577s7LOzHVoKR0Mq33rFxaRr8,5085 -setuptools/command/test.py,sha256=u2kXngIIdSYqtvwFlHiN6Iye1IB4TU6uadB2uiV1szw,9602 -setuptools/command/upload.py,sha256=XT3YFVfYPAmA5qhGg0euluU98ftxRUW-PzKcODMLxUs,462 -setuptools/command/upload_docs.py,sha256=oXiGplM_cUKLwE4CWWw98RzCufAu8tBhMC97GegFcms,7311 -setuptools/config.py,sha256=6SB2OY3qcooOJmG_rsK_s0pKBsorBlDpfMJUyzjQIGk,20575 -setuptools/dep_util.py,sha256=fgixvC1R7sH3r13ktyf7N0FALoqEXL1cBarmNpSEoWg,935 -setuptools/depends.py,sha256=qt2RWllArRvhnm8lxsyRpcthEZYp4GHQgREl1q0LkFw,5517 -setuptools/dist.py,sha256=xtXaNsOsE32MwwQqErzgXJF7jsTQz9GYFRrwnPFQ0J0,49865 -setuptools/errors.py,sha256=MVOcv381HNSajDgEUWzOQ4J6B5BHCBMSjHfaWcEwA1o,524 -setuptools/extension.py,sha256=uc6nHI-MxwmNCNPbUiBnybSyqhpJqjbhvOQ-emdvt_E,1729 -setuptools/extern/__init__.py,sha256=4q9gtShB1XFP6CisltsyPqtcfTO6ZM9Lu1QBl3l-qmo,2514 -setuptools/extern/__pycache__/__init__.cpython-38.pyc,, -setuptools/glob.py,sha256=o75cHrOxYsvn854thSxE0x9k8JrKDuhP_rRXlVB00Q4,5084 -setuptools/gui-32.exe,sha256=XBr0bHMA6Hpz2s9s9Bzjl-PwXfa9nH4ie0rFn4V2kWA,65536 -setuptools/gui-64.exe,sha256=aYKMhX1IJLn4ULHgWX0sE0yREUt6B3TEHf_jOw6yNyE,75264 -setuptools/gui.exe,sha256=XBr0bHMA6Hpz2s9s9Bzjl-PwXfa9nH4ie0rFn4V2kWA,65536 -setuptools/installer.py,sha256=TCFRonRo01I79zo-ucf3Ymhj8TenPlmhMijN916aaJs,5337 -setuptools/launch.py,sha256=sd7ejwhBocCDx_wG9rIs0OaZ8HtmmFU8ZC6IR_S0Lvg,787 -setuptools/lib2to3_ex.py,sha256=t5e12hbR2pi9V4ezWDTB4JM-AISUnGOkmcnYHek3xjg,2013 -setuptools/monkey.py,sha256=FGc9fffh7gAxMLFmJs2DW_OYWpBjkdbNS2n14UAK4NA,5264 -setuptools/msvc.py,sha256=8baJ6aYgCA4TRdWQQi185qB9dnU8FaP4wgpbmd7VODs,46751 -setuptools/namespaces.py,sha256=F0Nrbv8KCT2OrO7rwa03om4N4GZKAlnce-rr-cgDQa8,3199 -setuptools/package_index.py,sha256=rqhmbFUEf4WxndnKbtWmj_x8WCuZSuoCgA0K1syyCY8,40616 -setuptools/py27compat.py,sha256=tvmer0Tn-wk_JummCkoM22UIjpjL-AQ8uUiOaqTs8sI,1496 -setuptools/py31compat.py,sha256=h2rtZghOfwoGYd8sQ0-auaKiF3TcL3qX0bX3VessqcE,838 -setuptools/py33compat.py,sha256=SMF9Z8wnGicTOkU1uRNwZ_kz5Z_bj29PUBbqdqeeNsc,1330 -setuptools/py34compat.py,sha256=KYOd6ybRxjBW8NJmYD8t_UyyVmysppFXqHpFLdslGXU,245 -setuptools/sandbox.py,sha256=9UbwfEL5QY436oMI1LtFWohhoZ-UzwHvGyZjUH_qhkw,14276 -setuptools/script (dev).tmpl,sha256=RUzQzCQUaXtwdLtYHWYbIQmOaES5Brqq1FvUA_tu-5I,218 -setuptools/script.tmpl,sha256=WGTt5piezO27c-Dbx6l5Q4T3Ff20A5z7872hv3aAhYY,138 -setuptools/site-patch.py,sha256=OumkIHMuoSenRSW1382kKWI1VAwxNE86E5W8iDd34FY,2302 -setuptools/ssl_support.py,sha256=nLjPUBBw7RTTx6O4RJZ5eAMGgjJG8beiDbkFXDZpLuM,8493 -setuptools/unicode_utils.py,sha256=NOiZ_5hD72A6w-4wVj8awHFM3n51Kmw1Ic_vx15XFqw,996 -setuptools/version.py,sha256=og_cuZQb0QI6ukKZFfZWPlr1HgJBPPn2vO2m_bI9ZTE,144 -setuptools/wheel.py,sha256=zct-SEj5_LoHg6XELt2cVRdulsUENenCdS1ekM7TlZA,8455 -setuptools/windows_support.py,sha256=5GrfqSP2-dLGJoZTq2g6dCKkyQxxa2n5IQiXlJCoYEE,714 diff --git a/.venv/lib/python3.8/site-packages/setuptools-44.0.0.dist-info/WHEEL b/.venv/lib/python3.8/site-packages/setuptools-44.0.0.dist-info/WHEEL deleted file mode 100644 index ef99c6c..0000000 --- a/.venv/lib/python3.8/site-packages/setuptools-44.0.0.dist-info/WHEEL +++ /dev/null @@ -1,6 +0,0 @@ -Wheel-Version: 1.0 -Generator: bdist_wheel (0.34.2) -Root-Is-Purelib: true -Tag: py2-none-any -Tag: py3-none-any - diff --git a/.venv/lib/python3.8/site-packages/setuptools-44.0.0.dist-info/dependency_links.txt b/.venv/lib/python3.8/site-packages/setuptools-44.0.0.dist-info/dependency_links.txt deleted file mode 100644 index e87d021..0000000 --- a/.venv/lib/python3.8/site-packages/setuptools-44.0.0.dist-info/dependency_links.txt +++ /dev/null @@ -1,2 +0,0 @@ -https://files.pythonhosted.org/packages/source/c/certifi/certifi-2016.9.26.tar.gz#md5=baa81e951a29958563689d868ef1064d -https://files.pythonhosted.org/packages/source/w/wincertstore/wincertstore-0.2.zip#md5=ae728f2f007185648d0c7a8679b361e2 diff --git a/.venv/lib/python3.8/site-packages/setuptools-44.0.0.dist-info/entry_points.txt b/.venv/lib/python3.8/site-packages/setuptools-44.0.0.dist-info/entry_points.txt deleted file mode 100644 index 0fed3f1..0000000 --- a/.venv/lib/python3.8/site-packages/setuptools-44.0.0.dist-info/entry_points.txt +++ /dev/null @@ -1,68 +0,0 @@ -[console_scripts] -easy_install = setuptools.command.easy_install:main - -[distutils.commands] -alias = setuptools.command.alias:alias -bdist_egg = setuptools.command.bdist_egg:bdist_egg -bdist_rpm = setuptools.command.bdist_rpm:bdist_rpm -bdist_wininst = setuptools.command.bdist_wininst:bdist_wininst -build_clib = setuptools.command.build_clib:build_clib -build_ext = setuptools.command.build_ext:build_ext -build_py = setuptools.command.build_py:build_py -develop = setuptools.command.develop:develop -dist_info = setuptools.command.dist_info:dist_info -easy_install = setuptools.command.easy_install:easy_install -egg_info = setuptools.command.egg_info:egg_info -install = setuptools.command.install:install -install_egg_info = setuptools.command.install_egg_info:install_egg_info -install_lib = setuptools.command.install_lib:install_lib -install_scripts = setuptools.command.install_scripts:install_scripts -rotate = setuptools.command.rotate:rotate -saveopts = setuptools.command.saveopts:saveopts -sdist = setuptools.command.sdist:sdist -setopt = setuptools.command.setopt:setopt -test = setuptools.command.test:test -upload_docs = setuptools.command.upload_docs:upload_docs - -[distutils.setup_keywords] -convert_2to3_doctests = setuptools.dist:assert_string_list -dependency_links = setuptools.dist:assert_string_list -eager_resources = setuptools.dist:assert_string_list -entry_points = setuptools.dist:check_entry_points -exclude_package_data = setuptools.dist:check_package_data -extras_require = setuptools.dist:check_extras -include_package_data = setuptools.dist:assert_bool -install_requires = setuptools.dist:check_requirements -namespace_packages = setuptools.dist:check_nsp -package_data = setuptools.dist:check_package_data -packages = setuptools.dist:check_packages -python_requires = setuptools.dist:check_specifier -setup_requires = setuptools.dist:check_requirements -test_loader = setuptools.dist:check_importable -test_runner = setuptools.dist:check_importable -test_suite = setuptools.dist:check_test_suite -tests_require = setuptools.dist:check_requirements -use_2to3 = setuptools.dist:assert_bool -use_2to3_exclude_fixers = setuptools.dist:assert_string_list -use_2to3_fixers = setuptools.dist:assert_string_list -zip_safe = setuptools.dist:assert_bool - -[egg_info.writers] -PKG-INFO = setuptools.command.egg_info:write_pkg_info -dependency_links.txt = setuptools.command.egg_info:overwrite_arg -depends.txt = setuptools.command.egg_info:warn_depends_obsolete -eager_resources.txt = setuptools.command.egg_info:overwrite_arg -entry_points.txt = setuptools.command.egg_info:write_entries -namespace_packages.txt = setuptools.command.egg_info:overwrite_arg -requires.txt = setuptools.command.egg_info:write_requirements -top_level.txt = setuptools.command.egg_info:write_toplevel_names - -[setuptools.finalize_distribution_options] -2to3_doctests = setuptools.dist:Distribution._finalize_2to3_doctests -features = setuptools.dist:Distribution._finalize_feature_opts -keywords = setuptools.dist:Distribution._finalize_setup_keywords -parent_finalize = setuptools.dist:_Distribution.finalize_options - -[setuptools.installation] -eggsecutable = setuptools.command.easy_install:bootstrap - diff --git a/.venv/lib/python3.8/site-packages/setuptools-44.0.0.dist-info/top_level.txt b/.venv/lib/python3.8/site-packages/setuptools-44.0.0.dist-info/top_level.txt deleted file mode 100644 index 4577c6a..0000000 --- a/.venv/lib/python3.8/site-packages/setuptools-44.0.0.dist-info/top_level.txt +++ /dev/null @@ -1,3 +0,0 @@ -easy_install -pkg_resources -setuptools diff --git a/.venv/lib/python3.8/site-packages/setuptools-44.0.0.dist-info/zip-safe b/.venv/lib/python3.8/site-packages/setuptools-44.0.0.dist-info/zip-safe deleted file mode 100644 index 8b13789..0000000 --- a/.venv/lib/python3.8/site-packages/setuptools-44.0.0.dist-info/zip-safe +++ /dev/null @@ -1 +0,0 @@ - diff --git a/.venv/lib/python3.8/site-packages/setuptools/__init__.py b/.venv/lib/python3.8/site-packages/setuptools/__init__.py deleted file mode 100644 index a71b2bb..0000000 --- a/.venv/lib/python3.8/site-packages/setuptools/__init__.py +++ /dev/null @@ -1,228 +0,0 @@ -"""Extensions to the 'distutils' for large or complex distributions""" - -import os -import sys -import functools -import distutils.core -import distutils.filelist -import re -from distutils.errors import DistutilsOptionError -from distutils.util import convert_path -from fnmatch import fnmatchcase - -from ._deprecation_warning import SetuptoolsDeprecationWarning - -from setuptools.extern.six import PY3, string_types -from setuptools.extern.six.moves import filter, map - -import setuptools.version -from setuptools.extension import Extension -from setuptools.dist import Distribution, Feature -from setuptools.depends import Require -from . import monkey - -__metaclass__ = type - - -__all__ = [ - 'setup', 'Distribution', 'Feature', 'Command', 'Extension', 'Require', - 'SetuptoolsDeprecationWarning', - 'find_packages' -] - -if PY3: - __all__.append('find_namespace_packages') - -__version__ = setuptools.version.__version__ - -bootstrap_install_from = None - -# If we run 2to3 on .py files, should we also convert docstrings? -# Default: yes; assume that we can detect doctests reliably -run_2to3_on_doctests = True -# Standard package names for fixer packages -lib2to3_fixer_packages = ['lib2to3.fixes'] - - -class PackageFinder: - """ - Generate a list of all Python packages found within a directory - """ - - @classmethod - def find(cls, where='.', exclude=(), include=('*',)): - """Return a list all Python packages found within directory 'where' - - 'where' is the root directory which will be searched for packages. It - should be supplied as a "cross-platform" (i.e. URL-style) path; it will - be converted to the appropriate local path syntax. - - 'exclude' is a sequence of package names to exclude; '*' can be used - as a wildcard in the names, such that 'foo.*' will exclude all - subpackages of 'foo' (but not 'foo' itself). - - 'include' is a sequence of package names to include. If it's - specified, only the named packages will be included. If it's not - specified, all found packages will be included. 'include' can contain - shell style wildcard patterns just like 'exclude'. - """ - - return list(cls._find_packages_iter( - convert_path(where), - cls._build_filter('ez_setup', '*__pycache__', *exclude), - cls._build_filter(*include))) - - @classmethod - def _find_packages_iter(cls, where, exclude, include): - """ - All the packages found in 'where' that pass the 'include' filter, but - not the 'exclude' filter. - """ - for root, dirs, files in os.walk(where, followlinks=True): - # Copy dirs to iterate over it, then empty dirs. - all_dirs = dirs[:] - dirs[:] = [] - - for dir in all_dirs: - full_path = os.path.join(root, dir) - rel_path = os.path.relpath(full_path, where) - package = rel_path.replace(os.path.sep, '.') - - # Skip directory trees that are not valid packages - if ('.' in dir or not cls._looks_like_package(full_path)): - continue - - # Should this package be included? - if include(package) and not exclude(package): - yield package - - # Keep searching subdirectories, as there may be more packages - # down there, even if the parent was excluded. - dirs.append(dir) - - @staticmethod - def _looks_like_package(path): - """Does a directory look like a package?""" - return os.path.isfile(os.path.join(path, '__init__.py')) - - @staticmethod - def _build_filter(*patterns): - """ - Given a list of patterns, return a callable that will be true only if - the input matches at least one of the patterns. - """ - return lambda name: any(fnmatchcase(name, pat=pat) for pat in patterns) - - -class PEP420PackageFinder(PackageFinder): - @staticmethod - def _looks_like_package(path): - return True - - -find_packages = PackageFinder.find - -if PY3: - find_namespace_packages = PEP420PackageFinder.find - - -def _install_setup_requires(attrs): - # Note: do not use `setuptools.Distribution` directly, as - # our PEP 517 backend patch `distutils.core.Distribution`. - dist = distutils.core.Distribution(dict( - (k, v) for k, v in attrs.items() - if k in ('dependency_links', 'setup_requires') - )) - # Honor setup.cfg's options. - dist.parse_config_files(ignore_option_errors=True) - if dist.setup_requires: - dist.fetch_build_eggs(dist.setup_requires) - - -def setup(**attrs): - # Make sure we have any requirements needed to interpret 'attrs'. - _install_setup_requires(attrs) - return distutils.core.setup(**attrs) - -setup.__doc__ = distutils.core.setup.__doc__ - - -_Command = monkey.get_unpatched(distutils.core.Command) - - -class Command(_Command): - __doc__ = _Command.__doc__ - - command_consumes_arguments = False - - def __init__(self, dist, **kw): - """ - Construct the command for dist, updating - vars(self) with any keyword parameters. - """ - _Command.__init__(self, dist) - vars(self).update(kw) - - def _ensure_stringlike(self, option, what, default=None): - val = getattr(self, option) - if val is None: - setattr(self, option, default) - return default - elif not isinstance(val, string_types): - raise DistutilsOptionError("'%s' must be a %s (got `%s`)" - % (option, what, val)) - return val - - def ensure_string_list(self, option): - r"""Ensure that 'option' is a list of strings. If 'option' is - currently a string, we split it either on /,\s*/ or /\s+/, so - "foo bar baz", "foo,bar,baz", and "foo, bar baz" all become - ["foo", "bar", "baz"]. - """ - val = getattr(self, option) - if val is None: - return - elif isinstance(val, string_types): - setattr(self, option, re.split(r',\s*|\s+', val)) - else: - if isinstance(val, list): - ok = all(isinstance(v, string_types) for v in val) - else: - ok = False - if not ok: - raise DistutilsOptionError( - "'%s' must be a list of strings (got %r)" - % (option, val)) - - def reinitialize_command(self, command, reinit_subcommands=0, **kw): - cmd = _Command.reinitialize_command(self, command, reinit_subcommands) - vars(cmd).update(kw) - return cmd - - -def _find_all_simple(path): - """ - Find all files under 'path' - """ - results = ( - os.path.join(base, file) - for base, dirs, files in os.walk(path, followlinks=True) - for file in files - ) - return filter(os.path.isfile, results) - - -def findall(dir=os.curdir): - """ - Find all files under 'dir' and return the list of full filenames. - Unless dir is '.', return full filenames with dir prepended. - """ - files = _find_all_simple(dir) - if dir == os.curdir: - make_rel = functools.partial(os.path.relpath, start=dir) - files = map(make_rel, files) - return list(files) - - -# Apply monkey patches -monkey.patch_all() diff --git a/.venv/lib/python3.8/site-packages/setuptools/__pycache__/__init__.cpython-38.pyc b/.venv/lib/python3.8/site-packages/setuptools/__pycache__/__init__.cpython-38.pyc deleted file mode 100644 index 76f17c614b25ff8442a821c44de55b3a4b10b3e5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7768 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 diff --git a/.venv/lib/python3.8/site-packages/setuptools/__pycache__/_deprecation_warning.cpython-38.pyc b/.venv/lib/python3.8/site-packages/setuptools/__pycache__/_deprecation_warning.cpython-38.pyc deleted file mode 100644 index 22c1a6ed05461ccefde7f2d962ef0bc1b35a7980..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 516 zcmWIL<>g{vU|=}2?@#hA1_p-5APzESVPIfzU|?V<7GYpuaA!ziNMUSYNMTH6Xl9OL zOkoOU&}2?VRu5t`!t@9*FfgPtL@}l?L@}i>MlnOw-;xPVEh#N1$<NOzc1bNLN=;5I z$;{6SPb|vI%uBCY#HFC1px~5PoT`wVlUQ7=kd|MhP!5q)NI|GCR>;g#NJuD#o0X8j z1=bppky#AYnpv!nmtUfgl3J8mmYSlFR+OKskdT0BX+naILSkNuLSnH(acOdfLS`}8 zq_WK7%%q%Dg``S_l+?7u(wq`Ku(+Ql%Po%h_`Jm2)cE*YT=DU_`6;D2AU02Yd|_!~ z4pfFcK0YNsIX-?RLlGMT1BCeHtY4B_pkI(#pj(<(keHmEnxb2tk(!#LTT+}KpPHFj zrjPKFems(g<Dr3|S5R353Stm0W@2Dq;9vyv{WO_wu|q=<EP${S!eVD&V7SF$197Y! KNc(3{bO8WQ_>Wrv diff --git a/.venv/lib/python3.8/site-packages/setuptools/__pycache__/_imp.cpython-38.pyc b/.venv/lib/python3.8/site-packages/setuptools/__pycache__/_imp.cpython-38.pyc deleted file mode 100644 index 8498539254def241e17e6d71cb922c2d22bf52d7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1890 zcmWIL<>g{vU|=}2?@#i24hDwDAPzESW?*1&U|?V<j$vS6NMVR#NMTH2%3+LR1k+4W z%wU=&iaCWjg(ZhImo18oks*aSiamujiX(+BiZg{hiYtX9iaUirg)@b#g)xdJMIePc zg{OrviZ_Kfg|CGniZ6vJm_bvpDuOF0RW~!YASX39HLoPGBr`uxAwNwaEi*4AJ~uz5 zG$&OdF)u|SJ+&l0tth`LH7`CtDJwO(ge$EmKUbk7BUK?KwV)_9Ik6-)MIke{Kp_{b zNssF#$VYxJ85tNDG#PIRK!ibN<i-~lq$a;)Vqjo+3G(SnHV})Qfq@|zBnHw3!ki2Y z46F<c49=i{2xDYmC}GHAT)<SrP{X*8sg|jRDTOhcqe!WQIfbc)L5!i9v5B#UDT}4p zsf4wLDTTS2smKYegDr)nhAE33q$h>7mN|v7mZgLPBvQiJ%v8%-!<5C9!j{ccTvEeY z)K<a`mSM=^$>MEhDrzg?1M6T*VP|2eWv}JPI{;SCk<C=Rq=vO<8<KkdW~QQTB?4&b zCxF~Efw9O6q_38(L@-Nefp87mLdFzMNrqbX8uk*9T_V|RMNd+=@|aS%YdMg_ewB#U zGUus5MZ~h%CNLK9m5A3e=Ltc@B*0<{C6cwwHOwWVCE^)OU=g<xsT#H#j%KD>mOP#m z##*=!YFKL6YS?QyYM9fQ)0l%9G<mAby-JHq6ml}NQx()Ra|`s4;$A~jT}L6Qv_zpi zvm`^IATc>RF+EkGxU`@kzo^9T7q4?-o_Yy5u_&k(-;ydWO@hXAacW{waz=bkelj>o z6<2Y`$7kkcmc+;F6;!_b|NsC0TWpZ@bc>;iBdIhqr$je1uLzU?ZZQ_!Vk%0~l)lB8 znG3QfCo}05OKC}F&Mi)`(?H4R7Plu@&b6p0zvvcEMq)ACu3PLGiN%Q}B}KOcKq?_g zE+;=RCAH`l8<ghCEY8d;E=kNwPQAraQdy9Ci!Hw>Gd(l!7FT9*acNR=PGWKKEzaD; z<c!R`)S}8;d~V>x53w}0=oV){WV~CDf0V1=Eq*7E>ofBZa?bHip`Jb=o_@EO@{4b= z6eN~p+~O!M$jK~8tth$0AM76*<m?(B9O~xg8Q~fXHVYzlOVBAY#MRl~1xc1WATr+B z-#5V1$JOPQkZVMUt6#9EzaK(7w{tvP^cG8gL28~R=Pfo!JltXhSzdgL1r!puSh6$o zQf{%NW#*(tu@!?ddvcK?0|Ub?w&K#Xw9JZIEV=n9sVf<Z3>g?0ei`eR<QC``WESX_ z=7C~9HAS~PBQ-Tgx1=~fJ~cD5Ousm_q_m(UKR>5fKOU5D3My}LgJTF{xd<rddV%sX z6CWc7BM+khqW}{NBMX?t!oc>Q1<d1O6ktT=aWJwm3NVT=@i4M6@_{i66CWcF6AL2; zQ;{)xF##$;SYXA376WE6Q7l)&oWh7)L@Z#fVOYo*%&?NluZROwJh2t=GcYg|34jPe z5FrF2#6Tg#0V?>C^HWkanTtTC7ioi}bU*|skia2TWCT(v2vP}2($FH(4&;B31q_UQ zU|$!Rfm{!AF(^<#802yg1{ZQ_=&on3VMcX*2}=!gGh;AAkqOAztXQ25GG3Df;n-U& znR#jXMcACo1#&VZu3RzPY5}r>(NB}nPm})^dwhIKesX+#kpjr8eDHj!2g;UUXWSA- z2*R^X6jwo|u}N}%Zb4#65y)XhDxi=9d9+9a#F7UQvLFH!vEcA20$B_RSF{l3uz|SM g4pgTUOE54nu&{D4axii*@i2pu6&N#fX>qXw05%!$0{{R3 diff --git a/.venv/lib/python3.8/site-packages/setuptools/__pycache__/archive_util.cpython-38.pyc b/.venv/lib/python3.8/site-packages/setuptools/__pycache__/archive_util.cpython-38.pyc deleted file mode 100644 index f7cb35c4fafb408f55c79544915166f94ca37f28..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5128 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 E09e_#H2?qr diff --git a/.venv/lib/python3.8/site-packages/setuptools/__pycache__/build_meta.cpython-38.pyc b/.venv/lib/python3.8/site-packages/setuptools/__pycache__/build_meta.cpython-38.pyc deleted file mode 100644 index e9fcd162634f2732ed47c09f3bd29793d16132cb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8495 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 b1XxAHICwc&IXF2u1TqBV*qGQDp^yatS&O6B diff --git a/.venv/lib/python3.8/site-packages/setuptools/__pycache__/config.cpython-38.pyc b/.venv/lib/python3.8/site-packages/setuptools/__pycache__/config.cpython-38.pyc deleted file mode 100644 index f2c84724e2503e3663c4cb2906aa22dd07a94a7a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 17896 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 bW&x$>|6KYUJRHId|GA|3>KW=8>;=LAfgOwJ diff --git a/.venv/lib/python3.8/site-packages/setuptools/__pycache__/dep_util.cpython-38.pyc b/.venv/lib/python3.8/site-packages/setuptools/__pycache__/dep_util.cpython-38.pyc deleted file mode 100644 index 450184b0246ca9180bf05ef2ed2730f122bbdae8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 819 zcmWIL<>g{vU|=}2?@#h_W(J1GAPzESVqjo!U|?V<mSA9DNMT4}%wfo7jACSDNMTB0 zZefUGN?{3R&}4lH(xb_Ei#sp1Jhdo3y(qu5AQ_|=Bo4x?3=9k)><lt1gMopegrSC^ znX!bShOwD3o4H7$gfWG&nX!p6ouQT~ouQVwgbAXenbCzI)~J@Hgt>;HhDDO0h7m+I zGZpF7FfCw#h%IDfWT;_Yzygs2@d|Znm};2Qn1UHJnW}z=C+1`;B;}W6C?po8m*%GC zl@u#v<|z~;7A5B7q~_=-l%y7yWagzSWTq*kCMIVn6z7)~C8sKYy`hj<tN`{Emx6+V zLP<tqo<e3xu|jfwQBi7fL4IBeNMlK2QF>~Lo<dM+Noi4Du|lFkL1Jc+LVlV;PG)gQ zv4RG~#9~Ou6zf3D0&6PPR4C6#ElP!2S`4=jVi&|@9fic?<oqItUHJ+n8L0}zskw=H zC7H>^V6*bm6x6}4gxH{=sjdeWuQF9fv07arF)u|y9b#&+x<YPgafw1wD#XOZ+*E~} z)V%bP3{BQs%sHufx46O*b4pWPi;D7#Zm||6=B1|=fnxO*TVg>$YF>&aYZM=f@x`~; zp+?{0%!`LgftWB+#>|xrMcfPw48P3vOL7bJ3o;9IOY;g6le1G(bjveRQ*(4niu2=B zGc(Kdi&INV3rh0ybBgs-QVZfsOEPox3My}jK>P^`;PTAkREUS!K<P>dl+xG)7&(|( z7+Dwv7=;-57zLP$co`TN{4|+w38iEfmw-$u)`OV`_6=A8*ilFX4+8_kEe@O9{FKt1 OR69nH@gSe`umS)iwCr;L diff --git a/.venv/lib/python3.8/site-packages/setuptools/__pycache__/depends.cpython-38.pyc b/.venv/lib/python3.8/site-packages/setuptools/__pycache__/depends.cpython-38.pyc deleted file mode 100644 index 389c308f53223d389d5782fd69799936b6a9ab05..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5216 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 E00h=X{Qv*} diff --git a/.venv/lib/python3.8/site-packages/setuptools/__pycache__/dist.cpython-38.pyc b/.venv/lib/python3.8/site-packages/setuptools/__pycache__/dist.cpython-38.pyc deleted file mode 100644 index 74314510896cf76bc9a504b2f21cce6104e68770..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 42326 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 diff --git a/.venv/lib/python3.8/site-packages/setuptools/__pycache__/errors.cpython-38.pyc b/.venv/lib/python3.8/site-packages/setuptools/__pycache__/errors.cpython-38.pyc deleted file mode 100644 index 26aef79f6710b9cad2e132fdc6429b0c7651edd8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 816 zcmWIL<>g{vU|=}2?@uxh69dCz5C<8vGB7YWFfcF_t1&Pzq%cG=q%fv1<uK+lMKLil zxHF_Mr?9jzq_Ctir7}0OM6sl>1~X`~RXG=@mXsEh<mcxU>!lVI<rfumaRn6Rmu04; z7AvGyB&QaXWaj4;E0h+erYIy;Dj<|A<mRW8=A;(ualHgNLzD3qpG#(ONoh%DPO&S< zq-2mVGG>IiP=JAfA(bJDF@+(DDTOhLIfW^hL6iBGa8PP)epzaYbAE1aVqOZ^kVJn* z1_m$-;)JyPB86m#e6d1FMq-IVMq*j2LQ-mKo<b2syFz9jk~8(VxD*r=6oNDJl2a8D z5)kfBNKnWuR!Az%%qdaG&r?W9NP)RNAwfr>I5W2(rxIdhW?s5NBFt8>X=z3Ix#)(K zXXfN6<R)gPDwJe^9F&n*mYH9qkd~N}qmY!CoUKrjk7|jvLP<tuG1xqC$b+0yl$Z$$ z=*%>Pg$k(^nZ+f=AYY-lQ6Z@m<oRNV-xHHdGRsnPD#6Af1q7;(^}y18nk=_C;^XrY zb5rBvZ*j%P=YnH0KK>R@e0*VPVh&V>Jw84qKRG^rB|{Mh0|SKkWvXA2TcBT%S)f~* zSCE*TotmOso{^fGqgzs(AD^0;S*DK&Vtuf`iuDRAi<lW07&t+xlZk<WfrAmu_tRu8 zVrO7rxFrA&dT1If0;#&i6I7a4l9`(dj()HXggYQCkcqcAY#{Ep1EsHG76t|e7FHf+ E0PZ*RIsgCw diff --git a/.venv/lib/python3.8/site-packages/setuptools/__pycache__/extension.cpython-38.pyc b/.venv/lib/python3.8/site-packages/setuptools/__pycache__/extension.cpython-38.pyc deleted file mode 100644 index b20fb8c1a45ba2a5197e25b986df24ad35bf8ee6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1961 zcmWIL<>g{vU|=}2?@#hUHU@^rAPzESVPIfzU|?V<u3=zcNMT4}%wdRv(2P-xU_Mh6 zGni(9(yU;bDTghWJ&K)?A%!`GC5I!IGm4XuA%!)Ct%V_qE0rsXJC!q)Ig2NYx0x}D z&z&KKJ%yu%A%!EAubDZD*PS7SGli>#A%!cIx0yMLKZP-vL6iF>$X$M#jJKF`6ANB4 zGB7Y`GT!1%Pc4Zr%_~SONzO=3Nd_r_VUP+A1_lOakn>GI&S$J;s1hq-s9{K9N@q-A z?q$kiWMl|uNMQ+PU|}d>%H}H4V`KoqNQOM72!<5aU<OULDg!PB1qFqm)RNMoJcW>= z(o}`aGzI6%l8pR3h2+FMg``x4%-n+fqLS1UJ+RU$DTu6|OJ;FNX-Q^Iv0hSXW==|c zYDLK{PB>GO@fJr~QGRYtW^qY~n<n!uuK0L}LGkfLtPBhcw>VuZl2Z#xGV}8^8Kbz9 z!B&El<g8>U;$&c8_+_DAl3So(kXfJ$3WDV9)D+$FjMUT|-IC(`_|(kIGX3JzlG1{b z{QR6^{nUz*)V$)%{5-va%3D0~8Hr`7@enh4Kq15j3O5!OMkXc!Mm9!1MmEMGZUzPh zlpqBuVS=Ry1qKF&R0dEgh+;}%jABk<N?~qch+;`$Nnveah+<7)3ue${2YCW&Z<V<# z%n1r58HptdrNybm3hH{v>I!L@IjO}8nRyBYIf==s3i)XY>Uss06;O#}W{|~D3<?=g zs`LjrT7!Xsp@wAvLkeRG(?X^ihIqyjrYz<fh8o5irZnan=6OstEPafO3@Hr344TY- zxA+Pw<8v}|GfPra;u8xp-85NlF&E?)6!C(Bn=2mfzFQpe@tJv<CGqi^thZQ-Q*+X8 zvE(J@rru&N&Mz%WPA$I0l30{pe2Xc&92^r6f{THHp-6y%fk7GMHjpD3nE4p1gy6>N z!AwmCB~GY^7(fa^z5*vyKL!Sd5{71mA}&y>uVKhyED%azs%5NUT)?!DA%!`csYoS- zC66hEwU()bc>zlaYZhAyTMg4f=33?w_7aX7<{E}9&Ss`&#u|orPLLUz>{WNb=@OER zAt4O)hC+E}NrnO_s1@MJqgbINUjaqFBqLR!B(W$xwFGWXPGVkqX<~XRLYtmKNJeI{ zLT+kuMq*xOajrsQPELM#u>xFWVrfZ6ei6j<(t?7VO1NPKMX9>U`FUljpgaV(I;pe- z<dTA-)U?zh1&|xS?u5DwlGQ+7^1H=Q#hk3IUB#l8Tu@NOq?cU93R0<}$pucqw>V%< zxW$^2U!GcYi!-e>FBzOEZm}067L{Zs=G<Z`O1;HgT$*%?1(Y9)K&iY)7*xiv6bXV7 z2MfrMC@x4afO2w?3@Ela;RGo1Z^^_%{SjYKSrHF)YJ5q4JV>`DC{=*+8Uq^}6AL33 zqX?q_W0e|G>cFGfPm>LlC_#xZJ|0w5<mRW8=A_2Q-{OgnFDy;Wfy%JQ$EV~c$H#-y zVUaxCd8iI80yzVefs5G~7#KJhS(rH3z+xEL9h6YP6#yt*qh@zdmb%66lbKYMSX5bM z>s4A@qL7oBovM(iP?VZpnv+<h0QZ}Y0w_8`WnYOxVzEM^LJmZmLS|lZNorz>pC(HY z$UQ}hAQvlv2v8=1<SR6{t1vJySb)M36iFP6MIgSWK#?>^lO!mv_)_2nZ*qQ7>Mc$< z|CRupsh3(*lwVYQOBhK6Ry;*XBg#!ZP{t_A(<{!b(96v)ODzVcjVQL<{JiYc$|6wa z1t+s8E^vujP+62(af=0HFE~Jp_(9GBIT4#*ZgJQ^;?WKi&c$Nj$lzcELna<39%c@H K7A78M0SN$tgZ)<k diff --git a/.venv/lib/python3.8/site-packages/setuptools/__pycache__/glob.cpython-38.pyc b/.venv/lib/python3.8/site-packages/setuptools/__pycache__/glob.cpython-38.pyc deleted file mode 100644 index 692a05b3e826a23515cd8e9dfcd5b862291fb70a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3733 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 diff --git a/.venv/lib/python3.8/site-packages/setuptools/__pycache__/installer.cpython-38.pyc b/.venv/lib/python3.8/site-packages/setuptools/__pycache__/installer.cpython-38.pyc deleted file mode 100644 index cc12a11e8989b70b4dcf88310710c95010425888..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4102 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 GgaQEW1aD3N diff --git a/.venv/lib/python3.8/site-packages/setuptools/__pycache__/launch.cpython-38.pyc b/.venv/lib/python3.8/site-packages/setuptools/__pycache__/launch.cpython-38.pyc deleted file mode 100644 index abdfe698e75fc7fabafb6ad47f502c6dddc5a8a8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 824 zcmWIL<>g{vU|=}2?@zKYGXuk85C<7EF)%PVFfcF_>oG7eq%cG=q%fv1<uFDuf@!8G zrWEEBmKKI6=2Vsx)@-ICtyJb_21bSyreFq5wyJ0@pTyF<<P3$9j8uhy%94!yJcZ)q zqRfI4h5S6QU~+zLZem`FLQZC0szPE~Noo;SacW6vK}mjoPO(B}u|iUQeo1jjQDQ+s zYKlTxW}-r7Zb5!gi5}NWkTd;~K_m>bF)%Q&GB7YWgB)DMz`#(#z{pU-n8lRBD9KRE zP{LfpkOFpaFLNy;L_CGLl}Qq!h8e`RVJKlKVNGEzVQXftWvXGSVQ6Mtz`l^7mbr#` z0Y?g33j0E)T9y*d8kQP{6pm)*TGkS-8rB-dW+q046y{(CP0p$SE(HYzg`iT12ch20 z%u^_?EY?dbN-v8xj8#Z1R>(|K$ShIFNK64MPfAVAQ^?FK%g;_tQOHXyDJ@FO$*I%> z%e`b|U|_h#5g(tMn3)$J@2ANO;-qEfq{hdCSb2%LAQpRkd`f<DeEcnz{DRcHDwdd{ zn7k^cn7msosTHZon%uW|;^UJ_GjmEZ^NQo+Z!s5F7T;n4Ip`KkN@jA&E%x-(lEjjd zqFWp#`Pr#?nN_Jp>>!I-ic%9(Zm}1o7UU!*r`}>u&d)8#%t<ZcU|?X-WV^);@nJm3 z6}LD+WN`sV9V^Hc@weC@(ox)b`9-<$5Y8=@<ouM>l?+AV3=9mvO!Z503-k*z3v^5K z3KEmEQ&V)yGg4D?bW4i!<5M#;%k&W`LO%zbp7aVTZ!s5@=JA3eS_%~XtSpRNj7$*t zmyK0|iH8vaizFEs7>bxdZe=Y3C6FRMkN_yvL!>|n2J8?dLIUJ(4x8Nkl+v73J5cZ! RgEX*ka4>Q(bBJ;<0s!x!-g^K5 diff --git a/.venv/lib/python3.8/site-packages/setuptools/__pycache__/lib2to3_ex.cpython-38.pyc b/.venv/lib/python3.8/site-packages/setuptools/__pycache__/lib2to3_ex.cpython-38.pyc deleted file mode 100644 index 95f5c2f24289fe36c2a1fb501d5e5ddcbfbbacf2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2411 zcmWIL<>g{vU|=}2?@#hwb_RyWAPzESVPIfzU|?V<j$mM5NMVR#NMTH2%3;i9iehF2 zv6*vNa#^ET!EBZswp{io_FRrA4ltiJhck-PogsxSg}sF#g*}zMnK_EfogsxIg|mer zg)^18nK_Cng*BK#ldGzd%el0;BtJK^Dm6vHH?tx$&!{BdSfRMIpdi1f#EOecL02I$ zC8Zc9qL7wfq>!ASSC(2-l9`vTkdmKVl3H9+%*DkOl95@gkei=Unv<$fl$cqZTC9+m zr{I|jGRU>4D8EP{KTjc`vLquvPr*o!>m|s$nvAzN;kIfr-eS(lPuFC+#UGTKmY7_U zUzC}b9+ID*b4xruwIn_*vm&*qI6kc?KR3Q0F*!RiJ=HH6WC}87f(4uk0|P@ULlk2Q zLlhGz@LCw6m{XWjSXvmOSW;M1*jgB(SX0=888kU=Nw{Pdmz0)d<`kpZn+!4yW;!TJ zm>C!t{6Wzo!oa{#!jQ#S!<fcc!!(bnkAaaPg&~+>C8M7vQxQnnE!I?!r!`q_u@tA~ zq}^i9El$71l30{pe2Xc&d?iB>F9QR^FH8NB+yecA%mUrgJdmGKQ*_HSQd4tuON#U3 zQ!_Km^ovtVN()Nz^K**zb25`au@j$Kp;u6Oi!&!bJsxa_5XePfr!rP4;qr?fTsexb zKu!f=caRyld{xBGz`y|W7fWVdTK-DrB2ESdh9XcZF5(8UK;8lSsfdq(f#DW6$hzFr z;^M^gR8f%GQ1_|ebstm%g)U@GNlhwEFA~J!EO4NKr6rIYg+I{1%KbFiZgIrN=OyN* z#>d~{ijU6)r}X&vTRidcg{6r(5Sb!=kfopqDFOv1BtTGurihJ!fdS;UVi1Fak%O6o z87zj8mO=3XE(Fw&(=ulYQwnnnV-#}=OA0GEHG?yH6l)3xC`%WC0@^JZq!&5mg6whz zdAW#zfuV*Wiy@0Kg)y76NC1>-YZ!|qKy(Sy0%nlu3s`Cx7cz=7EM#P4s9{*Zx{v`( zvw>-*qNEb`ERLeQ63!ZiEUsq8TIL$&Ebbb{6cA+TWoBf^<0;`;z+1ym!?=(Mk}ot_ z{X(kP-9QCQy239;1x=<~tmQ?SC8<%oup%TrKQE_JlkXN!N@j6MQD#zUNoIat6h~=s zYCI^_gELi;04Qy-WaVe(-I9%mmmKl&Nu`-NDUcEZ97n~sq>!akE0S|cQ&J%cif?ft zGF6mFQE497g82Nrc$izj@o|eAT;f2@<0yibNw>HVCg0+K>DFWcXNX&@X_+~x#ZeqE zlWs8<AteG()+kb9U|^61MFl7cGBEQnvVfroBL^b~BMT!NBNw9(Q<V_hcX}{8k{Mw! z%D}(?ie^>@1_p4XMnNOBhzk^r=?pat@eC!5Sxhbru_CpMpy*z}T*6Yr*vtru(n7Hs zhAh@BwiJeJ&Y~~~8;42<ka>{o&t4=CO51V_3=C0Xu%ZYOLZFf>F+H{T7F%jXNorn7 z5y)XhQXrN5u=s<9y(SYRoEQtxf+b2AODyVvf(aDo42*2Bpkd@;<YBCmMFbBPeJCLX z$_k*u8yr$z;DWn`A%!uWp_v&RHjG(J;E+(OVO+pm!;r<8#RLka8b%j}SgBg38m1bC zES7AxA}tWTfVBoJTc`yJ8BHd?C_dE0rO9@SJw3G~v81F35(47z5I|K}qzVd7P?+9g zD@x7HFH6;g6sl4DP=(M0T^z*)31(0cgC1%E@$pdA&;Ygo1sM-0p@0L5kCB6si?K=y zIk-?Y_-Qh_X|ff83h5#-kdwqg1SpXf$$(g(q>5xKxG)2!V^9hNseqPaT!I{2;KE0f z`xbjVC@aOs-{J#hW^mQ22O`1pMT($I%n6qP=j>Yo&?Kb?%V$NPID@1lP?`g0No?-8 b#bE;}i|s(!qZs6M7EVwa5n$qA7T^W|hu}s< diff --git a/.venv/lib/python3.8/site-packages/setuptools/__pycache__/monkey.cpython-38.pyc b/.venv/lib/python3.8/site-packages/setuptools/__pycache__/monkey.cpython-38.pyc deleted file mode 100644 index 30b3c067045ca6ee42ecb3d5b69e15c921dda1fc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4644 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 diff --git a/.venv/lib/python3.8/site-packages/setuptools/__pycache__/msvc.cpython-38.pyc b/.venv/lib/python3.8/site-packages/setuptools/__pycache__/msvc.cpython-38.pyc deleted file mode 100644 index c053e5b596a82d2d9ce7f6879c505e01e615a2d7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 39631 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 Io&f@d0acb22><{9 diff --git a/.venv/lib/python3.8/site-packages/setuptools/__pycache__/namespaces.cpython-38.pyc b/.venv/lib/python3.8/site-packages/setuptools/__pycache__/namespaces.cpython-38.pyc deleted file mode 100644 index 657d11608065234c7060e42903d1990398a0cb96..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3616 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 ZGPMJRSuv>L$HB<M$ic+J%)!hT4FDR}o%H|! diff --git a/.venv/lib/python3.8/site-packages/setuptools/__pycache__/package_index.cpython-38.pyc b/.venv/lib/python3.8/site-packages/setuptools/__pycache__/package_index.cpython-38.pyc deleted file mode 100644 index 4568afa080fdc46afce76bf267de1ee279d72e19..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 32981 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 diff --git a/.venv/lib/python3.8/site-packages/setuptools/__pycache__/py27compat.cpython-38.pyc b/.venv/lib/python3.8/site-packages/setuptools/__pycache__/py27compat.cpython-38.pyc deleted file mode 100644 index 62d2a101a64fe27cf6288d1d4214224bedfb0d91..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1749 zcmWIL<>g{vU|=}2?@#g#RtAR0APzF-U|?WyU|?V<zQVx3kirnfkiwY4l*1Us2&S2$ zm{J&1m~)tOS)y1N8B$nMSX&sPSW{WD*ow?j*q}V71?&qMQrNSZ^4&l(Q5>lpMFFXt zd2A^hDV!|~QCw9zDO@SsIo!ECQ9QZ4QM|c)QGB`lQT&VyDO@Q$Io!DdQ3APwQG$#N z;S70REDWha*<3~E7#Tni><-~5;S|Oc-W*{x-6AP`Df}&rQ9LOEDS|BwQ35GKDZ(ub zQG$^Sc}x)uDNMl(nxa)kT+aEq1&Jk@NtrpBC6x-nr3D4~MI{Pp`9%r=l_eSZc?w2) z<_d{<DGI5HMLC(NMO-gIVdSUDc#F9>vm%)Z#DiiGo0)-u!5I{2ps=lBSin%jxR5cJ zL6fn{gG)g{LBTz<EHzIdF;BrGBqYE$wYWGjJyl1cD7B=tC{H0VCr2S8H8CZ%s8}I4 zu_QSoGcR2sQ6U|yCp)!L4{U@c<1O~|)ROqboSc<Rx7c$bhTLM#POV(YP{hu_!0^jb zza+OnzaX<fw=}OHF*!RmMYlX7H8n@Kq&Po5H8ZnJzc{s|w4fwEKc`r~pwh@Z85|0F z1(mn>p+?6;9l{Or49I5;EJd6Q3=G8jcqJn!jJVQMOP~f7u`n<|oCkJe5h!_qO%#UP zz<7(*Co`|KBAF2yq96*y24Qfhg3PF42xce(1uxhfO~zY{6<`*G02zCW!zL#&Hz_62 zPKJSj;WNmTB0dHNhL<37G+AzOr)B1)#OLOxl;)(~;tq(6clP%U@bqzYxy2a}8SfV4 zALZ%?W(NC*206QGGTjmcg-TjcepPB-e11|^YI4afkk_DQXfhWGfjkHDNs$P8Ac33; zayQrmSquyepk$H4xR9}ysfMX2t%hj<V+zwk##-hQrUlG3%r%S)nOGQNm}^;TS!0-M z*=pHqIchm;I7*nZShAUl0&18F+)|j+LAqJf8EY8}xoVh-xJp=4SZbJR7}A);7@8TI zK%$(%44SM}=3b@6B?>v2*{KTZnYjgeNM6^_RM$~RDlJhc&n(GM0Hu?}^i+jnNEW!o zs8<9Eu3H@O@tJv<CGqi9!p@0#>Lm&w6BJa76f*M^REss)Zm|{@<YboIVlK!pxW$~A zTTmp(z`$^eH^AFH-o-P>)j7mJDDoD!XD%pXxfT`W7in_cVuJ=gYe8a3M)57yg2bYd z;#({r>K0=fh*6Spi><gcEiJR+7E5k^O6o0^?99BBTP&G*Y59<t2BmaJDgs%k4oXF! zuxDW6Vq{_DVw7RxV&r1vU}9kuVgfq}f66UkSio4r0LrW2w57>ZBn^sEQ3eJEO{O9_ z5L+HZfNcd6pp;ewk~arg4bCErV16>F5CA1Q5C*Y97##aj3=9k<3|Wjd3~7utO!Juf z7#JB!n6j8_7$jkdT9XBA@h$G0{6u&fWiGBPzQqm+vtmtVB<Fy<jUF6g3=9lbAUA<h z9Rs5PV-ZM1lhIF8<Q98;d`f<De0-56D3Uk|auQ3@@{4k#1Q7*-UTQ^2YEfPh$VcD| zdW$(A(&!djab<ByYHk#N4k(Mp7gQR>Cl)7XX5L~hE-8xQF3K$_N==O~PE1R^#S#xo z259*L96Vsx6v=`D6CA|gz(f$BV7<j*1M#dKC<zv;F)%Q&uy8PPF!3;Ru(L68u<|gn a{9|GjU}0jEU=(5GW8`2IVd4_tU<LpWxsH(l diff --git a/.venv/lib/python3.8/site-packages/setuptools/__pycache__/py31compat.cpython-38.pyc b/.venv/lib/python3.8/site-packages/setuptools/__pycache__/py31compat.cpython-38.pyc deleted file mode 100644 index d04fa34c3ef5c1d5098b20b300b9a124d1497544..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1191 zcmWIL<>g{vU|=}2?@zKDGXuk85C<7^FfcGUFfcF_2QV-&q%%Y@q%uY^RSBdpq%h_% z=dwhxFfxQQ<QcIrq_Spn6?ri-fM5zk3R4bS6dRakj$(FaNMTN4X<<lVX=aLIiDbxQ zieN}#3TDt`eF?Hllkt{NNNR3Deo<mkrAuZ}YH~?_QKerpNDdh@!Q7(3z`&5o5XG3n z5XF?j7{#2zl)~J?5XF+hlET`;5XG9pmcrh`5XF|l5zL^;Sp?EowSr3l3c^y0Diw+| za|?1(6-r>%Dx|>dRY=ayD@m;=QOHfqOH5BK(t~RZ&&<hDC@HE`D9KkyNzF+uNmWQp zD@iRXPb^B&QAjE+Q78wgNX#kDSIA7y%P&e*@DEl<%u4~;mYI`S1UD(Qs3^avSRp?T zVoqj$9>SJnMkGIjoX*U^z~Bvv0tp5Nh7^VxhIob&#w?~Zh8o5`Mi4KBA(&w$qn{@8 zEtb5*+|*kfAYY|r=A_<Y&&^H&aWt83u@tA~q}^i6E>A2<FJ8$|#L2+G@XJ!aB)34n zAhSTXG_N2rIXg8)w>%>?HAlCkI6po$GqX&;IJKm-pd>#(r&zzB(%3LLKer&UM6aOo z7Ds%1W?p7Ve7p$AX)GW&GqN#ONn=K&9!w>Q&p^HeVP}wbHU<WU8ip)}V1^=)Z#5Z< zKn7|u7O^uhK%5G8ZxJZ1-r|gpPt7YyEsBo^1xPU{h!_~FWUyKcRhSGi4&+1-2C+fO z8f>!>0|P^qPzl2V#u|n!rWD47OyC49!opC(oXu6F21?G14A3MC3VS9{XlpY0g=n(e zVk^!lEy>Ke#a5JCQk0qscJwWF|6o^8^lGwzU4M%`wIaEsvLH2zBef#AEHS4P!YV0B zOiqRPiWB5Xu-7=^<5Md@fhr9O6_5}EBNL+#BOmUdg{b$_WCz6vDEi~$Z*j%P=jNxB z=A_2Q-{OgnFDy;Wfy%JQ$EV~c$Hy0OgY4u15rQBB>;wb>vKgFhctP#}1r`S*3mXRu z2Qyeyll>NZe0*X~PJH|=7Lea=@y5sJrj{fo=Oh*v$Hy13g3JU(%q?zDP`)k!he#2~ oG$b#B?E_hLi^B%uUOP~VDCT2eU|?ZlVP;|yVB}-uVB}x|01USqfB*mh diff --git a/.venv/lib/python3.8/site-packages/setuptools/__pycache__/py33compat.cpython-38.pyc b/.venv/lib/python3.8/site-packages/setuptools/__pycache__/py33compat.cpython-38.pyc deleted file mode 100644 index ffa4521b95970520bb78f31fa8649032c3add2d2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1408 zcmWIL<>g{vU|=}2?@zK3D+9x05C<7^FfcGUFfcF_FJfR|NMT4}%wdRv(2P-xU_Mh6 zQxy-G#T>;P&X6a;!jQ_6%~fQ>$N+*Vj8V*y40%iuAYDv3thsDaY>Xf_a}IkhM-&Gm zLn>z!S1Qv2?i7|3)`d(_JnjrBY$@z53@Pl*Oi{e4e5nj69I3p`%u)QQe5uSSoGFaW z%uxcV0x68y97Xd|ITi>mWXKYT5=dbTX3*q%339!kCgUyU;>-$7##`JOCAm5A1&Kw) zsYSO~{R<q6(yO@g3zG9wQWX-5(vv~Tkuej@!!isE45<ttPew7NFs3lIFhnt@FsHDz zFhsGWum&?|vfbi$sw_zbnG~O#pIeYvk_^%eGYrHAVP{b2fdaXPv4$a@A%!8BL6Z^W zKo*crO{QBc#i==IMQjWV3@aImK;iw%Qokg(K))cfK({onATc>RHAS~PBQ-Tgx1=~f zJ~cD5Ousm_q_m(UKR>5fzo63C7-GF%LFFxu`1s7c%#!$cVUV>T`xzLkB+%Tc2UC>H z2y-n10|Urv76t|eP>>X_U|?V<VOYSB!dSzQ#hAskkg1ljgc-taW~^mOVX9?LVX9@R zVXk4yW++-x!&t*C$xzE$!&<_U#hT4p)CCerVHRhQWB{{RK&%v25e9LF8WwSeTDBVI z6gG2)T4t~gwrr-NX(jAg94YLQ47KbvY&GmD9L<a(47DtUDtSC9oM83LAoV4jHLNvk z%}ikoj0}Y;DV(54ud<8GOwCDAP}j&W&`B&x*Hl+1NX#r!NXsu$NKH)6P{=PxElMoO z%+FKE%u@h`yFz|aR%&vIf;xz!ev2`w2ow}A!2~GOUNSH;FuY`DU|@Lp|NsC0nG6h! z41Stiw^$R4iV`cqv2}|*IX@nx{T6dhYThm8l+5B=ydI8WuJMjR?xDV}ej&GbTq8nU z{ajpKKte?zb8qox=9Q$TrxwMRR2HNb7l8s?lcR{8fq~%`Yf@!NYVj@R)cmwt%mpPy zw|G)3N>cMuQd8m+i_&i~<rmyyPAp1~;>^j<O9$%*Cl?682{Hi``z5JG@$q7y*jE5W zF0%k54-*R`3lj$u2NM^Q0wV_#7b6!V4<idR3nK>;*0cdO!cUVGl$!Dqb5rBvZ*j%P z=jNxB=788d@$rSFi8&CNB2dyUl4D?iq+N((KuM_x<f0;01_lNpkYhj|<zVDs28-O{ zfThS=9Hn`w#mR{UshUDXA|O))K_1~w&d<q7O$NnS@huim7QV&pnOl%wRN`7xlwTAj zh{ynXpg=0h1BY&uG={idab|^HZhl#6aS<psZ?S;F{T6S0d~Rw<VscJmadCY7EiRB> zQc6k-a#F!D0&ygJdTL2xNl8(W63AW3Aa`+jg!uXdfD02OpTfO+i^B#IN_L=xR169g h4n__}4kji>9!5S!E+!sOWH9kC^C|H#^DuHS0{|gBUJL*L diff --git a/.venv/lib/python3.8/site-packages/setuptools/__pycache__/py34compat.cpython-38.pyc b/.venv/lib/python3.8/site-packages/setuptools/__pycache__/py34compat.cpython-38.pyc deleted file mode 100644 index 36f1c8e049769f9d2678c71a4a2e073dea2e5746..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 450 zcmWIL<>g{vU|=}2?@#hq1_p-5APzF-U|?WyU|?V<j$mM5NMT4}%wdRPsNw;$7^4`% z8S+F}7*d(Cxr#Ix89*?SA&)77p^7J!A&WVSC5k1SAy0;dA(b_ot0)L0&&ZI%l)~J? z5XAyfnZg*%pvm$QWT#&;BZz`x5Sy8Sfx#JMJ0AlBLk&X~!ve+{hAgIqAU%wJn#{M@ za`F>XQj2bJgXs9&{FKt1)LSfhiMgqojJH^d3sRF;G8C~fFfjbG)Gx^`&@ad=&@Ig? zNKDR7P0=mSNKMVrEh)~APtD9M(=SdfDJ>|;&(A5=FQ_y&NzTtLNG#DSsJtZrF*iP~ zC_gtIWF`;DNlYMjG8TaXNR#arXJ&3eeo;wIX3{M_I8(2*Bs1q0w<lQ2wWuh+=oSk| z2(0NApJPc$QD#zUNh(+h>`Wwroq>Vj7KaVQZaYwD6bmpgFmNz2G4e3-F|sj3XaF0F BY&`$~ diff --git a/.venv/lib/python3.8/site-packages/setuptools/__pycache__/sandbox.cpython-38.pyc b/.venv/lib/python3.8/site-packages/setuptools/__pycache__/sandbox.cpython-38.pyc deleted file mode 100644 index 36009c0f6b6b16adbf079b1eead2864aceab7f3f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15536 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 WVq#$y2xDPnVPIoq`_J;9g$)3@eR3@T diff --git a/.venv/lib/python3.8/site-packages/setuptools/__pycache__/site-patch.cpython-38.pyc b/.venv/lib/python3.8/site-packages/setuptools/__pycache__/site-patch.cpython-38.pyc deleted file mode 100644 index 34d3fe30a218fd88f0f2111727010c0cb5ebb083..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1474 zcmWIL<>g{vU|=}2?@#hS4hDwDAPzESVqjo!U|?V<mSJFENMT4}Y+;CENM%f6%4RB( zNM&edU}T79NMR0U&}2zQ)+frqz`)7Cz~Bth%f-aNkiwY4ki$?5p&4r#YZ$Yb7BHtU zEo7`^s$oiD$mS?Es$s}tNny@rDzd0yDz->xsAbCIsbN~cTEm#d22xkTUc->WlF87_ zT+3X;ki}8LS;N%Kn8MJ?B*{?AQp1?Vv4E?Ddm&>jYYmGFL+qwnwi>n?)@-KYq8hg1 zmcpVM<^{|(Ad}c@*i#s?Ig57HurJ_AVO_{r%TdDt7THn5v49sO!pOkLFoCg9udt{} z0ql0ZTFx3ykm?$?bjF2DG0e4GwcNEl;S6~aEDR<5*<3}RKzbM%A{h#cA{p|SA{c78 zK>jNFS6EafQo{){w}z{RyM|{W3nN1~gDFD|*8+is42%pBaJx$QQ`njrn;1(3Q`l2D zS{OjSbYW;_Y-X(G1^b>eg|V5rmM?{|h9O?4hRKB?mamqrM7V~nnGx*Xh#CeKhAg2P zK63^phIpY8ks6j1MoETd#u%nr{#t<)hFZaNhFT$rxv@#LY$YNfy)jI+!nGnbA~gcp zOcNN34%7&OTn=KDaMlPlGu8^$h}7_AvrS+uz5<tfP$RTJ6cnC}40$3oLJP!d1Z&t9 zGBGmL2&QnEGt>%BU@V+c1GX!L0TfF%3@Hr344T}2FF{G=7FR%Ih=;#lfMbZqE!OhP zJY%C<!Uc&X8S$C91^GoKsYUV0iOCtMw^)iZOH!*;obyX_Qu5SG6w)&DQWQ!uQWc6) z6LS>QL9*%!x%nxjIjPBvAd{gOly+Gd7#M;<X%Lit(-~?QVnu2hOBiYxLFq=4A%!80 zX(Cf0OE7~b<4cfUO~zXsxry1SAa`go-D1)+xW$rLlA61cp$L>wep%|5<QC``WESX_ z<`pC+XQ!s<mS?1<=IE9b=f|gJW|rv}r<Rl!l;r2<6zhXrrdyC$lANJeP<e~XCMUDF zBso8~z)ln7B9PPA7?>EUq~ha~^7BjdY;y9G6LX5~^biVfamUA}rl)7-6{i-J6tOWd zFldV3VlJ*MzQvSZe2YCbuPn1DKkpWEdTPlnj)I)TlC=Dy+*_>01v!}|x7b0RC{8W7 z#h#v8l2}qwbc+Qfa*H`9HSZRCN@h`BVs7d!j`;Yr%$(Ht_*>kdfQ^R)<Sp);{KOO( zhdDF1;1;(hI9gnbit>wYu_ou_7pLB0Ny$tuDdJ^dV7SGVn34kWa7t!T5j#kLEwP{= zH815B8^raRqD6cR3=Bp5AOaLMQOpII$x-aZB`F|RMX}~qg0zAPjawYB6mW|T<c!p! zB2e_*Vk<5wN=?iy5(62}nvz<aTy%>&J1@UHFCJt>@h!IeoRot6;#-U<QA~L$QJfH) z;}c76apa|zgB9IkEV#v#R{)Mp2*C|9jSUh9pd?V707^fM9E=={Jd9$DY)m{%Jd8q& zJWL=y6C)QR2M9B9F>)|5F>)|UF!F);j7*G7Od?=W4ki&M9!55hdL}+50Y(-^7A7u6 z9wrec4ki&s9%dd!9;PB)P%yAEFfjOOLO7s^07XcAJj7X`<OX4Z9mrt=i5NSu6G16~ K!<~bXjS&E=SbfU? diff --git a/.venv/lib/python3.8/site-packages/setuptools/__pycache__/ssl_support.cpython-38.pyc b/.venv/lib/python3.8/site-packages/setuptools/__pycache__/ssl_support.cpython-38.pyc deleted file mode 100644 index 2233a7b6e79beb7ef0aaf893a7ca15a3345c2812..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6855 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 LCle!=I0qL12XCaZ diff --git a/.venv/lib/python3.8/site-packages/setuptools/__pycache__/unicode_utils.cpython-38.pyc b/.venv/lib/python3.8/site-packages/setuptools/__pycache__/unicode_utils.cpython-38.pyc deleted file mode 100644 index 8bac82a10f943db30c30cc1133069856f0a077ef..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1151 zcmWIL<>g{vU|=}2?@#g*W(J1GAPzESVqjo!U|?V<wqRgjNMT4}%wdRv(2P-xDGVu0 zIZV0CQOt}CDa<J>EeugCDXb}MEeuhtDeNg6Eeug?DU87knw&2|X8LI|-eNA!tVm`A z@t_#Q=3ro8a0Xct#=yW(!cfCd!kER>%v2;%!n}Ybg|UWVAyY6zl}Zi60@f6!g^aZf z2=Q8m8ioaI5YcdkJP{U#683Daq5wt)5R7EVV~Sv?VF+f>WcG_<_H%Rj#addDrfZ?e zaf>UnI5V%fBrz{JwFu<PTbw1S6(#W{l?AD{xJ&aglk-zjQxZ!OZ*k`37v(1AWLBl# zVoON{3EyH%%>&asp%8VhMMe2VnvAzt3KB~)Rx%XvFfcIuve7TeEzmE>EYK~@D@aVv zPEFA*&qz(p(Jd*?k5A3aEYmMeEh#N1$<NOz)`wacUs{rxQ><4|d5aTdRc=9kaVjWu ziiJSI#mK|R!^p(Q#mK|R$H>RX##qG1z`%eKoGc6s44kmwj6n@f0Z>4If^H#0fm8}( zEn^L13S$~mEmIAX3q!14EpwFsD2QvA7cz!3FflMP1T(NOl(1!U6@`ETlaV2kp-=;a zBNz%bQkX!2S{2EqprD}Onpa#}l&VmYkyxTol98&Ao>`WfrvM5Jh0J0FkWW%lQ*^*e z{rvr070NSG^Az&(6;dk-Qj<$kQxw4AnVFZaP@Z3uT?|%O#LU3J;HSx61o9F%hKg7j z7#MCb7grYF5=~DnNz2ShEv_ssNzH}nE&>JBEg@*6xPapd5;ZJE+zbp1QEX|&@u_*q zx44oM^HMTX5=&BxZ!xFlC4(ajLhyp@;DeeS4{^E(C~bmcfQ^Tdg^7oegNcKYiBW)& zkFf|Omkdfjpa=qC5F6wUaDvugU|^`?sbN^aP{RlcRd9$hW^)xO!9o<2KOz`Fq$X39 zeo1Ljo&q#2AOa;buOwd~Q6a4~FS#T$KQA#yp(ww!Br`A7Pm`$#6x(n=yMogt#LrB( z*osSvGV{`lgc%qhX%fkcTqQ-7ps>hKNmU1V59DM9CMIywDiUX4V9;bQVgu>p2L+rU zBB|=7R+OX`<w0Tul>Wd$0M-IA9+dbYEO1zI*yQG?l;)(`fpU5=sI=i=<Y3}q;o#vA F1^_8*5NrSd diff --git a/.venv/lib/python3.8/site-packages/setuptools/__pycache__/version.cpython-38.pyc b/.venv/lib/python3.8/site-packages/setuptools/__pycache__/version.cpython-38.pyc deleted file mode 100644 index 40a823598f7d3a1616a83ef43590df96f81e21a6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 292 zcmWIL<>g{vU|=}2?@#gs1_p-5APzF-U|?WyU|?V<He+C5NMT4}%wdRPs1itJSiqRV zw2(22DT+CqAy0yZA(bVYtH^+n0R&T+qnINZ@|YqRQW%37G+ADPO!T|ORh(K<T2PXo zpHqB`y)-X7FTXrbll2yFL3Vn4QEG91X;E@&@hyS$)ROp=%;J)w%%swi%>2At>}9D% z#UKWEd_0sHAAgI}wIVsS0Hk0gLlGwf1BCcxreBg<pkI(#pj(<(keHmEnxb2tk(!#L uTT+}KpPHFjrjKxiKGZb5g34PQHo5sJr8%i~j3D2Fyv@PH#3;bX#|Qu+BvR!7 diff --git a/.venv/lib/python3.8/site-packages/setuptools/__pycache__/wheel.cpython-38.pyc b/.venv/lib/python3.8/site-packages/setuptools/__pycache__/wheel.cpython-38.pyc deleted file mode 100644 index e7527fd395cb9142c97743b5cc1e8d92bef3dd38..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7383 zcmWIL<>g{vU|=}2?@uzjA_K!?5C<8vFfcGUFfcF_pJHHONMVR#NMTH2%3;i9ieh2} zv6*w2b6KKTz-*Qr)+p8##uSzuwkS3*%^t-Lra7WGz%*wRCz$4n;sVp$QQTmfCyFP9 zF@-gUJC`?#7i<<=4qq;R6hD~Fo+FSe7$pd1bL0r+3P%Zp*_=5dxuQ{`j0~w_QR1nb z3nWswQaQ6E7cyl@MM<Y{N6Dn{r0}*dM9I1{r0}Kiw=kseH#0@arLY7uXbM#Ehi9aw z<`gRwmlhP{7nSI}1bJJN@fJ^dYDs)SPGU(~eo?L_<1OZ#{B%D}##_7viABY!@nxw+ z#hLkenvAzNiYtrbOA^zIH5qRSCMV|Q=Vc}*=44i-#^)vGrh;?^L>g-{-V!P=$}CBZ zFG?*e%`8gIP0cGQu4;<Yun({)D9X=DO)iNCskhV9w%61Ji9&6#i%HSbve)ENP*70N z&;ZLMm1gFoK*crf!9oR<Fc%>VNKDE^a9}<Gi+~N&jL|F4$Wf`9RZ>)G1r~{q&&&md zL43T1dO>!2d{Js~erZv1YO%VeUP@|mPGS+nPsIg^$*CIgVE4wyYjUMlB&QaXD0qT3 zyA~DY7s1RcNG!>Sk5{l&Kr_0uBr``{Q!llmBsDK3z96wALn9tc#mDO?APi1s0!0QC zb2Bh7urn|)ID?YmJq8Ab5{3ngH4F<GT^M2)#W2@0)iT$zlrUs5Enu!;s$p2jRLfe! z;=&NCSIY(#WvOARVOz*l%MRr+*09#FEo83cC}CK@TEkw$v5<+8p-`=at%SXVqlUSe z5d>WrVqIdGYB_7Upt_i9xX{etf|!xTw1BgQV<BU48nSsc%r%_0425ZhApMLrpsd2w z%jCikD+6<J4NK9v60Ro35{3obHB1W`85s)qq%a3FXtGqf_~w_TDx{XB7FCvHWagzS zl;)+R7AYhY7bVB1WELeTl;kTUq!gEcIXVi7c_|7hsX3`7sR|_-sS2QUn_8q7qRDuR zy(GUNCBHn+Pm|{sQ-1L+mh!}$>{~3LaKFV~l$rx(uw><D=7G4NWLSKQqX=Yiacasf zmYmGul3Sdqd8N6jMTsS;x7boEGK))!Z}B-67pE4LWaj6ABmEX@QEp0RktX*ocBl)Z z*rBew#h#K`1h$1EC9?=(0cTofPAY`SR$Q8tl38?%G3^#}aZ&Ou=9J=+Ta0<P7*kd< z6e%z;F#IynFUc*?FUTy=EzK)POwLYC(Jcq%Tiuf4{P@(&%rgDr)RNMIlKlLfVtufT zUP0w8Hi%+1P>PWQB_k#gMm|OkMm|OXMm|OfFwMiv!^p)X!N|c_q{P6$kPK3WjG192 zUj_pMLn=cQV+unQ6R7lSVTfW*VNPLbVTfW$VNGFcVTfW)VNc;`VTfW&;Y{IbVTfW+ z;ZEUcVTj^L;Z5OdVTj^P<x1gC5olp(W{l!a<w_Au5dyP$Qn^xuQ$)aQ-W1Vb22HVB ztl)A9B?quFFff2HI0poPb3h3rIK4A2WNc=vWvXFHVaVnvQYm3cVXR>kV`ye<Vyt1T zVTfm~VOqepkYNG)LIxLxSdkb=Ug4-=s9~;QX=Y|*C^So92xib^@~aZd%qvUG$xKlI zhoS-~f~*u&i!?cJafN%hy86WXIr_R5foh8)9tH-6TO3J=#o%bX#TAyAQ<@4%3LLP= zy~UYclwVqql9^m`i#4+(HMjT{dvR(>Vo6DnChIMh;?$h9B6W~CthtFL$r-m8vu`n$ zf#V!PD1ziT;^Q;(GE3s)?LaXJvX+5SfRTfdhmnm@gt3Yb98`KRMahgv@dskVOASy$ zfRq}bP)lK4$XLUW#j=1I%3_7E7J_mgQ<a@hW^suEs9;ynKoqY!3W-UXItsAjR1;Qj zq^2k&RVtKZWEMjLPVW|@o+jHZ&die3B5<m_#a>X9pHiA!a*GRL+AY@Nf}G5fTg-_` znYTD#hOT5R(q>?Qq<o}MU;(+s4HN>P&}U#`VdMhAzg1ii|AVA4{0^$PK}opS0GwVR z3Aco?nZbntRK9gGlrXh3q%o#2r!ci})G#by2BnZ@#uS!jreFq5)+$raVsL2!Ne!9B z3d#Ao1&Jk@Nja$s<(VZJV9DgtqN3Ei5_qWCqc{Uph=ZI_401Xs8`dzyiq$gKFlI5- zFlK>hrZna-21bTLCQu?=$>^uae2Y6XuOzjopeVH@wW!Dx6dGm>3=AuoZZYW@++r+& z1PiEWC<3PtPMh@9ywr+<B0EsNC<a-_!ob8(r3ML_%;I>2yY*~x@{<#DitY5^nlRi8 z3NmAmd!-l{7-|?|g+T7@V8~`GVoG6vx|I=>VM6>MPO%2Lj`0>Bv>B0_0&WsO<UlSg z0wvu*kcn&z3=AN*aWJ@PvfN@WPAw?{W$Ifjd8rj8MHV2hnu7?i=j=f&kp5e|D1Pt* znFR7B1Ct12l`s}xqIe0E3qY2DOAZ}yO2`7GeWn_QEM`z1NMX!oDw0ZJ$YUvCZDvSe z>SYF%7b(o*pi+Uw?-p}nUZp1UEgs~i$}M(i6Qu|gHB~Hnsp;vO?6-JPnhv*kTr!JG ziZYW*LG?tDE66{fGz`{L1WFpWI8xKo!EK2mgulU_2l>0mlYxOD801?%P_AZVVPs)o zVHEnu!OZj*mhoZwQ3^{?;K04?1&T$+1q`6X9cxm{RKmD`2~^qEGS@IeGJO$82@9yw zU%*<zQp1qN*37t&v52FFnTdgsA()|%ql7($2~?bdQm7`gUlo^LN@j71Zf0IuewAKn z9z5D1xgT8lCYI<aAXF*j<(DX=<(KBAXmZ@*02Ql{YPBH0II{v=HG=9$koYZ*)V!2p zQ06KErIlM;#U+VFB@h8{_<@QsO%`w&af_)c?G{^ZYHm_$QIQWQaKRx5CP2Y=ix<?4 z1vxby<kUz|Knj5Zl8FaYb}(`<a{Ood&&13HPedr{Q9=}yCpcjZFb!}b0yV(0m=-ej z3)M1#3XdAb8YWOPDxATTA&?=6A%Y<VoJ*>dJoAc65_58(!IN05keH{Cnx3wZl3A3R zT#{c@spqH3a*Mqxvj9|c++vT)EO5)rNrlu6{PCF(?eU4l@t{=34Dq~BN@{UQW?mvF zX@SI3GK-4*u>=Ais&-Hv4=y4YnD`j0M4*`m#fD^%XF=fv!l3#C6cgaw69ei1f$|PR z4MP@V8j~19EprV6G&!-PFx4=NG1Rh_FlVtWV69<HVP42o%T~j%fUSn9hOvgFhHW7W zBSQ_t0`?ll8dgwH)i5mJs9~#N1hK)1i^Z>sRkc`GwYZ91wOB7Du_W;qhpW50uBV@y zza}SA4g!@Xh>Exfls|3>#wX|Jm8BMy#OJ1#B!V>G5{l2wFH4OFvEx(oN{TX5i*Jd? zr)5@v^BlM>9}j9$C8nnqYqEm_wkQ-7h@g;+;svK2cpc9P=7N&aEeI22EF=em1R>=e zJoOcYFfcHH+D*kE$ARi>E>P=>Nq~`uu}TyY?r2e)49d5lKnGz^lb@4;fdLd5#XgJ- z4DF2VENPI|7e_5i4ND4hGh;1l2}2F*0>%^;a3hGVgdv5snX!hAg@KtNn=#+6gdv5k znK7Foj|G&MYuRhqi$hA7QrK(QAPuAv<^?P@jG%^h2RO<=tP<udHc%9GFfL^3WGvyx z;>_ZzVeDWm;aI>8q8BoyaP%^FGC<mSoy;XXCA=kk9n2jJ3-}i@G&6y#R;G4_cBXdb zG-hxskfVbkO8`{q)^e0EFA(fttYHR4IfxCljX8yPArqX<w-B6@N`$gFON2X^YB*B( zdzn%MdKqguOGL6nv&3q-N<<cjmxyFZfLvUqP$F5wxj-sKa3Ny~1Kbp$g-oF49VkD7 zRM&8U)J8CX6PmCeN*w_TWKhFG7*s}pBCdmR0RyO@>|g-(rWP{xThua^Fc+!SFfL$O z$gqGF)N0COgYasZO4zd47jP_OSilJ?Si>2Zphdu9hG1Ax0IExv{Hj<>OVV^LG`ViE z<QJso6?ucw8Yq1ff%4fcmZH?elv`{msmb{%skc~Da}zUjZn1$o-9@+90zjSbqFWqb zesM{WCi5*8aGA-JR&a~84AcPCWGadV83{_hkn{*H2*Le%Sf(fe`4N<*85l(vr5LMp zp=l94^B|fEpkfiGJBk(D60YI}>(UK_3<Xp%8|oQUu^Z_bq@<P^RH@*q6cnJfrj>#! zXvlyAW-3Z#fGTWI<p{6&QW$C&;u%U9YZ#gtgBgk}85kHenQpP=CKhF<7Tsb71qI_R z=AzU>h?n76@D_VfVmWBgp&#UBaOPrUW318uJ6#W>v_N<mstv_eAQ!=th!Fz=Lnf$g zqy=gll`yn3rZJ{4q%gK{lrVNMb%2UQ#xzjJgb9@Dn;9oF6@o@wm@rHPB|L0xE%qX& z8b)Yaivj9qu<taPiflkJoC693##;ig(j7XqQVdoEZWn@ET~k0l2Sqju6B8rHzbaFL zezyU2S3nI$q$Z*!^DVaG{GyW7lv~WXi3OnkF?b-S80wl^tf1ywA}B$E%E+QTkPCA` z1R^fD5C%^MISLe(Y-~)wnHYGO1pZZNli;vh9KNn0jxLTNj#V51-q6~C32f^vKCnxQ zL9q@RYSLu9#R}?g6&J-aFfdf{z=BDyq@qMqx(JjeZZW5)mK1^772pcx7He)cs6WmH zHYgcXaf3U1;5w$r9potwP``{fttdY?9@Lr!)xfuS0uoCye4+JDkswG}K8Pp)5rrTP zY+wV6Z?P3YyNrll`z;nwpcjD>!!7Rk^ql;p#GLq?{PbI#B^gDj#TofIDYtlwQ%m9z zT$XUhAip9Gkiq<*{F$7eo12)I5}%)xrO6Fx2!JaxaB%?gdl9HEy2S_X%OEO9UI-tW zEu%P~T*IO=1_p*GF0d2hL2(+zo0Ff8upgYvG+B#4{TfJ-gNSo*;R7mniXuRs2Sqlh zNM&H+W94AtW0L#N#LU9T#K`uag_(<yi;0hsjgg6giIM9c8wUro7$YAW%P%$#9!3^M z9!8#jEG!_kOpHwbSpKuIgSx#;j7*Fij7*F?e>vEy#Bn4Wl*St<{ewaZ6u!lez>T*o zP$QV3gJB_4CqoGXh}Xf8!nlyBmI=&b29@JQbHHq-8io|66vl<jwag_93s`EHLDdL& zoQnxO{^kOzj2Ez_FfU{*Dkx!C02*Thna)(hvJf(+<x|42fCFk4SQN@;2CD##yn$4J z>kdYS67XnQ7BjeK%96s`!jZxTE<`{hXMDA+CEPWvH4M!lT|2<$Fn2I4WGuQ@!mxl7 z#A0MfVGm}|<fzgCkD!6tC<@S~4`|G+BqKGmNFh1D2-NgcfF)nOTkOTjMVSR9#YN$u ze8QqvP??NTSb@3};KE7<)TLmE6{%$eyMU>K0n~;=E3Pz|!TAZ1d7y<wkvzD&SOjWJ zf|C)Vv^oY#E1*2d!o>6+UL;^N;SdEiyc4U*a*GAz)m!Wtsfj76Ma8$+3rdSpb25`| zv4e&dax#<rG<nb*R0OK-iz-2Rh#k}+0X3n0K|Hq7yqwIu?4mkQ`V|F>q-ExSdgGvB zGEFu}8xiDzC_zx>fHW|nAs8h9>XU(5gz-?3Tdbf6s4N2Yry)M>1Q`s@BA{N$CXl!F zK#e|TK1M$9$PN<&69dzK7A7u6K4vaPF(yc6U}NE86k=lf$HT${YDG#w6F)`(p`?CL z%K}u`f?Mz#kWxQJdS6q*Qp3~?>d=6?hO7%2K>graCQt(k(xIsVrNJEVNHb#=Qw?Jp zV-3p!wiKp?jPscKKrMf8PO4#rwEV$ogSm!vA!BhJC|`hBjF8;MT*J1IvDmJJrG^bO z+R`ro?u>GjaDws{!oET~aAS?tuSyKm&_QjlgNpDX(8x{|H*E9^H15e*uE~Wpp5s7a z9uFc+Km<72S;6xXx5Pl>dcgsX&aUwRj?UhW?ym8kex4zk?BH4h9NSSsm@X(v10@aS z-29X%_T2mw&`@*~2Z#Y0u!BT2y#6bSVqjo62a0IWC=de^xXk;{0`7{6F>-(hWI^3h zaKy?&BNlr{#ZQy(76)vi;1*YWd~SY9X-;Z<{4JjN_`=e}9FR-n<BRk`-UN@SfTA8e zm{0`nH-&*DKt=K`p5l_klFa1X)RK(+6i9ImN|0d3B6$Ge3uOid22lH>7?hSdm^eUy zm4l6gi-VPei;0oTo{5o5nu)Opq)t=*7JGbrN`7*D{4G9EHUZ6i6zhRV$lwRK7X{)L zgR8!xM3B1-K?Eqhf*Z%Tn2J)1f<QvxnztUr0u>NZ3gD^<Jh}*;N-4_IgLLFF^V0P| zqk-Uor6@&w${<#QYKJIMOm)SX72sBRlr)kYw3-DC_kaf#AT=;cNo7ImE#7!=y_%ep zSX>+*e~TT|h|0`Ky~Q5p8sy|3>{<jGd@51_c>&Zc0}r`_0}5M6-{P==M5`UBIa~}X l9YBeN2Q+E{!%Q6DabQrA;bG)qW&u^J%q)M{*jP9?!~l>=YwG|2 diff --git a/.venv/lib/python3.8/site-packages/setuptools/__pycache__/windows_support.cpython-38.pyc b/.venv/lib/python3.8/site-packages/setuptools/__pycache__/windows_support.cpython-38.pyc deleted file mode 100644 index 960326e92e826489df0aedf737ff8b0839fa8042..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 989 zcmWIL<>g{vU|=}2?@#h6CI*JbAPzESW?*1&U|?V<)?i>@NMT4}%wdRv(2P-xDNHHM zEeugisZ1#>DXc9F&5TjZDU87knrtsYX80vDf+#2kv6&bc7@R?-NiZ-llrSt{T*#2Z zn9W=y0x>C=p@t!tL6gPr7JGPRUP^v>aWYghm;&hrnGz2&fd%ZIU<OS_zm*J{Ot)AP zi_(j4v1ONo=pvA_!Ne~+{gT`Q{esK_-O{{*#N_PM6y5TS)YKf^lH&aM)XdB>{o>S; z(t?uw{G4L_a)_<*#ia!W`9&pq1(mlrY;qEFlTs4x*cliYK7-s*B?nWMpO;gqXOokk zoS0K=rw3E0$#jdOASbaTEx#!D7F%&;aY<^fCgUxZw9>p}u$v$R8v_HwEgoc}SV8^* z2{SPAFmf;!@h~tjpadbv&mf<HgU|;Ygei>8jEoE=j9E-s%vmh8j3ta&tXXVel0A*7 zhB2N4%;v0NjOR*Ws%5HStYN5OYG$fsu3;|rC}CW{y^x`aF@+fv>{Z=d3JMAe!Koz* zB^jv-8JQ_5sd);CB_&0fNu?#J3i){oi3(|%IjIWyMG7gIMXAXp`9+m_Twq;pMftf3 z86_nJR{HwIC5g$|`DLj^X*v1jddc~@`h}&b#U+{fdBysMmS#pqhQ`MF5N!zsi6t2c z3c01lB??KY3MHu(C3;}<s`!&jDhpDJ^~y8zz>Jrm==am)xy2P9pP37ap7{7%Y!F4a z*g)Z!lXHtBJGCe;HOJT}N+>wB#4R%?)e+|W;_xUAm|0P5J^|suAwf~BF5&(`F1I)m zi_*cCM6o#e`}^EtFG?*2@uN7xGxJ=Fit>vzS#Gg_oEjyFVeTzaH%}kec*l^CAWx^z z5Z8DQPZt+gzgx^jsU?u82E|zsC}MAMW@M(M#)HC;8x+|Bp!CGa!N|oZ#K^_O!o<bM z!dN8Ez`&r%QpCx?z)-{wB0%W?EQ(|r!blFA-29Z%oK!nd)+pv+U|`^2<Y4AtV`2mV D3(fjy diff --git a/.venv/lib/python3.8/site-packages/setuptools/_deprecation_warning.py b/.venv/lib/python3.8/site-packages/setuptools/_deprecation_warning.py deleted file mode 100644 index 086b64d..0000000 --- a/.venv/lib/python3.8/site-packages/setuptools/_deprecation_warning.py +++ /dev/null @@ -1,7 +0,0 @@ -class SetuptoolsDeprecationWarning(Warning): - """ - Base class for warning deprecations in ``setuptools`` - - This class is not derived from ``DeprecationWarning``, and as such is - visible by default. - """ diff --git a/.venv/lib/python3.8/site-packages/setuptools/_imp.py b/.venv/lib/python3.8/site-packages/setuptools/_imp.py deleted file mode 100644 index a3cce9b..0000000 --- a/.venv/lib/python3.8/site-packages/setuptools/_imp.py +++ /dev/null @@ -1,73 +0,0 @@ -""" -Re-implementation of find_module and get_frozen_object -from the deprecated imp module. -""" - -import os -import importlib.util -import importlib.machinery - -from .py34compat import module_from_spec - - -PY_SOURCE = 1 -PY_COMPILED = 2 -C_EXTENSION = 3 -C_BUILTIN = 6 -PY_FROZEN = 7 - - -def find_module(module, paths=None): - """Just like 'imp.find_module()', but with package support""" - spec = importlib.util.find_spec(module, paths) - if spec is None: - raise ImportError("Can't find %s" % module) - if not spec.has_location and hasattr(spec, 'submodule_search_locations'): - spec = importlib.util.spec_from_loader('__init__.py', spec.loader) - - kind = -1 - file = None - static = isinstance(spec.loader, type) - if spec.origin == 'frozen' or static and issubclass( - spec.loader, importlib.machinery.FrozenImporter): - kind = PY_FROZEN - path = None # imp compabilty - suffix = mode = '' # imp compability - elif spec.origin == 'built-in' or static and issubclass( - spec.loader, importlib.machinery.BuiltinImporter): - kind = C_BUILTIN - path = None # imp compabilty - suffix = mode = '' # imp compability - elif spec.has_location: - path = spec.origin - suffix = os.path.splitext(path)[1] - mode = 'r' if suffix in importlib.machinery.SOURCE_SUFFIXES else 'rb' - - if suffix in importlib.machinery.SOURCE_SUFFIXES: - kind = PY_SOURCE - elif suffix in importlib.machinery.BYTECODE_SUFFIXES: - kind = PY_COMPILED - elif suffix in importlib.machinery.EXTENSION_SUFFIXES: - kind = C_EXTENSION - - if kind in {PY_SOURCE, PY_COMPILED}: - file = open(path, mode) - else: - path = None - suffix = mode = '' - - return file, path, (suffix, mode, kind) - - -def get_frozen_object(module, paths=None): - spec = importlib.util.find_spec(module, paths) - if not spec: - raise ImportError("Can't find %s" % module) - return spec.loader.get_code(module) - - -def get_module(module, paths, info): - spec = importlib.util.find_spec(module, paths) - if not spec: - raise ImportError("Can't find %s" % module) - return module_from_spec(spec) diff --git a/.venv/lib/python3.8/site-packages/setuptools/_vendor/__init__.py b/.venv/lib/python3.8/site-packages/setuptools/_vendor/__init__.py deleted file mode 100644 index e69de29..0000000 diff --git a/.venv/lib/python3.8/site-packages/setuptools/_vendor/__pycache__/__init__.cpython-38.pyc b/.venv/lib/python3.8/site-packages/setuptools/_vendor/__pycache__/__init__.cpython-38.pyc deleted file mode 100644 index 18bac08ce8d6f529f5100eedb8a30aa4ac1b689e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 154 zcmWIL<>g{vU|=}2?@uy_eheazF(U&5g98HtLoo{j149Z!FoPze-%5rekT8PyWv^e7 zTcBT%S)f~*SCE*TotmOso{^fGqgzs(AD^0;S*Bl{T2fk2lAoVbtRG*NnwOGaq#qxj cnU`4-AFo$Xd5gm)H$SB`C)EyQ@Mn+%0CFNGq5uE@ diff --git a/.venv/lib/python3.8/site-packages/setuptools/_vendor/__pycache__/ordered_set.cpython-38.pyc b/.venv/lib/python3.8/site-packages/setuptools/_vendor/__pycache__/ordered_set.cpython-38.pyc deleted file mode 100644 index df07b00bda66b4061bb45ddd1927408bb3492477..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16412 zcmWIL<>g{vU|=}2?@zLnH3P$A5C<7^FfcGUFfcF_*Dx?Jq%cG=q%fv1<uFDur7)&2 z=P>88M6ob3REeZ8rm*C&=CVbx<+4YyGctrT<f*VQq;h0)6$LOdfFM`}GeSiqLmpEE zLn>zqQ!`@}R|;zscM4kydkaGpk2^yOM+#>PLkedqTPk}qOB8PkQ!s-jSJhiC$2<l9 zqLkF4)Rf@V5{1lSg+ztq(&Cc*Tm|3KlEkE(RFH5<Mq-IVQEF~#Zc=Jdu|j4^u|hsb zla4}hz5-Y>wJf!$k}EZ@q^MFMBe7T^F;5{gFD11CBAc9;r;wDYkdvREotmOhTA;_p z<&;>Qnxc@Or;w;nl$xAbkgAYhl$oBHmza}NsZfw#T#}liP?E3Um|T)smKt1=Sdyv` z1Xfq9kW{G<lvtUYpO>QGky=ucnVwpt!<CqqqEM8YlL|JrG%qE!NTDPnRl(OYL?I_L zIW@01Rgdc>C>s1U8E>(sq!yN@YBJs8LU{5PM=(e*FFCb}*;vmonGvKIia~5<1_lOa zP_!vAFff!b)G(wlHZ$cblrYvXlrS|j@i0Ky%pi6!gC<iV7ZU>mmx6+Vf@4vtLV2n} zQfg*ix<X<xC=5#S!J(m0TA+}qkds+lqL81aP?C|EmtL%+keOFplA4$T5=vAk&df{C zNrlMSgN+MMRY=ZAP0m(G%ZGR}AwE8{B(*3$K0zU|q@*Y_sk9^&9y28wnZ*jA2uRK^ z0|iQDL25BLR={SZ<maiEC}bp-rGi2`DODjmFTXqw6vSYCx%nxjIjK4d#ihv^3W>!E zex<nql?sVPMTwQgdR$-=f=h}ZuFl9W2c-fXh2o6-(wr1fgeT|c6=#AI7f5qrNq%l- zvO-y6PASL<@DR{Z$jdJQn+5U(D9sh?DTHLCDikN?rYfZ8rxrteT3V2kTC4*KkYrGJ zq=Fohs*stRTMAC73ZNuVl95`JnwDRb3O27SF()%c0hB5;Q(^86PgQ_;IxiKH#8AUB zpt2+*KTp9(A)z!cGdVvcH9?`IvLIDQAt^OEv9vf<A+tmwB|o(|PaWc9aL^^@DPWC* z#JtM##7aG|TW)c{Vo8(b7JEiwF(|5Tab*^RVmmP}IrSEEaY@lF))J66H5qR)=O<;Y zWGLchU|{&=q+gO-pkI(#pj(<(keHmEnxb2tk(!#LTT+}KpPHFjreB;|Qd&@wpPy5# zA77T5my%zk56+>fDe=XrC3*#wx41Kl!KnlkzG9$s3@)YkxEQ(qGcj@fE#hThU`U3h zcQ^$~^x(4U9|HqJDnk@w3InK|iegT&PGL@AX<>|FNnuT4Yhj3DO<_;rXkmzAOW{o6 zYGH_CPvK7CX<>-sNa0Q4Yhj4uOyN%vXkm!rN)b#EYGH`tPUVi`NfAyFX<>-sO%Y8I zYhj4uOXZ8=PvwgeND)twXkmyFOp#2HYGH^HN|8>HX<>*GPLWNKYhj2INs&)cXkmyF zO;JoyYGH^HOHocyX<>*GPf<-#Yhj3zNKsGGXkmzwOwmlyYGH_yO3_ZyX<>+xPSH)# zYhj3zNzqR+XkmzwO)*R{YGH_yOEFF{X<>+xPccm~Yhj2|NHI^bXkmy_OtDO{YGH^{ z0+*IHx3~}`Wz`LEq*AB!1RDj)JC)$HN@NKNDp_1B5_1c3Qmw!yfCTL9?2yWHjc7w1 z1w$PLBOL`}9R;IUO}ILQPrzzG3ZSxn$xQI*XJ7!aK^R=}DKIcFq%+ho#4}`qNX8n* z6ozchBAFV78b*JHT80#cV1|{9ews|TSTjpfbBk{==Oz|tGTmY+PR&WX#R1FR;4}>( zco-NMz!@Vivm`#=1e7d6)guEV8zUPd2V<2m!kv2Y@tI&%7$q~@eV`N#Dw(qwn;C-{ zG#RUo!2KJPT2fk+2P*hd74k|!)flLBEzQd;EKOBN%}LEo%_}KZ$jk#*8ql1hP@Gx< zDdRvPixJcyK~Qk#q~>WLoT(8VtBD9^kQxKHBS1WCIzTamuFD9nOOxpqb53erkpKe& z!%D^?AqECWselxM?D6qAsd@47R-ga`1qTCHl@P*BdQfSUm<45R7zQ^*N*HPwOBkD( zilk~7OPI2miljOi7BDYl2xcf@sbOqpEHY_lNMi&wR$4e}7+n}ZVO+vm!<fR{%v9_F z*PYYBki}NRD9KRERKifhRKniORFu}iuz;h6X(3}ULk&|fLmp2FX9`OVqZmUoV-sTv zYcPW*TVf!rwgiQeduj<dCP2wZA+bauQ6W9EEEU?OfL1&pb)IPo3E*}{0;K6u465sO z6e{ye70NSnaum{2OB9k4le57Uo&s1F6z?Eoi*>+t5<HmmQp=HY4jwxowRMpKsA|s5 z%t<U#fF*3O#p+ON;nh0a2C%IP$@xV^sl^5Pc`2aQKuNwrNk%@XTFFbvOil$?e3``{ z&lG1u3@^!70N1+e#c+d^(h~EMD<KW6%)E3ZJ#cMVlv-Sx18&0Q<(GgOV2A_&ue?A3 zlbcuxYJ|W|1GOSjN(*u_lR=HFOo%&lV6`byZh>c$B5-C(O+nQ3aKk`tE=2x<>wq+R z((;Rt!WCzR$}dhWQLsgd4D=!j6!Rbq%1a={(T1^b2Y|#8c?YGe0A&mo1_lOUP%Z&g zfuOQ1mamqvgCUCnlwv0`6|w|FGM6SJIKOE!-D1)+xW$-R1X7Qb<G5@<$sjpDx4<qM zWE{v`HU=h!DlJ5)>&3^Xr<Q<XJw9H~CMQ2RF{jv0525iEC#XnENv(*FuhMn_H^e}# zFNKW!a!_LooUYO1u~I>`$WN22h#gdLvVs%zEzV#cPiNP7M<1VCEXnx=mEfwphz(Ru zfXa+pEFh<XEKANwEG~|Zzr`6+S&-^lRFq$&$qX(}Zn1(byTt}cLlA$0eGD$3xsg2L z2J)>4sD=;{V&q`tU=(5$VdMfqCN`!jG3>rai3XI$G^og~VOYRW!vHEAG#RUY!ebIr zWP`F<Mq*A*ez^k3Z=l>;0&3CbCuOB3mk^Vjz{-hEPM`*)f-R`IU91PPPy@9v2PHX( zfwl_yAhmGkf)ZXxQ7NS13F3e-TzO_O7Ugb<ImHO|nv6xD3Kl7)f!cmWpcp8U12?}I z7>Yq@n1QE?A1RzcuEYpnkUDUkEd%YXG&80!W-}EDfSNL(J`1Sy2G!S^%zj0n7%Ads zU|`T>DiQ@H8+i}`j(@Ndzy!!0w|KxQp%~O1i;ph`B?VA2V_@WAXJM)mM{*RhI+SV$ z<S<aR19lv!D^&w=m<T8pq%$mJWMs(W0<mitL2R%SnfxHGV=MwCJWVEOngu%pl2%b% zSe#k{mWq$BN4SuKkq6y{2z3}P1i2FILU8(ItYOGv$Yw)pQiP-ymndX{dTpRiL253j z&;~akKyeM~9fJx;qFNA!poRw`@W90#T6+zYn6RcUQ{wbuBsD=$YXTaQ%-N}xSi&(m zKd&S)Gp{&4z7-UXpfF+JLW^aD8jLW6$Fczf149iY4B3m+K#4DlsTs_#VYFeWVaQ@y zzzm6PP&k7MVo*pYx-vq$&mg}$rlcq&WT#dpfGh1hP?ehtDkQ;q5fOAcpjJbk0;GZh zk5hmPHl$(#)M5ae0~+ecDN0RD0ac_RZAcZ44$K5lbp|#8)a^@zD2M0xjKmZqgGs2) zFpCsWEvA=PP>`CJqG60GjoExGD9X$$(Ew>dRfz}&jc8+NYaSGKnk+@2*oI_naE-tQ zv8qS|l+VF=2TXvoICEl3%0y6ngB#*}T#N#YJd9O*2*dRfQ&LbO8&vm!6oWGisD4Oc ztYxZ_0JRZg`D&TLnVESZV=Yr57i18tgfW||$N@Bj#mG>?l)_ZP3~FCOT7!^5EKn;^ zlR41_ISGUoq<|VIpeO+~5Xv)4GQiOWZ5fuN7J<693dPV-9Mq%$(glu4c<h14TT&Hr z5{pY<9RSe4OKMR`Dw)v=>TDr(q(DIr!k{_;6j^$uU=L_S8-x2~reM+pDV{)zP2lbW z@jzOMiEU5^0^G$j)lon;(XUFwu_(P1)VWar4R;iSvP@Dcs8NAvv!>^lD5w@|vJ~ln zQiCF>VZjv!8lwTX5N@%6hCeh}AZ0EGEOeu|!0j4vkltbevC#_<Hi&nZfszua&%(gN z!pOwP!6?AU$H>IU^`DEmN)RbgK~$rpD^P(0DnvlISOrp#f%+j*nEj9rhAc*C!NHv9 zft+gKJqhq=WPTdFD*+l6s?<>^N(7C-q=SOQ6Ql&}X;87AS)yL7kOv)@0!2naQEG8& z9&(cdQXqlG)=<L~)JOptp9vb~0u7yJf=vQ7Wx#`Fpb<WW@{G*n429%Gq!s|UFoTp` zpmA7Gvkhbvv`J20SwkpMf@4s_2(=_Jgr`E3h6N}>Sg|*t7chWIaMT7gsCL(6Dv|)D zD7NC#Bv37bXjFg-n<6O&28L6h6ap$k!0l%hq%;9`8@86SCKIHM3oh0Wg&5dyu(=?s z_khd=H&1vu7=;+C1kg>!@Egc~;6e<P6F_xQF<%K|3L~hK3gV?ONix)e>#Y<fTX4Nq z!)VJ;0~%^zhK>h;(n(NiZhjdkkAViHL8A`fQVOM<Nh`|F1&e~l<`6>+L5Z2gsl^K3 zsg>|l2r9QgrCnyRLTYY7NhNI(K|y{2T07Smo&u_PKr;X^`(OV5|Np-xGq`hfiv#9T zaQ&hQZB4L%dVT1n0dqlq!9`GnfTD+in~jl!i3{9)K&e>@@(WN(08nBBr3`SS1VEb+ z*=$8Vpy&YQ_gbbJP|k-$2Lm`d7_t}^FfL?pVThHBVX9@WWvOAQVajGL(y3udVUz$x z8$%7V4MU+0s3ok)oOlDdw1CGQtV+;RP;kiy6$9Xc0u-wXsTIko1tppJd7x4vF$t|q z0F7HCCKVKNGb=Ll6iPwS3eMdn`3jk!5j${^42oR6B5-oi&{W7xEy>7F(SZ~U@Zi@1 z4K`~b*$(QqDU@fV=7Bo#kP&Q%5ekV4dHH#|sTG;UC8>EO;3g7nl1oZvadKi&3VNwQ zLT!cIJOSkykXCRVNnN8~f_gT7noQvI2~M+`tl)~QNE1}oNrFly#_U^+W$4M39qNuJ zpd`x&>g@_}FhUY6sMm`!xCT{<QksD51yx(%gbOO<KnXU5F@>=el2jQNFfC+YWJm#( z9ZXdg@Ysf>znmO!^c5>WONz{5q}C~9J^>VLe$bo<_TMem<eb#RBCP#KYX$~}KOnz= zauWj!4{B)$)`#JKcxedg1ECD7Cc)i{v(XExyEH&;43wc!XgeiV6K#kTUP-|X28|kn zw1XoJtCv7!12ZG6OU#BoR1BUEBf(E;aI5kAsR%SqU!0mkoWDT5I2{F~;VDg~TO2SW zaQY3@&4ww8kLO16Bx)BMp$5aFpm+u+J~dFO$xtkm0<O5S7}FTV7=js6K;<Sw7Gnuh z4MQ_y8WTuNli9C|MYUK%vx-f%SVOf)Q<E7yAORYm&r8frjgK$FIWE8vA77MOP!u08 z400^E(q&{}<U=38hp0g*;z79t-gyXuHu6dsOPJD_nwg5^N|-?ogme(HnSvRrcp!t( zwM^j*d15RKC9H_9L?k#rMSzB@8JZbum_X{Gh5S0yLLO8r7b}z$m8OEqa8NM}?Z<*< zx4|=dATjXtBdBRxtfv6#HiE}{AOp?t!~&Z$hW0kVGY6o70Pv(@YKjhI)TcZXG{OrW zo6Stm%P*p&hXG1bXq^UF>8W6As{qPMU?p%Tf(i<(LkFM&7p4W=Z$Z(5I${7a1jQOs zH6R*a;0}-xC|961I#Dfj^V4Jlk8&1)l5!EKFajsPTg=6&B}JfK3ViGm94}EkU@AVb z7&PIDUY@hX$EOy?$4h`xC%8Bl;$s$IWMbrD<YVGsLg|P=RH9@kP*DR))9#=W)CQ79 z8NgE|0-({0Jf;%HTBZ`_5|$Fy1#C48>5Mgu3z?dkYMDz|v)C4}*MK^|EHz9uETBO* zO~%A+$f?meKQ}2eFSS@9F(*d>Iw1u~bnxhKO-#;!)(7wemXey5nU|UZnyCjZ$4JX8 zDlSm~b?Xz0K$FR2Rs4FTd71gBlUb0ystLHSY8tDl14&=8IttN7Itm6@(jhV3Rk)$1 z;HgP$#(>f$)H%@>ItrF(Hld{^LmdSZ9R;XqIto}cz|(GxLbahmEj(yJ=^DRbhRDv- z<bb3}P#OXkj^LUXk}#PvOK!0yXC!9k-QopR+wj?TXqy8x4O&usi#a)`IEo8V-au*r z@c0Xu05y<rv4Ug543u0!g(Cx>2%`vS7zViy16G1kmVz<~s5}K1{GeJJJoLf{8d--9 zpx)xi%qvMPDo#xXHDFglTI@wmpvDl`axejQ0egIWVqQvoyeG&FAcGm0P+C1uX_R~d z%Bdg>nw%*1z>!aC7>jI5n6p?)Siz+_Qy)Vo15$^c0W`5#%bdqj!%)jy!&Jiz&NIx3 z>yh&eWNM%o)<_3W+$QJe=H`Qz8I_c$f*Qv;IiUI5Vm(O12~;M-vP^znP9;16Bvpbt zVvziU+8x8$5CA1klnE+5<WNOv85n?b4!E#{W*!I|Za*jif)Xb&`3By6!q5$J5vn6V z`4f~UKv@;44|Qw^WHEBeM_wHOk^?yk(^%9Z8(BZp5~PfZk~Tm|2$VLBL1ieUMI0+s z%UHwM!H~^X#8kr=#=yu>$OIbi2d7nV3BD3CdQb!!L0-vtiwzRTU@7pt$SqEr^whl6 zih?4$I8ZtT71AsWObi^T^Ki(qgEX7~(+aC-5SiK$lp(x81Zad|C1mic2vqzRfs!>+ zmh}TE0%e#YkaAy;BS1V*hGk(CU=(3uVMG}*M|KKI_<-^a2!rzuXdWNbW2j}SVJy-s zVax*6E{rvd&BW%GyV!CIsDc6Y&B03@z^nEWi&8<;2jHG5Xp|wTv;^GO1+{*_)hTSz z6evO9%nn#nfnG{xT3TvRYF=_GN`^2(U+93Q8(Ys1O$j6i;jusmlIOuo8o@*1cv3A= zdIfnBl<Kisr=W{sD0*%|(?gao@VF9OPa+$Nl6LUrEp}XatH>8L1H_0__=6H|5ona9 z1eA=C@)A-6B857(oWugD6v6q&6O=VT`KKrl!~$0>pawo9=W-#^2gonQAj=u}*cjot zMiddGNS0#Mcc452Dp!iNp!H2NV+lhCLo;JGOOXhue_g@|u3eZ?m|Hk%z_kmwMqx=b zN6jMz`9&q5aTU;{u0moSIQfHW5Cv#e4O%;tSqu^(rfr3AJa{$_nq)JJi%XM=Q%f|e zL8WCaYJ{V<fAJ<pJye6hL;ogd#$j#p6X7fquxX}frlC5{4HRXdQ4ugkNq(R)*ct}V zstQQaj;&Y+C%qzYS^%dCP~3wPUOOn^fnpR?h*zm0TnqOwmPEG_GHHE_IWZ@v$Qw&i z<A8-$CCGSCx@O=JU}Qn<oWj%)N?@R*1zPLW%$Uu9C4qt0ML`poEuI7hFLL3j3n|Hw zlfYs%!C_PYYTT6|r8$(Q0%|PcNn+rp0<wYN1goQ9jFv2jNo3Fjh3Y^Y=Ak-}D#;9# zAQ3GFa59??N(b;{hFrRVQUN3gu_Uyj5K!Vmq%g3_ptK8G#amno(boww8!3$;7h?$1 zQBoPGdkHGSz|D40)ejnML+@VJfJbT|6XoEBF=I310%p*%nOc?_<^?P@ETCq-CS&3U z)Kmu=>HxQJiz{<;Q%j06lNAspFKBkDq&y#~W-A8IuPcBS!+{&apfm!)A&_Y-@Gu8V z7P7<+nt;LGSFEjz)QZI95~LP)eqJirUeE&X)Dq+tMo30#W)Wm(0mSU2R0Z&?TTvNk zC<Q#@3%3H)#ZpKBtt?FdDN0TSt*3*hb~I(+(ma8fd<D*!7^{V#X;??W97}rvY&c4P zKqJ~xN5LH2^aqc{pceF?HU`KVJ$RJFBcenDY#OQtL^-Gt4QkWtC|IJd=GA0H@0JFG zk}9YMhIT$7)jX*28pR5-%n(8uL2?GX6uu>b%}p~wX&T%Q<riV(0}boRBb<cQ7bxi) zRzHB#H)tgjXfa4Uc-u=0LkXx^3obQl7~+{yn1dNKS*jpQ>p|%*D77Fb5whH0K^;6S zqK>>>0(n?m0h~S(!KpJpFI7hYJf)nOmkv)9pv0n=n^>Tbn4Fwn1WGSC(8c*6t5E7R zP<{lJ5TI}@24!^6isx9q7^YgrTBaJN8pg?pwSwR<)MSQCbTVhARDk;{U{MGGDI;uB zGLuWdD+V`%!V^?RurYw=Jav#lGal^fRM6l-ZZT3J1lJ53^S{NJnpc{eT9jCl3Lb=j zPQM}bO%Soli(=|pko6$XF|e{RR!QKp93wnH<rKVoQo_*8(8&N^;~`MX)B)NN!_>^^ z&(O(G2wJ`cX>>8BFo7CfSxlf#J$N}6IDQjPBbQO|bsZ>^9H5m7(0MIzv_ob>z-32~ zLT-LhDr968)E+}FLU49cKp74#kAm7@Its|GYEUwO=T1;IfplP?p@&paXn?!d=v^6* zR!Bb{WE<{0YzVOxo-UEC#qLJP_!gG32V@aa^BA{FQTs%Y0W&jlJz%V(V2b1zl#~L> z?V!X3US$iK`v<SG6@Yg2*^5|e7?G9<Kr#rVD{_k;9Mkb7`SFmLhe(2Q4|t)#aZtL2 zWE*f7-vBA)Vnh~F)&b2$f%Bc;O6DSP*CYm1I)YY0LC26GU3<hZSS&~$WbZ9O41>3V zTmdNzL0c5~7^`IPxdWpl1mz-7=~4`unSpdwIvHvh7U0h@py3U8dcmDzvQtwF6hPx! z(Bb0DJmjv74yd9mPAw`!E)+|UDqYy}MR3&*w~oX-MVq=3dEf+=%CS_Hq+~(V+MI+$ z%!V@&qjzdR16|iZ2?i<I8X+YYEWW~;aEszWDH7521oxf52~-%15hp=5g7P2(4+mqF z9De&y5-2EP!V@THrlXw^b;}2MQwL)+V<$rgBQ(h}g9`Z$Mo1xF!z2z~!<)hq%%I7d z2x<+((-H1u3(4-#Gz)InA@zp9ZO%NnDTyg5$O_>@RiK&xvdyDBwI~%lj0J8xf>uI+ zw)GI-cL$ZJn8h${k~OyG78Q~=)>a}3DI9k(jWibzN`K&j`3We!A*FCDq!fq8gV<6! zb=(Lpzv0avup6JFy3r4uqhQ59sN|30f!98XDJkHpN0X^24wUae%NHS|R?>L916oK_ z44QRe-~p`>VPO>ek1~XTN2?~IpQdt=J!m-!SA2Xfc++isJZKp}VQFFxWb*wMdwhIK zesX*~coBS&ILKk3MUmjW0Y$1Ht~!VSje|j!a%zLPh9Cm894?AIJ+&l0CqFrg8^i#w ztxGK`G6TtjI-NzJH6lfz%wJ>&5(91fECMyzi$L9oA|H?#XpFlE)Fdtn198JaL<EQc zSEvafRw9T<0ukWwM-brD0vcimIj|UHItL>QCl?zB4~IMl9|sQyh$YOz#39BZ#KOqJ z#39Tf!NJY}0<0Wz9Kswd9AX?|90D8y93mVX93mY2MIh5O`HE6O;l>GCEdt&ETjT=b zb0_EL<UppmiovtTxA>7n^b(Vji$H}Pcy{>~w`VSB_z%45t_ZYaqDU5OMtpo(YEf}! zeqMY$WWgcGMsU(VB0wIy#bE=9H9OGCpJLE91r~PDmIEdx5k@{HF(wX17G@3+0M990 A`Tzg` diff --git a/.venv/lib/python3.8/site-packages/setuptools/_vendor/__pycache__/pyparsing.cpython-38.pyc b/.venv/lib/python3.8/site-packages/setuptools/_vendor/__pycache__/pyparsing.cpython-38.pyc deleted file mode 100644 index 43a74b9f987abc7f692d5c3db37c4b8ad2338ef2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 201631 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 diff --git a/.venv/lib/python3.8/site-packages/setuptools/_vendor/__pycache__/six.cpython-38.pyc b/.venv/lib/python3.8/site-packages/setuptools/_vendor/__pycache__/six.cpython-38.pyc deleted file mode 100644 index 43309b5c6b4f14950017c8c998009dcefb0896c3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 24427 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 diff --git a/.venv/lib/python3.8/site-packages/setuptools/_vendor/ordered_set.py b/.venv/lib/python3.8/site-packages/setuptools/_vendor/ordered_set.py deleted file mode 100644 index 1487600..0000000 --- a/.venv/lib/python3.8/site-packages/setuptools/_vendor/ordered_set.py +++ /dev/null @@ -1,488 +0,0 @@ -""" -An OrderedSet is a custom MutableSet that remembers its order, so that every -entry has an index that can be looked up. - -Based on a recipe originally posted to ActiveState Recipes by Raymond Hettiger, -and released under the MIT license. -""" -import itertools as it -from collections import deque - -try: - # Python 3 - from collections.abc import MutableSet, Sequence -except ImportError: - # Python 2.7 - from collections import MutableSet, Sequence - -SLICE_ALL = slice(None) -__version__ = "3.1" - - -def is_iterable(obj): - """ - Are we being asked to look up a list of things, instead of a single thing? - We check for the `__iter__` attribute so that this can cover types that - don't have to be known by this module, such as NumPy arrays. - - Strings, however, should be considered as atomic values to look up, not - iterables. The same goes for tuples, since they are immutable and therefore - valid entries. - - We don't need to check for the Python 2 `unicode` type, because it doesn't - have an `__iter__` attribute anyway. - """ - return ( - hasattr(obj, "__iter__") - and not isinstance(obj, str) - and not isinstance(obj, tuple) - ) - - -class OrderedSet(MutableSet, Sequence): - """ - An OrderedSet is a custom MutableSet that remembers its order, so that - every entry has an index that can be looked up. - - Example: - >>> OrderedSet([1, 1, 2, 3, 2]) - OrderedSet([1, 2, 3]) - """ - - def __init__(self, iterable=None): - self.items = [] - self.map = {} - if iterable is not None: - self |= iterable - - def __len__(self): - """ - Returns the number of unique elements in the ordered set - - Example: - >>> len(OrderedSet([])) - 0 - >>> len(OrderedSet([1, 2])) - 2 - """ - return len(self.items) - - def __getitem__(self, index): - """ - Get the item at a given index. - - If `index` is a slice, you will get back that slice of items, as a - new OrderedSet. - - If `index` is a list or a similar iterable, you'll get a list of - items corresponding to those indices. This is similar to NumPy's - "fancy indexing". The result is not an OrderedSet because you may ask - for duplicate indices, and the number of elements returned should be - the number of elements asked for. - - Example: - >>> oset = OrderedSet([1, 2, 3]) - >>> oset[1] - 2 - """ - if isinstance(index, slice) and index == SLICE_ALL: - return self.copy() - elif is_iterable(index): - return [self.items[i] for i in index] - elif hasattr(index, "__index__") or isinstance(index, slice): - result = self.items[index] - if isinstance(result, list): - return self.__class__(result) - else: - return result - else: - raise TypeError("Don't know how to index an OrderedSet by %r" % index) - - def copy(self): - """ - Return a shallow copy of this object. - - Example: - >>> this = OrderedSet([1, 2, 3]) - >>> other = this.copy() - >>> this == other - True - >>> this is other - False - """ - return self.__class__(self) - - def __getstate__(self): - if len(self) == 0: - # The state can't be an empty list. - # We need to return a truthy value, or else __setstate__ won't be run. - # - # This could have been done more gracefully by always putting the state - # in a tuple, but this way is backwards- and forwards- compatible with - # previous versions of OrderedSet. - return (None,) - else: - return list(self) - - def __setstate__(self, state): - if state == (None,): - self.__init__([]) - else: - self.__init__(state) - - def __contains__(self, key): - """ - Test if the item is in this ordered set - - Example: - >>> 1 in OrderedSet([1, 3, 2]) - True - >>> 5 in OrderedSet([1, 3, 2]) - False - """ - return key in self.map - - def add(self, key): - """ - Add `key` as an item to this OrderedSet, then return its index. - - If `key` is already in the OrderedSet, return the index it already - had. - - Example: - >>> oset = OrderedSet() - >>> oset.append(3) - 0 - >>> print(oset) - OrderedSet([3]) - """ - if key not in self.map: - self.map[key] = len(self.items) - self.items.append(key) - return self.map[key] - - append = add - - def update(self, sequence): - """ - Update the set with the given iterable sequence, then return the index - of the last element inserted. - - Example: - >>> oset = OrderedSet([1, 2, 3]) - >>> oset.update([3, 1, 5, 1, 4]) - 4 - >>> print(oset) - OrderedSet([1, 2, 3, 5, 4]) - """ - item_index = None - try: - for item in sequence: - item_index = self.add(item) - except TypeError: - raise ValueError( - "Argument needs to be an iterable, got %s" % type(sequence) - ) - return item_index - - def index(self, key): - """ - Get the index of a given entry, raising an IndexError if it's not - present. - - `key` can be an iterable of entries that is not a string, in which case - this returns a list of indices. - - Example: - >>> oset = OrderedSet([1, 2, 3]) - >>> oset.index(2) - 1 - """ - if is_iterable(key): - return [self.index(subkey) for subkey in key] - return self.map[key] - - # Provide some compatibility with pd.Index - get_loc = index - get_indexer = index - - def pop(self): - """ - Remove and return the last element from the set. - - Raises KeyError if the set is empty. - - Example: - >>> oset = OrderedSet([1, 2, 3]) - >>> oset.pop() - 3 - """ - if not self.items: - raise KeyError("Set is empty") - - elem = self.items[-1] - del self.items[-1] - del self.map[elem] - return elem - - def discard(self, key): - """ - Remove an element. Do not raise an exception if absent. - - The MutableSet mixin uses this to implement the .remove() method, which - *does* raise an error when asked to remove a non-existent item. - - Example: - >>> oset = OrderedSet([1, 2, 3]) - >>> oset.discard(2) - >>> print(oset) - OrderedSet([1, 3]) - >>> oset.discard(2) - >>> print(oset) - OrderedSet([1, 3]) - """ - if key in self: - i = self.map[key] - del self.items[i] - del self.map[key] - for k, v in self.map.items(): - if v >= i: - self.map[k] = v - 1 - - def clear(self): - """ - Remove all items from this OrderedSet. - """ - del self.items[:] - self.map.clear() - - def __iter__(self): - """ - Example: - >>> list(iter(OrderedSet([1, 2, 3]))) - [1, 2, 3] - """ - return iter(self.items) - - def __reversed__(self): - """ - Example: - >>> list(reversed(OrderedSet([1, 2, 3]))) - [3, 2, 1] - """ - return reversed(self.items) - - def __repr__(self): - if not self: - return "%s()" % (self.__class__.__name__,) - return "%s(%r)" % (self.__class__.__name__, list(self)) - - def __eq__(self, other): - """ - Returns true if the containers have the same items. If `other` is a - Sequence, then order is checked, otherwise it is ignored. - - Example: - >>> oset = OrderedSet([1, 3, 2]) - >>> oset == [1, 3, 2] - True - >>> oset == [1, 2, 3] - False - >>> oset == [2, 3] - False - >>> oset == OrderedSet([3, 2, 1]) - False - """ - # In Python 2 deque is not a Sequence, so treat it as one for - # consistent behavior with Python 3. - if isinstance(other, (Sequence, deque)): - # Check that this OrderedSet contains the same elements, in the - # same order, as the other object. - return list(self) == list(other) - try: - other_as_set = set(other) - except TypeError: - # If `other` can't be converted into a set, it's not equal. - return False - else: - return set(self) == other_as_set - - def union(self, *sets): - """ - Combines all unique items. - Each items order is defined by its first appearance. - - Example: - >>> oset = OrderedSet.union(OrderedSet([3, 1, 4, 1, 5]), [1, 3], [2, 0]) - >>> print(oset) - OrderedSet([3, 1, 4, 5, 2, 0]) - >>> oset.union([8, 9]) - OrderedSet([3, 1, 4, 5, 2, 0, 8, 9]) - >>> oset | {10} - OrderedSet([3, 1, 4, 5, 2, 0, 10]) - """ - cls = self.__class__ if isinstance(self, OrderedSet) else OrderedSet - containers = map(list, it.chain([self], sets)) - items = it.chain.from_iterable(containers) - return cls(items) - - def __and__(self, other): - # the parent implementation of this is backwards - return self.intersection(other) - - def intersection(self, *sets): - """ - Returns elements in common between all sets. Order is defined only - by the first set. - - Example: - >>> oset = OrderedSet.intersection(OrderedSet([0, 1, 2, 3]), [1, 2, 3]) - >>> print(oset) - OrderedSet([1, 2, 3]) - >>> oset.intersection([2, 4, 5], [1, 2, 3, 4]) - OrderedSet([2]) - >>> oset.intersection() - OrderedSet([1, 2, 3]) - """ - cls = self.__class__ if isinstance(self, OrderedSet) else OrderedSet - if sets: - common = set.intersection(*map(set, sets)) - items = (item for item in self if item in common) - else: - items = self - return cls(items) - - def difference(self, *sets): - """ - Returns all elements that are in this set but not the others. - - Example: - >>> OrderedSet([1, 2, 3]).difference(OrderedSet([2])) - OrderedSet([1, 3]) - >>> OrderedSet([1, 2, 3]).difference(OrderedSet([2]), OrderedSet([3])) - OrderedSet([1]) - >>> OrderedSet([1, 2, 3]) - OrderedSet([2]) - OrderedSet([1, 3]) - >>> OrderedSet([1, 2, 3]).difference() - OrderedSet([1, 2, 3]) - """ - cls = self.__class__ - if sets: - other = set.union(*map(set, sets)) - items = (item for item in self if item not in other) - else: - items = self - return cls(items) - - def issubset(self, other): - """ - Report whether another set contains this set. - - Example: - >>> OrderedSet([1, 2, 3]).issubset({1, 2}) - False - >>> OrderedSet([1, 2, 3]).issubset({1, 2, 3, 4}) - True - >>> OrderedSet([1, 2, 3]).issubset({1, 4, 3, 5}) - False - """ - if len(self) > len(other): # Fast check for obvious cases - return False - return all(item in other for item in self) - - def issuperset(self, other): - """ - Report whether this set contains another set. - - Example: - >>> OrderedSet([1, 2]).issuperset([1, 2, 3]) - False - >>> OrderedSet([1, 2, 3, 4]).issuperset({1, 2, 3}) - True - >>> OrderedSet([1, 4, 3, 5]).issuperset({1, 2, 3}) - False - """ - if len(self) < len(other): # Fast check for obvious cases - return False - return all(item in self for item in other) - - def symmetric_difference(self, other): - """ - Return the symmetric difference of two OrderedSets as a new set. - That is, the new set will contain all elements that are in exactly - one of the sets. - - Their order will be preserved, with elements from `self` preceding - elements from `other`. - - Example: - >>> this = OrderedSet([1, 4, 3, 5, 7]) - >>> other = OrderedSet([9, 7, 1, 3, 2]) - >>> this.symmetric_difference(other) - OrderedSet([4, 5, 9, 2]) - """ - cls = self.__class__ if isinstance(self, OrderedSet) else OrderedSet - diff1 = cls(self).difference(other) - diff2 = cls(other).difference(self) - return diff1.union(diff2) - - def _update_items(self, items): - """ - Replace the 'items' list of this OrderedSet with a new one, updating - self.map accordingly. - """ - self.items = items - self.map = {item: idx for (idx, item) in enumerate(items)} - - def difference_update(self, *sets): - """ - Update this OrderedSet to remove items from one or more other sets. - - Example: - >>> this = OrderedSet([1, 2, 3]) - >>> this.difference_update(OrderedSet([2, 4])) - >>> print(this) - OrderedSet([1, 3]) - - >>> this = OrderedSet([1, 2, 3, 4, 5]) - >>> this.difference_update(OrderedSet([2, 4]), OrderedSet([1, 4, 6])) - >>> print(this) - OrderedSet([3, 5]) - """ - items_to_remove = set() - for other in sets: - items_to_remove |= set(other) - self._update_items([item for item in self.items if item not in items_to_remove]) - - def intersection_update(self, other): - """ - Update this OrderedSet to keep only items in another set, preserving - their order in this set. - - Example: - >>> this = OrderedSet([1, 4, 3, 5, 7]) - >>> other = OrderedSet([9, 7, 1, 3, 2]) - >>> this.intersection_update(other) - >>> print(this) - OrderedSet([1, 3, 7]) - """ - other = set(other) - self._update_items([item for item in self.items if item in other]) - - def symmetric_difference_update(self, other): - """ - Update this OrderedSet to remove items from another set, then - add items from the other set that were not present in this set. - - Example: - >>> this = OrderedSet([1, 4, 3, 5, 7]) - >>> other = OrderedSet([9, 7, 1, 3, 2]) - >>> this.symmetric_difference_update(other) - >>> print(this) - OrderedSet([4, 5, 9, 2]) - """ - items_to_add = [item for item in other if item not in self] - items_to_remove = set(other) - self._update_items( - [item for item in self.items if item not in items_to_remove] + items_to_add - ) diff --git a/.venv/lib/python3.8/site-packages/setuptools/_vendor/packaging/__about__.py b/.venv/lib/python3.8/site-packages/setuptools/_vendor/packaging/__about__.py deleted file mode 100644 index dc95138..0000000 --- a/.venv/lib/python3.8/site-packages/setuptools/_vendor/packaging/__about__.py +++ /dev/null @@ -1,27 +0,0 @@ -# This file is dual licensed under the terms of the Apache License, Version -# 2.0, and the BSD License. See the LICENSE file in the root of this repository -# for complete details. -from __future__ import absolute_import, division, print_function - -__all__ = [ - "__title__", - "__summary__", - "__uri__", - "__version__", - "__author__", - "__email__", - "__license__", - "__copyright__", -] - -__title__ = "packaging" -__summary__ = "Core utilities for Python packages" -__uri__ = "https://github.com/pypa/packaging" - -__version__ = "19.2" - -__author__ = "Donald Stufft and individual contributors" -__email__ = "donald@stufft.io" - -__license__ = "BSD or Apache License, Version 2.0" -__copyright__ = "Copyright 2014-2019 %s" % __author__ diff --git a/.venv/lib/python3.8/site-packages/setuptools/_vendor/packaging/__init__.py b/.venv/lib/python3.8/site-packages/setuptools/_vendor/packaging/__init__.py deleted file mode 100644 index a0cf67d..0000000 --- a/.venv/lib/python3.8/site-packages/setuptools/_vendor/packaging/__init__.py +++ /dev/null @@ -1,26 +0,0 @@ -# This file is dual licensed under the terms of the Apache License, Version -# 2.0, and the BSD License. See the LICENSE file in the root of this repository -# for complete details. -from __future__ import absolute_import, division, print_function - -from .__about__ import ( - __author__, - __copyright__, - __email__, - __license__, - __summary__, - __title__, - __uri__, - __version__, -) - -__all__ = [ - "__title__", - "__summary__", - "__uri__", - "__version__", - "__author__", - "__email__", - "__license__", - "__copyright__", -] diff --git a/.venv/lib/python3.8/site-packages/setuptools/_vendor/packaging/__pycache__/__about__.cpython-38.pyc b/.venv/lib/python3.8/site-packages/setuptools/_vendor/packaging/__pycache__/__about__.cpython-38.pyc deleted file mode 100644 index a8a27bc18d162b9935f11dae11d87df581b4d82e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 704 zcmWIL<>g{vU|=}2?@#gzCI*JbAPzF-U|?WyU|?V<4q#wlNMT4}%wfo7jAG1Xiek!T zj$&qHNMTB0PGL!5O<_x6PvJ=6Oy`JVN#TlOP2rAWOW}!PPvMQ?Na2g(OyQ5>N)d?S zP7zGy6k~|uNf8QW&=h_NvP+Zs7Jp(=aehu|Noss%Zb5!g$t{kQ%(Bel%>2Atd<8|B zc_r~_rFqFEAU<b&d`V_WPHKGoE$;aE;?msQ#G=ah_*?Ap@ufwX5Ye*KB9Pwr_*-1@ z@rk7+8Tm!=@wYhR<5P1JGjkwnax#-s^NK;n@W#g{=ND8KWu|A8fRq&^CTAz6XXd3> zDLLmCr7Dz`Waea+WTqA?q~#YW1XPw}<mV|s6r~ndDQ1+E6ck(O>!)XyWRxc9CFker z7gQD`>O)k3jA1df)HABmbji<4%t=uQE-6h*D^W<yOHs(o19>y0G%-gZIX|zYC^M<F zB)_P*N+1QS)S(!xR4+5XO35kMMIpaP!LcAQIU`lU2jX}gg)oRu6^!%@s>GaOzEChS zFf`FMGBC7MP%ZY;<OKyoT4_mXQEGgA5fcLgLlHBGU}0cj0EJs(PELG$5i3ZD4Mebm z2vE!yae`Q&6jH<uV(~CAFsx)K5&*G5#4j)XlH3CQg3JQl(marVQ&V)yGg4D?bW4i! z<5M#;%k+y=OG*n$^7C_w_2bJ@^HTDQ5CNkfAD@_%Us@6$uUAlci^C>2KczG$)ehvW dVkHI!1`%c^Milsig`0(ug^`7cg$YbD0stXK&szWh diff --git a/.venv/lib/python3.8/site-packages/setuptools/_vendor/packaging/__pycache__/__init__.cpython-38.pyc b/.venv/lib/python3.8/site-packages/setuptools/_vendor/packaging/__pycache__/__init__.cpython-38.pyc deleted file mode 100644 index 2e12400593e7fe2654e1cecda90d2c57fcd2e5e8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 542 zcmWIL<>g{vU|=}2?@zK369dCz5C<7^FfcGUFfcF_hcGZOq%fo~<}l<kMlt3xMKR?v zM=>)pq%fs0=dk3mMzQ9yMX}|wN3rK}L~-PDMsenHMRDbFM{(!!MDZ{(q_Cv0rm&^3 zr*Ncjrf{Wjr*lN{rtkzaX!5=U*{8{Ti$5``I6tSfBsD%Ww;;c$<Q7LtW?5!&W`5o+ zzJj96yps5|(!Au7%>2BUj0_A6njE*d;^PxbOEU6{;^S}e#>Xe;7gQEyre~DI$KT?N zk5A1_%*=_8zr`INpOcxKnpd0(;S`tV<|Y<ZLKKx`mgIoM+2i9&i!vb!%2JC!w#LU7 zaWgP56oCS$hzG>t1rcl@0u(GooFEoE0|SGfCLhQxX{9BlMXB-eMNA+GW)Q)`z`y`< zOJY)fX-Ry15m+-wOA*2Zu=!w{;FjECkB?8x$%&6&$xtK+G6zKb^3*TMEzmE>EYK~@ zD@aVvPEFA*&qz(p(Jd*?k5A3aEYmMeEh#N1$<NOz){ies%}dEI(g!I_OwY_q*N>0S n%*!l^kJl@xyv1RYo1apelWGTYV6g}T1A_>Y1`iV>3j6^8FjJ0E diff --git a/.venv/lib/python3.8/site-packages/setuptools/_vendor/packaging/__pycache__/_compat.cpython-38.pyc b/.venv/lib/python3.8/site-packages/setuptools/_vendor/packaging/__pycache__/_compat.cpython-38.pyc deleted file mode 100644 index 2c604d411f5cc714b59ffb6cba92590189a5a38d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 978 zcmWIL<>g{vU|=}2?@w|fGXuk85C<7EF)%PVFfcF_hcPfPq%fo~<}l<kMlt3xMKR?v zM=>*k#F%neqF7Q{vRG3XBpFhevzemU;5?RWrYQDQ_9B;5jx@$7&OEkME)bo<n!?t? z5XGIs6wIK>{t{%PCi5-+#H8Z<oYIoi_{`jb{GyUu94VP)nZ=p;dAIlqiZb&`;?qj= zl1no4^ZZ_d9QKl#fq@~J5u_W6K>}<H3=HfbC#x|qFt{_cGqf|NF{Lo3Ftu=`Fm*6C zGuJYeFf3rKVM<|6Vaa4z$P&z;$y%k)rJ$go;9QiNSdyxcsF0LcoT`wVlUQ7=P@Y+m zp^&JMn_7|x7SIE$OorMBr$APNIK@&73=F9ZQH&`JQB25|M=_@`2Qz50R4IZ?j7OMf zlarsEm{V-02Nz0a0ht8FAT|gKgZ#w9z`)SKSi{)CP{Z5|GLF%2C4(l*E#~B$;#(|v ziMgq_xJoiIi{n8aD89v*vXbc*D}>DgGQJ2DGQT|ZOL7bJ3o;9IOY;g6le1G(bjveR zQ*(4niu2=BGc(Kdi&INV3rh0ybBguj%Tn`F@{9CA3KP>a^V0R>lk;;65=-<7DsQpJ z$LFP%$H&Wn90!UM2F5B)g8tKk>hjZMxy2D54{~;V{4K8d_}u)I(wx-z_**>j@r9*{ zIS`p50R{#Ju*-`;{)e#m85kIDaf18=jumN`12`CqL_kvfC8?l9lvq?54^{xyrO9-Q zrKGYT6>Op=a}giNU|tXb(gRiku>x#5AF4+{N{T@-!N4xYQY6m6z@W(ka&%g0Noi4P ze0&ke|3#p5Py|wSi@CV6_!duDY7r;}$7klH<=<ish%^Eb#<!S@ONwss6qgib=B3Aj xoK$>^3mi{i5wPhH=YS#%!UDUA!v+#Yb|5Q?LGBk};$Y@u<YQrB<X~cB1_0+*_5}a{ diff --git a/.venv/lib/python3.8/site-packages/setuptools/_vendor/packaging/__pycache__/_structures.cpython-38.pyc b/.venv/lib/python3.8/site-packages/setuptools/_vendor/packaging/__pycache__/_structures.cpython-38.pyc deleted file mode 100644 index 031924adda2c729096d7c1a4f3fd73da35c976ac..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2760 zcmWIL<>g{vU|=}2?@w|ED+9x05C<8vFfcGUFfcF_yD%^?q%fo~<}l<kMlt3xMKR?v zM=>)pxHF_Mr7*WJq%fzlG&4uBrm{9OM6tRvq_Cv0wlJiyf<@U<*_s)m*izVn88q2n zg3Q-szQv!IRGgnvT9O){nOl%wRC0?WC9^EEI5R)*7GFV8W?o5rT4`Q#NoIatGDrt9 zW`emYgn@w}l_82Tg&~S5g)xPxg&~SLg*k<#g&~S1g*An(g&~SHg*}C%1!OyC3Req5 z6nhGH3Qr3|6h{hg3SSFD6lV&5ia-lP6jzF1ickwf6nBbnFoUMZEe_ATw9LHBlFDR8 zB&$Je5OxNI2`F$<7=sx!nf!`a85kH=GOT30#ZsJ_lUBsWz`y_|e);H^<QC``WESX_ z<`pC+XQ!s<mS?1<=IE9b=f|gJW|rv}r<Rl!l;r2<6zj*ArRJsN7wLl(CZ=cRrR&ER zmlTyImy{Nz7V8yM-r|UlFG?*aijU_2IRF$642)HRFsJIlWHH>#%)r0^b~6tH149Wz z31baIGh;JjFvChlzm-h4STYieGj6efj4on_IUVf&B2ESd29UKN74h-hIIM-pCW9RW z4K5HHBdAs~`MH73UCC4g^1?0F{F02+BCrsI0NckFAD>eaAJ2zm8$XgKL2`ucDiVPE zL=esbM-1GK)cAOiR58e{42)GMcBIC~W7vTfj5Ulk3|WlLOu-CApnzG)bc-vqI5V%f zBrz{J^%iG*d~!}=adCWn5y%pV_fYIlEsT#B!Qn@c9B%tTAydKtv!90n>VhIskVkRY zmX{hIFOI`DkQ|0>*kUgP;td>Dq?g3UOX08rBuChaB9M0ccBIC~%i^*F6lox5L(?Dw zhz-Kvv=7R!C9t5<WV|Kdmzthfl3A7tOIlddK6`w8UTS)LyaJM)0x%tVP)Wa)JfKXH zmzbLxAAgH0K0Y@;r8Eb`=82ClEKSUT$P|G}+ai8YBng8EP~;a$fLM|sLK;NKfCxDd z0ZuCj0+edO<qRl?77H;jFmNz(Frz}S{6LhKMW86bD0WbS9$HjZaq7ZC4-(HH??6~! zzk<C93MUPu0GC9MDl&>Xa2_oJ6@b{{85}Fx1gs>sn8Tlni$HO&hh&vF7T*zB#^KE_ zMWFO$NXQ~ko>t&`bkj<1grN7Bk?qY(l_7>XvLppqyh)z)IqZH~bYw5h!<B5wM8J zLJn`uR0JvkYzbKeiZxL7f<_wNk`7!dU`_O(at7SK14TLmW0eG!ln5^U{EFmp6-l6+ zuMTo9jv@&p@2ANQDiza8K`oj1_#%*XMW94h1S*tovE?Uar6!j^+zC>TR35+!g<Bjp WkW$qSq^B6vd=Oz4kY!^QkOctRROf&I diff --git a/.venv/lib/python3.8/site-packages/setuptools/_vendor/packaging/__pycache__/markers.cpython-38.pyc b/.venv/lib/python3.8/site-packages/setuptools/_vendor/packaging/__pycache__/markers.cpython-38.pyc deleted file mode 100644 index add283fede90de6246669b3b74e4465c135dd4d8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8927 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 diff --git a/.venv/lib/python3.8/site-packages/setuptools/_vendor/packaging/__pycache__/requirements.cpython-38.pyc b/.venv/lib/python3.8/site-packages/setuptools/_vendor/packaging/__pycache__/requirements.cpython-38.pyc deleted file mode 100644 index 45175e579cc35e5c4cb21b3ff8284b6f431f9827..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3995 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 RvoLai%wZB?;$h}u1_0nc1M~m@ diff --git a/.venv/lib/python3.8/site-packages/setuptools/_vendor/packaging/__pycache__/specifiers.cpython-38.pyc b/.venv/lib/python3.8/site-packages/setuptools/_vendor/packaging/__pycache__/specifiers.cpython-38.pyc deleted file mode 100644 index 033c73e8dc2b035e946a46089e6b2dc748c71fb0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 19734 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 J3$%4h2mtH((z5^n diff --git a/.venv/lib/python3.8/site-packages/setuptools/_vendor/packaging/__pycache__/tags.cpython-38.pyc b/.venv/lib/python3.8/site-packages/setuptools/_vendor/packaging/__pycache__/tags.cpython-38.pyc deleted file mode 100644 index ab1be330699ad4956b526b36fd85799829518de2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10811 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 Ha<BscO{H{1 diff --git a/.venv/lib/python3.8/site-packages/setuptools/_vendor/packaging/__pycache__/utils.cpython-38.pyc b/.venv/lib/python3.8/site-packages/setuptools/_vendor/packaging/__pycache__/utils.cpython-38.pyc deleted file mode 100644 index 93342525fc97c73b6e3f486b4bb20ef355dc6d5b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1435 zcmWIL<>g{vU|=}2?@#gvRtAR0APzESW?*1&U|?V<_F`aQNMT4}%wfo7jAG1Xiek!T zj$&p6i81A{M6skWr?BL(=CVbx<+4YyGcu&IEZ|6CUC0>4nZlOB-og;YmBNw2*}@RT zox&8%pvm<TWQ!*AE&jx$;{2S_lGOOj+=Bd~l3N@pnPr*9nfZCQ_zH?L^Gf2=O7oIS zGV}BNUNSN;FlaK};`7WaOU%hk2}>;kt7C^Us@S4+<Mm>-lR@f0#)B}3&BDOI;0*GF z00RR<3Bv-$6vi5cg-i>W7BU1gXfpZzV${`Sz9k%=oS2uNmzkWHlUbD-UzD1jT5*fH zxHRb&YfgT7YLO=6Etb5*+|-o}MZ63Q48Pp;OL7bJ3o;9IOY;g6le1G(bjveRQ*(4n ziu2=BGc(Kdi&INV3rh0ybBguj%Tn`F@{9CA3KP>a^V0Q8OEPnc^$IF)38GjFvVjle zRwj_^nTq%s7#L7I1QG|u8Q4P~7#J9;cuE**7@8St8NwOzBv=?q7_+&GR2UgRu!ez+ zA(A1OA%Y>Dp_Z|RA&V)6F`K!_t%h*{a|+V}7Ldq7#)XWG3?Pvb)&*>!cuZkkzz&JE z8ip(m7lvlWg^UZC!KxUtI8!*XIg2KN)Tgj4U{B!$#cmBl7AI64$Sj5|F0iU~U{zdT zd$^$XFl2Fq<xYX+xWRJVa5)~Z+%vEo4_J-|A_uaohH)WdFoPy<RTGzjf`URwMrN@> zX0bw9YEh*^ab|92PGXTlNxlL!Iq1d57nc;p$LlC0m6j-EBo-^==cOtXmnN0uq$;Fj zrlqA8rRF847K6<y&n(GMD9K1wC{L_Z$OI|ROUX$s1`8FX=A<STrz#Yurst;SmFR&r z6oC>}6-%{2tzs3sMvR_;rnbs0hFgq!7?B0aLdBpM6=Psvs9}iZt7R-<s9|ho3}awq zC}c`u2xeHx=(m#b7ISe)(MqOUOnL^l7%RYO3_^gC!!1sm^whl6ih?3Lb&y%0B+bIW z#89P<l6uM@SwhbyCqFqcr`S#puFH=ccNGaSFfbGeg9uR&0ZR7>Hx)@RFfeGNxQ0Wo zAiubz+Mu?IT`wiI48&m3t~RLE<Sk+c8NkNCz;KH-wIDw^;}%<DK|yL>$}P6E{G!~% zl3PqgsYRfKeTyY4KQr$ZJ2cpDF&7l2-eLindy6?GwG5OSlM{0^nQpN|eS3?wAhD>V z7~(Ln6Tu-Sf-Ph~ekoQ0Wi2))Mjl2!CN3rxW-dk{7ByxrMi~$bhM9^~LB$QvEw1?Z zw9=B&qSW~KB2eZl0!3&MC<2OPKz>pN5g?C&y?Bc~IX|}`Gbgo(6C@7GzF>opT!(NX chfQvNN@-529mup|kmp61IG6;OxtKXv0m!LeQ2+n{ diff --git a/.venv/lib/python3.8/site-packages/setuptools/_vendor/packaging/__pycache__/version.cpython-38.pyc b/.venv/lib/python3.8/site-packages/setuptools/_vendor/packaging/__pycache__/version.cpython-38.pyc deleted file mode 100644 index 185b9788b1c835b3c11d31b59a6877266dd7d97f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12065 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 diff --git a/.venv/lib/python3.8/site-packages/setuptools/_vendor/packaging/_compat.py b/.venv/lib/python3.8/site-packages/setuptools/_vendor/packaging/_compat.py deleted file mode 100644 index 25da473..0000000 --- a/.venv/lib/python3.8/site-packages/setuptools/_vendor/packaging/_compat.py +++ /dev/null @@ -1,31 +0,0 @@ -# This file is dual licensed under the terms of the Apache License, Version -# 2.0, and the BSD License. See the LICENSE file in the root of this repository -# for complete details. -from __future__ import absolute_import, division, print_function - -import sys - - -PY2 = sys.version_info[0] == 2 -PY3 = sys.version_info[0] == 3 - -# flake8: noqa - -if PY3: - string_types = (str,) -else: - string_types = (basestring,) - - -def with_metaclass(meta, *bases): - """ - Create a base class with a metaclass. - """ - # This requires a bit of explanation: the basic idea is to make a dummy - # metaclass for one level of class instantiation that replaces itself with - # the actual metaclass. - class metaclass(meta): - def __new__(cls, name, this_bases, d): - return meta(name, bases, d) - - return type.__new__(metaclass, "temporary_class", (), {}) diff --git a/.venv/lib/python3.8/site-packages/setuptools/_vendor/packaging/_structures.py b/.venv/lib/python3.8/site-packages/setuptools/_vendor/packaging/_structures.py deleted file mode 100644 index 68dcca6..0000000 --- a/.venv/lib/python3.8/site-packages/setuptools/_vendor/packaging/_structures.py +++ /dev/null @@ -1,68 +0,0 @@ -# This file is dual licensed under the terms of the Apache License, Version -# 2.0, and the BSD License. See the LICENSE file in the root of this repository -# for complete details. -from __future__ import absolute_import, division, print_function - - -class Infinity(object): - def __repr__(self): - return "Infinity" - - def __hash__(self): - return hash(repr(self)) - - def __lt__(self, other): - return False - - def __le__(self, other): - return False - - def __eq__(self, other): - return isinstance(other, self.__class__) - - def __ne__(self, other): - return not isinstance(other, self.__class__) - - def __gt__(self, other): - return True - - def __ge__(self, other): - return True - - def __neg__(self): - return NegativeInfinity - - -Infinity = Infinity() - - -class NegativeInfinity(object): - def __repr__(self): - return "-Infinity" - - def __hash__(self): - return hash(repr(self)) - - def __lt__(self, other): - return True - - def __le__(self, other): - return True - - def __eq__(self, other): - return isinstance(other, self.__class__) - - def __ne__(self, other): - return not isinstance(other, self.__class__) - - def __gt__(self, other): - return False - - def __ge__(self, other): - return False - - def __neg__(self): - return Infinity - - -NegativeInfinity = NegativeInfinity() diff --git a/.venv/lib/python3.8/site-packages/setuptools/_vendor/packaging/markers.py b/.venv/lib/python3.8/site-packages/setuptools/_vendor/packaging/markers.py deleted file mode 100644 index 4bdfdb2..0000000 --- a/.venv/lib/python3.8/site-packages/setuptools/_vendor/packaging/markers.py +++ /dev/null @@ -1,296 +0,0 @@ -# This file is dual licensed under the terms of the Apache License, Version -# 2.0, and the BSD License. See the LICENSE file in the root of this repository -# for complete details. -from __future__ import absolute_import, division, print_function - -import operator -import os -import platform -import sys - -from setuptools.extern.pyparsing import ParseException, ParseResults, stringStart, stringEnd -from setuptools.extern.pyparsing import ZeroOrMore, Group, Forward, QuotedString -from setuptools.extern.pyparsing import Literal as L # noqa - -from ._compat import string_types -from .specifiers import Specifier, InvalidSpecifier - - -__all__ = [ - "InvalidMarker", - "UndefinedComparison", - "UndefinedEnvironmentName", - "Marker", - "default_environment", -] - - -class InvalidMarker(ValueError): - """ - An invalid marker was found, users should refer to PEP 508. - """ - - -class UndefinedComparison(ValueError): - """ - An invalid operation was attempted on a value that doesn't support it. - """ - - -class UndefinedEnvironmentName(ValueError): - """ - A name was attempted to be used that does not exist inside of the - environment. - """ - - -class Node(object): - def __init__(self, value): - self.value = value - - def __str__(self): - return str(self.value) - - def __repr__(self): - return "<{0}({1!r})>".format(self.__class__.__name__, str(self)) - - def serialize(self): - raise NotImplementedError - - -class Variable(Node): - def serialize(self): - return str(self) - - -class Value(Node): - def serialize(self): - return '"{0}"'.format(self) - - -class Op(Node): - def serialize(self): - return str(self) - - -VARIABLE = ( - L("implementation_version") - | L("platform_python_implementation") - | L("implementation_name") - | L("python_full_version") - | L("platform_release") - | L("platform_version") - | L("platform_machine") - | L("platform_system") - | L("python_version") - | L("sys_platform") - | L("os_name") - | L("os.name") - | L("sys.platform") # PEP-345 - | L("platform.version") # PEP-345 - | L("platform.machine") # PEP-345 - | L("platform.python_implementation") # PEP-345 - | L("python_implementation") # PEP-345 - | L("extra") # undocumented setuptools legacy -) -ALIASES = { - "os.name": "os_name", - "sys.platform": "sys_platform", - "platform.version": "platform_version", - "platform.machine": "platform_machine", - "platform.python_implementation": "platform_python_implementation", - "python_implementation": "platform_python_implementation", -} -VARIABLE.setParseAction(lambda s, l, t: Variable(ALIASES.get(t[0], t[0]))) - -VERSION_CMP = ( - L("===") | L("==") | L(">=") | L("<=") | L("!=") | L("~=") | L(">") | L("<") -) - -MARKER_OP = VERSION_CMP | L("not in") | L("in") -MARKER_OP.setParseAction(lambda s, l, t: Op(t[0])) - -MARKER_VALUE = QuotedString("'") | QuotedString('"') -MARKER_VALUE.setParseAction(lambda s, l, t: Value(t[0])) - -BOOLOP = L("and") | L("or") - -MARKER_VAR = VARIABLE | MARKER_VALUE - -MARKER_ITEM = Group(MARKER_VAR + MARKER_OP + MARKER_VAR) -MARKER_ITEM.setParseAction(lambda s, l, t: tuple(t[0])) - -LPAREN = L("(").suppress() -RPAREN = L(")").suppress() - -MARKER_EXPR = Forward() -MARKER_ATOM = MARKER_ITEM | Group(LPAREN + MARKER_EXPR + RPAREN) -MARKER_EXPR << MARKER_ATOM + ZeroOrMore(BOOLOP + MARKER_EXPR) - -MARKER = stringStart + MARKER_EXPR + stringEnd - - -def _coerce_parse_result(results): - if isinstance(results, ParseResults): - return [_coerce_parse_result(i) for i in results] - else: - return results - - -def _format_marker(marker, first=True): - assert isinstance(marker, (list, tuple, string_types)) - - # Sometimes we have a structure like [[...]] which is a single item list - # where the single item is itself it's own list. In that case we want skip - # the rest of this function so that we don't get extraneous () on the - # outside. - if ( - isinstance(marker, list) - and len(marker) == 1 - and isinstance(marker[0], (list, tuple)) - ): - return _format_marker(marker[0]) - - if isinstance(marker, list): - inner = (_format_marker(m, first=False) for m in marker) - if first: - return " ".join(inner) - else: - return "(" + " ".join(inner) + ")" - elif isinstance(marker, tuple): - return " ".join([m.serialize() for m in marker]) - else: - return marker - - -_operators = { - "in": lambda lhs, rhs: lhs in rhs, - "not in": lambda lhs, rhs: lhs not in rhs, - "<": operator.lt, - "<=": operator.le, - "==": operator.eq, - "!=": operator.ne, - ">=": operator.ge, - ">": operator.gt, -} - - -def _eval_op(lhs, op, rhs): - try: - spec = Specifier("".join([op.serialize(), rhs])) - except InvalidSpecifier: - pass - else: - return spec.contains(lhs) - - oper = _operators.get(op.serialize()) - if oper is None: - raise UndefinedComparison( - "Undefined {0!r} on {1!r} and {2!r}.".format(op, lhs, rhs) - ) - - return oper(lhs, rhs) - - -_undefined = object() - - -def _get_env(environment, name): - value = environment.get(name, _undefined) - - if value is _undefined: - raise UndefinedEnvironmentName( - "{0!r} does not exist in evaluation environment.".format(name) - ) - - return value - - -def _evaluate_markers(markers, environment): - groups = [[]] - - for marker in markers: - assert isinstance(marker, (list, tuple, string_types)) - - if isinstance(marker, list): - groups[-1].append(_evaluate_markers(marker, environment)) - elif isinstance(marker, tuple): - lhs, op, rhs = marker - - if isinstance(lhs, Variable): - lhs_value = _get_env(environment, lhs.value) - rhs_value = rhs.value - else: - lhs_value = lhs.value - rhs_value = _get_env(environment, rhs.value) - - groups[-1].append(_eval_op(lhs_value, op, rhs_value)) - else: - assert marker in ["and", "or"] - if marker == "or": - groups.append([]) - - return any(all(item) for item in groups) - - -def format_full_version(info): - version = "{0.major}.{0.minor}.{0.micro}".format(info) - kind = info.releaselevel - if kind != "final": - version += kind[0] + str(info.serial) - return version - - -def default_environment(): - if hasattr(sys, "implementation"): - iver = format_full_version(sys.implementation.version) - implementation_name = sys.implementation.name - else: - iver = "0" - implementation_name = "" - - return { - "implementation_name": implementation_name, - "implementation_version": iver, - "os_name": os.name, - "platform_machine": platform.machine(), - "platform_release": platform.release(), - "platform_system": platform.system(), - "platform_version": platform.version(), - "python_full_version": platform.python_version(), - "platform_python_implementation": platform.python_implementation(), - "python_version": ".".join(platform.python_version_tuple()[:2]), - "sys_platform": sys.platform, - } - - -class Marker(object): - def __init__(self, marker): - try: - self._markers = _coerce_parse_result(MARKER.parseString(marker)) - except ParseException as e: - err_str = "Invalid marker: {0!r}, parse error at {1!r}".format( - marker, marker[e.loc : e.loc + 8] - ) - raise InvalidMarker(err_str) - - def __str__(self): - return _format_marker(self._markers) - - def __repr__(self): - return "<Marker({0!r})>".format(str(self)) - - def evaluate(self, environment=None): - """Evaluate a marker. - - Return the boolean from evaluating the given marker against the - environment. environment is an optional argument to override all or - part of the determined environment. - - The environment is determined from the current Python process. - """ - current_environment = default_environment() - if environment is not None: - current_environment.update(environment) - - return _evaluate_markers(self._markers, current_environment) diff --git a/.venv/lib/python3.8/site-packages/setuptools/_vendor/packaging/requirements.py b/.venv/lib/python3.8/site-packages/setuptools/_vendor/packaging/requirements.py deleted file mode 100644 index 8a0c2cb..0000000 --- a/.venv/lib/python3.8/site-packages/setuptools/_vendor/packaging/requirements.py +++ /dev/null @@ -1,138 +0,0 @@ -# This file is dual licensed under the terms of the Apache License, Version -# 2.0, and the BSD License. See the LICENSE file in the root of this repository -# for complete details. -from __future__ import absolute_import, division, print_function - -import string -import re - -from setuptools.extern.pyparsing import stringStart, stringEnd, originalTextFor, ParseException -from setuptools.extern.pyparsing import ZeroOrMore, Word, Optional, Regex, Combine -from setuptools.extern.pyparsing import Literal as L # noqa -from setuptools.extern.six.moves.urllib import parse as urlparse - -from .markers import MARKER_EXPR, Marker -from .specifiers import LegacySpecifier, Specifier, SpecifierSet - - -class InvalidRequirement(ValueError): - """ - An invalid requirement was found, users should refer to PEP 508. - """ - - -ALPHANUM = Word(string.ascii_letters + string.digits) - -LBRACKET = L("[").suppress() -RBRACKET = L("]").suppress() -LPAREN = L("(").suppress() -RPAREN = L(")").suppress() -COMMA = L(",").suppress() -SEMICOLON = L(";").suppress() -AT = L("@").suppress() - -PUNCTUATION = Word("-_.") -IDENTIFIER_END = ALPHANUM | (ZeroOrMore(PUNCTUATION) + ALPHANUM) -IDENTIFIER = Combine(ALPHANUM + ZeroOrMore(IDENTIFIER_END)) - -NAME = IDENTIFIER("name") -EXTRA = IDENTIFIER - -URI = Regex(r"[^ ]+")("url") -URL = AT + URI - -EXTRAS_LIST = EXTRA + ZeroOrMore(COMMA + EXTRA) -EXTRAS = (LBRACKET + Optional(EXTRAS_LIST) + RBRACKET)("extras") - -VERSION_PEP440 = Regex(Specifier._regex_str, re.VERBOSE | re.IGNORECASE) -VERSION_LEGACY = Regex(LegacySpecifier._regex_str, re.VERBOSE | re.IGNORECASE) - -VERSION_ONE = VERSION_PEP440 ^ VERSION_LEGACY -VERSION_MANY = Combine( - VERSION_ONE + ZeroOrMore(COMMA + VERSION_ONE), joinString=",", adjacent=False -)("_raw_spec") -_VERSION_SPEC = Optional(((LPAREN + VERSION_MANY + RPAREN) | VERSION_MANY)) -_VERSION_SPEC.setParseAction(lambda s, l, t: t._raw_spec or "") - -VERSION_SPEC = originalTextFor(_VERSION_SPEC)("specifier") -VERSION_SPEC.setParseAction(lambda s, l, t: t[1]) - -MARKER_EXPR = originalTextFor(MARKER_EXPR())("marker") -MARKER_EXPR.setParseAction( - lambda s, l, t: Marker(s[t._original_start : t._original_end]) -) -MARKER_SEPARATOR = SEMICOLON -MARKER = MARKER_SEPARATOR + MARKER_EXPR - -VERSION_AND_MARKER = VERSION_SPEC + Optional(MARKER) -URL_AND_MARKER = URL + Optional(MARKER) - -NAMED_REQUIREMENT = NAME + Optional(EXTRAS) + (URL_AND_MARKER | VERSION_AND_MARKER) - -REQUIREMENT = stringStart + NAMED_REQUIREMENT + stringEnd -# setuptools.extern.pyparsing isn't thread safe during initialization, so we do it eagerly, see -# issue #104 -REQUIREMENT.parseString("x[]") - - -class Requirement(object): - """Parse a requirement. - - Parse a given requirement string into its parts, such as name, specifier, - URL, and extras. Raises InvalidRequirement on a badly-formed requirement - string. - """ - - # TODO: Can we test whether something is contained within a requirement? - # If so how do we do that? Do we need to test against the _name_ of - # the thing as well as the version? What about the markers? - # TODO: Can we normalize the name and extra name? - - def __init__(self, requirement_string): - try: - req = REQUIREMENT.parseString(requirement_string) - except ParseException as e: - raise InvalidRequirement( - 'Parse error at "{0!r}": {1}'.format( - requirement_string[e.loc : e.loc + 8], e.msg - ) - ) - - self.name = req.name - if req.url: - parsed_url = urlparse.urlparse(req.url) - if parsed_url.scheme == "file": - if urlparse.urlunparse(parsed_url) != req.url: - raise InvalidRequirement("Invalid URL given") - elif not (parsed_url.scheme and parsed_url.netloc) or ( - not parsed_url.scheme and not parsed_url.netloc - ): - raise InvalidRequirement("Invalid URL: {0}".format(req.url)) - self.url = req.url - else: - self.url = None - self.extras = set(req.extras.asList() if req.extras else []) - self.specifier = SpecifierSet(req.specifier) - self.marker = req.marker if req.marker else None - - def __str__(self): - parts = [self.name] - - if self.extras: - parts.append("[{0}]".format(",".join(sorted(self.extras)))) - - if self.specifier: - parts.append(str(self.specifier)) - - if self.url: - parts.append("@ {0}".format(self.url)) - if self.marker: - parts.append(" ") - - if self.marker: - parts.append("; {0}".format(self.marker)) - - return "".join(parts) - - def __repr__(self): - return "<Requirement({0!r})>".format(str(self)) diff --git a/.venv/lib/python3.8/site-packages/setuptools/_vendor/packaging/specifiers.py b/.venv/lib/python3.8/site-packages/setuptools/_vendor/packaging/specifiers.py deleted file mode 100644 index 743576a..0000000 --- a/.venv/lib/python3.8/site-packages/setuptools/_vendor/packaging/specifiers.py +++ /dev/null @@ -1,749 +0,0 @@ -# This file is dual licensed under the terms of the Apache License, Version -# 2.0, and the BSD License. See the LICENSE file in the root of this repository -# for complete details. -from __future__ import absolute_import, division, print_function - -import abc -import functools -import itertools -import re - -from ._compat import string_types, with_metaclass -from .version import Version, LegacyVersion, parse - - -class InvalidSpecifier(ValueError): - """ - An invalid specifier was found, users should refer to PEP 440. - """ - - -class BaseSpecifier(with_metaclass(abc.ABCMeta, object)): - @abc.abstractmethod - def __str__(self): - """ - Returns the str representation of this Specifier like object. This - should be representative of the Specifier itself. - """ - - @abc.abstractmethod - def __hash__(self): - """ - Returns a hash value for this Specifier like object. - """ - - @abc.abstractmethod - def __eq__(self, other): - """ - Returns a boolean representing whether or not the two Specifier like - objects are equal. - """ - - @abc.abstractmethod - def __ne__(self, other): - """ - Returns a boolean representing whether or not the two Specifier like - objects are not equal. - """ - - @abc.abstractproperty - def prereleases(self): - """ - Returns whether or not pre-releases as a whole are allowed by this - specifier. - """ - - @prereleases.setter - def prereleases(self, value): - """ - Sets whether or not pre-releases as a whole are allowed by this - specifier. - """ - - @abc.abstractmethod - def contains(self, item, prereleases=None): - """ - Determines if the given item is contained within this specifier. - """ - - @abc.abstractmethod - def filter(self, iterable, prereleases=None): - """ - Takes an iterable of items and filters them so that only items which - are contained within this specifier are allowed in it. - """ - - -class _IndividualSpecifier(BaseSpecifier): - - _operators = {} - - def __init__(self, spec="", prereleases=None): - match = self._regex.search(spec) - if not match: - raise InvalidSpecifier("Invalid specifier: '{0}'".format(spec)) - - self._spec = (match.group("operator").strip(), match.group("version").strip()) - - # Store whether or not this Specifier should accept prereleases - self._prereleases = prereleases - - def __repr__(self): - pre = ( - ", prereleases={0!r}".format(self.prereleases) - if self._prereleases is not None - else "" - ) - - return "<{0}({1!r}{2})>".format(self.__class__.__name__, str(self), pre) - - def __str__(self): - return "{0}{1}".format(*self._spec) - - def __hash__(self): - return hash(self._spec) - - def __eq__(self, other): - if isinstance(other, string_types): - try: - other = self.__class__(other) - except InvalidSpecifier: - return NotImplemented - elif not isinstance(other, self.__class__): - return NotImplemented - - return self._spec == other._spec - - def __ne__(self, other): - if isinstance(other, string_types): - try: - other = self.__class__(other) - except InvalidSpecifier: - return NotImplemented - elif not isinstance(other, self.__class__): - return NotImplemented - - return self._spec != other._spec - - def _get_operator(self, op): - return getattr(self, "_compare_{0}".format(self._operators[op])) - - def _coerce_version(self, version): - if not isinstance(version, (LegacyVersion, Version)): - version = parse(version) - return version - - @property - def operator(self): - return self._spec[0] - - @property - def version(self): - return self._spec[1] - - @property - def prereleases(self): - return self._prereleases - - @prereleases.setter - def prereleases(self, value): - self._prereleases = value - - def __contains__(self, item): - return self.contains(item) - - def contains(self, item, prereleases=None): - # Determine if prereleases are to be allowed or not. - if prereleases is None: - prereleases = self.prereleases - - # Normalize item to a Version or LegacyVersion, this allows us to have - # a shortcut for ``"2.0" in Specifier(">=2") - item = self._coerce_version(item) - - # Determine if we should be supporting prereleases in this specifier - # or not, if we do not support prereleases than we can short circuit - # logic if this version is a prereleases. - if item.is_prerelease and not prereleases: - return False - - # Actually do the comparison to determine if this item is contained - # within this Specifier or not. - return self._get_operator(self.operator)(item, self.version) - - def filter(self, iterable, prereleases=None): - yielded = False - found_prereleases = [] - - kw = {"prereleases": prereleases if prereleases is not None else True} - - # Attempt to iterate over all the values in the iterable and if any of - # them match, yield them. - for version in iterable: - parsed_version = self._coerce_version(version) - - if self.contains(parsed_version, **kw): - # If our version is a prerelease, and we were not set to allow - # prereleases, then we'll store it for later incase nothing - # else matches this specifier. - if parsed_version.is_prerelease and not ( - prereleases or self.prereleases - ): - found_prereleases.append(version) - # Either this is not a prerelease, or we should have been - # accepting prereleases from the beginning. - else: - yielded = True - yield version - - # Now that we've iterated over everything, determine if we've yielded - # any values, and if we have not and we have any prereleases stored up - # then we will go ahead and yield the prereleases. - if not yielded and found_prereleases: - for version in found_prereleases: - yield version - - -class LegacySpecifier(_IndividualSpecifier): - - _regex_str = r""" - (?P<operator>(==|!=|<=|>=|<|>)) - \s* - (?P<version> - [^,;\s)]* # Since this is a "legacy" specifier, and the version - # string can be just about anything, we match everything - # except for whitespace, a semi-colon for marker support, - # a closing paren since versions can be enclosed in - # them, and a comma since it's a version separator. - ) - """ - - _regex = re.compile(r"^\s*" + _regex_str + r"\s*$", re.VERBOSE | re.IGNORECASE) - - _operators = { - "==": "equal", - "!=": "not_equal", - "<=": "less_than_equal", - ">=": "greater_than_equal", - "<": "less_than", - ">": "greater_than", - } - - def _coerce_version(self, version): - if not isinstance(version, LegacyVersion): - version = LegacyVersion(str(version)) - return version - - def _compare_equal(self, prospective, spec): - return prospective == self._coerce_version(spec) - - def _compare_not_equal(self, prospective, spec): - return prospective != self._coerce_version(spec) - - def _compare_less_than_equal(self, prospective, spec): - return prospective <= self._coerce_version(spec) - - def _compare_greater_than_equal(self, prospective, spec): - return prospective >= self._coerce_version(spec) - - def _compare_less_than(self, prospective, spec): - return prospective < self._coerce_version(spec) - - def _compare_greater_than(self, prospective, spec): - return prospective > self._coerce_version(spec) - - -def _require_version_compare(fn): - @functools.wraps(fn) - def wrapped(self, prospective, spec): - if not isinstance(prospective, Version): - return False - return fn(self, prospective, spec) - - return wrapped - - -class Specifier(_IndividualSpecifier): - - _regex_str = r""" - (?P<operator>(~=|==|!=|<=|>=|<|>|===)) - (?P<version> - (?: - # The identity operators allow for an escape hatch that will - # do an exact string match of the version you wish to install. - # This will not be parsed by PEP 440 and we cannot determine - # any semantic meaning from it. This operator is discouraged - # but included entirely as an escape hatch. - (?<====) # Only match for the identity operator - \s* - [^\s]* # We just match everything, except for whitespace - # since we are only testing for strict identity. - ) - | - (?: - # The (non)equality operators allow for wild card and local - # versions to be specified so we have to define these two - # operators separately to enable that. - (?<===|!=) # Only match for equals and not equals - - \s* - v? - (?:[0-9]+!)? # epoch - [0-9]+(?:\.[0-9]+)* # release - (?: # pre release - [-_\.]? - (a|b|c|rc|alpha|beta|pre|preview) - [-_\.]? - [0-9]* - )? - (?: # post release - (?:-[0-9]+)|(?:[-_\.]?(post|rev|r)[-_\.]?[0-9]*) - )? - - # You cannot use a wild card and a dev or local version - # together so group them with a | and make them optional. - (?: - (?:[-_\.]?dev[-_\.]?[0-9]*)? # dev release - (?:\+[a-z0-9]+(?:[-_\.][a-z0-9]+)*)? # local - | - \.\* # Wild card syntax of .* - )? - ) - | - (?: - # The compatible operator requires at least two digits in the - # release segment. - (?<=~=) # Only match for the compatible operator - - \s* - v? - (?:[0-9]+!)? # epoch - [0-9]+(?:\.[0-9]+)+ # release (We have a + instead of a *) - (?: # pre release - [-_\.]? - (a|b|c|rc|alpha|beta|pre|preview) - [-_\.]? - [0-9]* - )? - (?: # post release - (?:-[0-9]+)|(?:[-_\.]?(post|rev|r)[-_\.]?[0-9]*) - )? - (?:[-_\.]?dev[-_\.]?[0-9]*)? # dev release - ) - | - (?: - # All other operators only allow a sub set of what the - # (non)equality operators do. Specifically they do not allow - # local versions to be specified nor do they allow the prefix - # matching wild cards. - (?<!==|!=|~=) # We have special cases for these - # operators so we want to make sure they - # don't match here. - - \s* - v? - (?:[0-9]+!)? # epoch - [0-9]+(?:\.[0-9]+)* # release - (?: # pre release - [-_\.]? - (a|b|c|rc|alpha|beta|pre|preview) - [-_\.]? - [0-9]* - )? - (?: # post release - (?:-[0-9]+)|(?:[-_\.]?(post|rev|r)[-_\.]?[0-9]*) - )? - (?:[-_\.]?dev[-_\.]?[0-9]*)? # dev release - ) - ) - """ - - _regex = re.compile(r"^\s*" + _regex_str + r"\s*$", re.VERBOSE | re.IGNORECASE) - - _operators = { - "~=": "compatible", - "==": "equal", - "!=": "not_equal", - "<=": "less_than_equal", - ">=": "greater_than_equal", - "<": "less_than", - ">": "greater_than", - "===": "arbitrary", - } - - @_require_version_compare - def _compare_compatible(self, prospective, spec): - # Compatible releases have an equivalent combination of >= and ==. That - # is that ~=2.2 is equivalent to >=2.2,==2.*. This allows us to - # implement this in terms of the other specifiers instead of - # implementing it ourselves. The only thing we need to do is construct - # the other specifiers. - - # We want everything but the last item in the version, but we want to - # ignore post and dev releases and we want to treat the pre-release as - # it's own separate segment. - prefix = ".".join( - list( - itertools.takewhile( - lambda x: (not x.startswith("post") and not x.startswith("dev")), - _version_split(spec), - ) - )[:-1] - ) - - # Add the prefix notation to the end of our string - prefix += ".*" - - return self._get_operator(">=")(prospective, spec) and self._get_operator("==")( - prospective, prefix - ) - - @_require_version_compare - def _compare_equal(self, prospective, spec): - # We need special logic to handle prefix matching - if spec.endswith(".*"): - # In the case of prefix matching we want to ignore local segment. - prospective = Version(prospective.public) - # Split the spec out by dots, and pretend that there is an implicit - # dot in between a release segment and a pre-release segment. - spec = _version_split(spec[:-2]) # Remove the trailing .* - - # Split the prospective version out by dots, and pretend that there - # is an implicit dot in between a release segment and a pre-release - # segment. - prospective = _version_split(str(prospective)) - - # Shorten the prospective version to be the same length as the spec - # so that we can determine if the specifier is a prefix of the - # prospective version or not. - prospective = prospective[: len(spec)] - - # Pad out our two sides with zeros so that they both equal the same - # length. - spec, prospective = _pad_version(spec, prospective) - else: - # Convert our spec string into a Version - spec = Version(spec) - - # If the specifier does not have a local segment, then we want to - # act as if the prospective version also does not have a local - # segment. - if not spec.local: - prospective = Version(prospective.public) - - return prospective == spec - - @_require_version_compare - def _compare_not_equal(self, prospective, spec): - return not self._compare_equal(prospective, spec) - - @_require_version_compare - def _compare_less_than_equal(self, prospective, spec): - return prospective <= Version(spec) - - @_require_version_compare - def _compare_greater_than_equal(self, prospective, spec): - return prospective >= Version(spec) - - @_require_version_compare - def _compare_less_than(self, prospective, spec): - # Convert our spec to a Version instance, since we'll want to work with - # it as a version. - spec = Version(spec) - - # Check to see if the prospective version is less than the spec - # version. If it's not we can short circuit and just return False now - # instead of doing extra unneeded work. - if not prospective < spec: - return False - - # This special case is here so that, unless the specifier itself - # includes is a pre-release version, that we do not accept pre-release - # versions for the version mentioned in the specifier (e.g. <3.1 should - # not match 3.1.dev0, but should match 3.0.dev0). - if not spec.is_prerelease and prospective.is_prerelease: - if Version(prospective.base_version) == Version(spec.base_version): - return False - - # If we've gotten to here, it means that prospective version is both - # less than the spec version *and* it's not a pre-release of the same - # version in the spec. - return True - - @_require_version_compare - def _compare_greater_than(self, prospective, spec): - # Convert our spec to a Version instance, since we'll want to work with - # it as a version. - spec = Version(spec) - - # Check to see if the prospective version is greater than the spec - # version. If it's not we can short circuit and just return False now - # instead of doing extra unneeded work. - if not prospective > spec: - return False - - # This special case is here so that, unless the specifier itself - # includes is a post-release version, that we do not accept - # post-release versions for the version mentioned in the specifier - # (e.g. >3.1 should not match 3.0.post0, but should match 3.2.post0). - if not spec.is_postrelease and prospective.is_postrelease: - if Version(prospective.base_version) == Version(spec.base_version): - return False - - # Ensure that we do not allow a local version of the version mentioned - # in the specifier, which is technically greater than, to match. - if prospective.local is not None: - if Version(prospective.base_version) == Version(spec.base_version): - return False - - # If we've gotten to here, it means that prospective version is both - # greater than the spec version *and* it's not a pre-release of the - # same version in the spec. - return True - - def _compare_arbitrary(self, prospective, spec): - return str(prospective).lower() == str(spec).lower() - - @property - def prereleases(self): - # If there is an explicit prereleases set for this, then we'll just - # blindly use that. - if self._prereleases is not None: - return self._prereleases - - # Look at all of our specifiers and determine if they are inclusive - # operators, and if they are if they are including an explicit - # prerelease. - operator, version = self._spec - if operator in ["==", ">=", "<=", "~=", "==="]: - # The == specifier can include a trailing .*, if it does we - # want to remove before parsing. - if operator == "==" and version.endswith(".*"): - version = version[:-2] - - # Parse the version, and if it is a pre-release than this - # specifier allows pre-releases. - if parse(version).is_prerelease: - return True - - return False - - @prereleases.setter - def prereleases(self, value): - self._prereleases = value - - -_prefix_regex = re.compile(r"^([0-9]+)((?:a|b|c|rc)[0-9]+)$") - - -def _version_split(version): - result = [] - for item in version.split("."): - match = _prefix_regex.search(item) - if match: - result.extend(match.groups()) - else: - result.append(item) - return result - - -def _pad_version(left, right): - left_split, right_split = [], [] - - # Get the release segment of our versions - left_split.append(list(itertools.takewhile(lambda x: x.isdigit(), left))) - right_split.append(list(itertools.takewhile(lambda x: x.isdigit(), right))) - - # Get the rest of our versions - left_split.append(left[len(left_split[0]) :]) - right_split.append(right[len(right_split[0]) :]) - - # Insert our padding - left_split.insert(1, ["0"] * max(0, len(right_split[0]) - len(left_split[0]))) - right_split.insert(1, ["0"] * max(0, len(left_split[0]) - len(right_split[0]))) - - return (list(itertools.chain(*left_split)), list(itertools.chain(*right_split))) - - -class SpecifierSet(BaseSpecifier): - def __init__(self, specifiers="", prereleases=None): - # Split on , to break each indidivual specifier into it's own item, and - # strip each item to remove leading/trailing whitespace. - specifiers = [s.strip() for s in specifiers.split(",") if s.strip()] - - # Parsed each individual specifier, attempting first to make it a - # Specifier and falling back to a LegacySpecifier. - parsed = set() - for specifier in specifiers: - try: - parsed.add(Specifier(specifier)) - except InvalidSpecifier: - parsed.add(LegacySpecifier(specifier)) - - # Turn our parsed specifiers into a frozen set and save them for later. - self._specs = frozenset(parsed) - - # Store our prereleases value so we can use it later to determine if - # we accept prereleases or not. - self._prereleases = prereleases - - def __repr__(self): - pre = ( - ", prereleases={0!r}".format(self.prereleases) - if self._prereleases is not None - else "" - ) - - return "<SpecifierSet({0!r}{1})>".format(str(self), pre) - - def __str__(self): - return ",".join(sorted(str(s) for s in self._specs)) - - def __hash__(self): - return hash(self._specs) - - def __and__(self, other): - if isinstance(other, string_types): - other = SpecifierSet(other) - elif not isinstance(other, SpecifierSet): - return NotImplemented - - specifier = SpecifierSet() - specifier._specs = frozenset(self._specs | other._specs) - - if self._prereleases is None and other._prereleases is not None: - specifier._prereleases = other._prereleases - elif self._prereleases is not None and other._prereleases is None: - specifier._prereleases = self._prereleases - elif self._prereleases == other._prereleases: - specifier._prereleases = self._prereleases - else: - raise ValueError( - "Cannot combine SpecifierSets with True and False prerelease " - "overrides." - ) - - return specifier - - def __eq__(self, other): - if isinstance(other, string_types): - other = SpecifierSet(other) - elif isinstance(other, _IndividualSpecifier): - other = SpecifierSet(str(other)) - elif not isinstance(other, SpecifierSet): - return NotImplemented - - return self._specs == other._specs - - def __ne__(self, other): - if isinstance(other, string_types): - other = SpecifierSet(other) - elif isinstance(other, _IndividualSpecifier): - other = SpecifierSet(str(other)) - elif not isinstance(other, SpecifierSet): - return NotImplemented - - return self._specs != other._specs - - def __len__(self): - return len(self._specs) - - def __iter__(self): - return iter(self._specs) - - @property - def prereleases(self): - # If we have been given an explicit prerelease modifier, then we'll - # pass that through here. - if self._prereleases is not None: - return self._prereleases - - # If we don't have any specifiers, and we don't have a forced value, - # then we'll just return None since we don't know if this should have - # pre-releases or not. - if not self._specs: - return None - - # Otherwise we'll see if any of the given specifiers accept - # prereleases, if any of them do we'll return True, otherwise False. - return any(s.prereleases for s in self._specs) - - @prereleases.setter - def prereleases(self, value): - self._prereleases = value - - def __contains__(self, item): - return self.contains(item) - - def contains(self, item, prereleases=None): - # Ensure that our item is a Version or LegacyVersion instance. - if not isinstance(item, (LegacyVersion, Version)): - item = parse(item) - - # Determine if we're forcing a prerelease or not, if we're not forcing - # one for this particular filter call, then we'll use whatever the - # SpecifierSet thinks for whether or not we should support prereleases. - if prereleases is None: - prereleases = self.prereleases - - # We can determine if we're going to allow pre-releases by looking to - # see if any of the underlying items supports them. If none of them do - # and this item is a pre-release then we do not allow it and we can - # short circuit that here. - # Note: This means that 1.0.dev1 would not be contained in something - # like >=1.0.devabc however it would be in >=1.0.debabc,>0.0.dev0 - if not prereleases and item.is_prerelease: - return False - - # We simply dispatch to the underlying specs here to make sure that the - # given version is contained within all of them. - # Note: This use of all() here means that an empty set of specifiers - # will always return True, this is an explicit design decision. - return all(s.contains(item, prereleases=prereleases) for s in self._specs) - - def filter(self, iterable, prereleases=None): - # Determine if we're forcing a prerelease or not, if we're not forcing - # one for this particular filter call, then we'll use whatever the - # SpecifierSet thinks for whether or not we should support prereleases. - if prereleases is None: - prereleases = self.prereleases - - # If we have any specifiers, then we want to wrap our iterable in the - # filter method for each one, this will act as a logical AND amongst - # each specifier. - if self._specs: - for spec in self._specs: - iterable = spec.filter(iterable, prereleases=bool(prereleases)) - return iterable - # If we do not have any specifiers, then we need to have a rough filter - # which will filter out any pre-releases, unless there are no final - # releases, and which will filter out LegacyVersion in general. - else: - filtered = [] - found_prereleases = [] - - for item in iterable: - # Ensure that we some kind of Version class for this item. - if not isinstance(item, (LegacyVersion, Version)): - parsed_version = parse(item) - else: - parsed_version = item - - # Filter out any item which is parsed as a LegacyVersion - if isinstance(parsed_version, LegacyVersion): - continue - - # Store any item which is a pre-release for later unless we've - # already found a final version or we are accepting prereleases - if parsed_version.is_prerelease and not prereleases: - if not filtered: - found_prereleases.append(item) - else: - filtered.append(item) - - # If we've found no items except for pre-releases, then we'll go - # ahead and use the pre-releases - if not filtered and found_prereleases and prereleases is None: - return found_prereleases - - return filtered diff --git a/.venv/lib/python3.8/site-packages/setuptools/_vendor/packaging/tags.py b/.venv/lib/python3.8/site-packages/setuptools/_vendor/packaging/tags.py deleted file mode 100644 index ec9942f..0000000 --- a/.venv/lib/python3.8/site-packages/setuptools/_vendor/packaging/tags.py +++ /dev/null @@ -1,404 +0,0 @@ -# This file is dual licensed under the terms of the Apache License, Version -# 2.0, and the BSD License. See the LICENSE file in the root of this repository -# for complete details. - -from __future__ import absolute_import - -import distutils.util - -try: - from importlib.machinery import EXTENSION_SUFFIXES -except ImportError: # pragma: no cover - import imp - - EXTENSION_SUFFIXES = [x[0] for x in imp.get_suffixes()] - del imp -import platform -import re -import sys -import sysconfig -import warnings - - -INTERPRETER_SHORT_NAMES = { - "python": "py", # Generic. - "cpython": "cp", - "pypy": "pp", - "ironpython": "ip", - "jython": "jy", -} - - -_32_BIT_INTERPRETER = sys.maxsize <= 2 ** 32 - - -class Tag(object): - - __slots__ = ["_interpreter", "_abi", "_platform"] - - def __init__(self, interpreter, abi, platform): - self._interpreter = interpreter.lower() - self._abi = abi.lower() - self._platform = platform.lower() - - @property - def interpreter(self): - return self._interpreter - - @property - def abi(self): - return self._abi - - @property - def platform(self): - return self._platform - - def __eq__(self, other): - return ( - (self.platform == other.platform) - and (self.abi == other.abi) - and (self.interpreter == other.interpreter) - ) - - def __hash__(self): - return hash((self._interpreter, self._abi, self._platform)) - - def __str__(self): - return "{}-{}-{}".format(self._interpreter, self._abi, self._platform) - - def __repr__(self): - return "<{self} @ {self_id}>".format(self=self, self_id=id(self)) - - -def parse_tag(tag): - tags = set() - interpreters, abis, platforms = tag.split("-") - for interpreter in interpreters.split("."): - for abi in abis.split("."): - for platform_ in platforms.split("."): - tags.add(Tag(interpreter, abi, platform_)) - return frozenset(tags) - - -def _normalize_string(string): - return string.replace(".", "_").replace("-", "_") - - -def _cpython_interpreter(py_version): - # TODO: Is using py_version_nodot for interpreter version critical? - return "cp{major}{minor}".format(major=py_version[0], minor=py_version[1]) - - -def _cpython_abis(py_version): - abis = [] - version = "{}{}".format(*py_version[:2]) - debug = pymalloc = ucs4 = "" - with_debug = sysconfig.get_config_var("Py_DEBUG") - has_refcount = hasattr(sys, "gettotalrefcount") - # Windows doesn't set Py_DEBUG, so checking for support of debug-compiled - # extension modules is the best option. - # https://github.com/pypa/pip/issues/3383#issuecomment-173267692 - has_ext = "_d.pyd" in EXTENSION_SUFFIXES - if with_debug or (with_debug is None and (has_refcount or has_ext)): - debug = "d" - if py_version < (3, 8): - with_pymalloc = sysconfig.get_config_var("WITH_PYMALLOC") - if with_pymalloc or with_pymalloc is None: - pymalloc = "m" - if py_version < (3, 3): - unicode_size = sysconfig.get_config_var("Py_UNICODE_SIZE") - if unicode_size == 4 or ( - unicode_size is None and sys.maxunicode == 0x10FFFF - ): - ucs4 = "u" - elif debug: - # Debug builds can also load "normal" extension modules. - # We can also assume no UCS-4 or pymalloc requirement. - abis.append("cp{version}".format(version=version)) - abis.insert( - 0, - "cp{version}{debug}{pymalloc}{ucs4}".format( - version=version, debug=debug, pymalloc=pymalloc, ucs4=ucs4 - ), - ) - return abis - - -def _cpython_tags(py_version, interpreter, abis, platforms): - for abi in abis: - for platform_ in platforms: - yield Tag(interpreter, abi, platform_) - for tag in (Tag(interpreter, "abi3", platform_) for platform_ in platforms): - yield tag - for tag in (Tag(interpreter, "none", platform_) for platform_ in platforms): - yield tag - # PEP 384 was first implemented in Python 3.2. - for minor_version in range(py_version[1] - 1, 1, -1): - for platform_ in platforms: - interpreter = "cp{major}{minor}".format( - major=py_version[0], minor=minor_version - ) - yield Tag(interpreter, "abi3", platform_) - - -def _pypy_interpreter(): - return "pp{py_major}{pypy_major}{pypy_minor}".format( - py_major=sys.version_info[0], - pypy_major=sys.pypy_version_info.major, - pypy_minor=sys.pypy_version_info.minor, - ) - - -def _generic_abi(): - abi = sysconfig.get_config_var("SOABI") - if abi: - return _normalize_string(abi) - else: - return "none" - - -def _pypy_tags(py_version, interpreter, abi, platforms): - for tag in (Tag(interpreter, abi, platform) for platform in platforms): - yield tag - for tag in (Tag(interpreter, "none", platform) for platform in platforms): - yield tag - - -def _generic_tags(interpreter, py_version, abi, platforms): - for tag in (Tag(interpreter, abi, platform) for platform in platforms): - yield tag - if abi != "none": - tags = (Tag(interpreter, "none", platform_) for platform_ in platforms) - for tag in tags: - yield tag - - -def _py_interpreter_range(py_version): - """ - Yield Python versions in descending order. - - After the latest version, the major-only version will be yielded, and then - all following versions up to 'end'. - """ - yield "py{major}{minor}".format(major=py_version[0], minor=py_version[1]) - yield "py{major}".format(major=py_version[0]) - for minor in range(py_version[1] - 1, -1, -1): - yield "py{major}{minor}".format(major=py_version[0], minor=minor) - - -def _independent_tags(interpreter, py_version, platforms): - """ - Return the sequence of tags that are consistent across implementations. - - The tags consist of: - - py*-none-<platform> - - <interpreter>-none-any - - py*-none-any - """ - for version in _py_interpreter_range(py_version): - for platform_ in platforms: - yield Tag(version, "none", platform_) - yield Tag(interpreter, "none", "any") - for version in _py_interpreter_range(py_version): - yield Tag(version, "none", "any") - - -def _mac_arch(arch, is_32bit=_32_BIT_INTERPRETER): - if not is_32bit: - return arch - - if arch.startswith("ppc"): - return "ppc" - - return "i386" - - -def _mac_binary_formats(version, cpu_arch): - formats = [cpu_arch] - if cpu_arch == "x86_64": - if version < (10, 4): - return [] - formats.extend(["intel", "fat64", "fat32"]) - - elif cpu_arch == "i386": - if version < (10, 4): - return [] - formats.extend(["intel", "fat32", "fat"]) - - elif cpu_arch == "ppc64": - # TODO: Need to care about 32-bit PPC for ppc64 through 10.2? - if version > (10, 5) or version < (10, 4): - return [] - formats.append("fat64") - - elif cpu_arch == "ppc": - if version > (10, 6): - return [] - formats.extend(["fat32", "fat"]) - - formats.append("universal") - return formats - - -def _mac_platforms(version=None, arch=None): - version_str, _, cpu_arch = platform.mac_ver() - if version is None: - version = tuple(map(int, version_str.split(".")[:2])) - if arch is None: - arch = _mac_arch(cpu_arch) - platforms = [] - for minor_version in range(version[1], -1, -1): - compat_version = version[0], minor_version - binary_formats = _mac_binary_formats(compat_version, arch) - for binary_format in binary_formats: - platforms.append( - "macosx_{major}_{minor}_{binary_format}".format( - major=compat_version[0], - minor=compat_version[1], - binary_format=binary_format, - ) - ) - return platforms - - -# From PEP 513. -def _is_manylinux_compatible(name, glibc_version): - # Check for presence of _manylinux module. - try: - import _manylinux - - return bool(getattr(_manylinux, name + "_compatible")) - except (ImportError, AttributeError): - # Fall through to heuristic check below. - pass - - return _have_compatible_glibc(*glibc_version) - - -def _glibc_version_string(): - # Returns glibc version string, or None if not using glibc. - import ctypes - - # ctypes.CDLL(None) internally calls dlopen(NULL), and as the dlopen - # manpage says, "If filename is NULL, then the returned handle is for the - # main program". This way we can let the linker do the work to figure out - # which libc our process is actually using. - process_namespace = ctypes.CDLL(None) - try: - gnu_get_libc_version = process_namespace.gnu_get_libc_version - except AttributeError: - # Symbol doesn't exist -> therefore, we are not linked to - # glibc. - return None - - # Call gnu_get_libc_version, which returns a string like "2.5" - gnu_get_libc_version.restype = ctypes.c_char_p - version_str = gnu_get_libc_version() - # py2 / py3 compatibility: - if not isinstance(version_str, str): - version_str = version_str.decode("ascii") - - return version_str - - -# Separated out from have_compatible_glibc for easier unit testing. -def _check_glibc_version(version_str, required_major, minimum_minor): - # Parse string and check against requested version. - # - # We use a regexp instead of str.split because we want to discard any - # random junk that might come after the minor version -- this might happen - # in patched/forked versions of glibc (e.g. Linaro's version of glibc - # uses version strings like "2.20-2014.11"). See gh-3588. - m = re.match(r"(?P<major>[0-9]+)\.(?P<minor>[0-9]+)", version_str) - if not m: - warnings.warn( - "Expected glibc version with 2 components major.minor," - " got: %s" % version_str, - RuntimeWarning, - ) - return False - return ( - int(m.group("major")) == required_major - and int(m.group("minor")) >= minimum_minor - ) - - -def _have_compatible_glibc(required_major, minimum_minor): - version_str = _glibc_version_string() - if version_str is None: - return False - return _check_glibc_version(version_str, required_major, minimum_minor) - - -def _linux_platforms(is_32bit=_32_BIT_INTERPRETER): - linux = _normalize_string(distutils.util.get_platform()) - if linux == "linux_x86_64" and is_32bit: - linux = "linux_i686" - manylinux_support = ( - ("manylinux2014", (2, 17)), # CentOS 7 w/ glibc 2.17 (PEP 599) - ("manylinux2010", (2, 12)), # CentOS 6 w/ glibc 2.12 (PEP 571) - ("manylinux1", (2, 5)), # CentOS 5 w/ glibc 2.5 (PEP 513) - ) - manylinux_support_iter = iter(manylinux_support) - for name, glibc_version in manylinux_support_iter: - if _is_manylinux_compatible(name, glibc_version): - platforms = [linux.replace("linux", name)] - break - else: - platforms = [] - # Support for a later manylinux implies support for an earlier version. - platforms += [linux.replace("linux", name) for name, _ in manylinux_support_iter] - platforms.append(linux) - return platforms - - -def _generic_platforms(): - platform = _normalize_string(distutils.util.get_platform()) - return [platform] - - -def _interpreter_name(): - name = platform.python_implementation().lower() - return INTERPRETER_SHORT_NAMES.get(name) or name - - -def _generic_interpreter(name, py_version): - version = sysconfig.get_config_var("py_version_nodot") - if not version: - version = "".join(map(str, py_version[:2])) - return "{name}{version}".format(name=name, version=version) - - -def sys_tags(): - """ - Returns the sequence of tag triples for the running interpreter. - - The order of the sequence corresponds to priority order for the - interpreter, from most to least important. - """ - py_version = sys.version_info[:2] - interpreter_name = _interpreter_name() - if platform.system() == "Darwin": - platforms = _mac_platforms() - elif platform.system() == "Linux": - platforms = _linux_platforms() - else: - platforms = _generic_platforms() - - if interpreter_name == "cp": - interpreter = _cpython_interpreter(py_version) - abis = _cpython_abis(py_version) - for tag in _cpython_tags(py_version, interpreter, abis, platforms): - yield tag - elif interpreter_name == "pp": - interpreter = _pypy_interpreter() - abi = _generic_abi() - for tag in _pypy_tags(py_version, interpreter, abi, platforms): - yield tag - else: - interpreter = _generic_interpreter(interpreter_name, py_version) - abi = _generic_abi() - for tag in _generic_tags(interpreter, py_version, abi, platforms): - yield tag - for tag in _independent_tags(interpreter, py_version, platforms): - yield tag diff --git a/.venv/lib/python3.8/site-packages/setuptools/_vendor/packaging/utils.py b/.venv/lib/python3.8/site-packages/setuptools/_vendor/packaging/utils.py deleted file mode 100644 index 8841878..0000000 --- a/.venv/lib/python3.8/site-packages/setuptools/_vendor/packaging/utils.py +++ /dev/null @@ -1,57 +0,0 @@ -# This file is dual licensed under the terms of the Apache License, Version -# 2.0, and the BSD License. See the LICENSE file in the root of this repository -# for complete details. -from __future__ import absolute_import, division, print_function - -import re - -from .version import InvalidVersion, Version - - -_canonicalize_regex = re.compile(r"[-_.]+") - - -def canonicalize_name(name): - # This is taken from PEP 503. - return _canonicalize_regex.sub("-", name).lower() - - -def canonicalize_version(version): - """ - This is very similar to Version.__str__, but has one subtle differences - with the way it handles the release segment. - """ - - try: - version = Version(version) - except InvalidVersion: - # Legacy versions cannot be normalized - return version - - parts = [] - - # Epoch - if version.epoch != 0: - parts.append("{0}!".format(version.epoch)) - - # Release segment - # NB: This strips trailing '.0's to normalize - parts.append(re.sub(r"(\.0)+$", "", ".".join(str(x) for x in version.release))) - - # Pre-release - if version.pre is not None: - parts.append("".join(str(x) for x in version.pre)) - - # Post-release - if version.post is not None: - parts.append(".post{0}".format(version.post)) - - # Development release - if version.dev is not None: - parts.append(".dev{0}".format(version.dev)) - - # Local version segment - if version.local is not None: - parts.append("+{0}".format(version.local)) - - return "".join(parts) diff --git a/.venv/lib/python3.8/site-packages/setuptools/_vendor/packaging/version.py b/.venv/lib/python3.8/site-packages/setuptools/_vendor/packaging/version.py deleted file mode 100644 index 95157a1..0000000 --- a/.venv/lib/python3.8/site-packages/setuptools/_vendor/packaging/version.py +++ /dev/null @@ -1,420 +0,0 @@ -# This file is dual licensed under the terms of the Apache License, Version -# 2.0, and the BSD License. See the LICENSE file in the root of this repository -# for complete details. -from __future__ import absolute_import, division, print_function - -import collections -import itertools -import re - -from ._structures import Infinity - - -__all__ = ["parse", "Version", "LegacyVersion", "InvalidVersion", "VERSION_PATTERN"] - - -_Version = collections.namedtuple( - "_Version", ["epoch", "release", "dev", "pre", "post", "local"] -) - - -def parse(version): - """ - Parse the given version string and return either a :class:`Version` object - or a :class:`LegacyVersion` object depending on if the given version is - a valid PEP 440 version or a legacy version. - """ - try: - return Version(version) - except InvalidVersion: - return LegacyVersion(version) - - -class InvalidVersion(ValueError): - """ - An invalid version was found, users should refer to PEP 440. - """ - - -class _BaseVersion(object): - def __hash__(self): - return hash(self._key) - - def __lt__(self, other): - return self._compare(other, lambda s, o: s < o) - - def __le__(self, other): - return self._compare(other, lambda s, o: s <= o) - - def __eq__(self, other): - return self._compare(other, lambda s, o: s == o) - - def __ge__(self, other): - return self._compare(other, lambda s, o: s >= o) - - def __gt__(self, other): - return self._compare(other, lambda s, o: s > o) - - def __ne__(self, other): - return self._compare(other, lambda s, o: s != o) - - def _compare(self, other, method): - if not isinstance(other, _BaseVersion): - return NotImplemented - - return method(self._key, other._key) - - -class LegacyVersion(_BaseVersion): - def __init__(self, version): - self._version = str(version) - self._key = _legacy_cmpkey(self._version) - - def __str__(self): - return self._version - - def __repr__(self): - return "<LegacyVersion({0})>".format(repr(str(self))) - - @property - def public(self): - return self._version - - @property - def base_version(self): - return self._version - - @property - def epoch(self): - return -1 - - @property - def release(self): - return None - - @property - def pre(self): - return None - - @property - def post(self): - return None - - @property - def dev(self): - return None - - @property - def local(self): - return None - - @property - def is_prerelease(self): - return False - - @property - def is_postrelease(self): - return False - - @property - def is_devrelease(self): - return False - - -_legacy_version_component_re = re.compile(r"(\d+ | [a-z]+ | \.| -)", re.VERBOSE) - -_legacy_version_replacement_map = { - "pre": "c", - "preview": "c", - "-": "final-", - "rc": "c", - "dev": "@", -} - - -def _parse_version_parts(s): - for part in _legacy_version_component_re.split(s): - part = _legacy_version_replacement_map.get(part, part) - - if not part or part == ".": - continue - - if part[:1] in "0123456789": - # pad for numeric comparison - yield part.zfill(8) - else: - yield "*" + part - - # ensure that alpha/beta/candidate are before final - yield "*final" - - -def _legacy_cmpkey(version): - # We hardcode an epoch of -1 here. A PEP 440 version can only have a epoch - # greater than or equal to 0. This will effectively put the LegacyVersion, - # which uses the defacto standard originally implemented by setuptools, - # as before all PEP 440 versions. - epoch = -1 - - # This scheme is taken from pkg_resources.parse_version setuptools prior to - # it's adoption of the packaging library. - parts = [] - for part in _parse_version_parts(version.lower()): - if part.startswith("*"): - # remove "-" before a prerelease tag - if part < "*final": - while parts and parts[-1] == "*final-": - parts.pop() - - # remove trailing zeros from each series of numeric parts - while parts and parts[-1] == "00000000": - parts.pop() - - parts.append(part) - parts = tuple(parts) - - return epoch, parts - - -# Deliberately not anchored to the start and end of the string, to make it -# easier for 3rd party code to reuse -VERSION_PATTERN = r""" - v? - (?: - (?:(?P<epoch>[0-9]+)!)? # epoch - (?P<release>[0-9]+(?:\.[0-9]+)*) # release segment - (?P<pre> # pre-release - [-_\.]? - (?P<pre_l>(a|b|c|rc|alpha|beta|pre|preview)) - [-_\.]? - (?P<pre_n>[0-9]+)? - )? - (?P<post> # post release - (?:-(?P<post_n1>[0-9]+)) - | - (?: - [-_\.]? - (?P<post_l>post|rev|r) - [-_\.]? - (?P<post_n2>[0-9]+)? - ) - )? - (?P<dev> # dev release - [-_\.]? - (?P<dev_l>dev) - [-_\.]? - (?P<dev_n>[0-9]+)? - )? - ) - (?:\+(?P<local>[a-z0-9]+(?:[-_\.][a-z0-9]+)*))? # local version -""" - - -class Version(_BaseVersion): - - _regex = re.compile(r"^\s*" + VERSION_PATTERN + r"\s*$", re.VERBOSE | re.IGNORECASE) - - def __init__(self, version): - # Validate the version and parse it into pieces - match = self._regex.search(version) - if not match: - raise InvalidVersion("Invalid version: '{0}'".format(version)) - - # Store the parsed out pieces of the version - self._version = _Version( - epoch=int(match.group("epoch")) if match.group("epoch") else 0, - release=tuple(int(i) for i in match.group("release").split(".")), - pre=_parse_letter_version(match.group("pre_l"), match.group("pre_n")), - post=_parse_letter_version( - match.group("post_l"), match.group("post_n1") or match.group("post_n2") - ), - dev=_parse_letter_version(match.group("dev_l"), match.group("dev_n")), - local=_parse_local_version(match.group("local")), - ) - - # Generate a key which will be used for sorting - self._key = _cmpkey( - self._version.epoch, - self._version.release, - self._version.pre, - self._version.post, - self._version.dev, - self._version.local, - ) - - def __repr__(self): - return "<Version({0})>".format(repr(str(self))) - - def __str__(self): - parts = [] - - # Epoch - if self.epoch != 0: - parts.append("{0}!".format(self.epoch)) - - # Release segment - parts.append(".".join(str(x) for x in self.release)) - - # Pre-release - if self.pre is not None: - parts.append("".join(str(x) for x in self.pre)) - - # Post-release - if self.post is not None: - parts.append(".post{0}".format(self.post)) - - # Development release - if self.dev is not None: - parts.append(".dev{0}".format(self.dev)) - - # Local version segment - if self.local is not None: - parts.append("+{0}".format(self.local)) - - return "".join(parts) - - @property - def epoch(self): - return self._version.epoch - - @property - def release(self): - return self._version.release - - @property - def pre(self): - return self._version.pre - - @property - def post(self): - return self._version.post[1] if self._version.post else None - - @property - def dev(self): - return self._version.dev[1] if self._version.dev else None - - @property - def local(self): - if self._version.local: - return ".".join(str(x) for x in self._version.local) - else: - return None - - @property - def public(self): - return str(self).split("+", 1)[0] - - @property - def base_version(self): - parts = [] - - # Epoch - if self.epoch != 0: - parts.append("{0}!".format(self.epoch)) - - # Release segment - parts.append(".".join(str(x) for x in self.release)) - - return "".join(parts) - - @property - def is_prerelease(self): - return self.dev is not None or self.pre is not None - - @property - def is_postrelease(self): - return self.post is not None - - @property - def is_devrelease(self): - return self.dev is not None - - -def _parse_letter_version(letter, number): - if letter: - # We consider there to be an implicit 0 in a pre-release if there is - # not a numeral associated with it. - if number is None: - number = 0 - - # We normalize any letters to their lower case form - letter = letter.lower() - - # We consider some words to be alternate spellings of other words and - # in those cases we want to normalize the spellings to our preferred - # spelling. - if letter == "alpha": - letter = "a" - elif letter == "beta": - letter = "b" - elif letter in ["c", "pre", "preview"]: - letter = "rc" - elif letter in ["rev", "r"]: - letter = "post" - - return letter, int(number) - if not letter and number: - # We assume if we are given a number, but we are not given a letter - # then this is using the implicit post release syntax (e.g. 1.0-1) - letter = "post" - - return letter, int(number) - - -_local_version_separators = re.compile(r"[\._-]") - - -def _parse_local_version(local): - """ - Takes a string like abc.1.twelve and turns it into ("abc", 1, "twelve"). - """ - if local is not None: - return tuple( - part.lower() if not part.isdigit() else int(part) - for part in _local_version_separators.split(local) - ) - - -def _cmpkey(epoch, release, pre, post, dev, local): - # When we compare a release version, we want to compare it with all of the - # trailing zeros removed. So we'll use a reverse the list, drop all the now - # leading zeros until we come to something non zero, then take the rest - # re-reverse it back into the correct order and make it a tuple and use - # that for our sorting key. - release = tuple( - reversed(list(itertools.dropwhile(lambda x: x == 0, reversed(release)))) - ) - - # We need to "trick" the sorting algorithm to put 1.0.dev0 before 1.0a0. - # We'll do this by abusing the pre segment, but we _only_ want to do this - # if there is not a pre or a post segment. If we have one of those then - # the normal sorting rules will handle this case correctly. - if pre is None and post is None and dev is not None: - pre = -Infinity - # Versions without a pre-release (except as noted above) should sort after - # those with one. - elif pre is None: - pre = Infinity - - # Versions without a post segment should sort before those with one. - if post is None: - post = -Infinity - - # Versions without a development segment should sort after those with one. - if dev is None: - dev = Infinity - - if local is None: - # Versions without a local segment should sort before those with one. - local = -Infinity - else: - # Versions with a local segment need that segment parsed to implement - # the sorting rules in PEP440. - # - Alpha numeric segments sort before numeric segments - # - Alpha numeric segments sort lexicographically - # - Numeric segments sort numerically - # - Shorter versions sort before longer versions when the prefixes - # match exactly - local = tuple((i, "") if isinstance(i, int) else (-Infinity, i) for i in local) - - return epoch, release, pre, post, dev, local diff --git a/.venv/lib/python3.8/site-packages/setuptools/_vendor/pyparsing.py b/.venv/lib/python3.8/site-packages/setuptools/_vendor/pyparsing.py deleted file mode 100644 index cf75e1e..0000000 --- a/.venv/lib/python3.8/site-packages/setuptools/_vendor/pyparsing.py +++ /dev/null @@ -1,5742 +0,0 @@ -# module pyparsing.py -# -# Copyright (c) 2003-2018 Paul T. McGuire -# -# Permission is hereby granted, free of charge, to any person obtaining -# a copy of this software and associated documentation files (the -# "Software"), to deal in the Software without restriction, including -# without limitation the rights to use, copy, modify, merge, publish, -# distribute, sublicense, and/or sell copies of the Software, and to -# permit persons to whom the Software is furnished to do so, subject to -# the following conditions: -# -# The above copyright notice and this permission notice shall be -# included in all copies or substantial portions of the Software. -# -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -# IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -# CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -# TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -# SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -# - -__doc__ = \ -""" -pyparsing module - Classes and methods to define and execute parsing grammars -============================================================================= - -The pyparsing module is an alternative approach to creating and executing simple grammars, -vs. the traditional lex/yacc approach, or the use of regular expressions. With pyparsing, you -don't need to learn a new syntax for defining grammars or matching expressions - the parsing module -provides a library of classes that you use to construct the grammar directly in Python. - -Here is a program to parse "Hello, World!" (or any greeting of the form -C{"<salutation>, <addressee>!"}), built up using L{Word}, L{Literal}, and L{And} elements -(L{'+'<ParserElement.__add__>} operator gives L{And} expressions, strings are auto-converted to -L{Literal} expressions):: - - from pyparsing import Word, alphas - - # define grammar of a greeting - greet = Word(alphas) + "," + Word(alphas) + "!" - - hello = "Hello, World!" - print (hello, "->", greet.parseString(hello)) - -The program outputs the following:: - - Hello, World! -> ['Hello', ',', 'World', '!'] - -The Python representation of the grammar is quite readable, owing to the self-explanatory -class names, and the use of '+', '|' and '^' operators. - -The L{ParseResults} object returned from L{ParserElement.parseString<ParserElement.parseString>} can be accessed as a nested list, a dictionary, or an -object with named attributes. - -The pyparsing module handles some of the problems that are typically vexing when writing text parsers: - - extra or missing whitespace (the above program will also handle "Hello,World!", "Hello , World !", etc.) - - quoted strings - - embedded comments - - -Getting Started - ------------------ -Visit the classes L{ParserElement} and L{ParseResults} to see the base classes that most other pyparsing -classes inherit from. Use the docstrings for examples of how to: - - construct literal match expressions from L{Literal} and L{CaselessLiteral} classes - - construct character word-group expressions using the L{Word} class - - see how to create repetitive expressions using L{ZeroOrMore} and L{OneOrMore} classes - - use L{'+'<And>}, L{'|'<MatchFirst>}, L{'^'<Or>}, and L{'&'<Each>} operators to combine simple expressions into more complex ones - - associate names with your parsed results using L{ParserElement.setResultsName} - - find some helpful expression short-cuts like L{delimitedList} and L{oneOf} - - find more useful common expressions in the L{pyparsing_common} namespace class -""" - -__version__ = "2.2.1" -__versionTime__ = "18 Sep 2018 00:49 UTC" -__author__ = "Paul McGuire <ptmcg@users.sourceforge.net>" - -import string -from weakref import ref as wkref -import copy -import sys -import warnings -import re -import sre_constants -import collections -import pprint -import traceback -import types -from datetime import datetime - -try: - from _thread import RLock -except ImportError: - from threading import RLock - -try: - # Python 3 - from collections.abc import Iterable - from collections.abc import MutableMapping -except ImportError: - # Python 2.7 - from collections import Iterable - from collections import MutableMapping - -try: - from collections import OrderedDict as _OrderedDict -except ImportError: - try: - from ordereddict import OrderedDict as _OrderedDict - except ImportError: - _OrderedDict = None - -#~ sys.stderr.write( "testing pyparsing module, version %s, %s\n" % (__version__,__versionTime__ ) ) - -__all__ = [ -'And', 'CaselessKeyword', 'CaselessLiteral', 'CharsNotIn', 'Combine', 'Dict', 'Each', 'Empty', -'FollowedBy', 'Forward', 'GoToColumn', 'Group', 'Keyword', 'LineEnd', 'LineStart', 'Literal', -'MatchFirst', 'NoMatch', 'NotAny', 'OneOrMore', 'OnlyOnce', 'Optional', 'Or', -'ParseBaseException', 'ParseElementEnhance', 'ParseException', 'ParseExpression', 'ParseFatalException', -'ParseResults', 'ParseSyntaxException', 'ParserElement', 'QuotedString', 'RecursiveGrammarException', -'Regex', 'SkipTo', 'StringEnd', 'StringStart', 'Suppress', 'Token', 'TokenConverter', -'White', 'Word', 'WordEnd', 'WordStart', 'ZeroOrMore', -'alphanums', 'alphas', 'alphas8bit', 'anyCloseTag', 'anyOpenTag', 'cStyleComment', 'col', -'commaSeparatedList', 'commonHTMLEntity', 'countedArray', 'cppStyleComment', 'dblQuotedString', -'dblSlashComment', 'delimitedList', 'dictOf', 'downcaseTokens', 'empty', 'hexnums', -'htmlComment', 'javaStyleComment', 'line', 'lineEnd', 'lineStart', 'lineno', -'makeHTMLTags', 'makeXMLTags', 'matchOnlyAtCol', 'matchPreviousExpr', 'matchPreviousLiteral', -'nestedExpr', 'nullDebugAction', 'nums', 'oneOf', 'opAssoc', 'operatorPrecedence', 'printables', -'punc8bit', 'pythonStyleComment', 'quotedString', 'removeQuotes', 'replaceHTMLEntity', -'replaceWith', 'restOfLine', 'sglQuotedString', 'srange', 'stringEnd', -'stringStart', 'traceParseAction', 'unicodeString', 'upcaseTokens', 'withAttribute', -'indentedBlock', 'originalTextFor', 'ungroup', 'infixNotation','locatedExpr', 'withClass', -'CloseMatch', 'tokenMap', 'pyparsing_common', -] - -system_version = tuple(sys.version_info)[:3] -PY_3 = system_version[0] == 3 -if PY_3: - _MAX_INT = sys.maxsize - basestring = str - unichr = chr - _ustr = str - - # build list of single arg builtins, that can be used as parse actions - singleArgBuiltins = [sum, len, sorted, reversed, list, tuple, set, any, all, min, max] - -else: - _MAX_INT = sys.maxint - range = xrange - - def _ustr(obj): - """Drop-in replacement for str(obj) that tries to be Unicode friendly. It first tries - str(obj). If that fails with a UnicodeEncodeError, then it tries unicode(obj). It - then < returns the unicode object | encodes it with the default encoding | ... >. - """ - if isinstance(obj,unicode): - return obj - - try: - # If this works, then _ustr(obj) has the same behaviour as str(obj), so - # it won't break any existing code. - return str(obj) - - except UnicodeEncodeError: - # Else encode it - ret = unicode(obj).encode(sys.getdefaultencoding(), 'xmlcharrefreplace') - xmlcharref = Regex(r'&#\d+;') - xmlcharref.setParseAction(lambda t: '\\u' + hex(int(t[0][2:-1]))[2:]) - return xmlcharref.transformString(ret) - - # build list of single arg builtins, tolerant of Python version, that can be used as parse actions - singleArgBuiltins = [] - import __builtin__ - for fname in "sum len sorted reversed list tuple set any all min max".split(): - try: - singleArgBuiltins.append(getattr(__builtin__,fname)) - except AttributeError: - continue - -_generatorType = type((y for y in range(1))) - -def _xml_escape(data): - """Escape &, <, >, ", ', etc. in a string of data.""" - - # ampersand must be replaced first - from_symbols = '&><"\'' - to_symbols = ('&'+s+';' for s in "amp gt lt quot apos".split()) - for from_,to_ in zip(from_symbols, to_symbols): - data = data.replace(from_, to_) - return data - -class _Constants(object): - pass - -alphas = string.ascii_uppercase + string.ascii_lowercase -nums = "0123456789" -hexnums = nums + "ABCDEFabcdef" -alphanums = alphas + nums -_bslash = chr(92) -printables = "".join(c for c in string.printable if c not in string.whitespace) - -class ParseBaseException(Exception): - """base exception class for all parsing runtime exceptions""" - # Performance tuning: we construct a *lot* of these, so keep this - # constructor as small and fast as possible - def __init__( self, pstr, loc=0, msg=None, elem=None ): - self.loc = loc - if msg is None: - self.msg = pstr - self.pstr = "" - else: - self.msg = msg - self.pstr = pstr - self.parserElement = elem - self.args = (pstr, loc, msg) - - @classmethod - def _from_exception(cls, pe): - """ - internal factory method to simplify creating one type of ParseException - from another - avoids having __init__ signature conflicts among subclasses - """ - return cls(pe.pstr, pe.loc, pe.msg, pe.parserElement) - - def __getattr__( self, aname ): - """supported attributes by name are: - - lineno - returns the line number of the exception text - - col - returns the column number of the exception text - - line - returns the line containing the exception text - """ - if( aname == "lineno" ): - return lineno( self.loc, self.pstr ) - elif( aname in ("col", "column") ): - return col( self.loc, self.pstr ) - elif( aname == "line" ): - return line( self.loc, self.pstr ) - else: - raise AttributeError(aname) - - def __str__( self ): - return "%s (at char %d), (line:%d, col:%d)" % \ - ( self.msg, self.loc, self.lineno, self.column ) - def __repr__( self ): - return _ustr(self) - def markInputline( self, markerString = ">!<" ): - """Extracts the exception line from the input string, and marks - the location of the exception with a special symbol. - """ - line_str = self.line - line_column = self.column - 1 - if markerString: - line_str = "".join((line_str[:line_column], - markerString, line_str[line_column:])) - return line_str.strip() - def __dir__(self): - return "lineno col line".split() + dir(type(self)) - -class ParseException(ParseBaseException): - """ - Exception thrown when parse expressions don't match class; - supported attributes by name are: - - lineno - returns the line number of the exception text - - col - returns the column number of the exception text - - line - returns the line containing the exception text - - Example:: - try: - Word(nums).setName("integer").parseString("ABC") - except ParseException as pe: - print(pe) - print("column: {}".format(pe.col)) - - prints:: - Expected integer (at char 0), (line:1, col:1) - column: 1 - """ - pass - -class ParseFatalException(ParseBaseException): - """user-throwable exception thrown when inconsistent parse content - is found; stops all parsing immediately""" - pass - -class ParseSyntaxException(ParseFatalException): - """just like L{ParseFatalException}, but thrown internally when an - L{ErrorStop<And._ErrorStop>} ('-' operator) indicates that parsing is to stop - immediately because an unbacktrackable syntax error has been found""" - pass - -#~ class ReparseException(ParseBaseException): - #~ """Experimental class - parse actions can raise this exception to cause - #~ pyparsing to reparse the input string: - #~ - with a modified input string, and/or - #~ - with a modified start location - #~ Set the values of the ReparseException in the constructor, and raise the - #~ exception in a parse action to cause pyparsing to use the new string/location. - #~ Setting the values as None causes no change to be made. - #~ """ - #~ def __init_( self, newstring, restartLoc ): - #~ self.newParseText = newstring - #~ self.reparseLoc = restartLoc - -class RecursiveGrammarException(Exception): - """exception thrown by L{ParserElement.validate} if the grammar could be improperly recursive""" - def __init__( self, parseElementList ): - self.parseElementTrace = parseElementList - - def __str__( self ): - return "RecursiveGrammarException: %s" % self.parseElementTrace - -class _ParseResultsWithOffset(object): - def __init__(self,p1,p2): - self.tup = (p1,p2) - def __getitem__(self,i): - return self.tup[i] - def __repr__(self): - return repr(self.tup[0]) - def setOffset(self,i): - self.tup = (self.tup[0],i) - -class ParseResults(object): - """ - Structured parse results, to provide multiple means of access to the parsed data: - - as a list (C{len(results)}) - - by list index (C{results[0], results[1]}, etc.) - - by attribute (C{results.<resultsName>} - see L{ParserElement.setResultsName}) - - Example:: - integer = Word(nums) - date_str = (integer.setResultsName("year") + '/' - + integer.setResultsName("month") + '/' - + integer.setResultsName("day")) - # equivalent form: - # date_str = integer("year") + '/' + integer("month") + '/' + integer("day") - - # parseString returns a ParseResults object - result = date_str.parseString("1999/12/31") - - def test(s, fn=repr): - print("%s -> %s" % (s, fn(eval(s)))) - test("list(result)") - test("result[0]") - test("result['month']") - test("result.day") - test("'month' in result") - test("'minutes' in result") - test("result.dump()", str) - prints:: - list(result) -> ['1999', '/', '12', '/', '31'] - result[0] -> '1999' - result['month'] -> '12' - result.day -> '31' - 'month' in result -> True - 'minutes' in result -> False - result.dump() -> ['1999', '/', '12', '/', '31'] - - day: 31 - - month: 12 - - year: 1999 - """ - def __new__(cls, toklist=None, name=None, asList=True, modal=True ): - if isinstance(toklist, cls): - return toklist - retobj = object.__new__(cls) - retobj.__doinit = True - return retobj - - # Performance tuning: we construct a *lot* of these, so keep this - # constructor as small and fast as possible - def __init__( self, toklist=None, name=None, asList=True, modal=True, isinstance=isinstance ): - if self.__doinit: - self.__doinit = False - self.__name = None - self.__parent = None - self.__accumNames = {} - self.__asList = asList - self.__modal = modal - if toklist is None: - toklist = [] - if isinstance(toklist, list): - self.__toklist = toklist[:] - elif isinstance(toklist, _generatorType): - self.__toklist = list(toklist) - else: - self.__toklist = [toklist] - self.__tokdict = dict() - - if name is not None and name: - if not modal: - self.__accumNames[name] = 0 - if isinstance(name,int): - name = _ustr(name) # will always return a str, but use _ustr for consistency - self.__name = name - if not (isinstance(toklist, (type(None), basestring, list)) and toklist in (None,'',[])): - if isinstance(toklist,basestring): - toklist = [ toklist ] - if asList: - if isinstance(toklist,ParseResults): - self[name] = _ParseResultsWithOffset(toklist.copy(),0) - else: - self[name] = _ParseResultsWithOffset(ParseResults(toklist[0]),0) - self[name].__name = name - else: - try: - self[name] = toklist[0] - except (KeyError,TypeError,IndexError): - self[name] = toklist - - def __getitem__( self, i ): - if isinstance( i, (int,slice) ): - return self.__toklist[i] - else: - if i not in self.__accumNames: - return self.__tokdict[i][-1][0] - else: - return ParseResults([ v[0] for v in self.__tokdict[i] ]) - - def __setitem__( self, k, v, isinstance=isinstance ): - if isinstance(v,_ParseResultsWithOffset): - self.__tokdict[k] = self.__tokdict.get(k,list()) + [v] - sub = v[0] - elif isinstance(k,(int,slice)): - self.__toklist[k] = v - sub = v - else: - self.__tokdict[k] = self.__tokdict.get(k,list()) + [_ParseResultsWithOffset(v,0)] - sub = v - if isinstance(sub,ParseResults): - sub.__parent = wkref(self) - - def __delitem__( self, i ): - if isinstance(i,(int,slice)): - mylen = len( self.__toklist ) - del self.__toklist[i] - - # convert int to slice - if isinstance(i, int): - if i < 0: - i += mylen - i = slice(i, i+1) - # get removed indices - removed = list(range(*i.indices(mylen))) - removed.reverse() - # fixup indices in token dictionary - for name,occurrences in self.__tokdict.items(): - for j in removed: - for k, (value, position) in enumerate(occurrences): - occurrences[k] = _ParseResultsWithOffset(value, position - (position > j)) - else: - del self.__tokdict[i] - - def __contains__( self, k ): - return k in self.__tokdict - - def __len__( self ): return len( self.__toklist ) - def __bool__(self): return ( not not self.__toklist ) - __nonzero__ = __bool__ - def __iter__( self ): return iter( self.__toklist ) - def __reversed__( self ): return iter( self.__toklist[::-1] ) - def _iterkeys( self ): - if hasattr(self.__tokdict, "iterkeys"): - return self.__tokdict.iterkeys() - else: - return iter(self.__tokdict) - - def _itervalues( self ): - return (self[k] for k in self._iterkeys()) - - def _iteritems( self ): - return ((k, self[k]) for k in self._iterkeys()) - - if PY_3: - keys = _iterkeys - """Returns an iterator of all named result keys (Python 3.x only).""" - - values = _itervalues - """Returns an iterator of all named result values (Python 3.x only).""" - - items = _iteritems - """Returns an iterator of all named result key-value tuples (Python 3.x only).""" - - else: - iterkeys = _iterkeys - """Returns an iterator of all named result keys (Python 2.x only).""" - - itervalues = _itervalues - """Returns an iterator of all named result values (Python 2.x only).""" - - iteritems = _iteritems - """Returns an iterator of all named result key-value tuples (Python 2.x only).""" - - def keys( self ): - """Returns all named result keys (as a list in Python 2.x, as an iterator in Python 3.x).""" - return list(self.iterkeys()) - - def values( self ): - """Returns all named result values (as a list in Python 2.x, as an iterator in Python 3.x).""" - return list(self.itervalues()) - - def items( self ): - """Returns all named result key-values (as a list of tuples in Python 2.x, as an iterator in Python 3.x).""" - return list(self.iteritems()) - - def haskeys( self ): - """Since keys() returns an iterator, this method is helpful in bypassing - code that looks for the existence of any defined results names.""" - return bool(self.__tokdict) - - def pop( self, *args, **kwargs): - """ - Removes and returns item at specified index (default=C{last}). - Supports both C{list} and C{dict} semantics for C{pop()}. If passed no - argument or an integer argument, it will use C{list} semantics - and pop tokens from the list of parsed tokens. If passed a - non-integer argument (most likely a string), it will use C{dict} - semantics and pop the corresponding value from any defined - results names. A second default return value argument is - supported, just as in C{dict.pop()}. - - Example:: - def remove_first(tokens): - tokens.pop(0) - print(OneOrMore(Word(nums)).parseString("0 123 321")) # -> ['0', '123', '321'] - print(OneOrMore(Word(nums)).addParseAction(remove_first).parseString("0 123 321")) # -> ['123', '321'] - - label = Word(alphas) - patt = label("LABEL") + OneOrMore(Word(nums)) - print(patt.parseString("AAB 123 321").dump()) - - # Use pop() in a parse action to remove named result (note that corresponding value is not - # removed from list form of results) - def remove_LABEL(tokens): - tokens.pop("LABEL") - return tokens - patt.addParseAction(remove_LABEL) - print(patt.parseString("AAB 123 321").dump()) - prints:: - ['AAB', '123', '321'] - - LABEL: AAB - - ['AAB', '123', '321'] - """ - if not args: - args = [-1] - for k,v in kwargs.items(): - if k == 'default': - args = (args[0], v) - else: - raise TypeError("pop() got an unexpected keyword argument '%s'" % k) - if (isinstance(args[0], int) or - len(args) == 1 or - args[0] in self): - index = args[0] - ret = self[index] - del self[index] - return ret - else: - defaultvalue = args[1] - return defaultvalue - - def get(self, key, defaultValue=None): - """ - Returns named result matching the given key, or if there is no - such name, then returns the given C{defaultValue} or C{None} if no - C{defaultValue} is specified. - - Similar to C{dict.get()}. - - Example:: - integer = Word(nums) - date_str = integer("year") + '/' + integer("month") + '/' + integer("day") - - result = date_str.parseString("1999/12/31") - print(result.get("year")) # -> '1999' - print(result.get("hour", "not specified")) # -> 'not specified' - print(result.get("hour")) # -> None - """ - if key in self: - return self[key] - else: - return defaultValue - - def insert( self, index, insStr ): - """ - Inserts new element at location index in the list of parsed tokens. - - Similar to C{list.insert()}. - - Example:: - print(OneOrMore(Word(nums)).parseString("0 123 321")) # -> ['0', '123', '321'] - - # use a parse action to insert the parse location in the front of the parsed results - def insert_locn(locn, tokens): - tokens.insert(0, locn) - print(OneOrMore(Word(nums)).addParseAction(insert_locn).parseString("0 123 321")) # -> [0, '0', '123', '321'] - """ - self.__toklist.insert(index, insStr) - # fixup indices in token dictionary - for name,occurrences in self.__tokdict.items(): - for k, (value, position) in enumerate(occurrences): - occurrences[k] = _ParseResultsWithOffset(value, position + (position > index)) - - def append( self, item ): - """ - Add single element to end of ParseResults list of elements. - - Example:: - print(OneOrMore(Word(nums)).parseString("0 123 321")) # -> ['0', '123', '321'] - - # use a parse action to compute the sum of the parsed integers, and add it to the end - def append_sum(tokens): - tokens.append(sum(map(int, tokens))) - print(OneOrMore(Word(nums)).addParseAction(append_sum).parseString("0 123 321")) # -> ['0', '123', '321', 444] - """ - self.__toklist.append(item) - - def extend( self, itemseq ): - """ - Add sequence of elements to end of ParseResults list of elements. - - Example:: - patt = OneOrMore(Word(alphas)) - - # use a parse action to append the reverse of the matched strings, to make a palindrome - def make_palindrome(tokens): - tokens.extend(reversed([t[::-1] for t in tokens])) - return ''.join(tokens) - print(patt.addParseAction(make_palindrome).parseString("lskdj sdlkjf lksd")) # -> 'lskdjsdlkjflksddsklfjkldsjdksl' - """ - if isinstance(itemseq, ParseResults): - self += itemseq - else: - self.__toklist.extend(itemseq) - - def clear( self ): - """ - Clear all elements and results names. - """ - del self.__toklist[:] - self.__tokdict.clear() - - def __getattr__( self, name ): - try: - return self[name] - except KeyError: - return "" - - if name in self.__tokdict: - if name not in self.__accumNames: - return self.__tokdict[name][-1][0] - else: - return ParseResults([ v[0] for v in self.__tokdict[name] ]) - else: - return "" - - def __add__( self, other ): - ret = self.copy() - ret += other - return ret - - def __iadd__( self, other ): - if other.__tokdict: - offset = len(self.__toklist) - addoffset = lambda a: offset if a<0 else a+offset - otheritems = other.__tokdict.items() - otherdictitems = [(k, _ParseResultsWithOffset(v[0],addoffset(v[1])) ) - for (k,vlist) in otheritems for v in vlist] - for k,v in otherdictitems: - self[k] = v - if isinstance(v[0],ParseResults): - v[0].__parent = wkref(self) - - self.__toklist += other.__toklist - self.__accumNames.update( other.__accumNames ) - return self - - def __radd__(self, other): - if isinstance(other,int) and other == 0: - # useful for merging many ParseResults using sum() builtin - return self.copy() - else: - # this may raise a TypeError - so be it - return other + self - - def __repr__( self ): - return "(%s, %s)" % ( repr( self.__toklist ), repr( self.__tokdict ) ) - - def __str__( self ): - return '[' + ', '.join(_ustr(i) if isinstance(i, ParseResults) else repr(i) for i in self.__toklist) + ']' - - def _asStringList( self, sep='' ): - out = [] - for item in self.__toklist: - if out and sep: - out.append(sep) - if isinstance( item, ParseResults ): - out += item._asStringList() - else: - out.append( _ustr(item) ) - return out - - def asList( self ): - """ - Returns the parse results as a nested list of matching tokens, all converted to strings. - - Example:: - patt = OneOrMore(Word(alphas)) - result = patt.parseString("sldkj lsdkj sldkj") - # even though the result prints in string-like form, it is actually a pyparsing ParseResults - print(type(result), result) # -> <class 'pyparsing.ParseResults'> ['sldkj', 'lsdkj', 'sldkj'] - - # Use asList() to create an actual list - result_list = result.asList() - print(type(result_list), result_list) # -> <class 'list'> ['sldkj', 'lsdkj', 'sldkj'] - """ - return [res.asList() if isinstance(res,ParseResults) else res for res in self.__toklist] - - def asDict( self ): - """ - Returns the named parse results as a nested dictionary. - - Example:: - integer = Word(nums) - date_str = integer("year") + '/' + integer("month") + '/' + integer("day") - - result = date_str.parseString('12/31/1999') - print(type(result), repr(result)) # -> <class 'pyparsing.ParseResults'> (['12', '/', '31', '/', '1999'], {'day': [('1999', 4)], 'year': [('12', 0)], 'month': [('31', 2)]}) - - result_dict = result.asDict() - print(type(result_dict), repr(result_dict)) # -> <class 'dict'> {'day': '1999', 'year': '12', 'month': '31'} - - # even though a ParseResults supports dict-like access, sometime you just need to have a dict - import json - print(json.dumps(result)) # -> Exception: TypeError: ... is not JSON serializable - print(json.dumps(result.asDict())) # -> {"month": "31", "day": "1999", "year": "12"} - """ - if PY_3: - item_fn = self.items - else: - item_fn = self.iteritems - - def toItem(obj): - if isinstance(obj, ParseResults): - if obj.haskeys(): - return obj.asDict() - else: - return [toItem(v) for v in obj] - else: - return obj - - return dict((k,toItem(v)) for k,v in item_fn()) - - def copy( self ): - """ - Returns a new copy of a C{ParseResults} object. - """ - ret = ParseResults( self.__toklist ) - ret.__tokdict = self.__tokdict.copy() - ret.__parent = self.__parent - ret.__accumNames.update( self.__accumNames ) - ret.__name = self.__name - return ret - - def asXML( self, doctag=None, namedItemsOnly=False, indent="", formatted=True ): - """ - (Deprecated) Returns the parse results as XML. Tags are created for tokens and lists that have defined results names. - """ - nl = "\n" - out = [] - namedItems = dict((v[1],k) for (k,vlist) in self.__tokdict.items() - for v in vlist) - nextLevelIndent = indent + " " - - # collapse out indents if formatting is not desired - if not formatted: - indent = "" - nextLevelIndent = "" - nl = "" - - selfTag = None - if doctag is not None: - selfTag = doctag - else: - if self.__name: - selfTag = self.__name - - if not selfTag: - if namedItemsOnly: - return "" - else: - selfTag = "ITEM" - - out += [ nl, indent, "<", selfTag, ">" ] - - for i,res in enumerate(self.__toklist): - if isinstance(res,ParseResults): - if i in namedItems: - out += [ res.asXML(namedItems[i], - namedItemsOnly and doctag is None, - nextLevelIndent, - formatted)] - else: - out += [ res.asXML(None, - namedItemsOnly and doctag is None, - nextLevelIndent, - formatted)] - else: - # individual token, see if there is a name for it - resTag = None - if i in namedItems: - resTag = namedItems[i] - if not resTag: - if namedItemsOnly: - continue - else: - resTag = "ITEM" - xmlBodyText = _xml_escape(_ustr(res)) - out += [ nl, nextLevelIndent, "<", resTag, ">", - xmlBodyText, - "</", resTag, ">" ] - - out += [ nl, indent, "</", selfTag, ">" ] - return "".join(out) - - def __lookup(self,sub): - for k,vlist in self.__tokdict.items(): - for v,loc in vlist: - if sub is v: - return k - return None - - def getName(self): - r""" - Returns the results name for this token expression. Useful when several - different expressions might match at a particular location. - - Example:: - integer = Word(nums) - ssn_expr = Regex(r"\d\d\d-\d\d-\d\d\d\d") - house_number_expr = Suppress('#') + Word(nums, alphanums) - user_data = (Group(house_number_expr)("house_number") - | Group(ssn_expr)("ssn") - | Group(integer)("age")) - user_info = OneOrMore(user_data) - - result = user_info.parseString("22 111-22-3333 #221B") - for item in result: - print(item.getName(), ':', item[0]) - prints:: - age : 22 - ssn : 111-22-3333 - house_number : 221B - """ - if self.__name: - return self.__name - elif self.__parent: - par = self.__parent() - if par: - return par.__lookup(self) - else: - return None - elif (len(self) == 1 and - len(self.__tokdict) == 1 and - next(iter(self.__tokdict.values()))[0][1] in (0,-1)): - return next(iter(self.__tokdict.keys())) - else: - return None - - def dump(self, indent='', depth=0, full=True): - """ - Diagnostic method for listing out the contents of a C{ParseResults}. - Accepts an optional C{indent} argument so that this string can be embedded - in a nested display of other data. - - Example:: - integer = Word(nums) - date_str = integer("year") + '/' + integer("month") + '/' + integer("day") - - result = date_str.parseString('12/31/1999') - print(result.dump()) - prints:: - ['12', '/', '31', '/', '1999'] - - day: 1999 - - month: 31 - - year: 12 - """ - out = [] - NL = '\n' - out.append( indent+_ustr(self.asList()) ) - if full: - if self.haskeys(): - items = sorted((str(k), v) for k,v in self.items()) - for k,v in items: - if out: - out.append(NL) - out.append( "%s%s- %s: " % (indent,(' '*depth), k) ) - if isinstance(v,ParseResults): - if v: - out.append( v.dump(indent,depth+1) ) - else: - out.append(_ustr(v)) - else: - out.append(repr(v)) - elif any(isinstance(vv,ParseResults) for vv in self): - v = self - for i,vv in enumerate(v): - if isinstance(vv,ParseResults): - out.append("\n%s%s[%d]:\n%s%s%s" % (indent,(' '*(depth)),i,indent,(' '*(depth+1)),vv.dump(indent,depth+1) )) - else: - out.append("\n%s%s[%d]:\n%s%s%s" % (indent,(' '*(depth)),i,indent,(' '*(depth+1)),_ustr(vv))) - - return "".join(out) - - def pprint(self, *args, **kwargs): - """ - Pretty-printer for parsed results as a list, using the C{pprint} module. - Accepts additional positional or keyword args as defined for the - C{pprint.pprint} method. (U{http://docs.python.org/3/library/pprint.html#pprint.pprint}) - - Example:: - ident = Word(alphas, alphanums) - num = Word(nums) - func = Forward() - term = ident | num | Group('(' + func + ')') - func <<= ident + Group(Optional(delimitedList(term))) - result = func.parseString("fna a,b,(fnb c,d,200),100") - result.pprint(width=40) - prints:: - ['fna', - ['a', - 'b', - ['(', 'fnb', ['c', 'd', '200'], ')'], - '100']] - """ - pprint.pprint(self.asList(), *args, **kwargs) - - # add support for pickle protocol - def __getstate__(self): - return ( self.__toklist, - ( self.__tokdict.copy(), - self.__parent is not None and self.__parent() or None, - self.__accumNames, - self.__name ) ) - - def __setstate__(self,state): - self.__toklist = state[0] - (self.__tokdict, - par, - inAccumNames, - self.__name) = state[1] - self.__accumNames = {} - self.__accumNames.update(inAccumNames) - if par is not None: - self.__parent = wkref(par) - else: - self.__parent = None - - def __getnewargs__(self): - return self.__toklist, self.__name, self.__asList, self.__modal - - def __dir__(self): - return (dir(type(self)) + list(self.keys())) - -MutableMapping.register(ParseResults) - -def col (loc,strg): - """Returns current column within a string, counting newlines as line separators. - The first column is number 1. - - Note: the default parsing behavior is to expand tabs in the input string - before starting the parsing process. See L{I{ParserElement.parseString}<ParserElement.parseString>} for more information - on parsing strings containing C{<TAB>}s, and suggested methods to maintain a - consistent view of the parsed string, the parse location, and line and column - positions within the parsed string. - """ - s = strg - return 1 if 0<loc<len(s) and s[loc-1] == '\n' else loc - s.rfind("\n", 0, loc) - -def lineno(loc,strg): - """Returns current line number within a string, counting newlines as line separators. - The first line is number 1. - - Note: the default parsing behavior is to expand tabs in the input string - before starting the parsing process. See L{I{ParserElement.parseString}<ParserElement.parseString>} for more information - on parsing strings containing C{<TAB>}s, and suggested methods to maintain a - consistent view of the parsed string, the parse location, and line and column - positions within the parsed string. - """ - return strg.count("\n",0,loc) + 1 - -def line( loc, strg ): - """Returns the line of text containing loc within a string, counting newlines as line separators. - """ - lastCR = strg.rfind("\n", 0, loc) - nextCR = strg.find("\n", loc) - if nextCR >= 0: - return strg[lastCR+1:nextCR] - else: - return strg[lastCR+1:] - -def _defaultStartDebugAction( instring, loc, expr ): - print (("Match " + _ustr(expr) + " at loc " + _ustr(loc) + "(%d,%d)" % ( lineno(loc,instring), col(loc,instring) ))) - -def _defaultSuccessDebugAction( instring, startloc, endloc, expr, toks ): - print ("Matched " + _ustr(expr) + " -> " + str(toks.asList())) - -def _defaultExceptionDebugAction( instring, loc, expr, exc ): - print ("Exception raised:" + _ustr(exc)) - -def nullDebugAction(*args): - """'Do-nothing' debug action, to suppress debugging output during parsing.""" - pass - -# Only works on Python 3.x - nonlocal is toxic to Python 2 installs -#~ 'decorator to trim function calls to match the arity of the target' -#~ def _trim_arity(func, maxargs=3): - #~ if func in singleArgBuiltins: - #~ return lambda s,l,t: func(t) - #~ limit = 0 - #~ foundArity = False - #~ def wrapper(*args): - #~ nonlocal limit,foundArity - #~ while 1: - #~ try: - #~ ret = func(*args[limit:]) - #~ foundArity = True - #~ return ret - #~ except TypeError: - #~ if limit == maxargs or foundArity: - #~ raise - #~ limit += 1 - #~ continue - #~ return wrapper - -# this version is Python 2.x-3.x cross-compatible -'decorator to trim function calls to match the arity of the target' -def _trim_arity(func, maxargs=2): - if func in singleArgBuiltins: - return lambda s,l,t: func(t) - limit = [0] - foundArity = [False] - - # traceback return data structure changed in Py3.5 - normalize back to plain tuples - if system_version[:2] >= (3,5): - def extract_stack(limit=0): - # special handling for Python 3.5.0 - extra deep call stack by 1 - offset = -3 if system_version == (3,5,0) else -2 - frame_summary = traceback.extract_stack(limit=-offset+limit-1)[offset] - return [frame_summary[:2]] - def extract_tb(tb, limit=0): - frames = traceback.extract_tb(tb, limit=limit) - frame_summary = frames[-1] - return [frame_summary[:2]] - else: - extract_stack = traceback.extract_stack - extract_tb = traceback.extract_tb - - # synthesize what would be returned by traceback.extract_stack at the call to - # user's parse action 'func', so that we don't incur call penalty at parse time - - LINE_DIFF = 6 - # IF ANY CODE CHANGES, EVEN JUST COMMENTS OR BLANK LINES, BETWEEN THE NEXT LINE AND - # THE CALL TO FUNC INSIDE WRAPPER, LINE_DIFF MUST BE MODIFIED!!!! - this_line = extract_stack(limit=2)[-1] - pa_call_line_synth = (this_line[0], this_line[1]+LINE_DIFF) - - def wrapper(*args): - while 1: - try: - ret = func(*args[limit[0]:]) - foundArity[0] = True - return ret - except TypeError: - # re-raise TypeErrors if they did not come from our arity testing - if foundArity[0]: - raise - else: - try: - tb = sys.exc_info()[-1] - if not extract_tb(tb, limit=2)[-1][:2] == pa_call_line_synth: - raise - finally: - del tb - - if limit[0] <= maxargs: - limit[0] += 1 - continue - raise - - # copy func name to wrapper for sensible debug output - func_name = "<parse action>" - try: - func_name = getattr(func, '__name__', - getattr(func, '__class__').__name__) - except Exception: - func_name = str(func) - wrapper.__name__ = func_name - - return wrapper - -class ParserElement(object): - """Abstract base level parser element class.""" - DEFAULT_WHITE_CHARS = " \n\t\r" - verbose_stacktrace = False - - @staticmethod - def setDefaultWhitespaceChars( chars ): - r""" - Overrides the default whitespace chars - - Example:: - # default whitespace chars are space, <TAB> and newline - OneOrMore(Word(alphas)).parseString("abc def\nghi jkl") # -> ['abc', 'def', 'ghi', 'jkl'] - - # change to just treat newline as significant - ParserElement.setDefaultWhitespaceChars(" \t") - OneOrMore(Word(alphas)).parseString("abc def\nghi jkl") # -> ['abc', 'def'] - """ - ParserElement.DEFAULT_WHITE_CHARS = chars - - @staticmethod - def inlineLiteralsUsing(cls): - """ - Set class to be used for inclusion of string literals into a parser. - - Example:: - # default literal class used is Literal - integer = Word(nums) - date_str = integer("year") + '/' + integer("month") + '/' + integer("day") - - date_str.parseString("1999/12/31") # -> ['1999', '/', '12', '/', '31'] - - - # change to Suppress - ParserElement.inlineLiteralsUsing(Suppress) - date_str = integer("year") + '/' + integer("month") + '/' + integer("day") - - date_str.parseString("1999/12/31") # -> ['1999', '12', '31'] - """ - ParserElement._literalStringClass = cls - - def __init__( self, savelist=False ): - self.parseAction = list() - self.failAction = None - #~ self.name = "<unknown>" # don't define self.name, let subclasses try/except upcall - self.strRepr = None - self.resultsName = None - self.saveAsList = savelist - self.skipWhitespace = True - self.whiteChars = ParserElement.DEFAULT_WHITE_CHARS - self.copyDefaultWhiteChars = True - self.mayReturnEmpty = False # used when checking for left-recursion - self.keepTabs = False - self.ignoreExprs = list() - self.debug = False - self.streamlined = False - self.mayIndexError = True # used to optimize exception handling for subclasses that don't advance parse index - self.errmsg = "" - self.modalResults = True # used to mark results names as modal (report only last) or cumulative (list all) - self.debugActions = ( None, None, None ) #custom debug actions - self.re = None - self.callPreparse = True # used to avoid redundant calls to preParse - self.callDuringTry = False - - def copy( self ): - """ - Make a copy of this C{ParserElement}. Useful for defining different parse actions - for the same parsing pattern, using copies of the original parse element. - - Example:: - integer = Word(nums).setParseAction(lambda toks: int(toks[0])) - integerK = integer.copy().addParseAction(lambda toks: toks[0]*1024) + Suppress("K") - integerM = integer.copy().addParseAction(lambda toks: toks[0]*1024*1024) + Suppress("M") - - print(OneOrMore(integerK | integerM | integer).parseString("5K 100 640K 256M")) - prints:: - [5120, 100, 655360, 268435456] - Equivalent form of C{expr.copy()} is just C{expr()}:: - integerM = integer().addParseAction(lambda toks: toks[0]*1024*1024) + Suppress("M") - """ - cpy = copy.copy( self ) - cpy.parseAction = self.parseAction[:] - cpy.ignoreExprs = self.ignoreExprs[:] - if self.copyDefaultWhiteChars: - cpy.whiteChars = ParserElement.DEFAULT_WHITE_CHARS - return cpy - - def setName( self, name ): - """ - Define name for this expression, makes debugging and exception messages clearer. - - Example:: - Word(nums).parseString("ABC") # -> Exception: Expected W:(0123...) (at char 0), (line:1, col:1) - Word(nums).setName("integer").parseString("ABC") # -> Exception: Expected integer (at char 0), (line:1, col:1) - """ - self.name = name - self.errmsg = "Expected " + self.name - if hasattr(self,"exception"): - self.exception.msg = self.errmsg - return self - - def setResultsName( self, name, listAllMatches=False ): - """ - Define name for referencing matching tokens as a nested attribute - of the returned parse results. - NOTE: this returns a *copy* of the original C{ParserElement} object; - this is so that the client can define a basic element, such as an - integer, and reference it in multiple places with different names. - - You can also set results names using the abbreviated syntax, - C{expr("name")} in place of C{expr.setResultsName("name")} - - see L{I{__call__}<__call__>}. - - Example:: - date_str = (integer.setResultsName("year") + '/' - + integer.setResultsName("month") + '/' - + integer.setResultsName("day")) - - # equivalent form: - date_str = integer("year") + '/' + integer("month") + '/' + integer("day") - """ - newself = self.copy() - if name.endswith("*"): - name = name[:-1] - listAllMatches=True - newself.resultsName = name - newself.modalResults = not listAllMatches - return newself - - def setBreak(self,breakFlag = True): - """Method to invoke the Python pdb debugger when this element is - about to be parsed. Set C{breakFlag} to True to enable, False to - disable. - """ - if breakFlag: - _parseMethod = self._parse - def breaker(instring, loc, doActions=True, callPreParse=True): - import pdb - pdb.set_trace() - return _parseMethod( instring, loc, doActions, callPreParse ) - breaker._originalParseMethod = _parseMethod - self._parse = breaker - else: - if hasattr(self._parse,"_originalParseMethod"): - self._parse = self._parse._originalParseMethod - return self - - def setParseAction( self, *fns, **kwargs ): - """ - Define one or more actions to perform when successfully matching parse element definition. - Parse action fn is a callable method with 0-3 arguments, called as C{fn(s,loc,toks)}, - C{fn(loc,toks)}, C{fn(toks)}, or just C{fn()}, where: - - s = the original string being parsed (see note below) - - loc = the location of the matching substring - - toks = a list of the matched tokens, packaged as a C{L{ParseResults}} object - If the functions in fns modify the tokens, they can return them as the return - value from fn, and the modified list of tokens will replace the original. - Otherwise, fn does not need to return any value. - - Optional keyword arguments: - - callDuringTry = (default=C{False}) indicate if parse action should be run during lookaheads and alternate testing - - Note: the default parsing behavior is to expand tabs in the input string - before starting the parsing process. See L{I{parseString}<parseString>} for more information - on parsing strings containing C{<TAB>}s, and suggested methods to maintain a - consistent view of the parsed string, the parse location, and line and column - positions within the parsed string. - - Example:: - integer = Word(nums) - date_str = integer + '/' + integer + '/' + integer - - date_str.parseString("1999/12/31") # -> ['1999', '/', '12', '/', '31'] - - # use parse action to convert to ints at parse time - integer = Word(nums).setParseAction(lambda toks: int(toks[0])) - date_str = integer + '/' + integer + '/' + integer - - # note that integer fields are now ints, not strings - date_str.parseString("1999/12/31") # -> [1999, '/', 12, '/', 31] - """ - self.parseAction = list(map(_trim_arity, list(fns))) - self.callDuringTry = kwargs.get("callDuringTry", False) - return self - - def addParseAction( self, *fns, **kwargs ): - """ - Add one or more parse actions to expression's list of parse actions. See L{I{setParseAction}<setParseAction>}. - - See examples in L{I{copy}<copy>}. - """ - self.parseAction += list(map(_trim_arity, list(fns))) - self.callDuringTry = self.callDuringTry or kwargs.get("callDuringTry", False) - return self - - def addCondition(self, *fns, **kwargs): - """Add a boolean predicate function to expression's list of parse actions. See - L{I{setParseAction}<setParseAction>} for function call signatures. Unlike C{setParseAction}, - functions passed to C{addCondition} need to return boolean success/fail of the condition. - - Optional keyword arguments: - - message = define a custom message to be used in the raised exception - - fatal = if True, will raise ParseFatalException to stop parsing immediately; otherwise will raise ParseException - - Example:: - integer = Word(nums).setParseAction(lambda toks: int(toks[0])) - year_int = integer.copy() - year_int.addCondition(lambda toks: toks[0] >= 2000, message="Only support years 2000 and later") - date_str = year_int + '/' + integer + '/' + integer - - result = date_str.parseString("1999/12/31") # -> Exception: Only support years 2000 and later (at char 0), (line:1, col:1) - """ - msg = kwargs.get("message", "failed user-defined condition") - exc_type = ParseFatalException if kwargs.get("fatal", False) else ParseException - for fn in fns: - def pa(s,l,t): - if not bool(_trim_arity(fn)(s,l,t)): - raise exc_type(s,l,msg) - self.parseAction.append(pa) - self.callDuringTry = self.callDuringTry or kwargs.get("callDuringTry", False) - return self - - def setFailAction( self, fn ): - """Define action to perform if parsing fails at this expression. - Fail acton fn is a callable function that takes the arguments - C{fn(s,loc,expr,err)} where: - - s = string being parsed - - loc = location where expression match was attempted and failed - - expr = the parse expression that failed - - err = the exception thrown - The function returns no value. It may throw C{L{ParseFatalException}} - if it is desired to stop parsing immediately.""" - self.failAction = fn - return self - - def _skipIgnorables( self, instring, loc ): - exprsFound = True - while exprsFound: - exprsFound = False - for e in self.ignoreExprs: - try: - while 1: - loc,dummy = e._parse( instring, loc ) - exprsFound = True - except ParseException: - pass - return loc - - def preParse( self, instring, loc ): - if self.ignoreExprs: - loc = self._skipIgnorables( instring, loc ) - - if self.skipWhitespace: - wt = self.whiteChars - instrlen = len(instring) - while loc < instrlen and instring[loc] in wt: - loc += 1 - - return loc - - def parseImpl( self, instring, loc, doActions=True ): - return loc, [] - - def postParse( self, instring, loc, tokenlist ): - return tokenlist - - #~ @profile - def _parseNoCache( self, instring, loc, doActions=True, callPreParse=True ): - debugging = ( self.debug ) #and doActions ) - - if debugging or self.failAction: - #~ print ("Match",self,"at loc",loc,"(%d,%d)" % ( lineno(loc,instring), col(loc,instring) )) - if (self.debugActions[0] ): - self.debugActions[0]( instring, loc, self ) - if callPreParse and self.callPreparse: - preloc = self.preParse( instring, loc ) - else: - preloc = loc - tokensStart = preloc - try: - try: - loc,tokens = self.parseImpl( instring, preloc, doActions ) - except IndexError: - raise ParseException( instring, len(instring), self.errmsg, self ) - except ParseBaseException as err: - #~ print ("Exception raised:", err) - if self.debugActions[2]: - self.debugActions[2]( instring, tokensStart, self, err ) - if self.failAction: - self.failAction( instring, tokensStart, self, err ) - raise - else: - if callPreParse and self.callPreparse: - preloc = self.preParse( instring, loc ) - else: - preloc = loc - tokensStart = preloc - if self.mayIndexError or preloc >= len(instring): - try: - loc,tokens = self.parseImpl( instring, preloc, doActions ) - except IndexError: - raise ParseException( instring, len(instring), self.errmsg, self ) - else: - loc,tokens = self.parseImpl( instring, preloc, doActions ) - - tokens = self.postParse( instring, loc, tokens ) - - retTokens = ParseResults( tokens, self.resultsName, asList=self.saveAsList, modal=self.modalResults ) - if self.parseAction and (doActions or self.callDuringTry): - if debugging: - try: - for fn in self.parseAction: - tokens = fn( instring, tokensStart, retTokens ) - if tokens is not None: - retTokens = ParseResults( tokens, - self.resultsName, - asList=self.saveAsList and isinstance(tokens,(ParseResults,list)), - modal=self.modalResults ) - except ParseBaseException as err: - #~ print "Exception raised in user parse action:", err - if (self.debugActions[2] ): - self.debugActions[2]( instring, tokensStart, self, err ) - raise - else: - for fn in self.parseAction: - tokens = fn( instring, tokensStart, retTokens ) - if tokens is not None: - retTokens = ParseResults( tokens, - self.resultsName, - asList=self.saveAsList and isinstance(tokens,(ParseResults,list)), - modal=self.modalResults ) - if debugging: - #~ print ("Matched",self,"->",retTokens.asList()) - if (self.debugActions[1] ): - self.debugActions[1]( instring, tokensStart, loc, self, retTokens ) - - return loc, retTokens - - def tryParse( self, instring, loc ): - try: - return self._parse( instring, loc, doActions=False )[0] - except ParseFatalException: - raise ParseException( instring, loc, self.errmsg, self) - - def canParseNext(self, instring, loc): - try: - self.tryParse(instring, loc) - except (ParseException, IndexError): - return False - else: - return True - - class _UnboundedCache(object): - def __init__(self): - cache = {} - self.not_in_cache = not_in_cache = object() - - def get(self, key): - return cache.get(key, not_in_cache) - - def set(self, key, value): - cache[key] = value - - def clear(self): - cache.clear() - - def cache_len(self): - return len(cache) - - self.get = types.MethodType(get, self) - self.set = types.MethodType(set, self) - self.clear = types.MethodType(clear, self) - self.__len__ = types.MethodType(cache_len, self) - - if _OrderedDict is not None: - class _FifoCache(object): - def __init__(self, size): - self.not_in_cache = not_in_cache = object() - - cache = _OrderedDict() - - def get(self, key): - return cache.get(key, not_in_cache) - - def set(self, key, value): - cache[key] = value - while len(cache) > size: - try: - cache.popitem(False) - except KeyError: - pass - - def clear(self): - cache.clear() - - def cache_len(self): - return len(cache) - - self.get = types.MethodType(get, self) - self.set = types.MethodType(set, self) - self.clear = types.MethodType(clear, self) - self.__len__ = types.MethodType(cache_len, self) - - else: - class _FifoCache(object): - def __init__(self, size): - self.not_in_cache = not_in_cache = object() - - cache = {} - key_fifo = collections.deque([], size) - - def get(self, key): - return cache.get(key, not_in_cache) - - def set(self, key, value): - cache[key] = value - while len(key_fifo) > size: - cache.pop(key_fifo.popleft(), None) - key_fifo.append(key) - - def clear(self): - cache.clear() - key_fifo.clear() - - def cache_len(self): - return len(cache) - - self.get = types.MethodType(get, self) - self.set = types.MethodType(set, self) - self.clear = types.MethodType(clear, self) - self.__len__ = types.MethodType(cache_len, self) - - # argument cache for optimizing repeated calls when backtracking through recursive expressions - packrat_cache = {} # this is set later by enabledPackrat(); this is here so that resetCache() doesn't fail - packrat_cache_lock = RLock() - packrat_cache_stats = [0, 0] - - # this method gets repeatedly called during backtracking with the same arguments - - # we can cache these arguments and save ourselves the trouble of re-parsing the contained expression - def _parseCache( self, instring, loc, doActions=True, callPreParse=True ): - HIT, MISS = 0, 1 - lookup = (self, instring, loc, callPreParse, doActions) - with ParserElement.packrat_cache_lock: - cache = ParserElement.packrat_cache - value = cache.get(lookup) - if value is cache.not_in_cache: - ParserElement.packrat_cache_stats[MISS] += 1 - try: - value = self._parseNoCache(instring, loc, doActions, callPreParse) - except ParseBaseException as pe: - # cache a copy of the exception, without the traceback - cache.set(lookup, pe.__class__(*pe.args)) - raise - else: - cache.set(lookup, (value[0], value[1].copy())) - return value - else: - ParserElement.packrat_cache_stats[HIT] += 1 - if isinstance(value, Exception): - raise value - return (value[0], value[1].copy()) - - _parse = _parseNoCache - - @staticmethod - def resetCache(): - ParserElement.packrat_cache.clear() - ParserElement.packrat_cache_stats[:] = [0] * len(ParserElement.packrat_cache_stats) - - _packratEnabled = False - @staticmethod - def enablePackrat(cache_size_limit=128): - """Enables "packrat" parsing, which adds memoizing to the parsing logic. - Repeated parse attempts at the same string location (which happens - often in many complex grammars) can immediately return a cached value, - instead of re-executing parsing/validating code. Memoizing is done of - both valid results and parsing exceptions. - - Parameters: - - cache_size_limit - (default=C{128}) - if an integer value is provided - will limit the size of the packrat cache; if None is passed, then - the cache size will be unbounded; if 0 is passed, the cache will - be effectively disabled. - - This speedup may break existing programs that use parse actions that - have side-effects. For this reason, packrat parsing is disabled when - you first import pyparsing. To activate the packrat feature, your - program must call the class method C{ParserElement.enablePackrat()}. If - your program uses C{psyco} to "compile as you go", you must call - C{enablePackrat} before calling C{psyco.full()}. If you do not do this, - Python will crash. For best results, call C{enablePackrat()} immediately - after importing pyparsing. - - Example:: - import pyparsing - pyparsing.ParserElement.enablePackrat() - """ - if not ParserElement._packratEnabled: - ParserElement._packratEnabled = True - if cache_size_limit is None: - ParserElement.packrat_cache = ParserElement._UnboundedCache() - else: - ParserElement.packrat_cache = ParserElement._FifoCache(cache_size_limit) - ParserElement._parse = ParserElement._parseCache - - def parseString( self, instring, parseAll=False ): - """ - Execute the parse expression with the given string. - This is the main interface to the client code, once the complete - expression has been built. - - If you want the grammar to require that the entire input string be - successfully parsed, then set C{parseAll} to True (equivalent to ending - the grammar with C{L{StringEnd()}}). - - Note: C{parseString} implicitly calls C{expandtabs()} on the input string, - in order to report proper column numbers in parse actions. - If the input string contains tabs and - the grammar uses parse actions that use the C{loc} argument to index into the - string being parsed, you can ensure you have a consistent view of the input - string by: - - calling C{parseWithTabs} on your grammar before calling C{parseString} - (see L{I{parseWithTabs}<parseWithTabs>}) - - define your parse action using the full C{(s,loc,toks)} signature, and - reference the input string using the parse action's C{s} argument - - explictly expand the tabs in your input string before calling - C{parseString} - - Example:: - Word('a').parseString('aaaaabaaa') # -> ['aaaaa'] - Word('a').parseString('aaaaabaaa', parseAll=True) # -> Exception: Expected end of text - """ - ParserElement.resetCache() - if not self.streamlined: - self.streamline() - #~ self.saveAsList = True - for e in self.ignoreExprs: - e.streamline() - if not self.keepTabs: - instring = instring.expandtabs() - try: - loc, tokens = self._parse( instring, 0 ) - if parseAll: - loc = self.preParse( instring, loc ) - se = Empty() + StringEnd() - se._parse( instring, loc ) - except ParseBaseException as exc: - if ParserElement.verbose_stacktrace: - raise - else: - # catch and re-raise exception from here, clears out pyparsing internal stack trace - raise exc - else: - return tokens - - def scanString( self, instring, maxMatches=_MAX_INT, overlap=False ): - """ - Scan the input string for expression matches. Each match will return the - matching tokens, start location, and end location. May be called with optional - C{maxMatches} argument, to clip scanning after 'n' matches are found. If - C{overlap} is specified, then overlapping matches will be reported. - - Note that the start and end locations are reported relative to the string - being parsed. See L{I{parseString}<parseString>} for more information on parsing - strings with embedded tabs. - - Example:: - source = "sldjf123lsdjjkf345sldkjf879lkjsfd987" - print(source) - for tokens,start,end in Word(alphas).scanString(source): - print(' '*start + '^'*(end-start)) - print(' '*start + tokens[0]) - - prints:: - - sldjf123lsdjjkf345sldkjf879lkjsfd987 - ^^^^^ - sldjf - ^^^^^^^ - lsdjjkf - ^^^^^^ - sldkjf - ^^^^^^ - lkjsfd - """ - if not self.streamlined: - self.streamline() - for e in self.ignoreExprs: - e.streamline() - - if not self.keepTabs: - instring = _ustr(instring).expandtabs() - instrlen = len(instring) - loc = 0 - preparseFn = self.preParse - parseFn = self._parse - ParserElement.resetCache() - matches = 0 - try: - while loc <= instrlen and matches < maxMatches: - try: - preloc = preparseFn( instring, loc ) - nextLoc,tokens = parseFn( instring, preloc, callPreParse=False ) - except ParseException: - loc = preloc+1 - else: - if nextLoc > loc: - matches += 1 - yield tokens, preloc, nextLoc - if overlap: - nextloc = preparseFn( instring, loc ) - if nextloc > loc: - loc = nextLoc - else: - loc += 1 - else: - loc = nextLoc - else: - loc = preloc+1 - except ParseBaseException as exc: - if ParserElement.verbose_stacktrace: - raise - else: - # catch and re-raise exception from here, clears out pyparsing internal stack trace - raise exc - - def transformString( self, instring ): - """ - Extension to C{L{scanString}}, to modify matching text with modified tokens that may - be returned from a parse action. To use C{transformString}, define a grammar and - attach a parse action to it that modifies the returned token list. - Invoking C{transformString()} on a target string will then scan for matches, - and replace the matched text patterns according to the logic in the parse - action. C{transformString()} returns the resulting transformed string. - - Example:: - wd = Word(alphas) - wd.setParseAction(lambda toks: toks[0].title()) - - print(wd.transformString("now is the winter of our discontent made glorious summer by this sun of york.")) - Prints:: - Now Is The Winter Of Our Discontent Made Glorious Summer By This Sun Of York. - """ - out = [] - lastE = 0 - # force preservation of <TAB>s, to minimize unwanted transformation of string, and to - # keep string locs straight between transformString and scanString - self.keepTabs = True - try: - for t,s,e in self.scanString( instring ): - out.append( instring[lastE:s] ) - if t: - if isinstance(t,ParseResults): - out += t.asList() - elif isinstance(t,list): - out += t - else: - out.append(t) - lastE = e - out.append(instring[lastE:]) - out = [o for o in out if o] - return "".join(map(_ustr,_flatten(out))) - except ParseBaseException as exc: - if ParserElement.verbose_stacktrace: - raise - else: - # catch and re-raise exception from here, clears out pyparsing internal stack trace - raise exc - - def searchString( self, instring, maxMatches=_MAX_INT ): - """ - Another extension to C{L{scanString}}, simplifying the access to the tokens found - to match the given parse expression. May be called with optional - C{maxMatches} argument, to clip searching after 'n' matches are found. - - Example:: - # a capitalized word starts with an uppercase letter, followed by zero or more lowercase letters - cap_word = Word(alphas.upper(), alphas.lower()) - - print(cap_word.searchString("More than Iron, more than Lead, more than Gold I need Electricity")) - - # the sum() builtin can be used to merge results into a single ParseResults object - print(sum(cap_word.searchString("More than Iron, more than Lead, more than Gold I need Electricity"))) - prints:: - [['More'], ['Iron'], ['Lead'], ['Gold'], ['I'], ['Electricity']] - ['More', 'Iron', 'Lead', 'Gold', 'I', 'Electricity'] - """ - try: - return ParseResults([ t for t,s,e in self.scanString( instring, maxMatches ) ]) - except ParseBaseException as exc: - if ParserElement.verbose_stacktrace: - raise - else: - # catch and re-raise exception from here, clears out pyparsing internal stack trace - raise exc - - def split(self, instring, maxsplit=_MAX_INT, includeSeparators=False): - """ - Generator method to split a string using the given expression as a separator. - May be called with optional C{maxsplit} argument, to limit the number of splits; - and the optional C{includeSeparators} argument (default=C{False}), if the separating - matching text should be included in the split results. - - Example:: - punc = oneOf(list(".,;:/-!?")) - print(list(punc.split("This, this?, this sentence, is badly punctuated!"))) - prints:: - ['This', ' this', '', ' this sentence', ' is badly punctuated', ''] - """ - splits = 0 - last = 0 - for t,s,e in self.scanString(instring, maxMatches=maxsplit): - yield instring[last:s] - if includeSeparators: - yield t[0] - last = e - yield instring[last:] - - def __add__(self, other ): - """ - Implementation of + operator - returns C{L{And}}. Adding strings to a ParserElement - converts them to L{Literal}s by default. - - Example:: - greet = Word(alphas) + "," + Word(alphas) + "!" - hello = "Hello, World!" - print (hello, "->", greet.parseString(hello)) - Prints:: - Hello, World! -> ['Hello', ',', 'World', '!'] - """ - if isinstance( other, basestring ): - other = ParserElement._literalStringClass( other ) - if not isinstance( other, ParserElement ): - warnings.warn("Cannot combine element of type %s with ParserElement" % type(other), - SyntaxWarning, stacklevel=2) - return None - return And( [ self, other ] ) - - def __radd__(self, other ): - """ - Implementation of + operator when left operand is not a C{L{ParserElement}} - """ - if isinstance( other, basestring ): - other = ParserElement._literalStringClass( other ) - if not isinstance( other, ParserElement ): - warnings.warn("Cannot combine element of type %s with ParserElement" % type(other), - SyntaxWarning, stacklevel=2) - return None - return other + self - - def __sub__(self, other): - """ - Implementation of - operator, returns C{L{And}} with error stop - """ - if isinstance( other, basestring ): - other = ParserElement._literalStringClass( other ) - if not isinstance( other, ParserElement ): - warnings.warn("Cannot combine element of type %s with ParserElement" % type(other), - SyntaxWarning, stacklevel=2) - return None - return self + And._ErrorStop() + other - - def __rsub__(self, other ): - """ - Implementation of - operator when left operand is not a C{L{ParserElement}} - """ - if isinstance( other, basestring ): - other = ParserElement._literalStringClass( other ) - if not isinstance( other, ParserElement ): - warnings.warn("Cannot combine element of type %s with ParserElement" % type(other), - SyntaxWarning, stacklevel=2) - return None - return other - self - - def __mul__(self,other): - """ - Implementation of * operator, allows use of C{expr * 3} in place of - C{expr + expr + expr}. Expressions may also me multiplied by a 2-integer - tuple, similar to C{{min,max}} multipliers in regular expressions. Tuples - may also include C{None} as in: - - C{expr*(n,None)} or C{expr*(n,)} is equivalent - to C{expr*n + L{ZeroOrMore}(expr)} - (read as "at least n instances of C{expr}") - - C{expr*(None,n)} is equivalent to C{expr*(0,n)} - (read as "0 to n instances of C{expr}") - - C{expr*(None,None)} is equivalent to C{L{ZeroOrMore}(expr)} - - C{expr*(1,None)} is equivalent to C{L{OneOrMore}(expr)} - - Note that C{expr*(None,n)} does not raise an exception if - more than n exprs exist in the input stream; that is, - C{expr*(None,n)} does not enforce a maximum number of expr - occurrences. If this behavior is desired, then write - C{expr*(None,n) + ~expr} - """ - if isinstance(other,int): - minElements, optElements = other,0 - elif isinstance(other,tuple): - other = (other + (None, None))[:2] - if other[0] is None: - other = (0, other[1]) - if isinstance(other[0],int) and other[1] is None: - if other[0] == 0: - return ZeroOrMore(self) - if other[0] == 1: - return OneOrMore(self) - else: - return self*other[0] + ZeroOrMore(self) - elif isinstance(other[0],int) and isinstance(other[1],int): - minElements, optElements = other - optElements -= minElements - else: - raise TypeError("cannot multiply 'ParserElement' and ('%s','%s') objects", type(other[0]),type(other[1])) - else: - raise TypeError("cannot multiply 'ParserElement' and '%s' objects", type(other)) - - if minElements < 0: - raise ValueError("cannot multiply ParserElement by negative value") - if optElements < 0: - raise ValueError("second tuple value must be greater or equal to first tuple value") - if minElements == optElements == 0: - raise ValueError("cannot multiply ParserElement by 0 or (0,0)") - - if (optElements): - def makeOptionalList(n): - if n>1: - return Optional(self + makeOptionalList(n-1)) - else: - return Optional(self) - if minElements: - if minElements == 1: - ret = self + makeOptionalList(optElements) - else: - ret = And([self]*minElements) + makeOptionalList(optElements) - else: - ret = makeOptionalList(optElements) - else: - if minElements == 1: - ret = self - else: - ret = And([self]*minElements) - return ret - - def __rmul__(self, other): - return self.__mul__(other) - - def __or__(self, other ): - """ - Implementation of | operator - returns C{L{MatchFirst}} - """ - if isinstance( other, basestring ): - other = ParserElement._literalStringClass( other ) - if not isinstance( other, ParserElement ): - warnings.warn("Cannot combine element of type %s with ParserElement" % type(other), - SyntaxWarning, stacklevel=2) - return None - return MatchFirst( [ self, other ] ) - - def __ror__(self, other ): - """ - Implementation of | operator when left operand is not a C{L{ParserElement}} - """ - if isinstance( other, basestring ): - other = ParserElement._literalStringClass( other ) - if not isinstance( other, ParserElement ): - warnings.warn("Cannot combine element of type %s with ParserElement" % type(other), - SyntaxWarning, stacklevel=2) - return None - return other | self - - def __xor__(self, other ): - """ - Implementation of ^ operator - returns C{L{Or}} - """ - if isinstance( other, basestring ): - other = ParserElement._literalStringClass( other ) - if not isinstance( other, ParserElement ): - warnings.warn("Cannot combine element of type %s with ParserElement" % type(other), - SyntaxWarning, stacklevel=2) - return None - return Or( [ self, other ] ) - - def __rxor__(self, other ): - """ - Implementation of ^ operator when left operand is not a C{L{ParserElement}} - """ - if isinstance( other, basestring ): - other = ParserElement._literalStringClass( other ) - if not isinstance( other, ParserElement ): - warnings.warn("Cannot combine element of type %s with ParserElement" % type(other), - SyntaxWarning, stacklevel=2) - return None - return other ^ self - - def __and__(self, other ): - """ - Implementation of & operator - returns C{L{Each}} - """ - if isinstance( other, basestring ): - other = ParserElement._literalStringClass( other ) - if not isinstance( other, ParserElement ): - warnings.warn("Cannot combine element of type %s with ParserElement" % type(other), - SyntaxWarning, stacklevel=2) - return None - return Each( [ self, other ] ) - - def __rand__(self, other ): - """ - Implementation of & operator when left operand is not a C{L{ParserElement}} - """ - if isinstance( other, basestring ): - other = ParserElement._literalStringClass( other ) - if not isinstance( other, ParserElement ): - warnings.warn("Cannot combine element of type %s with ParserElement" % type(other), - SyntaxWarning, stacklevel=2) - return None - return other & self - - def __invert__( self ): - """ - Implementation of ~ operator - returns C{L{NotAny}} - """ - return NotAny( self ) - - def __call__(self, name=None): - """ - Shortcut for C{L{setResultsName}}, with C{listAllMatches=False}. - - If C{name} is given with a trailing C{'*'} character, then C{listAllMatches} will be - passed as C{True}. - - If C{name} is omitted, same as calling C{L{copy}}. - - Example:: - # these are equivalent - userdata = Word(alphas).setResultsName("name") + Word(nums+"-").setResultsName("socsecno") - userdata = Word(alphas)("name") + Word(nums+"-")("socsecno") - """ - if name is not None: - return self.setResultsName(name) - else: - return self.copy() - - def suppress( self ): - """ - Suppresses the output of this C{ParserElement}; useful to keep punctuation from - cluttering up returned output. - """ - return Suppress( self ) - - def leaveWhitespace( self ): - """ - Disables the skipping of whitespace before matching the characters in the - C{ParserElement}'s defined pattern. This is normally only used internally by - the pyparsing module, but may be needed in some whitespace-sensitive grammars. - """ - self.skipWhitespace = False - return self - - def setWhitespaceChars( self, chars ): - """ - Overrides the default whitespace chars - """ - self.skipWhitespace = True - self.whiteChars = chars - self.copyDefaultWhiteChars = False - return self - - def parseWithTabs( self ): - """ - Overrides default behavior to expand C{<TAB>}s to spaces before parsing the input string. - Must be called before C{parseString} when the input grammar contains elements that - match C{<TAB>} characters. - """ - self.keepTabs = True - return self - - def ignore( self, other ): - """ - Define expression to be ignored (e.g., comments) while doing pattern - matching; may be called repeatedly, to define multiple comment or other - ignorable patterns. - - Example:: - patt = OneOrMore(Word(alphas)) - patt.parseString('ablaj /* comment */ lskjd') # -> ['ablaj'] - - patt.ignore(cStyleComment) - patt.parseString('ablaj /* comment */ lskjd') # -> ['ablaj', 'lskjd'] - """ - if isinstance(other, basestring): - other = Suppress(other) - - if isinstance( other, Suppress ): - if other not in self.ignoreExprs: - self.ignoreExprs.append(other) - else: - self.ignoreExprs.append( Suppress( other.copy() ) ) - return self - - def setDebugActions( self, startAction, successAction, exceptionAction ): - """ - Enable display of debugging messages while doing pattern matching. - """ - self.debugActions = (startAction or _defaultStartDebugAction, - successAction or _defaultSuccessDebugAction, - exceptionAction or _defaultExceptionDebugAction) - self.debug = True - return self - - def setDebug( self, flag=True ): - """ - Enable display of debugging messages while doing pattern matching. - Set C{flag} to True to enable, False to disable. - - Example:: - wd = Word(alphas).setName("alphaword") - integer = Word(nums).setName("numword") - term = wd | integer - - # turn on debugging for wd - wd.setDebug() - - OneOrMore(term).parseString("abc 123 xyz 890") - - prints:: - Match alphaword at loc 0(1,1) - Matched alphaword -> ['abc'] - Match alphaword at loc 3(1,4) - Exception raised:Expected alphaword (at char 4), (line:1, col:5) - Match alphaword at loc 7(1,8) - Matched alphaword -> ['xyz'] - Match alphaword at loc 11(1,12) - Exception raised:Expected alphaword (at char 12), (line:1, col:13) - Match alphaword at loc 15(1,16) - Exception raised:Expected alphaword (at char 15), (line:1, col:16) - - The output shown is that produced by the default debug actions - custom debug actions can be - specified using L{setDebugActions}. Prior to attempting - to match the C{wd} expression, the debugging message C{"Match <exprname> at loc <n>(<line>,<col>)"} - is shown. Then if the parse succeeds, a C{"Matched"} message is shown, or an C{"Exception raised"} - message is shown. Also note the use of L{setName} to assign a human-readable name to the expression, - which makes debugging and exception messages easier to understand - for instance, the default - name created for the C{Word} expression without calling C{setName} is C{"W:(ABCD...)"}. - """ - if flag: - self.setDebugActions( _defaultStartDebugAction, _defaultSuccessDebugAction, _defaultExceptionDebugAction ) - else: - self.debug = False - return self - - def __str__( self ): - return self.name - - def __repr__( self ): - return _ustr(self) - - def streamline( self ): - self.streamlined = True - self.strRepr = None - return self - - def checkRecursion( self, parseElementList ): - pass - - def validate( self, validateTrace=[] ): - """ - Check defined expressions for valid structure, check for infinite recursive definitions. - """ - self.checkRecursion( [] ) - - def parseFile( self, file_or_filename, parseAll=False ): - """ - Execute the parse expression on the given file or filename. - If a filename is specified (instead of a file object), - the entire file is opened, read, and closed before parsing. - """ - try: - file_contents = file_or_filename.read() - except AttributeError: - with open(file_or_filename, "r") as f: - file_contents = f.read() - try: - return self.parseString(file_contents, parseAll) - except ParseBaseException as exc: - if ParserElement.verbose_stacktrace: - raise - else: - # catch and re-raise exception from here, clears out pyparsing internal stack trace - raise exc - - def __eq__(self,other): - if isinstance(other, ParserElement): - return self is other or vars(self) == vars(other) - elif isinstance(other, basestring): - return self.matches(other) - else: - return super(ParserElement,self)==other - - def __ne__(self,other): - return not (self == other) - - def __hash__(self): - return hash(id(self)) - - def __req__(self,other): - return self == other - - def __rne__(self,other): - return not (self == other) - - def matches(self, testString, parseAll=True): - """ - Method for quick testing of a parser against a test string. Good for simple - inline microtests of sub expressions while building up larger parser. - - Parameters: - - testString - to test against this expression for a match - - parseAll - (default=C{True}) - flag to pass to C{L{parseString}} when running tests - - Example:: - expr = Word(nums) - assert expr.matches("100") - """ - try: - self.parseString(_ustr(testString), parseAll=parseAll) - return True - except ParseBaseException: - return False - - def runTests(self, tests, parseAll=True, comment='#', fullDump=True, printResults=True, failureTests=False): - """ - Execute the parse expression on a series of test strings, showing each - test, the parsed results or where the parse failed. Quick and easy way to - run a parse expression against a list of sample strings. - - Parameters: - - tests - a list of separate test strings, or a multiline string of test strings - - parseAll - (default=C{True}) - flag to pass to C{L{parseString}} when running tests - - comment - (default=C{'#'}) - expression for indicating embedded comments in the test - string; pass None to disable comment filtering - - fullDump - (default=C{True}) - dump results as list followed by results names in nested outline; - if False, only dump nested list - - printResults - (default=C{True}) prints test output to stdout - - failureTests - (default=C{False}) indicates if these tests are expected to fail parsing - - Returns: a (success, results) tuple, where success indicates that all tests succeeded - (or failed if C{failureTests} is True), and the results contain a list of lines of each - test's output - - Example:: - number_expr = pyparsing_common.number.copy() - - result = number_expr.runTests(''' - # unsigned integer - 100 - # negative integer - -100 - # float with scientific notation - 6.02e23 - # integer with scientific notation - 1e-12 - ''') - print("Success" if result[0] else "Failed!") - - result = number_expr.runTests(''' - # stray character - 100Z - # missing leading digit before '.' - -.100 - # too many '.' - 3.14.159 - ''', failureTests=True) - print("Success" if result[0] else "Failed!") - prints:: - # unsigned integer - 100 - [100] - - # negative integer - -100 - [-100] - - # float with scientific notation - 6.02e23 - [6.02e+23] - - # integer with scientific notation - 1e-12 - [1e-12] - - Success - - # stray character - 100Z - ^ - FAIL: Expected end of text (at char 3), (line:1, col:4) - - # missing leading digit before '.' - -.100 - ^ - FAIL: Expected {real number with scientific notation | real number | signed integer} (at char 0), (line:1, col:1) - - # too many '.' - 3.14.159 - ^ - FAIL: Expected end of text (at char 4), (line:1, col:5) - - Success - - Each test string must be on a single line. If you want to test a string that spans multiple - lines, create a test like this:: - - expr.runTest(r"this is a test\\n of strings that spans \\n 3 lines") - - (Note that this is a raw string literal, you must include the leading 'r'.) - """ - if isinstance(tests, basestring): - tests = list(map(str.strip, tests.rstrip().splitlines())) - if isinstance(comment, basestring): - comment = Literal(comment) - allResults = [] - comments = [] - success = True - for t in tests: - if comment is not None and comment.matches(t, False) or comments and not t: - comments.append(t) - continue - if not t: - continue - out = ['\n'.join(comments), t] - comments = [] - try: - t = t.replace(r'\n','\n') - result = self.parseString(t, parseAll=parseAll) - out.append(result.dump(full=fullDump)) - success = success and not failureTests - except ParseBaseException as pe: - fatal = "(FATAL)" if isinstance(pe, ParseFatalException) else "" - if '\n' in t: - out.append(line(pe.loc, t)) - out.append(' '*(col(pe.loc,t)-1) + '^' + fatal) - else: - out.append(' '*pe.loc + '^' + fatal) - out.append("FAIL: " + str(pe)) - success = success and failureTests - result = pe - except Exception as exc: - out.append("FAIL-EXCEPTION: " + str(exc)) - success = success and failureTests - result = exc - - if printResults: - if fullDump: - out.append('') - print('\n'.join(out)) - - allResults.append((t, result)) - - return success, allResults - - -class Token(ParserElement): - """ - Abstract C{ParserElement} subclass, for defining atomic matching patterns. - """ - def __init__( self ): - super(Token,self).__init__( savelist=False ) - - -class Empty(Token): - """ - An empty token, will always match. - """ - def __init__( self ): - super(Empty,self).__init__() - self.name = "Empty" - self.mayReturnEmpty = True - self.mayIndexError = False - - -class NoMatch(Token): - """ - A token that will never match. - """ - def __init__( self ): - super(NoMatch,self).__init__() - self.name = "NoMatch" - self.mayReturnEmpty = True - self.mayIndexError = False - self.errmsg = "Unmatchable token" - - def parseImpl( self, instring, loc, doActions=True ): - raise ParseException(instring, loc, self.errmsg, self) - - -class Literal(Token): - """ - Token to exactly match a specified string. - - Example:: - Literal('blah').parseString('blah') # -> ['blah'] - Literal('blah').parseString('blahfooblah') # -> ['blah'] - Literal('blah').parseString('bla') # -> Exception: Expected "blah" - - For case-insensitive matching, use L{CaselessLiteral}. - - For keyword matching (force word break before and after the matched string), - use L{Keyword} or L{CaselessKeyword}. - """ - def __init__( self, matchString ): - super(Literal,self).__init__() - self.match = matchString - self.matchLen = len(matchString) - try: - self.firstMatchChar = matchString[0] - except IndexError: - warnings.warn("null string passed to Literal; use Empty() instead", - SyntaxWarning, stacklevel=2) - self.__class__ = Empty - self.name = '"%s"' % _ustr(self.match) - self.errmsg = "Expected " + self.name - self.mayReturnEmpty = False - self.mayIndexError = False - - # Performance tuning: this routine gets called a *lot* - # if this is a single character match string and the first character matches, - # short-circuit as quickly as possible, and avoid calling startswith - #~ @profile - def parseImpl( self, instring, loc, doActions=True ): - if (instring[loc] == self.firstMatchChar and - (self.matchLen==1 or instring.startswith(self.match,loc)) ): - return loc+self.matchLen, self.match - raise ParseException(instring, loc, self.errmsg, self) -_L = Literal -ParserElement._literalStringClass = Literal - -class Keyword(Token): - """ - Token to exactly match a specified string as a keyword, that is, it must be - immediately followed by a non-keyword character. Compare with C{L{Literal}}: - - C{Literal("if")} will match the leading C{'if'} in C{'ifAndOnlyIf'}. - - C{Keyword("if")} will not; it will only match the leading C{'if'} in C{'if x=1'}, or C{'if(y==2)'} - Accepts two optional constructor arguments in addition to the keyword string: - - C{identChars} is a string of characters that would be valid identifier characters, - defaulting to all alphanumerics + "_" and "$" - - C{caseless} allows case-insensitive matching, default is C{False}. - - Example:: - Keyword("start").parseString("start") # -> ['start'] - Keyword("start").parseString("starting") # -> Exception - - For case-insensitive matching, use L{CaselessKeyword}. - """ - DEFAULT_KEYWORD_CHARS = alphanums+"_$" - - def __init__( self, matchString, identChars=None, caseless=False ): - super(Keyword,self).__init__() - if identChars is None: - identChars = Keyword.DEFAULT_KEYWORD_CHARS - self.match = matchString - self.matchLen = len(matchString) - try: - self.firstMatchChar = matchString[0] - except IndexError: - warnings.warn("null string passed to Keyword; use Empty() instead", - SyntaxWarning, stacklevel=2) - self.name = '"%s"' % self.match - self.errmsg = "Expected " + self.name - self.mayReturnEmpty = False - self.mayIndexError = False - self.caseless = caseless - if caseless: - self.caselessmatch = matchString.upper() - identChars = identChars.upper() - self.identChars = set(identChars) - - def parseImpl( self, instring, loc, doActions=True ): - if self.caseless: - if ( (instring[ loc:loc+self.matchLen ].upper() == self.caselessmatch) and - (loc >= len(instring)-self.matchLen or instring[loc+self.matchLen].upper() not in self.identChars) and - (loc == 0 or instring[loc-1].upper() not in self.identChars) ): - return loc+self.matchLen, self.match - else: - if (instring[loc] == self.firstMatchChar and - (self.matchLen==1 or instring.startswith(self.match,loc)) and - (loc >= len(instring)-self.matchLen or instring[loc+self.matchLen] not in self.identChars) and - (loc == 0 or instring[loc-1] not in self.identChars) ): - return loc+self.matchLen, self.match - raise ParseException(instring, loc, self.errmsg, self) - - def copy(self): - c = super(Keyword,self).copy() - c.identChars = Keyword.DEFAULT_KEYWORD_CHARS - return c - - @staticmethod - def setDefaultKeywordChars( chars ): - """Overrides the default Keyword chars - """ - Keyword.DEFAULT_KEYWORD_CHARS = chars - -class CaselessLiteral(Literal): - """ - Token to match a specified string, ignoring case of letters. - Note: the matched results will always be in the case of the given - match string, NOT the case of the input text. - - Example:: - OneOrMore(CaselessLiteral("CMD")).parseString("cmd CMD Cmd10") # -> ['CMD', 'CMD', 'CMD'] - - (Contrast with example for L{CaselessKeyword}.) - """ - def __init__( self, matchString ): - super(CaselessLiteral,self).__init__( matchString.upper() ) - # Preserve the defining literal. - self.returnString = matchString - self.name = "'%s'" % self.returnString - self.errmsg = "Expected " + self.name - - def parseImpl( self, instring, loc, doActions=True ): - if instring[ loc:loc+self.matchLen ].upper() == self.match: - return loc+self.matchLen, self.returnString - raise ParseException(instring, loc, self.errmsg, self) - -class CaselessKeyword(Keyword): - """ - Caseless version of L{Keyword}. - - Example:: - OneOrMore(CaselessKeyword("CMD")).parseString("cmd CMD Cmd10") # -> ['CMD', 'CMD'] - - (Contrast with example for L{CaselessLiteral}.) - """ - def __init__( self, matchString, identChars=None ): - super(CaselessKeyword,self).__init__( matchString, identChars, caseless=True ) - - def parseImpl( self, instring, loc, doActions=True ): - if ( (instring[ loc:loc+self.matchLen ].upper() == self.caselessmatch) and - (loc >= len(instring)-self.matchLen or instring[loc+self.matchLen].upper() not in self.identChars) ): - return loc+self.matchLen, self.match - raise ParseException(instring, loc, self.errmsg, self) - -class CloseMatch(Token): - """ - A variation on L{Literal} which matches "close" matches, that is, - strings with at most 'n' mismatching characters. C{CloseMatch} takes parameters: - - C{match_string} - string to be matched - - C{maxMismatches} - (C{default=1}) maximum number of mismatches allowed to count as a match - - The results from a successful parse will contain the matched text from the input string and the following named results: - - C{mismatches} - a list of the positions within the match_string where mismatches were found - - C{original} - the original match_string used to compare against the input string - - If C{mismatches} is an empty list, then the match was an exact match. - - Example:: - patt = CloseMatch("ATCATCGAATGGA") - patt.parseString("ATCATCGAAXGGA") # -> (['ATCATCGAAXGGA'], {'mismatches': [[9]], 'original': ['ATCATCGAATGGA']}) - patt.parseString("ATCAXCGAAXGGA") # -> Exception: Expected 'ATCATCGAATGGA' (with up to 1 mismatches) (at char 0), (line:1, col:1) - - # exact match - patt.parseString("ATCATCGAATGGA") # -> (['ATCATCGAATGGA'], {'mismatches': [[]], 'original': ['ATCATCGAATGGA']}) - - # close match allowing up to 2 mismatches - patt = CloseMatch("ATCATCGAATGGA", maxMismatches=2) - patt.parseString("ATCAXCGAAXGGA") # -> (['ATCAXCGAAXGGA'], {'mismatches': [[4, 9]], 'original': ['ATCATCGAATGGA']}) - """ - def __init__(self, match_string, maxMismatches=1): - super(CloseMatch,self).__init__() - self.name = match_string - self.match_string = match_string - self.maxMismatches = maxMismatches - self.errmsg = "Expected %r (with up to %d mismatches)" % (self.match_string, self.maxMismatches) - self.mayIndexError = False - self.mayReturnEmpty = False - - def parseImpl( self, instring, loc, doActions=True ): - start = loc - instrlen = len(instring) - maxloc = start + len(self.match_string) - - if maxloc <= instrlen: - match_string = self.match_string - match_stringloc = 0 - mismatches = [] - maxMismatches = self.maxMismatches - - for match_stringloc,s_m in enumerate(zip(instring[loc:maxloc], self.match_string)): - src,mat = s_m - if src != mat: - mismatches.append(match_stringloc) - if len(mismatches) > maxMismatches: - break - else: - loc = match_stringloc + 1 - results = ParseResults([instring[start:loc]]) - results['original'] = self.match_string - results['mismatches'] = mismatches - return loc, results - - raise ParseException(instring, loc, self.errmsg, self) - - -class Word(Token): - """ - Token for matching words composed of allowed character sets. - Defined with string containing all allowed initial characters, - an optional string containing allowed body characters (if omitted, - defaults to the initial character set), and an optional minimum, - maximum, and/or exact length. The default value for C{min} is 1 (a - minimum value < 1 is not valid); the default values for C{max} and C{exact} - are 0, meaning no maximum or exact length restriction. An optional - C{excludeChars} parameter can list characters that might be found in - the input C{bodyChars} string; useful to define a word of all printables - except for one or two characters, for instance. - - L{srange} is useful for defining custom character set strings for defining - C{Word} expressions, using range notation from regular expression character sets. - - A common mistake is to use C{Word} to match a specific literal string, as in - C{Word("Address")}. Remember that C{Word} uses the string argument to define - I{sets} of matchable characters. This expression would match "Add", "AAA", - "dAred", or any other word made up of the characters 'A', 'd', 'r', 'e', and 's'. - To match an exact literal string, use L{Literal} or L{Keyword}. - - pyparsing includes helper strings for building Words: - - L{alphas} - - L{nums} - - L{alphanums} - - L{hexnums} - - L{alphas8bit} (alphabetic characters in ASCII range 128-255 - accented, tilded, umlauted, etc.) - - L{punc8bit} (non-alphabetic characters in ASCII range 128-255 - currency, symbols, superscripts, diacriticals, etc.) - - L{printables} (any non-whitespace character) - - Example:: - # a word composed of digits - integer = Word(nums) # equivalent to Word("0123456789") or Word(srange("0-9")) - - # a word with a leading capital, and zero or more lowercase - capital_word = Word(alphas.upper(), alphas.lower()) - - # hostnames are alphanumeric, with leading alpha, and '-' - hostname = Word(alphas, alphanums+'-') - - # roman numeral (not a strict parser, accepts invalid mix of characters) - roman = Word("IVXLCDM") - - # any string of non-whitespace characters, except for ',' - csv_value = Word(printables, excludeChars=",") - """ - def __init__( self, initChars, bodyChars=None, min=1, max=0, exact=0, asKeyword=False, excludeChars=None ): - super(Word,self).__init__() - if excludeChars: - initChars = ''.join(c for c in initChars if c not in excludeChars) - if bodyChars: - bodyChars = ''.join(c for c in bodyChars if c not in excludeChars) - self.initCharsOrig = initChars - self.initChars = set(initChars) - if bodyChars : - self.bodyCharsOrig = bodyChars - self.bodyChars = set(bodyChars) - else: - self.bodyCharsOrig = initChars - self.bodyChars = set(initChars) - - self.maxSpecified = max > 0 - - if min < 1: - raise ValueError("cannot specify a minimum length < 1; use Optional(Word()) if zero-length word is permitted") - - self.minLen = min - - if max > 0: - self.maxLen = max - else: - self.maxLen = _MAX_INT - - if exact > 0: - self.maxLen = exact - self.minLen = exact - - self.name = _ustr(self) - self.errmsg = "Expected " + self.name - self.mayIndexError = False - self.asKeyword = asKeyword - - if ' ' not in self.initCharsOrig+self.bodyCharsOrig and (min==1 and max==0 and exact==0): - if self.bodyCharsOrig == self.initCharsOrig: - self.reString = "[%s]+" % _escapeRegexRangeChars(self.initCharsOrig) - elif len(self.initCharsOrig) == 1: - self.reString = "%s[%s]*" % \ - (re.escape(self.initCharsOrig), - _escapeRegexRangeChars(self.bodyCharsOrig),) - else: - self.reString = "[%s][%s]*" % \ - (_escapeRegexRangeChars(self.initCharsOrig), - _escapeRegexRangeChars(self.bodyCharsOrig),) - if self.asKeyword: - self.reString = r"\b"+self.reString+r"\b" - try: - self.re = re.compile( self.reString ) - except Exception: - self.re = None - - def parseImpl( self, instring, loc, doActions=True ): - if self.re: - result = self.re.match(instring,loc) - if not result: - raise ParseException(instring, loc, self.errmsg, self) - - loc = result.end() - return loc, result.group() - - if not(instring[ loc ] in self.initChars): - raise ParseException(instring, loc, self.errmsg, self) - - start = loc - loc += 1 - instrlen = len(instring) - bodychars = self.bodyChars - maxloc = start + self.maxLen - maxloc = min( maxloc, instrlen ) - while loc < maxloc and instring[loc] in bodychars: - loc += 1 - - throwException = False - if loc - start < self.minLen: - throwException = True - if self.maxSpecified and loc < instrlen and instring[loc] in bodychars: - throwException = True - if self.asKeyword: - if (start>0 and instring[start-1] in bodychars) or (loc<instrlen and instring[loc] in bodychars): - throwException = True - - if throwException: - raise ParseException(instring, loc, self.errmsg, self) - - return loc, instring[start:loc] - - def __str__( self ): - try: - return super(Word,self).__str__() - except Exception: - pass - - - if self.strRepr is None: - - def charsAsStr(s): - if len(s)>4: - return s[:4]+"..." - else: - return s - - if ( self.initCharsOrig != self.bodyCharsOrig ): - self.strRepr = "W:(%s,%s)" % ( charsAsStr(self.initCharsOrig), charsAsStr(self.bodyCharsOrig) ) - else: - self.strRepr = "W:(%s)" % charsAsStr(self.initCharsOrig) - - return self.strRepr - - -class Regex(Token): - r""" - Token for matching strings that match a given regular expression. - Defined with string specifying the regular expression in a form recognized by the inbuilt Python re module. - If the given regex contains named groups (defined using C{(?P<name>...)}), these will be preserved as - named parse results. - - Example:: - realnum = Regex(r"[+-]?\d+\.\d*") - date = Regex(r'(?P<year>\d{4})-(?P<month>\d\d?)-(?P<day>\d\d?)') - # ref: http://stackoverflow.com/questions/267399/how-do-you-match-only-valid-roman-numerals-with-a-regular-expression - roman = Regex(r"M{0,4}(CM|CD|D?C{0,3})(XC|XL|L?X{0,3})(IX|IV|V?I{0,3})") - """ - compiledREtype = type(re.compile("[A-Z]")) - def __init__( self, pattern, flags=0): - """The parameters C{pattern} and C{flags} are passed to the C{re.compile()} function as-is. See the Python C{re} module for an explanation of the acceptable patterns and flags.""" - super(Regex,self).__init__() - - if isinstance(pattern, basestring): - if not pattern: - warnings.warn("null string passed to Regex; use Empty() instead", - SyntaxWarning, stacklevel=2) - - self.pattern = pattern - self.flags = flags - - try: - self.re = re.compile(self.pattern, self.flags) - self.reString = self.pattern - except sre_constants.error: - warnings.warn("invalid pattern (%s) passed to Regex" % pattern, - SyntaxWarning, stacklevel=2) - raise - - elif isinstance(pattern, Regex.compiledREtype): - self.re = pattern - self.pattern = \ - self.reString = str(pattern) - self.flags = flags - - else: - raise ValueError("Regex may only be constructed with a string or a compiled RE object") - - self.name = _ustr(self) - self.errmsg = "Expected " + self.name - self.mayIndexError = False - self.mayReturnEmpty = True - - def parseImpl( self, instring, loc, doActions=True ): - result = self.re.match(instring,loc) - if not result: - raise ParseException(instring, loc, self.errmsg, self) - - loc = result.end() - d = result.groupdict() - ret = ParseResults(result.group()) - if d: - for k in d: - ret[k] = d[k] - return loc,ret - - def __str__( self ): - try: - return super(Regex,self).__str__() - except Exception: - pass - - if self.strRepr is None: - self.strRepr = "Re:(%s)" % repr(self.pattern) - - return self.strRepr - - -class QuotedString(Token): - r""" - Token for matching strings that are delimited by quoting characters. - - Defined with the following parameters: - - quoteChar - string of one or more characters defining the quote delimiting string - - escChar - character to escape quotes, typically backslash (default=C{None}) - - escQuote - special quote sequence to escape an embedded quote string (such as SQL's "" to escape an embedded ") (default=C{None}) - - multiline - boolean indicating whether quotes can span multiple lines (default=C{False}) - - unquoteResults - boolean indicating whether the matched text should be unquoted (default=C{True}) - - endQuoteChar - string of one or more characters defining the end of the quote delimited string (default=C{None} => same as quoteChar) - - convertWhitespaceEscapes - convert escaped whitespace (C{'\t'}, C{'\n'}, etc.) to actual whitespace (default=C{True}) - - Example:: - qs = QuotedString('"') - print(qs.searchString('lsjdf "This is the quote" sldjf')) - complex_qs = QuotedString('{{', endQuoteChar='}}') - print(complex_qs.searchString('lsjdf {{This is the "quote"}} sldjf')) - sql_qs = QuotedString('"', escQuote='""') - print(sql_qs.searchString('lsjdf "This is the quote with ""embedded"" quotes" sldjf')) - prints:: - [['This is the quote']] - [['This is the "quote"']] - [['This is the quote with "embedded" quotes']] - """ - def __init__( self, quoteChar, escChar=None, escQuote=None, multiline=False, unquoteResults=True, endQuoteChar=None, convertWhitespaceEscapes=True): - super(QuotedString,self).__init__() - - # remove white space from quote chars - wont work anyway - quoteChar = quoteChar.strip() - if not quoteChar: - warnings.warn("quoteChar cannot be the empty string",SyntaxWarning,stacklevel=2) - raise SyntaxError() - - if endQuoteChar is None: - endQuoteChar = quoteChar - else: - endQuoteChar = endQuoteChar.strip() - if not endQuoteChar: - warnings.warn("endQuoteChar cannot be the empty string",SyntaxWarning,stacklevel=2) - raise SyntaxError() - - self.quoteChar = quoteChar - self.quoteCharLen = len(quoteChar) - self.firstQuoteChar = quoteChar[0] - self.endQuoteChar = endQuoteChar - self.endQuoteCharLen = len(endQuoteChar) - self.escChar = escChar - self.escQuote = escQuote - self.unquoteResults = unquoteResults - self.convertWhitespaceEscapes = convertWhitespaceEscapes - - if multiline: - self.flags = re.MULTILINE | re.DOTALL - self.pattern = r'%s(?:[^%s%s]' % \ - ( re.escape(self.quoteChar), - _escapeRegexRangeChars(self.endQuoteChar[0]), - (escChar is not None and _escapeRegexRangeChars(escChar) or '') ) - else: - self.flags = 0 - self.pattern = r'%s(?:[^%s\n\r%s]' % \ - ( re.escape(self.quoteChar), - _escapeRegexRangeChars(self.endQuoteChar[0]), - (escChar is not None and _escapeRegexRangeChars(escChar) or '') ) - if len(self.endQuoteChar) > 1: - self.pattern += ( - '|(?:' + ')|(?:'.join("%s[^%s]" % (re.escape(self.endQuoteChar[:i]), - _escapeRegexRangeChars(self.endQuoteChar[i])) - for i in range(len(self.endQuoteChar)-1,0,-1)) + ')' - ) - if escQuote: - self.pattern += (r'|(?:%s)' % re.escape(escQuote)) - if escChar: - self.pattern += (r'|(?:%s.)' % re.escape(escChar)) - self.escCharReplacePattern = re.escape(self.escChar)+"(.)" - self.pattern += (r')*%s' % re.escape(self.endQuoteChar)) - - try: - self.re = re.compile(self.pattern, self.flags) - self.reString = self.pattern - except sre_constants.error: - warnings.warn("invalid pattern (%s) passed to Regex" % self.pattern, - SyntaxWarning, stacklevel=2) - raise - - self.name = _ustr(self) - self.errmsg = "Expected " + self.name - self.mayIndexError = False - self.mayReturnEmpty = True - - def parseImpl( self, instring, loc, doActions=True ): - result = instring[loc] == self.firstQuoteChar and self.re.match(instring,loc) or None - if not result: - raise ParseException(instring, loc, self.errmsg, self) - - loc = result.end() - ret = result.group() - - if self.unquoteResults: - - # strip off quotes - ret = ret[self.quoteCharLen:-self.endQuoteCharLen] - - if isinstance(ret,basestring): - # replace escaped whitespace - if '\\' in ret and self.convertWhitespaceEscapes: - ws_map = { - r'\t' : '\t', - r'\n' : '\n', - r'\f' : '\f', - r'\r' : '\r', - } - for wslit,wschar in ws_map.items(): - ret = ret.replace(wslit, wschar) - - # replace escaped characters - if self.escChar: - ret = re.sub(self.escCharReplacePattern, r"\g<1>", ret) - - # replace escaped quotes - if self.escQuote: - ret = ret.replace(self.escQuote, self.endQuoteChar) - - return loc, ret - - def __str__( self ): - try: - return super(QuotedString,self).__str__() - except Exception: - pass - - if self.strRepr is None: - self.strRepr = "quoted string, starting with %s ending with %s" % (self.quoteChar, self.endQuoteChar) - - return self.strRepr - - -class CharsNotIn(Token): - """ - Token for matching words composed of characters I{not} in a given set (will - include whitespace in matched characters if not listed in the provided exclusion set - see example). - Defined with string containing all disallowed characters, and an optional - minimum, maximum, and/or exact length. The default value for C{min} is 1 (a - minimum value < 1 is not valid); the default values for C{max} and C{exact} - are 0, meaning no maximum or exact length restriction. - - Example:: - # define a comma-separated-value as anything that is not a ',' - csv_value = CharsNotIn(',') - print(delimitedList(csv_value).parseString("dkls,lsdkjf,s12 34,@!#,213")) - prints:: - ['dkls', 'lsdkjf', 's12 34', '@!#', '213'] - """ - def __init__( self, notChars, min=1, max=0, exact=0 ): - super(CharsNotIn,self).__init__() - self.skipWhitespace = False - self.notChars = notChars - - if min < 1: - raise ValueError("cannot specify a minimum length < 1; use Optional(CharsNotIn()) if zero-length char group is permitted") - - self.minLen = min - - if max > 0: - self.maxLen = max - else: - self.maxLen = _MAX_INT - - if exact > 0: - self.maxLen = exact - self.minLen = exact - - self.name = _ustr(self) - self.errmsg = "Expected " + self.name - self.mayReturnEmpty = ( self.minLen == 0 ) - self.mayIndexError = False - - def parseImpl( self, instring, loc, doActions=True ): - if instring[loc] in self.notChars: - raise ParseException(instring, loc, self.errmsg, self) - - start = loc - loc += 1 - notchars = self.notChars - maxlen = min( start+self.maxLen, len(instring) ) - while loc < maxlen and \ - (instring[loc] not in notchars): - loc += 1 - - if loc - start < self.minLen: - raise ParseException(instring, loc, self.errmsg, self) - - return loc, instring[start:loc] - - def __str__( self ): - try: - return super(CharsNotIn, self).__str__() - except Exception: - pass - - if self.strRepr is None: - if len(self.notChars) > 4: - self.strRepr = "!W:(%s...)" % self.notChars[:4] - else: - self.strRepr = "!W:(%s)" % self.notChars - - return self.strRepr - -class White(Token): - """ - Special matching class for matching whitespace. Normally, whitespace is ignored - by pyparsing grammars. This class is included when some whitespace structures - are significant. Define with a string containing the whitespace characters to be - matched; default is C{" \\t\\r\\n"}. Also takes optional C{min}, C{max}, and C{exact} arguments, - as defined for the C{L{Word}} class. - """ - whiteStrs = { - " " : "<SPC>", - "\t": "<TAB>", - "\n": "<LF>", - "\r": "<CR>", - "\f": "<FF>", - } - def __init__(self, ws=" \t\r\n", min=1, max=0, exact=0): - super(White,self).__init__() - self.matchWhite = ws - self.setWhitespaceChars( "".join(c for c in self.whiteChars if c not in self.matchWhite) ) - #~ self.leaveWhitespace() - self.name = ("".join(White.whiteStrs[c] for c in self.matchWhite)) - self.mayReturnEmpty = True - self.errmsg = "Expected " + self.name - - self.minLen = min - - if max > 0: - self.maxLen = max - else: - self.maxLen = _MAX_INT - - if exact > 0: - self.maxLen = exact - self.minLen = exact - - def parseImpl( self, instring, loc, doActions=True ): - if not(instring[ loc ] in self.matchWhite): - raise ParseException(instring, loc, self.errmsg, self) - start = loc - loc += 1 - maxloc = start + self.maxLen - maxloc = min( maxloc, len(instring) ) - while loc < maxloc and instring[loc] in self.matchWhite: - loc += 1 - - if loc - start < self.minLen: - raise ParseException(instring, loc, self.errmsg, self) - - return loc, instring[start:loc] - - -class _PositionToken(Token): - def __init__( self ): - super(_PositionToken,self).__init__() - self.name=self.__class__.__name__ - self.mayReturnEmpty = True - self.mayIndexError = False - -class GoToColumn(_PositionToken): - """ - Token to advance to a specific column of input text; useful for tabular report scraping. - """ - def __init__( self, colno ): - super(GoToColumn,self).__init__() - self.col = colno - - def preParse( self, instring, loc ): - if col(loc,instring) != self.col: - instrlen = len(instring) - if self.ignoreExprs: - loc = self._skipIgnorables( instring, loc ) - while loc < instrlen and instring[loc].isspace() and col( loc, instring ) != self.col : - loc += 1 - return loc - - def parseImpl( self, instring, loc, doActions=True ): - thiscol = col( loc, instring ) - if thiscol > self.col: - raise ParseException( instring, loc, "Text not in expected column", self ) - newloc = loc + self.col - thiscol - ret = instring[ loc: newloc ] - return newloc, ret - - -class LineStart(_PositionToken): - """ - Matches if current position is at the beginning of a line within the parse string - - Example:: - - test = '''\ - AAA this line - AAA and this line - AAA but not this one - B AAA and definitely not this one - ''' - - for t in (LineStart() + 'AAA' + restOfLine).searchString(test): - print(t) - - Prints:: - ['AAA', ' this line'] - ['AAA', ' and this line'] - - """ - def __init__( self ): - super(LineStart,self).__init__() - self.errmsg = "Expected start of line" - - def parseImpl( self, instring, loc, doActions=True ): - if col(loc, instring) == 1: - return loc, [] - raise ParseException(instring, loc, self.errmsg, self) - -class LineEnd(_PositionToken): - """ - Matches if current position is at the end of a line within the parse string - """ - def __init__( self ): - super(LineEnd,self).__init__() - self.setWhitespaceChars( ParserElement.DEFAULT_WHITE_CHARS.replace("\n","") ) - self.errmsg = "Expected end of line" - - def parseImpl( self, instring, loc, doActions=True ): - if loc<len(instring): - if instring[loc] == "\n": - return loc+1, "\n" - else: - raise ParseException(instring, loc, self.errmsg, self) - elif loc == len(instring): - return loc+1, [] - else: - raise ParseException(instring, loc, self.errmsg, self) - -class StringStart(_PositionToken): - """ - Matches if current position is at the beginning of the parse string - """ - def __init__( self ): - super(StringStart,self).__init__() - self.errmsg = "Expected start of text" - - def parseImpl( self, instring, loc, doActions=True ): - if loc != 0: - # see if entire string up to here is just whitespace and ignoreables - if loc != self.preParse( instring, 0 ): - raise ParseException(instring, loc, self.errmsg, self) - return loc, [] - -class StringEnd(_PositionToken): - """ - Matches if current position is at the end of the parse string - """ - def __init__( self ): - super(StringEnd,self).__init__() - self.errmsg = "Expected end of text" - - def parseImpl( self, instring, loc, doActions=True ): - if loc < len(instring): - raise ParseException(instring, loc, self.errmsg, self) - elif loc == len(instring): - return loc+1, [] - elif loc > len(instring): - return loc, [] - else: - raise ParseException(instring, loc, self.errmsg, self) - -class WordStart(_PositionToken): - """ - Matches if the current position is at the beginning of a Word, and - is not preceded by any character in a given set of C{wordChars} - (default=C{printables}). To emulate the C{\b} behavior of regular expressions, - use C{WordStart(alphanums)}. C{WordStart} will also match at the beginning of - the string being parsed, or at the beginning of a line. - """ - def __init__(self, wordChars = printables): - super(WordStart,self).__init__() - self.wordChars = set(wordChars) - self.errmsg = "Not at the start of a word" - - def parseImpl(self, instring, loc, doActions=True ): - if loc != 0: - if (instring[loc-1] in self.wordChars or - instring[loc] not in self.wordChars): - raise ParseException(instring, loc, self.errmsg, self) - return loc, [] - -class WordEnd(_PositionToken): - """ - Matches if the current position is at the end of a Word, and - is not followed by any character in a given set of C{wordChars} - (default=C{printables}). To emulate the C{\b} behavior of regular expressions, - use C{WordEnd(alphanums)}. C{WordEnd} will also match at the end of - the string being parsed, or at the end of a line. - """ - def __init__(self, wordChars = printables): - super(WordEnd,self).__init__() - self.wordChars = set(wordChars) - self.skipWhitespace = False - self.errmsg = "Not at the end of a word" - - def parseImpl(self, instring, loc, doActions=True ): - instrlen = len(instring) - if instrlen>0 and loc<instrlen: - if (instring[loc] in self.wordChars or - instring[loc-1] not in self.wordChars): - raise ParseException(instring, loc, self.errmsg, self) - return loc, [] - - -class ParseExpression(ParserElement): - """ - Abstract subclass of ParserElement, for combining and post-processing parsed tokens. - """ - def __init__( self, exprs, savelist = False ): - super(ParseExpression,self).__init__(savelist) - if isinstance( exprs, _generatorType ): - exprs = list(exprs) - - if isinstance( exprs, basestring ): - self.exprs = [ ParserElement._literalStringClass( exprs ) ] - elif isinstance( exprs, Iterable ): - exprs = list(exprs) - # if sequence of strings provided, wrap with Literal - if all(isinstance(expr, basestring) for expr in exprs): - exprs = map(ParserElement._literalStringClass, exprs) - self.exprs = list(exprs) - else: - try: - self.exprs = list( exprs ) - except TypeError: - self.exprs = [ exprs ] - self.callPreparse = False - - def __getitem__( self, i ): - return self.exprs[i] - - def append( self, other ): - self.exprs.append( other ) - self.strRepr = None - return self - - def leaveWhitespace( self ): - """Extends C{leaveWhitespace} defined in base class, and also invokes C{leaveWhitespace} on - all contained expressions.""" - self.skipWhitespace = False - self.exprs = [ e.copy() for e in self.exprs ] - for e in self.exprs: - e.leaveWhitespace() - return self - - def ignore( self, other ): - if isinstance( other, Suppress ): - if other not in self.ignoreExprs: - super( ParseExpression, self).ignore( other ) - for e in self.exprs: - e.ignore( self.ignoreExprs[-1] ) - else: - super( ParseExpression, self).ignore( other ) - for e in self.exprs: - e.ignore( self.ignoreExprs[-1] ) - return self - - def __str__( self ): - try: - return super(ParseExpression,self).__str__() - except Exception: - pass - - if self.strRepr is None: - self.strRepr = "%s:(%s)" % ( self.__class__.__name__, _ustr(self.exprs) ) - return self.strRepr - - def streamline( self ): - super(ParseExpression,self).streamline() - - for e in self.exprs: - e.streamline() - - # collapse nested And's of the form And( And( And( a,b), c), d) to And( a,b,c,d ) - # but only if there are no parse actions or resultsNames on the nested And's - # (likewise for Or's and MatchFirst's) - if ( len(self.exprs) == 2 ): - other = self.exprs[0] - if ( isinstance( other, self.__class__ ) and - not(other.parseAction) and - other.resultsName is None and - not other.debug ): - self.exprs = other.exprs[:] + [ self.exprs[1] ] - self.strRepr = None - self.mayReturnEmpty |= other.mayReturnEmpty - self.mayIndexError |= other.mayIndexError - - other = self.exprs[-1] - if ( isinstance( other, self.__class__ ) and - not(other.parseAction) and - other.resultsName is None and - not other.debug ): - self.exprs = self.exprs[:-1] + other.exprs[:] - self.strRepr = None - self.mayReturnEmpty |= other.mayReturnEmpty - self.mayIndexError |= other.mayIndexError - - self.errmsg = "Expected " + _ustr(self) - - return self - - def setResultsName( self, name, listAllMatches=False ): - ret = super(ParseExpression,self).setResultsName(name,listAllMatches) - return ret - - def validate( self, validateTrace=[] ): - tmp = validateTrace[:]+[self] - for e in self.exprs: - e.validate(tmp) - self.checkRecursion( [] ) - - def copy(self): - ret = super(ParseExpression,self).copy() - ret.exprs = [e.copy() for e in self.exprs] - return ret - -class And(ParseExpression): - """ - Requires all given C{ParseExpression}s to be found in the given order. - Expressions may be separated by whitespace. - May be constructed using the C{'+'} operator. - May also be constructed using the C{'-'} operator, which will suppress backtracking. - - Example:: - integer = Word(nums) - name_expr = OneOrMore(Word(alphas)) - - expr = And([integer("id"),name_expr("name"),integer("age")]) - # more easily written as: - expr = integer("id") + name_expr("name") + integer("age") - """ - - class _ErrorStop(Empty): - def __init__(self, *args, **kwargs): - super(And._ErrorStop,self).__init__(*args, **kwargs) - self.name = '-' - self.leaveWhitespace() - - def __init__( self, exprs, savelist = True ): - super(And,self).__init__(exprs, savelist) - self.mayReturnEmpty = all(e.mayReturnEmpty for e in self.exprs) - self.setWhitespaceChars( self.exprs[0].whiteChars ) - self.skipWhitespace = self.exprs[0].skipWhitespace - self.callPreparse = True - - def parseImpl( self, instring, loc, doActions=True ): - # pass False as last arg to _parse for first element, since we already - # pre-parsed the string as part of our And pre-parsing - loc, resultlist = self.exprs[0]._parse( instring, loc, doActions, callPreParse=False ) - errorStop = False - for e in self.exprs[1:]: - if isinstance(e, And._ErrorStop): - errorStop = True - continue - if errorStop: - try: - loc, exprtokens = e._parse( instring, loc, doActions ) - except ParseSyntaxException: - raise - except ParseBaseException as pe: - pe.__traceback__ = None - raise ParseSyntaxException._from_exception(pe) - except IndexError: - raise ParseSyntaxException(instring, len(instring), self.errmsg, self) - else: - loc, exprtokens = e._parse( instring, loc, doActions ) - if exprtokens or exprtokens.haskeys(): - resultlist += exprtokens - return loc, resultlist - - def __iadd__(self, other ): - if isinstance( other, basestring ): - other = ParserElement._literalStringClass( other ) - return self.append( other ) #And( [ self, other ] ) - - def checkRecursion( self, parseElementList ): - subRecCheckList = parseElementList[:] + [ self ] - for e in self.exprs: - e.checkRecursion( subRecCheckList ) - if not e.mayReturnEmpty: - break - - def __str__( self ): - if hasattr(self,"name"): - return self.name - - if self.strRepr is None: - self.strRepr = "{" + " ".join(_ustr(e) for e in self.exprs) + "}" - - return self.strRepr - - -class Or(ParseExpression): - """ - Requires that at least one C{ParseExpression} is found. - If two expressions match, the expression that matches the longest string will be used. - May be constructed using the C{'^'} operator. - - Example:: - # construct Or using '^' operator - - number = Word(nums) ^ Combine(Word(nums) + '.' + Word(nums)) - print(number.searchString("123 3.1416 789")) - prints:: - [['123'], ['3.1416'], ['789']] - """ - def __init__( self, exprs, savelist = False ): - super(Or,self).__init__(exprs, savelist) - if self.exprs: - self.mayReturnEmpty = any(e.mayReturnEmpty for e in self.exprs) - else: - self.mayReturnEmpty = True - - def parseImpl( self, instring, loc, doActions=True ): - maxExcLoc = -1 - maxException = None - matches = [] - for e in self.exprs: - try: - loc2 = e.tryParse( instring, loc ) - except ParseException as err: - err.__traceback__ = None - if err.loc > maxExcLoc: - maxException = err - maxExcLoc = err.loc - except IndexError: - if len(instring) > maxExcLoc: - maxException = ParseException(instring,len(instring),e.errmsg,self) - maxExcLoc = len(instring) - else: - # save match among all matches, to retry longest to shortest - matches.append((loc2, e)) - - if matches: - matches.sort(key=lambda x: -x[0]) - for _,e in matches: - try: - return e._parse( instring, loc, doActions ) - except ParseException as err: - err.__traceback__ = None - if err.loc > maxExcLoc: - maxException = err - maxExcLoc = err.loc - - if maxException is not None: - maxException.msg = self.errmsg - raise maxException - else: - raise ParseException(instring, loc, "no defined alternatives to match", self) - - - def __ixor__(self, other ): - if isinstance( other, basestring ): - other = ParserElement._literalStringClass( other ) - return self.append( other ) #Or( [ self, other ] ) - - def __str__( self ): - if hasattr(self,"name"): - return self.name - - if self.strRepr is None: - self.strRepr = "{" + " ^ ".join(_ustr(e) for e in self.exprs) + "}" - - return self.strRepr - - def checkRecursion( self, parseElementList ): - subRecCheckList = parseElementList[:] + [ self ] - for e in self.exprs: - e.checkRecursion( subRecCheckList ) - - -class MatchFirst(ParseExpression): - """ - Requires that at least one C{ParseExpression} is found. - If two expressions match, the first one listed is the one that will match. - May be constructed using the C{'|'} operator. - - Example:: - # construct MatchFirst using '|' operator - - # watch the order of expressions to match - number = Word(nums) | Combine(Word(nums) + '.' + Word(nums)) - print(number.searchString("123 3.1416 789")) # Fail! -> [['123'], ['3'], ['1416'], ['789']] - - # put more selective expression first - number = Combine(Word(nums) + '.' + Word(nums)) | Word(nums) - print(number.searchString("123 3.1416 789")) # Better -> [['123'], ['3.1416'], ['789']] - """ - def __init__( self, exprs, savelist = False ): - super(MatchFirst,self).__init__(exprs, savelist) - if self.exprs: - self.mayReturnEmpty = any(e.mayReturnEmpty for e in self.exprs) - else: - self.mayReturnEmpty = True - - def parseImpl( self, instring, loc, doActions=True ): - maxExcLoc = -1 - maxException = None - for e in self.exprs: - try: - ret = e._parse( instring, loc, doActions ) - return ret - except ParseException as err: - if err.loc > maxExcLoc: - maxException = err - maxExcLoc = err.loc - except IndexError: - if len(instring) > maxExcLoc: - maxException = ParseException(instring,len(instring),e.errmsg,self) - maxExcLoc = len(instring) - - # only got here if no expression matched, raise exception for match that made it the furthest - else: - if maxException is not None: - maxException.msg = self.errmsg - raise maxException - else: - raise ParseException(instring, loc, "no defined alternatives to match", self) - - def __ior__(self, other ): - if isinstance( other, basestring ): - other = ParserElement._literalStringClass( other ) - return self.append( other ) #MatchFirst( [ self, other ] ) - - def __str__( self ): - if hasattr(self,"name"): - return self.name - - if self.strRepr is None: - self.strRepr = "{" + " | ".join(_ustr(e) for e in self.exprs) + "}" - - return self.strRepr - - def checkRecursion( self, parseElementList ): - subRecCheckList = parseElementList[:] + [ self ] - for e in self.exprs: - e.checkRecursion( subRecCheckList ) - - -class Each(ParseExpression): - """ - Requires all given C{ParseExpression}s to be found, but in any order. - Expressions may be separated by whitespace. - May be constructed using the C{'&'} operator. - - Example:: - color = oneOf("RED ORANGE YELLOW GREEN BLUE PURPLE BLACK WHITE BROWN") - shape_type = oneOf("SQUARE CIRCLE TRIANGLE STAR HEXAGON OCTAGON") - integer = Word(nums) - shape_attr = "shape:" + shape_type("shape") - posn_attr = "posn:" + Group(integer("x") + ',' + integer("y"))("posn") - color_attr = "color:" + color("color") - size_attr = "size:" + integer("size") - - # use Each (using operator '&') to accept attributes in any order - # (shape and posn are required, color and size are optional) - shape_spec = shape_attr & posn_attr & Optional(color_attr) & Optional(size_attr) - - shape_spec.runTests(''' - shape: SQUARE color: BLACK posn: 100, 120 - shape: CIRCLE size: 50 color: BLUE posn: 50,80 - color:GREEN size:20 shape:TRIANGLE posn:20,40 - ''' - ) - prints:: - shape: SQUARE color: BLACK posn: 100, 120 - ['shape:', 'SQUARE', 'color:', 'BLACK', 'posn:', ['100', ',', '120']] - - color: BLACK - - posn: ['100', ',', '120'] - - x: 100 - - y: 120 - - shape: SQUARE - - - shape: CIRCLE size: 50 color: BLUE posn: 50,80 - ['shape:', 'CIRCLE', 'size:', '50', 'color:', 'BLUE', 'posn:', ['50', ',', '80']] - - color: BLUE - - posn: ['50', ',', '80'] - - x: 50 - - y: 80 - - shape: CIRCLE - - size: 50 - - - color: GREEN size: 20 shape: TRIANGLE posn: 20,40 - ['color:', 'GREEN', 'size:', '20', 'shape:', 'TRIANGLE', 'posn:', ['20', ',', '40']] - - color: GREEN - - posn: ['20', ',', '40'] - - x: 20 - - y: 40 - - shape: TRIANGLE - - size: 20 - """ - def __init__( self, exprs, savelist = True ): - super(Each,self).__init__(exprs, savelist) - self.mayReturnEmpty = all(e.mayReturnEmpty for e in self.exprs) - self.skipWhitespace = True - self.initExprGroups = True - - def parseImpl( self, instring, loc, doActions=True ): - if self.initExprGroups: - self.opt1map = dict((id(e.expr),e) for e in self.exprs if isinstance(e,Optional)) - opt1 = [ e.expr for e in self.exprs if isinstance(e,Optional) ] - opt2 = [ e for e in self.exprs if e.mayReturnEmpty and not isinstance(e,Optional)] - self.optionals = opt1 + opt2 - self.multioptionals = [ e.expr for e in self.exprs if isinstance(e,ZeroOrMore) ] - self.multirequired = [ e.expr for e in self.exprs if isinstance(e,OneOrMore) ] - self.required = [ e for e in self.exprs if not isinstance(e,(Optional,ZeroOrMore,OneOrMore)) ] - self.required += self.multirequired - self.initExprGroups = False - tmpLoc = loc - tmpReqd = self.required[:] - tmpOpt = self.optionals[:] - matchOrder = [] - - keepMatching = True - while keepMatching: - tmpExprs = tmpReqd + tmpOpt + self.multioptionals + self.multirequired - failed = [] - for e in tmpExprs: - try: - tmpLoc = e.tryParse( instring, tmpLoc ) - except ParseException: - failed.append(e) - else: - matchOrder.append(self.opt1map.get(id(e),e)) - if e in tmpReqd: - tmpReqd.remove(e) - elif e in tmpOpt: - tmpOpt.remove(e) - if len(failed) == len(tmpExprs): - keepMatching = False - - if tmpReqd: - missing = ", ".join(_ustr(e) for e in tmpReqd) - raise ParseException(instring,loc,"Missing one or more required elements (%s)" % missing ) - - # add any unmatched Optionals, in case they have default values defined - matchOrder += [e for e in self.exprs if isinstance(e,Optional) and e.expr in tmpOpt] - - resultlist = [] - for e in matchOrder: - loc,results = e._parse(instring,loc,doActions) - resultlist.append(results) - - finalResults = sum(resultlist, ParseResults([])) - return loc, finalResults - - def __str__( self ): - if hasattr(self,"name"): - return self.name - - if self.strRepr is None: - self.strRepr = "{" + " & ".join(_ustr(e) for e in self.exprs) + "}" - - return self.strRepr - - def checkRecursion( self, parseElementList ): - subRecCheckList = parseElementList[:] + [ self ] - for e in self.exprs: - e.checkRecursion( subRecCheckList ) - - -class ParseElementEnhance(ParserElement): - """ - Abstract subclass of C{ParserElement}, for combining and post-processing parsed tokens. - """ - def __init__( self, expr, savelist=False ): - super(ParseElementEnhance,self).__init__(savelist) - if isinstance( expr, basestring ): - if issubclass(ParserElement._literalStringClass, Token): - expr = ParserElement._literalStringClass(expr) - else: - expr = ParserElement._literalStringClass(Literal(expr)) - self.expr = expr - self.strRepr = None - if expr is not None: - self.mayIndexError = expr.mayIndexError - self.mayReturnEmpty = expr.mayReturnEmpty - self.setWhitespaceChars( expr.whiteChars ) - self.skipWhitespace = expr.skipWhitespace - self.saveAsList = expr.saveAsList - self.callPreparse = expr.callPreparse - self.ignoreExprs.extend(expr.ignoreExprs) - - def parseImpl( self, instring, loc, doActions=True ): - if self.expr is not None: - return self.expr._parse( instring, loc, doActions, callPreParse=False ) - else: - raise ParseException("",loc,self.errmsg,self) - - def leaveWhitespace( self ): - self.skipWhitespace = False - self.expr = self.expr.copy() - if self.expr is not None: - self.expr.leaveWhitespace() - return self - - def ignore( self, other ): - if isinstance( other, Suppress ): - if other not in self.ignoreExprs: - super( ParseElementEnhance, self).ignore( other ) - if self.expr is not None: - self.expr.ignore( self.ignoreExprs[-1] ) - else: - super( ParseElementEnhance, self).ignore( other ) - if self.expr is not None: - self.expr.ignore( self.ignoreExprs[-1] ) - return self - - def streamline( self ): - super(ParseElementEnhance,self).streamline() - if self.expr is not None: - self.expr.streamline() - return self - - def checkRecursion( self, parseElementList ): - if self in parseElementList: - raise RecursiveGrammarException( parseElementList+[self] ) - subRecCheckList = parseElementList[:] + [ self ] - if self.expr is not None: - self.expr.checkRecursion( subRecCheckList ) - - def validate( self, validateTrace=[] ): - tmp = validateTrace[:]+[self] - if self.expr is not None: - self.expr.validate(tmp) - self.checkRecursion( [] ) - - def __str__( self ): - try: - return super(ParseElementEnhance,self).__str__() - except Exception: - pass - - if self.strRepr is None and self.expr is not None: - self.strRepr = "%s:(%s)" % ( self.__class__.__name__, _ustr(self.expr) ) - return self.strRepr - - -class FollowedBy(ParseElementEnhance): - """ - Lookahead matching of the given parse expression. C{FollowedBy} - does I{not} advance the parsing position within the input string, it only - verifies that the specified parse expression matches at the current - position. C{FollowedBy} always returns a null token list. - - Example:: - # use FollowedBy to match a label only if it is followed by a ':' - data_word = Word(alphas) - label = data_word + FollowedBy(':') - attr_expr = Group(label + Suppress(':') + OneOrMore(data_word, stopOn=label).setParseAction(' '.join)) - - OneOrMore(attr_expr).parseString("shape: SQUARE color: BLACK posn: upper left").pprint() - prints:: - [['shape', 'SQUARE'], ['color', 'BLACK'], ['posn', 'upper left']] - """ - def __init__( self, expr ): - super(FollowedBy,self).__init__(expr) - self.mayReturnEmpty = True - - def parseImpl( self, instring, loc, doActions=True ): - self.expr.tryParse( instring, loc ) - return loc, [] - - -class NotAny(ParseElementEnhance): - """ - Lookahead to disallow matching with the given parse expression. C{NotAny} - does I{not} advance the parsing position within the input string, it only - verifies that the specified parse expression does I{not} match at the current - position. Also, C{NotAny} does I{not} skip over leading whitespace. C{NotAny} - always returns a null token list. May be constructed using the '~' operator. - - Example:: - - """ - def __init__( self, expr ): - super(NotAny,self).__init__(expr) - #~ self.leaveWhitespace() - self.skipWhitespace = False # do NOT use self.leaveWhitespace(), don't want to propagate to exprs - self.mayReturnEmpty = True - self.errmsg = "Found unwanted token, "+_ustr(self.expr) - - def parseImpl( self, instring, loc, doActions=True ): - if self.expr.canParseNext(instring, loc): - raise ParseException(instring, loc, self.errmsg, self) - return loc, [] - - def __str__( self ): - if hasattr(self,"name"): - return self.name - - if self.strRepr is None: - self.strRepr = "~{" + _ustr(self.expr) + "}" - - return self.strRepr - -class _MultipleMatch(ParseElementEnhance): - def __init__( self, expr, stopOn=None): - super(_MultipleMatch, self).__init__(expr) - self.saveAsList = True - ender = stopOn - if isinstance(ender, basestring): - ender = ParserElement._literalStringClass(ender) - self.not_ender = ~ender if ender is not None else None - - def parseImpl( self, instring, loc, doActions=True ): - self_expr_parse = self.expr._parse - self_skip_ignorables = self._skipIgnorables - check_ender = self.not_ender is not None - if check_ender: - try_not_ender = self.not_ender.tryParse - - # must be at least one (but first see if we are the stopOn sentinel; - # if so, fail) - if check_ender: - try_not_ender(instring, loc) - loc, tokens = self_expr_parse( instring, loc, doActions, callPreParse=False ) - try: - hasIgnoreExprs = (not not self.ignoreExprs) - while 1: - if check_ender: - try_not_ender(instring, loc) - if hasIgnoreExprs: - preloc = self_skip_ignorables( instring, loc ) - else: - preloc = loc - loc, tmptokens = self_expr_parse( instring, preloc, doActions ) - if tmptokens or tmptokens.haskeys(): - tokens += tmptokens - except (ParseException,IndexError): - pass - - return loc, tokens - -class OneOrMore(_MultipleMatch): - """ - Repetition of one or more of the given expression. - - Parameters: - - expr - expression that must match one or more times - - stopOn - (default=C{None}) - expression for a terminating sentinel - (only required if the sentinel would ordinarily match the repetition - expression) - - Example:: - data_word = Word(alphas) - label = data_word + FollowedBy(':') - attr_expr = Group(label + Suppress(':') + OneOrMore(data_word).setParseAction(' '.join)) - - text = "shape: SQUARE posn: upper left color: BLACK" - OneOrMore(attr_expr).parseString(text).pprint() # Fail! read 'color' as data instead of next label -> [['shape', 'SQUARE color']] - - # use stopOn attribute for OneOrMore to avoid reading label string as part of the data - attr_expr = Group(label + Suppress(':') + OneOrMore(data_word, stopOn=label).setParseAction(' '.join)) - OneOrMore(attr_expr).parseString(text).pprint() # Better -> [['shape', 'SQUARE'], ['posn', 'upper left'], ['color', 'BLACK']] - - # could also be written as - (attr_expr * (1,)).parseString(text).pprint() - """ - - def __str__( self ): - if hasattr(self,"name"): - return self.name - - if self.strRepr is None: - self.strRepr = "{" + _ustr(self.expr) + "}..." - - return self.strRepr - -class ZeroOrMore(_MultipleMatch): - """ - Optional repetition of zero or more of the given expression. - - Parameters: - - expr - expression that must match zero or more times - - stopOn - (default=C{None}) - expression for a terminating sentinel - (only required if the sentinel would ordinarily match the repetition - expression) - - Example: similar to L{OneOrMore} - """ - def __init__( self, expr, stopOn=None): - super(ZeroOrMore,self).__init__(expr, stopOn=stopOn) - self.mayReturnEmpty = True - - def parseImpl( self, instring, loc, doActions=True ): - try: - return super(ZeroOrMore, self).parseImpl(instring, loc, doActions) - except (ParseException,IndexError): - return loc, [] - - def __str__( self ): - if hasattr(self,"name"): - return self.name - - if self.strRepr is None: - self.strRepr = "[" + _ustr(self.expr) + "]..." - - return self.strRepr - -class _NullToken(object): - def __bool__(self): - return False - __nonzero__ = __bool__ - def __str__(self): - return "" - -_optionalNotMatched = _NullToken() -class Optional(ParseElementEnhance): - """ - Optional matching of the given expression. - - Parameters: - - expr - expression that must match zero or more times - - default (optional) - value to be returned if the optional expression is not found. - - Example:: - # US postal code can be a 5-digit zip, plus optional 4-digit qualifier - zip = Combine(Word(nums, exact=5) + Optional('-' + Word(nums, exact=4))) - zip.runTests(''' - # traditional ZIP code - 12345 - - # ZIP+4 form - 12101-0001 - - # invalid ZIP - 98765- - ''') - prints:: - # traditional ZIP code - 12345 - ['12345'] - - # ZIP+4 form - 12101-0001 - ['12101-0001'] - - # invalid ZIP - 98765- - ^ - FAIL: Expected end of text (at char 5), (line:1, col:6) - """ - def __init__( self, expr, default=_optionalNotMatched ): - super(Optional,self).__init__( expr, savelist=False ) - self.saveAsList = self.expr.saveAsList - self.defaultValue = default - self.mayReturnEmpty = True - - def parseImpl( self, instring, loc, doActions=True ): - try: - loc, tokens = self.expr._parse( instring, loc, doActions, callPreParse=False ) - except (ParseException,IndexError): - if self.defaultValue is not _optionalNotMatched: - if self.expr.resultsName: - tokens = ParseResults([ self.defaultValue ]) - tokens[self.expr.resultsName] = self.defaultValue - else: - tokens = [ self.defaultValue ] - else: - tokens = [] - return loc, tokens - - def __str__( self ): - if hasattr(self,"name"): - return self.name - - if self.strRepr is None: - self.strRepr = "[" + _ustr(self.expr) + "]" - - return self.strRepr - -class SkipTo(ParseElementEnhance): - """ - Token for skipping over all undefined text until the matched expression is found. - - Parameters: - - expr - target expression marking the end of the data to be skipped - - include - (default=C{False}) if True, the target expression is also parsed - (the skipped text and target expression are returned as a 2-element list). - - ignore - (default=C{None}) used to define grammars (typically quoted strings and - comments) that might contain false matches to the target expression - - failOn - (default=C{None}) define expressions that are not allowed to be - included in the skipped test; if found before the target expression is found, - the SkipTo is not a match - - Example:: - report = ''' - Outstanding Issues Report - 1 Jan 2000 - - # | Severity | Description | Days Open - -----+----------+-------------------------------------------+----------- - 101 | Critical | Intermittent system crash | 6 - 94 | Cosmetic | Spelling error on Login ('log|n') | 14 - 79 | Minor | System slow when running too many reports | 47 - ''' - integer = Word(nums) - SEP = Suppress('|') - # use SkipTo to simply match everything up until the next SEP - # - ignore quoted strings, so that a '|' character inside a quoted string does not match - # - parse action will call token.strip() for each matched token, i.e., the description body - string_data = SkipTo(SEP, ignore=quotedString) - string_data.setParseAction(tokenMap(str.strip)) - ticket_expr = (integer("issue_num") + SEP - + string_data("sev") + SEP - + string_data("desc") + SEP - + integer("days_open")) - - for tkt in ticket_expr.searchString(report): - print tkt.dump() - prints:: - ['101', 'Critical', 'Intermittent system crash', '6'] - - days_open: 6 - - desc: Intermittent system crash - - issue_num: 101 - - sev: Critical - ['94', 'Cosmetic', "Spelling error on Login ('log|n')", '14'] - - days_open: 14 - - desc: Spelling error on Login ('log|n') - - issue_num: 94 - - sev: Cosmetic - ['79', 'Minor', 'System slow when running too many reports', '47'] - - days_open: 47 - - desc: System slow when running too many reports - - issue_num: 79 - - sev: Minor - """ - def __init__( self, other, include=False, ignore=None, failOn=None ): - super( SkipTo, self ).__init__( other ) - self.ignoreExpr = ignore - self.mayReturnEmpty = True - self.mayIndexError = False - self.includeMatch = include - self.asList = False - if isinstance(failOn, basestring): - self.failOn = ParserElement._literalStringClass(failOn) - else: - self.failOn = failOn - self.errmsg = "No match found for "+_ustr(self.expr) - - def parseImpl( self, instring, loc, doActions=True ): - startloc = loc - instrlen = len(instring) - expr = self.expr - expr_parse = self.expr._parse - self_failOn_canParseNext = self.failOn.canParseNext if self.failOn is not None else None - self_ignoreExpr_tryParse = self.ignoreExpr.tryParse if self.ignoreExpr is not None else None - - tmploc = loc - while tmploc <= instrlen: - if self_failOn_canParseNext is not None: - # break if failOn expression matches - if self_failOn_canParseNext(instring, tmploc): - break - - if self_ignoreExpr_tryParse is not None: - # advance past ignore expressions - while 1: - try: - tmploc = self_ignoreExpr_tryParse(instring, tmploc) - except ParseBaseException: - break - - try: - expr_parse(instring, tmploc, doActions=False, callPreParse=False) - except (ParseException, IndexError): - # no match, advance loc in string - tmploc += 1 - else: - # matched skipto expr, done - break - - else: - # ran off the end of the input string without matching skipto expr, fail - raise ParseException(instring, loc, self.errmsg, self) - - # build up return values - loc = tmploc - skiptext = instring[startloc:loc] - skipresult = ParseResults(skiptext) - - if self.includeMatch: - loc, mat = expr_parse(instring,loc,doActions,callPreParse=False) - skipresult += mat - - return loc, skipresult - -class Forward(ParseElementEnhance): - """ - Forward declaration of an expression to be defined later - - used for recursive grammars, such as algebraic infix notation. - When the expression is known, it is assigned to the C{Forward} variable using the '<<' operator. - - Note: take care when assigning to C{Forward} not to overlook precedence of operators. - Specifically, '|' has a lower precedence than '<<', so that:: - fwdExpr << a | b | c - will actually be evaluated as:: - (fwdExpr << a) | b | c - thereby leaving b and c out as parseable alternatives. It is recommended that you - explicitly group the values inserted into the C{Forward}:: - fwdExpr << (a | b | c) - Converting to use the '<<=' operator instead will avoid this problem. - - See L{ParseResults.pprint} for an example of a recursive parser created using - C{Forward}. - """ - def __init__( self, other=None ): - super(Forward,self).__init__( other, savelist=False ) - - def __lshift__( self, other ): - if isinstance( other, basestring ): - other = ParserElement._literalStringClass(other) - self.expr = other - self.strRepr = None - self.mayIndexError = self.expr.mayIndexError - self.mayReturnEmpty = self.expr.mayReturnEmpty - self.setWhitespaceChars( self.expr.whiteChars ) - self.skipWhitespace = self.expr.skipWhitespace - self.saveAsList = self.expr.saveAsList - self.ignoreExprs.extend(self.expr.ignoreExprs) - return self - - def __ilshift__(self, other): - return self << other - - def leaveWhitespace( self ): - self.skipWhitespace = False - return self - - def streamline( self ): - if not self.streamlined: - self.streamlined = True - if self.expr is not None: - self.expr.streamline() - return self - - def validate( self, validateTrace=[] ): - if self not in validateTrace: - tmp = validateTrace[:]+[self] - if self.expr is not None: - self.expr.validate(tmp) - self.checkRecursion([]) - - def __str__( self ): - if hasattr(self,"name"): - return self.name - return self.__class__.__name__ + ": ..." - - # stubbed out for now - creates awful memory and perf issues - self._revertClass = self.__class__ - self.__class__ = _ForwardNoRecurse - try: - if self.expr is not None: - retString = _ustr(self.expr) - else: - retString = "None" - finally: - self.__class__ = self._revertClass - return self.__class__.__name__ + ": " + retString - - def copy(self): - if self.expr is not None: - return super(Forward,self).copy() - else: - ret = Forward() - ret <<= self - return ret - -class _ForwardNoRecurse(Forward): - def __str__( self ): - return "..." - -class TokenConverter(ParseElementEnhance): - """ - Abstract subclass of C{ParseExpression}, for converting parsed results. - """ - def __init__( self, expr, savelist=False ): - super(TokenConverter,self).__init__( expr )#, savelist ) - self.saveAsList = False - -class Combine(TokenConverter): - """ - Converter to concatenate all matching tokens to a single string. - By default, the matching patterns must also be contiguous in the input string; - this can be disabled by specifying C{'adjacent=False'} in the constructor. - - Example:: - real = Word(nums) + '.' + Word(nums) - print(real.parseString('3.1416')) # -> ['3', '.', '1416'] - # will also erroneously match the following - print(real.parseString('3. 1416')) # -> ['3', '.', '1416'] - - real = Combine(Word(nums) + '.' + Word(nums)) - print(real.parseString('3.1416')) # -> ['3.1416'] - # no match when there are internal spaces - print(real.parseString('3. 1416')) # -> Exception: Expected W:(0123...) - """ - def __init__( self, expr, joinString="", adjacent=True ): - super(Combine,self).__init__( expr ) - # suppress whitespace-stripping in contained parse expressions, but re-enable it on the Combine itself - if adjacent: - self.leaveWhitespace() - self.adjacent = adjacent - self.skipWhitespace = True - self.joinString = joinString - self.callPreparse = True - - def ignore( self, other ): - if self.adjacent: - ParserElement.ignore(self, other) - else: - super( Combine, self).ignore( other ) - return self - - def postParse( self, instring, loc, tokenlist ): - retToks = tokenlist.copy() - del retToks[:] - retToks += ParseResults([ "".join(tokenlist._asStringList(self.joinString)) ], modal=self.modalResults) - - if self.resultsName and retToks.haskeys(): - return [ retToks ] - else: - return retToks - -class Group(TokenConverter): - """ - Converter to return the matched tokens as a list - useful for returning tokens of C{L{ZeroOrMore}} and C{L{OneOrMore}} expressions. - - Example:: - ident = Word(alphas) - num = Word(nums) - term = ident | num - func = ident + Optional(delimitedList(term)) - print(func.parseString("fn a,b,100")) # -> ['fn', 'a', 'b', '100'] - - func = ident + Group(Optional(delimitedList(term))) - print(func.parseString("fn a,b,100")) # -> ['fn', ['a', 'b', '100']] - """ - def __init__( self, expr ): - super(Group,self).__init__( expr ) - self.saveAsList = True - - def postParse( self, instring, loc, tokenlist ): - return [ tokenlist ] - -class Dict(TokenConverter): - """ - Converter to return a repetitive expression as a list, but also as a dictionary. - Each element can also be referenced using the first token in the expression as its key. - Useful for tabular report scraping when the first column can be used as a item key. - - Example:: - data_word = Word(alphas) - label = data_word + FollowedBy(':') - attr_expr = Group(label + Suppress(':') + OneOrMore(data_word).setParseAction(' '.join)) - - text = "shape: SQUARE posn: upper left color: light blue texture: burlap" - attr_expr = (label + Suppress(':') + OneOrMore(data_word, stopOn=label).setParseAction(' '.join)) - - # print attributes as plain groups - print(OneOrMore(attr_expr).parseString(text).dump()) - - # instead of OneOrMore(expr), parse using Dict(OneOrMore(Group(expr))) - Dict will auto-assign names - result = Dict(OneOrMore(Group(attr_expr))).parseString(text) - print(result.dump()) - - # access named fields as dict entries, or output as dict - print(result['shape']) - print(result.asDict()) - prints:: - ['shape', 'SQUARE', 'posn', 'upper left', 'color', 'light blue', 'texture', 'burlap'] - - [['shape', 'SQUARE'], ['posn', 'upper left'], ['color', 'light blue'], ['texture', 'burlap']] - - color: light blue - - posn: upper left - - shape: SQUARE - - texture: burlap - SQUARE - {'color': 'light blue', 'posn': 'upper left', 'texture': 'burlap', 'shape': 'SQUARE'} - See more examples at L{ParseResults} of accessing fields by results name. - """ - def __init__( self, expr ): - super(Dict,self).__init__( expr ) - self.saveAsList = True - - def postParse( self, instring, loc, tokenlist ): - for i,tok in enumerate(tokenlist): - if len(tok) == 0: - continue - ikey = tok[0] - if isinstance(ikey,int): - ikey = _ustr(tok[0]).strip() - if len(tok)==1: - tokenlist[ikey] = _ParseResultsWithOffset("",i) - elif len(tok)==2 and not isinstance(tok[1],ParseResults): - tokenlist[ikey] = _ParseResultsWithOffset(tok[1],i) - else: - dictvalue = tok.copy() #ParseResults(i) - del dictvalue[0] - if len(dictvalue)!= 1 or (isinstance(dictvalue,ParseResults) and dictvalue.haskeys()): - tokenlist[ikey] = _ParseResultsWithOffset(dictvalue,i) - else: - tokenlist[ikey] = _ParseResultsWithOffset(dictvalue[0],i) - - if self.resultsName: - return [ tokenlist ] - else: - return tokenlist - - -class Suppress(TokenConverter): - """ - Converter for ignoring the results of a parsed expression. - - Example:: - source = "a, b, c,d" - wd = Word(alphas) - wd_list1 = wd + ZeroOrMore(',' + wd) - print(wd_list1.parseString(source)) - - # often, delimiters that are useful during parsing are just in the - # way afterward - use Suppress to keep them out of the parsed output - wd_list2 = wd + ZeroOrMore(Suppress(',') + wd) - print(wd_list2.parseString(source)) - prints:: - ['a', ',', 'b', ',', 'c', ',', 'd'] - ['a', 'b', 'c', 'd'] - (See also L{delimitedList}.) - """ - def postParse( self, instring, loc, tokenlist ): - return [] - - def suppress( self ): - return self - - -class OnlyOnce(object): - """ - Wrapper for parse actions, to ensure they are only called once. - """ - def __init__(self, methodCall): - self.callable = _trim_arity(methodCall) - self.called = False - def __call__(self,s,l,t): - if not self.called: - results = self.callable(s,l,t) - self.called = True - return results - raise ParseException(s,l,"") - def reset(self): - self.called = False - -def traceParseAction(f): - """ - Decorator for debugging parse actions. - - When the parse action is called, this decorator will print C{">> entering I{method-name}(line:I{current_source_line}, I{parse_location}, I{matched_tokens})".} - When the parse action completes, the decorator will print C{"<<"} followed by the returned value, or any exception that the parse action raised. - - Example:: - wd = Word(alphas) - - @traceParseAction - def remove_duplicate_chars(tokens): - return ''.join(sorted(set(''.join(tokens)))) - - wds = OneOrMore(wd).setParseAction(remove_duplicate_chars) - print(wds.parseString("slkdjs sld sldd sdlf sdljf")) - prints:: - >>entering remove_duplicate_chars(line: 'slkdjs sld sldd sdlf sdljf', 0, (['slkdjs', 'sld', 'sldd', 'sdlf', 'sdljf'], {})) - <<leaving remove_duplicate_chars (ret: 'dfjkls') - ['dfjkls'] - """ - f = _trim_arity(f) - def z(*paArgs): - thisFunc = f.__name__ - s,l,t = paArgs[-3:] - if len(paArgs)>3: - thisFunc = paArgs[0].__class__.__name__ + '.' + thisFunc - sys.stderr.write( ">>entering %s(line: '%s', %d, %r)\n" % (thisFunc,line(l,s),l,t) ) - try: - ret = f(*paArgs) - except Exception as exc: - sys.stderr.write( "<<leaving %s (exception: %s)\n" % (thisFunc,exc) ) - raise - sys.stderr.write( "<<leaving %s (ret: %r)\n" % (thisFunc,ret) ) - return ret - try: - z.__name__ = f.__name__ - except AttributeError: - pass - return z - -# -# global helpers -# -def delimitedList( expr, delim=",", combine=False ): - """ - Helper to define a delimited list of expressions - the delimiter defaults to ','. - By default, the list elements and delimiters can have intervening whitespace, and - comments, but this can be overridden by passing C{combine=True} in the constructor. - If C{combine} is set to C{True}, the matching tokens are returned as a single token - string, with the delimiters included; otherwise, the matching tokens are returned - as a list of tokens, with the delimiters suppressed. - - Example:: - delimitedList(Word(alphas)).parseString("aa,bb,cc") # -> ['aa', 'bb', 'cc'] - delimitedList(Word(hexnums), delim=':', combine=True).parseString("AA:BB:CC:DD:EE") # -> ['AA:BB:CC:DD:EE'] - """ - dlName = _ustr(expr)+" ["+_ustr(delim)+" "+_ustr(expr)+"]..." - if combine: - return Combine( expr + ZeroOrMore( delim + expr ) ).setName(dlName) - else: - return ( expr + ZeroOrMore( Suppress( delim ) + expr ) ).setName(dlName) - -def countedArray( expr, intExpr=None ): - """ - Helper to define a counted list of expressions. - This helper defines a pattern of the form:: - integer expr expr expr... - where the leading integer tells how many expr expressions follow. - The matched tokens returns the array of expr tokens as a list - the leading count token is suppressed. - - If C{intExpr} is specified, it should be a pyparsing expression that produces an integer value. - - Example:: - countedArray(Word(alphas)).parseString('2 ab cd ef') # -> ['ab', 'cd'] - - # in this parser, the leading integer value is given in binary, - # '10' indicating that 2 values are in the array - binaryConstant = Word('01').setParseAction(lambda t: int(t[0], 2)) - countedArray(Word(alphas), intExpr=binaryConstant).parseString('10 ab cd ef') # -> ['ab', 'cd'] - """ - arrayExpr = Forward() - def countFieldParseAction(s,l,t): - n = t[0] - arrayExpr << (n and Group(And([expr]*n)) or Group(empty)) - return [] - if intExpr is None: - intExpr = Word(nums).setParseAction(lambda t:int(t[0])) - else: - intExpr = intExpr.copy() - intExpr.setName("arrayLen") - intExpr.addParseAction(countFieldParseAction, callDuringTry=True) - return ( intExpr + arrayExpr ).setName('(len) ' + _ustr(expr) + '...') - -def _flatten(L): - ret = [] - for i in L: - if isinstance(i,list): - ret.extend(_flatten(i)) - else: - ret.append(i) - return ret - -def matchPreviousLiteral(expr): - """ - Helper to define an expression that is indirectly defined from - the tokens matched in a previous expression, that is, it looks - for a 'repeat' of a previous expression. For example:: - first = Word(nums) - second = matchPreviousLiteral(first) - matchExpr = first + ":" + second - will match C{"1:1"}, but not C{"1:2"}. Because this matches a - previous literal, will also match the leading C{"1:1"} in C{"1:10"}. - If this is not desired, use C{matchPreviousExpr}. - Do I{not} use with packrat parsing enabled. - """ - rep = Forward() - def copyTokenToRepeater(s,l,t): - if t: - if len(t) == 1: - rep << t[0] - else: - # flatten t tokens - tflat = _flatten(t.asList()) - rep << And(Literal(tt) for tt in tflat) - else: - rep << Empty() - expr.addParseAction(copyTokenToRepeater, callDuringTry=True) - rep.setName('(prev) ' + _ustr(expr)) - return rep - -def matchPreviousExpr(expr): - """ - Helper to define an expression that is indirectly defined from - the tokens matched in a previous expression, that is, it looks - for a 'repeat' of a previous expression. For example:: - first = Word(nums) - second = matchPreviousExpr(first) - matchExpr = first + ":" + second - will match C{"1:1"}, but not C{"1:2"}. Because this matches by - expressions, will I{not} match the leading C{"1:1"} in C{"1:10"}; - the expressions are evaluated first, and then compared, so - C{"1"} is compared with C{"10"}. - Do I{not} use with packrat parsing enabled. - """ - rep = Forward() - e2 = expr.copy() - rep <<= e2 - def copyTokenToRepeater(s,l,t): - matchTokens = _flatten(t.asList()) - def mustMatchTheseTokens(s,l,t): - theseTokens = _flatten(t.asList()) - if theseTokens != matchTokens: - raise ParseException("",0,"") - rep.setParseAction( mustMatchTheseTokens, callDuringTry=True ) - expr.addParseAction(copyTokenToRepeater, callDuringTry=True) - rep.setName('(prev) ' + _ustr(expr)) - return rep - -def _escapeRegexRangeChars(s): - #~ escape these chars: ^-] - for c in r"\^-]": - s = s.replace(c,_bslash+c) - s = s.replace("\n",r"\n") - s = s.replace("\t",r"\t") - return _ustr(s) - -def oneOf( strs, caseless=False, useRegex=True ): - """ - Helper to quickly define a set of alternative Literals, and makes sure to do - longest-first testing when there is a conflict, regardless of the input order, - but returns a C{L{MatchFirst}} for best performance. - - Parameters: - - strs - a string of space-delimited literals, or a collection of string literals - - caseless - (default=C{False}) - treat all literals as caseless - - useRegex - (default=C{True}) - as an optimization, will generate a Regex - object; otherwise, will generate a C{MatchFirst} object (if C{caseless=True}, or - if creating a C{Regex} raises an exception) - - Example:: - comp_oper = oneOf("< = > <= >= !=") - var = Word(alphas) - number = Word(nums) - term = var | number - comparison_expr = term + comp_oper + term - print(comparison_expr.searchString("B = 12 AA=23 B<=AA AA>12")) - prints:: - [['B', '=', '12'], ['AA', '=', '23'], ['B', '<=', 'AA'], ['AA', '>', '12']] - """ - if caseless: - isequal = ( lambda a,b: a.upper() == b.upper() ) - masks = ( lambda a,b: b.upper().startswith(a.upper()) ) - parseElementClass = CaselessLiteral - else: - isequal = ( lambda a,b: a == b ) - masks = ( lambda a,b: b.startswith(a) ) - parseElementClass = Literal - - symbols = [] - if isinstance(strs,basestring): - symbols = strs.split() - elif isinstance(strs, Iterable): - symbols = list(strs) - else: - warnings.warn("Invalid argument to oneOf, expected string or iterable", - SyntaxWarning, stacklevel=2) - if not symbols: - return NoMatch() - - i = 0 - while i < len(symbols)-1: - cur = symbols[i] - for j,other in enumerate(symbols[i+1:]): - if ( isequal(other, cur) ): - del symbols[i+j+1] - break - elif ( masks(cur, other) ): - del symbols[i+j+1] - symbols.insert(i,other) - cur = other - break - else: - i += 1 - - if not caseless and useRegex: - #~ print (strs,"->", "|".join( [ _escapeRegexChars(sym) for sym in symbols] )) - try: - if len(symbols)==len("".join(symbols)): - return Regex( "[%s]" % "".join(_escapeRegexRangeChars(sym) for sym in symbols) ).setName(' | '.join(symbols)) - else: - return Regex( "|".join(re.escape(sym) for sym in symbols) ).setName(' | '.join(symbols)) - except Exception: - warnings.warn("Exception creating Regex for oneOf, building MatchFirst", - SyntaxWarning, stacklevel=2) - - - # last resort, just use MatchFirst - return MatchFirst(parseElementClass(sym) for sym in symbols).setName(' | '.join(symbols)) - -def dictOf( key, value ): - """ - Helper to easily and clearly define a dictionary by specifying the respective patterns - for the key and value. Takes care of defining the C{L{Dict}}, C{L{ZeroOrMore}}, and C{L{Group}} tokens - in the proper order. The key pattern can include delimiting markers or punctuation, - as long as they are suppressed, thereby leaving the significant key text. The value - pattern can include named results, so that the C{Dict} results can include named token - fields. - - Example:: - text = "shape: SQUARE posn: upper left color: light blue texture: burlap" - attr_expr = (label + Suppress(':') + OneOrMore(data_word, stopOn=label).setParseAction(' '.join)) - print(OneOrMore(attr_expr).parseString(text).dump()) - - attr_label = label - attr_value = Suppress(':') + OneOrMore(data_word, stopOn=label).setParseAction(' '.join) - - # similar to Dict, but simpler call format - result = dictOf(attr_label, attr_value).parseString(text) - print(result.dump()) - print(result['shape']) - print(result.shape) # object attribute access works too - print(result.asDict()) - prints:: - [['shape', 'SQUARE'], ['posn', 'upper left'], ['color', 'light blue'], ['texture', 'burlap']] - - color: light blue - - posn: upper left - - shape: SQUARE - - texture: burlap - SQUARE - SQUARE - {'color': 'light blue', 'shape': 'SQUARE', 'posn': 'upper left', 'texture': 'burlap'} - """ - return Dict( ZeroOrMore( Group ( key + value ) ) ) - -def originalTextFor(expr, asString=True): - """ - Helper to return the original, untokenized text for a given expression. Useful to - restore the parsed fields of an HTML start tag into the raw tag text itself, or to - revert separate tokens with intervening whitespace back to the original matching - input text. By default, returns astring containing the original parsed text. - - If the optional C{asString} argument is passed as C{False}, then the return value is a - C{L{ParseResults}} containing any results names that were originally matched, and a - single token containing the original matched text from the input string. So if - the expression passed to C{L{originalTextFor}} contains expressions with defined - results names, you must set C{asString} to C{False} if you want to preserve those - results name values. - - Example:: - src = "this is test <b> bold <i>text</i> </b> normal text " - for tag in ("b","i"): - opener,closer = makeHTMLTags(tag) - patt = originalTextFor(opener + SkipTo(closer) + closer) - print(patt.searchString(src)[0]) - prints:: - ['<b> bold <i>text</i> </b>'] - ['<i>text</i>'] - """ - locMarker = Empty().setParseAction(lambda s,loc,t: loc) - endlocMarker = locMarker.copy() - endlocMarker.callPreparse = False - matchExpr = locMarker("_original_start") + expr + endlocMarker("_original_end") - if asString: - extractText = lambda s,l,t: s[t._original_start:t._original_end] - else: - def extractText(s,l,t): - t[:] = [s[t.pop('_original_start'):t.pop('_original_end')]] - matchExpr.setParseAction(extractText) - matchExpr.ignoreExprs = expr.ignoreExprs - return matchExpr - -def ungroup(expr): - """ - Helper to undo pyparsing's default grouping of And expressions, even - if all but one are non-empty. - """ - return TokenConverter(expr).setParseAction(lambda t:t[0]) - -def locatedExpr(expr): - """ - Helper to decorate a returned token with its starting and ending locations in the input string. - This helper adds the following results names: - - locn_start = location where matched expression begins - - locn_end = location where matched expression ends - - value = the actual parsed results - - Be careful if the input text contains C{<TAB>} characters, you may want to call - C{L{ParserElement.parseWithTabs}} - - Example:: - wd = Word(alphas) - for match in locatedExpr(wd).searchString("ljsdf123lksdjjf123lkkjj1222"): - print(match) - prints:: - [[0, 'ljsdf', 5]] - [[8, 'lksdjjf', 15]] - [[18, 'lkkjj', 23]] - """ - locator = Empty().setParseAction(lambda s,l,t: l) - return Group(locator("locn_start") + expr("value") + locator.copy().leaveWhitespace()("locn_end")) - - -# convenience constants for positional expressions -empty = Empty().setName("empty") -lineStart = LineStart().setName("lineStart") -lineEnd = LineEnd().setName("lineEnd") -stringStart = StringStart().setName("stringStart") -stringEnd = StringEnd().setName("stringEnd") - -_escapedPunc = Word( _bslash, r"\[]-*.$+^?()~ ", exact=2 ).setParseAction(lambda s,l,t:t[0][1]) -_escapedHexChar = Regex(r"\\0?[xX][0-9a-fA-F]+").setParseAction(lambda s,l,t:unichr(int(t[0].lstrip(r'\0x'),16))) -_escapedOctChar = Regex(r"\\0[0-7]+").setParseAction(lambda s,l,t:unichr(int(t[0][1:],8))) -_singleChar = _escapedPunc | _escapedHexChar | _escapedOctChar | CharsNotIn(r'\]', exact=1) -_charRange = Group(_singleChar + Suppress("-") + _singleChar) -_reBracketExpr = Literal("[") + Optional("^").setResultsName("negate") + Group( OneOrMore( _charRange | _singleChar ) ).setResultsName("body") + "]" - -def srange(s): - r""" - Helper to easily define string ranges for use in Word construction. Borrows - syntax from regexp '[]' string range definitions:: - srange("[0-9]") -> "0123456789" - srange("[a-z]") -> "abcdefghijklmnopqrstuvwxyz" - srange("[a-z$_]") -> "abcdefghijklmnopqrstuvwxyz$_" - The input string must be enclosed in []'s, and the returned string is the expanded - character set joined into a single string. - The values enclosed in the []'s may be: - - a single character - - an escaped character with a leading backslash (such as C{\-} or C{\]}) - - an escaped hex character with a leading C{'\x'} (C{\x21}, which is a C{'!'} character) - (C{\0x##} is also supported for backwards compatibility) - - an escaped octal character with a leading C{'\0'} (C{\041}, which is a C{'!'} character) - - a range of any of the above, separated by a dash (C{'a-z'}, etc.) - - any combination of the above (C{'aeiouy'}, C{'a-zA-Z0-9_$'}, etc.) - """ - _expanded = lambda p: p if not isinstance(p,ParseResults) else ''.join(unichr(c) for c in range(ord(p[0]),ord(p[1])+1)) - try: - return "".join(_expanded(part) for part in _reBracketExpr.parseString(s).body) - except Exception: - return "" - -def matchOnlyAtCol(n): - """ - Helper method for defining parse actions that require matching at a specific - column in the input text. - """ - def verifyCol(strg,locn,toks): - if col(locn,strg) != n: - raise ParseException(strg,locn,"matched token not at column %d" % n) - return verifyCol - -def replaceWith(replStr): - """ - Helper method for common parse actions that simply return a literal value. Especially - useful when used with C{L{transformString<ParserElement.transformString>}()}. - - Example:: - num = Word(nums).setParseAction(lambda toks: int(toks[0])) - na = oneOf("N/A NA").setParseAction(replaceWith(math.nan)) - term = na | num - - OneOrMore(term).parseString("324 234 N/A 234") # -> [324, 234, nan, 234] - """ - return lambda s,l,t: [replStr] - -def removeQuotes(s,l,t): - """ - Helper parse action for removing quotation marks from parsed quoted strings. - - Example:: - # by default, quotation marks are included in parsed results - quotedString.parseString("'Now is the Winter of our Discontent'") # -> ["'Now is the Winter of our Discontent'"] - - # use removeQuotes to strip quotation marks from parsed results - quotedString.setParseAction(removeQuotes) - quotedString.parseString("'Now is the Winter of our Discontent'") # -> ["Now is the Winter of our Discontent"] - """ - return t[0][1:-1] - -def tokenMap(func, *args): - """ - Helper to define a parse action by mapping a function to all elements of a ParseResults list.If any additional - args are passed, they are forwarded to the given function as additional arguments after - the token, as in C{hex_integer = Word(hexnums).setParseAction(tokenMap(int, 16))}, which will convert the - parsed data to an integer using base 16. - - Example (compare the last to example in L{ParserElement.transformString}:: - hex_ints = OneOrMore(Word(hexnums)).setParseAction(tokenMap(int, 16)) - hex_ints.runTests(''' - 00 11 22 aa FF 0a 0d 1a - ''') - - upperword = Word(alphas).setParseAction(tokenMap(str.upper)) - OneOrMore(upperword).runTests(''' - my kingdom for a horse - ''') - - wd = Word(alphas).setParseAction(tokenMap(str.title)) - OneOrMore(wd).setParseAction(' '.join).runTests(''' - now is the winter of our discontent made glorious summer by this sun of york - ''') - prints:: - 00 11 22 aa FF 0a 0d 1a - [0, 17, 34, 170, 255, 10, 13, 26] - - my kingdom for a horse - ['MY', 'KINGDOM', 'FOR', 'A', 'HORSE'] - - now is the winter of our discontent made glorious summer by this sun of york - ['Now Is The Winter Of Our Discontent Made Glorious Summer By This Sun Of York'] - """ - def pa(s,l,t): - return [func(tokn, *args) for tokn in t] - - try: - func_name = getattr(func, '__name__', - getattr(func, '__class__').__name__) - except Exception: - func_name = str(func) - pa.__name__ = func_name - - return pa - -upcaseTokens = tokenMap(lambda t: _ustr(t).upper()) -"""(Deprecated) Helper parse action to convert tokens to upper case. Deprecated in favor of L{pyparsing_common.upcaseTokens}""" - -downcaseTokens = tokenMap(lambda t: _ustr(t).lower()) -"""(Deprecated) Helper parse action to convert tokens to lower case. Deprecated in favor of L{pyparsing_common.downcaseTokens}""" - -def _makeTags(tagStr, xml): - """Internal helper to construct opening and closing tag expressions, given a tag name""" - if isinstance(tagStr,basestring): - resname = tagStr - tagStr = Keyword(tagStr, caseless=not xml) - else: - resname = tagStr.name - - tagAttrName = Word(alphas,alphanums+"_-:") - if (xml): - tagAttrValue = dblQuotedString.copy().setParseAction( removeQuotes ) - openTag = Suppress("<") + tagStr("tag") + \ - Dict(ZeroOrMore(Group( tagAttrName + Suppress("=") + tagAttrValue ))) + \ - Optional("/",default=[False]).setResultsName("empty").setParseAction(lambda s,l,t:t[0]=='/') + Suppress(">") - else: - printablesLessRAbrack = "".join(c for c in printables if c not in ">") - tagAttrValue = quotedString.copy().setParseAction( removeQuotes ) | Word(printablesLessRAbrack) - openTag = Suppress("<") + tagStr("tag") + \ - Dict(ZeroOrMore(Group( tagAttrName.setParseAction(downcaseTokens) + \ - Optional( Suppress("=") + tagAttrValue ) ))) + \ - Optional("/",default=[False]).setResultsName("empty").setParseAction(lambda s,l,t:t[0]=='/') + Suppress(">") - closeTag = Combine(_L("</") + tagStr + ">") - - openTag = openTag.setResultsName("start"+"".join(resname.replace(":"," ").title().split())).setName("<%s>" % resname) - closeTag = closeTag.setResultsName("end"+"".join(resname.replace(":"," ").title().split())).setName("</%s>" % resname) - openTag.tag = resname - closeTag.tag = resname - return openTag, closeTag - -def makeHTMLTags(tagStr): - """ - Helper to construct opening and closing tag expressions for HTML, given a tag name. Matches - tags in either upper or lower case, attributes with namespaces and with quoted or unquoted values. - - Example:: - text = '<td>More info at the <a href="http://pyparsing.wikispaces.com">pyparsing</a> wiki page</td>' - # makeHTMLTags returns pyparsing expressions for the opening and closing tags as a 2-tuple - a,a_end = makeHTMLTags("A") - link_expr = a + SkipTo(a_end)("link_text") + a_end - - for link in link_expr.searchString(text): - # attributes in the <A> tag (like "href" shown here) are also accessible as named results - print(link.link_text, '->', link.href) - prints:: - pyparsing -> http://pyparsing.wikispaces.com - """ - return _makeTags( tagStr, False ) - -def makeXMLTags(tagStr): - """ - Helper to construct opening and closing tag expressions for XML, given a tag name. Matches - tags only in the given upper/lower case. - - Example: similar to L{makeHTMLTags} - """ - return _makeTags( tagStr, True ) - -def withAttribute(*args,**attrDict): - """ - Helper to create a validating parse action to be used with start tags created - with C{L{makeXMLTags}} or C{L{makeHTMLTags}}. Use C{withAttribute} to qualify a starting tag - with a required attribute value, to avoid false matches on common tags such as - C{<TD>} or C{<DIV>}. - - Call C{withAttribute} with a series of attribute names and values. Specify the list - of filter attributes names and values as: - - keyword arguments, as in C{(align="right")}, or - - as an explicit dict with C{**} operator, when an attribute name is also a Python - reserved word, as in C{**{"class":"Customer", "align":"right"}} - - a list of name-value tuples, as in ( ("ns1:class", "Customer"), ("ns2:align","right") ) - For attribute names with a namespace prefix, you must use the second form. Attribute - names are matched insensitive to upper/lower case. - - If just testing for C{class} (with or without a namespace), use C{L{withClass}}. - - To verify that the attribute exists, but without specifying a value, pass - C{withAttribute.ANY_VALUE} as the value. - - Example:: - html = ''' - <div> - Some text - <div type="grid">1 4 0 1 0</div> - <div type="graph">1,3 2,3 1,1</div> - <div>this has no type</div> - </div> - - ''' - div,div_end = makeHTMLTags("div") - - # only match div tag having a type attribute with value "grid" - div_grid = div().setParseAction(withAttribute(type="grid")) - grid_expr = div_grid + SkipTo(div | div_end)("body") - for grid_header in grid_expr.searchString(html): - print(grid_header.body) - - # construct a match with any div tag having a type attribute, regardless of the value - div_any_type = div().setParseAction(withAttribute(type=withAttribute.ANY_VALUE)) - div_expr = div_any_type + SkipTo(div | div_end)("body") - for div_header in div_expr.searchString(html): - print(div_header.body) - prints:: - 1 4 0 1 0 - - 1 4 0 1 0 - 1,3 2,3 1,1 - """ - if args: - attrs = args[:] - else: - attrs = attrDict.items() - attrs = [(k,v) for k,v in attrs] - def pa(s,l,tokens): - for attrName,attrValue in attrs: - if attrName not in tokens: - raise ParseException(s,l,"no matching attribute " + attrName) - if attrValue != withAttribute.ANY_VALUE and tokens[attrName] != attrValue: - raise ParseException(s,l,"attribute '%s' has value '%s', must be '%s'" % - (attrName, tokens[attrName], attrValue)) - return pa -withAttribute.ANY_VALUE = object() - -def withClass(classname, namespace=''): - """ - Simplified version of C{L{withAttribute}} when matching on a div class - made - difficult because C{class} is a reserved word in Python. - - Example:: - html = ''' - <div> - Some text - <div class="grid">1 4 0 1 0</div> - <div class="graph">1,3 2,3 1,1</div> - <div>this <div> has no class</div> - </div> - - ''' - div,div_end = makeHTMLTags("div") - div_grid = div().setParseAction(withClass("grid")) - - grid_expr = div_grid + SkipTo(div | div_end)("body") - for grid_header in grid_expr.searchString(html): - print(grid_header.body) - - div_any_type = div().setParseAction(withClass(withAttribute.ANY_VALUE)) - div_expr = div_any_type + SkipTo(div | div_end)("body") - for div_header in div_expr.searchString(html): - print(div_header.body) - prints:: - 1 4 0 1 0 - - 1 4 0 1 0 - 1,3 2,3 1,1 - """ - classattr = "%s:class" % namespace if namespace else "class" - return withAttribute(**{classattr : classname}) - -opAssoc = _Constants() -opAssoc.LEFT = object() -opAssoc.RIGHT = object() - -def infixNotation( baseExpr, opList, lpar=Suppress('('), rpar=Suppress(')') ): - """ - Helper method for constructing grammars of expressions made up of - operators working in a precedence hierarchy. Operators may be unary or - binary, left- or right-associative. Parse actions can also be attached - to operator expressions. The generated parser will also recognize the use - of parentheses to override operator precedences (see example below). - - Note: if you define a deep operator list, you may see performance issues - when using infixNotation. See L{ParserElement.enablePackrat} for a - mechanism to potentially improve your parser performance. - - Parameters: - - baseExpr - expression representing the most basic element for the nested - - opList - list of tuples, one for each operator precedence level in the - expression grammar; each tuple is of the form - (opExpr, numTerms, rightLeftAssoc, parseAction), where: - - opExpr is the pyparsing expression for the operator; - may also be a string, which will be converted to a Literal; - if numTerms is 3, opExpr is a tuple of two expressions, for the - two operators separating the 3 terms - - numTerms is the number of terms for this operator (must - be 1, 2, or 3) - - rightLeftAssoc is the indicator whether the operator is - right or left associative, using the pyparsing-defined - constants C{opAssoc.RIGHT} and C{opAssoc.LEFT}. - - parseAction is the parse action to be associated with - expressions matching this operator expression (the - parse action tuple member may be omitted); if the parse action - is passed a tuple or list of functions, this is equivalent to - calling C{setParseAction(*fn)} (L{ParserElement.setParseAction}) - - lpar - expression for matching left-parentheses (default=C{Suppress('(')}) - - rpar - expression for matching right-parentheses (default=C{Suppress(')')}) - - Example:: - # simple example of four-function arithmetic with ints and variable names - integer = pyparsing_common.signed_integer - varname = pyparsing_common.identifier - - arith_expr = infixNotation(integer | varname, - [ - ('-', 1, opAssoc.RIGHT), - (oneOf('* /'), 2, opAssoc.LEFT), - (oneOf('+ -'), 2, opAssoc.LEFT), - ]) - - arith_expr.runTests(''' - 5+3*6 - (5+3)*6 - -2--11 - ''', fullDump=False) - prints:: - 5+3*6 - [[5, '+', [3, '*', 6]]] - - (5+3)*6 - [[[5, '+', 3], '*', 6]] - - -2--11 - [[['-', 2], '-', ['-', 11]]] - """ - ret = Forward() - lastExpr = baseExpr | ( lpar + ret + rpar ) - for i,operDef in enumerate(opList): - opExpr,arity,rightLeftAssoc,pa = (operDef + (None,))[:4] - termName = "%s term" % opExpr if arity < 3 else "%s%s term" % opExpr - if arity == 3: - if opExpr is None or len(opExpr) != 2: - raise ValueError("if numterms=3, opExpr must be a tuple or list of two expressions") - opExpr1, opExpr2 = opExpr - thisExpr = Forward().setName(termName) - if rightLeftAssoc == opAssoc.LEFT: - if arity == 1: - matchExpr = FollowedBy(lastExpr + opExpr) + Group( lastExpr + OneOrMore( opExpr ) ) - elif arity == 2: - if opExpr is not None: - matchExpr = FollowedBy(lastExpr + opExpr + lastExpr) + Group( lastExpr + OneOrMore( opExpr + lastExpr ) ) - else: - matchExpr = FollowedBy(lastExpr+lastExpr) + Group( lastExpr + OneOrMore(lastExpr) ) - elif arity == 3: - matchExpr = FollowedBy(lastExpr + opExpr1 + lastExpr + opExpr2 + lastExpr) + \ - Group( lastExpr + opExpr1 + lastExpr + opExpr2 + lastExpr ) - else: - raise ValueError("operator must be unary (1), binary (2), or ternary (3)") - elif rightLeftAssoc == opAssoc.RIGHT: - if arity == 1: - # try to avoid LR with this extra test - if not isinstance(opExpr, Optional): - opExpr = Optional(opExpr) - matchExpr = FollowedBy(opExpr.expr + thisExpr) + Group( opExpr + thisExpr ) - elif arity == 2: - if opExpr is not None: - matchExpr = FollowedBy(lastExpr + opExpr + thisExpr) + Group( lastExpr + OneOrMore( opExpr + thisExpr ) ) - else: - matchExpr = FollowedBy(lastExpr + thisExpr) + Group( lastExpr + OneOrMore( thisExpr ) ) - elif arity == 3: - matchExpr = FollowedBy(lastExpr + opExpr1 + thisExpr + opExpr2 + thisExpr) + \ - Group( lastExpr + opExpr1 + thisExpr + opExpr2 + thisExpr ) - else: - raise ValueError("operator must be unary (1), binary (2), or ternary (3)") - else: - raise ValueError("operator must indicate right or left associativity") - if pa: - if isinstance(pa, (tuple, list)): - matchExpr.setParseAction(*pa) - else: - matchExpr.setParseAction(pa) - thisExpr <<= ( matchExpr.setName(termName) | lastExpr ) - lastExpr = thisExpr - ret <<= lastExpr - return ret - -operatorPrecedence = infixNotation -"""(Deprecated) Former name of C{L{infixNotation}}, will be dropped in a future release.""" - -dblQuotedString = Combine(Regex(r'"(?:[^"\n\r\\]|(?:"")|(?:\\(?:[^x]|x[0-9a-fA-F]+)))*')+'"').setName("string enclosed in double quotes") -sglQuotedString = Combine(Regex(r"'(?:[^'\n\r\\]|(?:'')|(?:\\(?:[^x]|x[0-9a-fA-F]+)))*")+"'").setName("string enclosed in single quotes") -quotedString = Combine(Regex(r'"(?:[^"\n\r\\]|(?:"")|(?:\\(?:[^x]|x[0-9a-fA-F]+)))*')+'"'| - Regex(r"'(?:[^'\n\r\\]|(?:'')|(?:\\(?:[^x]|x[0-9a-fA-F]+)))*")+"'").setName("quotedString using single or double quotes") -unicodeString = Combine(_L('u') + quotedString.copy()).setName("unicode string literal") - -def nestedExpr(opener="(", closer=")", content=None, ignoreExpr=quotedString.copy()): - """ - Helper method for defining nested lists enclosed in opening and closing - delimiters ("(" and ")" are the default). - - Parameters: - - opener - opening character for a nested list (default=C{"("}); can also be a pyparsing expression - - closer - closing character for a nested list (default=C{")"}); can also be a pyparsing expression - - content - expression for items within the nested lists (default=C{None}) - - ignoreExpr - expression for ignoring opening and closing delimiters (default=C{quotedString}) - - If an expression is not provided for the content argument, the nested - expression will capture all whitespace-delimited content between delimiters - as a list of separate values. - - Use the C{ignoreExpr} argument to define expressions that may contain - opening or closing characters that should not be treated as opening - or closing characters for nesting, such as quotedString or a comment - expression. Specify multiple expressions using an C{L{Or}} or C{L{MatchFirst}}. - The default is L{quotedString}, but if no expressions are to be ignored, - then pass C{None} for this argument. - - Example:: - data_type = oneOf("void int short long char float double") - decl_data_type = Combine(data_type + Optional(Word('*'))) - ident = Word(alphas+'_', alphanums+'_') - number = pyparsing_common.number - arg = Group(decl_data_type + ident) - LPAR,RPAR = map(Suppress, "()") - - code_body = nestedExpr('{', '}', ignoreExpr=(quotedString | cStyleComment)) - - c_function = (decl_data_type("type") - + ident("name") - + LPAR + Optional(delimitedList(arg), [])("args") + RPAR - + code_body("body")) - c_function.ignore(cStyleComment) - - source_code = ''' - int is_odd(int x) { - return (x%2); - } - - int dec_to_hex(char hchar) { - if (hchar >= '0' && hchar <= '9') { - return (ord(hchar)-ord('0')); - } else { - return (10+ord(hchar)-ord('A')); - } - } - ''' - for func in c_function.searchString(source_code): - print("%(name)s (%(type)s) args: %(args)s" % func) - - prints:: - is_odd (int) args: [['int', 'x']] - dec_to_hex (int) args: [['char', 'hchar']] - """ - if opener == closer: - raise ValueError("opening and closing strings cannot be the same") - if content is None: - if isinstance(opener,basestring) and isinstance(closer,basestring): - if len(opener) == 1 and len(closer)==1: - if ignoreExpr is not None: - content = (Combine(OneOrMore(~ignoreExpr + - CharsNotIn(opener+closer+ParserElement.DEFAULT_WHITE_CHARS,exact=1)) - ).setParseAction(lambda t:t[0].strip())) - else: - content = (empty.copy()+CharsNotIn(opener+closer+ParserElement.DEFAULT_WHITE_CHARS - ).setParseAction(lambda t:t[0].strip())) - else: - if ignoreExpr is not None: - content = (Combine(OneOrMore(~ignoreExpr + - ~Literal(opener) + ~Literal(closer) + - CharsNotIn(ParserElement.DEFAULT_WHITE_CHARS,exact=1)) - ).setParseAction(lambda t:t[0].strip())) - else: - content = (Combine(OneOrMore(~Literal(opener) + ~Literal(closer) + - CharsNotIn(ParserElement.DEFAULT_WHITE_CHARS,exact=1)) - ).setParseAction(lambda t:t[0].strip())) - else: - raise ValueError("opening and closing arguments must be strings if no content expression is given") - ret = Forward() - if ignoreExpr is not None: - ret <<= Group( Suppress(opener) + ZeroOrMore( ignoreExpr | ret | content ) + Suppress(closer) ) - else: - ret <<= Group( Suppress(opener) + ZeroOrMore( ret | content ) + Suppress(closer) ) - ret.setName('nested %s%s expression' % (opener,closer)) - return ret - -def indentedBlock(blockStatementExpr, indentStack, indent=True): - """ - Helper method for defining space-delimited indentation blocks, such as - those used to define block statements in Python source code. - - Parameters: - - blockStatementExpr - expression defining syntax of statement that - is repeated within the indented block - - indentStack - list created by caller to manage indentation stack - (multiple statementWithIndentedBlock expressions within a single grammar - should share a common indentStack) - - indent - boolean indicating whether block must be indented beyond the - the current level; set to False for block of left-most statements - (default=C{True}) - - A valid block must contain at least one C{blockStatement}. - - Example:: - data = ''' - def A(z): - A1 - B = 100 - G = A2 - A2 - A3 - B - def BB(a,b,c): - BB1 - def BBA(): - bba1 - bba2 - bba3 - C - D - def spam(x,y): - def eggs(z): - pass - ''' - - - indentStack = [1] - stmt = Forward() - - identifier = Word(alphas, alphanums) - funcDecl = ("def" + identifier + Group( "(" + Optional( delimitedList(identifier) ) + ")" ) + ":") - func_body = indentedBlock(stmt, indentStack) - funcDef = Group( funcDecl + func_body ) - - rvalue = Forward() - funcCall = Group(identifier + "(" + Optional(delimitedList(rvalue)) + ")") - rvalue << (funcCall | identifier | Word(nums)) - assignment = Group(identifier + "=" + rvalue) - stmt << ( funcDef | assignment | identifier ) - - module_body = OneOrMore(stmt) - - parseTree = module_body.parseString(data) - parseTree.pprint() - prints:: - [['def', - 'A', - ['(', 'z', ')'], - ':', - [['A1'], [['B', '=', '100']], [['G', '=', 'A2']], ['A2'], ['A3']]], - 'B', - ['def', - 'BB', - ['(', 'a', 'b', 'c', ')'], - ':', - [['BB1'], [['def', 'BBA', ['(', ')'], ':', [['bba1'], ['bba2'], ['bba3']]]]]], - 'C', - 'D', - ['def', - 'spam', - ['(', 'x', 'y', ')'], - ':', - [[['def', 'eggs', ['(', 'z', ')'], ':', [['pass']]]]]]] - """ - def checkPeerIndent(s,l,t): - if l >= len(s): return - curCol = col(l,s) - if curCol != indentStack[-1]: - if curCol > indentStack[-1]: - raise ParseFatalException(s,l,"illegal nesting") - raise ParseException(s,l,"not a peer entry") - - def checkSubIndent(s,l,t): - curCol = col(l,s) - if curCol > indentStack[-1]: - indentStack.append( curCol ) - else: - raise ParseException(s,l,"not a subentry") - - def checkUnindent(s,l,t): - if l >= len(s): return - curCol = col(l,s) - if not(indentStack and curCol < indentStack[-1] and curCol <= indentStack[-2]): - raise ParseException(s,l,"not an unindent") - indentStack.pop() - - NL = OneOrMore(LineEnd().setWhitespaceChars("\t ").suppress()) - INDENT = (Empty() + Empty().setParseAction(checkSubIndent)).setName('INDENT') - PEER = Empty().setParseAction(checkPeerIndent).setName('') - UNDENT = Empty().setParseAction(checkUnindent).setName('UNINDENT') - if indent: - smExpr = Group( Optional(NL) + - #~ FollowedBy(blockStatementExpr) + - INDENT + (OneOrMore( PEER + Group(blockStatementExpr) + Optional(NL) )) + UNDENT) - else: - smExpr = Group( Optional(NL) + - (OneOrMore( PEER + Group(blockStatementExpr) + Optional(NL) )) ) - blockStatementExpr.ignore(_bslash + LineEnd()) - return smExpr.setName('indented block') - -alphas8bit = srange(r"[\0xc0-\0xd6\0xd8-\0xf6\0xf8-\0xff]") -punc8bit = srange(r"[\0xa1-\0xbf\0xd7\0xf7]") - -anyOpenTag,anyCloseTag = makeHTMLTags(Word(alphas,alphanums+"_:").setName('any tag')) -_htmlEntityMap = dict(zip("gt lt amp nbsp quot apos".split(),'><& "\'')) -commonHTMLEntity = Regex('&(?P<entity>' + '|'.join(_htmlEntityMap.keys()) +");").setName("common HTML entity") -def replaceHTMLEntity(t): - """Helper parser action to replace common HTML entities with their special characters""" - return _htmlEntityMap.get(t.entity) - -# it's easy to get these comment structures wrong - they're very common, so may as well make them available -cStyleComment = Combine(Regex(r"/\*(?:[^*]|\*(?!/))*") + '*/').setName("C style comment") -"Comment of the form C{/* ... */}" - -htmlComment = Regex(r"<!--[\s\S]*?-->").setName("HTML comment") -"Comment of the form C{<!-- ... -->}" - -restOfLine = Regex(r".*").leaveWhitespace().setName("rest of line") -dblSlashComment = Regex(r"//(?:\\\n|[^\n])*").setName("// comment") -"Comment of the form C{// ... (to end of line)}" - -cppStyleComment = Combine(Regex(r"/\*(?:[^*]|\*(?!/))*") + '*/'| dblSlashComment).setName("C++ style comment") -"Comment of either form C{L{cStyleComment}} or C{L{dblSlashComment}}" - -javaStyleComment = cppStyleComment -"Same as C{L{cppStyleComment}}" - -pythonStyleComment = Regex(r"#.*").setName("Python style comment") -"Comment of the form C{# ... (to end of line)}" - -_commasepitem = Combine(OneOrMore(Word(printables, excludeChars=',') + - Optional( Word(" \t") + - ~Literal(",") + ~LineEnd() ) ) ).streamline().setName("commaItem") -commaSeparatedList = delimitedList( Optional( quotedString.copy() | _commasepitem, default="") ).setName("commaSeparatedList") -"""(Deprecated) Predefined expression of 1 or more printable words or quoted strings, separated by commas. - This expression is deprecated in favor of L{pyparsing_common.comma_separated_list}.""" - -# some other useful expressions - using lower-case class name since we are really using this as a namespace -class pyparsing_common: - """ - Here are some common low-level expressions that may be useful in jump-starting parser development: - - numeric forms (L{integers<integer>}, L{reals<real>}, L{scientific notation<sci_real>}) - - common L{programming identifiers<identifier>} - - network addresses (L{MAC<mac_address>}, L{IPv4<ipv4_address>}, L{IPv6<ipv6_address>}) - - ISO8601 L{dates<iso8601_date>} and L{datetime<iso8601_datetime>} - - L{UUID<uuid>} - - L{comma-separated list<comma_separated_list>} - Parse actions: - - C{L{convertToInteger}} - - C{L{convertToFloat}} - - C{L{convertToDate}} - - C{L{convertToDatetime}} - - C{L{stripHTMLTags}} - - C{L{upcaseTokens}} - - C{L{downcaseTokens}} - - Example:: - pyparsing_common.number.runTests(''' - # any int or real number, returned as the appropriate type - 100 - -100 - +100 - 3.14159 - 6.02e23 - 1e-12 - ''') - - pyparsing_common.fnumber.runTests(''' - # any int or real number, returned as float - 100 - -100 - +100 - 3.14159 - 6.02e23 - 1e-12 - ''') - - pyparsing_common.hex_integer.runTests(''' - # hex numbers - 100 - FF - ''') - - pyparsing_common.fraction.runTests(''' - # fractions - 1/2 - -3/4 - ''') - - pyparsing_common.mixed_integer.runTests(''' - # mixed fractions - 1 - 1/2 - -3/4 - 1-3/4 - ''') - - import uuid - pyparsing_common.uuid.setParseAction(tokenMap(uuid.UUID)) - pyparsing_common.uuid.runTests(''' - # uuid - 12345678-1234-5678-1234-567812345678 - ''') - prints:: - # any int or real number, returned as the appropriate type - 100 - [100] - - -100 - [-100] - - +100 - [100] - - 3.14159 - [3.14159] - - 6.02e23 - [6.02e+23] - - 1e-12 - [1e-12] - - # any int or real number, returned as float - 100 - [100.0] - - -100 - [-100.0] - - +100 - [100.0] - - 3.14159 - [3.14159] - - 6.02e23 - [6.02e+23] - - 1e-12 - [1e-12] - - # hex numbers - 100 - [256] - - FF - [255] - - # fractions - 1/2 - [0.5] - - -3/4 - [-0.75] - - # mixed fractions - 1 - [1] - - 1/2 - [0.5] - - -3/4 - [-0.75] - - 1-3/4 - [1.75] - - # uuid - 12345678-1234-5678-1234-567812345678 - [UUID('12345678-1234-5678-1234-567812345678')] - """ - - convertToInteger = tokenMap(int) - """ - Parse action for converting parsed integers to Python int - """ - - convertToFloat = tokenMap(float) - """ - Parse action for converting parsed numbers to Python float - """ - - integer = Word(nums).setName("integer").setParseAction(convertToInteger) - """expression that parses an unsigned integer, returns an int""" - - hex_integer = Word(hexnums).setName("hex integer").setParseAction(tokenMap(int,16)) - """expression that parses a hexadecimal integer, returns an int""" - - signed_integer = Regex(r'[+-]?\d+').setName("signed integer").setParseAction(convertToInteger) - """expression that parses an integer with optional leading sign, returns an int""" - - fraction = (signed_integer().setParseAction(convertToFloat) + '/' + signed_integer().setParseAction(convertToFloat)).setName("fraction") - """fractional expression of an integer divided by an integer, returns a float""" - fraction.addParseAction(lambda t: t[0]/t[-1]) - - mixed_integer = (fraction | signed_integer + Optional(Optional('-').suppress() + fraction)).setName("fraction or mixed integer-fraction") - """mixed integer of the form 'integer - fraction', with optional leading integer, returns float""" - mixed_integer.addParseAction(sum) - - real = Regex(r'[+-]?\d+\.\d*').setName("real number").setParseAction(convertToFloat) - """expression that parses a floating point number and returns a float""" - - sci_real = Regex(r'[+-]?\d+([eE][+-]?\d+|\.\d*([eE][+-]?\d+)?)').setName("real number with scientific notation").setParseAction(convertToFloat) - """expression that parses a floating point number with optional scientific notation and returns a float""" - - # streamlining this expression makes the docs nicer-looking - number = (sci_real | real | signed_integer).streamline() - """any numeric expression, returns the corresponding Python type""" - - fnumber = Regex(r'[+-]?\d+\.?\d*([eE][+-]?\d+)?').setName("fnumber").setParseAction(convertToFloat) - """any int or real number, returned as float""" - - identifier = Word(alphas+'_', alphanums+'_').setName("identifier") - """typical code identifier (leading alpha or '_', followed by 0 or more alphas, nums, or '_')""" - - ipv4_address = Regex(r'(25[0-5]|2[0-4][0-9]|1?[0-9]{1,2})(\.(25[0-5]|2[0-4][0-9]|1?[0-9]{1,2})){3}').setName("IPv4 address") - "IPv4 address (C{0.0.0.0 - 255.255.255.255})" - - _ipv6_part = Regex(r'[0-9a-fA-F]{1,4}').setName("hex_integer") - _full_ipv6_address = (_ipv6_part + (':' + _ipv6_part)*7).setName("full IPv6 address") - _short_ipv6_address = (Optional(_ipv6_part + (':' + _ipv6_part)*(0,6)) + "::" + Optional(_ipv6_part + (':' + _ipv6_part)*(0,6))).setName("short IPv6 address") - _short_ipv6_address.addCondition(lambda t: sum(1 for tt in t if pyparsing_common._ipv6_part.matches(tt)) < 8) - _mixed_ipv6_address = ("::ffff:" + ipv4_address).setName("mixed IPv6 address") - ipv6_address = Combine((_full_ipv6_address | _mixed_ipv6_address | _short_ipv6_address).setName("IPv6 address")).setName("IPv6 address") - "IPv6 address (long, short, or mixed form)" - - mac_address = Regex(r'[0-9a-fA-F]{2}([:.-])[0-9a-fA-F]{2}(?:\1[0-9a-fA-F]{2}){4}').setName("MAC address") - "MAC address xx:xx:xx:xx:xx (may also have '-' or '.' delimiters)" - - @staticmethod - def convertToDate(fmt="%Y-%m-%d"): - """ - Helper to create a parse action for converting parsed date string to Python datetime.date - - Params - - - fmt - format to be passed to datetime.strptime (default=C{"%Y-%m-%d"}) - - Example:: - date_expr = pyparsing_common.iso8601_date.copy() - date_expr.setParseAction(pyparsing_common.convertToDate()) - print(date_expr.parseString("1999-12-31")) - prints:: - [datetime.date(1999, 12, 31)] - """ - def cvt_fn(s,l,t): - try: - return datetime.strptime(t[0], fmt).date() - except ValueError as ve: - raise ParseException(s, l, str(ve)) - return cvt_fn - - @staticmethod - def convertToDatetime(fmt="%Y-%m-%dT%H:%M:%S.%f"): - """ - Helper to create a parse action for converting parsed datetime string to Python datetime.datetime - - Params - - - fmt - format to be passed to datetime.strptime (default=C{"%Y-%m-%dT%H:%M:%S.%f"}) - - Example:: - dt_expr = pyparsing_common.iso8601_datetime.copy() - dt_expr.setParseAction(pyparsing_common.convertToDatetime()) - print(dt_expr.parseString("1999-12-31T23:59:59.999")) - prints:: - [datetime.datetime(1999, 12, 31, 23, 59, 59, 999000)] - """ - def cvt_fn(s,l,t): - try: - return datetime.strptime(t[0], fmt) - except ValueError as ve: - raise ParseException(s, l, str(ve)) - return cvt_fn - - iso8601_date = Regex(r'(?P<year>\d{4})(?:-(?P<month>\d\d)(?:-(?P<day>\d\d))?)?').setName("ISO8601 date") - "ISO8601 date (C{yyyy-mm-dd})" - - iso8601_datetime = Regex(r'(?P<year>\d{4})-(?P<month>\d\d)-(?P<day>\d\d)[T ](?P<hour>\d\d):(?P<minute>\d\d)(:(?P<second>\d\d(\.\d*)?)?)?(?P<tz>Z|[+-]\d\d:?\d\d)?').setName("ISO8601 datetime") - "ISO8601 datetime (C{yyyy-mm-ddThh:mm:ss.s(Z|+-00:00)}) - trailing seconds, milliseconds, and timezone optional; accepts separating C{'T'} or C{' '}" - - uuid = Regex(r'[0-9a-fA-F]{8}(-[0-9a-fA-F]{4}){3}-[0-9a-fA-F]{12}').setName("UUID") - "UUID (C{xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx})" - - _html_stripper = anyOpenTag.suppress() | anyCloseTag.suppress() - @staticmethod - def stripHTMLTags(s, l, tokens): - """ - Parse action to remove HTML tags from web page HTML source - - Example:: - # strip HTML links from normal text - text = '<td>More info at the <a href="http://pyparsing.wikispaces.com">pyparsing</a> wiki page</td>' - td,td_end = makeHTMLTags("TD") - table_text = td + SkipTo(td_end).setParseAction(pyparsing_common.stripHTMLTags)("body") + td_end - - print(table_text.parseString(text).body) # -> 'More info at the pyparsing wiki page' - """ - return pyparsing_common._html_stripper.transformString(tokens[0]) - - _commasepitem = Combine(OneOrMore(~Literal(",") + ~LineEnd() + Word(printables, excludeChars=',') - + Optional( White(" \t") ) ) ).streamline().setName("commaItem") - comma_separated_list = delimitedList( Optional( quotedString.copy() | _commasepitem, default="") ).setName("comma separated list") - """Predefined expression of 1 or more printable words or quoted strings, separated by commas.""" - - upcaseTokens = staticmethod(tokenMap(lambda t: _ustr(t).upper())) - """Parse action to convert tokens to upper case.""" - - downcaseTokens = staticmethod(tokenMap(lambda t: _ustr(t).lower())) - """Parse action to convert tokens to lower case.""" - - -if __name__ == "__main__": - - selectToken = CaselessLiteral("select") - fromToken = CaselessLiteral("from") - - ident = Word(alphas, alphanums + "_$") - - columnName = delimitedList(ident, ".", combine=True).setParseAction(upcaseTokens) - columnNameList = Group(delimitedList(columnName)).setName("columns") - columnSpec = ('*' | columnNameList) - - tableName = delimitedList(ident, ".", combine=True).setParseAction(upcaseTokens) - tableNameList = Group(delimitedList(tableName)).setName("tables") - - simpleSQL = selectToken("command") + columnSpec("columns") + fromToken + tableNameList("tables") - - # demo runTests method, including embedded comments in test string - simpleSQL.runTests(""" - # '*' as column list and dotted table name - select * from SYS.XYZZY - - # caseless match on "SELECT", and casts back to "select" - SELECT * from XYZZY, ABC - - # list of column names, and mixed case SELECT keyword - Select AA,BB,CC from Sys.dual - - # multiple tables - Select A, B, C from Sys.dual, Table2 - - # invalid SELECT keyword - should fail - Xelect A, B, C from Sys.dual - - # incomplete command - should fail - Select - - # invalid column name - should fail - Select ^^^ frox Sys.dual - - """) - - pyparsing_common.number.runTests(""" - 100 - -100 - +100 - 3.14159 - 6.02e23 - 1e-12 - """) - - # any int or real number, returned as float - pyparsing_common.fnumber.runTests(""" - 100 - -100 - +100 - 3.14159 - 6.02e23 - 1e-12 - """) - - pyparsing_common.hex_integer.runTests(""" - 100 - FF - """) - - import uuid - pyparsing_common.uuid.setParseAction(tokenMap(uuid.UUID)) - pyparsing_common.uuid.runTests(""" - 12345678-1234-5678-1234-567812345678 - """) diff --git a/.venv/lib/python3.8/site-packages/setuptools/_vendor/six.py b/.venv/lib/python3.8/site-packages/setuptools/_vendor/six.py deleted file mode 100644 index 190c023..0000000 --- a/.venv/lib/python3.8/site-packages/setuptools/_vendor/six.py +++ /dev/null @@ -1,868 +0,0 @@ -"""Utilities for writing code that runs on Python 2 and 3""" - -# Copyright (c) 2010-2015 Benjamin Peterson -# -# Permission is hereby granted, free of charge, to any person obtaining a copy -# of this software and associated documentation files (the "Software"), to deal -# in the Software without restriction, including without limitation the rights -# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -# copies of the Software, and to permit persons to whom the Software is -# furnished to do so, subject to the following conditions: -# -# The above copyright notice and this permission notice shall be included in all -# copies or substantial portions of the Software. -# -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -# SOFTWARE. - -from __future__ import absolute_import - -import functools -import itertools -import operator -import sys -import types - -__author__ = "Benjamin Peterson <benjamin@python.org>" -__version__ = "1.10.0" - - -# Useful for very coarse version differentiation. -PY2 = sys.version_info[0] == 2 -PY3 = sys.version_info[0] == 3 -PY34 = sys.version_info[0:2] >= (3, 4) - -if PY3: - string_types = str, - integer_types = int, - class_types = type, - text_type = str - binary_type = bytes - - MAXSIZE = sys.maxsize -else: - string_types = basestring, - integer_types = (int, long) - class_types = (type, types.ClassType) - text_type = unicode - binary_type = str - - if sys.platform.startswith("java"): - # Jython always uses 32 bits. - MAXSIZE = int((1 << 31) - 1) - else: - # It's possible to have sizeof(long) != sizeof(Py_ssize_t). - class X(object): - - def __len__(self): - return 1 << 31 - try: - len(X()) - except OverflowError: - # 32-bit - MAXSIZE = int((1 << 31) - 1) - else: - # 64-bit - MAXSIZE = int((1 << 63) - 1) - del X - - -def _add_doc(func, doc): - """Add documentation to a function.""" - func.__doc__ = doc - - -def _import_module(name): - """Import module, returning the module after the last dot.""" - __import__(name) - return sys.modules[name] - - -class _LazyDescr(object): - - def __init__(self, name): - self.name = name - - def __get__(self, obj, tp): - result = self._resolve() - setattr(obj, self.name, result) # Invokes __set__. - try: - # This is a bit ugly, but it avoids running this again by - # removing this descriptor. - delattr(obj.__class__, self.name) - except AttributeError: - pass - return result - - -class MovedModule(_LazyDescr): - - def __init__(self, name, old, new=None): - super(MovedModule, self).__init__(name) - if PY3: - if new is None: - new = name - self.mod = new - else: - self.mod = old - - def _resolve(self): - return _import_module(self.mod) - - def __getattr__(self, attr): - _module = self._resolve() - value = getattr(_module, attr) - setattr(self, attr, value) - return value - - -class _LazyModule(types.ModuleType): - - def __init__(self, name): - super(_LazyModule, self).__init__(name) - self.__doc__ = self.__class__.__doc__ - - def __dir__(self): - attrs = ["__doc__", "__name__"] - attrs += [attr.name for attr in self._moved_attributes] - return attrs - - # Subclasses should override this - _moved_attributes = [] - - -class MovedAttribute(_LazyDescr): - - def __init__(self, name, old_mod, new_mod, old_attr=None, new_attr=None): - super(MovedAttribute, self).__init__(name) - if PY3: - if new_mod is None: - new_mod = name - self.mod = new_mod - if new_attr is None: - if old_attr is None: - new_attr = name - else: - new_attr = old_attr - self.attr = new_attr - else: - self.mod = old_mod - if old_attr is None: - old_attr = name - self.attr = old_attr - - def _resolve(self): - module = _import_module(self.mod) - return getattr(module, self.attr) - - -class _SixMetaPathImporter(object): - - """ - A meta path importer to import six.moves and its submodules. - - This class implements a PEP302 finder and loader. It should be compatible - with Python 2.5 and all existing versions of Python3 - """ - - def __init__(self, six_module_name): - self.name = six_module_name - self.known_modules = {} - - def _add_module(self, mod, *fullnames): - for fullname in fullnames: - self.known_modules[self.name + "." + fullname] = mod - - def _get_module(self, fullname): - return self.known_modules[self.name + "." + fullname] - - def find_module(self, fullname, path=None): - if fullname in self.known_modules: - return self - return None - - def __get_module(self, fullname): - try: - return self.known_modules[fullname] - except KeyError: - raise ImportError("This loader does not know module " + fullname) - - def load_module(self, fullname): - try: - # in case of a reload - return sys.modules[fullname] - except KeyError: - pass - mod = self.__get_module(fullname) - if isinstance(mod, MovedModule): - mod = mod._resolve() - else: - mod.__loader__ = self - sys.modules[fullname] = mod - return mod - - def is_package(self, fullname): - """ - Return true, if the named module is a package. - - We need this method to get correct spec objects with - Python 3.4 (see PEP451) - """ - return hasattr(self.__get_module(fullname), "__path__") - - def get_code(self, fullname): - """Return None - - Required, if is_package is implemented""" - self.__get_module(fullname) # eventually raises ImportError - return None - get_source = get_code # same as get_code - -_importer = _SixMetaPathImporter(__name__) - - -class _MovedItems(_LazyModule): - - """Lazy loading of moved objects""" - __path__ = [] # mark as package - - -_moved_attributes = [ - MovedAttribute("cStringIO", "cStringIO", "io", "StringIO"), - MovedAttribute("filter", "itertools", "builtins", "ifilter", "filter"), - MovedAttribute("filterfalse", "itertools", "itertools", "ifilterfalse", "filterfalse"), - MovedAttribute("input", "__builtin__", "builtins", "raw_input", "input"), - MovedAttribute("intern", "__builtin__", "sys"), - MovedAttribute("map", "itertools", "builtins", "imap", "map"), - MovedAttribute("getcwd", "os", "os", "getcwdu", "getcwd"), - MovedAttribute("getcwdb", "os", "os", "getcwd", "getcwdb"), - MovedAttribute("range", "__builtin__", "builtins", "xrange", "range"), - MovedAttribute("reload_module", "__builtin__", "importlib" if PY34 else "imp", "reload"), - MovedAttribute("reduce", "__builtin__", "functools"), - MovedAttribute("shlex_quote", "pipes", "shlex", "quote"), - MovedAttribute("StringIO", "StringIO", "io"), - MovedAttribute("UserDict", "UserDict", "collections"), - MovedAttribute("UserList", "UserList", "collections"), - MovedAttribute("UserString", "UserString", "collections"), - MovedAttribute("xrange", "__builtin__", "builtins", "xrange", "range"), - MovedAttribute("zip", "itertools", "builtins", "izip", "zip"), - MovedAttribute("zip_longest", "itertools", "itertools", "izip_longest", "zip_longest"), - MovedModule("builtins", "__builtin__"), - MovedModule("configparser", "ConfigParser"), - MovedModule("copyreg", "copy_reg"), - MovedModule("dbm_gnu", "gdbm", "dbm.gnu"), - MovedModule("_dummy_thread", "dummy_thread", "_dummy_thread"), - MovedModule("http_cookiejar", "cookielib", "http.cookiejar"), - MovedModule("http_cookies", "Cookie", "http.cookies"), - MovedModule("html_entities", "htmlentitydefs", "html.entities"), - MovedModule("html_parser", "HTMLParser", "html.parser"), - MovedModule("http_client", "httplib", "http.client"), - MovedModule("email_mime_multipart", "email.MIMEMultipart", "email.mime.multipart"), - MovedModule("email_mime_nonmultipart", "email.MIMENonMultipart", "email.mime.nonmultipart"), - MovedModule("email_mime_text", "email.MIMEText", "email.mime.text"), - MovedModule("email_mime_base", "email.MIMEBase", "email.mime.base"), - MovedModule("BaseHTTPServer", "BaseHTTPServer", "http.server"), - MovedModule("CGIHTTPServer", "CGIHTTPServer", "http.server"), - MovedModule("SimpleHTTPServer", "SimpleHTTPServer", "http.server"), - MovedModule("cPickle", "cPickle", "pickle"), - MovedModule("queue", "Queue"), - MovedModule("reprlib", "repr"), - MovedModule("socketserver", "SocketServer"), - MovedModule("_thread", "thread", "_thread"), - MovedModule("tkinter", "Tkinter"), - MovedModule("tkinter_dialog", "Dialog", "tkinter.dialog"), - MovedModule("tkinter_filedialog", "FileDialog", "tkinter.filedialog"), - MovedModule("tkinter_scrolledtext", "ScrolledText", "tkinter.scrolledtext"), - MovedModule("tkinter_simpledialog", "SimpleDialog", "tkinter.simpledialog"), - MovedModule("tkinter_tix", "Tix", "tkinter.tix"), - MovedModule("tkinter_ttk", "ttk", "tkinter.ttk"), - MovedModule("tkinter_constants", "Tkconstants", "tkinter.constants"), - MovedModule("tkinter_dnd", "Tkdnd", "tkinter.dnd"), - MovedModule("tkinter_colorchooser", "tkColorChooser", - "tkinter.colorchooser"), - MovedModule("tkinter_commondialog", "tkCommonDialog", - "tkinter.commondialog"), - MovedModule("tkinter_tkfiledialog", "tkFileDialog", "tkinter.filedialog"), - MovedModule("tkinter_font", "tkFont", "tkinter.font"), - MovedModule("tkinter_messagebox", "tkMessageBox", "tkinter.messagebox"), - MovedModule("tkinter_tksimpledialog", "tkSimpleDialog", - "tkinter.simpledialog"), - MovedModule("urllib_parse", __name__ + ".moves.urllib_parse", "urllib.parse"), - MovedModule("urllib_error", __name__ + ".moves.urllib_error", "urllib.error"), - MovedModule("urllib", __name__ + ".moves.urllib", __name__ + ".moves.urllib"), - MovedModule("urllib_robotparser", "robotparser", "urllib.robotparser"), - MovedModule("xmlrpc_client", "xmlrpclib", "xmlrpc.client"), - MovedModule("xmlrpc_server", "SimpleXMLRPCServer", "xmlrpc.server"), -] -# Add windows specific modules. -if sys.platform == "win32": - _moved_attributes += [ - MovedModule("winreg", "_winreg"), - ] - -for attr in _moved_attributes: - setattr(_MovedItems, attr.name, attr) - if isinstance(attr, MovedModule): - _importer._add_module(attr, "moves." + attr.name) -del attr - -_MovedItems._moved_attributes = _moved_attributes - -moves = _MovedItems(__name__ + ".moves") -_importer._add_module(moves, "moves") - - -class Module_six_moves_urllib_parse(_LazyModule): - - """Lazy loading of moved objects in six.moves.urllib_parse""" - - -_urllib_parse_moved_attributes = [ - MovedAttribute("ParseResult", "urlparse", "urllib.parse"), - MovedAttribute("SplitResult", "urlparse", "urllib.parse"), - MovedAttribute("parse_qs", "urlparse", "urllib.parse"), - MovedAttribute("parse_qsl", "urlparse", "urllib.parse"), - MovedAttribute("urldefrag", "urlparse", "urllib.parse"), - MovedAttribute("urljoin", "urlparse", "urllib.parse"), - MovedAttribute("urlparse", "urlparse", "urllib.parse"), - MovedAttribute("urlsplit", "urlparse", "urllib.parse"), - MovedAttribute("urlunparse", "urlparse", "urllib.parse"), - MovedAttribute("urlunsplit", "urlparse", "urllib.parse"), - MovedAttribute("quote", "urllib", "urllib.parse"), - MovedAttribute("quote_plus", "urllib", "urllib.parse"), - MovedAttribute("unquote", "urllib", "urllib.parse"), - MovedAttribute("unquote_plus", "urllib", "urllib.parse"), - MovedAttribute("urlencode", "urllib", "urllib.parse"), - MovedAttribute("splitquery", "urllib", "urllib.parse"), - MovedAttribute("splittag", "urllib", "urllib.parse"), - MovedAttribute("splituser", "urllib", "urllib.parse"), - MovedAttribute("uses_fragment", "urlparse", "urllib.parse"), - MovedAttribute("uses_netloc", "urlparse", "urllib.parse"), - MovedAttribute("uses_params", "urlparse", "urllib.parse"), - MovedAttribute("uses_query", "urlparse", "urllib.parse"), - MovedAttribute("uses_relative", "urlparse", "urllib.parse"), -] -for attr in _urllib_parse_moved_attributes: - setattr(Module_six_moves_urllib_parse, attr.name, attr) -del attr - -Module_six_moves_urllib_parse._moved_attributes = _urllib_parse_moved_attributes - -_importer._add_module(Module_six_moves_urllib_parse(__name__ + ".moves.urllib_parse"), - "moves.urllib_parse", "moves.urllib.parse") - - -class Module_six_moves_urllib_error(_LazyModule): - - """Lazy loading of moved objects in six.moves.urllib_error""" - - -_urllib_error_moved_attributes = [ - MovedAttribute("URLError", "urllib2", "urllib.error"), - MovedAttribute("HTTPError", "urllib2", "urllib.error"), - MovedAttribute("ContentTooShortError", "urllib", "urllib.error"), -] -for attr in _urllib_error_moved_attributes: - setattr(Module_six_moves_urllib_error, attr.name, attr) -del attr - -Module_six_moves_urllib_error._moved_attributes = _urllib_error_moved_attributes - -_importer._add_module(Module_six_moves_urllib_error(__name__ + ".moves.urllib.error"), - "moves.urllib_error", "moves.urllib.error") - - -class Module_six_moves_urllib_request(_LazyModule): - - """Lazy loading of moved objects in six.moves.urllib_request""" - - -_urllib_request_moved_attributes = [ - MovedAttribute("urlopen", "urllib2", "urllib.request"), - MovedAttribute("install_opener", "urllib2", "urllib.request"), - MovedAttribute("build_opener", "urllib2", "urllib.request"), - MovedAttribute("pathname2url", "urllib", "urllib.request"), - MovedAttribute("url2pathname", "urllib", "urllib.request"), - MovedAttribute("getproxies", "urllib", "urllib.request"), - MovedAttribute("Request", "urllib2", "urllib.request"), - MovedAttribute("OpenerDirector", "urllib2", "urllib.request"), - MovedAttribute("HTTPDefaultErrorHandler", "urllib2", "urllib.request"), - MovedAttribute("HTTPRedirectHandler", "urllib2", "urllib.request"), - MovedAttribute("HTTPCookieProcessor", "urllib2", "urllib.request"), - MovedAttribute("ProxyHandler", "urllib2", "urllib.request"), - MovedAttribute("BaseHandler", "urllib2", "urllib.request"), - MovedAttribute("HTTPPasswordMgr", "urllib2", "urllib.request"), - MovedAttribute("HTTPPasswordMgrWithDefaultRealm", "urllib2", "urllib.request"), - MovedAttribute("AbstractBasicAuthHandler", "urllib2", "urllib.request"), - MovedAttribute("HTTPBasicAuthHandler", "urllib2", "urllib.request"), - MovedAttribute("ProxyBasicAuthHandler", "urllib2", "urllib.request"), - MovedAttribute("AbstractDigestAuthHandler", "urllib2", "urllib.request"), - MovedAttribute("HTTPDigestAuthHandler", "urllib2", "urllib.request"), - MovedAttribute("ProxyDigestAuthHandler", "urllib2", "urllib.request"), - MovedAttribute("HTTPHandler", "urllib2", "urllib.request"), - MovedAttribute("HTTPSHandler", "urllib2", "urllib.request"), - MovedAttribute("FileHandler", "urllib2", "urllib.request"), - MovedAttribute("FTPHandler", "urllib2", "urllib.request"), - MovedAttribute("CacheFTPHandler", "urllib2", "urllib.request"), - MovedAttribute("UnknownHandler", "urllib2", "urllib.request"), - MovedAttribute("HTTPErrorProcessor", "urllib2", "urllib.request"), - MovedAttribute("urlretrieve", "urllib", "urllib.request"), - MovedAttribute("urlcleanup", "urllib", "urllib.request"), - MovedAttribute("URLopener", "urllib", "urllib.request"), - MovedAttribute("FancyURLopener", "urllib", "urllib.request"), - MovedAttribute("proxy_bypass", "urllib", "urllib.request"), -] -for attr in _urllib_request_moved_attributes: - setattr(Module_six_moves_urllib_request, attr.name, attr) -del attr - -Module_six_moves_urllib_request._moved_attributes = _urllib_request_moved_attributes - -_importer._add_module(Module_six_moves_urllib_request(__name__ + ".moves.urllib.request"), - "moves.urllib_request", "moves.urllib.request") - - -class Module_six_moves_urllib_response(_LazyModule): - - """Lazy loading of moved objects in six.moves.urllib_response""" - - -_urllib_response_moved_attributes = [ - MovedAttribute("addbase", "urllib", "urllib.response"), - MovedAttribute("addclosehook", "urllib", "urllib.response"), - MovedAttribute("addinfo", "urllib", "urllib.response"), - MovedAttribute("addinfourl", "urllib", "urllib.response"), -] -for attr in _urllib_response_moved_attributes: - setattr(Module_six_moves_urllib_response, attr.name, attr) -del attr - -Module_six_moves_urllib_response._moved_attributes = _urllib_response_moved_attributes - -_importer._add_module(Module_six_moves_urllib_response(__name__ + ".moves.urllib.response"), - "moves.urllib_response", "moves.urllib.response") - - -class Module_six_moves_urllib_robotparser(_LazyModule): - - """Lazy loading of moved objects in six.moves.urllib_robotparser""" - - -_urllib_robotparser_moved_attributes = [ - MovedAttribute("RobotFileParser", "robotparser", "urllib.robotparser"), -] -for attr in _urllib_robotparser_moved_attributes: - setattr(Module_six_moves_urllib_robotparser, attr.name, attr) -del attr - -Module_six_moves_urllib_robotparser._moved_attributes = _urllib_robotparser_moved_attributes - -_importer._add_module(Module_six_moves_urllib_robotparser(__name__ + ".moves.urllib.robotparser"), - "moves.urllib_robotparser", "moves.urllib.robotparser") - - -class Module_six_moves_urllib(types.ModuleType): - - """Create a six.moves.urllib namespace that resembles the Python 3 namespace""" - __path__ = [] # mark as package - parse = _importer._get_module("moves.urllib_parse") - error = _importer._get_module("moves.urllib_error") - request = _importer._get_module("moves.urllib_request") - response = _importer._get_module("moves.urllib_response") - robotparser = _importer._get_module("moves.urllib_robotparser") - - def __dir__(self): - return ['parse', 'error', 'request', 'response', 'robotparser'] - -_importer._add_module(Module_six_moves_urllib(__name__ + ".moves.urllib"), - "moves.urllib") - - -def add_move(move): - """Add an item to six.moves.""" - setattr(_MovedItems, move.name, move) - - -def remove_move(name): - """Remove item from six.moves.""" - try: - delattr(_MovedItems, name) - except AttributeError: - try: - del moves.__dict__[name] - except KeyError: - raise AttributeError("no such move, %r" % (name,)) - - -if PY3: - _meth_func = "__func__" - _meth_self = "__self__" - - _func_closure = "__closure__" - _func_code = "__code__" - _func_defaults = "__defaults__" - _func_globals = "__globals__" -else: - _meth_func = "im_func" - _meth_self = "im_self" - - _func_closure = "func_closure" - _func_code = "func_code" - _func_defaults = "func_defaults" - _func_globals = "func_globals" - - -try: - advance_iterator = next -except NameError: - def advance_iterator(it): - return it.next() -next = advance_iterator - - -try: - callable = callable -except NameError: - def callable(obj): - return any("__call__" in klass.__dict__ for klass in type(obj).__mro__) - - -if PY3: - def get_unbound_function(unbound): - return unbound - - create_bound_method = types.MethodType - - def create_unbound_method(func, cls): - return func - - Iterator = object -else: - def get_unbound_function(unbound): - return unbound.im_func - - def create_bound_method(func, obj): - return types.MethodType(func, obj, obj.__class__) - - def create_unbound_method(func, cls): - return types.MethodType(func, None, cls) - - class Iterator(object): - - def next(self): - return type(self).__next__(self) - - callable = callable -_add_doc(get_unbound_function, - """Get the function out of a possibly unbound function""") - - -get_method_function = operator.attrgetter(_meth_func) -get_method_self = operator.attrgetter(_meth_self) -get_function_closure = operator.attrgetter(_func_closure) -get_function_code = operator.attrgetter(_func_code) -get_function_defaults = operator.attrgetter(_func_defaults) -get_function_globals = operator.attrgetter(_func_globals) - - -if PY3: - def iterkeys(d, **kw): - return iter(d.keys(**kw)) - - def itervalues(d, **kw): - return iter(d.values(**kw)) - - def iteritems(d, **kw): - return iter(d.items(**kw)) - - def iterlists(d, **kw): - return iter(d.lists(**kw)) - - viewkeys = operator.methodcaller("keys") - - viewvalues = operator.methodcaller("values") - - viewitems = operator.methodcaller("items") -else: - def iterkeys(d, **kw): - return d.iterkeys(**kw) - - def itervalues(d, **kw): - return d.itervalues(**kw) - - def iteritems(d, **kw): - return d.iteritems(**kw) - - def iterlists(d, **kw): - return d.iterlists(**kw) - - viewkeys = operator.methodcaller("viewkeys") - - viewvalues = operator.methodcaller("viewvalues") - - viewitems = operator.methodcaller("viewitems") - -_add_doc(iterkeys, "Return an iterator over the keys of a dictionary.") -_add_doc(itervalues, "Return an iterator over the values of a dictionary.") -_add_doc(iteritems, - "Return an iterator over the (key, value) pairs of a dictionary.") -_add_doc(iterlists, - "Return an iterator over the (key, [values]) pairs of a dictionary.") - - -if PY3: - def b(s): - return s.encode("latin-1") - - def u(s): - return s - unichr = chr - import struct - int2byte = struct.Struct(">B").pack - del struct - byte2int = operator.itemgetter(0) - indexbytes = operator.getitem - iterbytes = iter - import io - StringIO = io.StringIO - BytesIO = io.BytesIO - _assertCountEqual = "assertCountEqual" - if sys.version_info[1] <= 1: - _assertRaisesRegex = "assertRaisesRegexp" - _assertRegex = "assertRegexpMatches" - else: - _assertRaisesRegex = "assertRaisesRegex" - _assertRegex = "assertRegex" -else: - def b(s): - return s - # Workaround for standalone backslash - - def u(s): - return unicode(s.replace(r'\\', r'\\\\'), "unicode_escape") - unichr = unichr - int2byte = chr - - def byte2int(bs): - return ord(bs[0]) - - def indexbytes(buf, i): - return ord(buf[i]) - iterbytes = functools.partial(itertools.imap, ord) - import StringIO - StringIO = BytesIO = StringIO.StringIO - _assertCountEqual = "assertItemsEqual" - _assertRaisesRegex = "assertRaisesRegexp" - _assertRegex = "assertRegexpMatches" -_add_doc(b, """Byte literal""") -_add_doc(u, """Text literal""") - - -def assertCountEqual(self, *args, **kwargs): - return getattr(self, _assertCountEqual)(*args, **kwargs) - - -def assertRaisesRegex(self, *args, **kwargs): - return getattr(self, _assertRaisesRegex)(*args, **kwargs) - - -def assertRegex(self, *args, **kwargs): - return getattr(self, _assertRegex)(*args, **kwargs) - - -if PY3: - exec_ = getattr(moves.builtins, "exec") - - def reraise(tp, value, tb=None): - if value is None: - value = tp() - if value.__traceback__ is not tb: - raise value.with_traceback(tb) - raise value - -else: - def exec_(_code_, _globs_=None, _locs_=None): - """Execute code in a namespace.""" - if _globs_ is None: - frame = sys._getframe(1) - _globs_ = frame.f_globals - if _locs_ is None: - _locs_ = frame.f_locals - del frame - elif _locs_ is None: - _locs_ = _globs_ - exec("""exec _code_ in _globs_, _locs_""") - - exec_("""def reraise(tp, value, tb=None): - raise tp, value, tb -""") - - -if sys.version_info[:2] == (3, 2): - exec_("""def raise_from(value, from_value): - if from_value is None: - raise value - raise value from from_value -""") -elif sys.version_info[:2] > (3, 2): - exec_("""def raise_from(value, from_value): - raise value from from_value -""") -else: - def raise_from(value, from_value): - raise value - - -print_ = getattr(moves.builtins, "print", None) -if print_ is None: - def print_(*args, **kwargs): - """The new-style print function for Python 2.4 and 2.5.""" - fp = kwargs.pop("file", sys.stdout) - if fp is None: - return - - def write(data): - if not isinstance(data, basestring): - data = str(data) - # If the file has an encoding, encode unicode with it. - if (isinstance(fp, file) and - isinstance(data, unicode) and - fp.encoding is not None): - errors = getattr(fp, "errors", None) - if errors is None: - errors = "strict" - data = data.encode(fp.encoding, errors) - fp.write(data) - want_unicode = False - sep = kwargs.pop("sep", None) - if sep is not None: - if isinstance(sep, unicode): - want_unicode = True - elif not isinstance(sep, str): - raise TypeError("sep must be None or a string") - end = kwargs.pop("end", None) - if end is not None: - if isinstance(end, unicode): - want_unicode = True - elif not isinstance(end, str): - raise TypeError("end must be None or a string") - if kwargs: - raise TypeError("invalid keyword arguments to print()") - if not want_unicode: - for arg in args: - if isinstance(arg, unicode): - want_unicode = True - break - if want_unicode: - newline = unicode("\n") - space = unicode(" ") - else: - newline = "\n" - space = " " - if sep is None: - sep = space - if end is None: - end = newline - for i, arg in enumerate(args): - if i: - write(sep) - write(arg) - write(end) -if sys.version_info[:2] < (3, 3): - _print = print_ - - def print_(*args, **kwargs): - fp = kwargs.get("file", sys.stdout) - flush = kwargs.pop("flush", False) - _print(*args, **kwargs) - if flush and fp is not None: - fp.flush() - -_add_doc(reraise, """Reraise an exception.""") - -if sys.version_info[0:2] < (3, 4): - def wraps(wrapped, assigned=functools.WRAPPER_ASSIGNMENTS, - updated=functools.WRAPPER_UPDATES): - def wrapper(f): - f = functools.wraps(wrapped, assigned, updated)(f) - f.__wrapped__ = wrapped - return f - return wrapper -else: - wraps = functools.wraps - - -def with_metaclass(meta, *bases): - """Create a base class with a metaclass.""" - # This requires a bit of explanation: the basic idea is to make a dummy - # metaclass for one level of class instantiation that replaces itself with - # the actual metaclass. - class metaclass(meta): - - def __new__(cls, name, this_bases, d): - return meta(name, bases, d) - return type.__new__(metaclass, 'temporary_class', (), {}) - - -def add_metaclass(metaclass): - """Class decorator for creating a class with a metaclass.""" - def wrapper(cls): - orig_vars = cls.__dict__.copy() - slots = orig_vars.get('__slots__') - if slots is not None: - if isinstance(slots, str): - slots = [slots] - for slots_var in slots: - orig_vars.pop(slots_var) - orig_vars.pop('__dict__', None) - orig_vars.pop('__weakref__', None) - return metaclass(cls.__name__, cls.__bases__, orig_vars) - return wrapper - - -def python_2_unicode_compatible(klass): - """ - A decorator that defines __unicode__ and __str__ methods under Python 2. - Under Python 3 it does nothing. - - To support Python 2 and 3 with a single code base, define a __str__ method - returning text and apply this decorator to the class. - """ - if PY2: - if '__str__' not in klass.__dict__: - raise ValueError("@python_2_unicode_compatible cannot be applied " - "to %s because it doesn't define __str__()." % - klass.__name__) - klass.__unicode__ = klass.__str__ - klass.__str__ = lambda self: self.__unicode__().encode('utf-8') - return klass - - -# Complete the moves implementation. -# This code is at the end of this module to speed up module loading. -# Turn this module into a package. -__path__ = [] # required for PEP 302 and PEP 451 -__package__ = __name__ # see PEP 366 @ReservedAssignment -if globals().get("__spec__") is not None: - __spec__.submodule_search_locations = [] # PEP 451 @UndefinedVariable -# Remove other six meta path importers, since they cause problems. This can -# happen if six is removed from sys.modules and then reloaded. (Setuptools does -# this for some reason.) -if sys.meta_path: - for i, importer in enumerate(sys.meta_path): - # Here's some real nastiness: Another "instance" of the six module might - # be floating around. Therefore, we can't use isinstance() to check for - # the six meta path importer, since the other six instance will have - # inserted an importer with different class. - if (type(importer).__name__ == "_SixMetaPathImporter" and - importer.name == __name__): - del sys.meta_path[i] - break - del i, importer -# Finally, add the importer to the meta path import hook. -sys.meta_path.append(_importer) diff --git a/.venv/lib/python3.8/site-packages/setuptools/archive_util.py b/.venv/lib/python3.8/site-packages/setuptools/archive_util.py deleted file mode 100644 index 8143604..0000000 --- a/.venv/lib/python3.8/site-packages/setuptools/archive_util.py +++ /dev/null @@ -1,173 +0,0 @@ -"""Utilities for extracting common archive formats""" - -import zipfile -import tarfile -import os -import shutil -import posixpath -import contextlib -from distutils.errors import DistutilsError - -from pkg_resources import ensure_directory - -__all__ = [ - "unpack_archive", "unpack_zipfile", "unpack_tarfile", "default_filter", - "UnrecognizedFormat", "extraction_drivers", "unpack_directory", -] - - -class UnrecognizedFormat(DistutilsError): - """Couldn't recognize the archive type""" - - -def default_filter(src, dst): - """The default progress/filter callback; returns True for all files""" - return dst - - -def unpack_archive(filename, extract_dir, progress_filter=default_filter, - drivers=None): - """Unpack `filename` to `extract_dir`, or raise ``UnrecognizedFormat`` - - `progress_filter` is a function taking two arguments: a source path - internal to the archive ('/'-separated), and a filesystem path where it - will be extracted. The callback must return the desired extract path - (which may be the same as the one passed in), or else ``None`` to skip - that file or directory. The callback can thus be used to report on the - progress of the extraction, as well as to filter the items extracted or - alter their extraction paths. - - `drivers`, if supplied, must be a non-empty sequence of functions with the - same signature as this function (minus the `drivers` argument), that raise - ``UnrecognizedFormat`` if they do not support extracting the designated - archive type. The `drivers` are tried in sequence until one is found that - does not raise an error, or until all are exhausted (in which case - ``UnrecognizedFormat`` is raised). If you do not supply a sequence of - drivers, the module's ``extraction_drivers`` constant will be used, which - means that ``unpack_zipfile`` and ``unpack_tarfile`` will be tried, in that - order. - """ - for driver in drivers or extraction_drivers: - try: - driver(filename, extract_dir, progress_filter) - except UnrecognizedFormat: - continue - else: - return - else: - raise UnrecognizedFormat( - "Not a recognized archive type: %s" % filename - ) - - -def unpack_directory(filename, extract_dir, progress_filter=default_filter): - """"Unpack" a directory, using the same interface as for archives - - Raises ``UnrecognizedFormat`` if `filename` is not a directory - """ - if not os.path.isdir(filename): - raise UnrecognizedFormat("%s is not a directory" % filename) - - paths = { - filename: ('', extract_dir), - } - for base, dirs, files in os.walk(filename): - src, dst = paths[base] - for d in dirs: - paths[os.path.join(base, d)] = src + d + '/', os.path.join(dst, d) - for f in files: - target = os.path.join(dst, f) - target = progress_filter(src + f, target) - if not target: - # skip non-files - continue - ensure_directory(target) - f = os.path.join(base, f) - shutil.copyfile(f, target) - shutil.copystat(f, target) - - -def unpack_zipfile(filename, extract_dir, progress_filter=default_filter): - """Unpack zip `filename` to `extract_dir` - - Raises ``UnrecognizedFormat`` if `filename` is not a zipfile (as determined - by ``zipfile.is_zipfile()``). See ``unpack_archive()`` for an explanation - of the `progress_filter` argument. - """ - - if not zipfile.is_zipfile(filename): - raise UnrecognizedFormat("%s is not a zip file" % (filename,)) - - with zipfile.ZipFile(filename) as z: - for info in z.infolist(): - name = info.filename - - # don't extract absolute paths or ones with .. in them - if name.startswith('/') or '..' in name.split('/'): - continue - - target = os.path.join(extract_dir, *name.split('/')) - target = progress_filter(name, target) - if not target: - continue - if name.endswith('/'): - # directory - ensure_directory(target) - else: - # file - ensure_directory(target) - data = z.read(info.filename) - with open(target, 'wb') as f: - f.write(data) - unix_attributes = info.external_attr >> 16 - if unix_attributes: - os.chmod(target, unix_attributes) - - -def unpack_tarfile(filename, extract_dir, progress_filter=default_filter): - """Unpack tar/tar.gz/tar.bz2 `filename` to `extract_dir` - - Raises ``UnrecognizedFormat`` if `filename` is not a tarfile (as determined - by ``tarfile.open()``). See ``unpack_archive()`` for an explanation - of the `progress_filter` argument. - """ - try: - tarobj = tarfile.open(filename) - except tarfile.TarError: - raise UnrecognizedFormat( - "%s is not a compressed or uncompressed tar file" % (filename,) - ) - with contextlib.closing(tarobj): - # don't do any chowning! - tarobj.chown = lambda *args: None - for member in tarobj: - name = member.name - # don't extract absolute paths or ones with .. in them - if not name.startswith('/') and '..' not in name.split('/'): - prelim_dst = os.path.join(extract_dir, *name.split('/')) - - # resolve any links and to extract the link targets as normal - # files - while member is not None and (member.islnk() or member.issym()): - linkpath = member.linkname - if member.issym(): - base = posixpath.dirname(member.name) - linkpath = posixpath.join(base, linkpath) - linkpath = posixpath.normpath(linkpath) - member = tarobj._getmember(linkpath) - - if member is not None and (member.isfile() or member.isdir()): - final_dst = progress_filter(name, prelim_dst) - if final_dst: - if final_dst.endswith(os.sep): - final_dst = final_dst[:-1] - try: - # XXX Ugh - tarobj._extract_member(member, final_dst) - except tarfile.ExtractError: - # chown/chmod/mkfifo/mknode/makedev failed - pass - return True - - -extraction_drivers = unpack_directory, unpack_zipfile, unpack_tarfile diff --git a/.venv/lib/python3.8/site-packages/setuptools/build_meta.py b/.venv/lib/python3.8/site-packages/setuptools/build_meta.py deleted file mode 100644 index 10c4b52..0000000 --- a/.venv/lib/python3.8/site-packages/setuptools/build_meta.py +++ /dev/null @@ -1,257 +0,0 @@ -"""A PEP 517 interface to setuptools - -Previously, when a user or a command line tool (let's call it a "frontend") -needed to make a request of setuptools to take a certain action, for -example, generating a list of installation requirements, the frontend would -would call "setup.py egg_info" or "setup.py bdist_wheel" on the command line. - -PEP 517 defines a different method of interfacing with setuptools. Rather -than calling "setup.py" directly, the frontend should: - - 1. Set the current directory to the directory with a setup.py file - 2. Import this module into a safe python interpreter (one in which - setuptools can potentially set global variables or crash hard). - 3. Call one of the functions defined in PEP 517. - -What each function does is defined in PEP 517. However, here is a "casual" -definition of the functions (this definition should not be relied on for -bug reports or API stability): - - - `build_wheel`: build a wheel in the folder and return the basename - - `get_requires_for_build_wheel`: get the `setup_requires` to build - - `prepare_metadata_for_build_wheel`: get the `install_requires` - - `build_sdist`: build an sdist in the folder and return the basename - - `get_requires_for_build_sdist`: get the `setup_requires` to build - -Again, this is not a formal definition! Just a "taste" of the module. -""" - -import io -import os -import sys -import tokenize -import shutil -import contextlib - -import setuptools -import distutils -from setuptools.py31compat import TemporaryDirectory - -from pkg_resources import parse_requirements -from pkg_resources.py31compat import makedirs - -__all__ = ['get_requires_for_build_sdist', - 'get_requires_for_build_wheel', - 'prepare_metadata_for_build_wheel', - 'build_wheel', - 'build_sdist', - '__legacy__', - 'SetupRequirementsError'] - -class SetupRequirementsError(BaseException): - def __init__(self, specifiers): - self.specifiers = specifiers - - -class Distribution(setuptools.dist.Distribution): - def fetch_build_eggs(self, specifiers): - specifier_list = list(map(str, parse_requirements(specifiers))) - - raise SetupRequirementsError(specifier_list) - - @classmethod - @contextlib.contextmanager - def patch(cls): - """ - Replace - distutils.dist.Distribution with this class - for the duration of this context. - """ - orig = distutils.core.Distribution - distutils.core.Distribution = cls - try: - yield - finally: - distutils.core.Distribution = orig - - -def _to_str(s): - """ - Convert a filename to a string (on Python 2, explicitly - a byte string, not Unicode) as distutils checks for the - exact type str. - """ - if sys.version_info[0] == 2 and not isinstance(s, str): - # Assume it's Unicode, as that's what the PEP says - # should be provided. - return s.encode(sys.getfilesystemencoding()) - return s - - -def _get_immediate_subdirectories(a_dir): - return [name for name in os.listdir(a_dir) - if os.path.isdir(os.path.join(a_dir, name))] - - -def _file_with_extension(directory, extension): - matching = ( - f for f in os.listdir(directory) - if f.endswith(extension) - ) - file, = matching - return file - - -def _open_setup_script(setup_script): - if not os.path.exists(setup_script): - # Supply a default setup.py - return io.StringIO(u"from setuptools import setup; setup()") - - return getattr(tokenize, 'open', open)(setup_script) - - -class _BuildMetaBackend(object): - - def _fix_config(self, config_settings): - config_settings = config_settings or {} - config_settings.setdefault('--global-option', []) - return config_settings - - def _get_build_requires(self, config_settings, requirements): - config_settings = self._fix_config(config_settings) - - sys.argv = sys.argv[:1] + ['egg_info'] + \ - config_settings["--global-option"] - try: - with Distribution.patch(): - self.run_setup() - except SetupRequirementsError as e: - requirements += e.specifiers - - return requirements - - def run_setup(self, setup_script='setup.py'): - # Note that we can reuse our build directory between calls - # Correctness comes first, then optimization later - __file__ = setup_script - __name__ = '__main__' - - with _open_setup_script(__file__) as f: - code = f.read().replace(r'\r\n', r'\n') - - exec(compile(code, __file__, 'exec'), locals()) - - def get_requires_for_build_wheel(self, config_settings=None): - config_settings = self._fix_config(config_settings) - return self._get_build_requires(config_settings, requirements=['wheel']) - - def get_requires_for_build_sdist(self, config_settings=None): - config_settings = self._fix_config(config_settings) - return self._get_build_requires(config_settings, requirements=[]) - - def prepare_metadata_for_build_wheel(self, metadata_directory, - config_settings=None): - sys.argv = sys.argv[:1] + ['dist_info', '--egg-base', - _to_str(metadata_directory)] - self.run_setup() - - dist_info_directory = metadata_directory - while True: - dist_infos = [f for f in os.listdir(dist_info_directory) - if f.endswith('.dist-info')] - - if (len(dist_infos) == 0 and - len(_get_immediate_subdirectories(dist_info_directory)) == 1): - - dist_info_directory = os.path.join( - dist_info_directory, os.listdir(dist_info_directory)[0]) - continue - - assert len(dist_infos) == 1 - break - - # PEP 517 requires that the .dist-info directory be placed in the - # metadata_directory. To comply, we MUST copy the directory to the root - if dist_info_directory != metadata_directory: - shutil.move( - os.path.join(dist_info_directory, dist_infos[0]), - metadata_directory) - shutil.rmtree(dist_info_directory, ignore_errors=True) - - return dist_infos[0] - - def _build_with_temp_dir(self, setup_command, result_extension, - result_directory, config_settings): - config_settings = self._fix_config(config_settings) - result_directory = os.path.abspath(result_directory) - - # Build in a temporary directory, then copy to the target. - makedirs(result_directory, exist_ok=True) - with TemporaryDirectory(dir=result_directory) as tmp_dist_dir: - sys.argv = (sys.argv[:1] + setup_command + - ['--dist-dir', tmp_dist_dir] + - config_settings["--global-option"]) - self.run_setup() - - result_basename = _file_with_extension(tmp_dist_dir, result_extension) - result_path = os.path.join(result_directory, result_basename) - if os.path.exists(result_path): - # os.rename will fail overwriting on non-Unix. - os.remove(result_path) - os.rename(os.path.join(tmp_dist_dir, result_basename), result_path) - - return result_basename - - - def build_wheel(self, wheel_directory, config_settings=None, - metadata_directory=None): - return self._build_with_temp_dir(['bdist_wheel'], '.whl', - wheel_directory, config_settings) - - def build_sdist(self, sdist_directory, config_settings=None): - return self._build_with_temp_dir(['sdist', '--formats', 'gztar'], - '.tar.gz', sdist_directory, - config_settings) - - -class _BuildMetaLegacyBackend(_BuildMetaBackend): - """Compatibility backend for setuptools - - This is a version of setuptools.build_meta that endeavors to maintain backwards - compatibility with pre-PEP 517 modes of invocation. It exists as a temporary - bridge between the old packaging mechanism and the new packaging mechanism, - and will eventually be removed. - """ - def run_setup(self, setup_script='setup.py'): - # In order to maintain compatibility with scripts assuming that - # the setup.py script is in a directory on the PYTHONPATH, inject - # '' into sys.path. (pypa/setuptools#1642) - sys_path = list(sys.path) # Save the original path - - script_dir = os.path.dirname(os.path.abspath(setup_script)) - if script_dir not in sys.path: - sys.path.insert(0, script_dir) - - try: - super(_BuildMetaLegacyBackend, - self).run_setup(setup_script=setup_script) - finally: - # While PEP 517 frontends should be calling each hook in a fresh - # subprocess according to the standard (and thus it should not be - # strictly necessary to restore the old sys.path), we'll restore - # the original path so that the path manipulation does not persist - # within the hook after run_setup is called. - sys.path[:] = sys_path - -# The primary backend -_BACKEND = _BuildMetaBackend() - -get_requires_for_build_wheel = _BACKEND.get_requires_for_build_wheel -get_requires_for_build_sdist = _BACKEND.get_requires_for_build_sdist -prepare_metadata_for_build_wheel = _BACKEND.prepare_metadata_for_build_wheel -build_wheel = _BACKEND.build_wheel -build_sdist = _BACKEND.build_sdist - - -# The legacy backend -__legacy__ = _BuildMetaLegacyBackend() diff --git a/.venv/lib/python3.8/site-packages/setuptools/cli-32.exe b/.venv/lib/python3.8/site-packages/setuptools/cli-32.exe deleted file mode 100644 index b1487b7819e7286577a043c7726fbe0ca1543083..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 65536 zcmeZ`n!v!!z`(%5z`*eTKLf)K1_*F~P<Y7)3=9l>^1JvLws4+R+`;H`Rxu<avsj^^ zC_lX@F;^iuF)uH_L?J0vp{O)ZAu~_G#XndfH$Np+kC&HA1!{6+@V_isqY0KUZ1v@} zr5u<)(bCOmg5`o*HcLsP36{(WB9@k5n$?mYObc7)f@wxe8KVi7L7B-JATyxG!l?jP z1_mESW`-Xdx&vW?4;YvkxfwYb7)~)TF!(`4pQ|!3FbFU(Fn~P8-~eGWF)*+~q~SD! z10y7`7#Kj|)&N!r(g)HErokdmT?`C5KN%P_;5_mf9bXtgu0j~_fC20jga9f_uOzji zgn@w}_9WC_Aishl8A+J}14DvdQA%P-A_GH$0@UwH3=9nCkQ6b1?RC(DC}TLH4Kj}r z;>iyf>JFfajPeG12n2S!sBrWKFm`b`w45yc85|m>eJH&9MX!r4a~5O3i()PYhUOz2 z#{Z3Pce<zu9Ai-GEnsYYTNnPCt#>xaZ{0pB5?w6ZHZi5l?ynVWluD&q|JMnGXT^lQ zXawu!Vg7FX{}@}0+iND{|J@-V)xsTY&TiIsYYw;muj2zN4TCA|c2N<CKgOnX%#D#D zE;c&yaN`>u76yie4ML6##z#6^R5(}|7{a=@s7SCdFobvS0n=UV-RD~llnD2xs4zI% z=$En_bNnCE#n^J7^kZ*}3J)U#LqKnjiU1P>Ltt-+ibznei;74<_>1YhAis$;)TnSU z@V72uU|?vdQQ?W<Z<)!!z|h+R))?431*{RGr`JbCBrxnn94`YyuZxO8^AQn5$Y~#H zsA1ub>2+b@F6HuQu!t!U1-Yj;M1{xtP!Z=b1_qE|>H92(aIpPgvwEkf$S^Z71ikpl z#lVoon8Cux!0_Tf2LnU*2Qa(0MMa01fgvF5#THJGV>MpO!c^VlU|;~N>HZKN_F^hn zTBN&2MSz8YA-?-qobj0#OuP&XjYmM?clZnpG{4~p4h;+Mu2GTcK921AES7*5tst9o zR5ZYmEz=px&}qTHk3FFKduNP_%!^sz@ZxDbP$I;?&!5pf@I?n$gr)UB>ANm|_YNNw znU<3!>HPaH2EE9INtLiS*Qf|El=yVHsK|hliSz5rHcF+E-wrdD3K<`;1f?n$6&VKp zDF;9)?Beg%+a&_Qp!DO&0rD~r^JnAR4K*q<3?;L>d{ksQ_}pGk0x?=|mxzGXNpdhS zbor=gG#>%0?G8~9ImX8D-<6@;mBFpkq^ad(i8=p1@t_wsc|ZoTKs?~i=pOLmI83DU zU4uOXf2-O5|NpyPR7B$AVxyana2$@0i|sxHX2HX+Muml;RA?cCf+IugffCLvhJgQ~ z3=bR_b}%w9FdRP9{3gQqK$c5Dr;7>?$UmJfDk7aODiXaeDl!4bT~v5LndU_rJIEzG zS&SJ5!VV0_T~uUTK=rSvzyk+{ZWoo9ULO?}P+FA;%3=URMi3d0#qeL0=Ya!5>w!|4 zj1><Z7+%P+GB7kBa0qzulNn?phw*{tBN2zYLsVG0eN=d|{s(pPf?WDvlmle4j|xjK zi%LM?e^C~QDeM^y4;>g@@91Vx0qHw)<_t7(h=3DEuO|bvT<DHbk<mW16XZwho4o~0 zb-KMvz*Ts+i;6@yOGj@7Bcwd&5^!j_RQgl<xTE#y-V!#(ntR<fDk52oVJ|e;KsokB z#)*dx452ToxfvL`kE7+FePHwNb^oZd0+lP>A{&ExS@biGJak|Pc;N}s;iIC`&9bri z2v2VS<7;Mw`?L?aS%2=WVP~v479ZDrG&UNR;v3&cFd>&8B1{Yn-7P8#ObiSe42%p6 zy*?@ufmsZoX!<WI^1uO<u~Bk$uM3L^sMN4NR3_5v$<Sb-SHc6z%%J>heX#ufF>qNR z;sFhhE)PafLHeUxRO68YLpQI^BL{{~fwXQ>0}#W5rHj|-kpn|mT4w-9Z-|OS7DG^n z2iFVsEubvle1xO<-~UpRUKbUKfDDO84h%2sK+y_{Ur8oV{POg=F~@cHsDON7eCCBB zCn$r1Ja{-9;+q~71x5yjz_1rHS2Hk#_3mNO0hK5#x)>NhMF}Iw3;_=Z>*K`&T^ubZ zOSl?-a+R<){NyctoyF8U1*|zk<dFkI&@l#v7a@>Rx%EJa(LxrmZ#Y1tC=bXhEh;jM z3=9hdKx~Muol{g)7#SEkT2wS30m}g@J(U<i<y-6T|NpxUI$cy0dR<gh0>WOX{QCdD z`$zK;fzBEgp4R`R++i6H9y&0*+{(bf5ZoQ3!V}uPMn#8-fuWa0yVFHQ#vzL(;KfsB zP%wpemZ-?QaQ^xKe<$01P>N|j!qa?=#rl4oO!xn89~Fgek)1&=l)>`u%|}>3a=&Yy zfh~T)0~UsA153THlY%6+ok1_&{QwyX)AYCIS@Rwh6DCkI>Np!H<3^Xbg6hle5)~eh zAC`c^lOrtS3@9s328Avts`3~>!aVUiKpK%^tC$@gTire?BHbY>9NjJ|Jb^(0FWUb6 z{~z$;04R`pz`kxiA`lNM!tD`yASDpkdLI>*EQWx<7xI7q|8G9Rb2y79<HHvRh8OeY z85oSeb(TIcKF}S@VSSH(>H+Ixr3x>s<rx@`Gl(%TFoc1?i^Fmt7m75W`2X@O0|SHc z0n1Vzu-cL<ov|FjFXl5cFhq8i{`uz2<4{^2{6b5Xfg!T_$Nv)P<{$q`#JVpW{KeXR zqWPix!G~<jJX05FIWoLv-8n<Zk>Q)8N`0v&NU0=9sYv&UgFjiDAIKkkz{bqd3sJZO ztk6NFp+x4zLOE2IX+mA*`{ci6>623B;1@o;3=G{rdR+wq!v2@?1i#qC$H36(`Xo5~ z#W`>lBXivK&%giw|G(g5U|{HWee&YI90SAQ|D_x+d_cZ9yn{i&k>T*d1J;fVVOb(^ ztp`fkcQ7z9FuZ27K32=#eQYsE29&raD=;ubMlRl?4Jz16<+519I!!@xFRD-^ShJ)e z;tm^M+6glEHS0o<`c59E=7S2&hgceaf*L9{ud@Ed8DH8dAmGRl-hJrc57us$R*>Jj ze>FdsKlq%jn}r<|L>$(~N<ft-Q>S6`K?SGAp9KPr3^nKCjSs{fez9DcfuX_HK*5oL zp@j8Cfg%ILe^ZcMFRp`}bGZ9|X!o12?otl0|Exb0DK-8}5OQQFm+C&J4G#2!0)a1{ zt1vJ$`tdL{Ffc^E=4w8s5cXeG;(-H0Tr9+ZZdZ=xA0oA4%?AVmUhGl<1t3qO2Sk1B z;ci!+<^u`=5G@EDV4qtbERwecTPV?(!1KTU|9|a+2Y;}F4VtdZzz`XG7@}9^fdd0f zuP;aQPmyj{o?2n3o@S6EGjJ#mY)<{d5Z3GZC*Xf64>&?W4*bx3gs1gesf4BLpAz90 zi82hJYMARqgbV{ix9^`$j_zY|Ct-#EnKNg)LsWRWeN<RlFO_5(ALw#X;b=KfD%SW5 zRQ4C~HQRP*fdlwusw${<`q})8rO5F6&E|*9B|O>}JJ_3#Gd90uEdADf;@|@g=7S(g zfcaqespdz_2VXLkuzg<LdZ~m9qV5$)or?-b{NZjF6&9!)K-F+~>q-8WNub;p+<mjV zL`CHLF;JJgyGBKzl>6XICjQn|1_p-L>RoKj#~2}Iy<{xWZaGk*4^dhAwEO14mrSLJ z&5xN&gb~VG4wRTTzh*3b3u-n;$HgE1ejH?Qi5Scf{+1aG3=9y_(pL~eN+6Q28B4!K z$AOBI_`{vz&Bs}qUow`=-}V3Bzq)QV<_paq{u>|a7HdAnvXX(3v9aV%%cT;XmTx6; z-w!b`{AVcP0nrTqOOJGlzm{lx1R6T%6o1Xv_~<_a14F0yYZl{6U{j3`fXwAFKG4Yy zv7_``^J8ZI)^bQoO913*a9aLfD)GNm<bSEa|5Bc;|DfnrPz9Az641mG7#M7PJ1o32 z_J?IGM@enBFOT)<Qg+K&fzra)td_9?C0UlSA|L^Y(gcuzL`kG&tPDs%q0}EFpitsr z8LLuiXBn$eYS&%LVSK>BLav0(!_E3|`L_l;t5Q?z(<M^PwF1oiO<x%p7_ylDmvUtN z4}77j26BghTW2Z9YjKe7L&sfzFfuSOyae@=txuOQbx4BD``;P+$3m_olz$&vz>6EI z3=EO22TGXTUW;|H+31(>+QgJ_+US*Xbe8^k&D>kZ=w=~Tdd2#8iK=C+NQrd!acx%) zOIL}q+5oV%|4T()tN{mrKxZw-YtC+05$nSxOdS&4u79i#mv~vbaum5*#>$jPg7qns zxx)0xyeNU_vy4^YZ&}U2z@T0F$FfwTOgZd-=^s$gs=Nq-sCe1Sz`y`9q+Yv}!?IMN zJgwW6$NF#yC|JwDc7ZHqw~Up5@MIuz3J{(Ogr@=Gy|^I(GKr&9EK4jd7z8>EUc^X% z0#2m+*lR7z*dL`&vy>t`Il2$NmI;G;QRc--6_65vZdZ_DOdS%&2jb(RPeKbPUy1KG zrBChvWmV-9f&WV-x_w1JBFZNMyL|=zmqIz+t~`PNO9j5)kUr4-fEiX;90%8pDzS&H zc|m1zDbwe}FDpO=2&mxfcI61`{&>ud2h@~Keqn0Fz|iT&(e07b$=B_X(doz1&1cP9 zAnnLdBGk>>Bjw1@>QPY2{^Eij14AcUw;PK!>jX(hh7z%EHx7h6#|syAkU1>fZXDkn z3Ybbonmr1bj=AwLzUJ!Y=;Z5mVCi&Y={^=0dx(VroaUR~fKq#}?}ry@pzPrKp?Sv| z1_lPkI^kZ|4*^*mpj?n|0tz9X*8<%QCqOlvF9-j27LVo!91XR97)sc?eSb737W{<< zS+ng66-Ne!QlV~Fj&9xrX-5YB?JSPX4>)2EXEA_GYyJQKe`F*yOEtey2sXZL8Ou{D z`$9sTfdLe4!H{;siv?mJYe7wf*S_7Z9M*?R?u2!^zUXv)0IG_E|CjRgx;_Xv?)v2a z|Nr&JUEeq{FfhCj19xi#{`)@Z{!qc*?fRfY;x$-Z@QVZ!Q0>}%3?94S(ml94R-pBE zDZBB3m$Mic7{Z%>vlNx~R{v@JUzXSH%hT=3(IwD)fTj5$OUtE_AgjPXrM_JOe_Jk< z*jNSrEj8~7_}6l&M9nJjU#VhO!2gy@B?4A~|4X@>UH`CH*8V9v^xB?(o5O$pZJz&M zyYX*x_{YD^^WSS5{%sC_`L}ugeQm_Q&EXIKHqSq=H6XUV=I;_{xl|%zC0Hup;P~J5 zk7ewiqBq6|;-gO<=HJG^zl~G-;OkG|xC`I^f|-FK{J*Hm0|!vh{ufnv;K0y$93<NK zKj9SvLpe+9fs%Xi(7=9?YsLUl_hOd`s4DLea%6Z>sLQ~R0V**6UuZtU167#e^2mV! zVp{8g644BkM-HGqrUtmjR>Jzfl;i&es8Udjo&d!tNKjPgfdj*tERGkSWEdDC4`*?_ z;0H6nt_|z{@S3}ut@S_&)Bg*g25~7z(Fa&70Mv{yKJc2q^+2gWH(%??5~lwb!D@Jl z-oVr}+iuYY)s&JMAo_)<1*CZ60^1A{ihSX3&cKk7@X&!F!voYFUI=nnWb1)ar;Lh7 z2Zk4C%@`PVI6QP<IL@Nt0#cCt|NsAH+Z`ZdBTJ++K#UiA%^~LUWHDqhfx5dOQR4%# zhqELy1im^jyx1ecz>vl9f)C_1Q2W66wzH+Ig@Pjkf6Gx&%_D1~;K<PBDzFIDa%!&S zVc>6_3+h^%uF-a6c)_5<z!2H}qqFu#>;IC9|E4QIg0Hnff*(3d?{wBa=`4NF{Enrw z^p5rSqVN~TwHX*J*-GA8e=qX-Z}#G#HmEK7Vxu;w82EqvKg7`0U{R=H^Rz+vhR3q@ zNhzzP>w^+LkeRhNI$a-hgKX%oz43Z}M!`b|h8-!OFo^&6|9@mg1&Ch);`@X6uokU6 zs3TD;z)-5u3HD+Z#|s-N28KvbwEy}0|G)8V=jK`gh7yh}ju*-xiNh}*2{SN2N>9*$ z0Z8HDf8ag>G{s~wWHEw7*TO`zz#|JU=0f;~vlu}FFZ!U|?*Cyg4r_rrU12XYtr-}? zUTm=fk=}wJaweGF0w!}TKq9Q>Ao86V14G6uWe0{AqFSKPP+1I0?QsxyHQTx<I5IGm zu)c^fhGdA9hR|H_Lj5nKbjlLRFaSmNc_9Xd9llWv3~83Epke4zi-k4}4h)SuKpfD> zeyRFSZbp!FhXjKIL#br*juHk32EH-@<CB&hFBlvc_@^H1^nLQ0r8)HpLl)zUFne(F zD&@$Md65T7pD&tqK@G@Kjx2!}v0wpPP<fmBhvCITUXV;JN0#&p>p%bhNB$Qzc;LXW zcmXKMT(@OlSZt%<$nZkQ7OINlg(yhXi%u)30Ot!9kU$pWi`^i)^*{-Gz>AN+|NoC% zD52oUuvkXHks;u}sepnb!+%pAkXZ_!z){ud`k=Y?2}3Dczzd^)|Np;;{P+L=YrSsQ zH{BfFoSnXR0s>#mGX<5Vhr3f>bi3X`QZE5gZ}IQ{e`pfwc75>TydVR^;TJu23=A)q z{QLhOS{#&eguMvnXJ80;!2t>rP*bJm#RZT94k%cEC}jba2QLnQ`3}|}N)wC^IQ(a2 zQE+7V?#2TeQ7!cg4)3*T^-yqRXtrnA4VwKZRS15;DGcg4vbP>674CHt$ztks<LG3I z=ya3lbYpqV+il-j$I)rm87I*h$I|G>!z2jme8xLOzh*K%05553IT%XR!@5g(zPs^& z%q@`&d%-Wtz|fe+^Z(ud|IKL<49#i`&1oDAk#Vtyzd7<al(02daxj#r{P$$3;O-Xe zVEWI<zwN+l9{zm?0s~$=)ddAs^N;_f%$#h8|Fc2TA*e(Y?)DYva^?8%%kyF@s4%ko zU&00|GwPqi9P`bc$00bZ`$PB55~JpN4u(>lZdVRQw%6KS%>R8ky3fC;{r~^JbF<z5 zQsEa@`573REwoDcyU%a1e~|(*u$F_N{%Tw_H1jpSseq3~9qn}e6Wkrk11WpMyK6yB z-`?IOfB*mQ+`0us?!5ydTX%rT4`A{Pn0x^yFM!DdVDiM@|NmbofB*l#^;@aw3txU% zpW66900_Le%m>PbA`N>t{Qdu*p@gfubq%O>lu+;&Gz4&hi-F;r8;?V2T-XZ-UIvE9 zU7!v+sDlda?t^;z-5(DAV?7A!?r#P4WM4CNp91&wCxX<$`ud=b{!dn<zCKg;p>GZ< z4g9U?|Ns9tK52cEzXg=bx`aD>Z-89h`v6St`TPHW$JF<K|Nn2f#NQ&%#lYa)yceW^ zp>yt$zyJU9_i%GDFmxT#QLu?97v$e}h<{&0#3KiW<_G-7-(IsAe=|P7zpv$B#UlrX zEcSyxSRy-Hr~Li@-})eb`&v#0hW{$9_l+DFntMSZ_rG)N1dyd$!9lkb9Hd*pfw>hN z$Xh{y`Lc|Yfq{SDq2?C~C0@-hm`lu>UvQMDdU%wGHosuzZw&_xxA%h7bG-D1vsqr+ z!`X~4jX{HRU^NY(zJdx|is_{UCj&#nFRfCY=Ho1#;CSw?|6~2Hb1%p>{JlRx1K(hs zEZ^sXgkC-e4a~QKnAr!o`1hUab>X<s3Ff~%!@<DNxfSHImj^i@#;Tzk3zFsUT?953 z#Qy(s8rVP(8`(e*|7A7U6wi{-hF=*aE)BnON+cS7mGieIb1*P8f?dVH!NBk`1f<M5 zr&P=tDk#7JjjflKV2ePZBk)oe&Q^G-2pXtowlOP}ZK!56DHV5yX>EXO{m0J0U}Fqc zU<6jM6l4r&cma|UUfu;MNa1g}3ZgUlTh4;$eEycBAi9*lWiN=X;BVOqq9gcQ*0O_w z2b3CmTS1vCfPdSefKG5EzgS`et_`|cK`Ae?M5((Ml<|7Ef>Pd#CBOgw?_zd_Sle=d zzh%jv|Nl``H2wbn|D`WGB%%CB;qQOJ$iTqgQVANV{SnOH|A_&_1x0@I3&#=x508=v z504TK4-fv<NvsSE4Tlttw}O%)s4EFc{mtOub+80SXYbrEfB*jnk5zTfeF93dtqVYT zq1S_nf#G;7D6T+bk}sDsF)(~@1qG7<2Ll6tE2zg0jS^5ib%F)};L@dB2&ryxerW#r zzm#<+s1@IQoCRWz04Pbpl4a*!klp+(8(A0_tpAmAFPtLe$k5pe66^+($6G-;2IPsC z^(+hw%`YPOTW&EiFnD;BRB9jOZ&CmM|3Apj^FWfAR+Jd<Z+HI_kO3N#>um*jIiR-{ zR4fF%cy0wMwgg%al*k`%J@EJce~=}wg}dDUbbu8e2de`KLNr2L_0p7ufuS2T+5pK~ z*2hY$yFFN}&y|=!ya!6Y{QDU?dqI9E5t*rd=;99~Pkdkor5KQ(UV_G(7fyitH{eAa zsM-7S9B5GfM*)BTZ*YV^1`YiFNagR@0~Sx`?=t~4pMGSP6gL0JE755Fk<Z_{fSG~e z8#o#oAkOAsU|=XogvJJFJTkP~9G-7qTsH@`BKTYMfBpXt(WX$slh)k|N}6e%Y_B;W z%uY5$z`R@r3SdYIf>^-?>Mw!?z8_?0042tijG&<D4rggT&hhdpBLhRJV8gHU(o{%t z0)^!3NK0_is$=T}(~WyU32iY014EsCH#l839*boJwesY+85p|2g?40TE2so-Jy0S5 ziGt3p3;zE9-+kjX7sOzYcH?iLIN|7Q?Ep!+|LJV)`TPGrG*kWum&yG54*dsP0g1SP z|6pT!!8(Ei{+mX~I5NDj1r2}xztFuGl;WF@$TU6&<**V3NTw;3fSMTm-!uiJoDZTr zGO}SWD3_;~%2@wHR+Ioz^im$ws=g2z*<h_(DhQ1eMg|6FNX83($qZ^zfx`n7ZJoWK zO8K=)^NV8smTiB)$-AW!6z8D2VH+bTdxBJ`GoZz}0JucR{P+KV7r0($2|U(%<?sLh z1|6+e|Nj4fycJXrfo2U}y8iqB|NB8u>xaM98)WivmTw0YN+cj5^X;HR2^;@@_dl;$ zK$&OeYvFG9KOjNonXj3QFCi33TVJaeuVJx1RxJ4aM)M_x@3#=1gJy;a3=G}3x_^{1 z8Q*RO$2CJO4<y#W$w8_aTmpXwmqVyYqx(4b;Zin5u%mlRKX-$}=RdemX+2QS29hq( z?FQ%3nLz=;;V&A@85o)m8Z`g3?3@cuAV0cq)v+;yL$ia=@AckZ*U#F=+@KC)VqoY5 zYwp|%&Zvo?7IgQy21|pIu>at^+YKg<F&a3$w)0H0G$>(naIijC`b8UDE?xZbS_52Q zAu=$ez<SN@*<is?!U|IR6`~emQS)9<A;ZAm8UxBE;LN(hp~Pq<XaK5&6B1RruO(J6 z!Z_NmxmPfi2ts5OAkha3wQg{&tvwf1jA_pWMJgl@^OTDJ2RH6|!5KL?OW{SqS8$vE zKe!3fy%$^ofhBu;K`G-!*;iNrz!6y@4KaqLR46<+%K&1?3q6Pl&3i#b76T-_OVU~o z)FpL;1FjQNZER=z-wO)#fGoCN*DnFRtuy}q|L+#y_M*`gTFRDcSb_yh6#j1oNkYu; z_5JeV<Cp*coA-irGenkdeJ#@rZoU0~Eewf)0Eo&Lr@s9E9|>)^)xg|Z0&=SYR7DfW zpd&oZdqL#|Ly7SJtsuq=7EmK$DTv7s*$r;-buo8<Yh}=~j_zJi_1z7wkh(6seE9YM ze=IFoNP*bx`zJom_-ynGwm1L(pFBL_m6ij;YYhhmX-x-)N=*lbqnZv37c?Ch#Izh3 zT(lh+vO+QfKt0V=76u06|DCmedR^xP{1<h2;J|PkGOv{7kfjh8_M(&x)QPY@&ffx> zdtD4_19zHE&~jwx?Euv$uMLhlurM@p{6FTv%GFuHam+!5;h2Le*D(h*uFeXJV-6;u zY5HznkiN!)ARX2Ri_WB3)}G^U;R2;L*9#!CL1RJP7QGQHy)4$9u21%X75=MX>i&1! z^#Lely^aRC=f!hYkZW2Gl!SHrKIr8EPpow^HnV~pq|iG7r0um9l8c%XI2aldR2pDT zYEH0VfVoMK`I_~iqD%i>A6VLg^w-RN&DITOHK#scX#HQ8+wJ<Ko1^*X|B|rgpZ`h% zyO>unmUyq=DCG|PFKPoBma^$Ceb9XjGy(KX{@^n<W)sMKm+O;mhEBFF<_<TOj0OA* z483kV0WTV~Adcs60j*8@@5b@p^?`G<>k}5s+6Oh0jc<2<2AN<A3aV~4Q1^lxG?mEK z;K$PNy6Bi2OJnQpQr4_*5wE$r4|{+|eGhyM_%CV!TH)}c`TzeC=hpuv_Tg~1nRMEz zf&#Yr2U97?6o=QG%|Dn+SsMIUI1sLSr3rCWiTQswj@Mibek=~h*+3JE&dtA>`FlVe znE&7i|1WCtz=6T|z-vL{0}h}rI5eR&pZNbGnF%)h0vcg9{$_owRQAPQP<08KcZCkE zx`NsZN5Dg?%-s$Gu&!peE63sh1xMIqS>qcGX4t|7P-n4u>5V`C|1$(<`SiBl`SbsO z7DK=b`KO>76eQl+ssXM|4M6?6BRrk0I^YH)r~vBh1$QK;f|?GUb3uhlC%CYI^fuCZ zrvCW*|9@If?;9{R7gUO*^|XSzU1>c_K?P!3&stE{oYN035xZSkdVN`rw}Nb9WME`~ zG!r^|K`pm#&p(h>)$vx4qr_Pl4jczN7L;^5Tc7;-|Np;e!~+M0EQanI|3yPU%PqhT z5BM({08U7yJgv7&IkK2uyfkEBh|B<)@L$yD0eA$|0~Eo&e?Ylg;{_;pgNHKyn}P!E zg_;DoEnmVM`~N`}(~DIg?XfR6!3I3KT{(<TTC<$JA>_zVBJ9}wQ@7}2ugBZwpMvFl zS-cUkhr3zM-Vp)?KC8?B|Npc2BCStIA5cEne1IeN@QXQ;pw?I^+YSd2M~1`A2RIJD z=!6NmK!kXpqY5t`fkyIuIRZO5UNnIQl)68>*z^DY|4xIrSkRPU#szZ+hLr!Npw$GR zS-Z|06@lIy6#?xB!C~RxWp0M9e~ga?bf&)eU;3ll^$#?4b-MoOb^VY6YDqC1?)LqV z(#Z=lA~HTcF1q_^Y#_*N&<X)?m^8nUfQ&5^a~PX~W<SEa*^asXXE^Tq1r!s#)dHX# z#oO)2!hGJC$Ku7!XaE0q`|)(UaX|PdL3~$^Zw@SJ{H<c3;>lN_H}pkk@SpBz9?&d+ z@0;e||4QO}JsEmgqPu<CM0#D?1Ug+mbTf3i{%Ac}BGP^Rg^D2q!!g(YjI9T19O~V> zU4L}nX#Vl9^jt&je})njP|p5W!V7mo7|2RLp6)QP6Rcjif%vXpAig_%-1Q5{x35oj z`*Ji|CKu;EDAjDX?E%l-DrA7@7tM;GY78{w&fgu%k;NGFUlb(Xe1xOhm*>TC1Mu9o zWdu)&PzEGKE_a`JaS9^b?fawCg9qJ7ho3@11?Hs9AinE|ZV!&`>n~yr7#MbeiU-SJ z9{!e~|Ns9(jXnLM)PRBEr3@$;fTo(l!i~RyMqH1Atojkz`oC1&k~KuZk)cdJ3^IAp z+xCK)fx#Lg$lQG5fA<H_VAZMa<MFVv0b~eh0tY+|?#jx*09rZ&S~f$ZS%=Zgf=;Oa zhPVmjC>={zo)RKWJBVQ#Xc`ObNh5^QbSzy3h&6F9#KbI~i~>+?d>z!)F6C(bR#Mt* z+oI*jz+CE_#qvUu1+)wWv?$=kbtBL?qw5pU61=d07e7GUNN84h!3`caf5K2|{=byt zHCGnP3sz>(lt@?>!++BfO-F|Rq6v`FM(l+G$f^(jMPoo^%!>=ZLF<1aU(EjV|Nr4E zfs6?t*LeN`4Yha1KFMNyF%4u;XY8LW=J?Lq2iCTr1tPWK-QN#BV*;-PVLoOlQR33g z@Xdjzxr9I9MV2kd$v^&=F#mUb()?efMgy#@n}rRsI>P0F0|Qv(zX{umzyCmk!=ObT zoic3hujj%116$d`3U(Fa3v(urZ@@V{7&Ly^?Z(r6qTwO4@$H76Or;JhIT#rjN-VqG zIKsQ_w12ezuhR(+2z!zG^Z)<IfEVp9pnSq(eY}*v+l{B?KqY_kgTI|_Jg?cC{dg3b zPydhacH?MHV`1oIi|alN8@dEp)B3HHGwcPZ<cfT)ANHaKRJyeuC}C|r@&C0vXsp(O zfuTes?8ToSpv6qTT^JZ5zu$<IJ^&ru%@WDj01D1uzyALRHMO2}*51iteBlD}OlR#M z(7L4u*5DO4{JqT#43J>yW!Ye9Q4$9Y(6E587cO@}a|FhhoH|4QfJ3gEWka_I&$olk zCHj`39HoK*FT6l512r7v{<}VTEooWHQ7ZE7AQLD)^r2Fv%$%-wI&1&D0QKkGUbh(k z?=F1+HtxU4hOigDU`r0eB0vb7pg0)2U7wUNce~zsQT+>)J{VuDWdOxQ7UK(fkhzDu z|AR8>{s;v}hGv_uJ|d0`jHPnDEMGlD92q(-z-^8H2F=GMUeqc=8yh@s&Hq$tE*T$i zh>ttmtO8aEYFm8l{vX^e3rZbf`#`$GyX{*4mk2l4u`rhKhX21D{^G))|NooS7$TdG zaWwwR5OrjzxdT=i51!@Y1gR`#4)}i=A^$8c8d6DhyK?+DISMlNzbIsRP8Ltb4N%;~ z{RG90duQzv<J*?9psZ3V@nVZ414EYF3nmHJG)==}P!x2Ra`c*j9c(FA!qR>GbzYXl z3r^7dM)wcv-=+L7j{f-n|2P9^!K?9s*MV7FFCsyq)fxN8Qm#}792ns*N<iIn&?KRF z_=|ray)XLVx;kT@yyot-d(9sH;xR}H78|ha@a+dE61ZMyK*K(?`wgho)eG@jvmHaJ zaKH;CkYwwDQjRRa7bTBC(>P|3^-OWGpk;GEK)%lS@&A9fFNg7e>+@xLSq~zNFMa=L z?aCv4z@b$B#sBXxUxb6ei}vrJ4x5PaftOc7z4`UNJl!8VOF68+mogiFb2Gl(8T+L9 z--Gf@Si$Ape2l;O*@w<j&}_CfYk`&{L%Det%L^Zn!#ZpKfQn5}ri$!zeFF1gJZRu1 z_KEfV62bqa9O1z)%x;4$<*~kBni!VF0V~8(Kn<cB*7r+&ENvS!9T`fD!(L1R4P~?* z;BPGgRY0x+pk775f0!3ux`M{x|96-2WU;&e4WL9Gw!UA=+YM4z!Ul<~?!zzUeE<Ld zaA^0N<~J;zwST&6K~?C%m+Wc$?+?7@fG%{Mkj7unp2lDAE&w7FK!gE^Z~zejAR+-o z6!h)~jn8<NUg)m<)BQ9SVypnjSXYjj-9L<fY5!_|&JUtm|Cicy`wDblY<^VV8T!Tg zREd!Gslb32#h{s#BOIV54WVCJFO|45y9#I@>U8~Ke4xAbN4M{n&#Ss!IbQ31zu$aZ zptJS^NSLGB_X9}yL$@zScc=jK3GE9(Sqy<M>i&ZR5@Z&{Iaxdz65kvcUZi~c{~t7; zoW`$l@VM&}P&4VZGHA|?p_{>$m4V?v374%bh+;NAa2VR~2TdwMqYSk0Fzws_|BwvU z{6@m~Kyat)pH9~=ovuHE=R|a$FlAs+U<jByCrbNbiG1K(;{*JQK(etfIz!)d`hEZ} zALn1x8TzNw^+)t~*FT^=StWcgV*daC4=QAh4>*9z(dd(hU(Edf|Nmmpx;5hi5bFZL zwSe*MaO=+{td_An<q9u6zyAN9B^C)@(b4^}ljFq&aL-$$``F8~pv2`WVEo_uaEW9W zgVo^@;Vh<j%UT}(HqcCY2b<e5HY>MoUy<&E)~8DxEF?>8UNeItFO<i<v-Xemuj0xs zfetY@2MdYP7Xg7UdK?%Sx)>rOZS+e7Y+_1y+^uVQio?J=KET>sC9DsZ2)%}g+jVht z@PV~{=ynAyCsOa?usU6$*zi-YL;|c+<`|ov8&tIbLN!RPOt9OPqeJ3F&X@oHvy@)S z{r~^JLk@YxP%~&f4F_mFjo6+4|M|DM@^t%t=?WET31O5il>^U}3w8T`=<Woqqyepr zQFavog(_&Bmhk}xY%6NASU~MAj{l`R;Bap~A^@GtgGyvEyl4ccDY!TTd>I=kYq#2i zs#_7LCP=4l@dhPFhECo!AX0P%h?HFdB25>7NZUC|jtpr%q9?!<?;bEEI|EFyP61P@ z6Tp;ikCG$9oPO2=N{*nt4vV*dX_m!1lpGm)T{#vX0r6WO{Q3X?I4gsaBLk?rwh$z_ zc#EPV!*SLXijEANpgtPw8by#Sw7b~}?z}B*0growx|)za+u|RJj-WYoe-#FXNYK&@ zQ1>n43V5*!sPoor3sS&P%8|wRLK~ze17tQz@9pGa-6hNn3?)j<FIY;%n_uvj@OYGf zGSm(h76yjHJA}X_Xf){X4nYtbRH1f%$Y5jyjn4GC$%F^I(7yKnzwrV7?I*eqcGj_g z=9BAq4n7p%KG<6)uzL0Cof)Ez450l1ZZg{E_JcHbi7<8uIQW--?`@N1WMJ3_8qMnx z;ph->@GJcu4_%ee_(p~m>V4y*psCsL-qsht{{Ij7U&iuZG~<B-!+wyy)&u-4zrib} zJ6c#l%Z?qaj~9LEYJK<X|NmpHAOVGz10{OBbKn00rN0yW+nB9Sl#6K}bO`93!V8km zQV4pHaTQz$Id?HTw;U+Fk;U-8jHkEt&#(Xg|Cg}@g!h6C3IH#}kaT5WFuoo9zl^1~ z6}03d94;OHzl<mN#V;pN@^XPH`1AiiLIHS21+3^QSdj`S)OuV&)_gn2Si;xf!zL@x z)x!!h_O&3WeIyDJQUD44`TxJ8hYb{5uQ`sjfEf%RukL#t1_{OEtxtaa|34p8o1D}H zv%9B)M0#8JK)RSO^hPN(|CTK0Y4G8b73jLya7f`bfAcTNaz2oNLf6HHR|*{hubGcA zFgRMDFFFJow*z(T{cnIe_E|g`7NA1;{D=SlU(DbF^(hvDSK+xAl*l&M=P;Crcb8|h zek<k3Qg|`%*8l&J-N#-${{U(Z@V@x`9W)A=`iG&rJfpMpiM1(ssh(Nuw-Twa|Dpwu zhCe@~%~Zl3_M-hWsMQTp)ajnl4OZP*`XubXXbxf!@C7Sqfo@-S>60wp7dyWF{~rk{ zd7Iw|1RLKD29-EVuK)kvDSJl6k)iqDzf!s5tRN<+8u>3;@xXz>BKA*-D|E5mYn$eO ze@lgsm6SYiV0eAI`QIPV(!CGe4lD@C*GE8l*}GkTG$$1N?LG!u9@+dx0X$v+Nw3hQ z1mWOy2i-r6zjfAfSpO^K>puKqJE;G1;N@IK1_tof0LvXSBth$?CW6*Qxjtz=U|<W{ z$XWEf@&Ajzpjn~<Mh1q)|1ZJp6wnmc_TvHnMQgwz$KMhJ+T7v#A|M=+FF;wsn2~`2 zoJo6~Wx@hpbX@xX-}sVK^AVoTYL?Do9?Q@d{B1u#`|E1oG4QvX2W_t_ec#2`a+1I0 z5U3Hg&Fw$`wv#WHF`yXZcnQ=jd(wP_C;Oy9XX%69jVmM_L0)*R)#b+6a-c+mf14d> zorh4j>w~U_DUyy194^+f{M+0Z-K~F=z3Q&zaC2+0V<^4YUHas|>x1TF9L=>4SUO9e z6us;|-dW9Z+!@qUVtA4M`~UwewoYfBUT1;c&N-5f3{h#_hK^~S296F6UZtPAKfk#C z`~Ux!+yDLl-{8Y6%i>^tu<V<gTSMJ{2L4u)|NsB@I?L_+2l5~Xhl6M7&u(Xy7eb(} zq%%)vFvn}=&SDNw<~z}S5K>ZAgG#E`D=bYxX@tKu;@|)Opl-h}bnM#eDmW8}WJG{6 z!Kt_Z|2O+S`2V7x9h4C|Ywx@O70TW58QrBEFG@k<e6AeU&Mf>b;h<;$?QD9{^d6Ka zZnWO!Z*gN}VA$CKs`JY;x_^IO+N{hF462ww6I79rovsf+jm1A8`O-W8%QE0OM6lZ} z!xmJSf|e~MfB64DvNJ9txZ4(#EB;^q=2pPO-}(wP!Nm&7nT-6ccR_2Wd0&)(Cjmg& z&zWWM9Ti80ZfB0g55P3f;wLJO48{jKU7s}nV67EM>-KRLNbBTry`bXA;PCndSjHAq zX4mp|`AEogbaaS=Bwj)!Km~BEKv$0hsD$b0m>>a?d-flkW8uygUI@y`aEGq~1w^MT zNG$mO_2ZBs{THAqw$}z(yf5B<0%hgbs-W=}g~s0y?*_jp0qJ_d`Ucc&2JM;wtsi^9 z09s7d^ydHn!_BrEK#LYjg|hy>2m|%mkF$aVK$#uZBm=j|y4&`E>WbUp)`v^-Z9QZi z8A>v`+cq#TFjyZhiL;a_jp}X#?YFl+Tq15M0qU*%e)s?X|7{>$FRUFwUBvFTEfD2U z1-B3it~!7e{NDyL@5Ld6`1W_;-dP)HE4KCF5*JH}QitxgBMb}-x}YQ)@M7A#|Npz& z&M+`AfScyp#{*t8gM}`D)`}kwcu@*A45a@>7HGlM5rN))S3oI*-L^x<k)cG~at6p% zrThUecH1#9{5OB$47RhkF5tK;2WU}3WBrc_QjQEIg5B)ahfBCEB}&-?UdVwIS;qe< z5$bklK?t*hgqx2G{P*Q3Js$Sr$J_t^Bje#~rh>z|O+iU6yt|eo{QtG?c93^L?X>_9 z2NZg64#-V#4#@RTPH#NiS=A6{adtC9<(jMifYw7fgT@V+1O8uYJ`8rpweEJ1hgm^J z2K>K<a1O{Bt^fI3Km!yYr-7=I0drPdbocT2*u$;=OUzpjlo*F~8(4oY(FpIfcySPv zDqFvmNQb=u_4u0Y7$Qsg8~@D!#R+@Zi%8Hq%kJZGhm8+_I>8m7VkY_J|Nk#Qn~l3a zK<Zkzf)b_Xx*UcQnHQp<eRl;p&<a=gGN^Dl_M+@1sKVuW(F7_SKz*lPx14TU(5m?t zng9R)N9xal^V`8Jo)@*CjMZKG1X6p3{Wooqc4X)_Z2&EyzSer6L~&t*v?Bv(=tevM zBKiN?{|l`LN;tY3KwB<etM4m$?7$EPTOM7?9rhyc(*OUU<%<#-DUZSP1kjbzpw;vL zFLb(sI*y>uKEsQ4P?wt=tN$>9w&!44{rMuy>IwL){x90{z<~k0=pX9k|Dqr-cYkR8 zRx179R6x~{;YBLQaor!_3OYcY`(ts3;UOXx@ZVGdq|zFs^8bZqUQk&5UkD09P>Asb z{1@$c;K0z#3ljPNa@X7c|Fd{9W`H8M?fL)zXwGL3dtm}{ey8h`?oy89ZZQ*HIxraj zckiqdX+2P)0tw7+Sx{j9zuegd3jGX_FaMW50r5dW(pgt<tPRwaaz57P4O%X7+${rC zgl6%+$OC8U)ISX1Dg~5*VP&r!sG8t;;R{j#9tGg(bjtw^&@2R{oKCl#|7AHZ7(pv$ zVLC)XTMIa!|Nnp3_`iF1DMuFX3sX=baX5?Tg$|ej>Lx&jaQ~Zv0;T)Mi;1AI`3v9> z_R9cG*=8}m*!bfA|LzZwk*(iKtim8F|C@?{f)upIB@&#_B(fO7UK|BwpUD5BQ$WG# z$MV0E?KNlEi@2Bn|3?~s3;!=V;ei8qk3DF>??pXmpam3@pf$vT7r=QV?r;`I#sN^s z^MK|tKttL5Eua=qx0?!R8AHGeL6BkHZaNSiGlXXX;eCApGQ`aW!g~(kIY4+fAv_ld z?=*zx0pab1@M3I1Q3<NH*MJ1Fcwant18Wl3Wwib;kqU=bm;8<YK`~as9{!>pq!<?F z;gDEb4$^qs6%^SF-E}#w|4Wp^Uwr=c|9_-4IHQ+{H2wz{Dm=~h45jShFaH1d{~taM zF9+K4_Cg(G?hDVS|Nnz>066-}UW2M#P*n1~$bzu{hlOJ%(8=dO0r3M=;KqSwp-e%k zG2_5v2Zr$f*D|(%=*2v$jtu{=Wvl>mKso9EwTuN|4k%{-Uu(7nsbJ_f1!btkpbS(Z z)@%z>$WX%DYztDv0N#bEvJjLf7lULLg7VRER*=RNe+Pz6a3TTgg=FQ$pd8lx<3E23 zs1}7};DG<vKuzJ@pu~Fg!vFvOO+ngU2>%8#L56}|`hpqE2iXd?2^^S^e7zVX_~P*| zP~T7hY}t!7FaLuEe^N6d0v$k$#6d~b7Bm$4|H5KWItOKY4_NBH44R&Tq;3<`)XfFa z(t4mo8kD-9gSaTE+xURPYxWnDeuH|}upTjJ4)K4fK(FtM7bj2s|KA<U(d*1;3u=Rv z^LM+xfb2%%-_8>8y0kNv<6tcZN3ZLPfNoa~@LYSq3wO{;a8S7{)aA;N#nj>Yqa*g` zG1p(9ji|;aJ7RwvbN$KS*zNivi}8Pf$o~Qs&_>U|Ue_N1y&$oG7jk9{49!OrK$}u5 zT)&jCce{Q7b%2ZyycXf#?)pdBm8YTh3wQ_A2ha{EShpw;v~oP`Mfn3z4aC#!#uK@s zsZ{)h#UoH-4m5NOp5{35|D`@71H%f365bcGU@0X~5ASiX@$D6iC1Ra%EGq=~TiQX5 z9zTxe2md<xI^95qH9vUYe1fUdji)n?r8D-=O7K#6ofp#&|Nq|%S~y?A^P(Hf1}&QB z1&tc5<Ofeom$HYw*auo^|J{uT)awZ6Zvl;qf;N!Z^?ERN@^$-3X#eoE{@v-vQYRY@ z+Qs(b4tVzjPp9jj*S^gs6gu5_KvON1-M&1a#Te3{#Ta7U2b&+rcV9gC3$pAQx)&R| z#hOK-L?nwTI5_ZymK_6w@}cG<0-z+L+U>^C<;&5*@mkFIzk7JED+k!RT)1_XwSP)D zq2crzRDXiwG(I{Gy3H&wFt|IG12oqGn#lQME%Ubnv{#N3G(On;U%cpD^M7&v=5j^` zhAie6RiJii^AAS;788g-CP<+5Kq+stZI6&610#QnG^oS*8`KHmZ*c^5VhUb5Fzgm# zW?%^3ub}G45dOlz0+bj)XOHlLR#Jq$xN#4ZPei~cpzO0$bz}(3VmQWXtLDhS06E8@ z^+2gwM#M`8hK%1#pyi71K#R|gfK1?rEsLK5F(d3nJ0AmsLuB(0n=*^A7geCe^6#vf zk7Y6MG|_Nm$Ow7qz@U91FyO^EaEb&~kAlYEAkGMc81b6P_*+K6O9zJF@D~DLRUnI? zPSu5|>303|-{feIv?EB-Yw)5gBt;w$MHvDLj0_nXFC7@dU)-<-`}ws|))(mNmK)ah zN>rME|1XixVgTn9lfNMI{+qox3R<@x@ZT)>zvv85<pkPhm&N?zpB;Gmk+DQHi}}Sz z5U2G(sXR2?OT{ukLH<JX-~a#MU1%@l|AD#=kQP#4a9B8WgVU*RpfU`!R|>Rs>d%W^ z-yrp<^>_XzP(!%;p7#A-XO`w4EJfwvFRt2wx~aX+ERohfiamCK)*@N|C}!$D&V1bZ zcoBcV|I$A%iXVb3YCTXY*6S`{eZ0s4EE)?HEipX!n<=2zWX6lDU;qD)TnyT}1?sXM z{|cI&Z9c{l_F@lM0_-GLj>y+c@KNBfES4;V7snrfTp0FZDr9XO*o4I()ve!3S+gV} z;tn^fF@Uz&XYpjb09Dhe_x}HXao_}G4gh4=4^U7bHDN&|2WXJL@!tRchhNM;@gF+W z4^q4R|NsA>bx7ZDM0$V*dc$@+_~O8@4@87_|FAw*%-_x43fXygoW=TI(MNC@8@A&G zNEL{{rz+g|fA4k&8ApcyW-pF`2Jw%xM0T<@|JNvb5g&K>40sl}+m{2nO^UIE1+-hP z+tG&kV50?ii`0ALOVCYH9uoXh4s{;_uR{T?6#-$0epile4;$ta{M#Kxg2VW?7qS^& z3h#B{kZAo@Cf!}j)9t}y{j-R(JA#AxruFY4E~n-L8rIi}UVuX##W;w2vi@aoe0N}g ztaVukTDcJbI(G=Zz~zVW(E#{rmd?}{$HCJb3>lzpT`#o2!|9+7S!lN_hb~Ag03s6r zmf>hUP-5NfpmOkq{PzpZ4;Z0MmTsgqG2kUJhe5M99Nmn@m%#HkV6P)B*D^kUsUwRc zL*u&x!;A1c|Np;G0Htz=iq-=qVxZ2={|m3#q4Pda8(&PfVPJSsaOeO3!x_BM4h%2U zK_iKaL1o5aXdVg-dy()JloVUPK}KS_!(tYe$bgQ8sO9KB6>Mo)!q<Hx`!-MWK_2E? z)~Ac!Wgp;SK4g8On8VVtl%@M1C}p=EDB<dk;OLC~(+b%t3mSoL{>@s-16tN+e8Ax) zXdI^bHzR+`J#dAU(CPc5+n1-)FQMCmrTHfZe=De;+|8RI<H*o$n*$;*GXJ!`UaOLQ zlBc^ara8rugQ43NEG-L?c4EHYe2~Zba?PXe*gxG2-E}FpeGCi-N;!|arGPU0>p0s9 zFn%Mb-t@Db2;;Ya_;$9FVf<DQU(dD|#%}`g<!t+5{5BAu&vp`s&wku3r3*AFS(cK; z@&9sUXI;u`c916n|6lHQ{Sn#eme73Se{?*o9s(_yv(Rv4SZo6#96*GN251o%JXQ08 z0z1qyfTe`L`(ySu9_CVx<^w#|$BN!$pX6co<%qLBSj-BNW&&lK|E3@_UflW!YMy2( zWO#rQgV!z4oH%3~XLl?|^Kb5YpAymT!&yv`+6PONv=5eWXdf&|(LPw}@}l@N=u{i< z_R><&0>77upcw~{6BmMr*9rg2W4bSccN%toXg<c#&GtH~`*8CM{t}z!7i=Zk9wjm_ z`fh?+DxhH}SUn|j6I|E5UbheAyoDg*wb(w8pBI9N*IfHRzFr6-pi`FtFT_5A+CL8> zjSn=}K49c;xdGbg@A{yWJ&XCpr=$P>Te?00^$?Cd0QG4Obh`d&{>@Rs)%=^ggthrM zOR03Xe?q74l}`7B=HDEp4&DAKoxT^2yQlPkRzm#dDAj|crcU2G-MpX_(=7^0J<O*p zeecvtcKhA|C9Lq6P8UIr|E_ml-+oc|0aSFuG7hLm2QpXwe|bvq|Ii1KuO+)<Il60a zfc8C>aAYyO2)Pf60<ava!vwosVXk89cD>N)o??99#hV+j;uw@7d{C0W;s{i3449iG zkdXn3+}s<mA|JH0>c8lM2M(aqWnSxp3J(U*a<&J?CvC+U7!L4HIoN#=RDLwpJ^=Ac zIkGq)Jwdc-;CK|rB!I00r^o-MAkK>#&=^STff9bu*69nN7BZ{x0f*Sbpack32b!E_ zXtV&Ya?@(A5MVA<>2?sYRbZVgSt4qy2%`9Gl|U4`ErY{M#!}W7&fund>>(D0jJ|l# z?s3rEobdtpNG0nFkJtbIhjp8R_N;~*gZ2qZfVTcEU|?Xdu`OYA4|~xJT2kCw!p7Le z)^ecqRThhT_=|>{pyV7G*=Y;fvD*5-<TS*D;MY!JFM>eJ&~7+4*x5#w7-lgBzX-Ys zs?<9{Rh?g0aKMWiJ#hO4<W*QoRszp_i8LQ)Vg3vnncw*z?4lRUxBmZcRs}hZp;?{b zIO`H^$b6*nfyn6ixWoTVLH5763(5zoASMH-A^Zd!TA-sKf{hP^b+UJV>JH^O4jMjY zuyo}p;RIz?R}Pj=;ZD~-4R%VU0>%d{UH@!W;-7NB4b-N#`On^Zsf448t%J#_GnA)G zj(^+X0Jj%%pj9HR2TFwhvxD}6mT-0Z@^rENcjf6|bn6b~>Gl<9xm{w^T>FQibY;VD zg%Z|=-<+lMTQ8Nc9CP~50IDh)>=^i4UNSH+bg|hel(5)vma@6M{_OYqF<1gL%GwOt z<H`v-eFx+~f&Yxgx1EhozGiZBY_N+d`3Z8Z+P8y@rSc$aN_cwR7#l2<N?E!;yyi7N zV0_!s^$+N{Jl8)LU$&ks5%L6E&J^SHpS|^D=|_-X*jf&hgn~4ea@Z)8c-wH6xVPRe zvE|=)AfWY9iSi3eP*bb*KnZUbTemL{#B=}I5k7s*`$7z=gxT#s`+xTCP#(9JVW7nb zmrB@=F)@Hb45UHeB_C+~!<8d08Z@NZtibS}5!y>=e!~Mkvc*ysG&)|&`r^oo|NkKk z_6!Y2hOpoc*&Og<JkYUg3qkv;J54nd96^KQ?47QEEF?;qJ4^p`hyDRIb%TR@YrnkU z0<GtD{n31c$M*mK|MtaR-M(L%fBr9a>i%)?Ia4nSzxBZ)vw#=P*Fbe{r1j?#O{jL} zf8k*u15ScAAAt?<SPa^8-3i`*ZG7N0Xx$~^=#hm5nvM)0_lI?xZh7Fq5N>?i_`mhx zQoaAzK#QA7c#gAzRDeeOUn@gKo|=DDlyYS;MJxtMyk>=%@Pm=R6;wfj)<Z$GmV(Z@ z0G-9!eLT%lzJ$-gA<a^v^e2S+)NQ)qfdl9q4(;Q?7k@Yega-$Ax_<e8t<&{~_2Clz zfEO#Tf+k{I|5zU`Q49|LU-~29f9aR-;9$_;1L%;XKQDG%1F4Ap(;fRK{J-cL&?w^J z*D=jMm`Yfz50^Im7hM4o`e6N;zXh~J$U?4!3$&8sH;DMAeas=C)Ah#-r>o$MZ~eQJ zC+xrIk_Qe9;FUxFOMirgzgP)5;s7cETDb}9dxJ6<M;7QP#|+TcrGWpUJ3w3JLF>p` z50o;2$~cF`p!J-fR&pq4eUSio3bQ%&2RP#dhwt}$=CFG==qO_A<0ZVUhf6rWUsw!U ziSRlh43rH1i=F{Fzx0oB>5u=SCqN7FKS0Lmj6eJrJp$%~&QAF+dH|%(^^39V2jdUc z-%Hu|`9E{m{hGV=b18fGv4al;xIc7)mqvfT)@cf|ATA!}3sAQF@voHs1<NH+O$=)J zgUaSG<8Ri-YB;RHn=FcCUOc<_|9=<=9A^M2d69P!TuU1tcrDd^0<sgj8?rOw-~%@P zeJ+eF%?}*nVh=-ne1g&Vq$O*GrXvHSVga?qK^Sya)%SzoQ=C+~7@H4*<~jW!0;TUk zv(OCC^;b};n-P3u6ZF8Q=7Z4VnqG7}{%JW-V$|}aL}exTz$W39poUcm)9bUnj-XTW zShNow?sfbJvJcGq3upa-vcSbFXoed!qGEhIyt`Jw`g5s>_3ttP$cZpaof5_eUV<8g z5I%D=$A8dbnE&-<(l3r*0IfiRp9K_f0USEr$6km1FO>jIm>2K(|G(SygJpyWf9o6u z28Oh5SCO5deHv-j2g}T?KbP=Z|1RSW4-R`_u?3`;=S9f{P<&{CM%Xeh{Qut#o>YgO zfCJ9F)}Kp^tbdp5yzm6st^~LJ(s_^xA{McK_**K$<rR1`{bep_2@xB_^=!vMgIgdo z`CC+x)JTHncYS#RgTuqJ7<+w10)snadHxr${1@HuzyVZPiCD(+@VCZ+wD@vZpDx+k z$@qFFtWc=pZv|~A0A)AO782{<{B807|NjShD{(W(Q9LjGK{`Q8#X&2LK*s<;S7+D! z1Ifdd4uRJ;@qhx(YWsiC+9uEvH^fRNRfYxz2CNI1z=zI&Hu!?h{W%i`I^LA~K&eKz zkBR{3_(9NO$L<@TbHKiT?EcVw_<M?qK=+C6V<4LO;%oQr6WuW?0^noRTvRwNzPxz* z;;V}{xKEaT`Tn{4!}k;wk?s?qjSSzPF<&g=vkp<=Dd#BSw{}tCDC6|gc2N<K4p9*? zzOC(|!XX`^!t?#s_Z!W(7`jh&U+%sMvM27407J8C186BfXb(ehSa^2`*kvN1QyD{p z0s;dw6f)s^CcwGJ_(-RV3P(yO=*(`=d8r275ggq<DmuoJ-32_&|NfO&cZaB$H2?Zn z!eafYOt06ZtT$$}KsR@%2TyY~3q$D{@M48-XO0(4h71hgQ%yk}5km%s*Bes$!P%_& zh(tVS!K{x8%Xdc>(4;1KiC&2@D5$zUIE+ucShV&3|IqFXiT?#W{|f~E7l^#D1NTsQ zV!>)cR0KMic7U?-;m~d$6^?Gr|AjLD3nl&+YP=AIDm=u(5E>R9-2Dnvts7r5{$~9D z|HWwVy8l<*AG;4`F}{d503DKHeB1b>@g?K`|DT0+zX=Wt&tk}8$T*(qz!3OidLRP> zc!n~xJ4b~hDDZ!YipYyC;Kaiddx(P}izlN4)Yff03u@~=VdyU9ur>v+LsiORd2!?l zbZ#K*MItw3Q9Z1g4l33_V;;R{K@)u}FZP2b{vbVD(0cIZe-HTELB0Fn@NQesTGVD+ zP)W~FD)FKbH1{O;;{0pa$dd1NP}^`JsO)e4!C1=I`mKbe``Bw{;{y%>uVp~nvADxt z1cN5FK!ZZ9-%1(XAnRrkYxb{q-)OyEs+YwRXUPg)?J5cydszfpZUAaxc9(Lztp5N1 z{|mn}pxrhv+`&|Q_u=T*B4ID8LCRhjp8*vhkQK?GDM5jZ6`+90I0GKvZoOT~_rH|q zg*3<+FVBD`97;h)4e|uPNIw7nf8@*Upp9FQ{RsT6pyNJ4qo1JFzWnW7prK8c7v-Q3 z>a6_}{K5>ptljkiX#MRx&=fu-#63X`V+rsvS)jo`R?r$})36uMIUyl$eY`}y+xd@& z^|2zR?qdPL|4W~|uu@@Q2!8Plw0g(&L2$qe9?<y$M<hTe40%|8FJ&|S=GIxt0|~9p zQXbH#9Vi<9i-Mx0)Afn<@e&1eGoL9lfL4J#c(EVkr6VG+7}o=J?`j_~lo}#M0m#r` z#MX%`4;&b}f4mmzF6HTt<;Y@ru>v%Wc(}XvN$Y?9*8QM<CS*0TPS^_;(1-|Vfyt$R z|Np<(a_awo%i0H}Io<FL7xAY+trfP{@gTjRn&d@4L{Uk`aq!ad*M(r0gkd<K^?zv? zG$ELTy_gMJ$N@Sip!wf}va?|?x<ULG&ZiLZ{o?p3(8!&^ssI09g0?QS{x21Kp#+-Q zfIH^WNl+&>vitb!OW?Y%+ZWV;wLV>@k@dj%QUqvGxInSYi?=8L{|7Iug}CrV=}B-o zZG7OhBma6|fw1uIkCw3<CETFoc>=Vnu=@t+z`GZ{ptk3a$jH|JB_h`MiUqVkhh;G^ z-w%Efu@+<i54a@-Z5eg*W@tGwEX>hzWXL`#!hGVjV0S2ob^uS~FVM;RMV!qCM63@M zy#}>Qz)o#`BLG_I>?i=LtHZnhX;<<zANzCgJ%9K4%#$pjV|05MT|i05_d_?IXQ%I< zZwDFqTQ4&)Fa-C?7<LPHhJNV|`_mcvqdW9VXDrXRLyV;*2Y<16HUF|NW6rXV>h@-_ z_U0&c0!?o<H2+d4mh3)t`E{=k6U+C@iZMG}{&AKncl&ZEO1_rq^?Cr8nX?15?&Ke5 zDH}*KlBGMAr#qOVJDR22_Ybr0m(C~_P>(8#r8|hDGnk{(_YY_$1IgCdAI*;$J7d4_ zxAue9rj-8Zj{R})H%pd%XDN?&ob|mjrtW*pzCR$kI(`3GUn^tkzGi)^Bo1_*TOo^e zAxEk8KG4Ff=HCj%;@zh&zx#eov1EtKKObh6QbmxX3|~w2dOrY*Z-KZLBn5VFAq&_P zj&4sD(2;<?Jl%yX-JTqsejMGUJg=ES{ma@f45b{_x1f_bz8`vdE_O$<boz00#<6r3 zvUK~gbQW@S`>|O2ag-)>`7p6``11cd*x|#(0t!UchFX4xQoim};9$M{y4#n7QxePu zhpx*G7fy-SnqWl&y<QK%G7wdfEWKV2c7Z&0`BiTV*xj50-L8K+**aYe{&c&3_|L)L z`Wdu~rbZKVo-JemsGGM&3$)&1&jSaB4A6BF2Osh?d+_WAwH<;3|6ha1F9d0Un#~!& z0p@l)2tXv8mvn%llmRCC&%+tQ^blyMbY>{!Y))YL2Nr3r;P_vf3d*+yJpZqOh5i=^ zAj%QY7A$Bo2U(bXQlwiHl-{*Z^!f<C3GDR{2@H7g7Ie0nD@XGYp8wz+Va*CsTgK9y z%OL{J9g9mqK62$)3=;3O1^Ev=KDe+#%aI|h+Z2?I!j1o1e<(F+J|K{NKqTP5Dae*^ z*d_{4ab|rSeBf0@Gb>1!07Tbfkh1J=BFtd*8Alu$7*Mxfbh-&xA1^tc#gf6G06I;a zK>&0d;0@3Sk{f7$mC*k(0k}0F-@cyR?8ouH)2_3Q<v%OPVcl*5%^d%`kAdd{Lc8At z27)s&M{rnop+LCt?bpoA2b^0E)c))~oOuA8i(3ppxj4(d)AdJGrvpc)155J(4zJQL zSuEYZ!F{fS&-s}vc``sT8vb7t<QUM}3eZ>&XmNk<bcO;3hR)DG*1yV~yH9DKKlqZT z*ImG|+2hCm=8iY~3=IE!C;Z`OVCWR+o$%-V|NqAw{(Jy&16YnXyx?bG0C8ABeLK(6 z)7_zex?O*;f>ws~`tx*puyi_d^m_4hdT?|)vNWg6a{(_W*)tE6Ub@_zyH5N&*m3~0 zg5S@%l$o=F1)RjXPhWoZ{gPq;NB3cH3m#gU@qhzD0JMxwARIIUaa}u*r}>!p!B_m< zr_f5YFWvrsnxB2}wEoyzWBI3BzSCErGxiUEUnnC3!?(kX{H>r3*UUGqKlArngDQ33 zKL>xZcy{{!X#Qzm#+GFt2^ubsXR(gwD0K#BvF4u&#ZsVr_M_K_5nRAc02Od*pyERE zwS4oz2gs6hCV)JMRL1#pbjP!FMzVDKvvk*UbXIb7`wD2EWAyz48js=cTM8PZul>{Q z%X9EQi+`_=;h*OJ;6gUOJN8Sj%<s-vf$nIq{#b#|NRCc#7Ep=e&CwmnVjam*8s6o@ z&eGv43@Sy~S(^VV6w5T!3WG|K^I*q=oW{W^+3PaFrThGA1+bhzuRmJh(E@gKuRp8| z;S>NB#J+!eU5x&8a&-DI{&~&Z9SRzF>U8?k>0<Qbr41vf8T!%!v>vz@G<V(|%cEH; z(Cf$8>HViS#`sTnsldU1EPkD_Je}Tun*V{l6!*>b4<mmoc&5Ab4@ep&(e2M-?GLX| z{(&l#bC+NDmaxIXn-5W;_<<`Funb0E$MSUhb99%33)^yzZhsa~d0Q<>7UI;vTq# zzF&HIK6Y2Kbb51umL*5BbbGUOMsh%Fw(u?=Hdx`z#?t%`9IW8N`5dT8({TAcsBpFf z2kSXdu<|p2JpTYmvXZ428mxXu!Rji|$=vB8@dv!c4>rWm{6=IUxB&3w$UY##%nB-M znh%OMKm5??`{CeEmSE53p9*2&wcO3;{$GCA?EB;YYu@IA51LQ?H~x0{6{wo#1($m_ zUki2zvvgZ4hyGCh$9=t&tNE}<XDo;HjiMLUH%jZfWkCkxP;;~Bh4szS=+`{W)f@~+ zIzL$7C^dxY<V2CXS@gmBW~u0l1)#J0Z*<0TK<A@4LCuI4R-k1i-QEJ7jNQ%x%@+Sl zo_5ND9qBC4EzlYIr}@|a5|Qp6aKh`Znc$-A3v%=MQccj1X*XE7*TbdT66P1a|E_<! zCxWJvnh&zPehw;aFmt}o1Q+A~%I8Xjpav`Z{>V~@f6dH%(!KR$?ayxCFWn(OS-QEj zeLr-6gr>hv-ye0%S@v<(-}zfWqs84`EY@Ber7_L_6~H;DR;~LyC>Q<dt+8PFez`OD zjdDzfOJ_`n%Rl~7<8I$K-LV{s+^=<d{lVqHpWYsDl?YL-DEW`SGxkj>H)uk`_l=@A z3$&r|gQ44tqq~Zwvy!FTi>12?R50+jfDT~phNny~j?OBU&OnfY&Oi>RyW$`zll$Mn z=6?zuK5Q(t$_=&L45i%Qq}P4!@_SC}ZbTye!&%ee0%|mHGnDf7`oR(?XEmtJ)w>7c zRKEw{M$zSWoaWuWKUz<gaCdTb`UrwDz3-3i(htlRLHU}i)5qvfcj=dIzTQg4PP^8V zrBc?ipnA4csN46CHMlWR%HFIB5`rAQ-s{AID8)gAH%GYf|K`*Gt-qJbyx6+$|9{XH z%5dm87`FRB&0Z1i!>^sbx$!iYn1{X4IQ;*ASoe(=M>If7Ha718Z6toJ4w^;~XgyHN z+I;%|Yr$?e8SCRETmdi69R&3q>SQ|Wc)*oMENCt32~dY_I>=<-C;yEPfY0T&{tmj_ z;CQL*3!{CY4gqLx4eXE?yY_;e(0t<mYo2dzJPsv1Aj4dryqLA`|Np~bFQzR3SyB5Z z3_L51yhRf<M)3M-H|QA6Cm=<TZt;#MQVa|)EVPif5_P-sgc*P9Y&CfbI@-|!Od34> z|KGAy06ZA{l8u4E`dF#@ixqpp9oN3S@Nq?uLtlu&-S~1J8v{cyXbE!n@q<5Dd!dJ{ zut6>rU_Razp~7_g!tc(l8c+ZK@0hFp^#A{c-%Owh3dT}{ZeM}#7eR9hYA@{f{{L_M zt<&IzGMZJZ_ke@rr864?!#4*Og%Ux~A-terDUKJ(lHh0nb!x7?0xx^zZ<!0aOoi>6 z3p+~#f6D|W28I`}K_l-DImRa~Jw$q2WuE^3&p+j0KsVce6ZXztg{PqNKOR8$kt8rN zFc_b-1dEn%wA|)z319*(-nj$nU(N-G7T5se1D&llpzv}P;BRwc1)U1z@)UG}7RY}s z2l!jl85tP5xVyo=Ha^hslM6IA(h9Pyn~nK+bA<&%iD*}VNk{0H4&Se!lW($^dR@N+ zy!PhbcQD|^b<h&W)&nJ0-Mt_?wNEqq3K$=7us*@xwiMK<XX<Trc>4c;aKH;24NwU1 zfY<$jPQ!El-wJZbYw0Y;V2GlC7ZONndO>Fj9S8`>V(s<)5}3u<+Y2%%FyQ}IP`E&K zLq-un>s0w$Vptd$vKV^7z6}Tixv{$y6qVf!|4rB-3wuCI3^hUL+kvg_?gb?z=7W}7 zK>^g+3QAo3J)$fO49$B%{%7EC0qypLo0-LkZ0Ir9FT5xQUjUt7w-;m-BY)3%W(J1; ztswLNgUtnx^V%?$u-Gt_D)MhPHa?lw{Ev%&%0Xx6X0T(JI=6!S2Z?5=!l3_Pu@|bK z)9}-*!6C`tngOy0Y$y}doh6!Cyb%GNVEGq6K${2Qimk!!0Qn5!nr>GCOR#<XO+Wws z|Nl}Qv^JfuOBmwHju3v6ZoW<zev6lU%%JoIN&?>;K<RToD6v9vAvhvhZu7T-CSste z%U6KEO@Wz#;WZm1C3W|L0-|{-D2f@h!D*wn)#K^^|JJ?&#g^SuL9+kBQPm~n*zk+1 zQ~=_>V+_0wkc8180A)1p1sU>Rn1P|_Q1=apDcUzcv7+<z|NnqshzKN?Afnj`>|T%x zMsQeJALj3|0*isH)&~2;+EswR3AB^^r2_c4G>|<FznS=3FM@_)Kwk0%9W4m=5=g#z zDM&wtm)yFif@Q&B%f!E3$k8#a`4?BISTi^gFlF&Zr*%p=I5dO(%mk&<It3gY8o_Di zAIN`OiT7U;s4d=#>c1$k7|0z+{<Hu8|Nl$SwTqS@57mH_^n#S2cqEIdx7Fk4|Nn8I z=&^zLg@3yc<5rML=5t`L@Im~*e2fvCUm#>!rvURYh!0k<F)$SE2QBT(2nAj7*8Ac0 z|Nnu#y&!Y74}#B$4Cp=>5S9Vj8VAj|H>~gRw@e4EmS*S$dnTa!u=cTl-WF4k<^U`i zxP*s!E6CT@_v%l-=7G!;KvKT-z51ALaQH)f56RHrIOh8Q|Nm?IEQa1*kXF!j2miN% zimU$yumn>g+6}h9c_}CtGC=gAn%}$^l#LilbDH;p)s*OFvBp_~b7-l^3$g8>x)C(y z`$BFzs3v-C56!(wpuyYMhR}QgF7F*m_`AU=u)#tK+;>)aacvt&zYJ)0=H9md|C<%S zlk_~@;KZv9PDJt1-JtWE;$CFT1MhGX$an#&u3u~e%>;2Y|M*ub{bCVB?~8V@aUkcw zI<Ln6t&i7mK<D2SUsP`U|G(4XMLb*`q)LCj6<mkCJ_){hs8<GjHd^<GX7IUW-Q4{9 zd<<EdA2OEg4|rh-Dri7^5SYKY7_cywh(T^20abB&KR~ANbh<uyE%xHiR*=s?PI<us zwzS#z3G9UJ7a(EKAbG~N|Np_)4mE>J1sxv4@xy`P1rNe+!Y?+%4FdUT6?k))^<lW5 zq+U#dD*z8LzL0`?<^sesHmIKA=ileU2lmXdfEPKSTXZ^O|8%o|b75m)EHMOm<AD+b zLu9~z(I?<Kx0D;2+FYN!X6}rAVj26SMDm5<R`52<PL3BMaNDtYuzf4kgNr~mLE1Z@ z*+I|^5*(#6FRpEY4~v4^EpgykI}zgpud_gdlGdL~rCw}8Q)2~D^P1JNl%oiA=D6K| z(30~HFT&=49QCEw?Z0ItM~RGwr7K4{7ymYaZ!TQ2ETtbncN{f8WYqrX*L}<)_D>0H z5)icP6+D6fYO{b=^t=d#PPD+>D*{@Q&|S&_x-14Xohbmi{zAa`z{}^13=G!L^AqG= zaBe}Fy_^J|sso*#aDWkX&xuGWONZR+li{E#(ch(V9da*jY(~+L2+{BobQ2nQzVpqC z=GmZB{=qVWqg3>NsYv+$Ql79Ei@88;3W1lPyQ-RNMgD_&;m1n(yZAde9Neu=m&kjS zets<l=W=+Ju>SWIDSZcWK68hJgY{+pR?rR{3whAV<syuwro9!QV+^hT70LCwz6t1d z{lmYFA>f6<e$f02Xd~5s-#?b6e~KT0E}Z$Zf|0-VFnG*g<bP=t=)R{PjAd56HEjPn zYelU86)8f@5CNO<W*@=~5zA7M;z!-CJl*HDeMLa~$yqw&U$b<?u>H4){ZYc+?fM0@ zSU)Qu0({3zhun+pn?Q#)z-MF~Hi0sj2(setW3N-XPiUWO{>fD1+gky30@NE2CuCwe z;kdS|$O^_1nGX3EA)EgH?>>>G717BEGFKe5I3%&)?`u8~59TEBn$?q#<k0O3T1+a` z{DPy=;_h7r2GB0Wimm_uBQ8i0fy_68j|2z<&4GWklx@*;WGJ-=4hF5A&q#R%8cJmZ zO{a){0Ozt2j!s*UlGmb;+|~?Q7;>ByBm~+AXBjI}r_}8$((NkXX(3U<;b48b^jq`E z|J|-4+6O(XT}5gc9Xee_7J}3_|6t;8Sp!O#hxuEUfTn6d3ravUQ{Zcm6iPX|*+93- zxGHp;z5%U$IA9s80$LU#!awx@C?~NT1uant_+P33S$)Fa($C1iQ0EMp&-mW_gQ>{8 z*TtU0mVt$Vp<MVypE3hO_Yv#EB{Ihu&YWRjcr6(4g6GNq|B=>*OE`}+fWoNx07s|m z7f|`}#WMB_e~TR>=oXaHFaN=pH-T=KPyj7P;cs~i8s{<vg-LL5_<xWBP=@?}t@}i$ z?+@$Kkgea}U3oxOmuOnX%J8><_I6tP%JBCu2dz~omHA&Pfvof81kgm<={i@4^FM-| zZ`td@33a~Mi}Okh4BcO>KbK@3X9GFE`54D*sel(=p!14Qe9-;jHIwl->(3>Q;3X{x z*TLdYDL5E(dlXA>@N2gJV26Md27>|;Jni4<`XlTGcnkIa(l0O8gJyPIe?-2F1WmET ze(8+;U>VB+i5-znR}RZqq^JUw%L)qM`Mx)xeaD~$L5iR_c2(eSxy``95F89zW$?dL z02FU8>=ZyHghZ$77wf|%SGrAKfENh;FBJjp*#Ipege(p!WjFrzay#glX4~c;56Uf? z55PlZry>JG_aE!uC3largG1#wI8;nP>)cR7<;QC#<NwybOSb$k{Sh4g;=m+O9_9I8 z`Xd}1yI&v+6QIkHN?DA*y;l8SD%0!w<A13{KsYFHO5eQbl?UAy(pmbU`G~~#d(z*O zOMisF=ml-)do2YEO2jIM|Dqrdb$_so{ZhgS3d<iGL3_SjKUg0w;jwg;04-8|3Klxn zoB9BB93ZF#@j`tXr~v^k>cI;mz=yslPW%7=f2l^V?}z`TDqz=uQV`hbpabe&X#4^B zM*-U^iNHWaMqk*W>BtZa&h0;~50_ej)*Tsta|;9K^|1e<KVaG16r}LA2~su(t^WcG zvVsi(=U>oq2iAxATaJUuSy29c0lKFq_J?JxL@7r%J2?MJAo8yQDE|t8^Dj>?JpW3- z@-OH<uR5E?{~!MUuP--2&byaD;f|Jf13=4rQRDbV>+O=vUKaa+EQa70_a=ZsgeN>0 z(((c2UI|d{1)V!30-Ap2fOxml^+)iFlb~Tg*B_CuOO3yQG6&f4BAu=>C_edLD)Yh- zdS4{CW$140Dp4W_O4I^@|4VrS{+CL;$dm=8k>(>3)}Kr6bb=PHA*F~?ng60+K!X53 ztUrSe=y<jslp>DzroMqkzs3|S(XTWG6#XjT=vP2XX)nb7fqW{1E$%^U8Ct*bw=^;` zF#IoLc~Q0=bPx;2i##yR^CAsQ3%rN}(;_dzz_i2*KM-y9!W~4FDZH=;(<(2_!L-H; zeK4)_LLE#SypRXeCNIRnw9E^BFm3UI9ZcK2_`eS1LWlol4lll}1G&KE#Tzi~@!|=X z_IYs!Ob5KU0;WS=oB`7jFOGoem=}A%bi#`*U^?Z+8Ze#lVhNbec`*k}7rdAPrb}M* zfa!`CEnvFlMGe#m+du>MFY-X5+du=bFOtDb&?yoxBEU@0I`9|1U?!+ge&GaWPGMkR zcwr7^f^H#rp#x@u7I(c+1T#VFjbDg?nV|c&UvPt&D?r*9z;^4z#X_oPNTigQcC%Tt zf=^Ch4|s8REhr&?ZeQ~Oou$AY@ZvOBq>RJbGyp6T_F^YU1kI4TZZ{rl))26YfEUw2 zD!SbStXU(VBCQY+5o^{Ms7NtHM8cXi0V<LR5s|TGO@WH|Lqrs;Su>y_wqTJm6>HNR zut?YoZIB4eHQlZppvEWYGzj+YS|01)<<c(}t^_w5I}IT1eXW(CG$7J_?6pmIDX4kM z(joEsR`&%9sS*|^|I#1Uzf0bA@pW)HxmleqVfHWmZ2h}bphMzC6v!Cx?Rp<yZw0q- zV7qcaw}e7hUk3yPfTnaj8M>Ib4wP^<A7bQR&7$)9V|OV>^U43co(#<g8N1lPQpXti z7qh4ozw18Od_)1Z+X6hEYkWH#)b<3q4cv4Vg4zbksxVKTS%KoI&=oLGT?J_cwVY3N zhYDC<1~;NFf}6ddHZNBPhl7*V=@L2r($B9YyI@=nf21}qQ-_50@6v9No>Km9SDvf@ zP?Iy_Wd&#<pWKTekj>C=Xad&`-M-L3KV1S3bRCc?u{c<uZ(R;^p8+h;C12m_z6f3z z?q+ou5zvw^J}w8fVnNp!etdlp>UGevO*rm`T)oZl{Sav3SE)@mlNDpB9@l{qHLFC% zQdO=eC9(%!2v|8Xl}d6QC=s+uWG)qGKFHF1h=uD(>80-f#s>~hkUntnLGuB|!`}~q zT5ly1T};h~7_AsfpEn<5<T_At=lda0L$YK^S~pYkA&~j!xDJ#Y1DSu6>q*Jp=7UVH zJ75k9?S2yu>VAO^)~n^{KG=Pc`Iz;;G7jq>{7s-1W#doKs>dRE*iEQn;bG0s`J12d zTmOrTFXf1fkA0~l1;0X6^x#XT=10uUKRJrDJ}>>RGBsqP1H**w<GVnfZGOp8#MAtM znfb(jmDY?24h;WQdQ(91|5bWlOmJYBP%*)QVaWssh7%JU7?eT5%iiV2*x}CD<;HaI zB~ynxQ}Z$A=Hp<~&%jOZ^+c!zt72?E#?*YA3FL-la8(l^<~1K<1iA1yBS^LbF5BzL z;62fS!D6BVgTX`x291dh3<?t+7$hb-FbGU^VBnYtx^=zpNvBKylWv#37o9HsFS=d& z-gLV3zv*`A`_Spq|DoHZ?@Omk|Cer;z8{?~{Xe>0`u=pf^#AE)0ZrjBFn?hF0S%7s z{~%B2OmtwVnCQUJ12Wr{BQE~r;R#)A9qipmY>4lnBA~m>**Xv*(&5eom6_06V)zF% zwGF+;RR!clNF?z7{k-(gf0d~pCOI&4|NnmTze?|dNe&FXo(!-!`3Z>=ZBU$inFx*( zkm3m}lN=Z{COI$!Ombl8a${D$*x}CH{0<y?@4=zB3CU=X+n{O?arKU=`8_xmI*?RO zfSJ|h28z%wH;{=P?u^avn48~&VwS%Nw21&oN3SQtl1UB>YbH4`Y?<W1uxFA3!;wi2 z3}+@eFkG4B!0;U8GnYP@PM3a}ZkIlZPM3a(ZkIlhPM3a>ZkIlRPM3axZkIluPM3b3 zZkIlePM3a;ZkIlmPM3Zb)VKk8yZb-GWCsS0$qoz>lN}gzCOa^|!nn(gxx<|q%7gf~ z!<`x83#cf_Z*Vb`xPxW3GiS~aSKfC22N$$F&Cr7OW3StPq>?r;5HxAjUCPnv`lH)b zAUv$o_0J0tK?a8A^Zz5QkCzI*$XxvYKV;o`_wnxQuf6`4iuC&a2?TEl5M_7>+Qjt3 z`go}@q;1-IpoBBvMfBqT|07?Y2OrZ9y^tC*D%R^_z|x@b7j#5-=pWGLx-5|l4bb3~ z|Kk7uo6r3R-HcfJ0J<z*<^=;tRDt2e(?xJM9P7UJ611<y7<Gv5+9L1}-5$6?$Pk^& zB5;BG`UGTD3)c``soIOF5Cf{w3}A*B(0uBD_o3I(0WS&!K;5a@Ki$xQJQ;YKAJo}e z32yocbh_T@41Mrg>V+=cv=^pe^P7F|fKS+ht%3wC5bbuo(;fQY#iT{hL9ewSD<Dl1 z$US)A)iy6Amw=iiz8sy7ppgXLW=|fD<Bk%b1v0M%n>~40dL2bN9YI2%61&@xqdAd< zp_38X#%X>d5*!x(B55aRUG5)-X4?sxjtmUlH~3roKqsLwd;#s`ngebLgO0$^0*!n_ zj==cx8GHl=Xf{ZM5p;>)njQcDA7@c{0uo;gGUorafEUvtf)~JoQ$Sm7t_8ekf(UK_ z3(kNF=I#LPvt9sRDpn$rF$W|GG9eT!K1b7$VIhdHK3w8&DGO3o;vVo~^A6Cqa1gKi z!;57gm66>)TECU(wEi#A0QVv!dwqWdX7Tj;z6s1?4ETS&^*{;RH`gzWrJRkv0-*Cy zUt2B&xy$-+i9x`NWRMZ92TD{yr}q45Jy0UE5ad4V!zIE2FWjJ#9RExIfaU+2g1q@c z4=OGI>A`?H#2^K)5j(;`#{&CufOc=3tC4H|$yCSF{FAv<WFhDp%GVlTs*@MYk$xex z0Cnzl)_ibEZ9efIvRv2$lq)P3fX>P2js+bUd>=Nmd}BT+Gk^v@A!$4TuJd&;>?mN1 zES49c%ONw$!7oI>8+AY{giE-)i~lsg<LoSb@|wB36n+e_Drgd?_CcvYFnk#q%R>i- z?hoC^Ui_R7J`V@9%AoW~7Rw9eWuOg{SxhhbJ3$O^+Xr&mD57Kgjdg;oBLibt2}c&! z3uDkw+6%6u;1fnTvcz8S9R2@45~75OzXdWgMvMC+N?CecSvsK?c)@Rx0N?x6?eHfn z0CI&?FZd8r&?OgEO|VNYKnDtfuZ!pf-#(GW0J&yDl!3vab1Ud_3COh<|3yR4FP6w+ ze(|^K|9?pN92^!N3SK_XF%x`q?~5=c28LKr-|}hf;coQx{zjk;6Wtzvj8DAS)Cykj zFVG#J5!4-^67)g@)TKYdfw9~lw28q*MIbaF>tBYzO!U1A0lh9NERdTVx?NN>KzkQJ zyB7YJST)zE==?8Xvo2B5DbwvWDeLCh-07pj1KPGwvzdjVR2;Hz!DTbY3s2DK8i)Zp zEBf_zkh7szLO?ez7#~RK244};Sjhr%L#aS_AWwG?k7Xc7DeDeU!}4%&;O;51jtsB4 zp$yPn^`O;J&MckTJfVRB5s|Tx(T7+V{$GF;e9dn}!ovTTa`gJXd9k$xG@32YUCIM0 z^GldI4XnSH>b$r(2X&1{<Q#AYYN-7II;jORC~SP-<qgm%daXzaPjjsZQ_acdS`n4{ z!`;4bg1h8Eckt9PHt&R7ge?vlfac$JIEy3TMe0t_oWPsrBcRK$CxS-3`L`YB-_GLH z`~Xz=vUbV4zdqjZTep<0*;j(;HEY9f?Na70dG~Htk=6tJJ)je+z{ij{fd^7m`1>sx z!Pk0dHT*Ux;XLjt0=h5lwMiGdO+^W>O$1no1GGC`@wlr9=<2T5T+KfON`)JK8<g^a zRk7Gal(M*ktk?*04yZi*Z+z){sR;kJ)BM|c{JtGzDdFJXce?qd!E5R72bmce7)lJg zPB*+vZ1^e3zwdN8bMs4u=7T4#eMO2Tn|&oXEM5N;sh6@?pDI&q_LX3123`KE-0dpi zzk;Jw0mLg|?yltlEtq;8-5vXfe|@Y7^UcoKKOnDn?*m=pw}PcqdIe*tZSw=B63)h2 z&;cI}<(#btO0_LZ|CFh{Fqr-S|2J0&#^Vg218+*$ntlKLf6f2RRe~vtA%cJE0p??! zu7A2+L6`0^by|SLOPIgM{y~YrZr4ArC17d{P^63xfLGswiyz|y0q{cElJ$j(BSR^B zMuoH^!)wNX7puV+)ri2lsqhvQ75XbRytw--Ec0;mS0v_w+r}aw`Tr`tGv+!lOwgF? zzz{OmfuUk9k^L2r>4f_$AXT{gD<IikPln%f9T;BBbzpcf*MZ^2TnB~=a~&8?%ynQm zFxP=$$6RXlS3s6^{|9+mW}X9s#ykfGn|VlWVw&|=7R-nDR|4ka?5`}D2aXev;t5;k zIWXLq=fJ=)pFn>Fq#DwG2lr|4^jAPCL2Y`Nx(;_H0{s<`j$TiOkogV_G4mZ5Qsz4_ z<ji+qD4FlTP&40wp=G`U!*r0(sM22nS=Rl3!+ZyZ9rGO+PRw^;xC1g9)_<g=zXHyl zpb@t4uorv5m#X~uUlOozffnfSV#ZR=Zw;VPKgLq-=6_73GT$6r7)!*mm|jc*txsa? z{_&y{q$kq)c!^Bdi&_vn;J+xxLkEV|1EpM$9!EELDk1E}P0;Eb(7j+N9gfIjE(R<N zt^Z4S!e1Pn2HJmi;y<Lt77Lm<&j7WuE>8nhFwjK-z0<%83SJaV1GTb1Q|_P%bWkf9 zRQuF$z!wFiOau2gyx{5}t+7i}!PO8kivm<Y{y|z4zz6C=oc;%DwYffd&Hv*4RJaqc ztO7`y2JJ6^g9TD;f&#kRjb}x3iQEc~5~=@X94~}t{{P>Y#`FC*s3jTM$=2z{(dotl z8z^jk1KAc0KG`|U_?xBa2GDq-f3t0goFl`(Qq~ubxEL4~f;iv_q#ghNGcdd^2<!Fz z09t0|%MlpxUsMDVAL-4uAk9prw;&M%nvFc)2{te+EQ=Mi9t^Z9j3XfIzo@`N2ZjLX zx)xrr=|BIMEDGxl{SXuYQW*GOlm~2TNpBkHkP6UDOx%k(HK4Kh<E$WSK+THRkHN_c zv@`%T@ML`3`g4h>WvoDnfQ20BbZZXl!zHZ7C(}APj1Pe3>%m>u4=++`K=BRQ4qPe^ z*^tYg#=ng(t&;;X!4En9+W3IO>r<c&-u&Cx0$w~m0-cer?RNdp-2rMcH2-9*Q?>LJ zs8KM!WEsoBKlM=1|5A>?uq;mSmR-;+Y3qS**AJxv-M#|WU@b)o7IBOv(%lUp{opOa zptCr;eSd(Cm3tWp+Ee&zGAPou7#Kj?gG*p%af8yJ)qhYFf^7m-cO2cWAF>!xZR2kR zDSEvN94w%P2?CILv=>+Yfl{RaN*x&3>!ZS=eM0)c_Y2A=x{s(beE9$0`a}^|_rb_1 z-3*;9Du;DJy~|dH*Dt~5fo?nrZ#_^G3CRM*f#5zhc)d$6bh!xs!DnpEHhlj}O`9PH zu7U0bE0t@0!B8Rqx{tV2I5_LeYmVToudkVdv%dWol>l`z*gIv|j1NS=7JKn`63FwQ zO!tCyGB_VLpZE{nq6*ry3>jdxJ{=Zb6K%~4x<IfvxclJ2AFSOUdu>`lMM^h2WSD{Z z*f$3j#u8J|+HeD?Q%YsEPnQUImT-9Da78l@+kfK&uSH*!BV18G>Hq&u(D^0t@MD6Z zgA)=jl0kEp3Jfni;L4j%{Es~h>i!+8QGx~%mJRyM2SJW2Re7NVGTh(=$0T@95bW~_ z6G3qWI@9MhQ#S*sH^`IG0V=1oC;k85UCRMpk=y+p>Ql(dT<Bpu#<wlwI7-d3xL!oe z1QjE(e?WXG@C`WN3lZ~oLXvSQXi?68HxAf1gaN4k7yG0{7Hl|Vl`pg$?RBx>34mN= z16q9adLpPdc)Pn6)U%VA0q+5Vaw*1H1idbdAidC=e<U(ifV`0c@*il)^ncK`Ox!PC zO$V>>E#&|ua?nz}EbbRGK?Zl${^_i}(fr?mzZbM6q}yaKD2_q%XQ2H&ouv=DS->K! z;Dg^j@Hc}N$9;2SVJwYluH#@Rwansr5dbpC__lLr>>se03?eMRg8-llfml0Z@4ROI z@5TXY?Y__e^|Wg5FqDe-#_<G0JPtCnL^}9C_zt7yV-ByIx@&KAmp;hidLasO{o!Vi zhG)mzSQwl6{%b=Vdhj1x_wj=dSeZX`mOg2&ee%Dw(*312=*mBbEQJ^SlRz=i2|5(L zB(awV?2%4J=)IcVf{lm3o;p-4j&`?Z^8trW*9Wif9(>N)S^ESWUESxKAIcwm$OetD zV=f#ljNvbiflgj-Jy6PmZH1NU1kgTf?ib;pDiKn5G{50N^xq*jw`Q;iFo5>-gU-_Y zFZu^O8C?p#go_JQNWVw`T~P*JXZM1!98@%e%ZcVUCJ2MNT?M**B|2Sibi0ZKce-Ba zW(ezaz0>UqTCLydd#1DYL1*n1YgZormU!@(QwFF%?fW7Sbmq1!qzEmEYp#94SQ-I3 z^b=H^U28p1;tdvZ?Jm7@-1Q2mDro)(k}AFNLTxYjKo&Ra?{(3Q|G;zC!M!eK&?O4` zFT_CB9I-xLVgX%uq8lFmzx2-k(i@;DX^#JwyFq7o95z1i@*)FhxT^xR^xyh8%9<3= znzq^}mbFhxZuGL41%!k4PX8+e<yxMw|D{h*jB7nmQr{hW#`=DVEXX36V2}#XiY!R& z*Lt8Np)>Zu>*#LT4G$a`ENicnihvpta8+RUl-Pu2F}{eI08KL1$4j)s!@~j)imZ== zHk3bjp*j(i?Q0*r=5DUN^S^|(+xJ2zBglE>w?U(at`B-s4}gXrK=tVh-%?PV!TUp? z`hY|GMDs&_=7Z8FxerFZy!8{bDAh*=EXocOJ@OMYHu0wU4F@QLmi_?k&IaAvByjL0 z`)jt|*`P!C()jb)()jcJ1k(8P!xYl^^W#7_Hi0g2@&{ew6t0lQUmtIf#-E?&kj9^% z7m&uEUzU)@pI=vy#$TTfy4Wcnbg@%8=whe(f?n_}aWD7`dC$_t-K9T3mjuCXc#`R? z{nA<b1GFG9mZ$sh%<dDQD>zSSpK5-{Z+uGo6zbJa-50s9mwI)V3Ur@qepuh>`@;HT ziLmxZ&}Mni_3_O|K$mBA`@U#BSyJ8|3)-v3d|CTqXXqQ|8`?KJV?T74zUi+0(Cz!; z^AgZiP{G#cOHIGuY(6N^>H7p05>Gxa>GtJd_I=VF%EKJ`q}x?M+x1C6P$2jwE{F}U zrC^E$x-TAl$@F<?_o?QG%wR)7C*gs-_yu%{6*x;}ae*pxju-qN!HFyumSaIzf`o-z z#tQJafUXFGwr^UB|NjRq3etPAwi|V!q-i%uKj?50c*_Dbl2HG0CTNTYG*Mh~8r-+H zEEOozc#(&u{aY7?_U>b^6Cg*cl*;}u6$l44VVgmV?vL<*8dEONw#{qnZdVTeZ497x zW55e{CI*K8t{mMT__wh`L`=aa4G6gZ_Z2ANu>M@aV*R1ytoDcQW3P9Dr#_*p=)f&h zaQEKQvXrA#{>7Otc-;va5PcB>aUs}KuhlI}c}ngy)(U_|E6Oj&#lCzAI-eCjQt)CM zq*W9LIxQ$5Ad5L5i#daVfx#ie2Rt4w^U#4|F{p8R7~B93>ox`TJV3|Vg8B+2%mM$e zEi90O93l@Ff!^}dYzsPA474p6bch&ubxLwL=nQsCQw0S_hLYeH$C$xGLSEhA6USP= zl{kQp>aqfbU?OO!x%<a!^?(;)Ag1;4GRbbX1{(|8QbAA<2fWCGgfZwiisoZ1-E6G~ zN-u*#D)w+UTd#`+<LfV30vQ)T)$P~L|NpbtU$}!x2GGrie~b@w$8uQT0}Ur1E0urI z36d9!@3a6NFckJes1qE=owZM1g3eFuH12lgu|5VGbu&I-SqfS$WPPmU)c;a}7b2j; zD>_{tSRX5i2zaq>JLnuI_bkTn7b|l>M(}hpTOTVGf1%k4YSV!xI$p?if{xMwt#sD< zU-}?C;Kh*#V3pR#N}vbW=Cp$ZL|}GWbRveRL2V;Y10<^xRCTexn9~n$dw>p*4*Orq z13E#vy#Rc|2KeqJ>wCo^-M%lHp(A`Epc({pd|ca7(D2@i<|90>dAl1y<7uGNrJElx zf`YTV@eKH)7#4|_pet~pCqF|@gzi54612pm+x12B4p0-GvCgm)+lka$L6HVJZx41N z^`DN|zsFqvF+{!=eId~S3J_2WA9OhNpJT3n;fGVR^oIV(Vh#!fO|XUiF919EMI-1e zx+5x}8JK*~65}6?{M%fAlyLHI^Zj}70SEU%s1tp`hf{<4Iglb9JiZm&?JK~2vc$K$ zl%u<rXS?I(sBH?MF$*=WCtd6%>Rbm(l$(z+HXmoSdS1k4^|+jg>6z8>A~vhT<xEV+ ztR9qdH@{>oy=Z*W>Ol!7=wzS&MNHpsb{~ue%`$_FCQ#=KTJG@VgMwAS__p=wQejZ; zhxJ~J54;3zcZ8HllI^Hv(!w@ylq0JLXWy5gH9(fJJSAttz(tbvxiYC2ciK=jr$98n zw(oZR0$T1Y^1oCBwDb#<i5OTx%NYe;oBc0f0f`0vFXhN!1hr@ictHKS7js!a3KXml zmkJ=;-hJ#ffAfKV5Ftp{3>2tf--3!^Sf2`XhbrQdw!pyPFyn9G-L|0Y4LVGY-TGKb zDx_8i<*cm#0bybPFN2O(J5~~s#Tf9Sw*yk0|FJ$+;v5zRno!O9|KA*>s`WsLS+DD# zuz(j2L1!gKwjQVzv@HEo!UH<d*by}C(pmba`8Z2AyY;csg`j*Neey79YvDJL0tJwQ z*B`(q1No>3aGwB;wwH2tyQr{ye|SiMA^7`4=rK$wDk98~1DPH&UyeQ`zyS7Sw=c(Q zcFzV2h7vZ1){~`QJ-b~wv=4&M8wQ`Gri0wP1I;TM|L?xl{joFlPN(Y=OWOo3(4yrm z#vPyq%K=%80pa2QMO7fZd7k5}AZbvG4Q<gfNEkG8X;~{!r}n>8p!@I(P->6tbQS0h zm9V~EC)e%zB<Mvn=me_^k)5FuuZ5ax1^(AQGCuGUv`D4-*Z-O?-Mk=Untw9!xBO&e zV6Z;V-|~?Ww3*z&`b6oq&e|K6wKAm~-F%>9Hhg6)YeALGb^g{_px#fY0O&UGh?k{I z3=Gy6`1^C27#J*F1?pI`m|wpHl^mdTexjiEY3qTKE|4=dn`>V%6+LLEeaF!2`mW@9 zR{&$nrIHI>+*TY#ELNw=Haa*oSTK~nc)i!MR-(=Vq#ATPlfz3PCeQ&|5MA#fx?Xhq zKI!7L;wa*<I>p~s^8f#Th~|f{&p{S!f*Owk!C9OjS6u79(HVQi`aXZl|9}7g?*}bw zZoOUS09mX28MIc}q}N57!}@r+@C!B2*}_LaQ=HKDu3*56CELI~E|fOy1IW!o&9x60 z_*+)|`~N@qf9V5oRe1;0FqQ$$vhue~0&hP8<pPQSrBC3lX}w)iUFU>kzZukiu@}og zhZ6s3{a+G=vLsj$!wHaayw?9EhM+avVB;CVo^3r)A`TL|0(KA&Xx<f^oH|`^guj>% zx&`BZ>4O*3K*zMX-iUm;6|~pozwvF*UA*8$>)>V4;CP3uV3z?E4xFIlb3a5j|NGD1 zvg_~v|JJ24B>|wRx?We%V(2?z|4U_F=z<j8Xg(qVy4`BZ-~az13M2ylgKljrm3hGf zQt$($;D0Gk@QdZGptGB@LHA_E-suGO_(0x(1mb_t(o>HAq6(l9j}NW4OZb9cl(+u> zAO4~cq${%fSa0eHc+-4SCa7r+&W(sg$7?`$-IS_yhl>0!RRFI&g)BM-6-X}<z$=a= zu&p{pDxxzp|Nrj}1r^bkF^Xu=s$obGUDk+N%KmG>QAC4QVImjN*UF?`SfXh@2+{o7 z8#Hj{Az*#FR1{SD20;Skg%SANbb;6Q{|h*JT|a<?LBnX^f;uqZ#ZPb(4OB);zqsE3 zsyIRIJV@CL8K=WnT!%p#SFaU8w;XW1ums<D!2`Mwpqs6Wh26%sM7HHXi6pEAb+h}J zHY=#TcJK$&_Zy%wQUw3?2XJfzhIfN5gFWB+zr@Xwy@a#*Ad5q@B}3`=Fo!IbfEPQP zz`f7N&eA`v-%2I2IA3IC{r~@(FW^NoXxAiL^D&m@<1CS&L)uGUE3$RF{z0lpMIg&I zJ7d3CA1;-B@u40y7Aoq&u>dOO^TN6f!aGa<Sbr`F&aw@AAr2b*{t+43S^LKNcZq}b z_Yxc90~Ya&pzX=7KNf<#WX&q0;K)$Q^}_W3|No1@B8N*8K#`|nDGREzN@QLb{{&Cb zd%Y;FhlMnF{4M(AVawPb{H-%UyOdd8^f!W*a6pVGxz{NH(O)W@#qy#AECn*o`f$nN zP6<f(cb0yz{#>#}8*~NnpBG7>lU09M|BkE)vXm?F>owW;-|R(B)BpdGma#udrNKuF zb-QwON`M=n-EJ(MY~8LO+<Q%SSjv@tX#5X8jx{TbB^-KI@BKzlxbRpXE(v|@2X^Np z(B_TbwM^gd_qsD#ALs8e`~UyHEl3}KGiU%NAd3a6cQH&ae~S>PW(ob%%d?|X5Ok!9 zFGr^&IGjLXRMB1fCyO!c#fdfl|2srF1iZM=0BY_=Mq2+ai3tmPu>mR`{^H|RuxmgE z-a;1I&a43mh;;k@=svD}jM?=~hlIoTo6;x0UsOI382(>W16(tf@;Cc_`TyciEhykY zZNu;vk)W`&jQvr<2ddP)8$pBC9Fd(8-L79=W`OP-D*f}q6fSCf;AJo<U_k?=!N#{i z85y+8%@I6}{z704C|$aRy;!*c?rx?3r5s`5FC5Sv{GuA-;Ny^al4zvfCTOFN?}r!4 zsbIGl-?lzns`0|37B!t-fOr@=j~X9%T@uz^`UNx^X$4xD{{nQ#R%GOBNB(UWzquI6 zvXn?UbO~5pF0td^ev*INrGpPSxKCO7@|1FWyq4wPe$g_Nr-aubjei>l|Mrt<)~8F4 z^KU;1lIH_iBM$3jf_aEmCrYyoRB^m80yUtI@PNm`d!7DAABLW7+MA-nV0@s<MTH}{ z`^Lcs9Ni%*&~>#XqFr2|HL<5l&bOQ_34|`Tea(F%y!-IM#{yy8H@dm@|Nr-|uKQs3 zcjME{ADDkOfBfJ4;lJ^D<73T-SQ;NPFfull%BX^<lFJ~9v6Q3n8R$T*(j#&4(Z&Z3 zcRT&DI$UDba-ihB)#DQNmM108K`VC;mx#6;D7j<xxP-0cNy(Mh)8gVGZg%<?7ax7N z*Xb{W`U9f=t6l&t-vUK{cPMBfvi0Rs*%xc7QRBu061Si-M8QI;<bJm=kM-%28{Lf7 zhf6M5NR*rl4h(uB%nxc8^B^K#raKgL+8amKzlcuPH=UtRtUr`Wzeom|1seaZ2Ble0 z_Y5?E+ri4f5Dc1$so}6T1&z@cslTwS292V>kViNMr2573DsVyr=?Vm$@C};03&$AA z@A6;)oh2di;&T<)l$%vB>t1Iy{sMRH13F_rSYPIE;b3K8_;!$qzx6*0XzL_TiFucU z3e$lLKRR6h@$Wm}k;M{OBI8lY*L~>wg%yk?lFg6)b%qLbyYh6pet8KxJQ*TUs`#QE zVplHME>MjF$;)3W!7hGn(tYUSi%wqw>w`tiovxq-VK1s`KqGIUty86PFHFJuz<pj@ zFcY-61LV&P@Vq8y-wnr$nrr|6ck_3;@M(ayFdh-;4B^x1=4U?l&5^~Uq@>G}wc#gM zNe*Z_E4_oGo8RHTufTEF51^*=F&92oE{oWIC4SxfT|RuOAcf8#g?2E74YmImkGp;V zHK>od@Tqc@s(@9hfmBL@REoe<9(Vl!T2Xz>g-?wuxYzduXv23vH~W7Rw*R6!;G&7Y zr5aSd_`a|{&EHeN%)nsnE5P5L4iaN$^!?E5!p8EAp@F{zbZ%rr?LQ{|7BNs0`g93z zx9^t*ORiGZ1`d|j%nb^^yJNp}yMACk+!-s->H5L?27fbXC1<y<Ko_Hp6o1P)&=K*x zB|II>&W@eF0xv<^J-S^#cvzn(7VmXrY_Q-e<#Ghc9AoBsUE1j?@H+Rus{rVJnim0} znZ^I8?uJbew;m{UZLWR6P+||+u<TJH(op-Kt7PXfX5Mc0F5mwhK5VS7Rjp&cl(K;( z7GyDI{m=RjY9`*e0*Y_}urSLpW?pB|SQqFd1b5IbdC_imi0>Uheq?&h+Qrzx?A(1= z+w}`50y<qk@VA0|2<p0nMj5=jxLZzEusOd3-9%x0z=40;$=CeNKUnI8tz*9w@p<!a z<92A+`9RK*fuZC@moWdfQ~dinLEP4prMxd5l!FpJsBU;&<!F7Pl!f`mYX^9OQE_hm z!PF7RTEp2T+|Az+!l&vCI_nh1Q*+k7@mlEnjhR`DK>;A2{kshIS-0yG?bt6DUx2pw z1^+MolEnZ$asV{;-s$?G^*||f*IB@e)^gDNx$m3*-L7A(U3ozJ<+fIVhn3$n|M<t> z+6@|7cm43P8A5l98=tg3%s=%Y^MOv+51l?@2Ct7<pDy9+_WhF9j6Yd`&Svg*72w~_ zk=FcEiofML0|P@^^H1Iq{<KbRXJ-e8PFI1Kpc^y0eLplG{AYczSgzND32Z8F^8uDl zSAi_9m!LU&P%;87FlcraV1gzTCeS83lmw2HP@=&JB@~uWG}4-De{hv-%HoYk>tqHc zmLH(R0%H8^@L^N!W<Tb_rpEPJ3zT@+A&OhUsplUkjAvZ}hcQH)17e6XJPCmge|;^{ z&EH$X$MTI0l!W-0UUQ^%Go*DgJ3DKG_jbMnUoI#b^T2^2i!}~Bo_4bolnlTH=)+Rb z;R!D@L2cw8x%{n>|Nj5)jD7Pm<{xOL7<`FVmO#b_&?w;hQgD?GIrv~@DR^%6MIYQK zP}u}Jr^y)k;Bmzl4PXmiq`}pJMl!-)yek3uO9X9=!w=}RA?V-(OYm6%`#~c{_13-u z(kC5DMP3*|Op^ec1}aovZwPoH585#c8ZTk~=3;?*GD6)?kTpD@@j|f|k4oU)epLeU zHnwRkzf$O$h)j^Fuu*b@VB_20Tm>4!!n;3o#y;qX{de5;0;q8AjJ;CA*%^D|nCpLm z*IdV4L2CsWI%5C#x;_Ya!4JCU3ek+aR0ML2NVl)R4$z5*ttUzazaM09U}q?0wRC+@ z!qVXTzX5bZ8ngCc(Cp*^@R3<1?j9w29wllo%t20;Xy*I>LaGG3V+mZJbQ-)^Tnsk$ zC1|j!GxW!6$!`ZaN;tkBWME)tD1CR_6?BuM!)xZw+8^DnB3S~Udtl7950+?YA1sm8 zK3F2q{KBDhp=Iq4a7+KgYdL6f{#q1T`oHFZ))}B})E~NC1$Hs8GcYJ0+6fvous#UB zYQEmO#K8J+iH`O05_ww&CI$xn7Es5|mVudpfxp$^|NsBTUEhGJlGpmjUEi>P)+wqT zcYOn@HeSoxf?Qt0Z_B{Oz)+H4eTcu6AEE(NQFXft9C!T!+Tz!GyhN;<mqWpk;rm5p zUx}8J73{}dzkt-Na3~RK^!>uXz`)Yz`-6djk)hf51ItR#(t{Fa&e|_46kzfkuSJf# zz5ySHwQPkz2|GlWz>CEXL5Jyr)~86lI9CK}B!B{XV-YC9NH8!kfJ*|<{Io4-L?2Yj z9S7}1V)$SBrq}gC!2i+@|4V;>x}(>@*G2y?&F%L60lLTNfbt3J6Q$bUTm=|QR2x%& zfEpVh?Y*uS{+GVNqS2(=4A-8Ae~?8n0Wa)}{{N4BAzTC+3V&I`0-9ib@?X>je879D z3qb?AKZL#bQ~3XXBxs@$ycEj%bLoZ`hYLZz1+Bt;y}0=YQz=`6?|+BaoS-TIlr%X& zs?A=Q-24B(o2~l-=+1y&tlc8uJNzOKK46RN^8Md%k`Z)TEQb8S2W-7AOezfu4IRFJ z8&dyzbol<~2OqTf?O+3c%SI*!hHtI{OeKX`OwH&2hyOQwv6utgfb4XAVST(*@`Y95 z|No5^%?u0-CBFa7Uc9{d|NqNh|Nj36)!Ban{+o5g{&_J8JPZKpnoBj*{*fvb>2`fF zGbrG{*^32iV8g7BmmCfb{%`ie4Pv<U@siEoT>m%lw-_)nFzg5A#GRmXW?O3oK-={m zC?79n<@6PJ&CKa4(CsRqeBAnAiHj{Ld6j6|GB_|YlqlIUFfcKIc}x%<3quL$o*Nd1 zQrTm!{}^A3gK|3~GXn!S9dI6V{m1m0xg+-9cUJ*W{^W1j3Oe`G^}j=B><j+Z72s;` z$4&+Yh6Bn6Z9x-B{4Jn;@*rkINxAhw{?-<-nm5*m`P(YNYlE4}_?myPlo>StVC8R3 z1D$xe&-I`2e-Hi^HAV&o5B}C5Mh1rCt}p)o15w~y_)-eg4QB!ehQ%3B@gcx{sN{Gs zSU~;E|NpSt7x`QIK%vYG9=tSrq5lP>7ILUqDY(jDD#>pC!OY*fmVtqxvG&FL-TN6z zBSAiYc?UEf=n8fxXc`=}ySyz4)OY&9!rvYMTEhUbf5&N%nF8F0_*<O+gS#4_=!Xa@ z9|E0U);bZC16e^`Q`Z-&pygw>|Nb*DluG_LdvX6dC@XN}gG<CtgYIK5Qy3W-Y(ai4 zl?l#b`fv6k0uuWmlUfe^{r?{v2aaH`+CrpW&phr5b~?03>UMpjeLSGo#r6d#^)T-M zIS}IMhQI&+GykxxeN%tCn+>vf336)&C_8`>IipG!hmr5UhKKbAppnB92Y<3c@6|x4 z0JT;H4!#sP@Q}UXQ9akG4i1ahzom-bTm?8vq(R1ll*09a^A00R1BXI)Eu={4J`YYz zHQ+*}43sUwnHXBEWHEzEmB#0wk_NI!090gwiZ*yF?0+se4`W+v!_uJe@4wlL^S405 zkTZV&|KDxaeGbVJ;Dd=eS@^(b7@j<wC6XcV(}Cf|<=p@OLA5DpcJKjcmX8B6Hz@le zHy2c@fU0Up#s3vNvj<+9RMc7e=YOd{mIJ8ZEad=InZ2%0UUdEdg||qj>mAtAA|X&x zs=Z_Vuf*nsY%XZc<m>&$-z-ZXlxSO)-YJpoc6|a`!sYt}Wf4oS3kTRYrB7bW1ub1T z44V4O&xKvS6&MJb3NGa+m3?tC=RfRn6p%w-1R~t%1)2c92iisezU%c5bdmUr8t|$3 zBA}Vv8{ne<&wtR^|BFyoP-*<9`@@U7pt*<AA1|)vgS;creGIlU8MKiKbS$Fr?atai z*1t;?UU=q!(|vF-^sLE?*&r>TFnalrk%7TNzT^&QI`eSJ)o#!g9_KA2N=}Dm#e}~Q z;bCCN(hu+c@Pdm6RKy8bALfT#;q#fl6;xVgS%tr_eGeMAiHx-VTv{Cd!gCgg*L;i_ zG#2HX2O7!&?NkA|guexpi!(~TI532TzsLsN3=6)3lo#C6cp;nxb`@mE=f*)0hX>KP z`I-q55a}&v>aOK@%>|x-KUT)n{h`_S!~ZP3uooGi`x-zKnmWOt!6?xFg~-U(1N^OT z7(hV=8i59hCxD8TBRrk1A6{MtOZ<5;Z6?IYtRN@P0;M#N{15BHko8`BA<Du6UhFso zas!g15+IHOnHvZ)<Og%@kH{CdvOpDQr|X+;*B{#7nLiwN{qjcMk)hl5%YTEg@E1ks zrbt0d3I1RD<3%j!?gNl7_?vUTur$_wc_8n|P<!OH+>4eh(18vD-M(-Bm-2LSfE0tq z`$2*03Thp^I0MRcwH%S)`)WZ>+MNsT`Fx0jU*-dzg$_5qoy7?5-*?7-=#2gHV%o9) z|2th@fXn30P|z_fC6QU6!n2g)Mb$CTDMHGpK$qqI{9ob-UJ@dp{XzN{f5$Nf28MbL z>(Bgcdl(oPc7vKj!Jup4Odf()&O&Zn_|tlzRQ$#9Oi(TbHE3V#0gdl7fDc9mAIuHv zg@7)Mh>YxX{n7frhO3^%`g0LW_u<!|OCLZR+)6oKtXT~Xc~EvRn+dYLg022?>$mdr z-O!d1#|t+`28PJU|D}Jj82*bwod7y#-1s)QFZ&`K6v`H?rQ9#9z>WbmM8MlQzr5aS z{ky)fhQ<1GaW?eq50Inkk0RGopnGdTqO(C8)dK#D8a#Ah_<lqB!1o&-Gdo>BC?Dz! z{Q@ckHDBD$0QnVU{ENpKpp*q^R&}y<mwr$#{Q{oP`39N2dh@^Z1;|hl6svB6`$jK8 z6nH=%v}8K$g%ZeOkPQMaD#12@`d6S)GT(4eA;$n3v-}U<?b`jL88k8gu@*E!+Ipab zC*Vb92B>d*;{R)DTn)g#pi38^W2vBJu^@}VYI{XmLF*d3nIJ1VdwC4H995VOg!6B! zWZ~a;pz%4V{e1C9<8M&&rX-;8H>m$n;?(#X+?Y`V(M${_av++8q13j)lck}XtJlX+ zrAx5kQDeg?#ty;P>Zqbk4X2o1zi3EgsejFjkZDkCX#F1_7hTE@?&8EA21S7?!vO{c zR*=<Dw}X}egSv^OvM>D7QH$PdX`qB8k|h@LnyZ^PMaz)^yz&~VvH48~WP&5SGxkeI z?0@USC8Etg7)u1|#F~FF*Ks!gU@7G}=K7zp+Z8lC^xEPDV>+lY|KfQXY6+VUu?Ey< zUB}440J=`>cdrMdg=7iqF$RV1gBB8{ufwuj;=+1eX9NelNb&mrzq52kH+VF%`3R5o z=MwE+xBuNIx-THrjgRCHK4P<o5o9T4^YgI&T>8NJGk*{0D9FZtM#c;b{LP>%rMr)1 zA7E`hz>?PKdWwJh0njY|aZtoZcDkMc9lRp|nsol$Y0&L@rq_d|x5j{_GxkTFC1|@d zw9S3+0UI+5xY^wm!1C>oKq*IuU^hc2`)k$?$!7ll|6PALHXmoPEd5b)s@wI9MeP3) zon8+X<4d58)6M^wYgxMgy=Km0j<>#E%hMs*%<<pJvH1YY>nF!uzktRVUz|$?1zE4_ zoq%4~8K7fzL_mW&;1cNrsHPU>0gVzv?;-hLdZzowi;o~5Sbr|%41cjW6|`?VqPdoX zsgy1Fg-Ou=|Byvbpy>oz(2&@j|DqhAC7Q0F?$4e7qAVceV&A-GYp&&BDP{j(dguQ& z&@t3^K$ErCx(~nRd!dmE%Cey13ADKtskn4NT1VguT6Py47QV0IivvS%?T4jH)0TGn zUg`D~FuvXC`=HxbWJwlNr|XICAKeU{zAr#)4PxJP#vX}#EfDa+2((uGI7@E{8)G+n zr1jy_H(88fouy}9Xr=%E-(C73GP0A+`f#aox9f{ei5D|cVD5Rb0L%mh94ImAGcz!N zrY3t`-vkG|*aNyK@(5^JNu>FQSZN`o9zC4|PU5eVKnh>%1g*&a;qD&US$n}U_6=yJ z=FN*GlR(W(kWjbl70^EBET--c-3;*{mv(^Gj2~m^tzl>EW&^u)A?PYf>%*naFW&b5 z|GyZ@Gwm*Y@ZSuyTl_^3$PcbBI^`leC0?e2PGtr8qPzA)H+#1ksLAk=fq}v8CFlx* z&e$gw5+xd49Nixpe%hAEhrN&htupTRebVd0$OyKn*My_f_emF@)#=hZ-M&vceQ&(h zwuoRX(QT+;vMN<?s9?4&Rct=M67b?KXu(*w?~Ps;M%Hd#kh?lvZ!jNhu&^yT*X?>k z+x1Cz=@sT5owWyE%Yy@B&BXuzL3b^Kn%&}%wKuH?N_?A-u~^EL-es=609qS112lC6 ziji*L7oChC=YytX{+qqXP6Lgf%f0xO1dko2WKg^G&i~_}rO*s7Gr>KfBaEQ&hb;l! z$3T;5X9B`r)b9dC2~xvBJrN`z^56W0<i!8~L8+qoILm9ZfNs|Z-3%~Yp6I$hCctz( zp78%a^M~f+EXUXs+#<W#tq+$T?sk3A5%<4CuG_#e_6p>z<L=rU-L6l%&ugCugoF?C ziNLTI-*)}~uU-43`3Mj5_wL#&ug$t$4|My!_;0R#jF~YY?8U{MAZw6ZTM4%}8??R` z>Re0t(qopfM@rMXYcGI8H$3dcbab8e5S<wbj~y7o!(K2!x;ltfojgPylrZJ~m%a%P zdvSj|n&p4uK>{Mo->pBF@N~Prur?@V?vQiqkOL<c>%*Wi-is-qn2`mg0FY6f|4ZMz z*b5Q^9bDl1CqB;jZ1f98Pxyj`Fi`8Bqg3UEQzB@b?uAAoYAvw=;w(@t5&GSg=O?J; zbs4;>!{VU>1E>-fgVe48FN7089mMAepeEmIjTHi=N-G#k<i5G`FqKHWc$@%ADWKt? z7e~QNP^;keMdJgYiF?pI7^toOzf{2ZcCYW7&e%UMay&rm(>Sb8mukG2oPb)VNJAWD zfpnsz@qyQcVcn%4K$Dh||4VrSUu1!9+KL3J35Ol{=oj84$iM9n|F$3BT+C%zN)#Qt z1g$QYi1Kgy1zMYT+|re&RJ7Oef2Zr8*Swaoe_k_#M3_5$|2SG*E<GF%GK?KG|C3Pg z7ql7xc5MS_i4E$ECAhT$@)Brr7jmBaEYLAxpyN2+yqMq)8s7yU`3YJ*1uE)GIbIwG zPhap@#QxxK$psBP_<jNJGy>ff4eG^M|1Mz#ol2_rqB$NlJh&kV1KD|yRe7q63=Cmu z{M-2d`wD>PYA?Efb77KY>Gb_m;@l-}b-9$aGxpExh=UI~()hPsO5;8Snz8Nv=-%o3 zC(XJ*pok~Ux<II$EseQA<h5Cvb%9usL7H`eM7dTPbAi-r75?p@Ie4aTj<NzJylMQ~ zI%PqFBHK^CX6E013S>riDd<9zH2!Uz|6O??E`U40wL6rjO9<wMaD*EmN<rGKJ-|-z z06W10>;w<66Fk69@F2<wAg`P&RZO$~T*3)jeck%{-+z?TNR1DG`vuYmnjbKEfCBLY zEWtbn$0I0uA)O|U7s}vH6YAb9&<ak_`pxcI4&wvOC;xw1*L;xi`_1O}j9soge?P5j zKF(;tUILonXX-xwC;lYpWL40*`@xK-{9<6(@QZ=r*e?c#JHHqh-u+@=VEfI$AoH7n z!Q?jsgU@dUhJ@b?3>m)}7^;3VFm(K8V3_rrfnm*W28KPq85mCeW?;DUn}OlWZw3aA zKMV{qe;61n{xC3v{b69p`oq9b^@o9>?GFRPq(2M{^Zqa}Z2QB&aPAKS!;L=-3{U<r zFns&Nz`*jCfkEIe1B2XO1_q743=9^385sQjGB8B_Wnjqq%fK+{F9XAxzYGjV{xUG! z`^&)a<u3yR-#-QhnSTrnTK^arT>ddIg#2S*$oj{?(DILgVZuKKhI#)O7}ot`VA%JM zf#JeG28Jj97#P0%V_@L=&%hw{pMgQ=KLdl^e+Gtt{|pRC{}~wa{xdMt{AXb3`Om<x z=syF)rvD5KhyF7#T=>tx@aR7S!<YXI3^ELi3>plK3>FNG3|`>DYSfs0F5$qi$<cwq z#M^=4T!aI|g?I<Jg57Hz7-mQ!_%MmI#LS%36ory}h4j=Ch18175{2aalvIVZqWoNi zf};H7)Z$`2E(QjKy5yqN#FA8GIR({X2GwE)2Iu_JoD_w;e2_V*$skb%2Is^)kU&~y zUW!6MWl2VUo<eFxYI12wVp2}3f@(47%mZb`0<er;YDFr@UCN4Zefb5cd0<t##mPmP z1tod~l^}bHTq`n50wAtqV8~@CW=LkpXDDJwWk_YvV@P4hVaQ=%V9;R5V<-i)H9^KQ zXyldV<Up99i3v7P5DG9bvoWwS39z`jy0U_RsR2U(NVSH7ML+~Q2ZOnRL3jW=1A~GB zs71)Yk&uy)kdVN@P*G4(QBlFc&H)<q<>268VBlcjU;uF$Rwz0$Feo{KOkrSTVrF4w zW9Q)H;^yJy;};MV5*85^6PJ*bl9rK`lUGnwQdUt_Q`gYc($>+{(>E|QGBz<aGq<p` zvbM3cvv+WGa&~cbbNBG{^7ird^A89N3JwVk3y+A5ijIkmi%&>QN=`{lOV7y6%FfBn z%P%M_DlRE4E3c@ms;;T6t7iZWGrQ)2qBI~sGp{7Ih=GB@o57VKh{2D+mBEL>n8Aoa zkHLk(hrtKzUYAr<wQf1ZZbhl73~o8a!Ko!-i8-ZUwmTBrF()TK8Kk+WG_NExH&r3E zs3^Zkfq{XSi-94;$3Hk2A_C$v1bh0qBXJpA{Cyog{SYESW(LM4yj+fX3W)^;Iho0c zC7Jno3K@yT3b~0XsS1gC3W+5psksFupd_1<pO~Uhl98(5tN^n+Co`!iv8YlZGcP&6 zs3<kLB&Sl3D<CH|u{c#BIX|x?F}Vb+1IcvtVuj+;f`a^_5`~h~#9W26{33<i{GwEa z%)GSxqFk^G^uUg1U|;~b&zP4>SHThCjMCy%1>ay#AEca9l95@gkXT%tnwykUsgP1y zl$n>Vke67JSq5@O3drotlFY=M%qp<)Tp=L!nRzK752qF@Bq}78rYmITDOBc{79od( zo`PqILT0f-ZhmozLQZCOYEC8CJ4LC*r8y-E`DqHti8(nS%M$azZqiN8&n*CFaSi?C zoFYwyw9>p}aF~K~cp}14dBr6~rO74vMGE;vknHc0ljED1nFsbe$lpdFe}i&!YF>V6 zdWJ%AL1J<$IJk21lM{15o`MG$a(Een^dW^;W**e<sbIG|2ZcbwyCfqqPa!`qIaQDN z@BrBZa+?9j4v<M8_aQ7ufyx_MfaFW_z@<(}z5+spLPlz00Z0`%ZjH=A>Of{-@nd-= zl16a6A@rHy)K^@Rf=8bzNMAu|QK~{&W>HCLVh$pLKrsonAjr(X$ONPgtGnX!^FYP6 zeqsrTQUDjMU~QnZYG?`4hwwMJJWbBeE6&eJRY*xK%S=v1sD*}6YDGb6a!G0mIAjnx z6C6H<;P5HUgR99c%_+$&$tX%qOi{?mPtHbHk2_qTno<%=5_!28cp*`alr6!Tz9_Y@ zG_@Gy7*IA3f)+3(`3fbeMY)-Ipo%E71e8${^At++N{c}OSe{75EFWZMU;qw7tYM#; zSC(0npO>4OSHjB$3U32&7-ChMSd?B0QdkTQaFDs+{FIiHpI8FQumzy<8D0{Bi~tpH zso)gMz~GyiT$Ep&pH`v}mI?Nyv$nPZEIfQ5g&wF3=Hg;t(9_dnuqi0YPcKT$Rme-s zO;sq(%g)O$&$DA-fN60BmC=e^TmcYeRtg}^44^?hh6CJCwk!j~0no%gh&v65-OIpm z09+X|FfjBXvHOwO6Oh;wk=T=v*prdiYz+-<4UG*93<At;4Q)*gBCM>guCA@Et*i_T z1_liQ4IK;|3>xYd0pSe{?4U|HAON%#NI|2aqX9G&nvju@k&(f{!Cp~NP+m}gQXhld zKhm)R13J`TfI)N_Y<v#}0lct<0TZI?Xk<V@Mh4;_vI$KL2*|`h9E9nIrS6fO3NT|e zgWf5Cu@Md#i3G411kp{52*|`p90chDVNBnXDncj+fNT+A5JAc%$ZP=yB0UUMhOVAC z-y&2AFd*0v7U-%;28M>lrskH`w)T$BuI`@RzWxalCrzF*b=ve9GiS}7Gk4zn1q&A~ zUb1xA@)avrtzNTs-TDn1H*Masb=&qGJ9q8gvv=SA0|yTsK63Qf@e?Ocoj!B+-1!R^ zFI~QJ_1g6tH*ej(bNAl;2M-@Te)9C$^A|5)y?*od-TMz8KYjl4_1pI!KY#uH^Y`C> ziaSKOJ3K^nhz8pK18qOW;ZLYTid!DsAsuM{dw5vo=2{gOgKC15l#~=51z%rZUj-1O zva+(0!Pi$mB}Koo5+ons%fR61%fR50nw*-O1nxRB_~n<u+5X8T`5@uo)PfS2pkrxz zX>kbygI8$|*bJ}IJn)!?V?j|SXiUO4u_!qMG&hr)R8*Q+1W}Wi2WGmYCWFjp@J}vb z2u>|va4by+nZw{!n#bUqSjpg6P{iPySj6C#n#AChn8y&DSW;S)k_a}#ttb=B3dtxf zDh9I{7{XIi@=~FkkWvWCH$M+78(a#d6H6G}iZU5OGD<<}8A3`^8GQ5e7=lal7~E4~ zV=UpBc`5nj!6o2M4@f+;IJL+>DJwO(#1qj;290>Qr<V967MD0CgSxr_`30o~3?TIo zKExOX-_+vb#Pn3B{0c{g&|udfV<SBmA0Gygoxb^bA*HF|sVN~DrEW!;!HFdd3?RR{ zr6&0%7C9Ca`6gC+mF9Vs<~Ww72d5VJCztr;mw^I~fq}u<-_JiZM1?^wIX@Q^f3Wc+ zy(F+P40_4ADPZv!28Q6u;*!+dp!|H01q=)f9v}%aaf6T}!-X#npp~%<7t9$L6fzkY z1ZHA4475cHBy;6IXw@471B`!N0x~uS<DWp2-=mBwe+Ef@rK$tNUR6~29wd1iQwIhI zQ&f3$`yX4O%3naz4|4BDYgBn;`$6*7wh(y`o88s{?k{wE4%k7|!TgCX|Jfe5ysV=G zgQX*Gd63<@?x^zU?)>eADvxe|wjX}^wE+mf?LlJSKnt(@AcVSVBsRKzrje-jA)9kM z%7Nj16mEIlXa@$vXjJ(FXzu8ULzPF4SBZEB27TxlF|PQ~%)+f76y8=jsPgFkv#Ugv zN46iN->(tBynYj^JbHYpOhuJPH-GPR{PH0SQRUIye|jmZJbJ#IxEvx6^2^y}h&V@g zhtE2QI#@WP%V!)yl}Gm{_bCU4ke?u1Aeav{c>MsvMkhz-R4AKM31W0l%}XsxEJ<~S zjFdT-6y>;<rRJ3|FdSoaPb~q>J~-#6q{3$)@>s$XGfUj^i-I%r(sNQFH6z1R250bG z2~?RQ1H*de;M5W%Lp>7nQgTv@7`}o`_03Ny%}I63%t`f2%uRJ<V7SHL3L3F@F3K#) zOis)RP6ZF#GBA8$@<~lBOT`fXg)jwTa5w{lHcN0$YH9(45)-sGcT7nsN(HrlSQ$ay zfVz#L0HoJBKQ}iqFU2P_FV&IZ1IVoqbDZ-_L4LObnGsx)0uf|jxB=1wa&JgwK`Mg{ zL^iRgq_hCkC~#!h&)|}plUjn|P;-_L*ytV1dWKaXvz$wdic<4njSdD6me9Nma0sQi zRwSnufQGHzGIPL_81gK^sU<k2uQ7QRyQC(Srl+SC1r((ggQD&^$Ocf`1U&S`z_5(T zBQ>!AJh{QJ2+W2|WW<2fIR}8ez;Kkw6BGlWfz8wu&%ETKRL}?>1H(aNahFuMcrZw> zqjLZQg9s=z{9S!P><3Jq#bJp#nJM5jlbD{$V8;@YQw*O&u>tWQmNVFc*zlPaTM!TI z#4n)OKyv*$kWJ9=3IPwldZsWiOlJu%$}9n=A%<^EKKY3$(4j#`28LZsp73#Zw4~#h zml9l%nFonxZ$^-Xu85J%;1ba6MX@8p0g#=T5)3{#bc8dsu!Lu(q&jCL7KP;df<}s+ zDoaus4q-PZoPl8pI36ImhJhiGB`gy>CJu5CLnL!xX=+hrKxz?qk|8fS73|*BB8Dtb zSchaLXM+V87*>PKhlUL_fqAAd1cOvTntdUexv7rD;FO!0o60bYIjAHjG_O1}FNI+x z*abnUkm!hmxd6gtXaSoHEffM67^Wfdee+XN85o=x-EvBcGeBlLm8PYo78NrvJY({4 z_Dw8+grg$^gFG`lEJE^O0mSeESyea#g9F&T;IIefFGmIjXH=1J28Nd)`+dNZFQD}5 z$iVO%lukgl!>9XJgMAd7S(VDb;KJaXlV6+)&A>g7)B-J!92sVTOoQ_LOG^q$OF*f2 z8j7lL1~yR6Ln;L-p`{$iQb&eh2Iu_Tg2bX!xNpNyMZy^vZh+i~l#ap@i!wnIGmZ@2 zu0ejTKE_6RDLFX|40+5!sfj5da~T+}LiD8gr$P8?ps;{OE+`)}Fq{Ip9wg~lQc{$e zR9cc+4C;`eSB|6nK@|cAv>}lMq9G$xQ0IXzJb*G`6lk|0XrUjBk4}T+K^R?pls_5* zxI)11nZxdllKWj=DLa5#)C@U~92jCAIWT|@lxYAhPQj&-fH)|ff_5H((jy3i_Qir| z(0m$b`zdIJB4}wM8v_FaXj=h00|NtSH8f~m4Mc;)Ks3k+AUV*S983;mE=Vtk=4Sxy zS7ZR~1YrP)2{JG+fHqfwFvvbd1_rRWDO4ROw}I3-L;0Y!E+9QYP<6pjI-G%l0c3t8 z0|NudZqV2jNFQim1vHydzyMm0#J~VrPXcl)$R8l}pt(4Zn?VO>fN0Qhksx`{)+LZU zXx}}^9MA?p&{CXvQ2Q1_-2=Lo6J#Ig24;{t&{j#1`_4h-uS4A<!43&8P#A&21r!~i zFh{0AY!D_^9HtJW2ZV9)Vd5|vq!xr>d~_NlH@vX`P5|+@0!{#tAL=CTNePJ0a1V+@ z<c9-^GYLRza-2y3RGbWl0D$;mh$n>%QAY+wCKiq*%nS?(O_fcc`UB*#W%ofO1H;0l z5V~>x1JK=03=VY-V0r~J1H-|^w-)1y%*KBZeGX81E0O9Qq3X9WGccTA^kk6~!_!4C z7DYo0Ln7hk*DVC=0G%Bbcq{If0z>?*tXoD%Dk03q%Qx;l_{qRvSO?LW^A<982dWoA zDqv+eh)qpAK?+m@BTS@}4{|36BTQsq0Nqy&<7d2fVEFLffuZ1|14D<5Bf|_SM{qj_ zM1$fQ)Xo86P+Q^03kUF~nlmpPz-^KRFB}*^bvVZh2XOo1&T|I_P+h#{xdXV3(ed1Y zL70JoA?CRQ1E@`-^4x(zl7WHY&oc)GDFz0HBhMTdq!}0(dY(Bj$S^Q4q&#zAkYiwA zaCzpyAkV<S@ZhNf11P<$c<R6aN@p9MI52>21rvDUz)%75z!L`s(B#&K#|{itAoY(O z7(j{b&SM9L{|pQaXC6B+oSRM@W@Z4b(`5jg3-S}RP+|auPu5!ph8dq77^Zx7V3_dP zfuZNK14GAW2Zol<4h#*S9T+M;J1`V{c3{Z(?7$H7*?}S8vjc<2X9otG&khV0pB)%X zK07cNe0E^a`Ru@;@!5ev<+B5W!e<8tna>Uk5}zFyL_Rw(2z+*6;Q8#p!1CFF;m0Qj zh7X?{7+!pWsDJRuf#Jp{2Zjru92ky#a$wl=$$??RCkKWlpBxw#d~#rz^T~l>!Y2oY znokZ41)m%kI9WiOJV61(0FF~VP?*X(GW2K?#`RDDN+Y0j1JVnkA*L~a=dcu5CxfC9 zCWJzR(h0IaLjlAsA3j3nvjT!ckfljx2e?qC|AMR|gMgePxcv^Z9F)FcY|!{S2!q5x zY0;X2fgy?kk}g0ug@6u<y~4o2@R@;uL6DJw!GMv0!H<!F0klyDrpJnbfdSMmE@xn1 zn8v`su!Vtv0kpII69WSSXtSq2BLjmkBLhPYa=^kIFvMu+aul2t6B=NK0+=^*zBn+X Wd~sli`QpG3^2GskkPu7?OalPivUv{x diff --git a/.venv/lib/python3.8/site-packages/setuptools/cli-64.exe b/.venv/lib/python3.8/site-packages/setuptools/cli-64.exe deleted file mode 100644 index 675e6bf3743f3d3011c238657e7128ee9960ef7f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 74752 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%0DUkH(*X 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 diff --git a/.venv/lib/python3.8/site-packages/setuptools/cli.exe b/.venv/lib/python3.8/site-packages/setuptools/cli.exe deleted file mode 100644 index b1487b7819e7286577a043c7726fbe0ca1543083..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 65536 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 Wd~sli`QpG3^2GskkPu7?OalPivUv{x diff --git a/.venv/lib/python3.8/site-packages/setuptools/command/__init__.py b/.venv/lib/python3.8/site-packages/setuptools/command/__init__.py deleted file mode 100644 index 743f558..0000000 --- a/.venv/lib/python3.8/site-packages/setuptools/command/__init__.py +++ /dev/null @@ -1,17 +0,0 @@ -__all__ = [ - 'alias', 'bdist_egg', 'bdist_rpm', 'build_ext', 'build_py', 'develop', - 'easy_install', 'egg_info', 'install', 'install_lib', 'rotate', 'saveopts', - 'sdist', 'setopt', 'test', 'install_egg_info', 'install_scripts', - 'bdist_wininst', 'upload_docs', 'build_clib', 'dist_info', -] - -from distutils.command.bdist import bdist -import sys - -from setuptools.command import install_scripts - -if 'egg' not in bdist.format_commands: - bdist.format_command['egg'] = ('bdist_egg', "Python .egg file") - bdist.format_commands.append('egg') - -del bdist, sys diff --git a/.venv/lib/python3.8/site-packages/setuptools/command/__pycache__/__init__.cpython-38.pyc b/.venv/lib/python3.8/site-packages/setuptools/command/__pycache__/__init__.cpython-38.pyc deleted file mode 100644 index 0c329d379697d00ef1068c04af32e47fe6e6ddec..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 712 zcmWIL<>g{vU|=}2?@zJ?69dCz5C<8HGB7YWFfcF_moYFfq%fo~rZA;2r?8~3rm&^3 zr*Ncjrf{Wjr|_ikrtqckrwF77rU<17r--DBMlqy_rikS*<}yVwF@o6QIm}VaDWWM7 zIV`!XQLKy%DUzv7S!~(tMR_SwsZ3eyDUvn}Adv+eDUu5r85yFPqM1{~gBdiXZ?Puk zWF{8h;!H}(EG~&pO;3k0iwbgYaVC{!=A^`@R+QZ0fG`UxZ?UJOmZj$87u@1WO)RdA z&&(?>NzBQ)#gUqx9-o<)mVb*KCd3V8#OGut-C`@sFG(y(jp8UyEKAKVC@H?hS`4x? zimf=cB)_2K7E4KLamg(Km>#%s{4kN?<f2TFK3<4h%QN#pGEv;61v&YNDe)=!$;G$0 zAkIwA$xMpk1Q`!@(o0adYck$q1?%+FWGv!mU|@)1PEAkOWGZ4}U|^^c2&gQ{$j?*I zOHEH#NXyJg)#SXz9v`2WlM^2wB@QyFv?Md9ST8w0H#adaMGtIJkuU=T!!73G%Hk-Y z;?$DTf|C4vgc^t?{Au|`xrrt5P>sb=e5eAq*b)m0Qu9()G8Bn3FhGc3_WC8c1^NY< z1-hkq1&PVosVTbU8L6o`x+TT=@u``aW%>x~^r0r}$H!;pWtPOp>lIYq;;_lhPbtkw jwF7ys*n)w9fe8T_v9e*Je^}Ug7&(}Dn7A0Z7<rfgd5hJa diff --git a/.venv/lib/python3.8/site-packages/setuptools/command/__pycache__/alias.cpython-38.pyc b/.venv/lib/python3.8/site-packages/setuptools/command/__pycache__/alias.cpython-38.pyc deleted file mode 100644 index a49ca52f8634882fd5ce598558131ae6eb208ced..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2392 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 QrtvWGFo`g8a0!?I0A6ZOX#fBK diff --git a/.venv/lib/python3.8/site-packages/setuptools/command/__pycache__/bdist_egg.cpython-38.pyc b/.venv/lib/python3.8/site-packages/setuptools/command/__pycache__/bdist_egg.cpython-38.pyc deleted file mode 100644 index 3fb8493dab489a9a81852db5ff23b857819073ce..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 14182 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 E03dC7R{#J2 diff --git a/.venv/lib/python3.8/site-packages/setuptools/command/__pycache__/bdist_rpm.cpython-38.pyc b/.venv/lib/python3.8/site-packages/setuptools/command/__pycache__/bdist_rpm.cpython-38.pyc deleted file mode 100644 index bfedb0738fc9c1212d76195ae1d70a11e436fefb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1784 zcmWIL<>g{vU|=}2?@#g*RtAR0APzESVPIfzU|?V<)?i>@NMT4}%wfo7WMW`s$YqLR zW@K<@NMTB0Zed7aPG!zwYG#gNN?{CU&}4ZDGQ%$!L?UA*m}v?O3=F9ZQH&`JARST6 z5L2R9Qdm-0TNt8PQ`mwTG}&))CZ%K+m&6wp<R+#uGB9u{C@3iSm!%dJWu~Mmlw_nT zq@<=LmgbZwz||=vrDi0SW#$(tl;kU<<bxHZ<>%z&muKdsTXBI+Fw|2BD$P?!O;3-{ z%uCA$sZ7l)E-iu>nU|QGs*sqMqEMDvRGgWgr;u2bs!&jrUyxdqQ>l=gn3G(ZlUS0P zq6aq1NKe5rr#!K;SfQviPeDC1uec;JCr4eOv^X;_T|rkDMCGLFLe0`mttd$?%1g}2 zsnpF)%u7s9O;ISx2OFfIppcSToS2l83UXMnLS~*qP=GH;tfVM2sk9_BKd%^KrLmqu zP-;O=VsffNN@8(_LV0FMhC*pxN@`JYa(+=NNGB+0pjIm6mF6a;78NU`<rgU=rIwVW z7J&?g*_oW5TaZ|inUtB6SyBlxKba9J%0O&p1_lOaP#Tb8U|^_WSiq3NxR8;Np@cDu zX#sN$1Bji%5X_*-<adh$7O0vmx44T+^Wu~9b8{2(Qf{&27iFdwf#Uxbb5UuYCgUxZ z;?$h9l?+833=9mv9P~?a3-k*z3v^5K3KEmEQ&V)yGg4D?bW4i!<5M#;%k+y=OG*n$ z^7C_w^`U0!!y{d<pt6XKfq{V^<VaA8WnkiBs^Ue+7nSCr_zI*Lqz>e>;vBHAvKSUH zE@Y@>tYKWhl){+8w2-Nmsf0O;WdSS5hqcTp%r%VS44n)q%r#8n44sVa4DF0*OyKm& zQN!%Q(9BrNT*JJ8t%GqPV+xx%LoG`RJ4i<@YYp=P_8OKN)`d)r3^mNb44NE%zZi9I zF~(O3sHUW*W#*;AlNyR6L4gHws4&P^1`G@g=?patu^M0}g0td6rUl^a2c}t4SV43L zLkHtRrio02EWr$#Y*q5X`K3k4sRmXGs@0%`U8}2F4NVxedL@ZPRhn27l;-6o=B4MP zro^Kt6$D3tUO}Y-G?gn<nPLbLlj5t`RKfbH)F8BiZXS~JFm2alyv1GwN%5LYx0v({ zZn5NK=B2J=iedxNM#fOu1e}(NI2jliZgJV<WEPizQn#HnDEwp?7#P^NnZB_wGBGm! zV_{)pWctm*&cw*{gN2icf$4jdE+VzW=O$*S#upc)Cda2`=A`P`<m4wO<`moMA<TRU z$`@5qu=vApvw|kaEgn$W1<Sj)xYJWhVBuNB!@$5$#0nxnk$j6E&Bj}-nRzLx6}Q+j z^NLf8N;KJu*g<|`hek&fS5ZMOlzoc@<jyEAh|2h!{NyM>4A(%y1(Z9$fm0;Hz`!61 z3Ka=ZPG{s|<YDAt<Y44r<l$!e%ErqFVlh@p;tUZ#O}1Mc@$sMp6(4_#D?UCqKczG$ zH9r0pPkek~X<`mkhCMz$B|kYn9-KMBwnAJ2%JL8vD6YVz0w^~YgHk&OBMTP?8(2(} yB}y6;hNUH$ImLR=T(1Xr)h%|Y5LhuJI1wg;Ss>$Yao9kdX9tS2Vo-n!F#`aUzwZ?Q diff --git a/.venv/lib/python3.8/site-packages/setuptools/command/__pycache__/bdist_wininst.cpython-38.pyc b/.venv/lib/python3.8/site-packages/setuptools/command/__pycache__/bdist_wininst.cpython-38.pyc deleted file mode 100644 index 361546a6e464d5e490cf1cc89524b16767f30acb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 954 zcmWIL<>g{vU|=}2?@w|q69dCz5C<8vFfcGUFfcF_YcMb{q%fo~<}l<kGBGeR<T6Du zGcvd{q%fs0w=kqIr!r?TH8V#sr7#9FXtKNnnc<fVB9SpO%rrR$28L9ID8>|qD5ey4 zuo;X|%qc7>tSt;tEGcZk44NFbc#~2xi%a6mGxIX@ic5+Z85kInK_<XV1i1}_ok8wX zU|?XVVaQ@wz*xgr!?cj8mbr#8g)y70NG64;hB=<8hB=r)lesF3O92XkOA88eQgc)D zN)(DxGxIV_G81z$t5V~W^K)|(^HLN_@)gSSi?S6Gi}FkJQsCM$N=gc>^!1ZU(~I>A zDoZl*^YrqI()BZoi%V0D3@i*S;VLzmZn1+Lo|uz!iyO*_&&f>k(`3HI1M*o>W>RTM zW`5o+5o``90(ni7<rYhEYEIfMcBr#%2|?7x7ndeMg^F)6C+DWDWGLchU|{&=qF<6* zpkI(#pj(<(keHmEnxb2tk(!#LTT+}KpPHFjreB;|Qd&@wpPy5#4>ds_C7|^RDvQ_{ z7#LVV!O8~;Y*sc#CI+VeEKD4XY>ZV(sH!3EK@GfQP+Wm@f-s29!N9-(jwTgQGGeS@ zh-au0C}GTETEJYxu#l0FA)LXKA%zJf9>I{p0E#NV5I0ShDDL>o;`pM{yu8f3^jj?X zMVaYEObiSRx0s7c^E4TY*clig{sw!#hzG<4IavVYc95kEjBJcdi~>wmf@rQT&GXY_ z1g9xY)>|C$@p*~4sqyi*xZ>k;^HWN5Ky04)_`=e}9Ec1!NQyvaL#zS?HiQMX6yzvS zgcXAb4n{6+uroDTqU1p_U0RZvQ>+IKZ9Np16oFg`R$Rmjay`OaFbib(Ee;!qo9sYA KSq!pDh#3G@Ea!Uw diff --git a/.venv/lib/python3.8/site-packages/setuptools/command/__pycache__/build_clib.cpython-38.pyc b/.venv/lib/python3.8/site-packages/setuptools/command/__pycache__/build_clib.cpython-38.pyc deleted file mode 100644 index 1de6a11a63cb205bf64012140e2599ea1160f045..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2437 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 S#|VlI4h9AWAx0h$WCj3w^{;LK diff --git a/.venv/lib/python3.8/site-packages/setuptools/command/__pycache__/build_ext.cpython-38.pyc b/.venv/lib/python3.8/site-packages/setuptools/command/__pycache__/build_ext.cpython-38.pyc deleted file mode 100644 index a94c57bc895d1fa716a6dfa9962397e1cf7ee47b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9895 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 Gus8r_>YAJY diff --git a/.venv/lib/python3.8/site-packages/setuptools/command/__pycache__/build_py.cpython-38.pyc b/.venv/lib/python3.8/site-packages/setuptools/command/__pycache__/build_py.cpython-38.pyc deleted file mode 100644 index 7acb699ef18c965485a3a9192e6ad7bd6a0325fc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8641 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 diff --git a/.venv/lib/python3.8/site-packages/setuptools/command/__pycache__/develop.cpython-38.pyc b/.venv/lib/python3.8/site-packages/setuptools/command/__pycache__/develop.cpython-38.pyc deleted file mode 100644 index 32d6446e4db63e73875b9f3e4207a02de619112b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6501 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 XfLk3LOgu~+;M$CXiG^9Dp1}+Nl@GmL diff --git a/.venv/lib/python3.8/site-packages/setuptools/command/__pycache__/dist_info.cpython-38.pyc b/.venv/lib/python3.8/site-packages/setuptools/command/__pycache__/dist_info.cpython-38.pyc deleted file mode 100644 index d0072179c72fc27611d150c3ade8364e8c624343..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1361 zcmWIL<>g{vU|=}2?@#gpW(J1GAPzESVPIfzU|?V<wqRgjNMVR#NMTH2%3+LROkqr6 z&SA=Bj$&p6iLvCc<g!MwGBUU`q_C#2wJ@Zxr7|}&N3o?a1v6-}SGjOG7o{eaq$(sT zq+}MC#AoKE<twCQ7NsVa<QG+PITkCVq^4!&rKTuk<|&k9q$-qWq^9O56c?l>XQpK) zCzfR9=W)FRxy(<K@fN#ter|4JUWz8;E#{p3^kk4YGG>CgT91K&A(bJDF@+(DDTOhL zIfW^mF^VOHIfbQ#A&M2^(kQkR_7sj5hA8$F&R_;ju3MaN7got8!(6Qg64XU?wkC5G zXKH%7Zc<`#s_iYt)G8mij}(&g^GXsk^D^_&74$%AP;_Rd7At6^q^2d7=9E||l;jsE z<fnmsU7TN9l$@$iQk0sinaqgfB@i3rD`!w#fTApgp@t!zA%!8BVI?CdNH|i{)8j!7 zS;=^dr8qSwZ6!kyNZl_7{gT`Q{esK_-O{{*#N_PM6kTxG>XsDe$ERjymgyI#mXsEh z<mcxU>nB6PRUhP8a2)9sRNfNG%*!mvOw7rwN{!Di0L4VHD99Ng_b@P4$siPCD#Y*v z$Rl7+fKnF7`9*9D3=pRlallz1mlts}FfiN_NXyJav04JjYAJ-(=*mzm2HC~Vz`y{u zIFEsWp@v}rLki<U##+W2hAhS!#(2gW#sy3Z85kLA7#A=@=q#2Lh7#5kre;QNhE^s? zh7@LThFYc)wgv1dEDJbFIJ3AGaMv&`WCTG*h>5HV8Ectqm>2NWFlMpTFfC+a1jmpj zo8K*P{D2Zc6(>ABRB<6vRTVEdse#gqdUdV(E$$?+-@s9&$$LvQJ+&kr=EszHXgn2x zJXORC3Mb~G(!3%*Fe@iDuZS7MVgcEAi!Cj`C^xa>7E^xlEtZ1Bl8jsIiAlvEMij_V zMj(4MS&BG8fe$u-7bF6X{rHs3q9T5f1UN##1SnRD1Q{3@q(KoO07|2bT#OuGD8VSf z#Kl;JFhH-UG|x|y;}%DJd|qO1YJB`HuK4)e{FKrh5Su4HzOXbg2P(szl3JWxlnG8? zw|Gj6Q;T4!t%wKY1dunu7K76@5&?D*D2hSKia`Vi6ALrbe->5_W)9{ekc=k#E%x~M zl>FrQ_##l+y~PLeV`)idPO)Bceo<->C@n)WK3EVOeqfzQ_Q1V=i^B%u2Rl$|E(RrA M7FG@>9!4H!0MPngcK`qY diff --git a/.venv/lib/python3.8/site-packages/setuptools/command/__pycache__/easy_install.cpython-38.pyc b/.venv/lib/python3.8/site-packages/setuptools/command/__pycache__/easy_install.cpython-38.pyc deleted file mode 100644 index 997ffb7e22e1f20160f06dbad2764d54957f0cda..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 66694 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	!3sE7DgdPv^0yR0i{F$X#@>; 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 H$R!K_1&`QP diff --git a/.venv/lib/python3.8/site-packages/setuptools/command/__pycache__/egg_info.cpython-38.pyc b/.venv/lib/python3.8/site-packages/setuptools/command/__pycache__/egg_info.cpython-38.pyc deleted file mode 100644 index 3234402959db905dec7a905efc814cc027353a15..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 21773 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 diff --git a/.venv/lib/python3.8/site-packages/setuptools/command/__pycache__/install.cpython-38.pyc b/.venv/lib/python3.8/site-packages/setuptools/command/__pycache__/install.cpython-38.pyc deleted file mode 100644 index e67b3510b82dffcd036d635b5584db4fc5cd56d2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4016 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 diff --git a/.venv/lib/python3.8/site-packages/setuptools/command/__pycache__/install_egg_info.cpython-38.pyc b/.venv/lib/python3.8/site-packages/setuptools/command/__pycache__/install_egg_info.cpython-38.pyc deleted file mode 100644 index bb248ea7017fc6be1cd7e5c1cf7b787f2c2230b9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2900 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 diff --git a/.venv/lib/python3.8/site-packages/setuptools/command/__pycache__/install_lib.cpython-38.pyc b/.venv/lib/python3.8/site-packages/setuptools/command/__pycache__/install_lib.cpython-38.pyc deleted file mode 100644 index fb63b5f2e0759965861bc95a98b97e5e6d5bef70..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5083 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 diff --git a/.venv/lib/python3.8/site-packages/setuptools/command/__pycache__/install_scripts.cpython-38.pyc b/.venv/lib/python3.8/site-packages/setuptools/command/__pycache__/install_scripts.cpython-38.pyc deleted file mode 100644 index a9b6a27895b4d7168bd7e1ff98f0ec50575aab6d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2273 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 diff --git a/.venv/lib/python3.8/site-packages/setuptools/command/__pycache__/py36compat.cpython-38.pyc b/.venv/lib/python3.8/site-packages/setuptools/command/__pycache__/py36compat.cpython-38.pyc deleted file mode 100644 index ad74a4f8d3cf939f838f196cf81a3ab4ef7f5d3c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4610 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 diff --git a/.venv/lib/python3.8/site-packages/setuptools/command/__pycache__/register.cpython-38.pyc b/.venv/lib/python3.8/site-packages/setuptools/command/__pycache__/register.cpython-38.pyc deleted file mode 100644 index 866e96e017ee45d3d619cd34e2d188786c4cbbb9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 811 zcmWIL<>g{vU|=}2?@#g-Mh1q*APzESVPIfzU|?V<1`#O?DU3M`xr|Yaj0`CZDNH#` zxy(!qj10LfQLJDQ<{Y+M_9%8n26u)OmK4?&h7{IR)-0B0<|vjFreFq5wwEBYH5qR) z=j5mRX)@jt4oc0<FH22v&d<$F%u8`CD#|ZP2B|^DOfWY{FfcHrGDI<^Fhnt>Fh((_ zFr_fJFhsGWumm$`vfkn-N=?r!E=et_(ss))%1tfGsZ=N}PEAoL$yb0$DHJ3oXD6no z7AxfEDFjpoc<LoHBH0D93gl&Hke8Jh7#LC*YZ+@87BHkR)i8=PlrUy7Eo5S3C}FN) zY-Vg?OkoIS&}8<jiVev~MOcvx@r*)7VzEL}YHFTB5yX=^AlE3AlxOCpf}B)ZkdvR7 zqL7(aT#}lYqM(scQc_TCrLSL5S&*rhUzDz2pbu87S;g)e6yzUdrJ%`jiz6{FFTXS| zIkgDn)LX1znIdKe1_n*0TP($?Icc|;bBohgG8Az#FfjbG*DuK}&@ad=&@Iga`8+j6 zw>%>?HAlCkI6po$GqX&;IJKm-pd>#(r&u5AZhcr-=@nGoVlFDp1Er8+4p1mDG5u#^ z6=JI5fh#F0&GQ2VeSCagVs2`D{4K8d_}u)I(i{+*CqBNgG%*J%!yX@>lAjzOU&PJ8 z0C67JjSvE4M-eFG*+C%>VsJ3BFo8uhIc{;LWEPi{mSpA>gS{Ok1?THQ9jym*(JgkU z2w3kemi(g3^e91uFZEJEX{;C=WDu)C0R>@!9C3@o2I77@P`W5)V_;z5VH9HGVFmz1 CiPH=K diff --git a/.venv/lib/python3.8/site-packages/setuptools/command/__pycache__/rotate.cpython-38.pyc b/.venv/lib/python3.8/site-packages/setuptools/command/__pycache__/rotate.cpython-38.pyc deleted file mode 100644 index a90a177d323ca6880f4022169653dadf3a9bcdd0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2520 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 GFarQUSC=UO diff --git a/.venv/lib/python3.8/site-packages/setuptools/command/__pycache__/saveopts.cpython-38.pyc b/.venv/lib/python3.8/site-packages/setuptools/command/__pycache__/saveopts.cpython-38.pyc deleted file mode 100644 index 9568b5bfa1ec760b56c9116d84374bf29c0d9d40..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 889 zcmWIL<>g{vU|=}2?@#h1CI*JbAPzESVPIfzU|?V<R$*XZNMT4}%wfo7jAG1Xieh49 zaA!ziN?~qcNMTN8YG#gNPGJdV&}4lH(yz&Mi#s(Xvm`z_KQApa{T6qAK}lwQUVKtw zacVM10WxNSSt7&0z>vxi#hAhn#gxJr#hk(v#gf9D!qUPJ#hStz%%I73i=#NPEH%HN zq_|2sII%2MAvr%cH!&|oHzzYMRRLm2u|i3{LZU)iW=?9AIY_xeacMz8PG)KfvV!8& zlF|ab<g|2!{33<?l8n?M1&CY08j~539LUbVzyQL|pn%9=U|^_W$YQ8v%w(u#s$tAx zbYX~fs%5TWPGQVuDv~P{s9{{dRKvWGaRKu}1{a1{l^CX4mKdg5)>^h2))b~}rXrmh zwi>1dEH%uT3=5fRSZo*ybqWPaSZf%v*lL(+7_!)#nHd>U7=jrznf;1DF;K+=^`-*I zo0=TAcv3QpONug+N<o2oiytZ*5B2{o{`AxmC?`H8Gr8mzYi3DmZt*Ry;?$Cq)U?FX zoRT6?px@#E1yWvOZt5-el%mS`qS8D~_FF8)sX1x4SU^_X;wVlnDap)BFTTZ`oSSls zIlrLf7ISe?@-61F#GI83MZydW48QF4OL7bJ3o;9IOY;g6le1G(bjveRQ*(4niu2=B zGc(Kd!GT?ppPy5#4|S_PC}KeIs8>*Vi@B&Yj}sKQLZDD*WMgDu;$q@pWMYzH<X{wG zs^WnwE-KCQ1Eqrac#x~(<8N`r$LHp!l;)(y$KT?Kk1s4u%z?_V$H%ASC&$O%;!a5| zPA<v>C%__61_p?$!A^$|A|NqPID>F88v_Fa2O|p;3lli({WMvkBoXe{gSua@IJG3d i01}Kv%rFBW=79nQ!UCCmi^B%uLOW2JDh7qS05brKWAO|C diff --git a/.venv/lib/python3.8/site-packages/setuptools/command/__pycache__/sdist.cpython-38.pyc b/.venv/lib/python3.8/site-packages/setuptools/command/__pycache__/sdist.cpython-38.pyc deleted file mode 100644 index 051ca744fb7d8c82497b575abf6bb1445ae74a8d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7859 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 D3FpE% diff --git a/.venv/lib/python3.8/site-packages/setuptools/command/__pycache__/setopt.cpython-38.pyc b/.venv/lib/python3.8/site-packages/setuptools/command/__pycache__/setopt.cpython-38.pyc deleted file mode 100644 index fdfeddff04216e068f601438bc1e7efc9fd011a4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4537 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 BzoY;F diff --git a/.venv/lib/python3.8/site-packages/setuptools/command/__pycache__/test.cpython-38.pyc b/.venv/lib/python3.8/site-packages/setuptools/command/__pycache__/test.cpython-38.pyc deleted file mode 100644 index 0e4a1a96cf787548809f8ef121ab2868906ff5ad..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8475 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 O<^fGgF$-w&aRC4!%!3yI diff --git a/.venv/lib/python3.8/site-packages/setuptools/command/__pycache__/upload.cpython-38.pyc b/.venv/lib/python3.8/site-packages/setuptools/command/__pycache__/upload.cpython-38.pyc deleted file mode 100644 index 0c7e2e4672585e3c62ec710569802b0027a5ac30..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 784 zcmWIL<>g{vU|=}2?@#hMMh1q*APzESVPIfzU|?V<wqjslNMT4}%wfo7jACR2v6*t1 za+#x8z-;Cm)?BtIHbw?_h7^_*))s~o)>M`(=4R$7<`lMI22J*tAX7CNZ!zcOr)x6a zVk<4k$xlqtWV|IDl$x7gmYU+6pPQSQm*QGflwXt#QjCn5V9t<WU|>jPh+<4(h+;}% zjABk<N?~qch+;`$31-k_En;S1V5rh`%P-1JEy}4>C@oG+Q7Fk*fLNwbkeHmEn4Ve; z5(=mc@YG9YM6v{A2gtk5Anz)Hyvtb2Si`V@A%&@iQJkTKF^g#-6C*<ja}8rNV-sTv zLokCTvtLzoNJc8mf@Fvv6fzQv6_Qd@^Aw68e$xTDM4_ZSGcOfnH`F<qdBr8Ei75&i z86_nJ#a8<I1(gMvdih1^`UU!6wVGAzu0cWmK~@TyEVnok^YZdb^O94GKn}gd3YIAX zIarhF7E5tzPTDQz+~V|=3`Lv_3=F?)^-FRK^b0ZzbW8I<{!UHNEzd|z&Cx9>&W}&c z%q-I{PAw@dD9O*yDb|O&TOZ;uy@JYH%tfVnpp;R}0SX}|rvFT=LX1^hPz6P$d48I# zw>aYC^AdAY<Ku5}#mDF7r<CS^*gWy^g{6r(P#O04_>}zQ`1m4j1_p@J!0v+(AREAO z#tsT|kY6|$S(v~gewysJI8!o<OG-;JbBZB;7KHQlpe_b0y~UDWl$jnSi13hJDkv2d jgF^>m6DUj|ERdbIIBX!!wF4!9Vm1Z_1|CKpCLU%0jO@qY diff --git a/.venv/lib/python3.8/site-packages/setuptools/command/__pycache__/upload_docs.cpython-38.pyc b/.venv/lib/python3.8/site-packages/setuptools/command/__pycache__/upload_docs.cpython-38.pyc deleted file mode 100644 index 724c41ebec2fc35fd3b96eb14cd1483ed0c1a6e3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6140 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 diff --git a/.venv/lib/python3.8/site-packages/setuptools/command/alias.py b/.venv/lib/python3.8/site-packages/setuptools/command/alias.py deleted file mode 100644 index 4532b1c..0000000 --- a/.venv/lib/python3.8/site-packages/setuptools/command/alias.py +++ /dev/null @@ -1,80 +0,0 @@ -from distutils.errors import DistutilsOptionError - -from setuptools.extern.six.moves import map - -from setuptools.command.setopt import edit_config, option_base, config_file - - -def shquote(arg): - """Quote an argument for later parsing by shlex.split()""" - for c in '"', "'", "\\", "#": - if c in arg: - return repr(arg) - if arg.split() != [arg]: - return repr(arg) - return arg - - -class alias(option_base): - """Define a shortcut that invokes one or more commands""" - - description = "define a shortcut to invoke one or more commands" - command_consumes_arguments = True - - user_options = [ - ('remove', 'r', 'remove (unset) the alias'), - ] + option_base.user_options - - boolean_options = option_base.boolean_options + ['remove'] - - def initialize_options(self): - option_base.initialize_options(self) - self.args = None - self.remove = None - - def finalize_options(self): - option_base.finalize_options(self) - if self.remove and len(self.args) != 1: - raise DistutilsOptionError( - "Must specify exactly one argument (the alias name) when " - "using --remove" - ) - - def run(self): - aliases = self.distribution.get_option_dict('aliases') - - if not self.args: - print("Command Aliases") - print("---------------") - for alias in aliases: - print("setup.py alias", format_alias(alias, aliases)) - return - - elif len(self.args) == 1: - alias, = self.args - if self.remove: - command = None - elif alias in aliases: - print("setup.py alias", format_alias(alias, aliases)) - return - else: - print("No alias definition found for %r" % alias) - return - else: - alias = self.args[0] - command = ' '.join(map(shquote, self.args[1:])) - - edit_config(self.filename, {'aliases': {alias: command}}, self.dry_run) - - -def format_alias(name, aliases): - source, command = aliases[name] - if source == config_file('global'): - source = '--global-config ' - elif source == config_file('user'): - source = '--user-config ' - elif source == config_file('local'): - source = '' - else: - source = '--filename=%r' % source - return source + name + ' ' + command diff --git a/.venv/lib/python3.8/site-packages/setuptools/command/bdist_egg.py b/.venv/lib/python3.8/site-packages/setuptools/command/bdist_egg.py deleted file mode 100644 index 98470f1..0000000 --- a/.venv/lib/python3.8/site-packages/setuptools/command/bdist_egg.py +++ /dev/null @@ -1,502 +0,0 @@ -"""setuptools.command.bdist_egg - -Build .egg distributions""" - -from distutils.errors import DistutilsSetupError -from distutils.dir_util import remove_tree, mkpath -from distutils import log -from types import CodeType -import sys -import os -import re -import textwrap -import marshal - -from setuptools.extern import six - -from pkg_resources import get_build_platform, Distribution, ensure_directory -from pkg_resources import EntryPoint -from setuptools.extension import Library -from setuptools import Command - -try: - # Python 2.7 or >=3.2 - from sysconfig import get_path, get_python_version - - def _get_purelib(): - return get_path("purelib") -except ImportError: - from distutils.sysconfig import get_python_lib, get_python_version - - def _get_purelib(): - return get_python_lib(False) - - -def strip_module(filename): - if '.' in filename: - filename = os.path.splitext(filename)[0] - if filename.endswith('module'): - filename = filename[:-6] - return filename - - -def sorted_walk(dir): - """Do os.walk in a reproducible way, - independent of indeterministic filesystem readdir order - """ - for base, dirs, files in os.walk(dir): - dirs.sort() - files.sort() - yield base, dirs, files - - -def write_stub(resource, pyfile): - _stub_template = textwrap.dedent(""" - def __bootstrap__(): - global __bootstrap__, __loader__, __file__ - import sys, pkg_resources, imp - __file__ = pkg_resources.resource_filename(__name__, %r) - __loader__ = None; del __bootstrap__, __loader__ - imp.load_dynamic(__name__,__file__) - __bootstrap__() - """).lstrip() - with open(pyfile, 'w') as f: - f.write(_stub_template % resource) - - -class bdist_egg(Command): - description = "create an \"egg\" distribution" - - user_options = [ - ('bdist-dir=', 'b', - "temporary directory for creating the distribution"), - ('plat-name=', 'p', "platform name to embed in generated filenames " - "(default: %s)" % get_build_platform()), - ('exclude-source-files', None, - "remove all .py files from the generated egg"), - ('keep-temp', 'k', - "keep the pseudo-installation tree around after " + - "creating the distribution archive"), - ('dist-dir=', 'd', - "directory to put final built distributions in"), - ('skip-build', None, - "skip rebuilding everything (for testing/debugging)"), - ] - - boolean_options = [ - 'keep-temp', 'skip-build', 'exclude-source-files' - ] - - def initialize_options(self): - self.bdist_dir = None - self.plat_name = None - self.keep_temp = 0 - self.dist_dir = None - self.skip_build = 0 - self.egg_output = None - self.exclude_source_files = None - - def finalize_options(self): - ei_cmd = self.ei_cmd = self.get_finalized_command("egg_info") - self.egg_info = ei_cmd.egg_info - - if self.bdist_dir is None: - bdist_base = self.get_finalized_command('bdist').bdist_base - self.bdist_dir = os.path.join(bdist_base, 'egg') - - if self.plat_name is None: - self.plat_name = get_build_platform() - - self.set_undefined_options('bdist', ('dist_dir', 'dist_dir')) - - if self.egg_output is None: - - # Compute filename of the output egg - basename = Distribution( - None, None, ei_cmd.egg_name, ei_cmd.egg_version, - get_python_version(), - self.distribution.has_ext_modules() and self.plat_name - ).egg_name() - - self.egg_output = os.path.join(self.dist_dir, basename + '.egg') - - def do_install_data(self): - # Hack for packages that install data to install's --install-lib - self.get_finalized_command('install').install_lib = self.bdist_dir - - site_packages = os.path.normcase(os.path.realpath(_get_purelib())) - old, self.distribution.data_files = self.distribution.data_files, [] - - for item in old: - if isinstance(item, tuple) and len(item) == 2: - if os.path.isabs(item[0]): - realpath = os.path.realpath(item[0]) - normalized = os.path.normcase(realpath) - if normalized == site_packages or normalized.startswith( - site_packages + os.sep - ): - item = realpath[len(site_packages) + 1:], item[1] - # XXX else: raise ??? - self.distribution.data_files.append(item) - - try: - log.info("installing package data to %s", self.bdist_dir) - self.call_command('install_data', force=0, root=None) - finally: - self.distribution.data_files = old - - def get_outputs(self): - return [self.egg_output] - - def call_command(self, cmdname, **kw): - """Invoke reinitialized command `cmdname` with keyword args""" - for dirname in INSTALL_DIRECTORY_ATTRS: - kw.setdefault(dirname, self.bdist_dir) - kw.setdefault('skip_build', self.skip_build) - kw.setdefault('dry_run', self.dry_run) - cmd = self.reinitialize_command(cmdname, **kw) - self.run_command(cmdname) - return cmd - - def run(self): - # Generate metadata first - self.run_command("egg_info") - # We run install_lib before install_data, because some data hacks - # pull their data path from the install_lib command. - log.info("installing library code to %s", self.bdist_dir) - instcmd = self.get_finalized_command('install') - old_root = instcmd.root - instcmd.root = None - if self.distribution.has_c_libraries() and not self.skip_build: - self.run_command('build_clib') - cmd = self.call_command('install_lib', warn_dir=0) - instcmd.root = old_root - - all_outputs, ext_outputs = self.get_ext_outputs() - self.stubs = [] - to_compile = [] - for (p, ext_name) in enumerate(ext_outputs): - filename, ext = os.path.splitext(ext_name) - pyfile = os.path.join(self.bdist_dir, strip_module(filename) + - '.py') - self.stubs.append(pyfile) - log.info("creating stub loader for %s", ext_name) - if not self.dry_run: - write_stub(os.path.basename(ext_name), pyfile) - to_compile.append(pyfile) - ext_outputs[p] = ext_name.replace(os.sep, '/') - - if to_compile: - cmd.byte_compile(to_compile) - if self.distribution.data_files: - self.do_install_data() - - # Make the EGG-INFO directory - archive_root = self.bdist_dir - egg_info = os.path.join(archive_root, 'EGG-INFO') - self.mkpath(egg_info) - if self.distribution.scripts: - script_dir = os.path.join(egg_info, 'scripts') - log.info("installing scripts to %s", script_dir) - self.call_command('install_scripts', install_dir=script_dir, - no_ep=1) - - self.copy_metadata_to(egg_info) - native_libs = os.path.join(egg_info, "native_libs.txt") - if all_outputs: - log.info("writing %s", native_libs) - if not self.dry_run: - ensure_directory(native_libs) - libs_file = open(native_libs, 'wt') - libs_file.write('\n'.join(all_outputs)) - libs_file.write('\n') - libs_file.close() - elif os.path.isfile(native_libs): - log.info("removing %s", native_libs) - if not self.dry_run: - os.unlink(native_libs) - - write_safety_flag( - os.path.join(archive_root, 'EGG-INFO'), self.zip_safe() - ) - - if os.path.exists(os.path.join(self.egg_info, 'depends.txt')): - log.warn( - "WARNING: 'depends.txt' will not be used by setuptools 0.6!\n" - "Use the install_requires/extras_require setup() args instead." - ) - - if self.exclude_source_files: - self.zap_pyfiles() - - # Make the archive - make_zipfile(self.egg_output, archive_root, verbose=self.verbose, - dry_run=self.dry_run, mode=self.gen_header()) - if not self.keep_temp: - remove_tree(self.bdist_dir, dry_run=self.dry_run) - - # Add to 'Distribution.dist_files' so that the "upload" command works - getattr(self.distribution, 'dist_files', []).append( - ('bdist_egg', get_python_version(), self.egg_output)) - - def zap_pyfiles(self): - log.info("Removing .py files from temporary directory") - for base, dirs, files in walk_egg(self.bdist_dir): - for name in files: - path = os.path.join(base, name) - - if name.endswith('.py'): - log.debug("Deleting %s", path) - os.unlink(path) - - if base.endswith('__pycache__'): - path_old = path - - pattern = r'(?P<name>.+)\.(?P<magic>[^.]+)\.pyc' - m = re.match(pattern, name) - path_new = os.path.join( - base, os.pardir, m.group('name') + '.pyc') - log.info( - "Renaming file from [%s] to [%s]" - % (path_old, path_new)) - try: - os.remove(path_new) - except OSError: - pass - os.rename(path_old, path_new) - - def zip_safe(self): - safe = getattr(self.distribution, 'zip_safe', None) - if safe is not None: - return safe - log.warn("zip_safe flag not set; analyzing archive contents...") - return analyze_egg(self.bdist_dir, self.stubs) - - def gen_header(self): - epm = EntryPoint.parse_map(self.distribution.entry_points or '') - ep = epm.get('setuptools.installation', {}).get('eggsecutable') - if ep is None: - return 'w' # not an eggsecutable, do it the usual way. - - if not ep.attrs or ep.extras: - raise DistutilsSetupError( - "eggsecutable entry point (%r) cannot have 'extras' " - "or refer to a module" % (ep,) - ) - - pyver = '{}.{}'.format(*sys.version_info) - pkg = ep.module_name - full = '.'.join(ep.attrs) - base = ep.attrs[0] - basename = os.path.basename(self.egg_output) - - header = ( - "#!/bin/sh\n" - 'if [ `basename $0` = "%(basename)s" ]\n' - 'then exec python%(pyver)s -c "' - "import sys, os; sys.path.insert(0, os.path.abspath('$0')); " - "from %(pkg)s import %(base)s; sys.exit(%(full)s())" - '" "$@"\n' - 'else\n' - ' echo $0 is not the correct name for this egg file.\n' - ' echo Please rename it back to %(basename)s and try again.\n' - ' exec false\n' - 'fi\n' - ) % locals() - - if not self.dry_run: - mkpath(os.path.dirname(self.egg_output), dry_run=self.dry_run) - f = open(self.egg_output, 'w') - f.write(header) - f.close() - return 'a' - - def copy_metadata_to(self, target_dir): - "Copy metadata (egg info) to the target_dir" - # normalize the path (so that a forward-slash in egg_info will - # match using startswith below) - norm_egg_info = os.path.normpath(self.egg_info) - prefix = os.path.join(norm_egg_info, '') - for path in self.ei_cmd.filelist.files: - if path.startswith(prefix): - target = os.path.join(target_dir, path[len(prefix):]) - ensure_directory(target) - self.copy_file(path, target) - - def get_ext_outputs(self): - """Get a list of relative paths to C extensions in the output distro""" - - all_outputs = [] - ext_outputs = [] - - paths = {self.bdist_dir: ''} - for base, dirs, files in sorted_walk(self.bdist_dir): - for filename in files: - if os.path.splitext(filename)[1].lower() in NATIVE_EXTENSIONS: - all_outputs.append(paths[base] + filename) - for filename in dirs: - paths[os.path.join(base, filename)] = (paths[base] + - filename + '/') - - if self.distribution.has_ext_modules(): - build_cmd = self.get_finalized_command('build_ext') - for ext in build_cmd.extensions: - if isinstance(ext, Library): - continue - fullname = build_cmd.get_ext_fullname(ext.name) - filename = build_cmd.get_ext_filename(fullname) - if not os.path.basename(filename).startswith('dl-'): - if os.path.exists(os.path.join(self.bdist_dir, filename)): - ext_outputs.append(filename) - - return all_outputs, ext_outputs - - -NATIVE_EXTENSIONS = dict.fromkeys('.dll .so .dylib .pyd'.split()) - - -def walk_egg(egg_dir): - """Walk an unpacked egg's contents, skipping the metadata directory""" - walker = sorted_walk(egg_dir) - base, dirs, files = next(walker) - if 'EGG-INFO' in dirs: - dirs.remove('EGG-INFO') - yield base, dirs, files - for bdf in walker: - yield bdf - - -def analyze_egg(egg_dir, stubs): - # check for existing flag in EGG-INFO - for flag, fn in safety_flags.items(): - if os.path.exists(os.path.join(egg_dir, 'EGG-INFO', fn)): - return flag - if not can_scan(): - return False - safe = True - for base, dirs, files in walk_egg(egg_dir): - for name in files: - if name.endswith('.py') or name.endswith('.pyw'): - continue - elif name.endswith('.pyc') or name.endswith('.pyo'): - # always scan, even if we already know we're not safe - safe = scan_module(egg_dir, base, name, stubs) and safe - return safe - - -def write_safety_flag(egg_dir, safe): - # Write or remove zip safety flag file(s) - for flag, fn in safety_flags.items(): - fn = os.path.join(egg_dir, fn) - if os.path.exists(fn): - if safe is None or bool(safe) != flag: - os.unlink(fn) - elif safe is not None and bool(safe) == flag: - f = open(fn, 'wt') - f.write('\n') - f.close() - - -safety_flags = { - True: 'zip-safe', - False: 'not-zip-safe', -} - - -def scan_module(egg_dir, base, name, stubs): - """Check whether module possibly uses unsafe-for-zipfile stuff""" - - filename = os.path.join(base, name) - if filename[:-1] in stubs: - return True # Extension module - pkg = base[len(egg_dir) + 1:].replace(os.sep, '.') - module = pkg + (pkg and '.' or '') + os.path.splitext(name)[0] - if six.PY2: - skip = 8 # skip magic & date - elif sys.version_info < (3, 7): - skip = 12 # skip magic & date & file size - else: - skip = 16 # skip magic & reserved? & date & file size - f = open(filename, 'rb') - f.read(skip) - code = marshal.load(f) - f.close() - safe = True - symbols = dict.fromkeys(iter_symbols(code)) - for bad in ['__file__', '__path__']: - if bad in symbols: - log.warn("%s: module references %s", module, bad) - safe = False - if 'inspect' in symbols: - for bad in [ - 'getsource', 'getabsfile', 'getsourcefile', 'getfile' - 'getsourcelines', 'findsource', 'getcomments', 'getframeinfo', - 'getinnerframes', 'getouterframes', 'stack', 'trace' - ]: - if bad in symbols: - log.warn("%s: module MAY be using inspect.%s", module, bad) - safe = False - return safe - - -def iter_symbols(code): - """Yield names and strings used by `code` and its nested code objects""" - for name in code.co_names: - yield name - for const in code.co_consts: - if isinstance(const, six.string_types): - yield const - elif isinstance(const, CodeType): - for name in iter_symbols(const): - yield name - - -def can_scan(): - if not sys.platform.startswith('java') and sys.platform != 'cli': - # CPython, PyPy, etc. - return True - log.warn("Unable to analyze compiled code on this platform.") - log.warn("Please ask the author to include a 'zip_safe'" - " setting (either True or False) in the package's setup.py") - - -# Attribute names of options for commands that might need to be convinced to -# install to the egg build directory - -INSTALL_DIRECTORY_ATTRS = [ - 'install_lib', 'install_dir', 'install_data', 'install_base' -] - - -def make_zipfile(zip_filename, base_dir, verbose=0, dry_run=0, compress=True, - mode='w'): - """Create a zip file from all the files under 'base_dir'. The output - zip file will be named 'base_dir' + ".zip". Uses either the "zipfile" - Python module (if available) or the InfoZIP "zip" utility (if installed - and found on the default search path). If neither tool is available, - raises DistutilsExecError. Returns the name of the output zip file. - """ - import zipfile - - mkpath(os.path.dirname(zip_filename), dry_run=dry_run) - log.info("creating '%s' and adding '%s' to it", zip_filename, base_dir) - - def visit(z, dirname, names): - for name in names: - path = os.path.normpath(os.path.join(dirname, name)) - if os.path.isfile(path): - p = path[len(base_dir) + 1:] - if not dry_run: - z.write(path, p) - log.debug("adding '%s'", p) - - compression = zipfile.ZIP_DEFLATED if compress else zipfile.ZIP_STORED - if not dry_run: - z = zipfile.ZipFile(zip_filename, mode, compression=compression) - for dirname, dirs, files in sorted_walk(base_dir): - visit(z, dirname, files) - z.close() - else: - for dirname, dirs, files in sorted_walk(base_dir): - visit(None, dirname, files) - return zip_filename diff --git a/.venv/lib/python3.8/site-packages/setuptools/command/bdist_rpm.py b/.venv/lib/python3.8/site-packages/setuptools/command/bdist_rpm.py deleted file mode 100644 index 7073092..0000000 --- a/.venv/lib/python3.8/site-packages/setuptools/command/bdist_rpm.py +++ /dev/null @@ -1,43 +0,0 @@ -import distutils.command.bdist_rpm as orig - - -class bdist_rpm(orig.bdist_rpm): - """ - Override the default bdist_rpm behavior to do the following: - - 1. Run egg_info to ensure the name and version are properly calculated. - 2. Always run 'install' using --single-version-externally-managed to - disable eggs in RPM distributions. - 3. Replace dash with underscore in the version numbers for better RPM - compatibility. - """ - - def run(self): - # ensure distro name is up-to-date - self.run_command('egg_info') - - orig.bdist_rpm.run(self) - - def _make_spec_file(self): - version = self.distribution.get_version() - rpmversion = version.replace('-', '_') - spec = orig.bdist_rpm._make_spec_file(self) - line23 = '%define version ' + version - line24 = '%define version ' + rpmversion - spec = [ - line.replace( - "Source0: %{name}-%{version}.tar", - "Source0: %{name}-%{unmangled_version}.tar" - ).replace( - "setup.py install ", - "setup.py install --single-version-externally-managed " - ).replace( - "%setup", - "%setup -n %{name}-%{unmangled_version}" - ).replace(line23, line24) - for line in spec - ] - insert_loc = spec.index(line24) + 1 - unmangled_version = "%define unmangled_version " + version - spec.insert(insert_loc, unmangled_version) - return spec diff --git a/.venv/lib/python3.8/site-packages/setuptools/command/bdist_wininst.py b/.venv/lib/python3.8/site-packages/setuptools/command/bdist_wininst.py deleted file mode 100644 index 073de97..0000000 --- a/.venv/lib/python3.8/site-packages/setuptools/command/bdist_wininst.py +++ /dev/null @@ -1,21 +0,0 @@ -import distutils.command.bdist_wininst as orig - - -class bdist_wininst(orig.bdist_wininst): - def reinitialize_command(self, command, reinit_subcommands=0): - """ - Supplement reinitialize_command to work around - http://bugs.python.org/issue20819 - """ - cmd = self.distribution.reinitialize_command( - command, reinit_subcommands) - if command in ('install', 'install_lib'): - cmd.install_lib = None - return cmd - - def run(self): - self._is_running = True - try: - orig.bdist_wininst.run(self) - finally: - self._is_running = False diff --git a/.venv/lib/python3.8/site-packages/setuptools/command/build_clib.py b/.venv/lib/python3.8/site-packages/setuptools/command/build_clib.py deleted file mode 100644 index 09caff6..0000000 --- a/.venv/lib/python3.8/site-packages/setuptools/command/build_clib.py +++ /dev/null @@ -1,98 +0,0 @@ -import distutils.command.build_clib as orig -from distutils.errors import DistutilsSetupError -from distutils import log -from setuptools.dep_util import newer_pairwise_group - - -class build_clib(orig.build_clib): - """ - Override the default build_clib behaviour to do the following: - - 1. Implement a rudimentary timestamp-based dependency system - so 'compile()' doesn't run every time. - 2. Add more keys to the 'build_info' dictionary: - * obj_deps - specify dependencies for each object compiled. - this should be a dictionary mapping a key - with the source filename to a list of - dependencies. Use an empty string for global - dependencies. - * cflags - specify a list of additional flags to pass to - the compiler. - """ - - def build_libraries(self, libraries): - for (lib_name, build_info) in libraries: - sources = build_info.get('sources') - if sources is None or not isinstance(sources, (list, tuple)): - raise DistutilsSetupError( - "in 'libraries' option (library '%s'), " - "'sources' must be present and must be " - "a list of source filenames" % lib_name) - sources = list(sources) - - log.info("building '%s' library", lib_name) - - # Make sure everything is the correct type. - # obj_deps should be a dictionary of keys as sources - # and a list/tuple of files that are its dependencies. - obj_deps = build_info.get('obj_deps', dict()) - if not isinstance(obj_deps, dict): - raise DistutilsSetupError( - "in 'libraries' option (library '%s'), " - "'obj_deps' must be a dictionary of " - "type 'source: list'" % lib_name) - dependencies = [] - - # Get the global dependencies that are specified by the '' key. - # These will go into every source's dependency list. - global_deps = obj_deps.get('', list()) - if not isinstance(global_deps, (list, tuple)): - raise DistutilsSetupError( - "in 'libraries' option (library '%s'), " - "'obj_deps' must be a dictionary of " - "type 'source: list'" % lib_name) - - # Build the list to be used by newer_pairwise_group - # each source will be auto-added to its dependencies. - for source in sources: - src_deps = [source] - src_deps.extend(global_deps) - extra_deps = obj_deps.get(source, list()) - if not isinstance(extra_deps, (list, tuple)): - raise DistutilsSetupError( - "in 'libraries' option (library '%s'), " - "'obj_deps' must be a dictionary of " - "type 'source: list'" % lib_name) - src_deps.extend(extra_deps) - dependencies.append(src_deps) - - expected_objects = self.compiler.object_filenames( - sources, - output_dir=self.build_temp - ) - - if newer_pairwise_group(dependencies, expected_objects) != ([], []): - # First, compile the source code to object files in the library - # directory. (This should probably change to putting object - # files in a temporary build directory.) - macros = build_info.get('macros') - include_dirs = build_info.get('include_dirs') - cflags = build_info.get('cflags') - objects = self.compiler.compile( - sources, - output_dir=self.build_temp, - macros=macros, - include_dirs=include_dirs, - extra_postargs=cflags, - debug=self.debug - ) - - # Now "link" the object files together into a static library. - # (On Unix at least, this isn't really linking -- it just - # builds an archive. Whatever.) - self.compiler.create_static_lib( - expected_objects, - lib_name, - output_dir=self.build_clib, - debug=self.debug - ) diff --git a/.venv/lib/python3.8/site-packages/setuptools/command/build_ext.py b/.venv/lib/python3.8/site-packages/setuptools/command/build_ext.py deleted file mode 100644 index daa8e4f..0000000 --- a/.venv/lib/python3.8/site-packages/setuptools/command/build_ext.py +++ /dev/null @@ -1,327 +0,0 @@ -import os -import sys -import itertools -from distutils.command.build_ext import build_ext as _du_build_ext -from distutils.file_util import copy_file -from distutils.ccompiler import new_compiler -from distutils.sysconfig import customize_compiler, get_config_var -from distutils.errors import DistutilsError -from distutils import log - -from setuptools.extension import Library -from setuptools.extern import six - -if six.PY2: - import imp - - EXTENSION_SUFFIXES = [s for s, _, tp in imp.get_suffixes() if tp == imp.C_EXTENSION] -else: - from importlib.machinery import EXTENSION_SUFFIXES - -try: - # Attempt to use Cython for building extensions, if available - from Cython.Distutils.build_ext import build_ext as _build_ext - # Additionally, assert that the compiler module will load - # also. Ref #1229. - __import__('Cython.Compiler.Main') -except ImportError: - _build_ext = _du_build_ext - -# make sure _config_vars is initialized -get_config_var("LDSHARED") -from distutils.sysconfig import _config_vars as _CONFIG_VARS - - -def _customize_compiler_for_shlib(compiler): - if sys.platform == "darwin": - # building .dylib requires additional compiler flags on OSX; here we - # temporarily substitute the pyconfig.h variables so that distutils' - # 'customize_compiler' uses them before we build the shared libraries. - tmp = _CONFIG_VARS.copy() - try: - # XXX Help! I don't have any idea whether these are right... - _CONFIG_VARS['LDSHARED'] = ( - "gcc -Wl,-x -dynamiclib -undefined dynamic_lookup") - _CONFIG_VARS['CCSHARED'] = " -dynamiclib" - _CONFIG_VARS['SO'] = ".dylib" - customize_compiler(compiler) - finally: - _CONFIG_VARS.clear() - _CONFIG_VARS.update(tmp) - else: - customize_compiler(compiler) - - -have_rtld = False -use_stubs = False -libtype = 'shared' - -if sys.platform == "darwin": - use_stubs = True -elif os.name != 'nt': - try: - import dl - use_stubs = have_rtld = hasattr(dl, 'RTLD_NOW') - except ImportError: - pass - -if_dl = lambda s: s if have_rtld else '' - - -def get_abi3_suffix(): - """Return the file extension for an abi3-compliant Extension()""" - for suffix in EXTENSION_SUFFIXES: - if '.abi3' in suffix: # Unix - return suffix - elif suffix == '.pyd': # Windows - return suffix - - -class build_ext(_build_ext): - def run(self): - """Build extensions in build directory, then copy if --inplace""" - old_inplace, self.inplace = self.inplace, 0 - _build_ext.run(self) - self.inplace = old_inplace - if old_inplace: - self.copy_extensions_to_source() - - def copy_extensions_to_source(self): - build_py = self.get_finalized_command('build_py') - for ext in self.extensions: - fullname = self.get_ext_fullname(ext.name) - filename = self.get_ext_filename(fullname) - modpath = fullname.split('.') - package = '.'.join(modpath[:-1]) - package_dir = build_py.get_package_dir(package) - dest_filename = os.path.join(package_dir, - os.path.basename(filename)) - src_filename = os.path.join(self.build_lib, filename) - - # Always copy, even if source is older than destination, to ensure - # that the right extensions for the current Python/platform are - # used. - copy_file( - src_filename, dest_filename, verbose=self.verbose, - dry_run=self.dry_run - ) - if ext._needs_stub: - self.write_stub(package_dir or os.curdir, ext, True) - - def get_ext_filename(self, fullname): - filename = _build_ext.get_ext_filename(self, fullname) - if fullname in self.ext_map: - ext = self.ext_map[fullname] - use_abi3 = ( - six.PY3 - and getattr(ext, 'py_limited_api') - and get_abi3_suffix() - ) - if use_abi3: - so_ext = get_config_var('EXT_SUFFIX') - filename = filename[:-len(so_ext)] - filename = filename + get_abi3_suffix() - if isinstance(ext, Library): - fn, ext = os.path.splitext(filename) - return self.shlib_compiler.library_filename(fn, libtype) - elif use_stubs and ext._links_to_dynamic: - d, fn = os.path.split(filename) - return os.path.join(d, 'dl-' + fn) - return filename - - def initialize_options(self): - _build_ext.initialize_options(self) - self.shlib_compiler = None - self.shlibs = [] - self.ext_map = {} - - def finalize_options(self): - _build_ext.finalize_options(self) - self.extensions = self.extensions or [] - self.check_extensions_list(self.extensions) - self.shlibs = [ext for ext in self.extensions - if isinstance(ext, Library)] - if self.shlibs: - self.setup_shlib_compiler() - for ext in self.extensions: - ext._full_name = self.get_ext_fullname(ext.name) - for ext in self.extensions: - fullname = ext._full_name - self.ext_map[fullname] = ext - - # distutils 3.1 will also ask for module names - # XXX what to do with conflicts? - self.ext_map[fullname.split('.')[-1]] = ext - - ltd = self.shlibs and self.links_to_dynamic(ext) or False - ns = ltd and use_stubs and not isinstance(ext, Library) - ext._links_to_dynamic = ltd - ext._needs_stub = ns - filename = ext._file_name = self.get_ext_filename(fullname) - libdir = os.path.dirname(os.path.join(self.build_lib, filename)) - if ltd and libdir not in ext.library_dirs: - ext.library_dirs.append(libdir) - if ltd and use_stubs and os.curdir not in ext.runtime_library_dirs: - ext.runtime_library_dirs.append(os.curdir) - - def setup_shlib_compiler(self): - compiler = self.shlib_compiler = new_compiler( - compiler=self.compiler, dry_run=self.dry_run, force=self.force - ) - _customize_compiler_for_shlib(compiler) - - if self.include_dirs is not None: - compiler.set_include_dirs(self.include_dirs) - if self.define is not None: - # 'define' option is a list of (name,value) tuples - for (name, value) in self.define: - compiler.define_macro(name, value) - if self.undef is not None: - for macro in self.undef: - compiler.undefine_macro(macro) - if self.libraries is not None: - compiler.set_libraries(self.libraries) - if self.library_dirs is not None: - compiler.set_library_dirs(self.library_dirs) - if self.rpath is not None: - compiler.set_runtime_library_dirs(self.rpath) - if self.link_objects is not None: - compiler.set_link_objects(self.link_objects) - - # hack so distutils' build_extension() builds a library instead - compiler.link_shared_object = link_shared_object.__get__(compiler) - - def get_export_symbols(self, ext): - if isinstance(ext, Library): - return ext.export_symbols - return _build_ext.get_export_symbols(self, ext) - - def build_extension(self, ext): - ext._convert_pyx_sources_to_lang() - _compiler = self.compiler - try: - if isinstance(ext, Library): - self.compiler = self.shlib_compiler - _build_ext.build_extension(self, ext) - if ext._needs_stub: - cmd = self.get_finalized_command('build_py').build_lib - self.write_stub(cmd, ext) - finally: - self.compiler = _compiler - - def links_to_dynamic(self, ext): - """Return true if 'ext' links to a dynamic lib in the same package""" - # XXX this should check to ensure the lib is actually being built - # XXX as dynamic, and not just using a locally-found version or a - # XXX static-compiled version - libnames = dict.fromkeys([lib._full_name for lib in self.shlibs]) - pkg = '.'.join(ext._full_name.split('.')[:-1] + ['']) - return any(pkg + libname in libnames for libname in ext.libraries) - - def get_outputs(self): - return _build_ext.get_outputs(self) + self.__get_stubs_outputs() - - def __get_stubs_outputs(self): - # assemble the base name for each extension that needs a stub - ns_ext_bases = ( - os.path.join(self.build_lib, *ext._full_name.split('.')) - for ext in self.extensions - if ext._needs_stub - ) - # pair each base with the extension - pairs = itertools.product(ns_ext_bases, self.__get_output_extensions()) - return list(base + fnext for base, fnext in pairs) - - def __get_output_extensions(self): - yield '.py' - yield '.pyc' - if self.get_finalized_command('build_py').optimize: - yield '.pyo' - - def write_stub(self, output_dir, ext, compile=False): - log.info("writing stub loader for %s to %s", ext._full_name, - output_dir) - stub_file = (os.path.join(output_dir, *ext._full_name.split('.')) + - '.py') - if compile and os.path.exists(stub_file): - raise DistutilsError(stub_file + " already exists! Please delete.") - if not self.dry_run: - f = open(stub_file, 'w') - f.write( - '\n'.join([ - "def __bootstrap__():", - " global __bootstrap__, __file__, __loader__", - " import sys, os, pkg_resources, imp" + if_dl(", dl"), - " __file__ = pkg_resources.resource_filename" - "(__name__,%r)" - % os.path.basename(ext._file_name), - " del __bootstrap__", - " if '__loader__' in globals():", - " del __loader__", - if_dl(" old_flags = sys.getdlopenflags()"), - " old_dir = os.getcwd()", - " try:", - " os.chdir(os.path.dirname(__file__))", - if_dl(" sys.setdlopenflags(dl.RTLD_NOW)"), - " imp.load_dynamic(__name__,__file__)", - " finally:", - if_dl(" sys.setdlopenflags(old_flags)"), - " os.chdir(old_dir)", - "__bootstrap__()", - "" # terminal \n - ]) - ) - f.close() - if compile: - from distutils.util import byte_compile - - byte_compile([stub_file], optimize=0, - force=True, dry_run=self.dry_run) - optimize = self.get_finalized_command('install_lib').optimize - if optimize > 0: - byte_compile([stub_file], optimize=optimize, - force=True, dry_run=self.dry_run) - if os.path.exists(stub_file) and not self.dry_run: - os.unlink(stub_file) - - -if use_stubs or os.name == 'nt': - # Build shared libraries - # - def link_shared_object( - self, objects, output_libname, output_dir=None, libraries=None, - library_dirs=None, runtime_library_dirs=None, export_symbols=None, - debug=0, extra_preargs=None, extra_postargs=None, build_temp=None, - target_lang=None): - self.link( - self.SHARED_LIBRARY, objects, output_libname, - output_dir, libraries, library_dirs, runtime_library_dirs, - export_symbols, debug, extra_preargs, extra_postargs, - build_temp, target_lang - ) -else: - # Build static libraries everywhere else - libtype = 'static' - - def link_shared_object( - self, objects, output_libname, output_dir=None, libraries=None, - library_dirs=None, runtime_library_dirs=None, export_symbols=None, - debug=0, extra_preargs=None, extra_postargs=None, build_temp=None, - target_lang=None): - # XXX we need to either disallow these attrs on Library instances, - # or warn/abort here if set, or something... - # libraries=None, library_dirs=None, runtime_library_dirs=None, - # export_symbols=None, extra_preargs=None, extra_postargs=None, - # build_temp=None - - assert output_dir is None # distutils build_ext doesn't pass this - output_dir, filename = os.path.split(output_libname) - basename, ext = os.path.splitext(filename) - if self.library_filename("x").startswith('lib'): - # strip 'lib' prefix; this is kludgy if some platform uses - # a different prefix - basename = basename[3:] - - self.create_static_lib( - objects, basename, output_dir, debug, target_lang - ) diff --git a/.venv/lib/python3.8/site-packages/setuptools/command/build_py.py b/.venv/lib/python3.8/site-packages/setuptools/command/build_py.py deleted file mode 100644 index b0314fd..0000000 --- a/.venv/lib/python3.8/site-packages/setuptools/command/build_py.py +++ /dev/null @@ -1,270 +0,0 @@ -from glob import glob -from distutils.util import convert_path -import distutils.command.build_py as orig -import os -import fnmatch -import textwrap -import io -import distutils.errors -import itertools - -from setuptools.extern import six -from setuptools.extern.six.moves import map, filter, filterfalse - -try: - from setuptools.lib2to3_ex import Mixin2to3 -except ImportError: - - class Mixin2to3: - def run_2to3(self, files, doctests=True): - "do nothing" - - -class build_py(orig.build_py, Mixin2to3): - """Enhanced 'build_py' command that includes data files with packages - - The data files are specified via a 'package_data' argument to 'setup()'. - See 'setuptools.dist.Distribution' for more details. - - Also, this version of the 'build_py' command allows you to specify both - 'py_modules' and 'packages' in the same setup operation. - """ - - def finalize_options(self): - orig.build_py.finalize_options(self) - self.package_data = self.distribution.package_data - self.exclude_package_data = (self.distribution.exclude_package_data or - {}) - if 'data_files' in self.__dict__: - del self.__dict__['data_files'] - self.__updated_files = [] - self.__doctests_2to3 = [] - - def run(self): - """Build modules, packages, and copy data files to build directory""" - if not self.py_modules and not self.packages: - return - - if self.py_modules: - self.build_modules() - - if self.packages: - self.build_packages() - self.build_package_data() - - self.run_2to3(self.__updated_files, False) - self.run_2to3(self.__updated_files, True) - self.run_2to3(self.__doctests_2to3, True) - - # Only compile actual .py files, using our base class' idea of what our - # output files are. - self.byte_compile(orig.build_py.get_outputs(self, include_bytecode=0)) - - def __getattr__(self, attr): - "lazily compute data files" - if attr == 'data_files': - self.data_files = self._get_data_files() - return self.data_files - return orig.build_py.__getattr__(self, attr) - - def build_module(self, module, module_file, package): - if six.PY2 and isinstance(package, six.string_types): - # avoid errors on Python 2 when unicode is passed (#190) - package = package.split('.') - outfile, copied = orig.build_py.build_module(self, module, module_file, - package) - if copied: - self.__updated_files.append(outfile) - return outfile, copied - - def _get_data_files(self): - """Generate list of '(package,src_dir,build_dir,filenames)' tuples""" - self.analyze_manifest() - return list(map(self._get_pkg_data_files, self.packages or ())) - - def _get_pkg_data_files(self, package): - # Locate package source directory - src_dir = self.get_package_dir(package) - - # Compute package build directory - build_dir = os.path.join(*([self.build_lib] + package.split('.'))) - - # Strip directory from globbed filenames - filenames = [ - os.path.relpath(file, src_dir) - for file in self.find_data_files(package, src_dir) - ] - return package, src_dir, build_dir, filenames - - def find_data_files(self, package, src_dir): - """Return filenames for package's data files in 'src_dir'""" - patterns = self._get_platform_patterns( - self.package_data, - package, - src_dir, - ) - globs_expanded = map(glob, patterns) - # flatten the expanded globs into an iterable of matches - globs_matches = itertools.chain.from_iterable(globs_expanded) - glob_files = filter(os.path.isfile, globs_matches) - files = itertools.chain( - self.manifest_files.get(package, []), - glob_files, - ) - return self.exclude_data_files(package, src_dir, files) - - def build_package_data(self): - """Copy data files into build directory""" - for package, src_dir, build_dir, filenames in self.data_files: - for filename in filenames: - target = os.path.join(build_dir, filename) - self.mkpath(os.path.dirname(target)) - srcfile = os.path.join(src_dir, filename) - outf, copied = self.copy_file(srcfile, target) - srcfile = os.path.abspath(srcfile) - if (copied and - srcfile in self.distribution.convert_2to3_doctests): - self.__doctests_2to3.append(outf) - - def analyze_manifest(self): - self.manifest_files = mf = {} - if not self.distribution.include_package_data: - return - src_dirs = {} - for package in self.packages or (): - # Locate package source directory - src_dirs[assert_relative(self.get_package_dir(package))] = package - - self.run_command('egg_info') - ei_cmd = self.get_finalized_command('egg_info') - for path in ei_cmd.filelist.files: - d, f = os.path.split(assert_relative(path)) - prev = None - oldf = f - while d and d != prev and d not in src_dirs: - prev = d - d, df = os.path.split(d) - f = os.path.join(df, f) - if d in src_dirs: - if path.endswith('.py') and f == oldf: - continue # it's a module, not data - mf.setdefault(src_dirs[d], []).append(path) - - def get_data_files(self): - pass # Lazily compute data files in _get_data_files() function. - - def check_package(self, package, package_dir): - """Check namespace packages' __init__ for declare_namespace""" - try: - return self.packages_checked[package] - except KeyError: - pass - - init_py = orig.build_py.check_package(self, package, package_dir) - self.packages_checked[package] = init_py - - if not init_py or not self.distribution.namespace_packages: - return init_py - - for pkg in self.distribution.namespace_packages: - if pkg == package or pkg.startswith(package + '.'): - break - else: - return init_py - - with io.open(init_py, 'rb') as f: - contents = f.read() - if b'declare_namespace' not in contents: - raise distutils.errors.DistutilsError( - "Namespace package problem: %s is a namespace package, but " - "its\n__init__.py does not call declare_namespace()! Please " - 'fix it.\n(See the setuptools manual under ' - '"Namespace Packages" for details.)\n"' % (package,) - ) - return init_py - - def initialize_options(self): - self.packages_checked = {} - orig.build_py.initialize_options(self) - - def get_package_dir(self, package): - res = orig.build_py.get_package_dir(self, package) - if self.distribution.src_root is not None: - return os.path.join(self.distribution.src_root, res) - return res - - def exclude_data_files(self, package, src_dir, files): - """Filter filenames for package's data files in 'src_dir'""" - files = list(files) - patterns = self._get_platform_patterns( - self.exclude_package_data, - package, - src_dir, - ) - match_groups = ( - fnmatch.filter(files, pattern) - for pattern in patterns - ) - # flatten the groups of matches into an iterable of matches - matches = itertools.chain.from_iterable(match_groups) - bad = set(matches) - keepers = ( - fn - for fn in files - if fn not in bad - ) - # ditch dupes - return list(_unique_everseen(keepers)) - - @staticmethod - def _get_platform_patterns(spec, package, src_dir): - """ - yield platform-specific path patterns (suitable for glob - or fn_match) from a glob-based spec (such as - self.package_data or self.exclude_package_data) - matching package in src_dir. - """ - raw_patterns = itertools.chain( - spec.get('', []), - spec.get(package, []), - ) - return ( - # Each pattern has to be converted to a platform-specific path - os.path.join(src_dir, convert_path(pattern)) - for pattern in raw_patterns - ) - - -# from Python docs -def _unique_everseen(iterable, key=None): - "List unique elements, preserving order. Remember all elements ever seen." - # unique_everseen('AAAABBBCCDAABBB') --> A B C D - # unique_everseen('ABBCcAD', str.lower) --> A B C D - seen = set() - seen_add = seen.add - if key is None: - for element in filterfalse(seen.__contains__, iterable): - seen_add(element) - yield element - else: - for element in iterable: - k = key(element) - if k not in seen: - seen_add(k) - yield element - - -def assert_relative(path): - if not os.path.isabs(path): - return path - from distutils.errors import DistutilsSetupError - - msg = textwrap.dedent(""" - Error: setup script specifies an absolute path: - - %s - - setup() arguments must *always* be /-separated paths relative to the - setup.py directory, *never* absolute paths. - """).lstrip() % path - raise DistutilsSetupError(msg) diff --git a/.venv/lib/python3.8/site-packages/setuptools/command/develop.py b/.venv/lib/python3.8/site-packages/setuptools/command/develop.py deleted file mode 100644 index 009e4f9..0000000 --- a/.venv/lib/python3.8/site-packages/setuptools/command/develop.py +++ /dev/null @@ -1,221 +0,0 @@ -from distutils.util import convert_path -from distutils import log -from distutils.errors import DistutilsError, DistutilsOptionError -import os -import glob -import io - -from setuptools.extern import six - -import pkg_resources -from setuptools.command.easy_install import easy_install -from setuptools import namespaces -import setuptools - -__metaclass__ = type - - -class develop(namespaces.DevelopInstaller, easy_install): - """Set up package for development""" - - description = "install package in 'development mode'" - - user_options = easy_install.user_options + [ - ("uninstall", "u", "Uninstall this source package"), - ("egg-path=", None, "Set the path to be used in the .egg-link file"), - ] - - boolean_options = easy_install.boolean_options + ['uninstall'] - - command_consumes_arguments = False # override base - - def run(self): - if self.uninstall: - self.multi_version = True - self.uninstall_link() - self.uninstall_namespaces() - else: - self.install_for_development() - self.warn_deprecated_options() - - def initialize_options(self): - self.uninstall = None - self.egg_path = None - easy_install.initialize_options(self) - self.setup_path = None - self.always_copy_from = '.' # always copy eggs installed in curdir - - def finalize_options(self): - ei = self.get_finalized_command("egg_info") - if ei.broken_egg_info: - template = "Please rename %r to %r before using 'develop'" - args = ei.egg_info, ei.broken_egg_info - raise DistutilsError(template % args) - self.args = [ei.egg_name] - - easy_install.finalize_options(self) - self.expand_basedirs() - self.expand_dirs() - # pick up setup-dir .egg files only: no .egg-info - self.package_index.scan(glob.glob('*.egg')) - - egg_link_fn = ei.egg_name + '.egg-link' - self.egg_link = os.path.join(self.install_dir, egg_link_fn) - self.egg_base = ei.egg_base - if self.egg_path is None: - self.egg_path = os.path.abspath(ei.egg_base) - - target = pkg_resources.normalize_path(self.egg_base) - egg_path = pkg_resources.normalize_path( - os.path.join(self.install_dir, self.egg_path)) - if egg_path != target: - raise DistutilsOptionError( - "--egg-path must be a relative path from the install" - " directory to " + target - ) - - # Make a distribution for the package's source - self.dist = pkg_resources.Distribution( - target, - pkg_resources.PathMetadata(target, os.path.abspath(ei.egg_info)), - project_name=ei.egg_name - ) - - self.setup_path = self._resolve_setup_path( - self.egg_base, - self.install_dir, - self.egg_path, - ) - - @staticmethod - def _resolve_setup_path(egg_base, install_dir, egg_path): - """ - Generate a path from egg_base back to '.' where the - setup script resides and ensure that path points to the - setup path from $install_dir/$egg_path. - """ - path_to_setup = egg_base.replace(os.sep, '/').rstrip('/') - if path_to_setup != os.curdir: - path_to_setup = '../' * (path_to_setup.count('/') + 1) - resolved = pkg_resources.normalize_path( - os.path.join(install_dir, egg_path, path_to_setup) - ) - if resolved != pkg_resources.normalize_path(os.curdir): - raise DistutilsOptionError( - "Can't get a consistent path to setup script from" - " installation directory", resolved, - pkg_resources.normalize_path(os.curdir)) - return path_to_setup - - def install_for_development(self): - if six.PY3 and getattr(self.distribution, 'use_2to3', False): - # If we run 2to3 we can not do this inplace: - - # Ensure metadata is up-to-date - self.reinitialize_command('build_py', inplace=0) - self.run_command('build_py') - bpy_cmd = self.get_finalized_command("build_py") - build_path = pkg_resources.normalize_path(bpy_cmd.build_lib) - - # Build extensions - self.reinitialize_command('egg_info', egg_base=build_path) - self.run_command('egg_info') - - self.reinitialize_command('build_ext', inplace=0) - self.run_command('build_ext') - - # Fixup egg-link and easy-install.pth - ei_cmd = self.get_finalized_command("egg_info") - self.egg_path = build_path - self.dist.location = build_path - # XXX - self.dist._provider = pkg_resources.PathMetadata( - build_path, ei_cmd.egg_info) - else: - # Without 2to3 inplace works fine: - self.run_command('egg_info') - - # Build extensions in-place - self.reinitialize_command('build_ext', inplace=1) - self.run_command('build_ext') - - self.install_site_py() # ensure that target dir is site-safe - if setuptools.bootstrap_install_from: - self.easy_install(setuptools.bootstrap_install_from) - setuptools.bootstrap_install_from = None - - self.install_namespaces() - - # create an .egg-link in the installation dir, pointing to our egg - log.info("Creating %s (link to %s)", self.egg_link, self.egg_base) - if not self.dry_run: - with open(self.egg_link, "w") as f: - f.write(self.egg_path + "\n" + self.setup_path) - # postprocess the installed distro, fixing up .pth, installing scripts, - # and handling requirements - self.process_distribution(None, self.dist, not self.no_deps) - - def uninstall_link(self): - if os.path.exists(self.egg_link): - log.info("Removing %s (link to %s)", self.egg_link, self.egg_base) - egg_link_file = open(self.egg_link) - contents = [line.rstrip() for line in egg_link_file] - egg_link_file.close() - if contents not in ([self.egg_path], - [self.egg_path, self.setup_path]): - log.warn("Link points to %s: uninstall aborted", contents) - return - if not self.dry_run: - os.unlink(self.egg_link) - if not self.dry_run: - self.update_pth(self.dist) # remove any .pth link to us - if self.distribution.scripts: - # XXX should also check for entry point scripts! - log.warn("Note: you must uninstall or replace scripts manually!") - - def install_egg_scripts(self, dist): - if dist is not self.dist: - # Installing a dependency, so fall back to normal behavior - return easy_install.install_egg_scripts(self, dist) - - # create wrapper scripts in the script dir, pointing to dist.scripts - - # new-style... - self.install_wrapper_scripts(dist) - - # ...and old-style - for script_name in self.distribution.scripts or []: - script_path = os.path.abspath(convert_path(script_name)) - script_name = os.path.basename(script_path) - with io.open(script_path) as strm: - script_text = strm.read() - self.install_script(dist, script_name, script_text, script_path) - - def install_wrapper_scripts(self, dist): - dist = VersionlessRequirement(dist) - return easy_install.install_wrapper_scripts(self, dist) - - -class VersionlessRequirement: - """ - Adapt a pkg_resources.Distribution to simply return the project - name as the 'requirement' so that scripts will work across - multiple versions. - - >>> from pkg_resources import Distribution - >>> dist = Distribution(project_name='foo', version='1.0') - >>> str(dist.as_requirement()) - 'foo==1.0' - >>> adapted_dist = VersionlessRequirement(dist) - >>> str(adapted_dist.as_requirement()) - 'foo' - """ - - def __init__(self, dist): - self.__dist = dist - - def __getattr__(self, name): - return getattr(self.__dist, name) - - def as_requirement(self): - return self.project_name diff --git a/.venv/lib/python3.8/site-packages/setuptools/command/dist_info.py b/.venv/lib/python3.8/site-packages/setuptools/command/dist_info.py deleted file mode 100644 index c45258f..0000000 --- a/.venv/lib/python3.8/site-packages/setuptools/command/dist_info.py +++ /dev/null @@ -1,36 +0,0 @@ -""" -Create a dist_info directory -As defined in the wheel specification -""" - -import os - -from distutils.core import Command -from distutils import log - - -class dist_info(Command): - - description = 'create a .dist-info directory' - - user_options = [ - ('egg-base=', 'e', "directory containing .egg-info directories" - " (default: top of the source tree)"), - ] - - def initialize_options(self): - self.egg_base = None - - def finalize_options(self): - pass - - def run(self): - egg_info = self.get_finalized_command('egg_info') - egg_info.egg_base = self.egg_base - egg_info.finalize_options() - egg_info.run() - dist_info_dir = egg_info.egg_info[:-len('.egg-info')] + '.dist-info' - log.info("creating '{}'".format(os.path.abspath(dist_info_dir))) - - bdist_wheel = self.get_finalized_command('bdist_wheel') - bdist_wheel.egg2dist(egg_info.egg_info, dist_info_dir) diff --git a/.venv/lib/python3.8/site-packages/setuptools/command/easy_install.py b/.venv/lib/python3.8/site-packages/setuptools/command/easy_install.py deleted file mode 100644 index 1f6839c..0000000 --- a/.venv/lib/python3.8/site-packages/setuptools/command/easy_install.py +++ /dev/null @@ -1,2402 +0,0 @@ -#!/usr/bin/env python -""" -Easy Install ------------- - -A tool for doing automatic download/extract/build of distutils-based Python -packages. For detailed documentation, see the accompanying EasyInstall.txt -file, or visit the `EasyInstall home page`__. - -__ https://setuptools.readthedocs.io/en/latest/easy_install.html - -""" - -from glob import glob -from distutils.util import get_platform -from distutils.util import convert_path, subst_vars -from distutils.errors import ( - DistutilsArgError, DistutilsOptionError, - DistutilsError, DistutilsPlatformError, -) -from distutils.command.install import INSTALL_SCHEMES, SCHEME_KEYS -from distutils import log, dir_util -from distutils.command.build_scripts import first_line_re -from distutils.spawn import find_executable -import sys -import os -import zipimport -import shutil -import tempfile -import zipfile -import re -import stat -import random -import textwrap -import warnings -import site -import struct -import contextlib -import subprocess -import shlex -import io - - -from sysconfig import get_config_vars, get_path - -from setuptools import SetuptoolsDeprecationWarning - -from setuptools.extern import six -from setuptools.extern.six.moves import configparser, map - -from setuptools import Command -from setuptools.sandbox import run_setup -from setuptools.py27compat import rmtree_safe -from setuptools.command import setopt -from setuptools.archive_util import unpack_archive -from setuptools.package_index import ( - PackageIndex, parse_requirement_arg, URL_SCHEME, -) -from setuptools.command import bdist_egg, egg_info -from setuptools.wheel import Wheel -from pkg_resources import ( - yield_lines, normalize_path, resource_string, ensure_directory, - get_distribution, find_distributions, Environment, Requirement, - Distribution, PathMetadata, EggMetadata, WorkingSet, DistributionNotFound, - VersionConflict, DEVELOP_DIST, -) -import pkg_resources.py31compat - -__metaclass__ = type - -# Turn on PEP440Warnings -warnings.filterwarnings("default", category=pkg_resources.PEP440Warning) - -__all__ = [ - 'samefile', 'easy_install', 'PthDistributions', 'extract_wininst_cfg', - 'main', 'get_exe_prefixes', -] - - -def is_64bit(): - return struct.calcsize("P") == 8 - - -def samefile(p1, p2): - """ - Determine if two paths reference the same file. - - Augments os.path.samefile to work on Windows and - suppresses errors if the path doesn't exist. - """ - both_exist = os.path.exists(p1) and os.path.exists(p2) - use_samefile = hasattr(os.path, 'samefile') and both_exist - if use_samefile: - return os.path.samefile(p1, p2) - norm_p1 = os.path.normpath(os.path.normcase(p1)) - norm_p2 = os.path.normpath(os.path.normcase(p2)) - return norm_p1 == norm_p2 - - -if six.PY2: - - def _to_bytes(s): - return s - - def isascii(s): - try: - six.text_type(s, 'ascii') - return True - except UnicodeError: - return False -else: - - def _to_bytes(s): - return s.encode('utf8') - - def isascii(s): - try: - s.encode('ascii') - return True - except UnicodeError: - return False - - -_one_liner = lambda text: textwrap.dedent(text).strip().replace('\n', '; ') - - -class easy_install(Command): - """Manage a download/build/install process""" - description = "Find/get/install Python packages" - command_consumes_arguments = True - - user_options = [ - ('prefix=', None, "installation prefix"), - ("zip-ok", "z", "install package as a zipfile"), - ("multi-version", "m", "make apps have to require() a version"), - ("upgrade", "U", "force upgrade (searches PyPI for latest versions)"), - ("install-dir=", "d", "install package to DIR"), - ("script-dir=", "s", "install scripts to DIR"), - ("exclude-scripts", "x", "Don't install scripts"), - ("always-copy", "a", "Copy all needed packages to install dir"), - ("index-url=", "i", "base URL of Python Package Index"), - ("find-links=", "f", "additional URL(s) to search for packages"), - ("build-directory=", "b", - "download/extract/build in DIR; keep the results"), - ('optimize=', 'O', - "also compile with optimization: -O1 for \"python -O\", " - "-O2 for \"python -OO\", and -O0 to disable [default: -O0]"), - ('record=', None, - "filename in which to record list of installed files"), - ('always-unzip', 'Z', "don't install as a zipfile, no matter what"), - ('site-dirs=', 'S', "list of directories where .pth files work"), - ('editable', 'e', "Install specified packages in editable form"), - ('no-deps', 'N', "don't install dependencies"), - ('allow-hosts=', 'H', "pattern(s) that hostnames must match"), - ('local-snapshots-ok', 'l', - "allow building eggs from local checkouts"), - ('version', None, "print version information and exit"), - ('install-layout=', None, "installation layout to choose (known values: deb)"), - ('force-installation-into-system-dir', '0', "force installation into /usr"), - ('no-find-links', None, - "Don't load find-links defined in packages being installed") - ] - boolean_options = [ - 'zip-ok', 'multi-version', 'exclude-scripts', 'upgrade', 'always-copy', - 'editable', - 'no-deps', 'local-snapshots-ok', 'version', 'force-installation-into-system-dir' - ] - - if site.ENABLE_USER_SITE: - help_msg = "install in user site-package '%s'" % site.USER_SITE - user_options.append(('user', None, help_msg)) - boolean_options.append('user') - - negative_opt = {'always-unzip': 'zip-ok'} - create_index = PackageIndex - - def initialize_options(self): - # the --user option seems to be an opt-in one, - # so the default should be False. - self.user = 0 - self.zip_ok = self.local_snapshots_ok = None - self.install_dir = self.script_dir = self.exclude_scripts = None - self.index_url = None - self.find_links = None - self.build_directory = None - self.args = None - self.optimize = self.record = None - self.upgrade = self.always_copy = self.multi_version = None - self.editable = self.no_deps = self.allow_hosts = None - self.root = self.prefix = self.no_report = None - self.version = None - self.install_purelib = None # for pure module distributions - self.install_platlib = None # non-pure (dists w/ extensions) - self.install_headers = None # for C/C++ headers - self.install_lib = None # set to either purelib or platlib - self.install_scripts = None - self.install_data = None - self.install_base = None - self.install_platbase = None - if site.ENABLE_USER_SITE: - self.install_userbase = site.USER_BASE - self.install_usersite = site.USER_SITE - else: - self.install_userbase = None - self.install_usersite = None - self.no_find_links = None - - # Options not specifiable via command line - self.package_index = None - self.pth_file = self.always_copy_from = None - self.site_dirs = None - self.installed_projects = {} - self.sitepy_installed = False - # enable custom installation, known values: deb - self.install_layout = None - self.force_installation_into_system_dir = None - self.multiarch = None - - # Always read easy_install options, even if we are subclassed, or have - # an independent instance created. This ensures that defaults will - # always come from the standard configuration file(s)' "easy_install" - # section, even if this is a "develop" or "install" command, or some - # other embedding. - self._dry_run = None - self.verbose = self.distribution.verbose - self.distribution._set_command_options( - self, self.distribution.get_option_dict('easy_install') - ) - - def delete_blockers(self, blockers): - extant_blockers = ( - filename for filename in blockers - if os.path.exists(filename) or os.path.islink(filename) - ) - list(map(self._delete_path, extant_blockers)) - - def _delete_path(self, path): - log.info("Deleting %s", path) - if self.dry_run: - return - - is_tree = os.path.isdir(path) and not os.path.islink(path) - remover = rmtree if is_tree else os.unlink - remover(path) - - @staticmethod - def _render_version(): - """ - Render the Setuptools version and installation details, then exit. - """ - ver = '{}.{}'.format(*sys.version_info) - dist = get_distribution('setuptools') - tmpl = 'setuptools {dist.version} from {dist.location} (Python {ver})' - print(tmpl.format(**locals())) - raise SystemExit() - - def finalize_options(self): - self.version and self._render_version() - - py_version = sys.version.split()[0] - prefix, exec_prefix = get_config_vars('prefix', 'exec_prefix') - - self.config_vars = { - 'dist_name': self.distribution.get_name(), - 'dist_version': self.distribution.get_version(), - 'dist_fullname': self.distribution.get_fullname(), - 'py_version': py_version, - 'py_version_short': py_version[0:3], - 'py_version_nodot': py_version[0] + py_version[2], - 'sys_prefix': prefix, - 'prefix': prefix, - 'sys_exec_prefix': exec_prefix, - 'exec_prefix': exec_prefix, - # Only python 3.2+ has abiflags - 'abiflags': getattr(sys, 'abiflags', ''), - } - - if site.ENABLE_USER_SITE: - self.config_vars['userbase'] = self.install_userbase - self.config_vars['usersite'] = self.install_usersite - - self._fix_install_dir_for_user_site() - - self.expand_basedirs() - self.expand_dirs() - - if self.install_layout: - if not self.install_layout.lower() in ['deb']: - raise DistutilsOptionError("unknown value for --install-layout") - self.install_layout = self.install_layout.lower() - - import sysconfig - if sys.version_info[:2] >= (3, 3): - self.multiarch = sysconfig.get_config_var('MULTIARCH') - - self._expand( - 'install_dir', 'script_dir', 'build_directory', - 'site_dirs', - ) - # If a non-default installation directory was specified, default the - # script directory to match it. - if self.script_dir is None: - self.script_dir = self.install_dir - - if self.no_find_links is None: - self.no_find_links = False - - # Let install_dir get set by install_lib command, which in turn - # gets its info from the install command, and takes into account - # --prefix and --home and all that other crud. - self.set_undefined_options( - 'install_lib', ('install_dir', 'install_dir') - ) - # Likewise, set default script_dir from 'install_scripts.install_dir' - self.set_undefined_options( - 'install_scripts', ('install_dir', 'script_dir') - ) - - if self.user and self.install_purelib: - self.install_dir = self.install_purelib - self.script_dir = self.install_scripts - - if self.prefix == '/usr' and not self.force_installation_into_system_dir: - raise DistutilsOptionError("""installation into /usr - -Trying to install into the system managed parts of the file system. Please -consider to install to another location, or use the option ---force-installation-into-system-dir to overwrite this warning. -""") - - # default --record from the install command - self.set_undefined_options('install', ('record', 'record')) - # Should this be moved to the if statement below? It's not used - # elsewhere - normpath = map(normalize_path, sys.path) - self.all_site_dirs = get_site_dirs() - if self.site_dirs is not None: - site_dirs = [ - os.path.expanduser(s.strip()) for s in - self.site_dirs.split(',') - ] - for d in site_dirs: - if not os.path.isdir(d): - log.warn("%s (in --site-dirs) does not exist", d) - elif normalize_path(d) not in normpath: - raise DistutilsOptionError( - d + " (in --site-dirs) is not on sys.path" - ) - else: - self.all_site_dirs.append(normalize_path(d)) - if not self.editable: - self.check_site_dir() - self.index_url = self.index_url or "https://pypi.org/simple/" - self.shadow_path = self.all_site_dirs[:] - for path_item in self.install_dir, normalize_path(self.script_dir): - if path_item not in self.shadow_path: - self.shadow_path.insert(0, path_item) - - if self.allow_hosts is not None: - hosts = [s.strip() for s in self.allow_hosts.split(',')] - else: - hosts = ['*'] - if self.package_index is None: - self.package_index = self.create_index( - self.index_url, search_path=self.shadow_path, hosts=hosts, - ) - self.local_index = Environment(self.shadow_path + sys.path) - - if self.find_links is not None: - if isinstance(self.find_links, six.string_types): - self.find_links = self.find_links.split() - else: - self.find_links = [] - if self.local_snapshots_ok: - self.package_index.scan_egg_links(self.shadow_path + sys.path) - if not self.no_find_links: - self.package_index.add_find_links(self.find_links) - self.set_undefined_options('install_lib', ('optimize', 'optimize')) - if not isinstance(self.optimize, int): - try: - self.optimize = int(self.optimize) - if not (0 <= self.optimize <= 2): - raise ValueError - except ValueError: - raise DistutilsOptionError("--optimize must be 0, 1, or 2") - - if self.editable and not self.build_directory: - raise DistutilsArgError( - "Must specify a build directory (-b) when using --editable" - ) - if not self.args: - raise DistutilsArgError( - "No urls, filenames, or requirements specified (see --help)") - - self.outputs = [] - - def _fix_install_dir_for_user_site(self): - """ - Fix the install_dir if "--user" was used. - """ - if not self.user or not site.ENABLE_USER_SITE: - return - - self.create_home_path() - if self.install_userbase is None: - msg = "User base directory is not specified" - raise DistutilsPlatformError(msg) - self.install_base = self.install_platbase = self.install_userbase - scheme_name = os.name.replace('posix', 'unix') + '_user' - self.select_scheme(scheme_name) - - def _expand_attrs(self, attrs): - for attr in attrs: - val = getattr(self, attr) - if val is not None: - if os.name == 'posix' or os.name == 'nt': - val = os.path.expanduser(val) - val = subst_vars(val, self.config_vars) - setattr(self, attr, val) - - def expand_basedirs(self): - """Calls `os.path.expanduser` on install_base, install_platbase and - root.""" - self._expand_attrs(['install_base', 'install_platbase', 'root']) - - def expand_dirs(self): - """Calls `os.path.expanduser` on install dirs.""" - dirs = [ - 'install_purelib', - 'install_platlib', - 'install_lib', - 'install_headers', - 'install_scripts', - 'install_data', - ] - self._expand_attrs(dirs) - - def run(self, show_deprecation=True): - if show_deprecation: - self.announce( - "WARNING: The easy_install command is deprecated " - "and will be removed in a future version." - , log.WARN, - ) - if self.verbose != self.distribution.verbose: - log.set_verbosity(self.verbose) - try: - for spec in self.args: - self.easy_install(spec, not self.no_deps) - if self.record: - outputs = list(sorted(self.outputs)) - if self.root: # strip any package prefix - root_len = len(self.root) - for counter in range(len(outputs)): - outputs[counter] = outputs[counter][root_len:] - from distutils import file_util - - self.execute( - file_util.write_file, (self.record, outputs), - "writing list of installed files to '%s'" % - self.record - ) - self.warn_deprecated_options() - finally: - log.set_verbosity(self.distribution.verbose) - - def pseudo_tempname(self): - """Return a pseudo-tempname base in the install directory. - This code is intentionally naive; if a malicious party can write to - the target directory you're already in deep doodoo. - """ - try: - pid = os.getpid() - except Exception: - pid = random.randint(0, sys.maxsize) - return os.path.join(self.install_dir, "test-easy-install-%s" % pid) - - def warn_deprecated_options(self): - pass - - def check_site_dir(self): - """Verify that self.install_dir is .pth-capable dir, if needed""" - - instdir = normalize_path(self.install_dir) - pth_file = os.path.join(instdir, 'easy-install.pth') - - # Is it a configured, PYTHONPATH, implicit, or explicit site dir? - is_site_dir = instdir in self.all_site_dirs - - if not is_site_dir and not self.multi_version: - # No? Then directly test whether it does .pth file processing - is_site_dir = self.check_pth_processing() - else: - # make sure we can write to target dir - testfile = self.pseudo_tempname() + '.write-test' - test_exists = os.path.exists(testfile) - try: - if test_exists: - os.unlink(testfile) - open(testfile, 'w').close() - os.unlink(testfile) - except (OSError, IOError): - self.cant_write_to_target() - - if not is_site_dir and not self.multi_version: - # Can't install non-multi to non-site dir - raise DistutilsError(self.no_default_version_msg()) - - if is_site_dir: - if self.pth_file is None: - self.pth_file = PthDistributions(pth_file, self.all_site_dirs) - else: - self.pth_file = None - - if instdir not in map(normalize_path, _pythonpath()): - # only PYTHONPATH dirs need a site.py, so pretend it's there - self.sitepy_installed = True - elif self.multi_version and not os.path.exists(pth_file): - self.sitepy_installed = True # don't need site.py in this case - self.pth_file = None # and don't create a .pth file - self.install_dir = instdir - - __cant_write_msg = textwrap.dedent(""" - can't create or remove files in install directory - - The following error occurred while trying to add or remove files in the - installation directory: - - %s - - The installation directory you specified (via --install-dir, --prefix, or - the distutils default setting) was: - - %s - """).lstrip() - - __not_exists_id = textwrap.dedent(""" - This directory does not currently exist. Please create it and try again, or - choose a different installation directory (using the -d or --install-dir - option). - """).lstrip() - - __access_msg = textwrap.dedent(""" - Perhaps your account does not have write access to this directory? If the - installation directory is a system-owned directory, you may need to sign in - as the administrator or "root" account. If you do not have administrative - access to this machine, you may wish to choose a different installation - directory, preferably one that is listed in your PYTHONPATH environment - variable. - - For information on other options, you may wish to consult the - documentation at: - - https://setuptools.readthedocs.io/en/latest/easy_install.html - - Please make the appropriate changes for your system and try again. - """).lstrip() - - def cant_write_to_target(self): - msg = self.__cant_write_msg % (sys.exc_info()[1], self.install_dir,) - - if not os.path.exists(self.install_dir): - msg += '\n' + self.__not_exists_id - else: - msg += '\n' + self.__access_msg - raise DistutilsError(msg) - - def check_pth_processing(self): - """Empirically verify whether .pth files are supported in inst. dir""" - instdir = self.install_dir - log.info("Checking .pth file support in %s", instdir) - pth_file = self.pseudo_tempname() + ".pth" - ok_file = pth_file + '.ok' - ok_exists = os.path.exists(ok_file) - tmpl = _one_liner(""" - import os - f = open({ok_file!r}, 'w') - f.write('OK') - f.close() - """) + '\n' - try: - if ok_exists: - os.unlink(ok_file) - dirname = os.path.dirname(ok_file) - pkg_resources.py31compat.makedirs(dirname, exist_ok=True) - f = open(pth_file, 'w') - except (OSError, IOError): - self.cant_write_to_target() - else: - try: - f.write(tmpl.format(**locals())) - f.close() - f = None - executable = sys.executable - if os.name == 'nt': - dirname, basename = os.path.split(executable) - alt = os.path.join(dirname, 'pythonw.exe') - use_alt = ( - basename.lower() == 'python.exe' and - os.path.exists(alt) - ) - if use_alt: - # use pythonw.exe to avoid opening a console window - executable = alt - - from distutils.spawn import spawn - - spawn([executable, '-E', '-c', 'pass'], 0) - - if os.path.exists(ok_file): - log.info( - "TEST PASSED: %s appears to support .pth files", - instdir - ) - return True - finally: - if f: - f.close() - if os.path.exists(ok_file): - os.unlink(ok_file) - if os.path.exists(pth_file): - os.unlink(pth_file) - if not self.multi_version: - log.warn("TEST FAILED: %s does NOT support .pth files", instdir) - return False - - def install_egg_scripts(self, dist): - """Write all the scripts for `dist`, unless scripts are excluded""" - if not self.exclude_scripts and dist.metadata_isdir('scripts'): - for script_name in dist.metadata_listdir('scripts'): - if dist.metadata_isdir('scripts/' + script_name): - # The "script" is a directory, likely a Python 3 - # __pycache__ directory, so skip it. - continue - self.install_script( - dist, script_name, - dist.get_metadata('scripts/' + script_name) - ) - self.install_wrapper_scripts(dist) - - def add_output(self, path): - if os.path.isdir(path): - for base, dirs, files in os.walk(path): - for filename in files: - self.outputs.append(os.path.join(base, filename)) - else: - self.outputs.append(path) - - def not_editable(self, spec): - if self.editable: - raise DistutilsArgError( - "Invalid argument %r: you can't use filenames or URLs " - "with --editable (except via the --find-links option)." - % (spec,) - ) - - def check_editable(self, spec): - if not self.editable: - return - - if os.path.exists(os.path.join(self.build_directory, spec.key)): - raise DistutilsArgError( - "%r already exists in %s; can't do a checkout there" % - (spec.key, self.build_directory) - ) - - @contextlib.contextmanager - def _tmpdir(self): - tmpdir = tempfile.mkdtemp(prefix=u"easy_install-") - try: - # cast to str as workaround for #709 and #710 and #712 - yield str(tmpdir) - finally: - os.path.exists(tmpdir) and rmtree(rmtree_safe(tmpdir)) - - def easy_install(self, spec, deps=False): - if not self.editable: - self.install_site_py() - - with self._tmpdir() as tmpdir: - if not isinstance(spec, Requirement): - if URL_SCHEME(spec): - # It's a url, download it to tmpdir and process - self.not_editable(spec) - dl = self.package_index.download(spec, tmpdir) - return self.install_item(None, dl, tmpdir, deps, True) - - elif os.path.exists(spec): - # Existing file or directory, just process it directly - self.not_editable(spec) - return self.install_item(None, spec, tmpdir, deps, True) - else: - spec = parse_requirement_arg(spec) - - self.check_editable(spec) - dist = self.package_index.fetch_distribution( - spec, tmpdir, self.upgrade, self.editable, - not self.always_copy, self.local_index - ) - if dist is None: - msg = "Could not find suitable distribution for %r" % spec - if self.always_copy: - msg += " (--always-copy skips system and development eggs)" - raise DistutilsError(msg) - elif dist.precedence == DEVELOP_DIST: - # .egg-info dists don't need installing, just process deps - self.process_distribution(spec, dist, deps, "Using") - return dist - else: - return self.install_item(spec, dist.location, tmpdir, deps) - - def install_item(self, spec, download, tmpdir, deps, install_needed=False): - - # Installation is also needed if file in tmpdir or is not an egg - install_needed = install_needed or self.always_copy - install_needed = install_needed or os.path.dirname(download) == tmpdir - install_needed = install_needed or not download.endswith('.egg') - install_needed = install_needed or ( - self.always_copy_from is not None and - os.path.dirname(normalize_path(download)) == - normalize_path(self.always_copy_from) - ) - - if spec and not install_needed: - # at this point, we know it's a local .egg, we just don't know if - # it's already installed. - for dist in self.local_index[spec.project_name]: - if dist.location == download: - break - else: - install_needed = True # it's not in the local index - - log.info("Processing %s", os.path.basename(download)) - - if install_needed: - dists = self.install_eggs(spec, download, tmpdir) - for dist in dists: - self.process_distribution(spec, dist, deps) - else: - dists = [self.egg_distribution(download)] - self.process_distribution(spec, dists[0], deps, "Using") - - if spec is not None: - for dist in dists: - if dist in spec: - return dist - - def select_scheme(self, name): - """Sets the install directories by applying the install schemes.""" - # it's the caller's problem if they supply a bad name! - scheme = INSTALL_SCHEMES[name] - for key in SCHEME_KEYS: - attrname = 'install_' + key - if getattr(self, attrname) is None: - setattr(self, attrname, scheme[key]) - - def process_distribution(self, requirement, dist, deps=True, *info): - self.update_pth(dist) - self.package_index.add(dist) - if dist in self.local_index[dist.key]: - self.local_index.remove(dist) - self.local_index.add(dist) - self.install_egg_scripts(dist) - self.installed_projects[dist.key] = dist - log.info(self.installation_report(requirement, dist, *info)) - if (dist.has_metadata('dependency_links.txt') and - not self.no_find_links): - self.package_index.add_find_links( - dist.get_metadata_lines('dependency_links.txt') - ) - if not deps and not self.always_copy: - return - elif requirement is not None and dist.key != requirement.key: - log.warn("Skipping dependencies for %s", dist) - return # XXX this is not the distribution we were looking for - elif requirement is None or dist not in requirement: - # if we wound up with a different version, resolve what we've got - distreq = dist.as_requirement() - requirement = Requirement(str(distreq)) - log.info("Processing dependencies for %s", requirement) - try: - distros = WorkingSet([]).resolve( - [requirement], self.local_index, self.easy_install - ) - except DistributionNotFound as e: - raise DistutilsError(str(e)) - except VersionConflict as e: - raise DistutilsError(e.report()) - if self.always_copy or self.always_copy_from: - # Force all the relevant distros to be copied or activated - for dist in distros: - if dist.key not in self.installed_projects: - self.easy_install(dist.as_requirement()) - log.info("Finished processing dependencies for %s", requirement) - - def should_unzip(self, dist): - if self.zip_ok is not None: - return not self.zip_ok - if dist.has_metadata('not-zip-safe'): - return True - if not dist.has_metadata('zip-safe'): - return True - return False - - def maybe_move(self, spec, dist_filename, setup_base): - dst = os.path.join(self.build_directory, spec.key) - if os.path.exists(dst): - msg = ( - "%r already exists in %s; build directory %s will not be kept" - ) - log.warn(msg, spec.key, self.build_directory, setup_base) - return setup_base - if os.path.isdir(dist_filename): - setup_base = dist_filename - else: - if os.path.dirname(dist_filename) == setup_base: - os.unlink(dist_filename) # get it out of the tmp dir - contents = os.listdir(setup_base) - if len(contents) == 1: - dist_filename = os.path.join(setup_base, contents[0]) - if os.path.isdir(dist_filename): - # if the only thing there is a directory, move it instead - setup_base = dist_filename - ensure_directory(dst) - shutil.move(setup_base, dst) - return dst - - def install_wrapper_scripts(self, dist): - if self.exclude_scripts: - return - for args in ScriptWriter.best().get_args(dist): - self.write_script(*args) - - def install_script(self, dist, script_name, script_text, dev_path=None): - """Generate a legacy script wrapper and install it""" - spec = str(dist.as_requirement()) - is_script = is_python_script(script_text, script_name) - - if is_script: - body = self._load_template(dev_path) % locals() - script_text = ScriptWriter.get_header(script_text) + body - self.write_script(script_name, _to_bytes(script_text), 'b') - - @staticmethod - def _load_template(dev_path): - """ - There are a couple of template scripts in the package. This - function loads one of them and prepares it for use. - """ - # See https://github.com/pypa/setuptools/issues/134 for info - # on script file naming and downstream issues with SVR4 - name = 'script.tmpl' - if dev_path: - name = name.replace('.tmpl', ' (dev).tmpl') - - raw_bytes = resource_string('setuptools', name) - return raw_bytes.decode('utf-8') - - def write_script(self, script_name, contents, mode="t", blockers=()): - """Write an executable file to the scripts directory""" - self.delete_blockers( # clean up old .py/.pyw w/o a script - [os.path.join(self.script_dir, x) for x in blockers] - ) - log.info("Installing %s script to %s", script_name, self.script_dir) - target = os.path.join(self.script_dir, script_name) - self.add_output(target) - - if self.dry_run: - return - - mask = current_umask() - ensure_directory(target) - if os.path.exists(target): - os.unlink(target) - with open(target, "w" + mode) as f: - f.write(contents) - chmod(target, 0o777 - mask) - - def install_eggs(self, spec, dist_filename, tmpdir): - # .egg dirs or files are already built, so just return them - if dist_filename.lower().endswith('.egg'): - return [self.install_egg(dist_filename, tmpdir)] - elif dist_filename.lower().endswith('.exe'): - return [self.install_exe(dist_filename, tmpdir)] - elif dist_filename.lower().endswith('.whl'): - return [self.install_wheel(dist_filename, tmpdir)] - - # Anything else, try to extract and build - setup_base = tmpdir - if os.path.isfile(dist_filename) and not dist_filename.endswith('.py'): - unpack_archive(dist_filename, tmpdir, self.unpack_progress) - elif os.path.isdir(dist_filename): - setup_base = os.path.abspath(dist_filename) - - if (setup_base.startswith(tmpdir) # something we downloaded - and self.build_directory and spec is not None): - setup_base = self.maybe_move(spec, dist_filename, setup_base) - - # Find the setup.py file - setup_script = os.path.join(setup_base, 'setup.py') - - if not os.path.exists(setup_script): - setups = glob(os.path.join(setup_base, '*', 'setup.py')) - if not setups: - raise DistutilsError( - "Couldn't find a setup script in %s" % - os.path.abspath(dist_filename) - ) - if len(setups) > 1: - raise DistutilsError( - "Multiple setup scripts in %s" % - os.path.abspath(dist_filename) - ) - setup_script = setups[0] - - # Now run it, and return the result - if self.editable: - log.info(self.report_editable(spec, setup_script)) - return [] - else: - return self.build_and_install(setup_script, setup_base) - - def egg_distribution(self, egg_path): - if os.path.isdir(egg_path): - metadata = PathMetadata(egg_path, os.path.join(egg_path, - 'EGG-INFO')) - else: - metadata = EggMetadata(zipimport.zipimporter(egg_path)) - return Distribution.from_filename(egg_path, metadata=metadata) - - def install_egg(self, egg_path, tmpdir): - destination = os.path.join( - self.install_dir, - os.path.basename(egg_path), - ) - destination = os.path.abspath(destination) - if not self.dry_run: - ensure_directory(destination) - - dist = self.egg_distribution(egg_path) - if not samefile(egg_path, destination): - if os.path.isdir(destination) and not os.path.islink(destination): - dir_util.remove_tree(destination, dry_run=self.dry_run) - elif os.path.exists(destination): - self.execute( - os.unlink, - (destination,), - "Removing " + destination, - ) - try: - new_dist_is_zipped = False - if os.path.isdir(egg_path): - if egg_path.startswith(tmpdir): - f, m = shutil.move, "Moving" - else: - f, m = shutil.copytree, "Copying" - elif self.should_unzip(dist): - self.mkpath(destination) - f, m = self.unpack_and_compile, "Extracting" - else: - new_dist_is_zipped = True - if egg_path.startswith(tmpdir): - f, m = shutil.move, "Moving" - else: - f, m = shutil.copy2, "Copying" - self.execute( - f, - (egg_path, destination), - (m + " %s to %s") % ( - os.path.basename(egg_path), - os.path.dirname(destination) - ), - ) - update_dist_caches( - destination, - fix_zipimporter_caches=new_dist_is_zipped, - ) - except Exception: - update_dist_caches(destination, fix_zipimporter_caches=False) - raise - - self.add_output(destination) - return self.egg_distribution(destination) - - def install_exe(self, dist_filename, tmpdir): - # See if it's valid, get data - cfg = extract_wininst_cfg(dist_filename) - if cfg is None: - raise DistutilsError( - "%s is not a valid distutils Windows .exe" % dist_filename - ) - # Create a dummy distribution object until we build the real distro - dist = Distribution( - None, - project_name=cfg.get('metadata', 'name'), - version=cfg.get('metadata', 'version'), platform=get_platform(), - ) - - # Convert the .exe to an unpacked egg - egg_path = os.path.join(tmpdir, dist.egg_name() + '.egg') - dist.location = egg_path - egg_tmp = egg_path + '.tmp' - _egg_info = os.path.join(egg_tmp, 'EGG-INFO') - pkg_inf = os.path.join(_egg_info, 'PKG-INFO') - ensure_directory(pkg_inf) # make sure EGG-INFO dir exists - dist._provider = PathMetadata(egg_tmp, _egg_info) # XXX - self.exe_to_egg(dist_filename, egg_tmp) - - # Write EGG-INFO/PKG-INFO - if not os.path.exists(pkg_inf): - f = open(pkg_inf, 'w') - f.write('Metadata-Version: 1.0\n') - for k, v in cfg.items('metadata'): - if k != 'target_version': - f.write('%s: %s\n' % (k.replace('_', '-').title(), v)) - f.close() - script_dir = os.path.join(_egg_info, 'scripts') - # delete entry-point scripts to avoid duping - self.delete_blockers([ - os.path.join(script_dir, args[0]) - for args in ScriptWriter.get_args(dist) - ]) - # Build .egg file from tmpdir - bdist_egg.make_zipfile( - egg_path, egg_tmp, verbose=self.verbose, dry_run=self.dry_run, - ) - # install the .egg - return self.install_egg(egg_path, tmpdir) - - def exe_to_egg(self, dist_filename, egg_tmp): - """Extract a bdist_wininst to the directories an egg would use""" - # Check for .pth file and set up prefix translations - prefixes = get_exe_prefixes(dist_filename) - to_compile = [] - native_libs = [] - top_level = {} - - def process(src, dst): - s = src.lower() - for old, new in prefixes: - if s.startswith(old): - src = new + src[len(old):] - parts = src.split('/') - dst = os.path.join(egg_tmp, *parts) - dl = dst.lower() - if dl.endswith('.pyd') or dl.endswith('.dll'): - parts[-1] = bdist_egg.strip_module(parts[-1]) - top_level[os.path.splitext(parts[0])[0]] = 1 - native_libs.append(src) - elif dl.endswith('.py') and old != 'SCRIPTS/': - top_level[os.path.splitext(parts[0])[0]] = 1 - to_compile.append(dst) - return dst - if not src.endswith('.pth'): - log.warn("WARNING: can't process %s", src) - return None - - # extract, tracking .pyd/.dll->native_libs and .py -> to_compile - unpack_archive(dist_filename, egg_tmp, process) - stubs = [] - for res in native_libs: - if res.lower().endswith('.pyd'): # create stubs for .pyd's - parts = res.split('/') - resource = parts[-1] - parts[-1] = bdist_egg.strip_module(parts[-1]) + '.py' - pyfile = os.path.join(egg_tmp, *parts) - to_compile.append(pyfile) - stubs.append(pyfile) - bdist_egg.write_stub(resource, pyfile) - self.byte_compile(to_compile) # compile .py's - bdist_egg.write_safety_flag( - os.path.join(egg_tmp, 'EGG-INFO'), - bdist_egg.analyze_egg(egg_tmp, stubs)) # write zip-safety flag - - for name in 'top_level', 'native_libs': - if locals()[name]: - txt = os.path.join(egg_tmp, 'EGG-INFO', name + '.txt') - if not os.path.exists(txt): - f = open(txt, 'w') - f.write('\n'.join(locals()[name]) + '\n') - f.close() - - def install_wheel(self, wheel_path, tmpdir): - wheel = Wheel(wheel_path) - assert wheel.is_compatible() - destination = os.path.join(self.install_dir, wheel.egg_name()) - destination = os.path.abspath(destination) - if not self.dry_run: - ensure_directory(destination) - if os.path.isdir(destination) and not os.path.islink(destination): - dir_util.remove_tree(destination, dry_run=self.dry_run) - elif os.path.exists(destination): - self.execute( - os.unlink, - (destination,), - "Removing " + destination, - ) - try: - self.execute( - wheel.install_as_egg, - (destination,), - ("Installing %s to %s") % ( - os.path.basename(wheel_path), - os.path.dirname(destination) - ), - ) - finally: - update_dist_caches(destination, fix_zipimporter_caches=False) - self.add_output(destination) - return self.egg_distribution(destination) - - __mv_warning = textwrap.dedent(""" - Because this distribution was installed --multi-version, before you can - import modules from this package in an application, you will need to - 'import pkg_resources' and then use a 'require()' call similar to one of - these examples, in order to select the desired version: - - pkg_resources.require("%(name)s") # latest installed version - pkg_resources.require("%(name)s==%(version)s") # this exact version - pkg_resources.require("%(name)s>=%(version)s") # this version or higher - """).lstrip() - - __id_warning = textwrap.dedent(""" - Note also that the installation directory must be on sys.path at runtime for - this to work. (e.g. by being the application's script directory, by being on - PYTHONPATH, or by being added to sys.path by your code.) - """) - - def installation_report(self, req, dist, what="Installed"): - """Helpful installation message for display to package users""" - msg = "\n%(what)s %(eggloc)s%(extras)s" - if self.multi_version and not self.no_report: - msg += '\n' + self.__mv_warning - if self.install_dir not in map(normalize_path, sys.path): - msg += '\n' + self.__id_warning - - eggloc = dist.location - name = dist.project_name - version = dist.version - extras = '' # TODO: self.report_extras(req, dist) - return msg % locals() - - __editable_msg = textwrap.dedent(""" - Extracted editable version of %(spec)s to %(dirname)s - - If it uses setuptools in its setup script, you can activate it in - "development" mode by going to that directory and running:: - - %(python)s setup.py develop - - See the setuptools documentation for the "develop" command for more info. - """).lstrip() - - def report_editable(self, spec, setup_script): - dirname = os.path.dirname(setup_script) - python = sys.executable - return '\n' + self.__editable_msg % locals() - - def run_setup(self, setup_script, setup_base, args): - sys.modules.setdefault('distutils.command.bdist_egg', bdist_egg) - sys.modules.setdefault('distutils.command.egg_info', egg_info) - - args = list(args) - if self.verbose > 2: - v = 'v' * (self.verbose - 1) - args.insert(0, '-' + v) - elif self.verbose < 2: - args.insert(0, '-q') - if self.dry_run: - args.insert(0, '-n') - log.info( - "Running %s %s", setup_script[len(setup_base) + 1:], ' '.join(args) - ) - try: - run_setup(setup_script, args) - except SystemExit as v: - raise DistutilsError("Setup script exited with %s" % (v.args[0],)) - - def build_and_install(self, setup_script, setup_base): - args = ['bdist_egg', '--dist-dir'] - - dist_dir = tempfile.mkdtemp( - prefix='egg-dist-tmp-', dir=os.path.dirname(setup_script) - ) - try: - self._set_fetcher_options(os.path.dirname(setup_script)) - args.append(dist_dir) - - self.run_setup(setup_script, setup_base, args) - all_eggs = Environment([dist_dir]) - eggs = [] - for key in all_eggs: - for dist in all_eggs[key]: - eggs.append(self.install_egg(dist.location, setup_base)) - if not eggs and not self.dry_run: - log.warn("No eggs found in %s (setup script problem?)", - dist_dir) - return eggs - finally: - rmtree(dist_dir) - log.set_verbosity(self.verbose) # restore our log verbosity - - def _set_fetcher_options(self, base): - """ - When easy_install is about to run bdist_egg on a source dist, that - source dist might have 'setup_requires' directives, requiring - additional fetching. Ensure the fetcher options given to easy_install - are available to that command as well. - """ - # find the fetch options from easy_install and write them out - # to the setup.cfg file. - ei_opts = self.distribution.get_option_dict('easy_install').copy() - fetch_directives = ( - 'find_links', 'site_dirs', 'index_url', 'optimize', 'allow_hosts', - ) - fetch_options = {} - for key, val in ei_opts.items(): - if key not in fetch_directives: - continue - fetch_options[key.replace('_', '-')] = val[1] - # create a settings dictionary suitable for `edit_config` - settings = dict(easy_install=fetch_options) - cfg_filename = os.path.join(base, 'setup.cfg') - setopt.edit_config(cfg_filename, settings) - - def update_pth(self, dist): - if self.pth_file is None: - return - - for d in self.pth_file[dist.key]: # drop old entries - if self.multi_version or d.location != dist.location: - log.info("Removing %s from easy-install.pth file", d) - self.pth_file.remove(d) - if d.location in self.shadow_path: - self.shadow_path.remove(d.location) - - if not self.multi_version: - if dist.location in self.pth_file.paths: - log.info( - "%s is already the active version in easy-install.pth", - dist, - ) - else: - log.info("Adding %s to easy-install.pth file", dist) - self.pth_file.add(dist) # add new entry - if dist.location not in self.shadow_path: - self.shadow_path.append(dist.location) - - if not self.dry_run: - - self.pth_file.save() - - if dist.key == 'setuptools': - # Ensure that setuptools itself never becomes unavailable! - # XXX should this check for latest version? - filename = os.path.join(self.install_dir, 'setuptools.pth') - if os.path.islink(filename): - os.unlink(filename) - f = open(filename, 'wt') - f.write(self.pth_file.make_relative(dist.location) + '\n') - f.close() - - def unpack_progress(self, src, dst): - # Progress filter for unpacking - log.debug("Unpacking %s to %s", src, dst) - return dst # only unpack-and-compile skips files for dry run - - def unpack_and_compile(self, egg_path, destination): - to_compile = [] - to_chmod = [] - - def pf(src, dst): - if dst.endswith('.py') and not src.startswith('EGG-INFO/'): - to_compile.append(dst) - elif dst.endswith('.dll') or dst.endswith('.so'): - to_chmod.append(dst) - self.unpack_progress(src, dst) - return not self.dry_run and dst or None - - unpack_archive(egg_path, destination, pf) - self.byte_compile(to_compile) - if not self.dry_run: - for f in to_chmod: - mode = ((os.stat(f)[stat.ST_MODE]) | 0o555) & 0o7755 - chmod(f, mode) - - def byte_compile(self, to_compile): - if sys.dont_write_bytecode: - return - - from distutils.util import byte_compile - - try: - # try to make the byte compile messages quieter - log.set_verbosity(self.verbose - 1) - - byte_compile(to_compile, optimize=0, force=1, dry_run=self.dry_run) - if self.optimize: - byte_compile( - to_compile, optimize=self.optimize, force=1, - dry_run=self.dry_run, - ) - finally: - log.set_verbosity(self.verbose) # restore original verbosity - - __no_default_msg = textwrap.dedent(""" - bad install directory or PYTHONPATH - - You are attempting to install a package to a directory that is not - on PYTHONPATH and which Python does not read ".pth" files from. The - installation directory you specified (via --install-dir, --prefix, or - the distutils default setting) was: - - %s - - and your PYTHONPATH environment variable currently contains: - - %r - - Here are some of your options for correcting the problem: - - * You can choose a different installation directory, i.e., one that is - on PYTHONPATH or supports .pth files - - * You can add the installation directory to the PYTHONPATH environment - variable. (It must then also be on PYTHONPATH whenever you run - Python and want to use the package(s) you are installing.) - - * You can set up the installation directory to support ".pth" files by - using one of the approaches described here: - - https://setuptools.readthedocs.io/en/latest/easy_install.html#custom-installation-locations - - - Please make the appropriate changes for your system and try again.""").lstrip() - - def no_default_version_msg(self): - template = self.__no_default_msg - return template % (self.install_dir, os.environ.get('PYTHONPATH', '')) - - def install_site_py(self): - """Make sure there's a site.py in the target dir, if needed""" - - if self.sitepy_installed: - return # already did it, or don't need to - - sitepy = os.path.join(self.install_dir, "site.py") - source = resource_string("setuptools", "site-patch.py") - source = source.decode('utf-8') - current = "" - - if os.path.exists(sitepy): - log.debug("Checking existing site.py in %s", self.install_dir) - with io.open(sitepy) as strm: - current = strm.read() - - if not current.startswith('def __boot():'): - raise DistutilsError( - "%s is not a setuptools-generated site.py; please" - " remove it." % sitepy - ) - - if current != source: - log.info("Creating %s", sitepy) - if not self.dry_run: - ensure_directory(sitepy) - with io.open(sitepy, 'w', encoding='utf-8') as strm: - strm.write(source) - self.byte_compile([sitepy]) - - self.sitepy_installed = True - - def create_home_path(self): - """Create directories under ~.""" - if not self.user: - return - home = convert_path(os.path.expanduser("~")) - for name, path in six.iteritems(self.config_vars): - if path.startswith(home) and not os.path.isdir(path): - self.debug_print("os.makedirs('%s', 0o700)" % path) - os.makedirs(path, 0o700) - - if sys.version[:3] in ('2.3', '2.4', '2.5') or 'real_prefix' in sys.__dict__: - sitedir_name = 'site-packages' - else: - sitedir_name = 'dist-packages' - - INSTALL_SCHEMES = dict( - posix=dict( - install_dir='$base/lib/python$py_version_short/site-packages', - script_dir='$base/bin', - ), - unix_local = dict( - install_dir = '$base/local/lib/python$py_version_short/%s' % sitedir_name, - script_dir = '$base/local/bin', - ), - posix_local = dict( - install_dir = '$base/local/lib/python$py_version_short/%s' % sitedir_name, - script_dir = '$base/local/bin', - ), - deb_system = dict( - install_dir = '$base/lib/python3/%s' % sitedir_name, - script_dir = '$base/bin', - ), - ) - - DEFAULT_SCHEME = dict( - install_dir='$base/Lib/site-packages', - script_dir='$base/Scripts', - ) - - def _expand(self, *attrs): - config_vars = self.get_finalized_command('install').config_vars - - if self.prefix or self.install_layout: - if self.install_layout and self.install_layout in ['deb']: - scheme_name = "deb_system" - self.prefix = '/usr' - elif self.prefix or 'real_prefix' in sys.__dict__: - scheme_name = os.name - else: - scheme_name = "posix_local" - # Set default install_dir/scripts from --prefix - config_vars = config_vars.copy() - config_vars['base'] = self.prefix - scheme = self.INSTALL_SCHEMES.get(scheme_name,self.DEFAULT_SCHEME) - for attr, val in scheme.items(): - if getattr(self, attr, None) is None: - setattr(self, attr, val) - - from distutils.util import subst_vars - - for attr in attrs: - val = getattr(self, attr) - if val is not None: - val = subst_vars(val, config_vars) - if os.name == 'posix': - val = os.path.expanduser(val) - setattr(self, attr, val) - - -def _pythonpath(): - items = os.environ.get('PYTHONPATH', '').split(os.pathsep) - return filter(None, items) - - -def get_site_dirs(): - """ - Return a list of 'site' dirs - """ - - sitedirs = [] - - # start with PYTHONPATH - sitedirs.extend(_pythonpath()) - - prefixes = [sys.prefix] - if sys.exec_prefix != sys.prefix: - prefixes.append(sys.exec_prefix) - for prefix in prefixes: - if prefix: - if sys.platform in ('os2emx', 'riscos'): - sitedirs.append(os.path.join(prefix, "Lib", "site-packages")) - elif os.sep == '/': - sitedirs.extend([ - os.path.join( - prefix, - "local/lib", - "python" + sys.version[:3], - "dist-packages", - ), - os.path.join( - prefix, - "lib", - "python{}.{}".format(*sys.version_info), - "dist-packages", - ), - os.path.join(prefix, "lib", "site-python"), - ]) - else: - sitedirs.extend([ - prefix, - os.path.join(prefix, "lib", "site-packages"), - ]) - if sys.platform == 'darwin': - # for framework builds *only* we add the standard Apple - # locations. Currently only per-user, but /Library and - # /Network/Library could be added too - if 'Python.framework' in prefix: - home = os.environ.get('HOME') - if home: - home_sp = os.path.join( - home, - 'Library', - 'Python', - '{}.{}'.format(*sys.version_info), - 'site-packages', - ) - sitedirs.append(home_sp) - lib_paths = get_path('purelib'), get_path('platlib') - for site_lib in lib_paths: - if site_lib not in sitedirs: - sitedirs.append(site_lib) - - if site.ENABLE_USER_SITE: - sitedirs.append(site.USER_SITE) - - try: - sitedirs.extend(site.getsitepackages()) - except AttributeError: - pass - - sitedirs = list(map(normalize_path, sitedirs)) - - return sitedirs - - -def expand_paths(inputs): - """Yield sys.path directories that might contain "old-style" packages""" - - seen = {} - - for dirname in inputs: - dirname = normalize_path(dirname) - if dirname in seen: - continue - - seen[dirname] = 1 - if not os.path.isdir(dirname): - continue - - files = os.listdir(dirname) - yield dirname, files - - for name in files: - if not name.endswith('.pth'): - # We only care about the .pth files - continue - if name in ('easy-install.pth', 'setuptools.pth'): - # Ignore .pth files that we control - continue - - # Read the .pth file - f = open(os.path.join(dirname, name)) - lines = list(yield_lines(f)) - f.close() - - # Yield existing non-dupe, non-import directory lines from it - for line in lines: - if not line.startswith("import"): - line = normalize_path(line.rstrip()) - if line not in seen: - seen[line] = 1 - if not os.path.isdir(line): - continue - yield line, os.listdir(line) - - -def extract_wininst_cfg(dist_filename): - """Extract configuration data from a bdist_wininst .exe - - Returns a configparser.RawConfigParser, or None - """ - f = open(dist_filename, 'rb') - try: - endrec = zipfile._EndRecData(f) - if endrec is None: - return None - - prepended = (endrec[9] - endrec[5]) - endrec[6] - if prepended < 12: # no wininst data here - return None - f.seek(prepended - 12) - - tag, cfglen, bmlen = struct.unpack("<iii", f.read(12)) - if tag not in (0x1234567A, 0x1234567B): - return None # not a valid tag - - f.seek(prepended - (12 + cfglen)) - init = {'version': '', 'target_version': ''} - cfg = configparser.RawConfigParser(init) - try: - part = f.read(cfglen) - # Read up to the first null byte. - config = part.split(b'\0', 1)[0] - # Now the config is in bytes, but for RawConfigParser, it should - # be text, so decode it. - config = config.decode(sys.getfilesystemencoding()) - cfg.readfp(six.StringIO(config)) - except configparser.Error: - return None - if not cfg.has_section('metadata') or not cfg.has_section('Setup'): - return None - return cfg - - finally: - f.close() - - -def get_exe_prefixes(exe_filename): - """Get exe->egg path translations for a given .exe file""" - - prefixes = [ - ('PURELIB/', ''), - ('PLATLIB/pywin32_system32', ''), - ('PLATLIB/', ''), - ('SCRIPTS/', 'EGG-INFO/scripts/'), - ('DATA/lib/site-packages', ''), - ] - z = zipfile.ZipFile(exe_filename) - try: - for info in z.infolist(): - name = info.filename - parts = name.split('/') - if len(parts) == 3 and parts[2] == 'PKG-INFO': - if parts[1].endswith('.egg-info'): - prefixes.insert(0, ('/'.join(parts[:2]), 'EGG-INFO/')) - break - if len(parts) != 2 or not name.endswith('.pth'): - continue - if name.endswith('-nspkg.pth'): - continue - if parts[0].upper() in ('PURELIB', 'PLATLIB'): - contents = z.read(name) - if six.PY3: - contents = contents.decode() - for pth in yield_lines(contents): - pth = pth.strip().replace('\\', '/') - if not pth.startswith('import'): - prefixes.append((('%s/%s/' % (parts[0], pth)), '')) - finally: - z.close() - prefixes = [(x.lower(), y) for x, y in prefixes] - prefixes.sort() - prefixes.reverse() - return prefixes - - -class PthDistributions(Environment): - """A .pth file with Distribution paths in it""" - - dirty = False - - def __init__(self, filename, sitedirs=()): - self.filename = filename - self.sitedirs = list(map(normalize_path, sitedirs)) - self.basedir = normalize_path(os.path.dirname(self.filename)) - self._load() - Environment.__init__(self, [], None, None) - for path in yield_lines(self.paths): - list(map(self.add, find_distributions(path, True))) - - def _load(self): - self.paths = [] - saw_import = False - seen = dict.fromkeys(self.sitedirs) - if os.path.isfile(self.filename): - f = open(self.filename, 'rt') - for line in f: - if line.startswith('import'): - saw_import = True - continue - path = line.rstrip() - self.paths.append(path) - if not path.strip() or path.strip().startswith('#'): - continue - # skip non-existent paths, in case somebody deleted a package - # manually, and duplicate paths as well - path = self.paths[-1] = normalize_path( - os.path.join(self.basedir, path) - ) - if not os.path.exists(path) or path in seen: - self.paths.pop() # skip it - self.dirty = True # we cleaned up, so we're dirty now :) - continue - seen[path] = 1 - f.close() - - if self.paths and not saw_import: - self.dirty = True # ensure anything we touch has import wrappers - while self.paths and not self.paths[-1].strip(): - self.paths.pop() - - def save(self): - """Write changed .pth file back to disk""" - if not self.dirty: - return - - rel_paths = list(map(self.make_relative, self.paths)) - if rel_paths: - log.debug("Saving %s", self.filename) - lines = self._wrap_lines(rel_paths) - data = '\n'.join(lines) + '\n' - - if os.path.islink(self.filename): - os.unlink(self.filename) - with open(self.filename, 'wt') as f: - f.write(data) - - elif os.path.exists(self.filename): - log.debug("Deleting empty %s", self.filename) - os.unlink(self.filename) - - self.dirty = False - - @staticmethod - def _wrap_lines(lines): - return lines - - def add(self, dist): - """Add `dist` to the distribution map""" - new_path = ( - dist.location not in self.paths and ( - dist.location not in self.sitedirs or - # account for '.' being in PYTHONPATH - dist.location == os.getcwd() - ) - ) - if new_path: - self.paths.append(dist.location) - self.dirty = True - Environment.add(self, dist) - - def remove(self, dist): - """Remove `dist` from the distribution map""" - while dist.location in self.paths: - self.paths.remove(dist.location) - self.dirty = True - Environment.remove(self, dist) - - def make_relative(self, path): - npath, last = os.path.split(normalize_path(path)) - baselen = len(self.basedir) - parts = [last] - sep = os.altsep == '/' and '/' or os.sep - while len(npath) >= baselen: - if npath == self.basedir: - parts.append(os.curdir) - parts.reverse() - return sep.join(parts) - npath, last = os.path.split(npath) - parts.append(last) - else: - return path - - -class RewritePthDistributions(PthDistributions): - @classmethod - def _wrap_lines(cls, lines): - yield cls.prelude - for line in lines: - yield line - yield cls.postlude - - prelude = _one_liner(""" - import sys - sys.__plen = len(sys.path) - """) - postlude = _one_liner(""" - import sys - new = sys.path[sys.__plen:] - del sys.path[sys.__plen:] - p = getattr(sys, '__egginsert', 0) - sys.path[p:p] = new - sys.__egginsert = p + len(new) - """) - - -if os.environ.get('SETUPTOOLS_SYS_PATH_TECHNIQUE', 'raw') == 'rewrite': - PthDistributions = RewritePthDistributions - - -def _first_line_re(): - """ - Return a regular expression based on first_line_re suitable for matching - strings. - """ - if isinstance(first_line_re.pattern, str): - return first_line_re - - # first_line_re in Python >=3.1.4 and >=3.2.1 is a bytes pattern. - return re.compile(first_line_re.pattern.decode()) - - -def auto_chmod(func, arg, exc): - if func in [os.unlink, os.remove] and os.name == 'nt': - chmod(arg, stat.S_IWRITE) - return func(arg) - et, ev, _ = sys.exc_info() - six.reraise(et, (ev[0], ev[1] + (" %s %s" % (func, arg)))) - - -def update_dist_caches(dist_path, fix_zipimporter_caches): - """ - Fix any globally cached `dist_path` related data - - `dist_path` should be a path of a newly installed egg distribution (zipped - or unzipped). - - sys.path_importer_cache contains finder objects that have been cached when - importing data from the original distribution. Any such finders need to be - cleared since the replacement distribution might be packaged differently, - e.g. a zipped egg distribution might get replaced with an unzipped egg - folder or vice versa. Having the old finders cached may then cause Python - to attempt loading modules from the replacement distribution using an - incorrect loader. - - zipimport.zipimporter objects are Python loaders charged with importing - data packaged inside zip archives. If stale loaders referencing the - original distribution, are left behind, they can fail to load modules from - the replacement distribution. E.g. if an old zipimport.zipimporter instance - is used to load data from a new zipped egg archive, it may cause the - operation to attempt to locate the requested data in the wrong location - - one indicated by the original distribution's zip archive directory - information. Such an operation may then fail outright, e.g. report having - read a 'bad local file header', or even worse, it may fail silently & - return invalid data. - - zipimport._zip_directory_cache contains cached zip archive directory - information for all existing zipimport.zipimporter instances and all such - instances connected to the same archive share the same cached directory - information. - - If asked, and the underlying Python implementation allows it, we can fix - all existing zipimport.zipimporter instances instead of having to track - them down and remove them one by one, by updating their shared cached zip - archive directory information. This, of course, assumes that the - replacement distribution is packaged as a zipped egg. - - If not asked to fix existing zipimport.zipimporter instances, we still do - our best to clear any remaining zipimport.zipimporter related cached data - that might somehow later get used when attempting to load data from the new - distribution and thus cause such load operations to fail. Note that when - tracking down such remaining stale data, we can not catch every conceivable - usage from here, and we clear only those that we know of and have found to - cause problems if left alive. Any remaining caches should be updated by - whomever is in charge of maintaining them, i.e. they should be ready to - handle us replacing their zip archives with new distributions at runtime. - - """ - # There are several other known sources of stale zipimport.zipimporter - # instances that we do not clear here, but might if ever given a reason to - # do so: - # * Global setuptools pkg_resources.working_set (a.k.a. 'master working - # set') may contain distributions which may in turn contain their - # zipimport.zipimporter loaders. - # * Several zipimport.zipimporter loaders held by local variables further - # up the function call stack when running the setuptools installation. - # * Already loaded modules may have their __loader__ attribute set to the - # exact loader instance used when importing them. Python 3.4 docs state - # that this information is intended mostly for introspection and so is - # not expected to cause us problems. - normalized_path = normalize_path(dist_path) - _uncache(normalized_path, sys.path_importer_cache) - if fix_zipimporter_caches: - _replace_zip_directory_cache_data(normalized_path) - else: - # Here, even though we do not want to fix existing and now stale - # zipimporter cache information, we still want to remove it. Related to - # Python's zip archive directory information cache, we clear each of - # its stale entries in two phases: - # 1. Clear the entry so attempting to access zip archive information - # via any existing stale zipimport.zipimporter instances fails. - # 2. Remove the entry from the cache so any newly constructed - # zipimport.zipimporter instances do not end up using old stale - # zip archive directory information. - # This whole stale data removal step does not seem strictly necessary, - # but has been left in because it was done before we started replacing - # the zip archive directory information cache content if possible, and - # there are no relevant unit tests that we can depend on to tell us if - # this is really needed. - _remove_and_clear_zip_directory_cache_data(normalized_path) - - -def _collect_zipimporter_cache_entries(normalized_path, cache): - """ - Return zipimporter cache entry keys related to a given normalized path. - - Alternative path spellings (e.g. those using different character case or - those using alternative path separators) related to the same path are - included. Any sub-path entries are included as well, i.e. those - corresponding to zip archives embedded in other zip archives. - - """ - result = [] - prefix_len = len(normalized_path) - for p in cache: - np = normalize_path(p) - if (np.startswith(normalized_path) and - np[prefix_len:prefix_len + 1] in (os.sep, '')): - result.append(p) - return result - - -def _update_zipimporter_cache(normalized_path, cache, updater=None): - """ - Update zipimporter cache data for a given normalized path. - - Any sub-path entries are processed as well, i.e. those corresponding to zip - archives embedded in other zip archives. - - Given updater is a callable taking a cache entry key and the original entry - (after already removing the entry from the cache), and expected to update - the entry and possibly return a new one to be inserted in its place. - Returning None indicates that the entry should not be replaced with a new - one. If no updater is given, the cache entries are simply removed without - any additional processing, the same as if the updater simply returned None. - - """ - for p in _collect_zipimporter_cache_entries(normalized_path, cache): - # N.B. pypy's custom zipimport._zip_directory_cache implementation does - # not support the complete dict interface: - # * Does not support item assignment, thus not allowing this function - # to be used only for removing existing cache entries. - # * Does not support the dict.pop() method, forcing us to use the - # get/del patterns instead. For more detailed information see the - # following links: - # https://github.com/pypa/setuptools/issues/202#issuecomment-202913420 - # http://bit.ly/2h9itJX - old_entry = cache[p] - del cache[p] - new_entry = updater and updater(p, old_entry) - if new_entry is not None: - cache[p] = new_entry - - -def _uncache(normalized_path, cache): - _update_zipimporter_cache(normalized_path, cache) - - -def _remove_and_clear_zip_directory_cache_data(normalized_path): - def clear_and_remove_cached_zip_archive_directory_data(path, old_entry): - old_entry.clear() - - _update_zipimporter_cache( - normalized_path, zipimport._zip_directory_cache, - updater=clear_and_remove_cached_zip_archive_directory_data) - - -# PyPy Python implementation does not allow directly writing to the -# zipimport._zip_directory_cache and so prevents us from attempting to correct -# its content. The best we can do there is clear the problematic cache content -# and have PyPy repopulate it as needed. The downside is that if there are any -# stale zipimport.zipimporter instances laying around, attempting to use them -# will fail due to not having its zip archive directory information available -# instead of being automatically corrected to use the new correct zip archive -# directory information. -if '__pypy__' in sys.builtin_module_names: - _replace_zip_directory_cache_data = \ - _remove_and_clear_zip_directory_cache_data -else: - - def _replace_zip_directory_cache_data(normalized_path): - def replace_cached_zip_archive_directory_data(path, old_entry): - # N.B. In theory, we could load the zip directory information just - # once for all updated path spellings, and then copy it locally and - # update its contained path strings to contain the correct - # spelling, but that seems like a way too invasive move (this cache - # structure is not officially documented anywhere and could in - # theory change with new Python releases) for no significant - # benefit. - old_entry.clear() - zipimport.zipimporter(path) - old_entry.update(zipimport._zip_directory_cache[path]) - return old_entry - - _update_zipimporter_cache( - normalized_path, zipimport._zip_directory_cache, - updater=replace_cached_zip_archive_directory_data) - - -def is_python(text, filename='<string>'): - "Is this string a valid Python script?" - try: - compile(text, filename, 'exec') - except (SyntaxError, TypeError): - return False - else: - return True - - -def is_sh(executable): - """Determine if the specified executable is a .sh (contains a #! line)""" - try: - with io.open(executable, encoding='latin-1') as fp: - magic = fp.read(2) - except (OSError, IOError): - return executable - return magic == '#!' - - -def nt_quote_arg(arg): - """Quote a command line argument according to Windows parsing rules""" - return subprocess.list2cmdline([arg]) - - -def is_python_script(script_text, filename): - """Is this text, as a whole, a Python script? (as opposed to shell/bat/etc. - """ - if filename.endswith('.py') or filename.endswith('.pyw'): - return True # extension says it's Python - if is_python(script_text, filename): - return True # it's syntactically valid Python - if script_text.startswith('#!'): - # It begins with a '#!' line, so check if 'python' is in it somewhere - return 'python' in script_text.splitlines()[0].lower() - - return False # Not any Python I can recognize - - -try: - from os import chmod as _chmod -except ImportError: - # Jython compatibility - def _chmod(*args): - pass - - -def chmod(path, mode): - log.debug("changing mode of %s to %o", path, mode) - try: - _chmod(path, mode) - except os.error as e: - log.debug("chmod failed: %s", e) - - -class CommandSpec(list): - """ - A command spec for a #! header, specified as a list of arguments akin to - those passed to Popen. - """ - - options = [] - split_args = dict() - - @classmethod - def best(cls): - """ - Choose the best CommandSpec class based on environmental conditions. - """ - return cls - - @classmethod - def _sys_executable(cls): - _default = os.path.normpath(sys.executable) - return os.environ.get('__PYVENV_LAUNCHER__', _default) - - @classmethod - def from_param(cls, param): - """ - Construct a CommandSpec from a parameter to build_scripts, which may - be None. - """ - if isinstance(param, cls): - return param - if isinstance(param, list): - return cls(param) - if param is None: - return cls.from_environment() - # otherwise, assume it's a string. - return cls.from_string(param) - - @classmethod - def from_environment(cls): - return cls([cls._sys_executable()]) - - @classmethod - def from_string(cls, string): - """ - Construct a command spec from a simple string representing a command - line parseable by shlex.split. - """ - items = shlex.split(string, **cls.split_args) - return cls(items) - - def install_options(self, script_text): - self.options = shlex.split(self._extract_options(script_text)) - cmdline = subprocess.list2cmdline(self) - if not isascii(cmdline): - self.options[:0] = ['-x'] - - @staticmethod - def _extract_options(orig_script): - """ - Extract any options from the first line of the script. - """ - first = (orig_script + '\n').splitlines()[0] - match = _first_line_re().match(first) - options = match.group(1) or '' if match else '' - return options.strip() - - def as_header(self): - return self._render(self + list(self.options)) - - @staticmethod - def _strip_quotes(item): - _QUOTES = '"\'' - for q in _QUOTES: - if item.startswith(q) and item.endswith(q): - return item[1:-1] - return item - - @staticmethod - def _render(items): - cmdline = subprocess.list2cmdline( - CommandSpec._strip_quotes(item.strip()) for item in items) - return '#!' + cmdline + '\n' - - -# For pbr compat; will be removed in a future version. -sys_executable = CommandSpec._sys_executable() - - -class WindowsCommandSpec(CommandSpec): - split_args = dict(posix=False) - - -class ScriptWriter: - """ - Encapsulates behavior around writing entry point scripts for console and - gui apps. - """ - - template = textwrap.dedent(r""" - # EASY-INSTALL-ENTRY-SCRIPT: %(spec)r,%(group)r,%(name)r - __requires__ = %(spec)r - import re - import sys - from pkg_resources import load_entry_point - - if __name__ == '__main__': - sys.argv[0] = re.sub(r'(-script\.pyw?|\.exe)?$', '', sys.argv[0]) - sys.exit( - load_entry_point(%(spec)r, %(group)r, %(name)r)() - ) - """).lstrip() - - command_spec_class = CommandSpec - - @classmethod - def get_script_args(cls, dist, executable=None, wininst=False): - # for backward compatibility - warnings.warn("Use get_args", EasyInstallDeprecationWarning) - writer = (WindowsScriptWriter if wininst else ScriptWriter).best() - header = cls.get_script_header("", executable, wininst) - return writer.get_args(dist, header) - - @classmethod - def get_script_header(cls, script_text, executable=None, wininst=False): - # for backward compatibility - warnings.warn("Use get_header", EasyInstallDeprecationWarning, stacklevel=2) - if wininst: - executable = "python.exe" - return cls.get_header(script_text, executable) - - @classmethod - def get_args(cls, dist, header=None): - """ - Yield write_script() argument tuples for a distribution's - console_scripts and gui_scripts entry points. - """ - if header is None: - header = cls.get_header() - spec = str(dist.as_requirement()) - for type_ in 'console', 'gui': - group = type_ + '_scripts' - for name, ep in dist.get_entry_map(group).items(): - cls._ensure_safe_name(name) - script_text = cls.template % locals() - args = cls._get_script_args(type_, name, header, script_text) - for res in args: - yield res - - @staticmethod - def _ensure_safe_name(name): - """ - Prevent paths in *_scripts entry point names. - """ - has_path_sep = re.search(r'[\\/]', name) - if has_path_sep: - raise ValueError("Path separators not allowed in script names") - - @classmethod - def get_writer(cls, force_windows): - # for backward compatibility - warnings.warn("Use best", EasyInstallDeprecationWarning) - return WindowsScriptWriter.best() if force_windows else cls.best() - - @classmethod - def best(cls): - """ - Select the best ScriptWriter for this environment. - """ - if sys.platform == 'win32' or (os.name == 'java' and os._name == 'nt'): - return WindowsScriptWriter.best() - else: - return cls - - @classmethod - def _get_script_args(cls, type_, name, header, script_text): - # Simply write the stub with no extension. - yield (name, header + script_text) - - @classmethod - def get_header(cls, script_text="", executable=None): - """Create a #! line, getting options (if any) from script_text""" - cmd = cls.command_spec_class.best().from_param(executable) - cmd.install_options(script_text) - return cmd.as_header() - - -class WindowsScriptWriter(ScriptWriter): - command_spec_class = WindowsCommandSpec - - @classmethod - def get_writer(cls): - # for backward compatibility - warnings.warn("Use best", EasyInstallDeprecationWarning) - return cls.best() - - @classmethod - def best(cls): - """ - Select the best ScriptWriter suitable for Windows - """ - writer_lookup = dict( - executable=WindowsExecutableLauncherWriter, - natural=cls, - ) - # for compatibility, use the executable launcher by default - launcher = os.environ.get('SETUPTOOLS_LAUNCHER', 'executable') - return writer_lookup[launcher] - - @classmethod - def _get_script_args(cls, type_, name, header, script_text): - "For Windows, add a .py extension" - ext = dict(console='.pya', gui='.pyw')[type_] - if ext not in os.environ['PATHEXT'].lower().split(';'): - msg = ( - "{ext} not listed in PATHEXT; scripts will not be " - "recognized as executables." - ).format(**locals()) - warnings.warn(msg, UserWarning) - old = ['.pya', '.py', '-script.py', '.pyc', '.pyo', '.pyw', '.exe'] - old.remove(ext) - header = cls._adjust_header(type_, header) - blockers = [name + x for x in old] - yield name + ext, header + script_text, 't', blockers - - @classmethod - def _adjust_header(cls, type_, orig_header): - """ - Make sure 'pythonw' is used for gui and and 'python' is used for - console (regardless of what sys.executable is). - """ - pattern = 'pythonw.exe' - repl = 'python.exe' - if type_ == 'gui': - pattern, repl = repl, pattern - pattern_ob = re.compile(re.escape(pattern), re.IGNORECASE) - new_header = pattern_ob.sub(string=orig_header, repl=repl) - return new_header if cls._use_header(new_header) else orig_header - - @staticmethod - def _use_header(new_header): - """ - Should _adjust_header use the replaced header? - - On non-windows systems, always use. On - Windows systems, only use the replaced header if it resolves - to an executable on the system. - """ - clean_header = new_header[2:-1].strip('"') - return sys.platform != 'win32' or find_executable(clean_header) - - -class WindowsExecutableLauncherWriter(WindowsScriptWriter): - @classmethod - def _get_script_args(cls, type_, name, header, script_text): - """ - For Windows, add a .py extension and an .exe launcher - """ - if type_ == 'gui': - launcher_type = 'gui' - ext = '-script.pyw' - old = ['.pyw'] - else: - launcher_type = 'cli' - ext = '-script.py' - old = ['.py', '.pyc', '.pyo'] - hdr = cls._adjust_header(type_, header) - blockers = [name + x for x in old] - yield (name + ext, hdr + script_text, 't', blockers) - yield ( - name + '.exe', get_win_launcher(launcher_type), - 'b' # write in binary mode - ) - if not is_64bit(): - # install a manifest for the launcher to prevent Windows - # from detecting it as an installer (which it will for - # launchers like easy_install.exe). Consider only - # adding a manifest for launchers detected as installers. - # See Distribute #143 for details. - m_name = name + '.exe.manifest' - yield (m_name, load_launcher_manifest(name), 't') - - -# for backward-compatibility -get_script_args = ScriptWriter.get_script_args -get_script_header = ScriptWriter.get_script_header - - -def get_win_launcher(type): - """ - Load the Windows launcher (executable) suitable for launching a script. - - `type` should be either 'cli' or 'gui' - - Returns the executable as a byte string. - """ - launcher_fn = '%s.exe' % type - if is_64bit(): - launcher_fn = launcher_fn.replace(".", "-64.") - else: - launcher_fn = launcher_fn.replace(".", "-32.") - return resource_string('setuptools', launcher_fn) - - -def load_launcher_manifest(name): - manifest = pkg_resources.resource_string(__name__, 'launcher manifest.xml') - if six.PY2: - return manifest % vars() - else: - return manifest.decode('utf-8') % vars() - - -def rmtree(path, ignore_errors=False, onerror=auto_chmod): - return shutil.rmtree(path, ignore_errors, onerror) - - -def current_umask(): - tmp = os.umask(0o022) - os.umask(tmp) - return tmp - - -def bootstrap(): - # This function is called when setuptools*.egg is run using /bin/sh - import setuptools - - argv0 = os.path.dirname(setuptools.__path__[0]) - sys.argv[0] = argv0 - sys.argv.append(argv0) - main() - - -def main(argv=None, **kw): - from setuptools import setup - from setuptools.dist import Distribution - - class DistributionWithoutHelpCommands(Distribution): - common_usage = "" - - def _show_help(self, *args, **kw): - with _patch_usage(): - Distribution._show_help(self, *args, **kw) - - if argv is None: - argv = sys.argv[1:] - - with _patch_usage(): - setup( - script_args=['-q', 'easy_install', '-v'] + argv, - script_name=sys.argv[0] or 'easy_install', - distclass=DistributionWithoutHelpCommands, - **kw - ) - - -@contextlib.contextmanager -def _patch_usage(): - import distutils.core - USAGE = textwrap.dedent(""" - usage: %(script)s [options] requirement_or_url ... - or: %(script)s --help - """).lstrip() - - def gen_usage(script_name): - return USAGE % dict( - script=os.path.basename(script_name), - ) - - saved = distutils.core.gen_usage - distutils.core.gen_usage = gen_usage - try: - yield - finally: - distutils.core.gen_usage = saved - -class EasyInstallDeprecationWarning(SetuptoolsDeprecationWarning): - """Class for warning about deprecations in EasyInstall in SetupTools. Not ignored by default, unlike DeprecationWarning.""" - diff --git a/.venv/lib/python3.8/site-packages/setuptools/command/egg_info.py b/.venv/lib/python3.8/site-packages/setuptools/command/egg_info.py deleted file mode 100644 index b767ef3..0000000 --- a/.venv/lib/python3.8/site-packages/setuptools/command/egg_info.py +++ /dev/null @@ -1,717 +0,0 @@ -"""setuptools.command.egg_info - -Create a distribution's .egg-info directory and contents""" - -from distutils.filelist import FileList as _FileList -from distutils.errors import DistutilsInternalError -from distutils.util import convert_path -from distutils import log -import distutils.errors -import distutils.filelist -import os -import re -import sys -import io -import warnings -import time -import collections - -from setuptools.extern import six -from setuptools.extern.six.moves import map - -from setuptools import Command -from setuptools.command.sdist import sdist -from setuptools.command.sdist import walk_revctrl -from setuptools.command.setopt import edit_config -from setuptools.command import bdist_egg -from pkg_resources import ( - parse_requirements, safe_name, parse_version, - safe_version, yield_lines, EntryPoint, iter_entry_points, to_filename) -import setuptools.unicode_utils as unicode_utils -from setuptools.glob import glob - -from setuptools.extern import packaging -from setuptools import SetuptoolsDeprecationWarning - -def translate_pattern(glob): - """ - Translate a file path glob like '*.txt' in to a regular expression. - This differs from fnmatch.translate which allows wildcards to match - directory separators. It also knows about '**/' which matches any number of - directories. - """ - pat = '' - - # This will split on '/' within [character classes]. This is deliberate. - chunks = glob.split(os.path.sep) - - sep = re.escape(os.sep) - valid_char = '[^%s]' % (sep,) - - for c, chunk in enumerate(chunks): - last_chunk = c == len(chunks) - 1 - - # Chunks that are a literal ** are globstars. They match anything. - if chunk == '**': - if last_chunk: - # Match anything if this is the last component - pat += '.*' - else: - # Match '(name/)*' - pat += '(?:%s+%s)*' % (valid_char, sep) - continue # Break here as the whole path component has been handled - - # Find any special characters in the remainder - i = 0 - chunk_len = len(chunk) - while i < chunk_len: - char = chunk[i] - if char == '*': - # Match any number of name characters - pat += valid_char + '*' - elif char == '?': - # Match a name character - pat += valid_char - elif char == '[': - # Character class - inner_i = i + 1 - # Skip initial !/] chars - if inner_i < chunk_len and chunk[inner_i] == '!': - inner_i = inner_i + 1 - if inner_i < chunk_len and chunk[inner_i] == ']': - inner_i = inner_i + 1 - - # Loop till the closing ] is found - while inner_i < chunk_len and chunk[inner_i] != ']': - inner_i = inner_i + 1 - - if inner_i >= chunk_len: - # Got to the end of the string without finding a closing ] - # Do not treat this as a matching group, but as a literal [ - pat += re.escape(char) - else: - # Grab the insides of the [brackets] - inner = chunk[i + 1:inner_i] - char_class = '' - - # Class negation - if inner[0] == '!': - char_class = '^' - inner = inner[1:] - - char_class += re.escape(inner) - pat += '[%s]' % (char_class,) - - # Skip to the end ] - i = inner_i - else: - pat += re.escape(char) - i += 1 - - # Join each chunk with the dir separator - if not last_chunk: - pat += sep - - pat += r'\Z' - return re.compile(pat, flags=re.MULTILINE|re.DOTALL) - - -class InfoCommon: - tag_build = None - tag_date = None - - @property - def name(self): - return safe_name(self.distribution.get_name()) - - def tagged_version(self): - version = self.distribution.get_version() - # egg_info may be called more than once for a distribution, - # in which case the version string already contains all tags. - if self.vtags and version.endswith(self.vtags): - return safe_version(version) - return safe_version(version + self.vtags) - - def tags(self): - version = '' - if self.tag_build: - version += self.tag_build - if self.tag_date: - version += time.strftime("-%Y%m%d") - return version - vtags = property(tags) - - -class egg_info(InfoCommon, Command): - description = "create a distribution's .egg-info directory" - - user_options = [ - ('egg-base=', 'e', "directory containing .egg-info directories" - " (default: top of the source tree)"), - ('tag-date', 'd', "Add date stamp (e.g. 20050528) to version number"), - ('tag-build=', 'b', "Specify explicit tag to add to version number"), - ('no-date', 'D', "Don't include date stamp [default]"), - ] - - boolean_options = ['tag-date'] - negative_opt = { - 'no-date': 'tag-date', - } - - def initialize_options(self): - self.egg_base = None - self.egg_name = None - self.egg_info = None - self.egg_version = None - self.broken_egg_info = False - - #################################### - # allow the 'tag_svn_revision' to be detected and - # set, supporting sdists built on older Setuptools. - @property - def tag_svn_revision(self): - pass - - @tag_svn_revision.setter - def tag_svn_revision(self, value): - pass - #################################### - - def save_version_info(self, filename): - """ - Materialize the value of date into the - build tag. Install build keys in a deterministic order - to avoid arbitrary reordering on subsequent builds. - """ - egg_info = collections.OrderedDict() - # follow the order these keys would have been added - # when PYTHONHASHSEED=0 - egg_info['tag_build'] = self.tags() - egg_info['tag_date'] = 0 - edit_config(filename, dict(egg_info=egg_info)) - - def finalize_options(self): - # Note: we need to capture the current value returned - # by `self.tagged_version()`, so we can later update - # `self.distribution.metadata.version` without - # repercussions. - self.egg_name = self.name - self.egg_version = self.tagged_version() - parsed_version = parse_version(self.egg_version) - - try: - is_version = isinstance(parsed_version, packaging.version.Version) - spec = ( - "%s==%s" if is_version else "%s===%s" - ) - list( - parse_requirements(spec % (self.egg_name, self.egg_version)) - ) - except ValueError: - raise distutils.errors.DistutilsOptionError( - "Invalid distribution name or version syntax: %s-%s" % - (self.egg_name, self.egg_version) - ) - - if self.egg_base is None: - dirs = self.distribution.package_dir - self.egg_base = (dirs or {}).get('', os.curdir) - - self.ensure_dirname('egg_base') - self.egg_info = to_filename(self.egg_name) + '.egg-info' - if self.egg_base != os.curdir: - self.egg_info = os.path.join(self.egg_base, self.egg_info) - if '-' in self.egg_name: - self.check_broken_egg_info() - - # Set package version for the benefit of dumber commands - # (e.g. sdist, bdist_wininst, etc.) - # - self.distribution.metadata.version = self.egg_version - - # If we bootstrapped around the lack of a PKG-INFO, as might be the - # case in a fresh checkout, make sure that any special tags get added - # to the version info - # - pd = self.distribution._patched_dist - if pd is not None and pd.key == self.egg_name.lower(): - pd._version = self.egg_version - pd._parsed_version = parse_version(self.egg_version) - self.distribution._patched_dist = None - - def write_or_delete_file(self, what, filename, data, force=False): - """Write `data` to `filename` or delete if empty - - If `data` is non-empty, this routine is the same as ``write_file()``. - If `data` is empty but not ``None``, this is the same as calling - ``delete_file(filename)`. If `data` is ``None``, then this is a no-op - unless `filename` exists, in which case a warning is issued about the - orphaned file (if `force` is false), or deleted (if `force` is true). - """ - if data: - self.write_file(what, filename, data) - elif os.path.exists(filename): - if data is None and not force: - log.warn( - "%s not set in setup(), but %s exists", what, filename - ) - return - else: - self.delete_file(filename) - - def write_file(self, what, filename, data): - """Write `data` to `filename` (if not a dry run) after announcing it - - `what` is used in a log message to identify what is being written - to the file. - """ - log.info("writing %s to %s", what, filename) - if six.PY3: - data = data.encode("utf-8") - if not self.dry_run: - f = open(filename, 'wb') - f.write(data) - f.close() - - def delete_file(self, filename): - """Delete `filename` (if not a dry run) after announcing it""" - log.info("deleting %s", filename) - if not self.dry_run: - os.unlink(filename) - - def run(self): - self.mkpath(self.egg_info) - os.utime(self.egg_info, None) - installer = self.distribution.fetch_build_egg - for ep in iter_entry_points('egg_info.writers'): - ep.require(installer=installer) - writer = ep.resolve() - writer(self, ep.name, os.path.join(self.egg_info, ep.name)) - - # Get rid of native_libs.txt if it was put there by older bdist_egg - nl = os.path.join(self.egg_info, "native_libs.txt") - if os.path.exists(nl): - self.delete_file(nl) - - self.find_sources() - - def find_sources(self): - """Generate SOURCES.txt manifest file""" - manifest_filename = os.path.join(self.egg_info, "SOURCES.txt") - mm = manifest_maker(self.distribution) - mm.manifest = manifest_filename - mm.run() - self.filelist = mm.filelist - - def check_broken_egg_info(self): - bei = self.egg_name + '.egg-info' - if self.egg_base != os.curdir: - bei = os.path.join(self.egg_base, bei) - if os.path.exists(bei): - log.warn( - "-" * 78 + '\n' - "Note: Your current .egg-info directory has a '-' in its name;" - '\nthis will not work correctly with "setup.py develop".\n\n' - 'Please rename %s to %s to correct this problem.\n' + '-' * 78, - bei, self.egg_info - ) - self.broken_egg_info = self.egg_info - self.egg_info = bei # make it work for now - - -class FileList(_FileList): - # Implementations of the various MANIFEST.in commands - - def process_template_line(self, line): - # Parse the line: split it up, make sure the right number of words - # is there, and return the relevant words. 'action' is always - # defined: it's the first word of the line. Which of the other - # three are defined depends on the action; it'll be either - # patterns, (dir and patterns), or (dir_pattern). - (action, patterns, dir, dir_pattern) = self._parse_template_line(line) - - # OK, now we know that the action is valid and we have the - # right number of words on the line for that action -- so we - # can proceed with minimal error-checking. - if action == 'include': - self.debug_print("include " + ' '.join(patterns)) - for pattern in patterns: - if not self.include(pattern): - log.warn("warning: no files found matching '%s'", pattern) - - elif action == 'exclude': - self.debug_print("exclude " + ' '.join(patterns)) - for pattern in patterns: - if not self.exclude(pattern): - log.warn(("warning: no previously-included files " - "found matching '%s'"), pattern) - - elif action == 'global-include': - self.debug_print("global-include " + ' '.join(patterns)) - for pattern in patterns: - if not self.global_include(pattern): - log.warn(("warning: no files found matching '%s' " - "anywhere in distribution"), pattern) - - elif action == 'global-exclude': - self.debug_print("global-exclude " + ' '.join(patterns)) - for pattern in patterns: - if not self.global_exclude(pattern): - log.warn(("warning: no previously-included files matching " - "'%s' found anywhere in distribution"), - pattern) - - elif action == 'recursive-include': - self.debug_print("recursive-include %s %s" % - (dir, ' '.join(patterns))) - for pattern in patterns: - if not self.recursive_include(dir, pattern): - log.warn(("warning: no files found matching '%s' " - "under directory '%s'"), - pattern, dir) - - elif action == 'recursive-exclude': - self.debug_print("recursive-exclude %s %s" % - (dir, ' '.join(patterns))) - for pattern in patterns: - if not self.recursive_exclude(dir, pattern): - log.warn(("warning: no previously-included files matching " - "'%s' found under directory '%s'"), - pattern, dir) - - elif action == 'graft': - self.debug_print("graft " + dir_pattern) - if not self.graft(dir_pattern): - log.warn("warning: no directories found matching '%s'", - dir_pattern) - - elif action == 'prune': - self.debug_print("prune " + dir_pattern) - if not self.prune(dir_pattern): - log.warn(("no previously-included directories found " - "matching '%s'"), dir_pattern) - - else: - raise DistutilsInternalError( - "this cannot happen: invalid action '%s'" % action) - - def _remove_files(self, predicate): - """ - Remove all files from the file list that match the predicate. - Return True if any matching files were removed - """ - found = False - for i in range(len(self.files) - 1, -1, -1): - if predicate(self.files[i]): - self.debug_print(" removing " + self.files[i]) - del self.files[i] - found = True - return found - - def include(self, pattern): - """Include files that match 'pattern'.""" - found = [f for f in glob(pattern) if not os.path.isdir(f)] - self.extend(found) - return bool(found) - - def exclude(self, pattern): - """Exclude files that match 'pattern'.""" - match = translate_pattern(pattern) - return self._remove_files(match.match) - - def recursive_include(self, dir, pattern): - """ - Include all files anywhere in 'dir/' that match the pattern. - """ - full_pattern = os.path.join(dir, '**', pattern) - found = [f for f in glob(full_pattern, recursive=True) - if not os.path.isdir(f)] - self.extend(found) - return bool(found) - - def recursive_exclude(self, dir, pattern): - """ - Exclude any file anywhere in 'dir/' that match the pattern. - """ - match = translate_pattern(os.path.join(dir, '**', pattern)) - return self._remove_files(match.match) - - def graft(self, dir): - """Include all files from 'dir/'.""" - found = [ - item - for match_dir in glob(dir) - for item in distutils.filelist.findall(match_dir) - ] - self.extend(found) - return bool(found) - - def prune(self, dir): - """Filter out files from 'dir/'.""" - match = translate_pattern(os.path.join(dir, '**')) - return self._remove_files(match.match) - - def global_include(self, pattern): - """ - Include all files anywhere in the current directory that match the - pattern. This is very inefficient on large file trees. - """ - if self.allfiles is None: - self.findall() - match = translate_pattern(os.path.join('**', pattern)) - found = [f for f in self.allfiles if match.match(f)] - self.extend(found) - return bool(found) - - def global_exclude(self, pattern): - """ - Exclude all files anywhere that match the pattern. - """ - match = translate_pattern(os.path.join('**', pattern)) - return self._remove_files(match.match) - - def append(self, item): - if item.endswith('\r'): # Fix older sdists built on Windows - item = item[:-1] - path = convert_path(item) - - if self._safe_path(path): - self.files.append(path) - - def extend(self, paths): - self.files.extend(filter(self._safe_path, paths)) - - def _repair(self): - """ - Replace self.files with only safe paths - - Because some owners of FileList manipulate the underlying - ``files`` attribute directly, this method must be called to - repair those paths. - """ - self.files = list(filter(self._safe_path, self.files)) - - def _safe_path(self, path): - enc_warn = "'%s' not %s encodable -- skipping" - - # To avoid accidental trans-codings errors, first to unicode - u_path = unicode_utils.filesys_decode(path) - if u_path is None: - log.warn("'%s' in unexpected encoding -- skipping" % path) - return False - - # Must ensure utf-8 encodability - utf8_path = unicode_utils.try_encode(u_path, "utf-8") - if utf8_path is None: - log.warn(enc_warn, path, 'utf-8') - return False - - try: - # accept is either way checks out - if os.path.exists(u_path) or os.path.exists(utf8_path): - return True - # this will catch any encode errors decoding u_path - except UnicodeEncodeError: - log.warn(enc_warn, path, sys.getfilesystemencoding()) - - -class manifest_maker(sdist): - template = "MANIFEST.in" - - def initialize_options(self): - self.use_defaults = 1 - self.prune = 1 - self.manifest_only = 1 - self.force_manifest = 1 - - def finalize_options(self): - pass - - def run(self): - self.filelist = FileList() - if not os.path.exists(self.manifest): - self.write_manifest() # it must exist so it'll get in the list - self.add_defaults() - if os.path.exists(self.template): - self.read_template() - self.prune_file_list() - self.filelist.sort() - self.filelist.remove_duplicates() - self.write_manifest() - - def _manifest_normalize(self, path): - path = unicode_utils.filesys_decode(path) - return path.replace(os.sep, '/') - - def write_manifest(self): - """ - Write the file list in 'self.filelist' to the manifest file - named by 'self.manifest'. - """ - self.filelist._repair() - - # Now _repairs should encodability, but not unicode - files = [self._manifest_normalize(f) for f in self.filelist.files] - msg = "writing manifest file '%s'" % self.manifest - self.execute(write_file, (self.manifest, files), msg) - - def warn(self, msg): - if not self._should_suppress_warning(msg): - sdist.warn(self, msg) - - @staticmethod - def _should_suppress_warning(msg): - """ - suppress missing-file warnings from sdist - """ - return re.match(r"standard file .*not found", msg) - - def add_defaults(self): - sdist.add_defaults(self) - self.check_license() - self.filelist.append(self.template) - self.filelist.append(self.manifest) - rcfiles = list(walk_revctrl()) - if rcfiles: - self.filelist.extend(rcfiles) - elif os.path.exists(self.manifest): - self.read_manifest() - - if os.path.exists("setup.py"): - # setup.py should be included by default, even if it's not - # the script called to create the sdist - self.filelist.append("setup.py") - - ei_cmd = self.get_finalized_command('egg_info') - self.filelist.graft(ei_cmd.egg_info) - - def prune_file_list(self): - build = self.get_finalized_command('build') - base_dir = self.distribution.get_fullname() - self.filelist.prune(build.build_base) - self.filelist.prune(base_dir) - sep = re.escape(os.sep) - self.filelist.exclude_pattern(r'(^|' + sep + r')(RCS|CVS|\.svn)' + sep, - is_regex=1) - - -def write_file(filename, contents): - """Create a file with the specified name and write 'contents' (a - sequence of strings without line terminators) to it. - """ - contents = "\n".join(contents) - - # assuming the contents has been vetted for utf-8 encoding - contents = contents.encode("utf-8") - - with open(filename, "wb") as f: # always write POSIX-style manifest - f.write(contents) - - -def write_pkg_info(cmd, basename, filename): - log.info("writing %s", filename) - if not cmd.dry_run: - metadata = cmd.distribution.metadata - metadata.version, oldver = cmd.egg_version, metadata.version - metadata.name, oldname = cmd.egg_name, metadata.name - - try: - # write unescaped data to PKG-INFO, so older pkg_resources - # can still parse it - metadata.write_pkg_info(cmd.egg_info) - finally: - metadata.name, metadata.version = oldname, oldver - - safe = getattr(cmd.distribution, 'zip_safe', None) - - bdist_egg.write_safety_flag(cmd.egg_info, safe) - - -def warn_depends_obsolete(cmd, basename, filename): - if os.path.exists(filename): - log.warn( - "WARNING: 'depends.txt' is not used by setuptools 0.6!\n" - "Use the install_requires/extras_require setup() args instead." - ) - - -def _write_requirements(stream, reqs): - lines = yield_lines(reqs or ()) - append_cr = lambda line: line + '\n' - lines = map(append_cr, sorted(lines)) - stream.writelines(lines) - - -def write_requirements(cmd, basename, filename): - dist = cmd.distribution - data = six.StringIO() - _write_requirements(data, dist.install_requires) - extras_require = dist.extras_require or {} - for extra in sorted(extras_require): - data.write('\n[{extra}]\n'.format(**vars())) - _write_requirements(data, extras_require[extra]) - cmd.write_or_delete_file("requirements", filename, data.getvalue()) - - -def write_setup_requirements(cmd, basename, filename): - data = io.StringIO() - _write_requirements(data, cmd.distribution.setup_requires) - cmd.write_or_delete_file("setup-requirements", filename, data.getvalue()) - - -def write_toplevel_names(cmd, basename, filename): - pkgs = dict.fromkeys( - [ - k.split('.', 1)[0] - for k in cmd.distribution.iter_distribution_names() - ] - ) - cmd.write_file("top-level names", filename, '\n'.join(sorted(pkgs)) + '\n') - - -def overwrite_arg(cmd, basename, filename): - write_arg(cmd, basename, filename, True) - - -def write_arg(cmd, basename, filename, force=False): - argname = os.path.splitext(basename)[0] - value = getattr(cmd.distribution, argname, None) - if value is not None: - value = '\n'.join(value) + '\n' - cmd.write_or_delete_file(argname, filename, value, force) - - -def write_entries(cmd, basename, filename): - ep = cmd.distribution.entry_points - - if isinstance(ep, six.string_types) or ep is None: - data = ep - elif ep is not None: - data = [] - for section, contents in sorted(ep.items()): - if not isinstance(contents, six.string_types): - contents = EntryPoint.parse_group(section, contents) - contents = '\n'.join(sorted(map(str, contents.values()))) - data.append('[%s]\n%s\n\n' % (section, contents)) - data = ''.join(data) - - cmd.write_or_delete_file('entry points', filename, data, True) - - -def get_pkg_info_revision(): - """ - Get a -r### off of PKG-INFO Version in case this is an sdist of - a subversion revision. - """ - warnings.warn("get_pkg_info_revision is deprecated.", EggInfoDeprecationWarning) - if os.path.exists('PKG-INFO'): - with io.open('PKG-INFO') as f: - for line in f: - match = re.match(r"Version:.*-r(\d+)\s*$", line) - if match: - return int(match.group(1)) - return 0 - - -class EggInfoDeprecationWarning(SetuptoolsDeprecationWarning): - """Class for warning about deprecations in eggInfo in setupTools. Not ignored by default, unlike DeprecationWarning.""" diff --git a/.venv/lib/python3.8/site-packages/setuptools/command/install.py b/.venv/lib/python3.8/site-packages/setuptools/command/install.py deleted file mode 100644 index 72b9a3e..0000000 --- a/.venv/lib/python3.8/site-packages/setuptools/command/install.py +++ /dev/null @@ -1,125 +0,0 @@ -from distutils.errors import DistutilsArgError -import inspect -import glob -import warnings -import platform -import distutils.command.install as orig - -import setuptools - -# Prior to numpy 1.9, NumPy relies on the '_install' name, so provide it for -# now. See https://github.com/pypa/setuptools/issues/199/ -_install = orig.install - - -class install(orig.install): - """Use easy_install to install the package, w/dependencies""" - - user_options = orig.install.user_options + [ - ('old-and-unmanageable', None, "Try not to use this!"), - ('single-version-externally-managed', None, - "used by system package builders to create 'flat' eggs"), - ] - boolean_options = orig.install.boolean_options + [ - 'old-and-unmanageable', 'single-version-externally-managed', - ] - new_commands = [ - ('install_egg_info', lambda self: True), - ('install_scripts', lambda self: True), - ] - _nc = dict(new_commands) - - def initialize_options(self): - orig.install.initialize_options(self) - self.old_and_unmanageable = None - self.single_version_externally_managed = None - - def finalize_options(self): - orig.install.finalize_options(self) - if self.root: - self.single_version_externally_managed = True - elif self.single_version_externally_managed: - if not self.root and not self.record: - raise DistutilsArgError( - "You must specify --record or --root when building system" - " packages" - ) - - def handle_extra_path(self): - if self.root or self.single_version_externally_managed: - # explicit backward-compatibility mode, allow extra_path to work - return orig.install.handle_extra_path(self) - - # Ignore extra_path when installing an egg (or being run by another - # command without --root or --single-version-externally-managed - self.path_file = None - self.extra_dirs = '' - - def run(self): - # Explicit request for old-style install? Just do it - if self.old_and_unmanageable or self.single_version_externally_managed: - return orig.install.run(self) - - if not self._called_from_setup(inspect.currentframe()): - # Run in backward-compatibility mode to support bdist_* commands. - orig.install.run(self) - else: - self.do_egg_install() - - @staticmethod - def _called_from_setup(run_frame): - """ - Attempt to detect whether run() was called from setup() or by another - command. If called by setup(), the parent caller will be the - 'run_command' method in 'distutils.dist', and *its* caller will be - the 'run_commands' method. If called any other way, the - immediate caller *might* be 'run_command', but it won't have been - called by 'run_commands'. Return True in that case or if a call stack - is unavailable. Return False otherwise. - """ - if run_frame is None: - msg = "Call stack not available. bdist_* commands may fail." - warnings.warn(msg) - if platform.python_implementation() == 'IronPython': - msg = "For best results, pass -X:Frames to enable call stack." - warnings.warn(msg) - return True - res = inspect.getouterframes(run_frame)[2] - caller, = res[:1] - info = inspect.getframeinfo(caller) - caller_module = caller.f_globals.get('__name__', '') - return ( - caller_module == 'distutils.dist' - and info.function == 'run_commands' - ) - - def do_egg_install(self): - - easy_install = self.distribution.get_command_class('easy_install') - - cmd = easy_install( - self.distribution, args="x", root=self.root, record=self.record, - ) - cmd.ensure_finalized() # finalize before bdist_egg munges install cmd - cmd.always_copy_from = '.' # make sure local-dir eggs get installed - - # pick up setup-dir .egg files only: no .egg-info - cmd.package_index.scan(glob.glob('*.egg')) - - self.run_command('bdist_egg') - args = [self.distribution.get_command_obj('bdist_egg').egg_output] - - if setuptools.bootstrap_install_from: - # Bootstrap self-installation of setuptools - args.insert(0, setuptools.bootstrap_install_from) - - cmd.args = args - cmd.run(show_deprecation=False) - setuptools.bootstrap_install_from = None - - -# XXX Python 3.1 doesn't see _nc if this is inside the class -install.sub_commands = ( - [cmd for cmd in orig.install.sub_commands if cmd[0] not in install._nc] + - install.new_commands -) diff --git a/.venv/lib/python3.8/site-packages/setuptools/command/install_egg_info.py b/.venv/lib/python3.8/site-packages/setuptools/command/install_egg_info.py deleted file mode 100644 index 5f405bc..0000000 --- a/.venv/lib/python3.8/site-packages/setuptools/command/install_egg_info.py +++ /dev/null @@ -1,82 +0,0 @@ -from distutils import log, dir_util -import os, sys - -from setuptools import Command -from setuptools import namespaces -from setuptools.archive_util import unpack_archive -import pkg_resources - - -class install_egg_info(namespaces.Installer, Command): - """Install an .egg-info directory for the package""" - - description = "Install an .egg-info directory for the package" - - user_options = [ - ('install-dir=', 'd', "directory to install to"), - ] - - def initialize_options(self): - self.install_dir = None - self.install_layout = None - self.prefix_option = None - - def finalize_options(self): - self.set_undefined_options('install_lib', - ('install_dir', 'install_dir')) - self.set_undefined_options('install',('install_layout','install_layout')) - if sys.hexversion > 0x2060000: - self.set_undefined_options('install',('prefix_option','prefix_option')) - ei_cmd = self.get_finalized_command("egg_info") - basename = pkg_resources.Distribution( - None, None, ei_cmd.egg_name, ei_cmd.egg_version - ).egg_name() + '.egg-info' - - if self.install_layout: - if not self.install_layout.lower() in ['deb']: - raise DistutilsOptionError("unknown value for --install-layout") - self.install_layout = self.install_layout.lower() - basename = basename.replace('-py%s' % pkg_resources.PY_MAJOR, '') - elif self.prefix_option or 'real_prefix' in sys.__dict__: - # don't modify for virtualenv - pass - else: - basename = basename.replace('-py%s' % pkg_resources.PY_MAJOR, '') - - self.source = ei_cmd.egg_info - self.target = os.path.join(self.install_dir, basename) - self.outputs = [] - - def run(self): - self.run_command('egg_info') - if os.path.isdir(self.target) and not os.path.islink(self.target): - dir_util.remove_tree(self.target, dry_run=self.dry_run) - elif os.path.exists(self.target): - self.execute(os.unlink, (self.target,), "Removing " + self.target) - if not self.dry_run: - pkg_resources.ensure_directory(self.target) - self.execute( - self.copytree, (), "Copying %s to %s" % (self.source, self.target) - ) - self.install_namespaces() - - def get_outputs(self): - return self.outputs - - def copytree(self): - # Copy the .egg-info tree to site-packages - def skimmer(src, dst): - # filter out source-control directories; note that 'src' is always - # a '/'-separated path, regardless of platform. 'dst' is a - # platform-specific path. - for skip in '.svn/', 'CVS/': - if src.startswith(skip) or '/' + skip in src: - return None - if self.install_layout and self.install_layout in ['deb'] and src.startswith('SOURCES.txt'): - log.info("Skipping SOURCES.txt") - return None - self.outputs.append(dst) - log.debug("Copying %s to %s", src, dst) - return dst - - unpack_archive(self.source, self.target, skimmer) diff --git a/.venv/lib/python3.8/site-packages/setuptools/command/install_lib.py b/.venv/lib/python3.8/site-packages/setuptools/command/install_lib.py deleted file mode 100644 index bf81519..0000000 --- a/.venv/lib/python3.8/site-packages/setuptools/command/install_lib.py +++ /dev/null @@ -1,147 +0,0 @@ -import os -import sys -from itertools import product, starmap -import distutils.command.install_lib as orig - - -class install_lib(orig.install_lib): - """Don't add compiled flags to filenames of non-Python files""" - - def initialize_options(self): - orig.install_lib.initialize_options(self) - self.multiarch = None - self.install_layout = None - - def finalize_options(self): - orig.install_lib.finalize_options(self) - self.set_undefined_options('install',('install_layout','install_layout')) - if self.install_layout == 'deb' and sys.version_info[:2] >= (3, 3): - import sysconfig - self.multiarch = sysconfig.get_config_var('MULTIARCH') - - def run(self): - self.build() - outfiles = self.install() - if outfiles is not None: - # always compile, in case we have any extension stubs to deal with - self.byte_compile(outfiles) - - def get_exclusions(self): - """ - Return a collections.Sized collections.Container of paths to be - excluded for single_version_externally_managed installations. - """ - all_packages = ( - pkg - for ns_pkg in self._get_SVEM_NSPs() - for pkg in self._all_packages(ns_pkg) - ) - - excl_specs = product(all_packages, self._gen_exclusion_paths()) - return set(starmap(self._exclude_pkg_path, excl_specs)) - - def _exclude_pkg_path(self, pkg, exclusion_path): - """ - Given a package name and exclusion path within that package, - compute the full exclusion path. - """ - parts = pkg.split('.') + [exclusion_path] - return os.path.join(self.install_dir, *parts) - - @staticmethod - def _all_packages(pkg_name): - """ - >>> list(install_lib._all_packages('foo.bar.baz')) - ['foo.bar.baz', 'foo.bar', 'foo'] - """ - while pkg_name: - yield pkg_name - pkg_name, sep, child = pkg_name.rpartition('.') - - def _get_SVEM_NSPs(self): - """ - Get namespace packages (list) but only for - single_version_externally_managed installations and empty otherwise. - """ - # TODO: is it necessary to short-circuit here? i.e. what's the cost - # if get_finalized_command is called even when namespace_packages is - # False? - if not self.distribution.namespace_packages: - return [] - - install_cmd = self.get_finalized_command('install') - svem = install_cmd.single_version_externally_managed - - return self.distribution.namespace_packages if svem else [] - - @staticmethod - def _gen_exclusion_paths(): - """ - Generate file paths to be excluded for namespace packages (bytecode - cache files). - """ - # always exclude the package module itself - yield '__init__.py' - - yield '__init__.pyc' - yield '__init__.pyo' - - if not hasattr(sys, 'implementation'): - return - - base = os.path.join('__pycache__', '__init__.' + sys.implementation.cache_tag) - yield base + '.pyc' - yield base + '.pyo' - yield base + '.opt-1.pyc' - yield base + '.opt-2.pyc' - - def copy_tree( - self, infile, outfile, - preserve_mode=1, preserve_times=1, preserve_symlinks=0, level=1 - ): - assert preserve_mode and preserve_times and not preserve_symlinks - exclude = self.get_exclusions() - - if not exclude: - import distutils.dir_util - distutils.dir_util._multiarch = self.multiarch - return orig.install_lib.copy_tree(self, infile, outfile) - - # Exclude namespace package __init__.py* files from the output - - from setuptools.archive_util import unpack_directory - from distutils import log - - outfiles = [] - - if self.multiarch: - import sysconfig - ext_suffix = sysconfig.get_config_var ('EXT_SUFFIX') - if ext_suffix.endswith(self.multiarch + ext_suffix[-3:]): - new_suffix = None - else: - new_suffix = "%s-%s%s" % (ext_suffix[:-3], self.multiarch, ext_suffix[-3:]) - - def pf(src, dst): - if dst in exclude: - log.warn("Skipping installation of %s (namespace package)", - dst) - return False - - if self.multiarch and new_suffix and dst.endswith(ext_suffix) and not dst.endswith(new_suffix): - dst = dst.replace(ext_suffix, new_suffix) - log.info("renaming extension to %s", os.path.basename(dst)) - - log.info("copying %s -> %s", src, os.path.dirname(dst)) - outfiles.append(dst) - return dst - - unpack_directory(infile, outfile, pf) - return outfiles - - def get_outputs(self): - outputs = orig.install_lib.get_outputs(self) - exclude = self.get_exclusions() - if exclude: - return [f for f in outputs if f not in exclude] - return outputs diff --git a/.venv/lib/python3.8/site-packages/setuptools/command/install_scripts.py b/.venv/lib/python3.8/site-packages/setuptools/command/install_scripts.py deleted file mode 100644 index 1623427..0000000 --- a/.venv/lib/python3.8/site-packages/setuptools/command/install_scripts.py +++ /dev/null @@ -1,65 +0,0 @@ -from distutils import log -import distutils.command.install_scripts as orig -import os -import sys - -from pkg_resources import Distribution, PathMetadata, ensure_directory - - -class install_scripts(orig.install_scripts): - """Do normal script install, plus any egg_info wrapper scripts""" - - def initialize_options(self): - orig.install_scripts.initialize_options(self) - self.no_ep = False - - def run(self): - import setuptools.command.easy_install as ei - - self.run_command("egg_info") - if self.distribution.scripts: - orig.install_scripts.run(self) # run first to set up self.outfiles - else: - self.outfiles = [] - if self.no_ep: - # don't install entry point scripts into .egg file! - return - - ei_cmd = self.get_finalized_command("egg_info") - dist = Distribution( - ei_cmd.egg_base, PathMetadata(ei_cmd.egg_base, ei_cmd.egg_info), - ei_cmd.egg_name, ei_cmd.egg_version, - ) - bs_cmd = self.get_finalized_command('build_scripts') - exec_param = getattr(bs_cmd, 'executable', None) - bw_cmd = self.get_finalized_command("bdist_wininst") - is_wininst = getattr(bw_cmd, '_is_running', False) - writer = ei.ScriptWriter - if is_wininst: - exec_param = "python.exe" - writer = ei.WindowsScriptWriter - if exec_param == sys.executable: - # In case the path to the Python executable contains a space, wrap - # it so it's not split up. - exec_param = [exec_param] - # resolve the writer to the environment - writer = writer.best() - cmd = writer.command_spec_class.best().from_param(exec_param) - for args in writer.get_args(dist, cmd.as_header()): - self.write_script(*args) - - def write_script(self, script_name, contents, mode="t", *ignored): - """Write an executable file to the scripts directory""" - from setuptools.command.easy_install import chmod, current_umask - - log.info("Installing %s script to %s", script_name, self.install_dir) - target = os.path.join(self.install_dir, script_name) - self.outfiles.append(target) - - mask = current_umask() - if not self.dry_run: - ensure_directory(target) - f = open(target, "w" + mode) - f.write(contents) - f.close() - chmod(target, 0o777 - mask) diff --git a/.venv/lib/python3.8/site-packages/setuptools/command/launcher manifest.xml b/.venv/lib/python3.8/site-packages/setuptools/command/launcher manifest.xml deleted file mode 100644 index 5972a96..0000000 --- a/.venv/lib/python3.8/site-packages/setuptools/command/launcher manifest.xml +++ /dev/null @@ -1,15 +0,0 @@ -<?xml version="1.0" encoding="UTF-8" standalone="yes"?> -<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"> - <assemblyIdentity version="1.0.0.0" - processorArchitecture="X86" - name="%(name)s" - type="win32"/> - <!-- Identify the application security requirements. --> - <trustInfo xmlns="urn:schemas-microsoft-com:asm.v3"> - <security> - <requestedPrivileges> - <requestedExecutionLevel level="asInvoker" uiAccess="false"/> - </requestedPrivileges> - </security> - </trustInfo> -</assembly> diff --git a/.venv/lib/python3.8/site-packages/setuptools/command/py36compat.py b/.venv/lib/python3.8/site-packages/setuptools/command/py36compat.py deleted file mode 100644 index 61063e7..0000000 --- a/.venv/lib/python3.8/site-packages/setuptools/command/py36compat.py +++ /dev/null @@ -1,136 +0,0 @@ -import os -from glob import glob -from distutils.util import convert_path -from distutils.command import sdist - -from setuptools.extern.six.moves import filter - - -class sdist_add_defaults: - """ - Mix-in providing forward-compatibility for functionality as found in - distutils on Python 3.7. - - Do not edit the code in this class except to update functionality - as implemented in distutils. Instead, override in the subclass. - """ - - def add_defaults(self): - """Add all the default files to self.filelist: - - README or README.txt - - setup.py - - test/test*.py - - all pure Python modules mentioned in setup script - - all files pointed by package_data (build_py) - - all files defined in data_files. - - all files defined as scripts. - - all C sources listed as part of extensions or C libraries - in the setup script (doesn't catch C headers!) - Warns if (README or README.txt) or setup.py are missing; everything - else is optional. - """ - self._add_defaults_standards() - self._add_defaults_optional() - self._add_defaults_python() - self._add_defaults_data_files() - self._add_defaults_ext() - self._add_defaults_c_libs() - self._add_defaults_scripts() - - @staticmethod - def _cs_path_exists(fspath): - """ - Case-sensitive path existence check - - >>> sdist_add_defaults._cs_path_exists(__file__) - True - >>> sdist_add_defaults._cs_path_exists(__file__.upper()) - False - """ - if not os.path.exists(fspath): - return False - # make absolute so we always have a directory - abspath = os.path.abspath(fspath) - directory, filename = os.path.split(abspath) - return filename in os.listdir(directory) - - def _add_defaults_standards(self): - standards = [self.READMES, self.distribution.script_name] - for fn in standards: - if isinstance(fn, tuple): - alts = fn - got_it = False - for fn in alts: - if self._cs_path_exists(fn): - got_it = True - self.filelist.append(fn) - break - - if not got_it: - self.warn("standard file not found: should have one of " + - ', '.join(alts)) - else: - if self._cs_path_exists(fn): - self.filelist.append(fn) - else: - self.warn("standard file '%s' not found" % fn) - - def _add_defaults_optional(self): - optional = ['test/test*.py', 'setup.cfg'] - for pattern in optional: - files = filter(os.path.isfile, glob(pattern)) - self.filelist.extend(files) - - def _add_defaults_python(self): - # build_py is used to get: - # - python modules - # - files defined in package_data - build_py = self.get_finalized_command('build_py') - - # getting python files - if self.distribution.has_pure_modules(): - self.filelist.extend(build_py.get_source_files()) - - # getting package_data files - # (computed in build_py.data_files by build_py.finalize_options) - for pkg, src_dir, build_dir, filenames in build_py.data_files: - for filename in filenames: - self.filelist.append(os.path.join(src_dir, filename)) - - def _add_defaults_data_files(self): - # getting distribution.data_files - if self.distribution.has_data_files(): - for item in self.distribution.data_files: - if isinstance(item, str): - # plain file - item = convert_path(item) - if os.path.isfile(item): - self.filelist.append(item) - else: - # a (dirname, filenames) tuple - dirname, filenames = item - for f in filenames: - f = convert_path(f) - if os.path.isfile(f): - self.filelist.append(f) - - def _add_defaults_ext(self): - if self.distribution.has_ext_modules(): - build_ext = self.get_finalized_command('build_ext') - self.filelist.extend(build_ext.get_source_files()) - - def _add_defaults_c_libs(self): - if self.distribution.has_c_libraries(): - build_clib = self.get_finalized_command('build_clib') - self.filelist.extend(build_clib.get_source_files()) - - def _add_defaults_scripts(self): - if self.distribution.has_scripts(): - build_scripts = self.get_finalized_command('build_scripts') - self.filelist.extend(build_scripts.get_source_files()) - - -if hasattr(sdist.sdist, '_add_defaults_standards'): - # disable the functionality already available upstream - class sdist_add_defaults: - pass diff --git a/.venv/lib/python3.8/site-packages/setuptools/command/register.py b/.venv/lib/python3.8/site-packages/setuptools/command/register.py deleted file mode 100644 index b8266b9..0000000 --- a/.venv/lib/python3.8/site-packages/setuptools/command/register.py +++ /dev/null @@ -1,18 +0,0 @@ -from distutils import log -import distutils.command.register as orig - -from setuptools.errors import RemovedCommandError - - -class register(orig.register): - """Formerly used to register packages on PyPI.""" - - def run(self): - msg = ( - "The register command has been removed, use twine to upload " - + "instead (https://pypi.org/p/twine)" - ) - - self.announce("ERROR: " + msg, log.ERROR) - - raise RemovedCommandError(msg) diff --git a/.venv/lib/python3.8/site-packages/setuptools/command/rotate.py b/.venv/lib/python3.8/site-packages/setuptools/command/rotate.py deleted file mode 100644 index b89353f..0000000 --- a/.venv/lib/python3.8/site-packages/setuptools/command/rotate.py +++ /dev/null @@ -1,66 +0,0 @@ -from distutils.util import convert_path -from distutils import log -from distutils.errors import DistutilsOptionError -import os -import shutil - -from setuptools.extern import six - -from setuptools import Command - - -class rotate(Command): - """Delete older distributions""" - - description = "delete older distributions, keeping N newest files" - user_options = [ - ('match=', 'm', "patterns to match (required)"), - ('dist-dir=', 'd', "directory where the distributions are"), - ('keep=', 'k', "number of matching distributions to keep"), - ] - - boolean_options = [] - - def initialize_options(self): - self.match = None - self.dist_dir = None - self.keep = None - - def finalize_options(self): - if self.match is None: - raise DistutilsOptionError( - "Must specify one or more (comma-separated) match patterns " - "(e.g. '.zip' or '.egg')" - ) - if self.keep is None: - raise DistutilsOptionError("Must specify number of files to keep") - try: - self.keep = int(self.keep) - except ValueError: - raise DistutilsOptionError("--keep must be an integer") - if isinstance(self.match, six.string_types): - self.match = [ - convert_path(p.strip()) for p in self.match.split(',') - ] - self.set_undefined_options('bdist', ('dist_dir', 'dist_dir')) - - def run(self): - self.run_command("egg_info") - from glob import glob - - for pattern in self.match: - pattern = self.distribution.get_name() + '*' + pattern - files = glob(os.path.join(self.dist_dir, pattern)) - files = [(os.path.getmtime(f), f) for f in files] - files.sort() - files.reverse() - - log.info("%d file(s) matching %s", len(files), pattern) - files = files[self.keep:] - for (t, f) in files: - log.info("Deleting %s", f) - if not self.dry_run: - if os.path.isdir(f): - shutil.rmtree(f) - else: - os.unlink(f) diff --git a/.venv/lib/python3.8/site-packages/setuptools/command/saveopts.py b/.venv/lib/python3.8/site-packages/setuptools/command/saveopts.py deleted file mode 100644 index 611cec5..0000000 --- a/.venv/lib/python3.8/site-packages/setuptools/command/saveopts.py +++ /dev/null @@ -1,22 +0,0 @@ -from setuptools.command.setopt import edit_config, option_base - - -class saveopts(option_base): - """Save command-line options to a file""" - - description = "save supplied options to setup.cfg or other config file" - - def run(self): - dist = self.distribution - settings = {} - - for cmd in dist.command_options: - - if cmd == 'saveopts': - continue # don't save our own options! - - for opt, (src, val) in dist.get_option_dict(cmd).items(): - if src == "command line": - settings.setdefault(cmd, {})[opt] = val - - edit_config(self.filename, settings, self.dry_run) diff --git a/.venv/lib/python3.8/site-packages/setuptools/command/sdist.py b/.venv/lib/python3.8/site-packages/setuptools/command/sdist.py deleted file mode 100644 index a851453..0000000 --- a/.venv/lib/python3.8/site-packages/setuptools/command/sdist.py +++ /dev/null @@ -1,252 +0,0 @@ -from distutils import log -import distutils.command.sdist as orig -import os -import sys -import io -import contextlib - -from setuptools.extern import six, ordered_set - -from .py36compat import sdist_add_defaults - -import pkg_resources - -_default_revctrl = list - - -def walk_revctrl(dirname=''): - """Find all files under revision control""" - for ep in pkg_resources.iter_entry_points('setuptools.file_finders'): - for item in ep.load()(dirname): - yield item - - -class sdist(sdist_add_defaults, orig.sdist): - """Smart sdist that finds anything supported by revision control""" - - user_options = [ - ('formats=', None, - "formats for source distribution (comma-separated list)"), - ('keep-temp', 'k', - "keep the distribution tree around after creating " + - "archive file(s)"), - ('dist-dir=', 'd', - "directory to put the source distribution archive(s) in " - "[default: dist]"), - ] - - negative_opt = {} - - README_EXTENSIONS = ['', '.rst', '.txt', '.md'] - READMES = tuple('README{0}'.format(ext) for ext in README_EXTENSIONS) - - def run(self): - self.run_command('egg_info') - ei_cmd = self.get_finalized_command('egg_info') - self.filelist = ei_cmd.filelist - self.filelist.append(os.path.join(ei_cmd.egg_info, 'SOURCES.txt')) - self.check_readme() - - # Run sub commands - for cmd_name in self.get_sub_commands(): - self.run_command(cmd_name) - - self.make_distribution() - - dist_files = getattr(self.distribution, 'dist_files', []) - for file in self.archive_files: - data = ('sdist', '', file) - if data not in dist_files: - dist_files.append(data) - - def initialize_options(self): - orig.sdist.initialize_options(self) - - self._default_to_gztar() - - def _default_to_gztar(self): - # only needed on Python prior to 3.6. - if sys.version_info >= (3, 6, 0, 'beta', 1): - return - self.formats = ['gztar'] - - def make_distribution(self): - """ - Workaround for #516 - """ - with self._remove_os_link(): - orig.sdist.make_distribution(self) - - @staticmethod - @contextlib.contextmanager - def _remove_os_link(): - """ - In a context, remove and restore os.link if it exists - """ - - class NoValue: - pass - - orig_val = getattr(os, 'link', NoValue) - try: - del os.link - except Exception: - pass - try: - yield - finally: - if orig_val is not NoValue: - setattr(os, 'link', orig_val) - - def __read_template_hack(self): - # This grody hack closes the template file (MANIFEST.in) if an - # exception occurs during read_template. - # Doing so prevents an error when easy_install attempts to delete the - # file. - try: - orig.sdist.read_template(self) - except Exception: - _, _, tb = sys.exc_info() - tb.tb_next.tb_frame.f_locals['template'].close() - raise - - # Beginning with Python 2.7.2, 3.1.4, and 3.2.1, this leaky file handle - # has been fixed, so only override the method if we're using an earlier - # Python. - has_leaky_handle = ( - sys.version_info < (2, 7, 2) - or (3, 0) <= sys.version_info < (3, 1, 4) - or (3, 2) <= sys.version_info < (3, 2, 1) - ) - if has_leaky_handle: - read_template = __read_template_hack - - def _add_defaults_optional(self): - if six.PY2: - sdist_add_defaults._add_defaults_optional(self) - else: - super()._add_defaults_optional() - if os.path.isfile('pyproject.toml'): - self.filelist.append('pyproject.toml') - - def _add_defaults_python(self): - """getting python files""" - if self.distribution.has_pure_modules(): - build_py = self.get_finalized_command('build_py') - self.filelist.extend(build_py.get_source_files()) - self._add_data_files(self._safe_data_files(build_py)) - - def _safe_data_files(self, build_py): - """ - Extracting data_files from build_py is known to cause - infinite recursion errors when `include_package_data` - is enabled, so suppress it in that case. - """ - if self.distribution.include_package_data: - return () - return build_py.data_files - - def _add_data_files(self, data_files): - """ - Add data files as found in build_py.data_files. - """ - self.filelist.extend( - os.path.join(src_dir, name) - for _, src_dir, _, filenames in data_files - for name in filenames - ) - - def _add_defaults_data_files(self): - try: - if six.PY2: - sdist_add_defaults._add_defaults_data_files(self) - else: - super()._add_defaults_data_files() - except TypeError: - log.warn("data_files contains unexpected objects") - - def check_readme(self): - for f in self.READMES: - if os.path.exists(f): - return - else: - self.warn( - "standard file not found: should have one of " + - ', '.join(self.READMES) - ) - - def make_release_tree(self, base_dir, files): - orig.sdist.make_release_tree(self, base_dir, files) - - # Save any egg_info command line options used to create this sdist - dest = os.path.join(base_dir, 'setup.cfg') - if hasattr(os, 'link') and os.path.exists(dest): - # unlink and re-copy, since it might be hard-linked, and - # we don't want to change the source version - os.unlink(dest) - self.copy_file('setup.cfg', dest) - - self.get_finalized_command('egg_info').save_version_info(dest) - - def _manifest_is_not_generated(self): - # check for special comment used in 2.7.1 and higher - if not os.path.isfile(self.manifest): - return False - - with io.open(self.manifest, 'rb') as fp: - first_line = fp.readline() - return (first_line != - '# file GENERATED by distutils, do NOT edit\n'.encode()) - - def read_manifest(self): - """Read the manifest file (named by 'self.manifest') and use it to - fill in 'self.filelist', the list of files to include in the source - distribution. - """ - log.info("reading manifest file '%s'", self.manifest) - manifest = open(self.manifest, 'rb') - for line in manifest: - # The manifest must contain UTF-8. See #303. - if six.PY3: - try: - line = line.decode('UTF-8') - except UnicodeDecodeError: - log.warn("%r not UTF-8 decodable -- skipping" % line) - continue - # ignore comments and blank lines - line = line.strip() - if line.startswith('#') or not line: - continue - self.filelist.append(line) - manifest.close() - - def check_license(self): - """Checks if license_file' or 'license_files' is configured and adds any - valid paths to 'self.filelist'. - """ - - files = ordered_set.OrderedSet() - - opts = self.distribution.get_option_dict('metadata') - - # ignore the source of the value - _, license_file = opts.get('license_file', (None, None)) - - if license_file is None: - log.debug("'license_file' option was not specified") - else: - files.add(license_file) - - try: - files.update(self.distribution.metadata.license_files) - except TypeError: - log.warn("warning: 'license_files' option is malformed") - - for f in files: - if not os.path.exists(f): - log.warn( - "warning: Failed to find the configured license file '%s'", - f) - files.remove(f) - - self.filelist.extend(files) diff --git a/.venv/lib/python3.8/site-packages/setuptools/command/setopt.py b/.venv/lib/python3.8/site-packages/setuptools/command/setopt.py deleted file mode 100644 index 7e57cc0..0000000 --- a/.venv/lib/python3.8/site-packages/setuptools/command/setopt.py +++ /dev/null @@ -1,149 +0,0 @@ -from distutils.util import convert_path -from distutils import log -from distutils.errors import DistutilsOptionError -import distutils -import os - -from setuptools.extern.six.moves import configparser - -from setuptools import Command - -__all__ = ['config_file', 'edit_config', 'option_base', 'setopt'] - - -def config_file(kind="local"): - """Get the filename of the distutils, local, global, or per-user config - - `kind` must be one of "local", "global", or "user" - """ - if kind == 'local': - return 'setup.cfg' - if kind == 'global': - return os.path.join( - os.path.dirname(distutils.__file__), 'distutils.cfg' - ) - if kind == 'user': - dot = os.name == 'posix' and '.' or '' - return os.path.expanduser(convert_path("~/%spydistutils.cfg" % dot)) - raise ValueError( - "config_file() type must be 'local', 'global', or 'user'", kind - ) - - -def edit_config(filename, settings, dry_run=False): - """Edit a configuration file to include `settings` - - `settings` is a dictionary of dictionaries or ``None`` values, keyed by - command/section name. A ``None`` value means to delete the entire section, - while a dictionary lists settings to be changed or deleted in that section. - A setting of ``None`` means to delete that setting. - """ - log.debug("Reading configuration from %s", filename) - opts = configparser.RawConfigParser() - opts.read([filename]) - for section, options in settings.items(): - if options is None: - log.info("Deleting section [%s] from %s", section, filename) - opts.remove_section(section) - else: - if not opts.has_section(section): - log.debug("Adding new section [%s] to %s", section, filename) - opts.add_section(section) - for option, value in options.items(): - if value is None: - log.debug( - "Deleting %s.%s from %s", - section, option, filename - ) - opts.remove_option(section, option) - if not opts.options(section): - log.info("Deleting empty [%s] section from %s", - section, filename) - opts.remove_section(section) - else: - log.debug( - "Setting %s.%s to %r in %s", - section, option, value, filename - ) - opts.set(section, option, value) - - log.info("Writing %s", filename) - if not dry_run: - with open(filename, 'w') as f: - opts.write(f) - - -class option_base(Command): - """Abstract base class for commands that mess with config files""" - - user_options = [ - ('global-config', 'g', - "save options to the site-wide distutils.cfg file"), - ('user-config', 'u', - "save options to the current user's pydistutils.cfg file"), - ('filename=', 'f', - "configuration file to use (default=setup.cfg)"), - ] - - boolean_options = [ - 'global-config', 'user-config', - ] - - def initialize_options(self): - self.global_config = None - self.user_config = None - self.filename = None - - def finalize_options(self): - filenames = [] - if self.global_config: - filenames.append(config_file('global')) - if self.user_config: - filenames.append(config_file('user')) - if self.filename is not None: - filenames.append(self.filename) - if not filenames: - filenames.append(config_file('local')) - if len(filenames) > 1: - raise DistutilsOptionError( - "Must specify only one configuration file option", - filenames - ) - self.filename, = filenames - - -class setopt(option_base): - """Save command-line options to a file""" - - description = "set an option in setup.cfg or another config file" - - user_options = [ - ('command=', 'c', 'command to set an option for'), - ('option=', 'o', 'option to set'), - ('set-value=', 's', 'value of the option'), - ('remove', 'r', 'remove (unset) the value'), - ] + option_base.user_options - - boolean_options = option_base.boolean_options + ['remove'] - - def initialize_options(self): - option_base.initialize_options(self) - self.command = None - self.option = None - self.set_value = None - self.remove = None - - def finalize_options(self): - option_base.finalize_options(self) - if self.command is None or self.option is None: - raise DistutilsOptionError("Must specify --command *and* --option") - if self.set_value is None and not self.remove: - raise DistutilsOptionError("Must specify --set-value or --remove") - - def run(self): - edit_config( - self.filename, { - self.command: {self.option.replace('-', '_'): self.set_value} - }, - self.dry_run - ) diff --git a/.venv/lib/python3.8/site-packages/setuptools/command/test.py b/.venv/lib/python3.8/site-packages/setuptools/command/test.py deleted file mode 100644 index c148b38..0000000 --- a/.venv/lib/python3.8/site-packages/setuptools/command/test.py +++ /dev/null @@ -1,279 +0,0 @@ -import os -import operator -import sys -import contextlib -import itertools -import unittest -from distutils.errors import DistutilsError, DistutilsOptionError -from distutils import log -from unittest import TestLoader - -from setuptools.extern import six -from setuptools.extern.six.moves import map, filter - -from pkg_resources import (resource_listdir, resource_exists, normalize_path, - working_set, _namespace_packages, evaluate_marker, - add_activation_listener, require, EntryPoint) -from setuptools import Command -from .build_py import _unique_everseen - -__metaclass__ = type - - -class ScanningLoader(TestLoader): - - def __init__(self): - TestLoader.__init__(self) - self._visited = set() - - def loadTestsFromModule(self, module, pattern=None): - """Return a suite of all tests cases contained in the given module - - If the module is a package, load tests from all the modules in it. - If the module has an ``additional_tests`` function, call it and add - the return value to the tests. - """ - if module in self._visited: - return None - self._visited.add(module) - - tests = [] - tests.append(TestLoader.loadTestsFromModule(self, module)) - - if hasattr(module, "additional_tests"): - tests.append(module.additional_tests()) - - if hasattr(module, '__path__'): - for file in resource_listdir(module.__name__, ''): - if file.endswith('.py') and file != '__init__.py': - submodule = module.__name__ + '.' + file[:-3] - else: - if resource_exists(module.__name__, file + '/__init__.py'): - submodule = module.__name__ + '.' + file - else: - continue - tests.append(self.loadTestsFromName(submodule)) - - if len(tests) != 1: - return self.suiteClass(tests) - else: - return tests[0] # don't create a nested suite for only one return - - -# adapted from jaraco.classes.properties:NonDataProperty -class NonDataProperty: - def __init__(self, fget): - self.fget = fget - - def __get__(self, obj, objtype=None): - if obj is None: - return self - return self.fget(obj) - - -class test(Command): - """Command to run unit tests after in-place build""" - - description = "run unit tests after in-place build (deprecated)" - - user_options = [ - ('test-module=', 'm', "Run 'test_suite' in specified module"), - ('test-suite=', 's', - "Run single test, case or suite (e.g. 'module.test_suite')"), - ('test-runner=', 'r', "Test runner to use"), - ] - - def initialize_options(self): - self.test_suite = None - self.test_module = None - self.test_loader = None - self.test_runner = None - - def finalize_options(self): - - if self.test_suite and self.test_module: - msg = "You may specify a module or a suite, but not both" - raise DistutilsOptionError(msg) - - if self.test_suite is None: - if self.test_module is None: - self.test_suite = self.distribution.test_suite - else: - self.test_suite = self.test_module + ".test_suite" - - if self.test_loader is None: - self.test_loader = getattr(self.distribution, 'test_loader', None) - if self.test_loader is None: - self.test_loader = "setuptools.command.test:ScanningLoader" - if self.test_runner is None: - self.test_runner = getattr(self.distribution, 'test_runner', None) - - @NonDataProperty - def test_args(self): - return list(self._test_args()) - - def _test_args(self): - if not self.test_suite and sys.version_info >= (2, 7): - yield 'discover' - if self.verbose: - yield '--verbose' - if self.test_suite: - yield self.test_suite - - def with_project_on_sys_path(self, func): - """ - Backward compatibility for project_on_sys_path context. - """ - with self.project_on_sys_path(): - func() - - @contextlib.contextmanager - def project_on_sys_path(self, include_dists=[]): - with_2to3 = six.PY3 and getattr(self.distribution, 'use_2to3', False) - - if with_2to3: - # If we run 2to3 we can not do this inplace: - - # Ensure metadata is up-to-date - self.reinitialize_command('build_py', inplace=0) - self.run_command('build_py') - bpy_cmd = self.get_finalized_command("build_py") - build_path = normalize_path(bpy_cmd.build_lib) - - # Build extensions - self.reinitialize_command('egg_info', egg_base=build_path) - self.run_command('egg_info') - - self.reinitialize_command('build_ext', inplace=0) - self.run_command('build_ext') - else: - # Without 2to3 inplace works fine: - self.run_command('egg_info') - - # Build extensions in-place - self.reinitialize_command('build_ext', inplace=1) - self.run_command('build_ext') - - ei_cmd = self.get_finalized_command("egg_info") - - old_path = sys.path[:] - old_modules = sys.modules.copy() - - try: - project_path = normalize_path(ei_cmd.egg_base) - sys.path.insert(0, project_path) - working_set.__init__() - add_activation_listener(lambda dist: dist.activate()) - require('%s==%s' % (ei_cmd.egg_name, ei_cmd.egg_version)) - with self.paths_on_pythonpath([project_path]): - yield - finally: - sys.path[:] = old_path - sys.modules.clear() - sys.modules.update(old_modules) - working_set.__init__() - - @staticmethod - @contextlib.contextmanager - def paths_on_pythonpath(paths): - """ - Add the indicated paths to the head of the PYTHONPATH environment - variable so that subprocesses will also see the packages at - these paths. - - Do this in a context that restores the value on exit. - """ - nothing = object() - orig_pythonpath = os.environ.get('PYTHONPATH', nothing) - current_pythonpath = os.environ.get('PYTHONPATH', '') - try: - prefix = os.pathsep.join(_unique_everseen(paths)) - to_join = filter(None, [prefix, current_pythonpath]) - new_path = os.pathsep.join(to_join) - if new_path: - os.environ['PYTHONPATH'] = new_path - yield - finally: - if orig_pythonpath is nothing: - os.environ.pop('PYTHONPATH', None) - else: - os.environ['PYTHONPATH'] = orig_pythonpath - - @staticmethod - def install_dists(dist): - """ - Install the requirements indicated by self.distribution and - return an iterable of the dists that were built. - """ - ir_d = dist.fetch_build_eggs(dist.install_requires) - tr_d = dist.fetch_build_eggs(dist.tests_require or []) - er_d = dist.fetch_build_eggs( - v for k, v in dist.extras_require.items() - if k.startswith(':') and evaluate_marker(k[1:]) - ) - return itertools.chain(ir_d, tr_d, er_d) - - def run(self): - self.announce( - "WARNING: Testing via this command is deprecated and will be " - "removed in a future version. Users looking for a generic test " - "entry point independent of test runner are encouraged to use " - "tox.", - log.WARN, - ) - - installed_dists = self.install_dists(self.distribution) - - cmd = ' '.join(self._argv) - if self.dry_run: - self.announce('skipping "%s" (dry run)' % cmd) - return - - self.announce('running "%s"' % cmd) - - paths = map(operator.attrgetter('location'), installed_dists) - with self.paths_on_pythonpath(paths): - with self.project_on_sys_path(): - self.run_tests() - - def run_tests(self): - # Purge modules under test from sys.modules. The test loader will - # re-import them from the build location. Required when 2to3 is used - # with namespace packages. - if six.PY3 and getattr(self.distribution, 'use_2to3', False): - module = self.test_suite.split('.')[0] - if module in _namespace_packages: - del_modules = [] - if module in sys.modules: - del_modules.append(module) - module += '.' - for name in sys.modules: - if name.startswith(module): - del_modules.append(name) - list(map(sys.modules.__delitem__, del_modules)) - - test = unittest.main( - None, None, self._argv, - testLoader=self._resolve_as_ep(self.test_loader), - testRunner=self._resolve_as_ep(self.test_runner), - exit=False, - ) - if not test.result.wasSuccessful(): - msg = 'Test failed: %s' % test.result - self.announce(msg, log.ERROR) - raise DistutilsError(msg) - - @property - def _argv(self): - return ['unittest'] + self.test_args - - @staticmethod - def _resolve_as_ep(val): - """ - Load the indicated attribute value, called, as a as if it were - specified as an entry point. - """ - if val is None: - return - parsed = EntryPoint.parse("x=" + val) - return parsed.resolve()() diff --git a/.venv/lib/python3.8/site-packages/setuptools/command/upload.py b/.venv/lib/python3.8/site-packages/setuptools/command/upload.py deleted file mode 100644 index ec7f81e..0000000 --- a/.venv/lib/python3.8/site-packages/setuptools/command/upload.py +++ /dev/null @@ -1,17 +0,0 @@ -from distutils import log -from distutils.command import upload as orig - -from setuptools.errors import RemovedCommandError - - -class upload(orig.upload): - """Formerly used to upload packages to PyPI.""" - - def run(self): - msg = ( - "The upload command has been removed, use twine to upload " - + "instead (https://pypi.org/p/twine)" - ) - - self.announce("ERROR: " + msg, log.ERROR) - raise RemovedCommandError(msg) diff --git a/.venv/lib/python3.8/site-packages/setuptools/command/upload_docs.py b/.venv/lib/python3.8/site-packages/setuptools/command/upload_docs.py deleted file mode 100644 index 07aa564..0000000 --- a/.venv/lib/python3.8/site-packages/setuptools/command/upload_docs.py +++ /dev/null @@ -1,206 +0,0 @@ -# -*- coding: utf-8 -*- -"""upload_docs - -Implements a Distutils 'upload_docs' subcommand (upload documentation to -PyPI's pythonhosted.org). -""" - -from base64 import standard_b64encode -from distutils import log -from distutils.errors import DistutilsOptionError -import os -import socket -import zipfile -import tempfile -import shutil -import itertools -import functools - -from setuptools.extern import six -from setuptools.extern.six.moves import http_client, urllib - -from pkg_resources import iter_entry_points -from .upload import upload - - -def _encode(s): - errors = 'surrogateescape' if six.PY3 else 'strict' - return s.encode('utf-8', errors) - - -class upload_docs(upload): - # override the default repository as upload_docs isn't - # supported by Warehouse (and won't be). - DEFAULT_REPOSITORY = 'https://pypi.python.org/pypi/' - - description = 'Upload documentation to PyPI' - - user_options = [ - ('repository=', 'r', - "url of repository [default: %s]" % upload.DEFAULT_REPOSITORY), - ('show-response', None, - 'display full response text from server'), - ('upload-dir=', None, 'directory to upload'), - ] - boolean_options = upload.boolean_options - - def has_sphinx(self): - if self.upload_dir is None: - for ep in iter_entry_points('distutils.commands', 'build_sphinx'): - return True - - sub_commands = [('build_sphinx', has_sphinx)] - - def initialize_options(self): - upload.initialize_options(self) - self.upload_dir = None - self.target_dir = None - - def finalize_options(self): - upload.finalize_options(self) - if self.upload_dir is None: - if self.has_sphinx(): - build_sphinx = self.get_finalized_command('build_sphinx') - self.target_dir = build_sphinx.builder_target_dir - else: - build = self.get_finalized_command('build') - self.target_dir = os.path.join(build.build_base, 'docs') - else: - self.ensure_dirname('upload_dir') - self.target_dir = self.upload_dir - if 'pypi.python.org' in self.repository: - log.warn("Upload_docs command is deprecated. Use RTD instead.") - self.announce('Using upload directory %s' % self.target_dir) - - def create_zipfile(self, filename): - zip_file = zipfile.ZipFile(filename, "w") - try: - self.mkpath(self.target_dir) # just in case - for root, dirs, files in os.walk(self.target_dir): - if root == self.target_dir and not files: - tmpl = "no files found in upload directory '%s'" - raise DistutilsOptionError(tmpl % self.target_dir) - for name in files: - full = os.path.join(root, name) - relative = root[len(self.target_dir):].lstrip(os.path.sep) - dest = os.path.join(relative, name) - zip_file.write(full, dest) - finally: - zip_file.close() - - def run(self): - # Run sub commands - for cmd_name in self.get_sub_commands(): - self.run_command(cmd_name) - - tmp_dir = tempfile.mkdtemp() - name = self.distribution.metadata.get_name() - zip_file = os.path.join(tmp_dir, "%s.zip" % name) - try: - self.create_zipfile(zip_file) - self.upload_file(zip_file) - finally: - shutil.rmtree(tmp_dir) - - @staticmethod - def _build_part(item, sep_boundary): - key, values = item - title = '\nContent-Disposition: form-data; name="%s"' % key - # handle multiple entries for the same name - if not isinstance(values, list): - values = [values] - for value in values: - if isinstance(value, tuple): - title += '; filename="%s"' % value[0] - value = value[1] - else: - value = _encode(value) - yield sep_boundary - yield _encode(title) - yield b"\n\n" - yield value - if value and value[-1:] == b'\r': - yield b'\n' # write an extra newline (lurve Macs) - - @classmethod - def _build_multipart(cls, data): - """ - Build up the MIME payload for the POST data - """ - boundary = b'--------------GHSKFJDLGDS7543FJKLFHRE75642756743254' - sep_boundary = b'\n--' + boundary - end_boundary = sep_boundary + b'--' - end_items = end_boundary, b"\n", - builder = functools.partial( - cls._build_part, - sep_boundary=sep_boundary, - ) - part_groups = map(builder, data.items()) - parts = itertools.chain.from_iterable(part_groups) - body_items = itertools.chain(parts, end_items) - content_type = 'multipart/form-data; boundary=%s' % boundary.decode('ascii') - return b''.join(body_items), content_type - - def upload_file(self, filename): - with open(filename, 'rb') as f: - content = f.read() - meta = self.distribution.metadata - data = { - ':action': 'doc_upload', - 'name': meta.get_name(), - 'content': (os.path.basename(filename), content), - } - # set up the authentication - credentials = _encode(self.username + ':' + self.password) - credentials = standard_b64encode(credentials) - if six.PY3: - credentials = credentials.decode('ascii') - auth = "Basic " + credentials - - body, ct = self._build_multipart(data) - - msg = "Submitting documentation to %s" % (self.repository) - self.announce(msg, log.INFO) - - # build the Request - # We can't use urllib2 since we need to send the Basic - # auth right with the first request - schema, netloc, url, params, query, fragments = \ - urllib.parse.urlparse(self.repository) - assert not params and not query and not fragments - if schema == 'http': - conn = http_client.HTTPConnection(netloc) - elif schema == 'https': - conn = http_client.HTTPSConnection(netloc) - else: - raise AssertionError("unsupported schema " + schema) - - data = '' - try: - conn.connect() - conn.putrequest("POST", url) - content_type = ct - conn.putheader('Content-type', content_type) - conn.putheader('Content-length', str(len(body))) - conn.putheader('Authorization', auth) - conn.endheaders() - conn.send(body) - except socket.error as e: - self.announce(str(e), log.ERROR) - return - - r = conn.getresponse() - if r.status == 200: - msg = 'Server response (%s): %s' % (r.status, r.reason) - self.announce(msg, log.INFO) - elif r.status == 301: - location = r.getheader('Location') - if location is None: - location = 'https://pythonhosted.org/%s/' % meta.get_name() - msg = 'Upload successful. Visit %s' % location - self.announce(msg, log.INFO) - else: - msg = 'Upload failed (%s): %s' % (r.status, r.reason) - self.announce(msg, log.ERROR) - if self.show_response: - print('-' * 75, r.read(), '-' * 75) diff --git a/.venv/lib/python3.8/site-packages/setuptools/config.py b/.venv/lib/python3.8/site-packages/setuptools/config.py deleted file mode 100644 index 9b9a0c4..0000000 --- a/.venv/lib/python3.8/site-packages/setuptools/config.py +++ /dev/null @@ -1,659 +0,0 @@ -from __future__ import absolute_import, unicode_literals -import io -import os -import sys - -import warnings -import functools -from collections import defaultdict -from functools import partial -from functools import wraps -from importlib import import_module - -from distutils.errors import DistutilsOptionError, DistutilsFileError -from setuptools.extern.packaging.version import LegacyVersion, parse -from setuptools.extern.packaging.specifiers import SpecifierSet -from setuptools.extern.six import string_types, PY3 - - -__metaclass__ = type - - -def read_configuration( - filepath, find_others=False, ignore_option_errors=False): - """Read given configuration file and returns options from it as a dict. - - :param str|unicode filepath: Path to configuration file - to get options from. - - :param bool find_others: Whether to search for other configuration files - which could be on in various places. - - :param bool ignore_option_errors: Whether to silently ignore - options, values of which could not be resolved (e.g. due to exceptions - in directives such as file:, attr:, etc.). - If False exceptions are propagated as expected. - - :rtype: dict - """ - from setuptools.dist import Distribution, _Distribution - - filepath = os.path.abspath(filepath) - - if not os.path.isfile(filepath): - raise DistutilsFileError( - 'Configuration file %s does not exist.' % filepath) - - current_directory = os.getcwd() - os.chdir(os.path.dirname(filepath)) - - try: - dist = Distribution() - - filenames = dist.find_config_files() if find_others else [] - if filepath not in filenames: - filenames.append(filepath) - - _Distribution.parse_config_files(dist, filenames=filenames) - - handlers = parse_configuration( - dist, dist.command_options, - ignore_option_errors=ignore_option_errors) - - finally: - os.chdir(current_directory) - - return configuration_to_dict(handlers) - - -def _get_option(target_obj, key): - """ - Given a target object and option key, get that option from - the target object, either through a get_{key} method or - from an attribute directly. - """ - getter_name = 'get_{key}'.format(**locals()) - by_attribute = functools.partial(getattr, target_obj, key) - getter = getattr(target_obj, getter_name, by_attribute) - return getter() - - -def configuration_to_dict(handlers): - """Returns configuration data gathered by given handlers as a dict. - - :param list[ConfigHandler] handlers: Handlers list, - usually from parse_configuration() - - :rtype: dict - """ - config_dict = defaultdict(dict) - - for handler in handlers: - for option in handler.set_options: - value = _get_option(handler.target_obj, option) - config_dict[handler.section_prefix][option] = value - - return config_dict - - -def parse_configuration( - distribution, command_options, ignore_option_errors=False): - """Performs additional parsing of configuration options - for a distribution. - - Returns a list of used option handlers. - - :param Distribution distribution: - :param dict command_options: - :param bool ignore_option_errors: Whether to silently ignore - options, values of which could not be resolved (e.g. due to exceptions - in directives such as file:, attr:, etc.). - If False exceptions are propagated as expected. - :rtype: list - """ - options = ConfigOptionsHandler( - distribution, command_options, ignore_option_errors) - options.parse() - - meta = ConfigMetadataHandler( - distribution.metadata, command_options, ignore_option_errors, - distribution.package_dir) - meta.parse() - - return meta, options - - -class ConfigHandler: - """Handles metadata supplied in configuration files.""" - - section_prefix = None - """Prefix for config sections handled by this handler. - Must be provided by class heirs. - - """ - - aliases = {} - """Options aliases. - For compatibility with various packages. E.g.: d2to1 and pbr. - Note: `-` in keys is replaced with `_` by config parser. - - """ - - def __init__(self, target_obj, options, ignore_option_errors=False): - sections = {} - - section_prefix = self.section_prefix - for section_name, section_options in options.items(): - if not section_name.startswith(section_prefix): - continue - - section_name = section_name.replace(section_prefix, '').strip('.') - sections[section_name] = section_options - - self.ignore_option_errors = ignore_option_errors - self.target_obj = target_obj - self.sections = sections - self.set_options = [] - - @property - def parsers(self): - """Metadata item name to parser function mapping.""" - raise NotImplementedError( - '%s must provide .parsers property' % self.__class__.__name__) - - def __setitem__(self, option_name, value): - unknown = tuple() - target_obj = self.target_obj - - # Translate alias into real name. - option_name = self.aliases.get(option_name, option_name) - - current_value = getattr(target_obj, option_name, unknown) - - if current_value is unknown: - raise KeyError(option_name) - - if current_value: - # Already inhabited. Skipping. - return - - skip_option = False - parser = self.parsers.get(option_name) - if parser: - try: - value = parser(value) - - except Exception: - skip_option = True - if not self.ignore_option_errors: - raise - - if skip_option: - return - - setter = getattr(target_obj, 'set_%s' % option_name, None) - if setter is None: - setattr(target_obj, option_name, value) - else: - setter(value) - - self.set_options.append(option_name) - - @classmethod - def _parse_list(cls, value, separator=','): - """Represents value as a list. - - Value is split either by separator (defaults to comma) or by lines. - - :param value: - :param separator: List items separator character. - :rtype: list - """ - if isinstance(value, list): # _get_parser_compound case - return value - - if '\n' in value: - value = value.splitlines() - else: - value = value.split(separator) - - return [chunk.strip() for chunk in value if chunk.strip()] - - @classmethod - def _parse_dict(cls, value): - """Represents value as a dict. - - :param value: - :rtype: dict - """ - separator = '=' - result = {} - for line in cls._parse_list(value): - key, sep, val = line.partition(separator) - if sep != separator: - raise DistutilsOptionError( - 'Unable to parse option value to dict: %s' % value) - result[key.strip()] = val.strip() - - return result - - @classmethod - def _parse_bool(cls, value): - """Represents value as boolean. - - :param value: - :rtype: bool - """ - value = value.lower() - return value in ('1', 'true', 'yes') - - @classmethod - def _exclude_files_parser(cls, key): - """Returns a parser function to make sure field inputs - are not files. - - Parses a value after getting the key so error messages are - more informative. - - :param key: - :rtype: callable - """ - def parser(value): - exclude_directive = 'file:' - if value.startswith(exclude_directive): - raise ValueError( - 'Only strings are accepted for the {0} field, ' - 'files are not accepted'.format(key)) - return value - return parser - - @classmethod - def _parse_file(cls, value): - """Represents value as a string, allowing including text - from nearest files using `file:` directive. - - Directive is sandboxed and won't reach anything outside - directory with setup.py. - - Examples: - file: README.rst, CHANGELOG.md, src/file.txt - - :param str value: - :rtype: str - """ - include_directive = 'file:' - - if not isinstance(value, string_types): - return value - - if not value.startswith(include_directive): - return value - - spec = value[len(include_directive):] - filepaths = (os.path.abspath(path.strip()) for path in spec.split(',')) - return '\n'.join( - cls._read_file(path) - for path in filepaths - if (cls._assert_local(path) or True) - and os.path.isfile(path) - ) - - @staticmethod - def _assert_local(filepath): - if not filepath.startswith(os.getcwd()): - raise DistutilsOptionError( - '`file:` directive can not access %s' % filepath) - - @staticmethod - def _read_file(filepath): - with io.open(filepath, encoding='utf-8') as f: - return f.read() - - @classmethod - def _parse_attr(cls, value, package_dir=None): - """Represents value as a module attribute. - - Examples: - attr: package.attr - attr: package.module.attr - - :param str value: - :rtype: str - """ - attr_directive = 'attr:' - if not value.startswith(attr_directive): - return value - - attrs_path = value.replace(attr_directive, '').strip().split('.') - attr_name = attrs_path.pop() - - module_name = '.'.join(attrs_path) - module_name = module_name or '__init__' - - parent_path = os.getcwd() - if package_dir: - if attrs_path[0] in package_dir: - # A custom path was specified for the module we want to import - custom_path = package_dir[attrs_path[0]] - parts = custom_path.rsplit('/', 1) - if len(parts) > 1: - parent_path = os.path.join(os.getcwd(), parts[0]) - module_name = parts[1] - else: - module_name = custom_path - elif '' in package_dir: - # A custom parent directory was specified for all root modules - parent_path = os.path.join(os.getcwd(), package_dir['']) - sys.path.insert(0, parent_path) - try: - module = import_module(module_name) - value = getattr(module, attr_name) - - finally: - sys.path = sys.path[1:] - - return value - - @classmethod - def _get_parser_compound(cls, *parse_methods): - """Returns parser function to represents value as a list. - - Parses a value applying given methods one after another. - - :param parse_methods: - :rtype: callable - """ - def parse(value): - parsed = value - - for method in parse_methods: - parsed = method(parsed) - - return parsed - - return parse - - @classmethod - def _parse_section_to_dict(cls, section_options, values_parser=None): - """Parses section options into a dictionary. - - Optionally applies a given parser to values. - - :param dict section_options: - :param callable values_parser: - :rtype: dict - """ - value = {} - values_parser = values_parser or (lambda val: val) - for key, (_, val) in section_options.items(): - value[key] = values_parser(val) - return value - - def parse_section(self, section_options): - """Parses configuration file section. - - :param dict section_options: - """ - for (name, (_, value)) in section_options.items(): - try: - self[name] = value - - except KeyError: - pass # Keep silent for a new option may appear anytime. - - def parse(self): - """Parses configuration file items from one - or more related sections. - - """ - for section_name, section_options in self.sections.items(): - - method_postfix = '' - if section_name: # [section.option] variant - method_postfix = '_%s' % section_name - - section_parser_method = getattr( - self, - # Dots in section names are translated into dunderscores. - ('parse_section%s' % method_postfix).replace('.', '__'), - None) - - if section_parser_method is None: - raise DistutilsOptionError( - 'Unsupported distribution option section: [%s.%s]' % ( - self.section_prefix, section_name)) - - section_parser_method(section_options) - - def _deprecated_config_handler(self, func, msg, warning_class): - """ this function will wrap around parameters that are deprecated - - :param msg: deprecation message - :param warning_class: class of warning exception to be raised - :param func: function to be wrapped around - """ - @wraps(func) - def config_handler(*args, **kwargs): - warnings.warn(msg, warning_class) - return func(*args, **kwargs) - - return config_handler - - -class ConfigMetadataHandler(ConfigHandler): - - section_prefix = 'metadata' - - aliases = { - 'home_page': 'url', - 'summary': 'description', - 'classifier': 'classifiers', - 'platform': 'platforms', - } - - strict_mode = False - """We need to keep it loose, to be partially compatible with - `pbr` and `d2to1` packages which also uses `metadata` section. - - """ - - def __init__(self, target_obj, options, ignore_option_errors=False, - package_dir=None): - super(ConfigMetadataHandler, self).__init__(target_obj, options, - ignore_option_errors) - self.package_dir = package_dir - - @property - def parsers(self): - """Metadata item name to parser function mapping.""" - parse_list = self._parse_list - parse_file = self._parse_file - parse_dict = self._parse_dict - exclude_files_parser = self._exclude_files_parser - - return { - 'platforms': parse_list, - 'keywords': parse_list, - 'provides': parse_list, - 'requires': self._deprecated_config_handler( - parse_list, - "The requires parameter is deprecated, please use " - "install_requires for runtime dependencies.", - DeprecationWarning), - 'obsoletes': parse_list, - 'classifiers': self._get_parser_compound(parse_file, parse_list), - 'license': exclude_files_parser('license'), - 'license_files': parse_list, - 'description': parse_file, - 'long_description': parse_file, - 'version': self._parse_version, - 'project_urls': parse_dict, - } - - def _parse_version(self, value): - """Parses `version` option value. - - :param value: - :rtype: str - - """ - version = self._parse_file(value) - - if version != value: - version = version.strip() - # Be strict about versions loaded from file because it's easy to - # accidentally include newlines and other unintended content - if isinstance(parse(version), LegacyVersion): - tmpl = ( - 'Version loaded from {value} does not ' - 'comply with PEP 440: {version}' - ) - raise DistutilsOptionError(tmpl.format(**locals())) - - return version - - version = self._parse_attr(value, self.package_dir) - - if callable(version): - version = version() - - if not isinstance(version, string_types): - if hasattr(version, '__iter__'): - version = '.'.join(map(str, version)) - else: - version = '%s' % version - - return version - - -class ConfigOptionsHandler(ConfigHandler): - - section_prefix = 'options' - - @property - def parsers(self): - """Metadata item name to parser function mapping.""" - parse_list = self._parse_list - parse_list_semicolon = partial(self._parse_list, separator=';') - parse_bool = self._parse_bool - parse_dict = self._parse_dict - - return { - 'zip_safe': parse_bool, - 'use_2to3': parse_bool, - 'include_package_data': parse_bool, - 'package_dir': parse_dict, - 'use_2to3_fixers': parse_list, - 'use_2to3_exclude_fixers': parse_list, - 'convert_2to3_doctests': parse_list, - 'scripts': parse_list, - 'eager_resources': parse_list, - 'dependency_links': parse_list, - 'namespace_packages': parse_list, - 'install_requires': parse_list_semicolon, - 'setup_requires': parse_list_semicolon, - 'tests_require': parse_list_semicolon, - 'packages': self._parse_packages, - 'entry_points': self._parse_file, - 'py_modules': parse_list, - 'python_requires': SpecifierSet, - } - - def _parse_packages(self, value): - """Parses `packages` option value. - - :param value: - :rtype: list - """ - find_directives = ['find:', 'find_namespace:'] - trimmed_value = value.strip() - - if trimmed_value not in find_directives: - return self._parse_list(value) - - findns = trimmed_value == find_directives[1] - if findns and not PY3: - raise DistutilsOptionError( - 'find_namespace: directive is unsupported on Python < 3.3') - - # Read function arguments from a dedicated section. - find_kwargs = self.parse_section_packages__find( - self.sections.get('packages.find', {})) - - if findns: - from setuptools import find_namespace_packages as find_packages - else: - from setuptools import find_packages - - return find_packages(**find_kwargs) - - def parse_section_packages__find(self, section_options): - """Parses `packages.find` configuration file section. - - To be used in conjunction with _parse_packages(). - - :param dict section_options: - """ - section_data = self._parse_section_to_dict( - section_options, self._parse_list) - - valid_keys = ['where', 'include', 'exclude'] - - find_kwargs = dict( - [(k, v) for k, v in section_data.items() if k in valid_keys and v]) - - where = find_kwargs.get('where') - if where is not None: - find_kwargs['where'] = where[0] # cast list to single val - - return find_kwargs - - def parse_section_entry_points(self, section_options): - """Parses `entry_points` configuration file section. - - :param dict section_options: - """ - parsed = self._parse_section_to_dict(section_options, self._parse_list) - self['entry_points'] = parsed - - def _parse_package_data(self, section_options): - parsed = self._parse_section_to_dict(section_options, self._parse_list) - - root = parsed.get('*') - if root: - parsed[''] = root - del parsed['*'] - - return parsed - - def parse_section_package_data(self, section_options): - """Parses `package_data` configuration file section. - - :param dict section_options: - """ - self['package_data'] = self._parse_package_data(section_options) - - def parse_section_exclude_package_data(self, section_options): - """Parses `exclude_package_data` configuration file section. - - :param dict section_options: - """ - self['exclude_package_data'] = self._parse_package_data( - section_options) - - def parse_section_extras_require(self, section_options): - """Parses `extras_require` configuration file section. - - :param dict section_options: - """ - parse_list = partial(self._parse_list, separator=';') - self['extras_require'] = self._parse_section_to_dict( - section_options, parse_list) - - def parse_section_data_files(self, section_options): - """Parses `data_files` configuration file section. - - :param dict section_options: - """ - parsed = self._parse_section_to_dict(section_options, self._parse_list) - self['data_files'] = [(k, v) for k, v in parsed.items()] diff --git a/.venv/lib/python3.8/site-packages/setuptools/dep_util.py b/.venv/lib/python3.8/site-packages/setuptools/dep_util.py deleted file mode 100644 index 2931c13..0000000 --- a/.venv/lib/python3.8/site-packages/setuptools/dep_util.py +++ /dev/null @@ -1,23 +0,0 @@ -from distutils.dep_util import newer_group - -# yes, this is was almost entirely copy-pasted from -# 'newer_pairwise()', this is just another convenience -# function. -def newer_pairwise_group(sources_groups, targets): - """Walk both arguments in parallel, testing if each source group is newer - than its corresponding target. Returns a pair of lists (sources_groups, - targets) where sources is newer than target, according to the semantics - of 'newer_group()'. - """ - if len(sources_groups) != len(targets): - raise ValueError("'sources_group' and 'targets' must be the same length") - - # build a pair of lists (sources_groups, targets) where source is newer - n_sources = [] - n_targets = [] - for i in range(len(sources_groups)): - if newer_group(sources_groups[i], targets[i]): - n_sources.append(sources_groups[i]) - n_targets.append(targets[i]) - - return n_sources, n_targets diff --git a/.venv/lib/python3.8/site-packages/setuptools/depends.py b/.venv/lib/python3.8/site-packages/setuptools/depends.py deleted file mode 100644 index a37675c..0000000 --- a/.venv/lib/python3.8/site-packages/setuptools/depends.py +++ /dev/null @@ -1,176 +0,0 @@ -import sys -import marshal -import contextlib -from distutils.version import StrictVersion - -from .py33compat import Bytecode - -from .py27compat import find_module, PY_COMPILED, PY_FROZEN, PY_SOURCE -from . import py27compat - - -__all__ = [ - 'Require', 'find_module', 'get_module_constant', 'extract_constant' -] - - -class Require: - """A prerequisite to building or installing a distribution""" - - def __init__( - self, name, requested_version, module, homepage='', - attribute=None, format=None): - - if format is None and requested_version is not None: - format = StrictVersion - - if format is not None: - requested_version = format(requested_version) - if attribute is None: - attribute = '__version__' - - self.__dict__.update(locals()) - del self.self - - def full_name(self): - """Return full package/distribution name, w/version""" - if self.requested_version is not None: - return '%s-%s' % (self.name, self.requested_version) - return self.name - - def version_ok(self, version): - """Is 'version' sufficiently up-to-date?""" - return self.attribute is None or self.format is None or \ - str(version) != "unknown" and version >= self.requested_version - - def get_version(self, paths=None, default="unknown"): - """Get version number of installed module, 'None', or 'default' - - Search 'paths' for module. If not found, return 'None'. If found, - return the extracted version attribute, or 'default' if no version - attribute was specified, or the value cannot be determined without - importing the module. The version is formatted according to the - requirement's version format (if any), unless it is 'None' or the - supplied 'default'. - """ - - if self.attribute is None: - try: - f, p, i = find_module(self.module, paths) - if f: - f.close() - return default - except ImportError: - return None - - v = get_module_constant(self.module, self.attribute, default, paths) - - if v is not None and v is not default and self.format is not None: - return self.format(v) - - return v - - def is_present(self, paths=None): - """Return true if dependency is present on 'paths'""" - return self.get_version(paths) is not None - - def is_current(self, paths=None): - """Return true if dependency is present and up-to-date on 'paths'""" - version = self.get_version(paths) - if version is None: - return False - return self.version_ok(version) - - -def maybe_close(f): - @contextlib.contextmanager - def empty(): - yield - return - if not f: - return empty() - - return contextlib.closing(f) - - -def get_module_constant(module, symbol, default=-1, paths=None): - """Find 'module' by searching 'paths', and extract 'symbol' - - Return 'None' if 'module' does not exist on 'paths', or it does not define - 'symbol'. If the module defines 'symbol' as a constant, return the - constant. Otherwise, return 'default'.""" - - try: - f, path, (suffix, mode, kind) = info = find_module(module, paths) - except ImportError: - # Module doesn't exist - return None - - with maybe_close(f): - if kind == PY_COMPILED: - f.read(8) # skip magic & date - code = marshal.load(f) - elif kind == PY_FROZEN: - code = py27compat.get_frozen_object(module, paths) - elif kind == PY_SOURCE: - code = compile(f.read(), path, 'exec') - else: - # Not something we can parse; we'll have to import it. :( - imported = py27compat.get_module(module, paths, info) - return getattr(imported, symbol, None) - - return extract_constant(code, symbol, default) - - -def extract_constant(code, symbol, default=-1): - """Extract the constant value of 'symbol' from 'code' - - If the name 'symbol' is bound to a constant value by the Python code - object 'code', return that value. If 'symbol' is bound to an expression, - return 'default'. Otherwise, return 'None'. - - Return value is based on the first assignment to 'symbol'. 'symbol' must - be a global, or at least a non-"fast" local in the code block. That is, - only 'STORE_NAME' and 'STORE_GLOBAL' opcodes are checked, and 'symbol' - must be present in 'code.co_names'. - """ - if symbol not in code.co_names: - # name's not there, can't possibly be an assignment - return None - - name_idx = list(code.co_names).index(symbol) - - STORE_NAME = 90 - STORE_GLOBAL = 97 - LOAD_CONST = 100 - - const = default - - for byte_code in Bytecode(code): - op = byte_code.opcode - arg = byte_code.arg - - if op == LOAD_CONST: - const = code.co_consts[arg] - elif arg == name_idx and (op == STORE_NAME or op == STORE_GLOBAL): - return const - else: - const = default - - -def _update_globals(): - """ - Patch the globals to remove the objects not available on some platforms. - - XXX it'd be better to test assertions about bytecode instead. - """ - - if not sys.platform.startswith('java') and sys.platform != 'cli': - return - incompatible = 'extract_constant', 'get_module_constant' - for name in incompatible: - del globals()[name] - __all__.remove(name) - - -_update_globals() diff --git a/.venv/lib/python3.8/site-packages/setuptools/dist.py b/.venv/lib/python3.8/site-packages/setuptools/dist.py deleted file mode 100644 index f22429e..0000000 --- a/.venv/lib/python3.8/site-packages/setuptools/dist.py +++ /dev/null @@ -1,1274 +0,0 @@ -# -*- coding: utf-8 -*- -__all__ = ['Distribution'] - -import io -import sys -import re -import os -import warnings -import numbers -import distutils.log -import distutils.core -import distutils.cmd -import distutils.dist -from distutils.util import strtobool -from distutils.debug import DEBUG -from distutils.fancy_getopt import translate_longopt -import itertools - -from collections import defaultdict -from email import message_from_file - -from distutils.errors import ( - DistutilsOptionError, DistutilsPlatformError, DistutilsSetupError, -) -from distutils.util import rfc822_escape -from distutils.version import StrictVersion - -from setuptools.extern import six -from setuptools.extern import packaging -from setuptools.extern import ordered_set -from setuptools.extern.six.moves import map, filter, filterfalse - -from . import SetuptoolsDeprecationWarning - -from setuptools.depends import Require -from setuptools import windows_support -from setuptools.monkey import get_unpatched -from setuptools.config import parse_configuration -import pkg_resources - -__import__('setuptools.extern.packaging.specifiers') -__import__('setuptools.extern.packaging.version') - - -def _get_unpatched(cls): - warnings.warn("Do not call this function", DistDeprecationWarning) - return get_unpatched(cls) - - -def get_metadata_version(self): - mv = getattr(self, 'metadata_version', None) - - if mv is None: - if self.long_description_content_type or self.provides_extras: - mv = StrictVersion('2.1') - elif (self.maintainer is not None or - self.maintainer_email is not None or - getattr(self, 'python_requires', None) is not None or - self.project_urls): - mv = StrictVersion('1.2') - elif (self.provides or self.requires or self.obsoletes or - self.classifiers or self.download_url): - mv = StrictVersion('1.1') - else: - mv = StrictVersion('1.0') - - self.metadata_version = mv - - return mv - - -def read_pkg_file(self, file): - """Reads the metadata values from a file object.""" - msg = message_from_file(file) - - def _read_field(name): - value = msg[name] - if value == 'UNKNOWN': - return None - return value - - def _read_list(name): - values = msg.get_all(name, None) - if values == []: - return None - return values - - self.metadata_version = StrictVersion(msg['metadata-version']) - self.name = _read_field('name') - self.version = _read_field('version') - self.description = _read_field('summary') - # we are filling author only. - self.author = _read_field('author') - self.maintainer = None - self.author_email = _read_field('author-email') - self.maintainer_email = None - self.url = _read_field('home-page') - self.license = _read_field('license') - - if 'download-url' in msg: - self.download_url = _read_field('download-url') - else: - self.download_url = None - - self.long_description = _read_field('description') - self.description = _read_field('summary') - - if 'keywords' in msg: - self.keywords = _read_field('keywords').split(',') - - self.platforms = _read_list('platform') - self.classifiers = _read_list('classifier') - - # PEP 314 - these fields only exist in 1.1 - if self.metadata_version == StrictVersion('1.1'): - self.requires = _read_list('requires') - self.provides = _read_list('provides') - self.obsoletes = _read_list('obsoletes') - else: - self.requires = None - self.provides = None - self.obsoletes = None - - -# Based on Python 3.5 version -def write_pkg_file(self, file): - """Write the PKG-INFO format data to a file object. - """ - version = self.get_metadata_version() - - if six.PY2: - def write_field(key, value): - file.write("%s: %s\n" % (key, self._encode_field(value))) - else: - def write_field(key, value): - file.write("%s: %s\n" % (key, value)) - - write_field('Metadata-Version', str(version)) - write_field('Name', self.get_name()) - write_field('Version', self.get_version()) - write_field('Summary', self.get_description()) - write_field('Home-page', self.get_url()) - - if version < StrictVersion('1.2'): - write_field('Author', self.get_contact()) - write_field('Author-email', self.get_contact_email()) - else: - optional_fields = ( - ('Author', 'author'), - ('Author-email', 'author_email'), - ('Maintainer', 'maintainer'), - ('Maintainer-email', 'maintainer_email'), - ) - - for field, attr in optional_fields: - attr_val = getattr(self, attr) - - if attr_val is not None: - write_field(field, attr_val) - - write_field('License', self.get_license()) - if self.download_url: - write_field('Download-URL', self.download_url) - for project_url in self.project_urls.items(): - write_field('Project-URL', '%s, %s' % project_url) - - long_desc = rfc822_escape(self.get_long_description()) - write_field('Description', long_desc) - - keywords = ','.join(self.get_keywords()) - if keywords: - write_field('Keywords', keywords) - - if version >= StrictVersion('1.2'): - for platform in self.get_platforms(): - write_field('Platform', platform) - else: - self._write_list(file, 'Platform', self.get_platforms()) - - self._write_list(file, 'Classifier', self.get_classifiers()) - - # PEP 314 - self._write_list(file, 'Requires', self.get_requires()) - self._write_list(file, 'Provides', self.get_provides()) - self._write_list(file, 'Obsoletes', self.get_obsoletes()) - - # Setuptools specific for PEP 345 - if hasattr(self, 'python_requires'): - write_field('Requires-Python', self.python_requires) - - # PEP 566 - if self.long_description_content_type: - write_field( - 'Description-Content-Type', - self.long_description_content_type - ) - if self.provides_extras: - for extra in sorted(self.provides_extras): - write_field('Provides-Extra', extra) - - -sequence = tuple, list - - -def check_importable(dist, attr, value): - try: - ep = pkg_resources.EntryPoint.parse('x=' + value) - assert not ep.extras - except (TypeError, ValueError, AttributeError, AssertionError): - raise DistutilsSetupError( - "%r must be importable 'module:attrs' string (got %r)" - % (attr, value) - ) - - -def assert_string_list(dist, attr, value): - """Verify that value is a string list""" - try: - # verify that value is a list or tuple to exclude unordered - # or single-use iterables - assert isinstance(value, (list, tuple)) - # verify that elements of value are strings - assert ''.join(value) != value - except (TypeError, ValueError, AttributeError, AssertionError): - raise DistutilsSetupError( - "%r must be a list of strings (got %r)" % (attr, value) - ) - - -def check_nsp(dist, attr, value): - """Verify that namespace packages are valid""" - ns_packages = value - assert_string_list(dist, attr, ns_packages) - for nsp in ns_packages: - if not dist.has_contents_for(nsp): - raise DistutilsSetupError( - "Distribution contains no modules or packages for " + - "namespace package %r" % nsp - ) - parent, sep, child = nsp.rpartition('.') - if parent and parent not in ns_packages: - distutils.log.warn( - "WARNING: %r is declared as a package namespace, but %r" - " is not: please correct this in setup.py", nsp, parent - ) - - -def check_extras(dist, attr, value): - """Verify that extras_require mapping is valid""" - try: - list(itertools.starmap(_check_extra, value.items())) - except (TypeError, ValueError, AttributeError): - raise DistutilsSetupError( - "'extras_require' must be a dictionary whose values are " - "strings or lists of strings containing valid project/version " - "requirement specifiers." - ) - - -def _check_extra(extra, reqs): - name, sep, marker = extra.partition(':') - if marker and pkg_resources.invalid_marker(marker): - raise DistutilsSetupError("Invalid environment marker: " + marker) - list(pkg_resources.parse_requirements(reqs)) - - -def assert_bool(dist, attr, value): - """Verify that value is True, False, 0, or 1""" - if bool(value) != value: - tmpl = "{attr!r} must be a boolean value (got {value!r})" - raise DistutilsSetupError(tmpl.format(attr=attr, value=value)) - - -def check_requirements(dist, attr, value): - """Verify that install_requires is a valid requirements list""" - try: - list(pkg_resources.parse_requirements(value)) - if isinstance(value, (dict, set)): - raise TypeError("Unordered types are not allowed") - except (TypeError, ValueError) as error: - tmpl = ( - "{attr!r} must be a string or list of strings " - "containing valid project/version requirement specifiers; {error}" - ) - raise DistutilsSetupError(tmpl.format(attr=attr, error=error)) - - -def check_specifier(dist, attr, value): - """Verify that value is a valid version specifier""" - try: - packaging.specifiers.SpecifierSet(value) - except packaging.specifiers.InvalidSpecifier as error: - tmpl = ( - "{attr!r} must be a string " - "containing valid version specifiers; {error}" - ) - raise DistutilsSetupError(tmpl.format(attr=attr, error=error)) - - -def check_entry_points(dist, attr, value): - """Verify that entry_points map is parseable""" - try: - pkg_resources.EntryPoint.parse_map(value) - except ValueError as e: - raise DistutilsSetupError(e) - - -def check_test_suite(dist, attr, value): - if not isinstance(value, six.string_types): - raise DistutilsSetupError("test_suite must be a string") - - -def check_package_data(dist, attr, value): - """Verify that value is a dictionary of package names to glob lists""" - if not isinstance(value, dict): - raise DistutilsSetupError( - "{!r} must be a dictionary mapping package names to lists of " - "string wildcard patterns".format(attr)) - for k, v in value.items(): - if not isinstance(k, six.string_types): - raise DistutilsSetupError( - "keys of {!r} dict must be strings (got {!r})" - .format(attr, k) - ) - assert_string_list(dist, 'values of {!r} dict'.format(attr), v) - - -def check_packages(dist, attr, value): - for pkgname in value: - if not re.match(r'\w+(\.\w+)*', pkgname): - distutils.log.warn( - "WARNING: %r not a valid package name; please use only " - ".-separated package names in setup.py", pkgname - ) - - -_Distribution = get_unpatched(distutils.core.Distribution) - - -class Distribution(_Distribution): - """Distribution with support for features, tests, and package data - - This is an enhanced version of 'distutils.dist.Distribution' that - effectively adds the following new optional keyword arguments to 'setup()': - - 'install_requires' -- a string or sequence of strings specifying project - versions that the distribution requires when installed, in the format - used by 'pkg_resources.require()'. They will be installed - automatically when the package is installed. If you wish to use - packages that are not available in PyPI, or want to give your users an - alternate download location, you can add a 'find_links' option to the - '[easy_install]' section of your project's 'setup.cfg' file, and then - setuptools will scan the listed web pages for links that satisfy the - requirements. - - 'extras_require' -- a dictionary mapping names of optional "extras" to the - additional requirement(s) that using those extras incurs. For example, - this:: - - extras_require = dict(reST = ["docutils>=0.3", "reSTedit"]) - - indicates that the distribution can optionally provide an extra - capability called "reST", but it can only be used if docutils and - reSTedit are installed. If the user installs your package using - EasyInstall and requests one of your extras, the corresponding - additional requirements will be installed if needed. - - 'features' **deprecated** -- a dictionary mapping option names to - 'setuptools.Feature' - objects. Features are a portion of the distribution that can be - included or excluded based on user options, inter-feature dependencies, - and availability on the current system. Excluded features are omitted - from all setup commands, including source and binary distributions, so - you can create multiple distributions from the same source tree. - Feature names should be valid Python identifiers, except that they may - contain the '-' (minus) sign. Features can be included or excluded - via the command line options '--with-X' and '--without-X', where 'X' is - the name of the feature. Whether a feature is included by default, and - whether you are allowed to control this from the command line, is - determined by the Feature object. See the 'Feature' class for more - information. - - 'test_suite' -- the name of a test suite to run for the 'test' command. - If the user runs 'python setup.py test', the package will be installed, - and the named test suite will be run. The format is the same as - would be used on a 'unittest.py' command line. That is, it is the - dotted name of an object to import and call to generate a test suite. - - 'package_data' -- a dictionary mapping package names to lists of filenames - or globs to use to find data files contained in the named packages. - If the dictionary has filenames or globs listed under '""' (the empty - string), those names will be searched for in every package, in addition - to any names for the specific package. Data files found using these - names/globs will be installed along with the package, in the same - location as the package. Note that globs are allowed to reference - the contents of non-package subdirectories, as long as you use '/' as - a path separator. (Globs are automatically converted to - platform-specific paths at runtime.) - - In addition to these new keywords, this class also has several new methods - for manipulating the distribution's contents. For example, the 'include()' - and 'exclude()' methods can be thought of as in-place add and subtract - commands that add or remove packages, modules, extensions, and so on from - the distribution. They are used by the feature subsystem to configure the - distribution for the included and excluded features. - """ - - _DISTUTILS_UNSUPPORTED_METADATA = { - 'long_description_content_type': None, - 'project_urls': dict, - 'provides_extras': ordered_set.OrderedSet, - 'license_files': ordered_set.OrderedSet, - } - - _patched_dist = None - - def patch_missing_pkg_info(self, attrs): - # Fake up a replacement for the data that would normally come from - # PKG-INFO, but which might not yet be built if this is a fresh - # checkout. - # - if not attrs or 'name' not in attrs or 'version' not in attrs: - return - key = pkg_resources.safe_name(str(attrs['name'])).lower() - dist = pkg_resources.working_set.by_key.get(key) - if dist is not None and not dist.has_metadata('PKG-INFO'): - dist._version = pkg_resources.safe_version(str(attrs['version'])) - self._patched_dist = dist - - def __init__(self, attrs=None): - have_package_data = hasattr(self, "package_data") - if not have_package_data: - self.package_data = {} - attrs = attrs or {} - if 'features' in attrs or 'require_features' in attrs: - Feature.warn_deprecated() - self.require_features = [] - self.features = {} - self.dist_files = [] - # Filter-out setuptools' specific options. - self.src_root = attrs.pop("src_root", None) - self.patch_missing_pkg_info(attrs) - self.dependency_links = attrs.pop('dependency_links', []) - self.setup_requires = attrs.pop('setup_requires', []) - for ep in pkg_resources.iter_entry_points('distutils.setup_keywords'): - vars(self).setdefault(ep.name, None) - _Distribution.__init__(self, { - k: v for k, v in attrs.items() - if k not in self._DISTUTILS_UNSUPPORTED_METADATA - }) - - # Fill-in missing metadata fields not supported by distutils. - # Note some fields may have been set by other tools (e.g. pbr) - # above; they are taken preferrentially to setup() arguments - for option, default in self._DISTUTILS_UNSUPPORTED_METADATA.items(): - for source in self.metadata.__dict__, attrs: - if option in source: - value = source[option] - break - else: - value = default() if default else None - setattr(self.metadata, option, value) - - if isinstance(self.metadata.version, numbers.Number): - # Some people apparently take "version number" too literally :) - self.metadata.version = str(self.metadata.version) - - if self.metadata.version is not None: - try: - ver = packaging.version.Version(self.metadata.version) - normalized_version = str(ver) - if self.metadata.version != normalized_version: - warnings.warn( - "Normalizing '%s' to '%s'" % ( - self.metadata.version, - normalized_version, - ) - ) - self.metadata.version = normalized_version - except (packaging.version.InvalidVersion, TypeError): - warnings.warn( - "The version specified (%r) is an invalid version, this " - "may not work as expected with newer versions of " - "setuptools, pip, and PyPI. Please see PEP 440 for more " - "details." % self.metadata.version - ) - self._finalize_requires() - - def _finalize_requires(self): - """ - Set `metadata.python_requires` and fix environment markers - in `install_requires` and `extras_require`. - """ - if getattr(self, 'python_requires', None): - self.metadata.python_requires = self.python_requires - - if getattr(self, 'extras_require', None): - for extra in self.extras_require.keys(): - # Since this gets called multiple times at points where the - # keys have become 'converted' extras, ensure that we are only - # truly adding extras we haven't seen before here. - extra = extra.split(':')[0] - if extra: - self.metadata.provides_extras.add(extra) - - self._convert_extras_requirements() - self._move_install_requirements_markers() - - def _convert_extras_requirements(self): - """ - Convert requirements in `extras_require` of the form - `"extra": ["barbazquux; {marker}"]` to - `"extra:{marker}": ["barbazquux"]`. - """ - spec_ext_reqs = getattr(self, 'extras_require', None) or {} - self._tmp_extras_require = defaultdict(list) - for section, v in spec_ext_reqs.items(): - # Do not strip empty sections. - self._tmp_extras_require[section] - for r in pkg_resources.parse_requirements(v): - suffix = self._suffix_for(r) - self._tmp_extras_require[section + suffix].append(r) - - @staticmethod - def _suffix_for(req): - """ - For a requirement, return the 'extras_require' suffix for - that requirement. - """ - return ':' + str(req.marker) if req.marker else '' - - def _move_install_requirements_markers(self): - """ - Move requirements in `install_requires` that are using environment - markers `extras_require`. - """ - - # divide the install_requires into two sets, simple ones still - # handled by install_requires and more complex ones handled - # by extras_require. - - def is_simple_req(req): - return not req.marker - - spec_inst_reqs = getattr(self, 'install_requires', None) or () - inst_reqs = list(pkg_resources.parse_requirements(spec_inst_reqs)) - simple_reqs = filter(is_simple_req, inst_reqs) - complex_reqs = filterfalse(is_simple_req, inst_reqs) - self.install_requires = list(map(str, simple_reqs)) - - for r in complex_reqs: - self._tmp_extras_require[':' + str(r.marker)].append(r) - self.extras_require = dict( - (k, [str(r) for r in map(self._clean_req, v)]) - for k, v in self._tmp_extras_require.items() - ) - - def _clean_req(self, req): - """ - Given a Requirement, remove environment markers and return it. - """ - req.marker = None - return req - - def _parse_config_files(self, filenames=None): - """ - Adapted from distutils.dist.Distribution.parse_config_files, - this method provides the same functionality in subtly-improved - ways. - """ - from setuptools.extern.six.moves.configparser import ConfigParser - - # Ignore install directory options if we have a venv - if six.PY3 and sys.prefix != sys.base_prefix: - ignore_options = [ - 'install-base', 'install-platbase', 'install-lib', - 'install-platlib', 'install-purelib', 'install-headers', - 'install-scripts', 'install-data', 'prefix', 'exec-prefix', - 'home', 'user', 'root'] - else: - ignore_options = [] - - ignore_options = frozenset(ignore_options) - - if filenames is None: - filenames = self.find_config_files() - - if DEBUG: - self.announce("Distribution.parse_config_files():") - - parser = ConfigParser() - for filename in filenames: - with io.open(filename, encoding='utf-8') as reader: - if DEBUG: - self.announce(" reading {filename}".format(**locals())) - (parser.read_file if six.PY3 else parser.readfp)(reader) - for section in parser.sections(): - options = parser.options(section) - opt_dict = self.get_option_dict(section) - - for opt in options: - if opt != '__name__' and opt not in ignore_options: - val = self._try_str(parser.get(section, opt)) - opt = opt.replace('-', '_') - opt_dict[opt] = (filename, val) - - # Make the ConfigParser forget everything (so we retain - # the original filenames that options come from) - parser.__init__() - - # If there was a "global" section in the config file, use it - # to set Distribution options. - - if 'global' in self.command_options: - for (opt, (src, val)) in self.command_options['global'].items(): - alias = self.negative_opt.get(opt) - try: - if alias: - setattr(self, alias, not strtobool(val)) - elif opt in ('verbose', 'dry_run'): # ugh! - setattr(self, opt, strtobool(val)) - else: - setattr(self, opt, val) - except ValueError as msg: - raise DistutilsOptionError(msg) - - @staticmethod - def _try_str(val): - """ - On Python 2, much of distutils relies on string values being of - type 'str' (bytes) and not unicode text. If the value can be safely - encoded to bytes using the default encoding, prefer that. - - Why the default encoding? Because that value can be implicitly - decoded back to text if needed. - - Ref #1653 - """ - if six.PY3: - return val - try: - return val.encode() - except UnicodeEncodeError: - pass - return val - - def _set_command_options(self, command_obj, option_dict=None): - """ - Set the options for 'command_obj' from 'option_dict'. Basically - this means copying elements of a dictionary ('option_dict') to - attributes of an instance ('command'). - - 'command_obj' must be a Command instance. If 'option_dict' is not - supplied, uses the standard option dictionary for this command - (from 'self.command_options'). - - (Adopted from distutils.dist.Distribution._set_command_options) - """ - command_name = command_obj.get_command_name() - if option_dict is None: - option_dict = self.get_option_dict(command_name) - - if DEBUG: - self.announce(" setting options for '%s' command:" % command_name) - for (option, (source, value)) in option_dict.items(): - if DEBUG: - self.announce(" %s = %s (from %s)" % (option, value, - source)) - try: - bool_opts = [translate_longopt(o) - for o in command_obj.boolean_options] - except AttributeError: - bool_opts = [] - try: - neg_opt = command_obj.negative_opt - except AttributeError: - neg_opt = {} - - try: - is_string = isinstance(value, six.string_types) - if option in neg_opt and is_string: - setattr(command_obj, neg_opt[option], not strtobool(value)) - elif option in bool_opts and is_string: - setattr(command_obj, option, strtobool(value)) - elif hasattr(command_obj, option): - setattr(command_obj, option, value) - else: - raise DistutilsOptionError( - "error in %s: command '%s' has no such option '%s'" - % (source, command_name, option)) - except ValueError as msg: - raise DistutilsOptionError(msg) - - def parse_config_files(self, filenames=None, ignore_option_errors=False): - """Parses configuration files from various levels - and loads configuration. - - """ - self._parse_config_files(filenames=filenames) - - parse_configuration(self, self.command_options, - ignore_option_errors=ignore_option_errors) - self._finalize_requires() - - def parse_command_line(self): - """Process features after parsing command line options""" - result = _Distribution.parse_command_line(self) - if self.features: - self._finalize_features() - return result - - def _feature_attrname(self, name): - """Convert feature name to corresponding option attribute name""" - return 'with_' + name.replace('-', '_') - - def fetch_build_eggs(self, requires): - """Resolve pre-setup requirements""" - resolved_dists = pkg_resources.working_set.resolve( - pkg_resources.parse_requirements(requires), - installer=self.fetch_build_egg, - replace_conflicting=True, - ) - for dist in resolved_dists: - pkg_resources.working_set.add(dist, replace=True) - return resolved_dists - - def finalize_options(self): - """ - Allow plugins to apply arbitrary operations to the - distribution. Each hook may optionally define a 'order' - to influence the order of execution. Smaller numbers - go first and the default is 0. - """ - hook_key = 'setuptools.finalize_distribution_options' - - def by_order(hook): - return getattr(hook, 'order', 0) - eps = pkg_resources.iter_entry_points(hook_key) - for ep in sorted(eps, key=by_order): - ep.load()(self) - - def _finalize_setup_keywords(self): - for ep in pkg_resources.iter_entry_points('distutils.setup_keywords'): - value = getattr(self, ep.name, None) - if value is not None: - ep.require(installer=self.fetch_build_egg) - ep.load()(self, ep.name, value) - - def _finalize_2to3_doctests(self): - if getattr(self, 'convert_2to3_doctests', None): - # XXX may convert to set here when we can rely on set being builtin - self.convert_2to3_doctests = [ - os.path.abspath(p) - for p in self.convert_2to3_doctests - ] - else: - self.convert_2to3_doctests = [] - - def get_egg_cache_dir(self): - egg_cache_dir = os.path.join(os.curdir, '.eggs') - if not os.path.exists(egg_cache_dir): - os.mkdir(egg_cache_dir) - windows_support.hide_file(egg_cache_dir) - readme_txt_filename = os.path.join(egg_cache_dir, 'README.txt') - with open(readme_txt_filename, 'w') as f: - f.write('This directory contains eggs that were downloaded ' - 'by setuptools to build, test, and run plug-ins.\n\n') - f.write('This directory caches those eggs to prevent ' - 'repeated downloads.\n\n') - f.write('However, it is safe to delete this directory.\n\n') - - return egg_cache_dir - - def fetch_build_egg(self, req): - """Fetch an egg needed for building""" - from setuptools.installer import fetch_build_egg - return fetch_build_egg(self, req) - - def _finalize_feature_opts(self): - """Add --with-X/--without-X options based on optional features""" - - if not self.features: - return - - go = [] - no = self.negative_opt.copy() - - for name, feature in self.features.items(): - self._set_feature(name, None) - feature.validate(self) - - if feature.optional: - descr = feature.description - incdef = ' (default)' - excdef = '' - if not feature.include_by_default(): - excdef, incdef = incdef, excdef - - new = ( - ('with-' + name, None, 'include ' + descr + incdef), - ('without-' + name, None, 'exclude ' + descr + excdef), - ) - go.extend(new) - no['without-' + name] = 'with-' + name - - self.global_options = self.feature_options = go + self.global_options - self.negative_opt = self.feature_negopt = no - - def _finalize_features(self): - """Add/remove features and resolve dependencies between them""" - - # First, flag all the enabled items (and thus their dependencies) - for name, feature in self.features.items(): - enabled = self.feature_is_included(name) - if enabled or (enabled is None and feature.include_by_default()): - feature.include_in(self) - self._set_feature(name, 1) - - # Then disable the rest, so that off-by-default features don't - # get flagged as errors when they're required by an enabled feature - for name, feature in self.features.items(): - if not self.feature_is_included(name): - feature.exclude_from(self) - self._set_feature(name, 0) - - def get_command_class(self, command): - """Pluggable version of get_command_class()""" - if command in self.cmdclass: - return self.cmdclass[command] - - eps = pkg_resources.iter_entry_points('distutils.commands', command) - for ep in eps: - ep.require(installer=self.fetch_build_egg) - self.cmdclass[command] = cmdclass = ep.load() - return cmdclass - else: - return _Distribution.get_command_class(self, command) - - def print_commands(self): - for ep in pkg_resources.iter_entry_points('distutils.commands'): - if ep.name not in self.cmdclass: - # don't require extras as the commands won't be invoked - cmdclass = ep.resolve() - self.cmdclass[ep.name] = cmdclass - return _Distribution.print_commands(self) - - def get_command_list(self): - for ep in pkg_resources.iter_entry_points('distutils.commands'): - if ep.name not in self.cmdclass: - # don't require extras as the commands won't be invoked - cmdclass = ep.resolve() - self.cmdclass[ep.name] = cmdclass - return _Distribution.get_command_list(self) - - def _set_feature(self, name, status): - """Set feature's inclusion status""" - setattr(self, self._feature_attrname(name), status) - - def feature_is_included(self, name): - """Return 1 if feature is included, 0 if excluded, 'None' if unknown""" - return getattr(self, self._feature_attrname(name)) - - def include_feature(self, name): - """Request inclusion of feature named 'name'""" - - if self.feature_is_included(name) == 0: - descr = self.features[name].description - raise DistutilsOptionError( - descr + " is required, but was excluded or is not available" - ) - self.features[name].include_in(self) - self._set_feature(name, 1) - - def include(self, **attrs): - """Add items to distribution that are named in keyword arguments - - For example, 'dist.include(py_modules=["x"])' would add 'x' to - the distribution's 'py_modules' attribute, if it was not already - there. - - Currently, this method only supports inclusion for attributes that are - lists or tuples. If you need to add support for adding to other - attributes in this or a subclass, you can add an '_include_X' method, - where 'X' is the name of the attribute. The method will be called with - the value passed to 'include()'. So, 'dist.include(foo={"bar":"baz"})' - will try to call 'dist._include_foo({"bar":"baz"})', which can then - handle whatever special inclusion logic is needed. - """ - for k, v in attrs.items(): - include = getattr(self, '_include_' + k, None) - if include: - include(v) - else: - self._include_misc(k, v) - - def exclude_package(self, package): - """Remove packages, modules, and extensions in named package""" - - pfx = package + '.' - if self.packages: - self.packages = [ - p for p in self.packages - if p != package and not p.startswith(pfx) - ] - - if self.py_modules: - self.py_modules = [ - p for p in self.py_modules - if p != package and not p.startswith(pfx) - ] - - if self.ext_modules: - self.ext_modules = [ - p for p in self.ext_modules - if p.name != package and not p.name.startswith(pfx) - ] - - def has_contents_for(self, package): - """Return true if 'exclude_package(package)' would do something""" - - pfx = package + '.' - - for p in self.iter_distribution_names(): - if p == package or p.startswith(pfx): - return True - - def _exclude_misc(self, name, value): - """Handle 'exclude()' for list/tuple attrs without a special handler""" - if not isinstance(value, sequence): - raise DistutilsSetupError( - "%s: setting must be a list or tuple (%r)" % (name, value) - ) - try: - old = getattr(self, name) - except AttributeError: - raise DistutilsSetupError( - "%s: No such distribution setting" % name - ) - if old is not None and not isinstance(old, sequence): - raise DistutilsSetupError( - name + ": this setting cannot be changed via include/exclude" - ) - elif old: - setattr(self, name, [item for item in old if item not in value]) - - def _include_misc(self, name, value): - """Handle 'include()' for list/tuple attrs without a special handler""" - - if not isinstance(value, sequence): - raise DistutilsSetupError( - "%s: setting must be a list (%r)" % (name, value) - ) - try: - old = getattr(self, name) - except AttributeError: - raise DistutilsSetupError( - "%s: No such distribution setting" % name - ) - if old is None: - setattr(self, name, value) - elif not isinstance(old, sequence): - raise DistutilsSetupError( - name + ": this setting cannot be changed via include/exclude" - ) - else: - new = [item for item in value if item not in old] - setattr(self, name, old + new) - - def exclude(self, **attrs): - """Remove items from distribution that are named in keyword arguments - - For example, 'dist.exclude(py_modules=["x"])' would remove 'x' from - the distribution's 'py_modules' attribute. Excluding packages uses - the 'exclude_package()' method, so all of the package's contained - packages, modules, and extensions are also excluded. - - Currently, this method only supports exclusion from attributes that are - lists or tuples. If you need to add support for excluding from other - attributes in this or a subclass, you can add an '_exclude_X' method, - where 'X' is the name of the attribute. The method will be called with - the value passed to 'exclude()'. So, 'dist.exclude(foo={"bar":"baz"})' - will try to call 'dist._exclude_foo({"bar":"baz"})', which can then - handle whatever special exclusion logic is needed. - """ - for k, v in attrs.items(): - exclude = getattr(self, '_exclude_' + k, None) - if exclude: - exclude(v) - else: - self._exclude_misc(k, v) - - def _exclude_packages(self, packages): - if not isinstance(packages, sequence): - raise DistutilsSetupError( - "packages: setting must be a list or tuple (%r)" % (packages,) - ) - list(map(self.exclude_package, packages)) - - def _parse_command_opts(self, parser, args): - # Remove --with-X/--without-X options when processing command args - self.global_options = self.__class__.global_options - self.negative_opt = self.__class__.negative_opt - - # First, expand any aliases - command = args[0] - aliases = self.get_option_dict('aliases') - while command in aliases: - src, alias = aliases[command] - del aliases[command] # ensure each alias can expand only once! - import shlex - args[:1] = shlex.split(alias, True) - command = args[0] - - nargs = _Distribution._parse_command_opts(self, parser, args) - - # Handle commands that want to consume all remaining arguments - cmd_class = self.get_command_class(command) - if getattr(cmd_class, 'command_consumes_arguments', None): - self.get_option_dict(command)['args'] = ("command line", nargs) - if nargs is not None: - return [] - - return nargs - - def get_cmdline_options(self): - """Return a '{cmd: {opt:val}}' map of all command-line options - - Option names are all long, but do not include the leading '--', and - contain dashes rather than underscores. If the option doesn't take - an argument (e.g. '--quiet'), the 'val' is 'None'. - - Note that options provided by config files are intentionally excluded. - """ - - d = {} - - for cmd, opts in self.command_options.items(): - - for opt, (src, val) in opts.items(): - - if src != "command line": - continue - - opt = opt.replace('_', '-') - - if val == 0: - cmdobj = self.get_command_obj(cmd) - neg_opt = self.negative_opt.copy() - neg_opt.update(getattr(cmdobj, 'negative_opt', {})) - for neg, pos in neg_opt.items(): - if pos == opt: - opt = neg - val = None - break - else: - raise AssertionError("Shouldn't be able to get here") - - elif val == 1: - val = None - - d.setdefault(cmd, {})[opt] = val - - return d - - def iter_distribution_names(self): - """Yield all packages, modules, and extension names in distribution""" - - for pkg in self.packages or (): - yield pkg - - for module in self.py_modules or (): - yield module - - for ext in self.ext_modules or (): - if isinstance(ext, tuple): - name, buildinfo = ext - else: - name = ext.name - if name.endswith('module'): - name = name[:-6] - yield name - - def handle_display_options(self, option_order): - """If there were any non-global "display-only" options - (--help-commands or the metadata display options) on the command - line, display the requested info and return true; else return - false. - """ - import sys - - if six.PY2 or self.help_commands: - return _Distribution.handle_display_options(self, option_order) - - # Stdout may be StringIO (e.g. in tests) - if not isinstance(sys.stdout, io.TextIOWrapper): - return _Distribution.handle_display_options(self, option_order) - - # Don't wrap stdout if utf-8 is already the encoding. Provides - # workaround for #334. - if sys.stdout.encoding.lower() in ('utf-8', 'utf8'): - return _Distribution.handle_display_options(self, option_order) - - # Print metadata in UTF-8 no matter the platform - encoding = sys.stdout.encoding - errors = sys.stdout.errors - newline = sys.platform != 'win32' and '\n' or None - line_buffering = sys.stdout.line_buffering - - sys.stdout = io.TextIOWrapper( - sys.stdout.detach(), 'utf-8', errors, newline, line_buffering) - try: - return _Distribution.handle_display_options(self, option_order) - finally: - sys.stdout = io.TextIOWrapper( - sys.stdout.detach(), encoding, errors, newline, line_buffering) - - -class Feature: - """ - **deprecated** -- The `Feature` facility was never completely implemented - or supported, `has reported issues - <https://github.com/pypa/setuptools/issues/58>`_ and will be removed in - a future version. - - A subset of the distribution that can be excluded if unneeded/wanted - - Features are created using these keyword arguments: - - 'description' -- a short, human readable description of the feature, to - be used in error messages, and option help messages. - - 'standard' -- if true, the feature is included by default if it is - available on the current system. Otherwise, the feature is only - included if requested via a command line '--with-X' option, or if - another included feature requires it. The default setting is 'False'. - - 'available' -- if true, the feature is available for installation on the - current system. The default setting is 'True'. - - 'optional' -- if true, the feature's inclusion can be controlled from the - command line, using the '--with-X' or '--without-X' options. If - false, the feature's inclusion status is determined automatically, - based on 'availabile', 'standard', and whether any other feature - requires it. The default setting is 'True'. - - 'require_features' -- a string or sequence of strings naming features - that should also be included if this feature is included. Defaults to - empty list. May also contain 'Require' objects that should be - added/removed from the distribution. - - 'remove' -- a string or list of strings naming packages to be removed - from the distribution if this feature is *not* included. If the - feature *is* included, this argument is ignored. This argument exists - to support removing features that "crosscut" a distribution, such as - defining a 'tests' feature that removes all the 'tests' subpackages - provided by other features. The default for this argument is an empty - list. (Note: the named package(s) or modules must exist in the base - distribution when the 'setup()' function is initially called.) - - other keywords -- any other keyword arguments are saved, and passed to - the distribution's 'include()' and 'exclude()' methods when the - feature is included or excluded, respectively. So, for example, you - could pass 'packages=["a","b"]' to cause packages 'a' and 'b' to be - added or removed from the distribution as appropriate. - - A feature must include at least one 'requires', 'remove', or other - keyword argument. Otherwise, it can't affect the distribution in any way. - Note also that you can subclass 'Feature' to create your own specialized - feature types that modify the distribution in other ways when included or - excluded. See the docstrings for the various methods here for more detail. - Aside from the methods, the only feature attributes that distributions look - at are 'description' and 'optional'. - """ - - @staticmethod - def warn_deprecated(): - msg = ( - "Features are deprecated and will be removed in a future " - "version. See https://github.com/pypa/setuptools/issues/65." - ) - warnings.warn(msg, DistDeprecationWarning, stacklevel=3) - - def __init__( - self, description, standard=False, available=True, - optional=True, require_features=(), remove=(), **extras): - self.warn_deprecated() - - self.description = description - self.standard = standard - self.available = available - self.optional = optional - if isinstance(require_features, (str, Require)): - require_features = require_features, - - self.require_features = [ - r for r in require_features if isinstance(r, str) - ] - er = [r for r in require_features if not isinstance(r, str)] - if er: - extras['require_features'] = er - - if isinstance(remove, str): - remove = remove, - self.remove = remove - self.extras = extras - - if not remove and not require_features and not extras: - raise DistutilsSetupError( - "Feature %s: must define 'require_features', 'remove', or " - "at least one of 'packages', 'py_modules', etc." - ) - - def include_by_default(self): - """Should this feature be included by default?""" - return self.available and self.standard - - def include_in(self, dist): - """Ensure feature and its requirements are included in distribution - - You may override this in a subclass to perform additional operations on - the distribution. Note that this method may be called more than once - per feature, and so should be idempotent. - - """ - - if not self.available: - raise DistutilsPlatformError( - self.description + " is required, " - "but is not available on this platform" - ) - - dist.include(**self.extras) - - for f in self.require_features: - dist.include_feature(f) - - def exclude_from(self, dist): - """Ensure feature is excluded from distribution - - You may override this in a subclass to perform additional operations on - the distribution. This method will be called at most once per - feature, and only after all included features have been asked to - include themselves. - """ - - dist.exclude(**self.extras) - - if self.remove: - for item in self.remove: - dist.exclude_package(item) - - def validate(self, dist): - """Verify that feature makes sense in context of distribution - - This method is called by the distribution just before it parses its - command line. It checks to ensure that the 'remove' attribute, if any, - contains only valid package/module names that are present in the base - distribution when 'setup()' is called. You may override it in a - subclass to perform any other required validation of the feature - against a target distribution. - """ - - for item in self.remove: - if not dist.has_contents_for(item): - raise DistutilsSetupError( - "%s wants to be able to remove %s, but the distribution" - " doesn't contain any packages or modules under %s" - % (self.description, item, item) - ) - - -class DistDeprecationWarning(SetuptoolsDeprecationWarning): - """Class for warning about deprecations in dist in - setuptools. Not ignored by default, unlike DeprecationWarning.""" diff --git a/.venv/lib/python3.8/site-packages/setuptools/errors.py b/.venv/lib/python3.8/site-packages/setuptools/errors.py deleted file mode 100644 index 2701747..0000000 --- a/.venv/lib/python3.8/site-packages/setuptools/errors.py +++ /dev/null @@ -1,16 +0,0 @@ -"""setuptools.errors - -Provides exceptions used by setuptools modules. -""" - -from distutils.errors import DistutilsError - - -class RemovedCommandError(DistutilsError, RuntimeError): - """Error used for commands that have been removed in setuptools. - - Since ``setuptools`` is built on ``distutils``, simply removing a command - from ``setuptools`` will make the behavior fall back to ``distutils``; this - error is raised if a command exists in ``distutils`` but has been actively - removed in ``setuptools``. - """ diff --git a/.venv/lib/python3.8/site-packages/setuptools/extension.py b/.venv/lib/python3.8/site-packages/setuptools/extension.py deleted file mode 100644 index 2946889..0000000 --- a/.venv/lib/python3.8/site-packages/setuptools/extension.py +++ /dev/null @@ -1,57 +0,0 @@ -import re -import functools -import distutils.core -import distutils.errors -import distutils.extension - -from setuptools.extern.six.moves import map - -from .monkey import get_unpatched - - -def _have_cython(): - """ - Return True if Cython can be imported. - """ - cython_impl = 'Cython.Distutils.build_ext' - try: - # from (cython_impl) import build_ext - __import__(cython_impl, fromlist=['build_ext']).build_ext - return True - except Exception: - pass - return False - - -# for compatibility -have_pyrex = _have_cython - -_Extension = get_unpatched(distutils.core.Extension) - - -class Extension(_Extension): - """Extension that uses '.c' files in place of '.pyx' files""" - - def __init__(self, name, sources, *args, **kw): - # The *args is needed for compatibility as calls may use positional - # arguments. py_limited_api may be set only via keyword. - self.py_limited_api = kw.pop("py_limited_api", False) - _Extension.__init__(self, name, sources, *args, **kw) - - def _convert_pyx_sources_to_lang(self): - """ - Replace sources with .pyx extensions to sources with the target - language extension. This mechanism allows language authors to supply - pre-converted sources but to prefer the .pyx sources. - """ - if _have_cython(): - # the build has Cython, so allow it to compile the .pyx files - return - lang = self.language or '' - target_ext = '.cpp' if lang.lower() == 'c++' else '.c' - sub = functools.partial(re.sub, '.pyx$', target_ext) - self.sources = list(map(sub, self.sources)) - - -class Library(Extension): - """Just like a regular Extension, but built as a library instead""" diff --git a/.venv/lib/python3.8/site-packages/setuptools/extern/__init__.py b/.venv/lib/python3.8/site-packages/setuptools/extern/__init__.py deleted file mode 100644 index e8c616f..0000000 --- a/.venv/lib/python3.8/site-packages/setuptools/extern/__init__.py +++ /dev/null @@ -1,73 +0,0 @@ -import sys - - -class VendorImporter: - """ - A PEP 302 meta path importer for finding optionally-vendored - or otherwise naturally-installed packages from root_name. - """ - - def __init__(self, root_name, vendored_names=(), vendor_pkg=None): - self.root_name = root_name - self.vendored_names = set(vendored_names) - self.vendor_pkg = vendor_pkg or root_name.replace('extern', '_vendor') - - @property - def search_path(self): - """ - Search first the vendor package then as a natural package. - """ - yield self.vendor_pkg + '.' - yield '' - - def find_module(self, fullname, path=None): - """ - Return self when fullname starts with root_name and the - target module is one vendored through this importer. - """ - root, base, target = fullname.partition(self.root_name + '.') - if root: - return - if not any(map(target.startswith, self.vendored_names)): - return - return self - - def load_module(self, fullname): - """ - Iterate over the search path to locate and load fullname. - """ - root, base, target = fullname.partition(self.root_name + '.') - for prefix in self.search_path: - try: - extant = prefix + target - __import__(extant) - mod = sys.modules[extant] - sys.modules[fullname] = mod - # mysterious hack: - # Remove the reference to the extant package/module - # on later Python versions to cause relative imports - # in the vendor package to resolve the same modules - # as those going through this importer. - if sys.version_info >= (3, ): - del sys.modules[extant] - return mod - except ImportError: - pass - else: - raise ImportError( - "The '{target}' package is required; " - "normally this is bundled with this package so if you get " - "this warning, consult the packager of your " - "distribution.".format(**locals()) - ) - - def install(self): - """ - Install this importer into sys.meta_path if not already present. - """ - if self not in sys.meta_path: - sys.meta_path.append(self) - - -names = 'six', 'packaging', 'pyparsing', 'ordered_set', -VendorImporter(__name__, names, 'setuptools._vendor').install() diff --git a/.venv/lib/python3.8/site-packages/setuptools/extern/__pycache__/__init__.cpython-38.pyc b/.venv/lib/python3.8/site-packages/setuptools/extern/__pycache__/__init__.cpython-38.pyc deleted file mode 100644 index cd185f9a2cb09008a39dfe788e0a079d62692823..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2420 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 N7?id-nE6~-7y;7&dVT-^ diff --git a/.venv/lib/python3.8/site-packages/setuptools/glob.py b/.venv/lib/python3.8/site-packages/setuptools/glob.py deleted file mode 100644 index 9d7cbc5..0000000 --- a/.venv/lib/python3.8/site-packages/setuptools/glob.py +++ /dev/null @@ -1,174 +0,0 @@ -""" -Filename globbing utility. Mostly a copy of `glob` from Python 3.5. - -Changes include: - * `yield from` and PEP3102 `*` removed. - * Hidden files are not ignored. -""" - -import os -import re -import fnmatch - -__all__ = ["glob", "iglob", "escape"] - - -def glob(pathname, recursive=False): - """Return a list of paths matching a pathname pattern. - - The pattern may contain simple shell-style wildcards a la - fnmatch. However, unlike fnmatch, filenames starting with a - dot are special cases that are not matched by '*' and '?' - patterns. - - If recursive is true, the pattern '**' will match any files and - zero or more directories and subdirectories. - """ - return list(iglob(pathname, recursive=recursive)) - - -def iglob(pathname, recursive=False): - """Return an iterator which yields the paths matching a pathname pattern. - - The pattern may contain simple shell-style wildcards a la - fnmatch. However, unlike fnmatch, filenames starting with a - dot are special cases that are not matched by '*' and '?' - patterns. - - If recursive is true, the pattern '**' will match any files and - zero or more directories and subdirectories. - """ - it = _iglob(pathname, recursive) - if recursive and _isrecursive(pathname): - s = next(it) # skip empty string - assert not s - return it - - -def _iglob(pathname, recursive): - dirname, basename = os.path.split(pathname) - if not has_magic(pathname): - if basename: - if os.path.lexists(pathname): - yield pathname - else: - # Patterns ending with a slash should match only directories - if os.path.isdir(dirname): - yield pathname - return - if not dirname: - if recursive and _isrecursive(basename): - for x in glob2(dirname, basename): - yield x - else: - for x in glob1(dirname, basename): - yield x - return - # `os.path.split()` returns the argument itself as a dirname if it is a - # drive or UNC path. Prevent an infinite recursion if a drive or UNC path - # contains magic characters (i.e. r'\\?\C:'). - if dirname != pathname and has_magic(dirname): - dirs = _iglob(dirname, recursive) - else: - dirs = [dirname] - if has_magic(basename): - if recursive and _isrecursive(basename): - glob_in_dir = glob2 - else: - glob_in_dir = glob1 - else: - glob_in_dir = glob0 - for dirname in dirs: - for name in glob_in_dir(dirname, basename): - yield os.path.join(dirname, name) - - -# These 2 helper functions non-recursively glob inside a literal directory. -# They return a list of basenames. `glob1` accepts a pattern while `glob0` -# takes a literal basename (so it only has to check for its existence). - - -def glob1(dirname, pattern): - if not dirname: - if isinstance(pattern, bytes): - dirname = os.curdir.encode('ASCII') - else: - dirname = os.curdir - try: - names = os.listdir(dirname) - except OSError: - return [] - return fnmatch.filter(names, pattern) - - -def glob0(dirname, basename): - if not basename: - # `os.path.split()` returns an empty basename for paths ending with a - # directory separator. 'q*x/' should match only directories. - if os.path.isdir(dirname): - return [basename] - else: - if os.path.lexists(os.path.join(dirname, basename)): - return [basename] - return [] - - -# This helper function recursively yields relative pathnames inside a literal -# directory. - - -def glob2(dirname, pattern): - assert _isrecursive(pattern) - yield pattern[:0] - for x in _rlistdir(dirname): - yield x - - -# Recursively yields relative pathnames inside a literal directory. -def _rlistdir(dirname): - if not dirname: - if isinstance(dirname, bytes): - dirname = os.curdir.encode('ASCII') - else: - dirname = os.curdir - try: - names = os.listdir(dirname) - except os.error: - return - for x in names: - yield x - path = os.path.join(dirname, x) if dirname else x - for y in _rlistdir(path): - yield os.path.join(x, y) - - -magic_check = re.compile('([*?[])') -magic_check_bytes = re.compile(b'([*?[])') - - -def has_magic(s): - if isinstance(s, bytes): - match = magic_check_bytes.search(s) - else: - match = magic_check.search(s) - return match is not None - - -def _isrecursive(pattern): - if isinstance(pattern, bytes): - return pattern == b'**' - else: - return pattern == '**' - - -def escape(pathname): - """Escape all special characters. - """ - # Escaping is done by wrapping any of "*?[" between square brackets. - # Metacharacters do not work in the drive part and shouldn't be escaped. - drive, pathname = os.path.splitdrive(pathname) - if isinstance(pathname, bytes): - pathname = magic_check_bytes.sub(br'[\1]', pathname) - else: - pathname = magic_check.sub(r'[\1]', pathname) - return drive + pathname diff --git a/.venv/lib/python3.8/site-packages/setuptools/gui-32.exe b/.venv/lib/python3.8/site-packages/setuptools/gui-32.exe deleted file mode 100644 index f8d3509653ba8f80ca7f3aa7f95616142ba83a94..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 65536 zcmeZ`n!v!!z`(%5z`*eTKLf)K1_*F~P<Y7~3=9l>^1JvLws4+R+`;H`Rxu<avsj^^ zC_lX@F;^iuF)uH_L?J0vp{O)ZAu~_G#XndfH$Np+kC&HA1#0q>-~%@n7_IAu;r1_A zyBCA`>$`s&t?QPpwdh`Aw61$!f>w76n6~cT1g3SnFM?_N?uAC{x`Q&4GeBlQjm4k> zTp1XA7?~LuH+BcYBp)y^GjcO>GBBKCU|{frhzhGQFfa%(Ffcp-@f{#+CI$vp5SIZ# zGdM6p0*!%zfr){k0jv<D52P7PgGHda7#K``GB9YsdE_%XzA!ML#LWW+uv2iEs8^C& zQNqB$@b)CsUm(ANA{$AA0s}*WUQtS7Ng@M7h62>@N(>AP=a3XJfbDhAgD7J-q75>S z5#q@Y80rq7ij49GYX}5(yQpyV1~7JUIJBHB{TUn@rhO>9`$eydE^`)Rz>5kl28QM% z9LE2RZ+E(=2pnTj>MdYweOnj)nyq&>$WPrqDiU2R+%_?#%<iuhY?Ml+TL0GxglENs zy=VmM<zfDA{QnqRjN5A_<Nw_uAl1ShY|d`hcWVx}{;%T$D-DAw?RHTSh(E@rbj*#B zAucvL@^IrD9u@|Mg$+WE48}(~TU0n$7#PC3x2Q<4FffF7?*Y?Y?A_;E4wMM@rl>GD z+US?E9CQ31)5X|wp!8#JiwX}T14BS>kBR^j14CeMh>A#1uZxOEK=_O4ydb}cG}NeY zFz~l7VPIfrs8QjG;cuDAz`)Sk1J)SWI|Zx}qNmqKMI<onMI0{!L$8a9Lh}(3M966$ zYN%o1j_Gw_;V$L!Xt0PW5e2!YH$;WU`cM()F$M;ZVCnlThH$X`V6%FssK_ugFa*8$ z$;H5s#hAgu$iVP|g_D7y`vaKW+oGbw%)k&3_F@Ys$gvu)WnrrBaWF7|)pUOd4|_2c zEG^RAqawh<z!2YkEYA4M3npF$hQ=eH@H>142Abb+1c!!&ch{)MbRS1{eHKf=i!KfZ zhVC2{4RB=3bjC7tTJY~<59t2h8KWZeViq{Ocv=sX2=VXpXLJvI(E%1=X+2Q-u8ZHj z!$(D?<zz`Z|GtYsFLGg0CG5>LDgq28K3y&<GN5GQ{Q9zuQmN#(!;Gau#s@4xsmet~ zhJk;|0Z<CN_`CIXi9j$Y{Wx-fyv)P=+4y!tjfxCI$?Ps46`2k`x7U+EjMm#FB4Blr z91ILyJ}Mf`N5E>kLsUeLu`&F2W$1QgaO*T_YB^bA&c9DQ=*3MQkbx`^54bbB2fR2A z6DfVyV9&tcYWDyC|85r*k@&dS=;k9FhvVa7yAOd`@bIfqVPPm0TF9W_$k2MAgfojF z;J+xt0|$m3j0_A6htD*>i7-Bp<r2{8qQV36Pp6BDNT-X6M6ZjAOu%s$6&_Hgd6C8r zatTisV}^mS1H*9_6&V*${VOW)z=5ILMJ1-!M}-BHRwaV67{HJbL<VFr{1@eU;K0y& zpj0Mf#X|>%7s{**49y1|0$%)M2ARlVe4zPA#NqA`6_#!v6`rjBL7luHm;M*!0GaHg z!qUs45)k-blm%i6dq%@U2Zq->x>-~}`p%p=15F$v;Kb4E$p9@Ex?@yiv=8kB`O*4j zZvj)CZtoIs72fTlBGJv#(Oba?DG#~?99k}w{?tD1Xnnf3gpIN0UU!X(NETz*3tcu) zj(w4F;-LdW=!<G@28QnAXgO#f*!+9lKkBSN<x026#-Lsn{fr|I9T);$c!G5JsHk+a zY-~Ql(;L9}ni=6f?L%(XpL=WA8EcNk$8{f#jfSQ8#y1j7$mNF!69Yqci;4mh149M_ zBLhRPkBUTK76T}n{)>t{Z~$d&lw95G!Xg4HHLMSniS&9hG+5}B@PINiDF0d?EPsCt zTo#CUK*OWUgAr7a{^%Cfc;vv)&8zdsfuU2NThstVd$5Fc25|Jcs7Pcn1iV<Z1(eU5 zk8m{q`(J7Tc1VWABL{{TexSGnMXDwfC{lTP-I(LLdsIM9H$L-1hZB^mLB2X14)MYi z6$M5HhM=$)CTkcN!g}|x=zxk5=WYfDQ2D_KGD867J_qaL#R6R%EhkI38h&z>ur~bU zEq$HE1oA}-*q98FN1)J-fRxCs2TF{)d09YS5#@N~z_5@9<c}T|8Ab+%E?xl;2V#3? zi;4;(14BoTiUufDLsU3|dRtVKKxOZXj^F?PcN_HjsHg;nb-Ji%yiou3|9|(7<|6`~ zH7Y!<|4X^UG9Em1V0Z~?d<J*NsPKe#uTjxqVqoZH(e89nk#PVOPH&k(!4=+Fq9XIc z?dSjhooxF-$)))SPxCPr>-%-`;PlWPqN32vvMb<)GFXXw^AQ%1^zWKyVEbS2fQ6wt z!BX$*q(IdYSkt>7Aah}w{?<He-lJl|#K6E1dz=lFaidFIyM0tRx=U1e0>fTxSpo`L zj<Ad~psY9p6wshpD`o%*^Th7}X+(;+Vs?1MfyyXQ#S6-$K>>j;+W!3iAMoM;D4cr0 z9&bJ(5DzNC?Gbt)CD1|v1xJQ%ULFNUhAhT_z!x%q|Nn13!gEM~A&V#D!xsmJ7suoo z7>vJlmOe2)&>hQReUE?Y0qbL>3NMo685oW;h%qoQgn__|S8^a{iZq}2|MDyY1B3Aa z%TgY&+L9}su^hoK<})%dM0S?``R2^yP+A`RB2borA+q_${}SouAOA|kx-T63#oB$M z`Jw#5hiuF|Qx|ACGQ4KpIYY>i;hUpMeW@l$sU%3LNcV|@KUtd}$RB*b#>~<SQMd!F z&_Si4MCQc_IaHSgKwakh<iBO<lTzj27sb2`4BbC^T?GQd{+IFuzqrZAz|iUXBsl!V zS8zQebKLdMzyJULzu;tGVCZ&z@`6pCf#LA~QjQlsAYUBb!64wsaCqSXYe$B#ERnd@ z1EuUcK+X2oY}UtW*}IP|2FZXD***mZhRDdpd$d8Nd#PL&OIW8VNbbc_6baTWsff74 z#+P=2%ze$e5Tw47hpG9XLh~V(#-E_pO3kaRe{sf_b_xhMGK6;@I{1UNo23=x_wHZK z&*cw3XX|ER2L%y_^|2CA4a(GM*nCjIsqtrlfFncAxp?CPafe@AQf6Riur*L{WMC*^ zeKA{+f#JU?$gUSmiVO^qhr9oWcE1VhF699G&-z1=Qsch_AxDOCsqS;y;6Ohp5con! zm4Ttrj|bF8iG0n~d`uzizo^6m2Zp#<hymTM9L+yOYQ>rl2n4)%ssai?o<<Ld`q;zW zt~|{L6apYx5IVp<w?0@TZwt0iqA`KzfBpae+6NE*U<Dg=NST2lGWIY;ugn7n2AE!7 zj^>{t-L5>f!caZUAV*Hdp**lT^$$Z>uj`+H|D`;j2rUOW@I&(vp4M-r5|*xiN`zl@ z$S{EFVy+kUG7JpezJEG7x{t-3gwz1tAu2rGJ}NA&mr62?4|KVxaI_pK6>IzjD*KE0 znr%C@z+wAxsw${<`q})8rO5F6&E|*9B|O>}JJ_3#Gd90uEdADf;@|@g=7S(gfcaqe zspdz_2VXLkuzg<LdZ~m9qV5$)or?-b{NZjF6&8r~XFxeTy!9l1%Op_73+}$zU7{lL z{TQgr-Cd(1P|AJqB@=&ZD+2?=YxOR+=3|TyvtBZmXtx|F(TAukecFBV;7g{`#OBA$ zCBg`0EeA@>n_n}Qz6CX#qvPTae?JZ~xI_$Q2!G2A1_lO*Xz446AteyW*Nmm#qT@h? zQ2gOe@#f<!%`X{C=I{Fd?_XUv8}o(c5C4r1b&EA0V_C_-$k<qNr{z+KPRq9vx$lP< z82&Sq@PKHB|D{Jd#a~M_J^~FLbc(;`Ykc&dfq|h@{56a5C9tW+2SDcX7$4|lhuBg2 zt@$xCe``6Ur6mAzH8>gnFO~RTD)PTn;D0Gk)_+h;2dIJyC<$n~2@DK2z8x0c8T-RB zmZPM$+n2}sbSb-KtUzhuYgWrxfs!oCSP_tbL}>y@K%yklGFAp8pit@$5>P1du#8nH zwX=-XD7EV@<uE?rU?Eq+=HX_2xcpm#omHu+_309+=2`(}{-&=C3=COJ|4TWt{s+DY zRRg(0z^${C<Fz<Q_o3siKNuMp7+!+<$JVDym^vgu=Kb%C{bM0l63V}iE#L)*8UsUQ z>wywxx7T7_Y&QBOyf!f<oHlx;9G#_qUNiUBF}hjEm0q#_U7~6kD^eoeeO%j>!_rlv ztTq5_?f+7d7k9t`AkbOM@tU*SRmA#m2~&qex9cD4!zEtUt{g?Kma#G=l3;xbWv(!N zGB1`u^jXHL@VBgHU|`TL{bO0GQKlUBzw{3%XjNV`K~%i#Wnf?c8B(uZ%3)cmP@dN9 z%42=F1Qe`gV7ow;vRlSVKzK3`IRyw$1;Wz+@m{b<f=uEl70VKf3kHEsgBKkVpnwzU zKK5G6GWJL5(=4UPPLA$_uVuoZUX*$9Qw5|%pxYH>7*mIY@qzfb=#$WL$yeh0P3e<6 zKv`A!MBx8YiEdvJkcje$z;0iG|D{k)w<}NJ|5AbPH>3|VKVXKH6UV_7qe|>yYhF-s zT*~zM@XHmTvIA6RcDr(fb$>kO#sg|fC%;HFVqoZW<LLIt>E!G7$msNA>E^TMEs%C( zC=u%B?U8b1X!R&4Wq-k-&%n^h*6qe(%{oESk)cGa+l>Pu&+(!}9b^tmw;RVdhXSTj zk!FtqrekhAjIX)6IXd~e9auWuSh|nJ#U5f|0H^upH=xws>-*tF8YnxserVpYhJk^B zu}-+x^+P}w2PhZJHvxqZ&ufA1h7+L5&6k6JJBvs21CEB;KMW=8-M&AX6AS)AgRI&1 zg^D8sL#a@=D@QkPg0v$8|8^F~<_8?HhqD+!rnUb6|35Mknx&fGC<Ghdwv6Q|m3`qN z&cFbQwqQsT;l&v-khP%J!E4`cR}SmLC3nI)U0-y%J^<Ci!T(EndR-p`9Cv;4|NsB` z<F0R<7#J8{IDxx00{?xVbbqK|?{<CAA@LflF8IX+6Hvw4eGDGE;DSB4J653eb}75@ zftRxw7#PBvf3p;o_E!IC{a=>X?aR~c%F!jze1N6-AWO@ok|3+VKc&810e@RAmDpGX z{w+1{3i#J@sYJ~x@L#E7SHS<4OC<tUf&WXnn_d5~Sl0e2I`rC}f1AU9{%xNBU%T;d zbNI)<&GX-D8~$w$fBCn0{(Wu4zs=zf|2EG*uQedHz2@%{Xt`7(VkKBA;NbY*^^axj zpQ1O$2jZho9_HW1z`u=C`{3(O;J6Fl|ALu;A^g9n$^!>b(Eb-yc;LX$cpN0!_&?zl z14B8er+F_P8rU!9nlXUXy?A8;s>M5m92s6L)Ma4E02P@3FEk(Ffhx>!dE~$VF|GAL ziD-ris6GB)R0G^&D`EX#%JKgKR4FJ%Pk>?+Bq*x$z=7dR7RL)EP($r-7RL*F8Kg$S zhu7TQY^?`MnEqb?HHb?&iax*^0H79x@qyR;tp`d4y7^j9mN5Ol2v);W^aiG;*>;OI zsHT+60MRd8Eg;1k7uaTyP~?kxa|VWtgoh3c86Kea@IsKoB3loXI%TYgbYOV#*NlN- zhr>e$hT|+ME+7TT|NsAQw%q|THnK!I1H^do)*NCkPZmQK6R5ij5;Z;$dpJuXL*T0e z!;2Rp3=CNuFYG{G12qkdZ#!GcS|~U&@V6WV)jYB$3XTk2t^$idji%;W9tQr_xuCAK z=^AZEh8G4p3=EOoKRRn~wEi!t_;0!bBq$9Q{Loo?r?d7+XX%6HcPyQycdWk`g}?Z& z&A?#ER`S;Rdy&_Fvlkz=LCw$?54AzX!2j$2A%@-ti$V=Mrwz(CJeIXjN?9#kAC&Nc z%&fi9>H44>WJ7oDjo0%t3LZKz>_`EHLHxh}|06RhK>QLA-yg(>HD={O9f?{2hEk1A zuots9UgStIFhqi){m<Y3|BY`uH`fX<lyGEmya)zK9Dczk!oUD2JwXEoAccqjfjbD$ z6qCh}#Rw8z3lq%(k1V{H3*jHmVgw1i=!0^*|A)Q!tOe?Kg}sQhW?%?=@x%&5mJ5Q& zlVJ81FgeEpBw}g~BIQ5{;gzxj!wXj}P-v(u2Br2mh`X9?T@)M{7)x1S^cX`j#7#qJ zE_k8-7g9Q9MPwL&BKx-xq$~5M*L6m~e^HYM4h&iU;yY{q?C_0ZU`VrM1&v9US}e3- zaA0WM0pfs$`AgMzax;RYJ0ut!7)m9Zca$(VFz}TL7@xG<@PfgCfq&}3PTwc5nL&M| z+s?r+&f9|%T`5PF%!>$6s(mq67u2FG<;W6v;SLrEH(_AtjQ#WC2QNsXmLp60h1#G0 z|0Dm48a!}dSiAs~jsoo%7#7<oI5NEGv4yJQc)<Wt^@7<ND!}>T{qO((BZFTo2Z>uB zD`5|KaTg@=qS1<hp(XZ62^;@*-xIHyv$!Gy1Hv*uetN<2>Hq&u*9V}!5L>_txqtuv zzi|Ec|9@xgpVy|{u5Y?Ix;Z<2?*s(C*lr3cWDj?zzUX$n)9L!4x%LS|DO<n`MvxZ8 zfB*kOQ&zX@gV(~w2OK~up+Y-A#n6lMf(#6YU%a<tV0c;a@Be>rK?f=w!d?XPGcW|a z$OeTJs996<V&$j*|C<jeSbr#G0hJvuW`g++)*ng}j1M^cXJt`vWccpJ0~&oT^$QN~ zwQ2QGaAat<XV?vzAt_Y|e!(jY>R__B9w-&=brZ>A>U87iWQ*u@ljw9~dCl8x-&x1e zY1bJi(HY0m=*Pn(2<oH8J4C-`GClw=m1;Q{O4P%;OL@M#@qo-NkqmnwEXu&pn8x$} z-T(j1X%Y<0Y7EV391M|hv4_7o@;H>RHCJ*ll&JjoWU1ip7VKd9&&a>+z-u1<eFp*q zUcA%=g<$iK|E0{FY={4|LDFnk_lMWQ-M#`{t{ne;d0uP<6<l`zOV~i=OZ{`0W4^ib zI0T1vf9SqhV$@vE!BDEx?aIN(_FB7(`M)nm_xTsK|NsAYZnpbhD*WOqKLbOvg;ptl z_xTO>FH%4T)^ae^UyX}~X4J+v74UJZqn)mQg1cjRKrvx_AiTR4)J*Q}UGn$;|IV#j zK;+&#AhLA_nEU`H&w$AnVDbW(JOCz7{Qdv`#rJRj|F?cCHGSdB59@jx9|!<}7nk`! zSyrTB?}oqs|1*?ub+@howWJaX{(?pdPH-_Wd~@S*D2)qy;lRtl5V;G~j|cT*p`!wz z0fFuh2mi4i1dR%81$B5|Gj*Q=4+%^Jse=s(fW`xUvLX!$Fm)gL=AhER-<tma|9|6? z);IZEV*mgD-zD7HdjsV1-UncE&)@(5JEp$>`~QE-CH@w9E(QkY=Di>V44re2{Qdu* zzlWQPfuZY=j)F}@xgh_(L;U+1A|5#~G(X@s{`Q*1_?z(o{(UV6D;_y8WU(Lo!4lco zI_2;G|JDcj+t+e3F#K0(<u-O;Xzm4t-2cw46F`=31qa<$aFA{V2j*6AAa4Z)=F2ip z1_u6phnim~lz272U@kFhe!)?q>fuo$+Wdl<zcm~*G~WwS&+*b5&SrUO4`(yJGzN|7 zfz>pC`V}g0DW;baoD2*NzqCqqnvb(|g5$Zn{*U#)&b=Vl@b~@%4U&U(vV5Nl5_<U@ zG>G2{VrC!U;@@|w*M;LkCz${83<m>4=T?x<ULNFt7^{YEEJ&8WcM;fF5c~hjX<!3E zY-9sL{Fl{WQ#?yT8-8V!xHSCADUoRSRnFg<%)!9W2zC_%2Lr>)5RfwKoKi7osGtA? zG`3z^f-M4tj=)P@I9uVRB4|*b*~Y9?wxOEQq*UA)rnLdC^&dL}gN-p*fe~22QjjsA zQ3yy%czGA3Aceo>Du~YHZ#fI1^Z8qjg6LBImc1alg1==eh>qZIS<4Oz9#CrNZ3Shn z0RC-<0y@Ew{DQ+4Tt{@Zf>K^&iBfkjDC6~R1*N<fOMd_V-^J_<v9{#^f6J0T|No<? zX!`yC|4UzXNJ9CM!r%Xbk%57~r4ls2`y-gY{}Tg<3yS>a7mg(Y9v&qT9v&qe9v=Ly zlUNxT8V)HOZv`bqP`4A3`kTSQ>tG3v&fd9S{{H_D9@6TZ`vjC^TNi-xLazrC1H<uF zP+Wn=FJCTYVqo~*3JN9z4h9DPR?z4GG)h46)Cn3afJ>KhA*8y&`Jwse|5DbSpca4g zaTbU<0-z)XOO~B`L3Z=EY-C|zu>M!dy>N<<BSU8^NU$4B9&ZKZ7?3Ak*0V4$G{1=8 zZ@I<9z~JFgQmK8AzeWB3|NkIA&jU$fT2W%azuo;$Kn7^&uD2EB<$&H+P_Yp3!rK~D zYzed;D3L$j3d*h^OI{0ix&P?^D?AQX2NHy6gt+RZDGLKbH)v!6lC`Xll~{Lsuvnif zF@bmwlzjR3Gj#TX{7@n?Q~S`xA4s0~zzj+;AV0l)%FMv9a01-F0WS`Ln#eEDfyVNG z6!7=|21oc~&>-=TRQ{elVDWVRJ`+$=>qlluVe^l?5{>2``TVU5m>C$pfuo@T;%p8E z28NPEXlyVsFuV@!Hizfi7giRa#sz<i{;&W4A=(s5c+$FCK}j>MlkGJJgxSf42$+}4 zKmiO%K@cmrKz&QF!1sd;4WPuhk`WX%-Qg_F$2neJWn^F|6>RvGUYZI?PN0x{9cc+p zT6JulV7hTHD4{K8U|^`T?*^yK#$&OJpcbJLHv>Z#xX_O5Yz39ztp`d3AW_h{b-~~N z|GRIz=7Jau(r)|>6ek>=tsNjK_dlJjJ%9iIhi1zE;4+zi-=Y6tD<BaU@E>eUFIY!# zz<<*S8ApZ}j-Wx?{};OVf>M0*5t+v4pd41B0Le6^5>OL^|C^?OlnX(WM@Ba61?BSe zQW@)i$chp`ir&hDTHqHVBO9!BO9i2E!pOkj49R%GFPTB@EO2;$qOG$RR4Kn!X?{`6 z-?HrwIC-~pg5n%hH*8}BWlxX_bq2IJ7XX(Cng9O(?*iBBEP=;bul)W0-=L%Q>fitW zkGF#AA<zuNOHf<z`$16ahriVuWb$#AZwD1hBp@O4?Vv*m8~=XyKd)IpnP=u};coXo zAVKDtubGT5ArwhlU#l0dVX;0|EcpFK^CgDww-BC#W`+q24BfZ7f0QyA-);uSHA5{A zB-X&mL8=*C0)GdWL#Rok`#AUEQZ_}fqkBs~cZ0*{Ke$k7Jy6dEk}lEh2ItY4K>@+x zFP@k)Ff<=DX#Q#0ITxHjestfeV`Bz~W(S|&>%G0MpS6#<K^?}#z|aZS+_@E;Q4?Da zl(2W7Yp^sZ3HuMuyWL>&7^8v1Ydg<0OM?<N2M6nOrC+qc<<i9;uQk9079s;f3ar=c zo(&cZC9EK|Um<EC7B%k$6*3I`tudf%0?w=}97>E<f(ENfI3ZD``&wcJBaEZ{ntKIP zi6BHq0TO+nQ0oTQ+S+qL#hCV7P^3cgFi)xYe{kcj7o3rUvlLzwd<A#q{)3w!-Fv|m z5LmLe7nCwylzoL2034Ae(hy@<N`=CMvkV}HywHP~(7YE^WHCU(yCkjkKwVNdIN&-V z)y8(V|Gl6<56EKcb^Q|1+dAX#|Nm|QZZDpiLQC0F4NI_KiNgP_AW4Y%y}n;weEjnN zfAe0DZidLxt*>R8!L7IduZ1Bo5CBp6;?$S_|0AIdw;GsROF(W_fU0N$8FYlFc`vBE zU?>s(zZJxI!2xO{ECn$cBD=vYzAoktaIFkl0@B?Js=m9y6;juQmk+=G|Bt053n>u0 zegDMA8J~@QaqIQ}|0fSm5Yu*G5Z82IaMyHTSgPs3@KMu&;g6;RgOip6LxHvfLsm#e z1gKY<%EG{44C;OLy3T?2N{>UPpRydX6ym~ORI-6O5!T1~TR>B`i$QJRPSXimjtspW zp!(#s!7&FGhGvfc#~fI>Ix9GiIjArkb5P|v=Ag#aSz&R^!2~p=-^~ls*LV=5!}?&+ znKaAVbNnq_pw#Ai0c19)!`5xl8^O}cV%_QbWFJ`JzZ$0Qf5%-PfKt}$Xpnneyk-Tt zru9HcShw$kULNrLTPI^PE670#y%Rv%UTYz_s5yayp&>z~0p_IU1Pcb3n*^D!SsyC8 z^xyS?r7cK*&D_^)-C$O8>H~(>|8=?Du1~r-nt%Q;32XlOuOzUGc?DyM_X>_u?!f<| z4v--%o9@yF-N!)lM9<_8K4W7xflQ0JKIvxYWb0z?aAV0>z|X+Y>&6rCqD2ehc>Wg9 z`nCUV9RFP(I5)dKVX>@zP&3*1cK2tH38tW+>ShCVFStQ7j%*EnEDf)Vj=8Zkw%#sf z&H5JcnydS;2Y7_|z}JBPqBfw_5I>s#|1WWF{a<1q4tJYLr=2P&V4Ht1m4Zxhc+J`T zgSnKY!H<Ol;i`9<5LcC$|99hf&DG$?;&7Y|H2>(_{F|A-2h@T2503Evq81Mv7>p0R z7DVlBH=p?bBAE#`R0A4~HvVRPtW@^JUQl%jnx2IY!@7dn3rE1iu*}^K0<f-Tw=2iu z00l?boLb`>4N&U?G|p`d>MS-dz47P&e}>>JpWfCxfBydmtv2}l1XP29#5-Fxz_qCX zs9$%4r?XWD++YM1K%Kqdj^tEO)1h-Ns8Hzy7dDXIMq1C*AAkS<PwVM@1E%JJN|Cgl zR#3Mqt!F8yKuqgd3(A^v`oSe)w<}ApFU#>(kWGvXj0})wLT4|i<<{-_2hyrK-U@P* zI19sp<6y^vl5S_~lRy9e{}+vT;J}c@(0${-Xb5O&2H4>N|3w4938|E)^>!&o7Sjt~ zBL;@Z43G)`MSUJPfL7#qfFjuU4=8v4c@E0m;GvBFrl3H3p(O!s%a<_6{(q3g^nwqh zJ@(}$*nmg3D~It(YnHP&gd7=4gdLlI>K1+M^?2L-Q?Q&bi#H<na5u}@J3^qqXLb4i z|9=)=r1c5u1Ih=R4{*dDez8Cj)EX;g+u<PM$Z)v%0LS4My)Ypch!78SRN=)V(5SyJ zM_?z%izd)8Q}>4#d;b6b-)RsR3z|O6V6bptNcnFHT6qAP;p@y%5$MfP5zu}R92O2< z5@+c8$M|SKXX=apr9Zk||3HhOPS+p3t{+lBEh&b>-M$}EI(b1xM8?O*MRz}q4Fs7D zSxs=}3^-hx-$+2l7m7KIO+l$ByqoQq>wkvhu3td0(OWG5%2mAGek{!Ajd?6ytbF$W zf43h`w;Kn9KNG}v<@n~nlE&XE1}dU_1$skYbO!(Fj^+W)8u-3x{{62czSonXmnFK} zr%j~SrA?sI^+Pv9r|XZ_lO-bE*I%?4GB6x-{m<BXpvIxzz1#Ii_l@Qs|4Pp_)c$8E zQ32)de<i$dC#Zp}^yBFc13SU$g&2tM`UT>{!^d5}fPDP=WVbIzqh)e&?t@azX4@X{ zT(3d~h<?$m2&&3JL-hRJp&VI^LH|WT;>|}mx_x<Gs2hT(!7U?rN`x{XA#%C<#0xEm zaJTP|P7fY*Cry3|2^E-=nn8Tm58WOd-Pd32HDF-a1u7yegL(K{g8u*i4>k7mi>n3< z3@>FsNdYu96&7y%4KzZl3bN`)Wb6M@bxYO|1xJQ5`7p?2LvPy)W(Edph#+(GiT~Xn zKm%5%x{t@h$_J1kpa~!FjJYc-0|RKa4QQnek!Br6GYdNR9u095$Wc0$t~@0~nsyMw zG|;pc*ptQxr|DR_3J`1JUWkcVJQ)?B8u>D)yIsoB`mLn2*|tT?k%76?Ig90mBnxQ8 z3TXYn3v*-8SflF`(2~8dfEN)UZX`6jyx<0pvp-=dHUD4A@tP}(<pnD<Xyzm=i{Za% ziKZjNf6)X;i6izx24vNT|DrLVa^}UE-=OtEkuRqI`TzfLmO#b~kZWB3fQIHfW1nO( zzL*9ws5ACY7IS=O?E`CD&{~q(@b2#ipD}?KjW8dxlqhlOX87j7(_F$I@ZuC`m;qFe zG5>dc()?efMgy#@n}rRskizAG0|Qv(zX{umzyJRKj|B5NW!T(b&x82~wg`q1>?+0= z=1d^pfOC2<XbiF2ji>uW!$W4{+YLXNN*z{mFfuTdSa!Q{gm>F%|7iVRrxP9!_9F4; z|NoHzFP^)A@(GXi@lyV7H=dRQmHf>Q{&u?Yyk>9q<56fn{Xf3jjiWh@g`txzuKO@- z_!4AI>$g(Quos}xEAq8|*ozua3D<g{gths^|JU-M@mdE4h7ysm7e9W07C%M1GB8Ab zzY!^Y06M^%C6ciN6rA6F{r?YYZawL&y_3cG!Ug1+&e}hqB~A~l!HaYFdz%>;Ai>hh zvcb}#Bn}#&VF6(;B=3Ue6pSx9b%y={hgCPrhHej@ZwH%8^esa<N(BR6c!6973Us;u zu1{V|TGn!uihMiB1d0!Rs8lI4r|X^0+CMKqeLA<-Eyn-5OCNxZ`){%#?1d88lEbhF z5CSJC4#sZRCne0?u6JIP{{p2C#usZDKrxZU_(C3J?&0qLpp3ddLcx)t+2*T{2xwkJ zu9xMjhlnFXrv<pZ@!z2NxWtQE&~hKpxI2$q^FNiEOU4Hr;^PiCtAJI4+7}<Y{|9%= zf>KA=K9KJ4ZoAh1CBn^hEQ}?*;r}m(zqs({|Nmw+hREh)9F6}nL>(Dw?toRsgJ%Uf zK`Kj`1O8t|$UlpVhE!DDt{neOj)IK+FA7=7lf{$q02DV-KS6Qh-dX#^__n1iD65o8 zyx1biz>p>Pf=L24trPGV6b0R-9K9xB2V2UOuyh}PotGu?f)h0N(fz~vcPamigFpWN zKh6MJAZvW!bzm0Pi%3vtb;ka&lq=N%2S)gd5>OXCvh_fzc=(HdAiXcT;kr6wpS<So zw0q4S{^Bu63Kko%?C|LaC=$3{Xh6e0wEGRH<<$%ETC*KPsc^sxC6Hw6fl`hv!51!% zKr=jMkfl#?v4^vGG8n!&FuX|l@&A9fFNg7e>+@xLSq~zNFMa=L?aCv4z@b$B#qaMh zUxb6ei{|g3PMe7FftOc7J^J;&Jl!8VOF68+mogiFb2Gl(8T+L9--Gf@Si$Ape2l;O z*@w<j(CoK0Yk`&{L%Det%L^Zn!#ZpKfQn5IGe~I$^I<$_@Fw<&_5BjT|D_z^!7tcu zgDmB-zF(Rcmc;=p#8N<wq8rxtOMNVD8#EmmN{qu^OacvOv>xDZEdo_Qt^%N*MZkZU z7hbx8#^V2Xm-1w>yZ{ZNL>{)jU&`AJQdhzTiLCC!FJ^rI|Nn4k_nYQ7ES<G~x@$pI z=)srlY5eaGyyk!|jGd6iU(cS#U+*peA{0P`0f=w_5dk0~0Ynt^?gx$0c$Qx1uKm;f zG!|m40LWNZj+xy*jDKnWYJScSqFVo#+I0I0bYE<KRNoo;#rjl<koKv-fEUG}*_0z3 zpd}EYUs^AfxH7v6Xdmiy{b78dyY@%7@0ZW3x?MS5>wUl9d|aTj_5(<mqucibNccmy zFGqK%0P_j$3qe^7fiLR*g98#|7Q{JOJQ)h0G?4J^|9{Z@a~i+K!Q-w^K+UAr%Am<O zhHeI1RtAOxC0w?$Ad1=ez+q_Pzd7{@12oD&YZQ~d{r?ZiV9jqNj1L5Ny8h{O{nF|B zBX~|k_X$%51_g$IxpShlFP6v$&NV*3zX&87`=T@SO{eb%@N#qhMV+C4I$eK6e|P-@ z+QU`C_af&1|No#u*7$$}s2q(xdHBW5|Ns9l2CZ{5J^-;U5L^ow-wwC_T*7J@%TuoK z!u9L_|5;*@;1wX<A3Hf-oB{W~MY@l@JPS%(t^&sYtq+$-b}?8TE)mXRinpxg;co-Y ztaq@v9b>a{>-H7tK4^Wq#KA(c#O5_KDDpyi+&gRkSpO=n>=Nh@b91neD18wS_~MNN z149=>WTcILiGWQ^36HyVEl+V6c!vmBo2!KN;S!<O5OKRMjt)Ms)(_pTpyfyET^v@Y zOB5S^>Xk@<b;=xL({qEW7C@*5$(0FqyK;0$yvX?S|9_U!OS%95|98kCuP_3yzu^F_ zzj=21|9}2%t~}koU%Em?T0$6QOXa|G>q6bWAG$k1D{uI>vp6cd3V=ctw64qefCIJ_ zI9V*9b{EJ0QXX))Hy;szPUt};vKU@8g3}aSoB_V<4V1N?+JmZF5vV3e$8PZkB}ax% z-ZdanbOnf%T>>Ia7l26HIZBQUX+5GRz!dKuFeN(!OtDS@Q>qidlx~lbBg342)&ok8 zpuG``w}5Gu#XFQ78G2ng79RoeTOa)S|Nl5EgOVcysLQqxB)NEtq9em`))k7544j~T z8tWQGkSugveJ8jBx3C2~_6_Q8Li%lse<*_1D8E>*!oUy-TFL?H!ev|mFKz*K;F@hg z3K&W`vKU`<gVbbz%tq<Kojk0&gqeY%M5*}&ONn^%3*HhQj}lOZ+QGuYz;Jkn5SV1) z0I>x@Y*2;T{UL*q5i~;6>n0N(@Z$H?|No5-@NYlSeXz5R1vIBz$8+$Z0QbS(I)T-z zSMSUabz}hTCvcO|KDQsFu}g%pL%_km^m}icEF%NMKG29>mk39PfP-J@_ju?khQ>EC ztWfWRd)&d{y{#{P{r?~Ezl`O-XvPBvhW#LYtq1s9euEcRceJpARwz4IA20gS)%xz& z|NqBYK>`Xb2TJsM=f3|1N`EK#w=r9vC>PT{=n&95g%>2Br4aPO;wrcha_(YwZaGkT zBa7jG8BcHPpI`s~|1V<+2=4_O6aZehQR&LSV0=6He;G?}D`<&GI9xjXe;H5kizsJM z@^XPH`1AiiLIHSI1+2&vtVjhEYCWzXYrY+1Ea7YLVUrc;>R|;L`&tmxJ`x29DS(9j z{Quw4!v+ej*Br-MzzhbESNFXRgM{Mo)+fLI|DO-4O-^cp+1*n?BE2nqAYIHCdZQGY ze@mA0H2Cnz3Upm;IHd5JzxkJBIUh(sq3dG9D}@e$*UZNl7#yw77aanP-GMsy@;5-8 z`z)Re2T-AW`osVKFJ^Fo`V<SntM=RrN@Sbsa~Mj*yUR0Lzm;-iDZI$L_5Xil_puj` zKY*G8ye~d~2aQCg{$c1Y&*&_DVr>du+Gp1Ktwbv9zi0uZ;m;3gGnKH1y=eaoYITDY zb-HJCgH?ByJ_-9Tn)AQ`R=mGp1uf|9>n?qg#rtB%xBvg4Yqgu-2m~A74hEGtCD;G| z@02~G;>gha?_a6haaIr$RE_)>t$5(TU=jPL#1*=@@3l?yzrUqI$Vy5cI551v-Tdzl zXsO?aZU+{G<m)3Kz3kntKbjK?{&pXOEvIaLqW~T=fTUOGa)NO1+Jo*N#@{+?IjsMc z@^v46u^rTZIq-5WBLf3yh0FoV9Wx|B>#HV$)={}WX+B_J3)=8m^t|!^i@%_mq5?(+ zhQ|Ld!R!>!G}rdy0slp7z#+%q5(L^0;`$;W9Fi|US;Cl+fdQOJd!1!Ky|GLG{~KR& zYCgi#S<TW}%wrk)g1_wtXg^-<I|lxi^Puf`rSH4=T2At}90E0>wz>W1-*)olG6oc5 z1TTS_Wlx%q@MNDf=q!EEyK#l2BghM{wYuCGTMm?H@NcsNt@RM<c74#*Fh$alfy2dG zmVcWYqr3HwvRB=;9Byt6b_}H#yGx(^cYV-&jH9{s0ZV7;lcJa1$2+T8jyr>TN(?X3 zfB*lV#n$P})9WnI+c`(lks&Ir+t4ws)4<We!K?Ih_vaVafB*mga{Isk{~LUmWmz1o z50-s%b8D#k&%obm^8f$;UT3+T|3Dt(;BfFP{n_oz@<IsIm2~Fm4CZ*v+*!;4%6uof z4?;?+YEVh_dWEGaD2?#9M*RE#AJpylg^piKT?J<Xk&FaTCOG!?|Nmy+2mfF6vx721 zXYHLAphCGjKBK#o<3%ZGtk0Fh+L?vFB^(qDpq)@Jn%;x*#EsV5{4H*b3=BIvKy`k3 zM)&W}OPiG$f<YA%Xp$;2veWeesImA5Bwu>xe^~}RhX{7NW!QoWQ_zy8<PZP<M|Q?# z1b5qla>f7a-`onA_*-9rCb?KaIg^pU^)6_QHSdcO@I(M8`#G~LzN6yE(Cy5z_yL&a zS^PxBk-_*tr|XmEAFQ<kY27}~0%@H*t`}4s85~}}0L$2d%IsR+E*}Y*j*bp-ki<)f z1gHS673k`b0F^Ku9TOx#a?k#Qb1dB1!V5t;8Sd~^pn&L<1&Ia!zkVDttp5Tu&Gy<L zi}%IbPoS*)S`{?jqR{vo;@#jEB_Lfd7~g=J&7ci7uUSCD;oYteUevw$|Nn5a?FP^y z$5NrJzc0c-efHz5AOTQjhc(H-Ewb*mJ)pYccDVK7l6+eaSx1JFjPAA#3=9m`hfCrt zB}${Z+dx~StPhunTS|a>E5G0U|Nnm*NY{(mj-WB=?zSxu<xmB;5DHAe3jS{cnfKxl zLVWu>aPO=Qv}N1+aEXhhM5#k}+Ytr^23=4R4R|r_-T(jHZD$x57{E<)?c)J2n!!RB zKx@m72fQc+8wS$<A`7(W>WDz^zAK;<!fx9k<H%4VZaD+ws#5-d7t;0&4FAnvID_r% ztqVBr$^lxK&{+Rtf|MgeiC{Oo_2Ck3ONmnUfERKgMV9e@N`$)ISrEePAmQfY0{?wE zN{@%V`0@7t|Hydwx~br>Zc|W_3-7Mw2>*YryB*|RP<t%^!~umKoC9(boC9(_l+zmz zcUCpTS)AR>P`T#nKcF>H&Y*Ea=79g#nh%5Bajm-@<Y88jkpcg&A)EtpM(cn67SI3% z$Z4SJWWbyi7u|h4KK5|y{}OZ1zP_+-1MBZ48sVK5FAjoIW$U*R>97}|9$&K^Lu4s` z<G&f8IAITa5eZtC*?m0ju<-#<C%6Gr%*4O^|NjMOb8`0wNL}kzP@>dam%~sZ^FkD~ zRj(iiTH*e^1S(vPy(oGKs&IK;G=T~SP~WN7EvMTSw95WPCTP^#^$ALTJDA1uq85~~ zx=Wux`YmDqO<SZL8M;jyKufN#wH_!@T-YG($N(C;5f6Y!{=fGBLhFGNj_wA~7LC{H z`$`@=FoeODQ<rjwy|4p0r}aRIL`KSE@LU0OWi@EE{r?M{uAq)1sI$-Tq8-%bCdcYO zjG*m2m{uRY`2Rm>6h|Us0zRw%i?%#)U;u9tfO`4AD9Fp*A6mbaO8++%P<3Q@kqUBL z_XoIw4p8U*SlnTFh=>LJH<bXXv<9jCf1#Nd6juKif`SkfVtfJrMSC7NFf{XmME<|r z_4fb&ES`)7pvY}{{{KIk^V!2*uz;N3>H4I*l;gNt%!HQ?495T6JL^PR50t1t0<&8d z6qx@ncea5-AMDHjrB6V7P>^)i6&z~=b)}q-wRwY<OdNO102QHGyf5;=nL70k1Gq{7 zWnfrZume>SJTH7f3c#ZPJe_VipaGhNpp?_;mh-<X=LKk_6F!_P3fhXm`uzX@!^Z#J zyGuE;cwd-;3W>v6JTG*>3{W=#GKBlz6ci}kKVD1(jm=*Ghp=A;XxcW5@x{g$|NnP? zh>UFgR$>(fQTg9g1Qev8buN+MgeH;25cc9IDEmbI7o7qMPCu6aoouf;!(PO_{Qp1F z_*?jY(FqS6z<csR1AZ^+K?5zInB>S3c=7N&IB&!q&f>^80Sb8z&^!icD4V|p)B@^u zQvoey2zVg~GOXK82f|~9@Jt}QuP;D`xY<B>&mlYq2=69@=K|rKhVVQfyuA=!j4dcC zLDlvekU$piiwAFDP2#$Y*8e3^;qdB`zwtjP#!A@3U(|yX!(u5M5=+ZL8jrhzBAcPR zE~oW>iE{Xh&%gfvkF*A7^b(QA|KLJ}r`evNls){#{~!PV!y`@(v_<ZPI>_7?u228} z2ju{8^p(8^RlA_5<av<=VgC;c$4sEf=Rg7R161I~fo7phL8&q0z+(r7@c-8`wt(ox zJgSZi|F31N0CPY&>HoEi1z-*+X8&JnwgstR=r#pqsKuZRR3g@F3sT5X!rN>MQp5n> zu&J^TlqVO1WEO(*(Q#Ig#wq>|44vRa0@e%3%8Nlctog@({uWRz3dz6$|F40X!n;9< zb?Sxx|NonUw7(Gk4Pt@}1-tYGGnfyu6>JkYFd_MRF-Y*m<6oe@p#a#j7i(Vr2MzwD zW^@EPFhC8o1r3G%zpxmT&OzDU1D3ikgQlk-soMlKb#p<qv>qst2Bq%jATCPkHa_6+ zn*GJ3-=Ll~tVax*L;PPV(Cho+#mrOx|98i7^g1)zg4$r^{N1iEAiJ0Nx3fgNF71rv zI9SWU(d+smpxc!LJl`JhVmW9vIH+(G>T>1CV(M`H(GmOenCmZw$k$xPCp%()9CQ82 z;Mnc@B8%~Vfyn;?7SNv1z+TrM0lgrxfERUU3=GXj6hNC;EL^{ouy?zD0Cj+j54;xP z-|qTH*_EfE_6vB&)CbUxDOk5C5VU$c>_zbd&>DN5Za1FD6-}k$FH9bR8grnbWAHS` ziT^M485tN>IF#_dkOWI9fqHn4gN<*mU@Q^qjAL0Lz~9miYV`PVG(Y&)$=B%yGOYQ* z`{ol&oo+mxaV(v&e^!E*!|S}rIs6~8c)o<^MFN-&S~$-O8a3h&08dVrvWLBpa{x_= zxbc8`9pU^fpm9;qhBLcf55`WuZa)d_AD-5~JN;PdWWzzb-d@;1_MUXQ{(0@&d_tkq zjR!Q<QrYdx16q(F4O);P)_t(~fqeJHgTEk4uc6zvp}VnJ6iP(0n1X`?Uv$|qFeo2t zJ|X~0GOFEf99_N~9UQO4jQ_ib_quX`tvd_e+`-f7`p2^NPYEY9oL+<KPjH;ZN5?_8 zr3D5CcgJ#o<~l$VIe)BW{&s-&)^UQy2b=$k7rkr#FV5dw&d9)!#r)zH$k)w382MXF zAOa^r0<8y1d7Eu}gd7<d`CFtx9nRmNP6&UCBd8No@X~={w+J%>L-2kDRY!*K7ZWT% zi2-z02`^|hMc9ig_dxkX1bkx3K1)^5K5&L(thQ>73=EKSA6gHTs%1pHbYRH%%>-Jq z=m$4}AGS1p0>q547ti?^7#t#-f7p~+guS>0S}_04n)z53^G*{DM}~}$mktctCjtXr zgn`zu9RXF3g2vw<&hUj8@tVo_TSmZ32ZrGA7X{#Si{w;Ih?;KKKmSdR_DDN|6nUd7 zVu2{i5Kv%b$k2G{z!3hz!Vc``*G5@i{zF!{+_1h^qSE~Pe~Ek+130Ic`~{i!-|U4d z9|J>Vz<;yg|DrQMl@n-NUKaC<IMDu%<{ykDqFKx@0zsVC1EuoNa4!|h00sFA&42&@ zgLkdHkpBnjIzU=Tfx%(n&<#<izJbax(B3N0R;xcRc721?qt@T~n?McW?t9wzd!1RD zf3Oslhrckj2X#|>omnESe-wM{0If%|{!z@-eVqBY_3<M9fd8d`UKBqBS=4%<RIJxs z!1{QR16VW`Dq3QA@HbOHugQ!TSHJ%MAGsK`)eF>RJ^mFmJKKDWCG5o>umspit{joC znc$<qVOcC$3NMa70J$*i#Z<`pIIszeL8@E7m9l0@M8q9#R$~C|$Oj#=0IH@F@BRP( zV!{c?9016!AE2P<L^NSRB?oAbzxLk$|A$}XpZE_Q>IbRa{{R1f&|0MLHzGYi1HEB8 z9(-|N*asrQyMI_8E9UQJZ-wmCJI-SLujnJVj1AlI0;CE=;8PWD{J(d*gN!4?f3p|I zK!f<lSt2{xn*VDQy@-!H3|a5d?aKk(LB&|Y0@_{I?P$Y%u+aj%d+NRMCFuSs4+;J$ zhq@1e*P@`T7XeL&c-SzX;NR{j5*)_Ay^ziLQh2WmheYeQGU@JGo^B5w>z_rO-4Ptj zH?4mcaXB>~(6GK%^a32}D8@nDll3n{;JX6@WWCEm(8`Sf&^bl$MJ_*#j|RY3v~;Gv zI1ZlfV1Vq7(gF{sgF0lP-L4$EpdC{I5Sak53`gsM66<aUm4h$jzh7v6zzA)!bR(^c z0WXU=44S>+=w>v&1fIVEdmU+ml<@&f9a$V12HzbRUIgFy|Nn&oD3v=@v>qrC19fix zUwF+9o%ey-_~N?_1H+4)JOBS5&ajPkV0fVp8cAFXDl-m4^H5;ei-fPBq}cimG7{4r z7PGKK26Tc%El2mMU`xvqzU~{@w|SZm@-W}BK3()K`v4E~A?p*x9F~@)EZqk|DZBMR z30HRnM`!GxR>;;`&<J$%Z`M*C(9%BR0}d}i<1o#?8Tni8fh(+pPTwEhzC4|N3Edtn z%|AK#TS5KgZr%(TM}}_O91wYt`KR^uT9xdRJl%CM%_)`~4BfV1X<3l86Z8G%gFM!k zYaVsS{^@4uu1m4)V_-N?%6Z%^1(e}m$JtJR@f$()rl0LZ7{3L?x3irL<F|tNdbYhV zeiMi<XWI|sw}JS4wv#}7_Tz3TU7%6PvXm^2|Cb{>>r!5`gFG4d|8lqMkH}89gys|f zqvK)q5NO$)g@z-;VjB?Q03uv8KnuCRYa>9Znimw<VU__bCH&nVv%m2$mvS^8;ITed z^d|cx53?^vob|zCR**CkDBJuu1)1^U)<;nDG)o~P0F)TqZh_{+A=^H?V>z0CbJzQn zh;|>&Vv5v0SfZqTu!KYVU`dMh!BUqO#h*b3;efZJmVy@fy-WnnIDnkE5JbFA_+K8= zefb4wA5`~;=3^Y)Y_Frb4>!NyFR^KU!B(Q}Q6lrA>n5nB0vdLL)l&jD!FAp1b^Ach zTL>avi|qsXc_D~+&9x8Y>xCc!I&~TFLhK``{qrEw_&{^*14jOq8=#W`TpyIOXEDDx zboBp!OV=l$9>TE)pgzrkPS-!pzd1^{ntyYbur~i@DV6T_Pw4c$(&?Vi{F|fHq1!*D z)Az!0_mm#cN{HVarFxLm)aiStn-`Q~x<x^$hxwGH@10u7Zr?kggcTms=_1JS-}TPx z+b`-qfQoKd#sT%{K<3K-FHZ^nANnBjwPbfJM|bTF&<4j6jx2^3A@@O10G2~_m|(Xn z%vEgNt`|DpQ;ZM1cyR+(9D`DX4@weP9D&M>0duniG73PEn|T9P<b#%0{TE&EzyWj+ z&1-#7;lTh}&i26gq^&pu!vX#&2fGh~%8$m{2OxeaM-~U9Cx|u;9F5|b1h94B^!VQt z#CcHz8UtxPP{I$|YJCCJLS{8S;1GKllmNl%K<SpD(E_~6O{=*=fVotq+d;%ufpxNE ziKwk2h~l$V0#WR?3=T6vTW_7gP50PCEDRa@;z7I3L34B9vB<D+<NubnpyA0<))&sN z|Nrkc1#NBx)r0$z9y>5}vDqk;bATqTTK|`**eI298lP<a5Ay6!{%r>WUI>8JdbA!W zVRUnQec48#oZYR9t>r-JSJ07k@PSa)7cXD^{~y+E3fe6jZVcLrC;{4CxPXCy!N#_P z(LL-%3ux7HZwVVCSo^Ci7WeQMiZ?;IB{H(pRzks%q4j^sX^08IubskP1cO$&-EeNO zvyCh<%wi0F@%aX*&Cm&|N&Uit176hXftyF5kc4HF{a3&lrTI7u^Jmb&|IYtl7rj^l z%0Q|h$1yakGaP4Kq79kuG(Hd+9Upi2zbVN67j<A&ASMH-o&5wH8K9FXf{hP^b+UJV z>JH^O4jP?iuyo}p;RKZht{g0#!kw;v8tjxx1&j|^y8hX$#6RVL8>q={^Pj!-QVB;F zTL+U<XDCmX9RIe%0d6n$gBm%l2TFwhvxByqmT-0Z@^rENcjf6|bn6b~>Gl<9xm{w^ zT>FQibY;VDg%Z|=-<+lMTQ8Nc9CP~50IG=^>=^i4UNSI%<F16ohO?B-?e%BB*N?#x zph4Vb&^B65&^bUL2MYXWG`{U@eDXDun`47rOvz7>Yt_CTWGs~jSyRH(>&Dn%p;XG! z{oysQ@d4x8macz5r}w%3x%jg6WQmX`*m9;Ar~mA&Crdwq{KD39pd=Kexs=03p~TyU zv&6mic8M+jz5@ZRmr9gh+yWIVtp`eYyV$yYc_5zq&yMivYu*>zp-PzD{<HsQ?+)d0 zdl?2=>u{-r{TLGiD8xV-1YYuihF4rU;-Wz#w#^C*{~4j3kmff$;1gslWud7%^~L}H zkp4i1h9g5*aEELTck6u5<;MBizuq2LG_duQ)-{bM0f%G_D{r#tiys3jd7+*|wQ z1s7<^u<MWJBRsbM|Nply_UiWi(){y(u~YYtgU^|IS@^9F7MTUSP`L)G(j%=umuNz@ zGye+@0~v4<w7&^#fX8CckzSpqpyR!a54;8~>qMM{vamqYkpblXux`^W4;&c6jc*(O zw?15|_x~Db?NkZRaaNED(1gNkWyru*^N)&Bt}LdA#UP2-tPm4^F!Hy8>R-@uD~Q%o z(9s*9BVoIbr&-FE@Hsf7SxS`tgixQlO*cGn038dWeLVQ$4~Ky8;NVWzFaNJ~y8f^} zT%sTF!s{w%p2zi%_2Cl5;NbtIKLY-jehCi_290fij%)h!BJvtYMeLvM*gxU_Mc04^ zDG$GnY5u`f!eV{6wCTU-3XsqT>(BfxpcP0KawS}#g(AN}#5e6@4gsC6KVCe(0?zo> zze{<-{);Yo;J^T0nDoE&M_BlaRghjUR06ax6xOu|WiXB`(8-b+pxsdc|3!CzHtU0y zskI&`WdaqU4vRs{ML~`5P|)%v0q_iIbLtOp#t9DJ@Au4M_ioV1$kxY8cv}ybaDKnA z7_`vgbwU^@8T=PL19E=pALG&=|3y!L*7|>d3<DZ}_%C_{%m*Fi@?Z1-NS*5!W7iMH zAFRKZvhVYM=CJ!UckAa;_U>Z`9|&-N=rjebGyZ<9(-dSuTs+Jdpltc$Un&2Kg%?2; zJ*Z;=D*D5WzgZuv;jjkp<0z7O(R}g$|1c0Z&Hz&Kg8L%4Y%@OaTB`d5WV3ZQWb?<t z2W<TNTo_rJA2`It9)|e%1f%guOV$caM+Q()eh{%j9CUWp_k-Y5rBu2Yn-7BKQT-qS zrSCzr+zin5T~Ml<5qyLc^Z=>mgV5unUUWPDX*p10)bgZ6WhM9kDdCl%hFb~K>$AO% z|3S8BA3WUa_z%wd3upa-vcTmlXa*fLVq<(eyt`Jw`g5s>_3ttP$O$z}of5_eUV<8& z5I%D=$A8dboB#D?(l3%PfL1uc&n9|v9vnQ~$6km1FO>jI$Uolx|9`jZ2g?W%{?<7R z3=C=At|B`@dqL8y50;r(e=gy-{$0i$9vt>!#b%IRo)-caKoOz^8o^_|@c(}|c+wtr zA`dwCT7NDvvi@DJ^Wy1w&=MrL?RgN}En@%hw^V`)EbwIg%UsYBB{qob*^Yw-&p>AK zx2Phikp#^j`|<<^hlgb`_WFth26x8t{4ZenFS_A@1E{nTv5e*6Z;b<K@#U~SU9z{6 z@%2tvsZhn=3fi;)%5R`;D%QXG+v5NK{}1xk#Z6#uz4Qm^1T94etz-fnH2_`xUGonl z4_lf9UOUAD3b<9<{)5&|ftJuAR!XTdG%zq=T_6QM1P8Q<7<3NNnK00CtK0`lHM)IN z1iD>RctDFOyKjKbCHwxd`$PBP?<pz*-6y(_foSH7uid*(bjPR&fRA-^QQ^4w^5X4_ zuP)x;K3V$Z`{(Wt-&0gXx=(;MOMHLEe6fhnIz)x1oTG@}+C_z<jMGosMMXe5L`B5- zwzi83hjfSv&-Yv3Z#3Ux=swkbx%(!_p14B-49%(ypsfO+To4=<-W>vVnF#1e($JuQ zz`%?RnecrX;Ot|3q|-%(Bc)Rn)OGE4Q8DO_;OO>I(J_|nF5qeY_pijdJ4D5#`PaV^ z7VA%Cdc7uPy)l~wy16?&c$%wO7)sB87ejPAbG%?OWMBZFvI^pe7&0)t-jLD{&SuR= zB;r8}a(z@-zB{sjCQZRh085NPLDlWSVSM6+(ANL|L%TC1{ul84FA(@&Ao9Wv+ymx` z1*-{B5$I&v0m{mUL&2w5YW^>j`ClmUzfj|aC{*Dg7KYHU@Zj!OpnBc-lJPg=|Nk#W zgZCA@>i*b$FpKd;yaDJS4&&R#Cyg%||Ns9iwEInPSa=pg7DGmOmIFiJi|K(34B#2i z(C!=+j-bH*B`P8>wty24PwXKM&_R_GKy7K+v!J&06Nc_m4r^2JI#;DEmKP~kpmPsl zFA}*?m$`z<HPD!f=2_50BFl^T%b-R-xL5$KH*fy;fWI9ydJr7mZ3|lK+H4Cd>KRHU zUMPa*w&Y&qzlM!m?cD}y94-VE{>?uaOZi&Am9TUld(CWoz#-tZ3~0+2ci4+y(8L*N z(5dxXDWe-?T`poz!1eAMt+z|{vUuVwS;4DmML}abPN3xspf+ZADaXs||NsBLcy$`I zqvyqAFcsf@IQq3n*b8ZpvKQx1g9;GHif7Q2qd>+6P{6R90gs=z-Y(_)U&`}B8sv<Z zXFwAgrJz#}d4gXsgQksMZU=1+gY0+UZ=K8tTJzRf3tCOg-`)ipI%Rnw4ho^p+CRZB z%)ra$T_1qf_s#<?5rBlaC#YpC0Y0`1Gy=&AT0?Cb_To7wB;>7+m#B9;|M9RsR>ahO zEFk!Q>5~^$Dhv$4FP?!`2f0274tT)>I>X?I1n9&g59{xxY{uW*I!k#Vq19Q+0~!?s zMZ<qlP?U7KKCwPtqJVDZGi3(QDw78<_Jh21L<H9H(*t!MYacL_8X`pj$k1TK){H9; z92mNPycX&%<>`*)$YOcn0h*>f++F*m^*?{>eo#Lavf5cE?8Oq$`VG(mmP`Ns|9=s1 z>i>Vs+6SdM-S7<^zfXdiD{QahL3%+o$qQ|WqLPf`;HBxW3&Ac4!*D?B|I#pMLNEz? zVGXgUM85gogR-+>FSJ4Y7xzyh;`>GNDbUE^nUnwjzXWZKX#HO*_F~^jP)iX~RtLPu zI|=FpM|K~7eF>b%yL~||SnJbe8d(pFFGYYBoeLDpyy!gn|37%)F2sc|1W$s?Y2yR0 z9r@S$3WSAsf3%F{DB%Vr&l8}Xi`_Rs2k^b<1vNf@L`Js$FA=f6S1h3YIV_8T`F`+= z6Kg;Q@PM0A(56v0Z-$m5!@?XbM~3W^BFraV3wDQcXb12#{sP?qP{i4MK*aiB(Q8n{ z1nku2Hv*uQ)Q$q6x;ni3pLQir^RYh%-}85$&pgQjI@z~}(FK%*d_Q#ad3O5#`F4<z zzx6T`14D4HjA6HMXXuyius@xlKe|J|bjI?0JH%L8a_|?6SMx9XGUhD%sBUi-Yj2KH zC(!g+L-Q|%V#)4PmtXh#FtL2UtQfPy<sWCMa<?ysqU39tUatpmnK?T^>stPCma>5) zBU!p*dAfr+x}#aTeg81~e(8*20d=XOSh|BaI)gbnegA-FN|0=g{n7lGu`~7ye``Nz z?Mvy8?${p(f3sxScb4*a$64PiW9q)g?E3?vtJC+7^|dml?rYY!O5#B0%N4R%7jl$Z z?*lFTYW}TIEZ%+k^1JWX6iarv{PSUEDOChH%J8*RulED6_!fw3K~iA%7P5d%;pp~c z0Uc53%hO%R((TF7>BrGs%JZ5T)WNL%!cfX#eG58S<oltQ=VEsxOQ#=4XB<msAxpO( zOJ^ZRw;zkOA4h3Imk$$5hcExXgB?ChETBMCZK&mEDCO%u1rFBBue*IYI3>YsaOk@1 zaN(4AtqE2n(ChU8ECW#$$<pifU>C?^mtXa^fZfe0(CzxCldaRm;7_;fhyNV>t)D@= zbZRs~N9#fcn7Vmuv_R`Q_B?Q4$N*hyaquBOvj@*^P}?Cm@c%W4{6dfxsM(wW9AIv@ zg8)Rbc}WK-N*Q3H|2&)_Ob>yEN@s>r&gKM`e_)a33XcD!si1sY!1MnaSm=L&0HPcL zZSjI8bC8AECq=qNLFrxlM6ZwFo4{TVk-&f#Z$W3hxpFig;rS2F5!S3AwPh^Lxf~+k z+_AU><Re#(#USxcTaf?2<Btm~v>X}2x=lgZDBSqJ^@mcE<^uxR2Sft?n}Tc!hi%dT z6=&AR!G~&9G_!(q2|#o$1}V$_Cc+F>pK-*IfdO@EN2i;B_3@J9Su7b03ZT=?83aJb z6W#!gP`QEjZwdV`6M$O-^6l%{&3+vJJMB8_SpKtu9M<h7(9H3_`xtn>A+-BVU?4aX za|DNV7Yc+M-+s-^e89Q&K<&@&!<h%bxwypul#8?MJ6(T7bvkf#I<Pb!;P5K_lEu>f z8{FwS_?(})k|zTcqv8KWL5=~f-2e^tfHn{GPG=}!VCW3}WBse#x%-s%`GYTcdff#a zn>~K~Z|-=*&%p4%cfucj28K?7-U)x+|Nnp7;m-#UH-P1M!wY@}1`vl8)VcF4J>4Dp zr`z=hD`@3OuRl+x2TP|TN3R!8rw2!;BTIA2JQwhCl|A!7>7~ofx$DHggDnR@I|Tfk zOPM(<SiniF`}E~k-!CZ!aC9FAx8R|r84oxh1VGF51j0cx9M`o2d76)jAAH5%eG08a z`_k?Ir}^0jPwS7pHI{$6<vV=^I%EIv_k}VtFnl}A$lnUu)XjX;`ZIsOHK<be{d4dq zi)W|rkLI8DWo%jYk)YxDcoyq;j#6iE7Hj^gP%H(?XFqy<7{LYH1W*B|1}ZKjU&}Wi ze1I%DX9CEBNM)QqM|V6+XCzCvKTCH#M`tBRx37TqIY!?<paB{FzNMf!fZ9LZzB~v2 zv-tP=82)Mg4=!ZmyJNrf%KYw(73huz>yH)ajO6I_W&xEb-W=VLEY^`6rQuyZ>?|F= z!k|)wou&D|La|IktuUw*IS+O`$Y~s$lD#eyT)NM{RshQh^!lR}9xY%;_xi)i5KaM5 zLG1gd*Tv{hCr76b<Db{e-Jzh7r%tCooi0W{UfO`#I|p7`fYuxLg68JCV|g@71$zA$ zJH7w(#u)$UE)_WVkHxPumZ#JEPxC*pm*T#;{$b>A1<$0H{sBqDB)a`sto`8?%0Ezr za_;i$-V!!gc=I7D6hCl<0+zuD>{y;|e~#{QaA8}{(e2LyDsM{#m`ne3Lfiwl(DzF( z&&TdcmQHUD(6Z-9mTqsB&PWbu%@*F}!v-sy*;tzYfrAxXIG+PGX&NrS2Nlki;9xxm z3RZpwkmnyDNmjD-LW9*0DOg<vI+;6NB>sT65W>b7n%{^l1Q!6l9N7m%m{~zZP4hwV z=7%3TeLo!h$r9|@{8J$;yq3H9-2cn(ntgx#f6d!`@Imvb|Hj`gzXDa$yx?;0=4-+3 zV3uxc<<K9>|G2N0ay1_o>5S#DzESkT`bKGew=BqD9BOVBy|BJn8vUB5xtfCkN#_Ua z8>NO&ot!9gH;X=4-z*h<u>f?Pz>UsW4(NOrC#V_m!V0u(rQ2Jeld;=bpxNSo$<t0* zup^xXx&=Bz|1|&lUn0`o15S9|H4|KveL-$MU#bZjGwlWo_j<T=Tf+Rp_uutT_e9Wi zRr5iX*Uv$v4Q9^wnc!mlU-?|A5Y%90-yc~D@voVgPrA3Bto_;T`=vYNCrdY%w(p1T zkI?kj>HDLOIm<rI`a6FMXt=oBi^bZDqco=ZzXCW1)v9%$2j!way)_mr-!FH@zEO_p zaOsTcaQVkyYTWJnraP8Hk^8kyuRpjP_|w}1t`Z@t6(#@icgDUc<pxcd_`Xr}W`Q;o zelT=<adcO)bXKx-d$Dv^feHrx7SMsv-SCv@#nD;C(isR+&>6@9byplDWpe*J*!)kS z!-tKfR=J^;o1v5&ob<ZSU4GAL-Hk}3e>iJ8TtJNmZiZ6cUO!j@<*Wv^xqA0Noa*-g z+$g&Ij?=u`_ebl=67Ei}P9H%~ruY5PUHXCfA}C*Tb@~|n=`Q`!&DUGW*lE{#vQ)}i z7F5rc3U&Mbu?9CLO4*xLK|+vo;Cr1|5T!V%@a70N{@;B1zxDT0nHPck{{IJU(F}*4 zwQ+MVsM#yRefYK0H#eT<67#SZCl3ApAJ%>2#SsnAk`VtrppD9})j{(J0<8yXS({J) ze=XSUCS!fPge%}h-a$~`p-!f=jt5+M#Ddn!UI2CIjQ4?-<Ujdud;ok-xb=6?JqyQ6 zWnY}z3+fPn=I+1_c@YM2Li36LuX(<?@i>(5fDChe^1^K2|Nn=>UT`k}SyB5Z>;-7n zI}&NV0ceci_0{fDj<6SzAVrV~<sDC?7#LnyXd!P^>UQM`Gyc}uYVs6xe53`KG<f>| zzh$Wacr^GW8v}#&u~PLHE_=ZpSFOG9fklu*Uu@a~4kl0)zK@N8AsDp8x%>FRAFRF5 zgIw4k_Zu)D?}|`ix_#ky=T?oU|NnQ)Re$>bf5UGk&<q7*sX@1|!1s%wNd>hRxA*-2 zZ~U#(;Klwus8+c{ta|Cp#=!8+fkmN25OgRoXjqElMY1F~8bF<ztFOSzYWZ8{f-ZMq z`{u&V(!k#`fr)|PMK@^Z-66;Lq@{;QZ>!AH|DdU=fNr+`ChVQP3Qs|2j68tuQ%PWA zU@$&u2^KBkXt~Yb62Jsn9CQcNznlvWEwBN`2Rd7AK;h*oz~AP?3Oaep<tgZtE|C9P z4)C|8gYHJ*?gsnX_&~!?F3{viE6B2LHs<5a6&4I7qFn(d9id-3e7}ND*U4h)b^Q|X z+M9ph!GIUnK}#rG50qGS_k!%yKF#baV0^&A`UHR5Qc$O!skhbP>Hq)10WWMcKq0^b zURMY@anJdGE65?QrL!1=A<CNFb@{1)W=TARr)%wb%DcU>0L<FUX+4fd5-T;R4kS z8ASxGgXM3DVPRm%V(10?HXsb-#_m>7RCY7`H(`e?90Dz2)C8TO2e!Jq7nG2g4_a;o z1yE-zC~@)kh_Wy+H17rZpMk#xw3`%eW)>r|p~qam@S+%e0dz**UXW3Y{5|KH85sVz zg3SL9HWxh3Yr|N=V#8Fb$iLm#_+(o1KQ8_$2c4ap!H!|-+zRp^B$}ZLgZ_iXUZ|=v zFhr(VgF}+PH3MW1*ia^@J4-aPcq0Nj!SXMDfHo(>6<dSd0rDBdHQlZPmSFq%n|}WN z|No^rXze>+moUVY9U=TC-F%%c{1z|ym_g|almxyxfYRrFP-1Nb#c?M%B3f?qw}NJ3 zpsCAOfWJ+FnStRo8zd!l_kseVc_}E08MMJ^qqo)L>Hq)Mz5>OT-BUrb|G`n!CFI!f zi>p)s;=W@Hybh3r(IEh3H0}i%@?V&Nq3BTe4Tve)H$btX^Ys7!fMAFSB$ptf*$M1k zkP1d{SXm$D@38`lfvnaB`^4H+fWHZ}Q~jj^_((R8Jq^E^_**Z6hG9Tn@&z4V2=@|5 zzIiD~KZcjwx~GC=!C}k9zg@`DF|GL*SE*PtI1w;q@kXb0N;o()gZ<0|rP4YD92^?K zY33iue_M(7UlOP--iqqKD6kmF9Z3GO|NsC0OVIU?mLLz+fRyxtl%RMdi>bHO<LCeX zaiHk2f%t`gyAb16kV@urV6X5&{J?yS5u9HjWLl>H^D&4IR<JQJ6zvBs9n1&?T{+kL z;r0LjfxW#TbF~kG&!P<IJ{S;|0or;8&A2zL@A0=x2d&0t=mmQwp!=})v4GwdQ;_BW zEE%|jhj}Z=*VgyyPrv4Yj6Fe8zV*HOm~L?RLwpa((BL@c`v3p`Yx^vQ-d>Pa(De)d zw}O)Le*;*8DG}`k+uyttlnWUkdQr`9-V4e`45c~Ed%<c-bhB9FEWtUnROH2`ZJ@dl zH0Jwa*EUd1^x7Vpd-s6`Z(kci^98uPcPQcS2B*LV3n_5lS>;6$SicNtcBX3E|NqSj z;8}W}ZgAq&1}CEU=x)#%QE@MB%mweD6Ug`gs;*nMfo6g@nt%K&m40Cd(fdLfY#hir zpqdZVc{ToTeH=akr}#n?<VcGbzqi7i4XM(bw}Pw7*C)ZZAoa?C&tL2Q&<sBNtecyE zpN}C+^Fzjx{Q)m5K?MzHj|1~J7Xuc?5;4eaD4;4%?+3^fo=(>%uf<->fLrlm!Pfu( zJ1v@hpTLgxegSeJXpo#`+yDRI8<3horh*Qq5%}T2@M6VQxZi|d_`?kX`Dqn+^O^Nw zxSyn6=)o0$2N+*$+X8Zi$m<Ib&)A@PhM#|*4<Fbw#{ypDfG+gujQ!Ki{>_Drg|WmC z<c$YP;AN+xPr!9<DK|8=xq=R3k9}ep`=mtj#n~<3ZJeDPFE(s}1tm5QDsP2)a1qER zNP7n~I|#bbf}>RCMbQ@cuqe3Q@(Vm`Ct`fybrxt)()x3$)C)f}HP;|&Ub9-3auk8i zHMjc@TGIaE#j)8SM}6sa`)?V^Q6l4E>B>>g#lKD9n+umLOX&yDbxX|;8MQz9bsvN5 zzJ*-N0a{iI9zg)LSwJg>UW7s?T43%K0j){sF6FR{6)6QxX9|F>;}9@D@bWn$1A{g6 zd<MA}OE;s;Ug|;I*?sKg0Y=chD<Y*V9dfTvhJ&U=f0xR2$h{~*)$kWQw<q!vbU7P% zzVpqC&$B=&;e%xaN2%!lQjzfgr95FT7IT5x6ap_n*Jd@>iu?!l!jF~mcky>{IJjG# zE|K>t{rp-A&gJkbVg2tbQu+?$eC7@b2kXoHt)Lw~7V@Ce(M1?bO?xXqM<rVSE0XJV zeG|~_`iFlTL%@p*`#|$App9Dpeg9aN{waP0x&Y_T3P%3c!{9N0k^iMppsS~TFqT>M z*0BBStQE2TSEL9rLj-I_50V)omZc)akGfrXy3cF-ih%a3vvkP6X6cAw`)?8ZqlCTN z^$Tb-KvqBm_|BUSxfj8kP-bNBYy_ulWX0XbUZ-@Q&_37vlc~nHw*u+}s5c-^;KX#o zacx(T6^tb^9r7<eZ2bSf`$U#jL?<K2TyfCqki>$&ulYbcn3KS3VoySnL$@nvv8qt> z3ywyMyLTBFK)WC%w*LQ*xUfY8GT(R<bRv8hXb$|NrEH6)BSWc0a4=|Xen!eG&`>HP zXgWpo12~tJaCF*&l)M&&<hEwe%8=u%AR*AcR?AqCI;C!3k#1K3PYa0>4hQSgrQe!Q z{_l1b(LU&5?J82s=+NmZvJj-c`3Dn!%NkI^Jj~y+1T<9xT2TU;nF3$Sq)^Jy%?7&V z##N!)^bKh7!vV`!70|j65&o$MKskx!C}@pJ!2ePO$nq2ZmVQPChB{}+e8%_YA52B& zy)O0~whSx`4CTTv`ji<Mx{p{NE|EFTaOMmH!)w8S7d%h?|BtjjT*7&r0Tf2f2RJ%i zzr1GdjQwI6`-Q*7juCV#OX-*Y;LD^yw_PZJR-^E@JO+((nS#P3I5_-2NC7BA{=e3J zqSN<>^=Zh~^6#!ZAgfC>En{W)TR?k9t$k(q`<H{(DwN9nFO@*n`EmkiBJFgYE5!L9 zLC&}Ab>W0MU+l$sB?gA>FV>$+vW~NXoZozm<F!=43op<bITRmse|XJg{LT7vi6eMT z3&M4<I8+J_2Hj@G5*+-R?LXKdAceu8fCNwbce?%vdjZ~}{lE0fi}j$H9oHX`FC#%y zEU{lYV?S8NazJ87q|=qdG8QSSK;^Q60(idf4QO98Xho1BD2`nf_*-r>FfarMgH{>* zFBJgA+Y37dPzfQ?>H5X`aLJW!(-+_sLjOxeKzl+!OB5ligG$+rzrEZJIttph`NxBD zi{=CHP}!--z|j52`gh6Q<Luy2ISvjL(2g6_c<ui2n#uUT_3x4`|4V-ahrckG1j?g4 z|4V;_gJbs#WMKkyJyI!)@weBi|4U_hU4Q&9l?Vt21y1Rk7rpYJ`%5}YKQtea_<m3N zn{w%o@E5(H>o;CY!GaR8%Hh8#$V1&9EMvcvaDu{e#zxSdGS?5*hf8=YT_r$^U|YdL z$9hvAfQ}mkwIE(hp9*R~fQx$Y!U*u8G83o%|Np;Kqu2Mt|56pOYd|Ro>~zopcrP^m zfc&F?ZIwh|AR?nL?9g;%2nOf&pVo&<tw0NpjK8^sf%AIUf6*VXY;Fot_}T<1n}ZgB zfdyH?hJf=g=r{%I!~8ABLFFtc|AMY@2j^djQjTtRaQ>A*<X;6){uKb{U!Gog{*{2` zU(o$xbvBLvKm7k+Uv7e&cQ1j$9WCz$fEMwgru-YNw@Wg6S?mL{7=mB;O#p=mPk1n- z<pavS5}@1*I@d}BH2us0@ouN<kKh+4LBoEoKO$e38h-<24zS}zI$dQfW08FFzf|Uh zBj`pXP}&An>F(C95+!n=L@f~bzmzB7f2qWaOj%GGX+9!h{kh~$CurpwQi>>*`7inf zGzjp+`ZMSNkhb-p6mh&a^$k4wXH3Qt{gWnxqF)6Z{R(I)?S<GskWXc>#XV>(L+dyG zmPSSfhW}+OFT~b^4tn8u!3U;!Ua)~_ffxVQfy6~#d;`-GFW!M@vlq`nRGGqy`(Rq- z#dR>P@!~v~)_HLpOdGt|52j6CYzNaaFV=%;ix<nmw9Sk8>p(7a_+RGmVhUKu<wXye z_IS|(rhQ)2fa!o2C15(_MGlybc##68V_w97>4X;{U^?Z6517t);R2>}Uf6)?f)^%W zy5xlpn67xC0;X$T$UvR24K!f?f)6CR4Kx7zf*H&Nol^1Q$6C-42%vT5FW!QgphEe@ zBQSFc0|Ud0>tH76rh^w}z)aBMt``TvOwfYk7u�(EZ;pR)d)<K-w0p1$kd5E*4TX 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 diff --git a/.venv/lib/python3.8/site-packages/setuptools/gui-64.exe b/.venv/lib/python3.8/site-packages/setuptools/gui-64.exe deleted file mode 100644 index 330c51a5dde15a0bb610a48cd0ca11770c914dae..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 75264 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�xfU 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 V{_})^Apq177}AZ{QOA=T0ss*!rV{`F diff --git a/.venv/lib/python3.8/site-packages/setuptools/gui.exe b/.venv/lib/python3.8/site-packages/setuptools/gui.exe deleted file mode 100644 index f8d3509653ba8f80ca7f3aa7f95616142ba83a94..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 65536 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�(EZ;pR)d)<K-w0p1$kd5E*4TX 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 diff --git a/.venv/lib/python3.8/site-packages/setuptools/installer.py b/.venv/lib/python3.8/site-packages/setuptools/installer.py deleted file mode 100644 index 9f8be2e..0000000 --- a/.venv/lib/python3.8/site-packages/setuptools/installer.py +++ /dev/null @@ -1,150 +0,0 @@ -import glob -import os -import subprocess -import sys -from distutils import log -from distutils.errors import DistutilsError - -import pkg_resources -from setuptools.command.easy_install import easy_install -from setuptools.extern import six -from setuptools.wheel import Wheel - -from .py31compat import TemporaryDirectory - - -def _fixup_find_links(find_links): - """Ensure find-links option end-up being a list of strings.""" - if isinstance(find_links, six.string_types): - return find_links.split() - assert isinstance(find_links, (tuple, list)) - return find_links - - -def _legacy_fetch_build_egg(dist, req): - """Fetch an egg needed for building. - - Legacy path using EasyInstall. - """ - tmp_dist = dist.__class__({'script_args': ['easy_install']}) - opts = tmp_dist.get_option_dict('easy_install') - opts.clear() - opts.update( - (k, v) - for k, v in dist.get_option_dict('easy_install').items() - if k in ( - # don't use any other settings - 'find_links', 'site_dirs', 'index_url', - 'optimize', 'site_dirs', 'allow_hosts', - )) - if dist.dependency_links: - links = dist.dependency_links[:] - if 'find_links' in opts: - links = _fixup_find_links(opts['find_links'][1]) + links - opts['find_links'] = ('setup', links) - install_dir = dist.get_egg_cache_dir() - cmd = easy_install( - tmp_dist, args=["x"], install_dir=install_dir, - exclude_scripts=True, - always_copy=False, build_directory=None, editable=False, - upgrade=False, multi_version=True, no_report=True, user=False - ) - cmd.ensure_finalized() - return cmd.easy_install(req) - - -def fetch_build_egg(dist, req): - """Fetch an egg needed for building. - - Use pip/wheel to fetch/build a wheel.""" - # Check pip is available. - try: - pkg_resources.get_distribution('pip') - except pkg_resources.DistributionNotFound: - dist.announce( - 'WARNING: The pip package is not available, falling back ' - 'to EasyInstall for handling setup_requires/test_requires; ' - 'this is deprecated and will be removed in a future version.' - , log.WARN - ) - return _legacy_fetch_build_egg(dist, req) - # Warn if wheel is not. - try: - pkg_resources.get_distribution('wheel') - except pkg_resources.DistributionNotFound: - dist.announce('WARNING: The wheel package is not available.', log.WARN) - # Ignore environment markers; if supplied, it is required. - req = strip_marker(req) - # Take easy_install options into account, but do not override relevant - # pip environment variables (like PIP_INDEX_URL or PIP_QUIET); they'll - # take precedence. - opts = dist.get_option_dict('easy_install') - if 'allow_hosts' in opts: - raise DistutilsError('the `allow-hosts` option is not supported ' - 'when using pip to install requirements.') - if 'PIP_QUIET' in os.environ or 'PIP_VERBOSE' in os.environ: - quiet = False - else: - quiet = True - if 'PIP_INDEX_URL' in os.environ: - index_url = None - elif 'index_url' in opts: - index_url = opts['index_url'][1] - else: - index_url = None - if 'find_links' in opts: - find_links = _fixup_find_links(opts['find_links'][1])[:] - else: - find_links = [] - if dist.dependency_links: - find_links.extend(dist.dependency_links) - eggs_dir = os.path.realpath(dist.get_egg_cache_dir()) - environment = pkg_resources.Environment() - for egg_dist in pkg_resources.find_distributions(eggs_dir): - if egg_dist in req and environment.can_add(egg_dist): - return egg_dist - with TemporaryDirectory() as tmpdir: - cmd = [ - sys.executable, '-m', 'pip', - '--disable-pip-version-check', - 'wheel', '--no-deps', - '-w', tmpdir, - ] - if quiet: - cmd.append('--quiet') - if index_url is not None: - cmd.extend(('--index-url', index_url)) - if find_links is not None: - for link in find_links: - cmd.extend(('--find-links', link)) - # If requirement is a PEP 508 direct URL, directly pass - # the URL to pip, as `req @ url` does not work on the - # command line. - if req.url: - cmd.append(req.url) - else: - cmd.append(str(req)) - try: - subprocess.check_call(cmd) - except subprocess.CalledProcessError as e: - raise DistutilsError(str(e)) - wheel = Wheel(glob.glob(os.path.join(tmpdir, '*.whl'))[0]) - dist_location = os.path.join(eggs_dir, wheel.egg_name()) - wheel.install_as_egg(dist_location) - dist_metadata = pkg_resources.PathMetadata( - dist_location, os.path.join(dist_location, 'EGG-INFO')) - dist = pkg_resources.Distribution.from_filename( - dist_location, metadata=dist_metadata) - return dist - - -def strip_marker(req): - """ - Return a new requirement without the environment marker to avoid - calling pip with something like `babel; extra == "i18n"`, which - would always be ignored. - """ - # create a copy to avoid mutating the input - req = pkg_resources.Requirement.parse(str(req)) - req.marker = None - return req diff --git a/.venv/lib/python3.8/site-packages/setuptools/launch.py b/.venv/lib/python3.8/site-packages/setuptools/launch.py deleted file mode 100644 index 308283e..0000000 --- a/.venv/lib/python3.8/site-packages/setuptools/launch.py +++ /dev/null @@ -1,35 +0,0 @@ -""" -Launch the Python script on the command line after -setuptools is bootstrapped via import. -""" - -# Note that setuptools gets imported implicitly by the -# invocation of this script using python -m setuptools.launch - -import tokenize -import sys - - -def run(): - """ - Run the script in sys.argv[1] as if it had - been invoked naturally. - """ - __builtins__ - script_name = sys.argv[1] - namespace = dict( - __file__=script_name, - __name__='__main__', - __doc__=None, - ) - sys.argv[:] = sys.argv[1:] - - open_ = getattr(tokenize, 'open', open) - script = open_(script_name).read() - norm_script = script.replace('\\r\\n', '\\n') - code = compile(norm_script, script_name, 'exec') - exec(code, namespace) - - -if __name__ == '__main__': - run() diff --git a/.venv/lib/python3.8/site-packages/setuptools/lib2to3_ex.py b/.venv/lib/python3.8/site-packages/setuptools/lib2to3_ex.py deleted file mode 100644 index 4b1a73f..0000000 --- a/.venv/lib/python3.8/site-packages/setuptools/lib2to3_ex.py +++ /dev/null @@ -1,62 +0,0 @@ -""" -Customized Mixin2to3 support: - - - adds support for converting doctests - - -This module raises an ImportError on Python 2. -""" - -from distutils.util import Mixin2to3 as _Mixin2to3 -from distutils import log -from lib2to3.refactor import RefactoringTool, get_fixers_from_package - -import setuptools - - -class DistutilsRefactoringTool(RefactoringTool): - def log_error(self, msg, *args, **kw): - log.error(msg, *args) - - def log_message(self, msg, *args): - log.info(msg, *args) - - def log_debug(self, msg, *args): - log.debug(msg, *args) - - -class Mixin2to3(_Mixin2to3): - def run_2to3(self, files, doctests=False): - # See of the distribution option has been set, otherwise check the - # setuptools default. - if self.distribution.use_2to3 is not True: - return - if not files: - return - log.info("Fixing " + " ".join(files)) - self.__build_fixer_names() - self.__exclude_fixers() - if doctests: - if setuptools.run_2to3_on_doctests: - r = DistutilsRefactoringTool(self.fixer_names) - r.refactor(files, write=True, doctests_only=True) - else: - _Mixin2to3.run_2to3(self, files) - - def __build_fixer_names(self): - if self.fixer_names: - return - self.fixer_names = [] - for p in setuptools.lib2to3_fixer_packages: - self.fixer_names.extend(get_fixers_from_package(p)) - if self.distribution.use_2to3_fixers is not None: - for p in self.distribution.use_2to3_fixers: - self.fixer_names.extend(get_fixers_from_package(p)) - - def __exclude_fixers(self): - excluded_fixers = getattr(self, 'exclude_fixers', []) - if self.distribution.use_2to3_exclude_fixers is not None: - excluded_fixers.extend(self.distribution.use_2to3_exclude_fixers) - for fixer_name in excluded_fixers: - if fixer_name in self.fixer_names: - self.fixer_names.remove(fixer_name) diff --git a/.venv/lib/python3.8/site-packages/setuptools/monkey.py b/.venv/lib/python3.8/site-packages/setuptools/monkey.py deleted file mode 100644 index 3c77f8c..0000000 --- a/.venv/lib/python3.8/site-packages/setuptools/monkey.py +++ /dev/null @@ -1,179 +0,0 @@ -""" -Monkey patching of distutils. -""" - -import sys -import distutils.filelist -import platform -import types -import functools -from importlib import import_module -import inspect - -from setuptools.extern import six - -import setuptools - -__all__ = [] -""" -Everything is private. Contact the project team -if you think you need this functionality. -""" - - -def _get_mro(cls): - """ - Returns the bases classes for cls sorted by the MRO. - - Works around an issue on Jython where inspect.getmro will not return all - base classes if multiple classes share the same name. Instead, this - function will return a tuple containing the class itself, and the contents - of cls.__bases__. See https://github.com/pypa/setuptools/issues/1024. - """ - if platform.python_implementation() == "Jython": - return (cls,) + cls.__bases__ - return inspect.getmro(cls) - - -def get_unpatched(item): - lookup = ( - get_unpatched_class if isinstance(item, six.class_types) else - get_unpatched_function if isinstance(item, types.FunctionType) else - lambda item: None - ) - return lookup(item) - - -def get_unpatched_class(cls): - """Protect against re-patching the distutils if reloaded - - Also ensures that no other distutils extension monkeypatched the distutils - first. - """ - external_bases = ( - cls - for cls in _get_mro(cls) - if not cls.__module__.startswith('setuptools') - ) - base = next(external_bases) - if not base.__module__.startswith('distutils'): - msg = "distutils has already been patched by %r" % cls - raise AssertionError(msg) - return base - - -def patch_all(): - # we can't patch distutils.cmd, alas - distutils.core.Command = setuptools.Command - - has_issue_12885 = sys.version_info <= (3, 5, 3) - - if has_issue_12885: - # fix findall bug in distutils (http://bugs.python.org/issue12885) - distutils.filelist.findall = setuptools.findall - - needs_warehouse = ( - sys.version_info < (2, 7, 13) - or - (3, 4) < sys.version_info < (3, 4, 6) - or - (3, 5) < sys.version_info <= (3, 5, 3) - ) - - if needs_warehouse: - warehouse = 'https://upload.pypi.org/legacy/' - distutils.config.PyPIRCCommand.DEFAULT_REPOSITORY = warehouse - - _patch_distribution_metadata() - - # Install Distribution throughout the distutils - for module in distutils.dist, distutils.core, distutils.cmd: - module.Distribution = setuptools.dist.Distribution - - # Install the patched Extension - distutils.core.Extension = setuptools.extension.Extension - distutils.extension.Extension = setuptools.extension.Extension - if 'distutils.command.build_ext' in sys.modules: - sys.modules['distutils.command.build_ext'].Extension = ( - setuptools.extension.Extension - ) - - patch_for_msvc_specialized_compiler() - - -def _patch_distribution_metadata(): - """Patch write_pkg_file and read_pkg_file for higher metadata standards""" - for attr in ('write_pkg_file', 'read_pkg_file', 'get_metadata_version'): - new_val = getattr(setuptools.dist, attr) - setattr(distutils.dist.DistributionMetadata, attr, new_val) - - -def patch_func(replacement, target_mod, func_name): - """ - Patch func_name in target_mod with replacement - - Important - original must be resolved by name to avoid - patching an already patched function. - """ - original = getattr(target_mod, func_name) - - # set the 'unpatched' attribute on the replacement to - # point to the original. - vars(replacement).setdefault('unpatched', original) - - # replace the function in the original module - setattr(target_mod, func_name, replacement) - - -def get_unpatched_function(candidate): - return getattr(candidate, 'unpatched') - - -def patch_for_msvc_specialized_compiler(): - """ - Patch functions in distutils to use standalone Microsoft Visual C++ - compilers. - """ - # import late to avoid circular imports on Python < 3.5 - msvc = import_module('setuptools.msvc') - - if platform.system() != 'Windows': - # Compilers only availables on Microsoft Windows - return - - def patch_params(mod_name, func_name): - """ - Prepare the parameters for patch_func to patch indicated function. - """ - repl_prefix = 'msvc9_' if 'msvc9' in mod_name else 'msvc14_' - repl_name = repl_prefix + func_name.lstrip('_') - repl = getattr(msvc, repl_name) - mod = import_module(mod_name) - if not hasattr(mod, func_name): - raise ImportError(func_name) - return repl, mod, func_name - - # Python 2.7 to 3.4 - msvc9 = functools.partial(patch_params, 'distutils.msvc9compiler') - - # Python 3.5+ - msvc14 = functools.partial(patch_params, 'distutils._msvccompiler') - - try: - # Patch distutils.msvc9compiler - patch_func(*msvc9('find_vcvarsall')) - patch_func(*msvc9('query_vcvarsall')) - except ImportError: - pass - - try: - # Patch distutils._msvccompiler._get_vc_env - patch_func(*msvc14('_get_vc_env')) - except ImportError: - pass - - try: - # Patch distutils._msvccompiler.gen_lib_options for Numpy - patch_func(*msvc14('gen_lib_options')) - except ImportError: - pass diff --git a/.venv/lib/python3.8/site-packages/setuptools/msvc.py b/.venv/lib/python3.8/site-packages/setuptools/msvc.py deleted file mode 100644 index 2ffe1c8..0000000 --- a/.venv/lib/python3.8/site-packages/setuptools/msvc.py +++ /dev/null @@ -1,1679 +0,0 @@ -""" -Improved support for Microsoft Visual C++ compilers. - -Known supported compilers: --------------------------- -Microsoft Visual C++ 9.0: - Microsoft Visual C++ Compiler for Python 2.7 (x86, amd64) - Microsoft Windows SDK 6.1 (x86, x64, ia64) - Microsoft Windows SDK 7.0 (x86, x64, ia64) - -Microsoft Visual C++ 10.0: - Microsoft Windows SDK 7.1 (x86, x64, ia64) - -Microsoft Visual C++ 14.X: - Microsoft Visual C++ Build Tools 2015 (x86, x64, arm) - Microsoft Visual Studio Build Tools 2017 (x86, x64, arm, arm64) - Microsoft Visual Studio Build Tools 2019 (x86, x64, arm, arm64) - -This may also support compilers shipped with compatible Visual Studio versions. -""" - -import json -from io import open -from os import listdir, pathsep -from os.path import join, isfile, isdir, dirname -import sys -import platform -import itertools -import distutils.errors -from setuptools.extern.packaging.version import LegacyVersion - -from setuptools.extern.six.moves import filterfalse - -from .monkey import get_unpatched - -if platform.system() == 'Windows': - from setuptools.extern.six.moves import winreg - from os import environ -else: - # Mock winreg and environ so the module can be imported on this platform. - - class winreg: - HKEY_USERS = None - HKEY_CURRENT_USER = None - HKEY_LOCAL_MACHINE = None - HKEY_CLASSES_ROOT = None - - environ = dict() - -_msvc9_suppress_errors = ( - # msvc9compiler isn't available on some platforms - ImportError, - - # msvc9compiler raises DistutilsPlatformError in some - # environments. See #1118. - distutils.errors.DistutilsPlatformError, -) - -try: - from distutils.msvc9compiler import Reg -except _msvc9_suppress_errors: - pass - - -def msvc9_find_vcvarsall(version): - """ - Patched "distutils.msvc9compiler.find_vcvarsall" to use the standalone - compiler build for Python - (VCForPython / Microsoft Visual C++ Compiler for Python 2.7). - - Fall back to original behavior when the standalone compiler is not - available. - - Redirect the path of "vcvarsall.bat". - - Parameters - ---------- - version: float - Required Microsoft Visual C++ version. - - Return - ------ - str - vcvarsall.bat path - """ - vc_base = r'Software\%sMicrosoft\DevDiv\VCForPython\%0.1f' - key = vc_base % ('', version) - try: - # Per-user installs register the compiler path here - productdir = Reg.get_value(key, "installdir") - except KeyError: - try: - # All-user installs on a 64-bit system register here - key = vc_base % ('Wow6432Node\\', version) - productdir = Reg.get_value(key, "installdir") - except KeyError: - productdir = None - - if productdir: - vcvarsall = join(productdir, "vcvarsall.bat") - if isfile(vcvarsall): - return vcvarsall - - return get_unpatched(msvc9_find_vcvarsall)(version) - - -def msvc9_query_vcvarsall(ver, arch='x86', *args, **kwargs): - """ - Patched "distutils.msvc9compiler.query_vcvarsall" for support extra - Microsoft Visual C++ 9.0 and 10.0 compilers. - - Set environment without use of "vcvarsall.bat". - - Parameters - ---------- - ver: float - Required Microsoft Visual C++ version. - arch: str - Target architecture. - - Return - ------ - dict - environment - """ - # Try to get environment from vcvarsall.bat (Classical way) - try: - orig = get_unpatched(msvc9_query_vcvarsall) - return orig(ver, arch, *args, **kwargs) - except distutils.errors.DistutilsPlatformError: - # Pass error if Vcvarsall.bat is missing - pass - except ValueError: - # Pass error if environment not set after executing vcvarsall.bat - pass - - # If error, try to set environment directly - try: - return EnvironmentInfo(arch, ver).return_env() - except distutils.errors.DistutilsPlatformError as exc: - _augment_exception(exc, ver, arch) - raise - - -def msvc14_get_vc_env(plat_spec): - """ - Patched "distutils._msvccompiler._get_vc_env" for support extra - Microsoft Visual C++ 14.X compilers. - - Set environment without use of "vcvarsall.bat". - - Parameters - ---------- - plat_spec: str - Target architecture. - - Return - ------ - dict - environment - """ - # Try to get environment from vcvarsall.bat (Classical way) - try: - return get_unpatched(msvc14_get_vc_env)(plat_spec) - except distutils.errors.DistutilsPlatformError: - # Pass error Vcvarsall.bat is missing - pass - - # If error, try to set environment directly - try: - return EnvironmentInfo(plat_spec, vc_min_ver=14.0).return_env() - except distutils.errors.DistutilsPlatformError as exc: - _augment_exception(exc, 14.0) - raise - - -def msvc14_gen_lib_options(*args, **kwargs): - """ - Patched "distutils._msvccompiler.gen_lib_options" for fix - compatibility between "numpy.distutils" and "distutils._msvccompiler" - (for Numpy < 1.11.2) - """ - if "numpy.distutils" in sys.modules: - import numpy as np - if LegacyVersion(np.__version__) < LegacyVersion('1.11.2'): - return np.distutils.ccompiler.gen_lib_options(*args, **kwargs) - return get_unpatched(msvc14_gen_lib_options)(*args, **kwargs) - - -def _augment_exception(exc, version, arch=''): - """ - Add details to the exception message to help guide the user - as to what action will resolve it. - """ - # Error if MSVC++ directory not found or environment not set - message = exc.args[0] - - if "vcvarsall" in message.lower() or "visual c" in message.lower(): - # Special error message if MSVC++ not installed - tmpl = 'Microsoft Visual C++ {version:0.1f} is required.' - message = tmpl.format(**locals()) - msdownload = 'www.microsoft.com/download/details.aspx?id=%d' - if version == 9.0: - if arch.lower().find('ia64') > -1: - # For VC++ 9.0, if IA64 support is needed, redirect user - # to Windows SDK 7.0. - # Note: No download link available from Microsoft. - message += ' Get it with "Microsoft Windows SDK 7.0"' - else: - # For VC++ 9.0 redirect user to Vc++ for Python 2.7 : - # This redirection link is maintained by Microsoft. - # Contact vspython@microsoft.com if it needs updating. - message += ' Get it from http://aka.ms/vcpython27' - elif version == 10.0: - # For VC++ 10.0 Redirect user to Windows SDK 7.1 - message += ' Get it with "Microsoft Windows SDK 7.1": ' - message += msdownload % 8279 - elif version >= 14.0: - # For VC++ 14.X Redirect user to latest Visual C++ Build Tools - message += (' Get it with "Build Tools for Visual Studio": ' - r'https://visualstudio.microsoft.com/downloads/') - - exc.args = (message, ) - - -class PlatformInfo: - """ - Current and Target Architectures information. - - Parameters - ---------- - arch: str - Target architecture. - """ - current_cpu = environ.get('processor_architecture', '').lower() - - def __init__(self, arch): - self.arch = arch.lower().replace('x64', 'amd64') - - @property - def target_cpu(self): - """ - Return Target CPU architecture. - - Return - ------ - str - Target CPU - """ - return self.arch[self.arch.find('_') + 1:] - - def target_is_x86(self): - """ - Return True if target CPU is x86 32 bits.. - - Return - ------ - bool - CPU is x86 32 bits - """ - return self.target_cpu == 'x86' - - def current_is_x86(self): - """ - Return True if current CPU is x86 32 bits.. - - Return - ------ - bool - CPU is x86 32 bits - """ - return self.current_cpu == 'x86' - - def current_dir(self, hidex86=False, x64=False): - """ - Current platform specific subfolder. - - Parameters - ---------- - hidex86: bool - return '' and not '\x86' if architecture is x86. - x64: bool - return '\x64' and not '\amd64' if architecture is amd64. - - Return - ------ - str - subfolder: '\target', or '' (see hidex86 parameter) - """ - return ( - '' if (self.current_cpu == 'x86' and hidex86) else - r'\x64' if (self.current_cpu == 'amd64' and x64) else - r'\%s' % self.current_cpu - ) - - def target_dir(self, hidex86=False, x64=False): - r""" - Target platform specific subfolder. - - Parameters - ---------- - hidex86: bool - return '' and not '\x86' if architecture is x86. - x64: bool - return '\x64' and not '\amd64' if architecture is amd64. - - Return - ------ - str - subfolder: '\current', or '' (see hidex86 parameter) - """ - return ( - '' if (self.target_cpu == 'x86' and hidex86) else - r'\x64' if (self.target_cpu == 'amd64' and x64) else - r'\%s' % self.target_cpu - ) - - def cross_dir(self, forcex86=False): - r""" - Cross platform specific subfolder. - - Parameters - ---------- - forcex86: bool - Use 'x86' as current architecture even if current architecture is - not x86. - - Return - ------ - str - subfolder: '' if target architecture is current architecture, - '\current_target' if not. - """ - current = 'x86' if forcex86 else self.current_cpu - return ( - '' if self.target_cpu == current else - self.target_dir().replace('\\', '\\%s_' % current) - ) - - -class RegistryInfo: - """ - Microsoft Visual Studio related registry information. - - Parameters - ---------- - platform_info: PlatformInfo - "PlatformInfo" instance. - """ - HKEYS = (winreg.HKEY_USERS, - winreg.HKEY_CURRENT_USER, - winreg.HKEY_LOCAL_MACHINE, - winreg.HKEY_CLASSES_ROOT) - - def __init__(self, platform_info): - self.pi = platform_info - - @property - def visualstudio(self): - """ - Microsoft Visual Studio root registry key. - - Return - ------ - str - Registry key - """ - return 'VisualStudio' - - @property - def sxs(self): - """ - Microsoft Visual Studio SxS registry key. - - Return - ------ - str - Registry key - """ - return join(self.visualstudio, 'SxS') - - @property - def vc(self): - """ - Microsoft Visual C++ VC7 registry key. - - Return - ------ - str - Registry key - """ - return join(self.sxs, 'VC7') - - @property - def vs(self): - """ - Microsoft Visual Studio VS7 registry key. - - Return - ------ - str - Registry key - """ - return join(self.sxs, 'VS7') - - @property - def vc_for_python(self): - """ - Microsoft Visual C++ for Python registry key. - - Return - ------ - str - Registry key - """ - return r'DevDiv\VCForPython' - - @property - def microsoft_sdk(self): - """ - Microsoft SDK registry key. - - Return - ------ - str - Registry key - """ - return 'Microsoft SDKs' - - @property - def windows_sdk(self): - """ - Microsoft Windows/Platform SDK registry key. - - Return - ------ - str - Registry key - """ - return join(self.microsoft_sdk, 'Windows') - - @property - def netfx_sdk(self): - """ - Microsoft .NET Framework SDK registry key. - - Return - ------ - str - Registry key - """ - return join(self.microsoft_sdk, 'NETFXSDK') - - @property - def windows_kits_roots(self): - """ - Microsoft Windows Kits Roots registry key. - - Return - ------ - str - Registry key - """ - return r'Windows Kits\Installed Roots' - - def microsoft(self, key, x86=False): - """ - Return key in Microsoft software registry. - - Parameters - ---------- - key: str - Registry key path where look. - x86: str - Force x86 software registry. - - Return - ------ - str - Registry key - """ - node64 = '' if self.pi.current_is_x86() or x86 else 'Wow6432Node' - return join('Software', node64, 'Microsoft', key) - - def lookup(self, key, name): - """ - Look for values in registry in Microsoft software registry. - - Parameters - ---------- - key: str - Registry key path where look. - name: str - Value name to find. - - Return - ------ - str - value - """ - key_read = winreg.KEY_READ - openkey = winreg.OpenKey - ms = self.microsoft - for hkey in self.HKEYS: - try: - bkey = openkey(hkey, ms(key), 0, key_read) - except (OSError, IOError): - if not self.pi.current_is_x86(): - try: - bkey = openkey(hkey, ms(key, True), 0, key_read) - except (OSError, IOError): - continue - else: - continue - try: - return winreg.QueryValueEx(bkey, name)[0] - except (OSError, IOError): - pass - - -class SystemInfo: - """ - Microsoft Windows and Visual Studio related system information. - - Parameters - ---------- - registry_info: RegistryInfo - "RegistryInfo" instance. - vc_ver: float - Required Microsoft Visual C++ version. - """ - - # Variables and properties in this class use originals CamelCase variables - # names from Microsoft source files for more easy comparison. - WinDir = environ.get('WinDir', '') - ProgramFiles = environ.get('ProgramFiles', '') - ProgramFilesx86 = environ.get('ProgramFiles(x86)', ProgramFiles) - - def __init__(self, registry_info, vc_ver=None): - self.ri = registry_info - self.pi = self.ri.pi - - self.known_vs_paths = self.find_programdata_vs_vers() - - # Except for VS15+, VC version is aligned with VS version - self.vs_ver = self.vc_ver = ( - vc_ver or self._find_latest_available_vs_ver()) - - def _find_latest_available_vs_ver(self): - """ - Find the latest VC version - - Return - ------ - float - version - """ - reg_vc_vers = self.find_reg_vs_vers() - - if not (reg_vc_vers or self.known_vs_paths): - raise distutils.errors.DistutilsPlatformError( - 'No Microsoft Visual C++ version found') - - vc_vers = set(reg_vc_vers) - vc_vers.update(self.known_vs_paths) - return sorted(vc_vers)[-1] - - def find_reg_vs_vers(self): - """ - Find Microsoft Visual Studio versions available in registry. - - Return - ------ - list of float - Versions - """ - ms = self.ri.microsoft - vckeys = (self.ri.vc, self.ri.vc_for_python, self.ri.vs) - vs_vers = [] - for hkey in self.ri.HKEYS: - for key in vckeys: - try: - bkey = winreg.OpenKey(hkey, ms(key), 0, winreg.KEY_READ) - except (OSError, IOError): - continue - subkeys, values, _ = winreg.QueryInfoKey(bkey) - for i in range(values): - try: - ver = float(winreg.EnumValue(bkey, i)[0]) - if ver not in vs_vers: - vs_vers.append(ver) - except ValueError: - pass - for i in range(subkeys): - try: - ver = float(winreg.EnumKey(bkey, i)) - if ver not in vs_vers: - vs_vers.append(ver) - except ValueError: - pass - return sorted(vs_vers) - - def find_programdata_vs_vers(self): - r""" - Find Visual studio 2017+ versions from information in - "C:\ProgramData\Microsoft\VisualStudio\Packages\_Instances". - - Return - ------ - dict - float version as key, path as value. - """ - vs_versions = {} - instances_dir = \ - r'C:\ProgramData\Microsoft\VisualStudio\Packages\_Instances' - - try: - hashed_names = listdir(instances_dir) - - except (OSError, IOError): - # Directory not exists with all Visual Studio versions - return vs_versions - - for name in hashed_names: - try: - # Get VS installation path from "state.json" file - state_path = join(instances_dir, name, 'state.json') - with open(state_path, 'rt', encoding='utf-8') as state_file: - state = json.load(state_file) - vs_path = state['installationPath'] - - # Raises OSError if this VS installation does not contain VC - listdir(join(vs_path, r'VC\Tools\MSVC')) - - # Store version and path - vs_versions[self._as_float_version( - state['installationVersion'])] = vs_path - - except (OSError, IOError, KeyError): - # Skip if "state.json" file is missing or bad format - continue - - return vs_versions - - @staticmethod - def _as_float_version(version): - """ - Return a string version as a simplified float version (major.minor) - - Parameters - ---------- - version: str - Version. - - Return - ------ - float - version - """ - return float('.'.join(version.split('.')[:2])) - - @property - def VSInstallDir(self): - """ - Microsoft Visual Studio directory. - - Return - ------ - str - path - """ - # Default path - default = join(self.ProgramFilesx86, - 'Microsoft Visual Studio %0.1f' % self.vs_ver) - - # Try to get path from registry, if fail use default path - return self.ri.lookup(self.ri.vs, '%0.1f' % self.vs_ver) or default - - @property - def VCInstallDir(self): - """ - Microsoft Visual C++ directory. - - Return - ------ - str - path - """ - path = self._guess_vc() or self._guess_vc_legacy() - - if not isdir(path): - msg = 'Microsoft Visual C++ directory not found' - raise distutils.errors.DistutilsPlatformError(msg) - - return path - - def _guess_vc(self): - """ - Locate Visual C++ for VS2017+. - - Return - ------ - str - path - """ - if self.vs_ver <= 14.0: - return '' - - try: - # First search in known VS paths - vs_dir = self.known_vs_paths[self.vs_ver] - except KeyError: - # Else, search with path from registry - vs_dir = self.VSInstallDir - - guess_vc = join(vs_dir, r'VC\Tools\MSVC') - - # Subdir with VC exact version as name - try: - # Update the VC version with real one instead of VS version - vc_ver = listdir(guess_vc)[-1] - self.vc_ver = self._as_float_version(vc_ver) - return join(guess_vc, vc_ver) - except (OSError, IOError, IndexError): - return '' - - def _guess_vc_legacy(self): - """ - Locate Visual C++ for versions prior to 2017. - - Return - ------ - str - path - """ - default = join(self.ProgramFilesx86, - r'Microsoft Visual Studio %0.1f\VC' % self.vs_ver) - - # Try to get "VC++ for Python" path from registry as default path - reg_path = join(self.ri.vc_for_python, '%0.1f' % self.vs_ver) - python_vc = self.ri.lookup(reg_path, 'installdir') - default_vc = join(python_vc, 'VC') if python_vc else default - - # Try to get path from registry, if fail use default path - return self.ri.lookup(self.ri.vc, '%0.1f' % self.vs_ver) or default_vc - - @property - def WindowsSdkVersion(self): - """ - Microsoft Windows SDK versions for specified MSVC++ version. - - Return - ------ - tuple of str - versions - """ - if self.vs_ver <= 9.0: - return '7.0', '6.1', '6.0a' - elif self.vs_ver == 10.0: - return '7.1', '7.0a' - elif self.vs_ver == 11.0: - return '8.0', '8.0a' - elif self.vs_ver == 12.0: - return '8.1', '8.1a' - elif self.vs_ver >= 14.0: - return '10.0', '8.1' - - @property - def WindowsSdkLastVersion(self): - """ - Microsoft Windows SDK last version. - - Return - ------ - str - version - """ - return self._use_last_dir_name(join(self.WindowsSdkDir, 'lib')) - - @property - def WindowsSdkDir(self): - """ - Microsoft Windows SDK directory. - - Return - ------ - str - path - """ - sdkdir = '' - for ver in self.WindowsSdkVersion: - # Try to get it from registry - loc = join(self.ri.windows_sdk, 'v%s' % ver) - sdkdir = self.ri.lookup(loc, 'installationfolder') - if sdkdir: - break - if not sdkdir or not isdir(sdkdir): - # Try to get "VC++ for Python" version from registry - path = join(self.ri.vc_for_python, '%0.1f' % self.vc_ver) - install_base = self.ri.lookup(path, 'installdir') - if install_base: - sdkdir = join(install_base, 'WinSDK') - if not sdkdir or not isdir(sdkdir): - # If fail, use default new path - for ver in self.WindowsSdkVersion: - intver = ver[:ver.rfind('.')] - path = r'Microsoft SDKs\Windows Kits\%s' % intver - d = join(self.ProgramFiles, path) - if isdir(d): - sdkdir = d - if not sdkdir or not isdir(sdkdir): - # If fail, use default old path - for ver in self.WindowsSdkVersion: - path = r'Microsoft SDKs\Windows\v%s' % ver - d = join(self.ProgramFiles, path) - if isdir(d): - sdkdir = d - if not sdkdir: - # If fail, use Platform SDK - sdkdir = join(self.VCInstallDir, 'PlatformSDK') - return sdkdir - - @property - def WindowsSDKExecutablePath(self): - """ - Microsoft Windows SDK executable directory. - - Return - ------ - str - path - """ - # Find WinSDK NetFx Tools registry dir name - if self.vs_ver <= 11.0: - netfxver = 35 - arch = '' - else: - netfxver = 40 - hidex86 = True if self.vs_ver <= 12.0 else False - arch = self.pi.current_dir(x64=True, hidex86=hidex86) - fx = 'WinSDK-NetFx%dTools%s' % (netfxver, arch.replace('\\', '-')) - - # list all possibles registry paths - regpaths = [] - if self.vs_ver >= 14.0: - for ver in self.NetFxSdkVersion: - regpaths += [join(self.ri.netfx_sdk, ver, fx)] - - for ver in self.WindowsSdkVersion: - regpaths += [join(self.ri.windows_sdk, 'v%sA' % ver, fx)] - - # Return installation folder from the more recent path - for path in regpaths: - execpath = self.ri.lookup(path, 'installationfolder') - if execpath: - return execpath - - @property - def FSharpInstallDir(self): - """ - Microsoft Visual F# directory. - - Return - ------ - str - path - """ - path = join(self.ri.visualstudio, r'%0.1f\Setup\F#' % self.vs_ver) - return self.ri.lookup(path, 'productdir') or '' - - @property - def UniversalCRTSdkDir(self): - """ - Microsoft Universal CRT SDK directory. - - Return - ------ - str - path - """ - # Set Kit Roots versions for specified MSVC++ version - vers = ('10', '81') if self.vs_ver >= 14.0 else () - - # Find path of the more recent Kit - for ver in vers: - sdkdir = self.ri.lookup(self.ri.windows_kits_roots, - 'kitsroot%s' % ver) - if sdkdir: - return sdkdir or '' - - @property - def UniversalCRTSdkLastVersion(self): - """ - Microsoft Universal C Runtime SDK last version. - - Return - ------ - str - version - """ - return self._use_last_dir_name(join(self.UniversalCRTSdkDir, 'lib')) - - @property - def NetFxSdkVersion(self): - """ - Microsoft .NET Framework SDK versions. - - Return - ------ - tuple of str - versions - """ - # Set FxSdk versions for specified VS version - return (('4.7.2', '4.7.1', '4.7', - '4.6.2', '4.6.1', '4.6', - '4.5.2', '4.5.1', '4.5') - if self.vs_ver >= 14.0 else ()) - - @property - def NetFxSdkDir(self): - """ - Microsoft .NET Framework SDK directory. - - Return - ------ - str - path - """ - sdkdir = '' - for ver in self.NetFxSdkVersion: - loc = join(self.ri.netfx_sdk, ver) - sdkdir = self.ri.lookup(loc, 'kitsinstallationfolder') - if sdkdir: - break - return sdkdir - - @property - def FrameworkDir32(self): - """ - Microsoft .NET Framework 32bit directory. - - Return - ------ - str - path - """ - # Default path - guess_fw = join(self.WinDir, r'Microsoft.NET\Framework') - - # Try to get path from registry, if fail use default path - return self.ri.lookup(self.ri.vc, 'frameworkdir32') or guess_fw - - @property - def FrameworkDir64(self): - """ - Microsoft .NET Framework 64bit directory. - - Return - ------ - str - path - """ - # Default path - guess_fw = join(self.WinDir, r'Microsoft.NET\Framework64') - - # Try to get path from registry, if fail use default path - return self.ri.lookup(self.ri.vc, 'frameworkdir64') or guess_fw - - @property - def FrameworkVersion32(self): - """ - Microsoft .NET Framework 32bit versions. - - Return - ------ - tuple of str - versions - """ - return self._find_dot_net_versions(32) - - @property - def FrameworkVersion64(self): - """ - Microsoft .NET Framework 64bit versions. - - Return - ------ - tuple of str - versions - """ - return self._find_dot_net_versions(64) - - def _find_dot_net_versions(self, bits): - """ - Find Microsoft .NET Framework versions. - - Parameters - ---------- - bits: int - Platform number of bits: 32 or 64. - - Return - ------ - tuple of str - versions - """ - # Find actual .NET version in registry - reg_ver = self.ri.lookup(self.ri.vc, 'frameworkver%d' % bits) - dot_net_dir = getattr(self, 'FrameworkDir%d' % bits) - ver = reg_ver or self._use_last_dir_name(dot_net_dir, 'v') or '' - - # Set .NET versions for specified MSVC++ version - if self.vs_ver >= 12.0: - return ver, 'v4.0' - elif self.vs_ver >= 10.0: - return 'v4.0.30319' if ver.lower()[:2] != 'v4' else ver, 'v3.5' - elif self.vs_ver == 9.0: - return 'v3.5', 'v2.0.50727' - elif self.vs_ver == 8.0: - return 'v3.0', 'v2.0.50727' - - @staticmethod - def _use_last_dir_name(path, prefix=''): - """ - Return name of the last dir in path or '' if no dir found. - - Parameters - ---------- - path: str - Use dirs in this path - prefix: str - Use only dirs starting by this prefix - - Return - ------ - str - name - """ - matching_dirs = ( - dir_name - for dir_name in reversed(listdir(path)) - if isdir(join(path, dir_name)) and - dir_name.startswith(prefix) - ) - return next(matching_dirs, None) or '' - - -class EnvironmentInfo: - """ - Return environment variables for specified Microsoft Visual C++ version - and platform : Lib, Include, Path and libpath. - - This function is compatible with Microsoft Visual C++ 9.0 to 14.X. - - Script created by analysing Microsoft environment configuration files like - "vcvars[...].bat", "SetEnv.Cmd", "vcbuildtools.bat", ... - - Parameters - ---------- - arch: str - Target architecture. - vc_ver: float - Required Microsoft Visual C++ version. If not set, autodetect the last - version. - vc_min_ver: float - Minimum Microsoft Visual C++ version. - """ - - # Variables and properties in this class use originals CamelCase variables - # names from Microsoft source files for more easy comparison. - - def __init__(self, arch, vc_ver=None, vc_min_ver=0): - self.pi = PlatformInfo(arch) - self.ri = RegistryInfo(self.pi) - self.si = SystemInfo(self.ri, vc_ver) - - if self.vc_ver < vc_min_ver: - err = 'No suitable Microsoft Visual C++ version found' - raise distutils.errors.DistutilsPlatformError(err) - - @property - def vs_ver(self): - """ - Microsoft Visual Studio. - - Return - ------ - float - version - """ - return self.si.vs_ver - - @property - def vc_ver(self): - """ - Microsoft Visual C++ version. - - Return - ------ - float - version - """ - return self.si.vc_ver - - @property - def VSTools(self): - """ - Microsoft Visual Studio Tools. - - Return - ------ - list of str - paths - """ - paths = [r'Common7\IDE', r'Common7\Tools'] - - if self.vs_ver >= 14.0: - arch_subdir = self.pi.current_dir(hidex86=True, x64=True) - paths += [r'Common7\IDE\CommonExtensions\Microsoft\TestWindow'] - paths += [r'Team Tools\Performance Tools'] - paths += [r'Team Tools\Performance Tools%s' % arch_subdir] - - return [join(self.si.VSInstallDir, path) for path in paths] - - @property - def VCIncludes(self): - """ - Microsoft Visual C++ & Microsoft Foundation Class Includes. - - Return - ------ - list of str - paths - """ - return [join(self.si.VCInstallDir, 'Include'), - join(self.si.VCInstallDir, r'ATLMFC\Include')] - - @property - def VCLibraries(self): - """ - Microsoft Visual C++ & Microsoft Foundation Class Libraries. - - Return - ------ - list of str - paths - """ - if self.vs_ver >= 15.0: - arch_subdir = self.pi.target_dir(x64=True) - else: - arch_subdir = self.pi.target_dir(hidex86=True) - paths = ['Lib%s' % arch_subdir, r'ATLMFC\Lib%s' % arch_subdir] - - if self.vs_ver >= 14.0: - paths += [r'Lib\store%s' % arch_subdir] - - return [join(self.si.VCInstallDir, path) for path in paths] - - @property - def VCStoreRefs(self): - """ - Microsoft Visual C++ store references Libraries. - - Return - ------ - list of str - paths - """ - if self.vs_ver < 14.0: - return [] - return [join(self.si.VCInstallDir, r'Lib\store\references')] - - @property - def VCTools(self): - """ - Microsoft Visual C++ Tools. - - Return - ------ - list of str - paths - """ - si = self.si - tools = [join(si.VCInstallDir, 'VCPackages')] - - forcex86 = True if self.vs_ver <= 10.0 else False - arch_subdir = self.pi.cross_dir(forcex86) - if arch_subdir: - tools += [join(si.VCInstallDir, 'Bin%s' % arch_subdir)] - - if self.vs_ver == 14.0: - path = 'Bin%s' % self.pi.current_dir(hidex86=True) - tools += [join(si.VCInstallDir, path)] - - elif self.vs_ver >= 15.0: - host_dir = (r'bin\HostX86%s' if self.pi.current_is_x86() else - r'bin\HostX64%s') - tools += [join( - si.VCInstallDir, host_dir % self.pi.target_dir(x64=True))] - - if self.pi.current_cpu != self.pi.target_cpu: - tools += [join( - si.VCInstallDir, host_dir % self.pi.current_dir(x64=True))] - - else: - tools += [join(si.VCInstallDir, 'Bin')] - - return tools - - @property - def OSLibraries(self): - """ - Microsoft Windows SDK Libraries. - - Return - ------ - list of str - paths - """ - if self.vs_ver <= 10.0: - arch_subdir = self.pi.target_dir(hidex86=True, x64=True) - return [join(self.si.WindowsSdkDir, 'Lib%s' % arch_subdir)] - - else: - arch_subdir = self.pi.target_dir(x64=True) - lib = join(self.si.WindowsSdkDir, 'lib') - libver = self._sdk_subdir - return [join(lib, '%sum%s' % (libver , arch_subdir))] - - @property - def OSIncludes(self): - """ - Microsoft Windows SDK Include. - - Return - ------ - list of str - paths - """ - include = join(self.si.WindowsSdkDir, 'include') - - if self.vs_ver <= 10.0: - return [include, join(include, 'gl')] - - else: - if self.vs_ver >= 14.0: - sdkver = self._sdk_subdir - else: - sdkver = '' - return [join(include, '%sshared' % sdkver), - join(include, '%sum' % sdkver), - join(include, '%swinrt' % sdkver)] - - @property - def OSLibpath(self): - """ - Microsoft Windows SDK Libraries Paths. - - Return - ------ - list of str - paths - """ - ref = join(self.si.WindowsSdkDir, 'References') - libpath = [] - - if self.vs_ver <= 9.0: - libpath += self.OSLibraries - - if self.vs_ver >= 11.0: - libpath += [join(ref, r'CommonConfiguration\Neutral')] - - if self.vs_ver >= 14.0: - libpath += [ - ref, - join(self.si.WindowsSdkDir, 'UnionMetadata'), - join(ref, 'Windows.Foundation.UniversalApiContract', '1.0.0.0'), - join(ref, 'Windows.Foundation.FoundationContract', '1.0.0.0'), - join(ref,'Windows.Networking.Connectivity.WwanContract', - '1.0.0.0'), - join(self.si.WindowsSdkDir, 'ExtensionSDKs', 'Microsoft.VCLibs', - '%0.1f' % self.vs_ver, 'References', 'CommonConfiguration', - 'neutral'), - ] - return libpath - - @property - def SdkTools(self): - """ - Microsoft Windows SDK Tools. - - Return - ------ - list of str - paths - """ - return list(self._sdk_tools()) - - def _sdk_tools(self): - """ - Microsoft Windows SDK Tools paths generator. - - Return - ------ - generator of str - paths - """ - if self.vs_ver < 15.0: - bin_dir = 'Bin' if self.vs_ver <= 11.0 else r'Bin\x86' - yield join(self.si.WindowsSdkDir, bin_dir) - - if not self.pi.current_is_x86(): - arch_subdir = self.pi.current_dir(x64=True) - path = 'Bin%s' % arch_subdir - yield join(self.si.WindowsSdkDir, path) - - if self.vs_ver in (10.0, 11.0): - if self.pi.target_is_x86(): - arch_subdir = '' - else: - arch_subdir = self.pi.current_dir(hidex86=True, x64=True) - path = r'Bin\NETFX 4.0 Tools%s' % arch_subdir - yield join(self.si.WindowsSdkDir, path) - - elif self.vs_ver >= 15.0: - path = join(self.si.WindowsSdkDir, 'Bin') - arch_subdir = self.pi.current_dir(x64=True) - sdkver = self.si.WindowsSdkLastVersion - yield join(path, '%s%s' % (sdkver, arch_subdir)) - - if self.si.WindowsSDKExecutablePath: - yield self.si.WindowsSDKExecutablePath - - @property - def _sdk_subdir(self): - """ - Microsoft Windows SDK version subdir. - - Return - ------ - str - subdir - """ - ucrtver = self.si.WindowsSdkLastVersion - return ('%s\\' % ucrtver) if ucrtver else '' - - @property - def SdkSetup(self): - """ - Microsoft Windows SDK Setup. - - Return - ------ - list of str - paths - """ - if self.vs_ver > 9.0: - return [] - - return [join(self.si.WindowsSdkDir, 'Setup')] - - @property - def FxTools(self): - """ - Microsoft .NET Framework Tools. - - Return - ------ - list of str - paths - """ - pi = self.pi - si = self.si - - if self.vs_ver <= 10.0: - include32 = True - include64 = not pi.target_is_x86() and not pi.current_is_x86() - else: - include32 = pi.target_is_x86() or pi.current_is_x86() - include64 = pi.current_cpu == 'amd64' or pi.target_cpu == 'amd64' - - tools = [] - if include32: - tools += [join(si.FrameworkDir32, ver) - for ver in si.FrameworkVersion32] - if include64: - tools += [join(si.FrameworkDir64, ver) - for ver in si.FrameworkVersion64] - return tools - - @property - def NetFxSDKLibraries(self): - """ - Microsoft .Net Framework SDK Libraries. - - Return - ------ - list of str - paths - """ - if self.vs_ver < 14.0 or not self.si.NetFxSdkDir: - return [] - - arch_subdir = self.pi.target_dir(x64=True) - return [join(self.si.NetFxSdkDir, r'lib\um%s' % arch_subdir)] - - @property - def NetFxSDKIncludes(self): - """ - Microsoft .Net Framework SDK Includes. - - Return - ------ - list of str - paths - """ - if self.vs_ver < 14.0 or not self.si.NetFxSdkDir: - return [] - - return [join(self.si.NetFxSdkDir, r'include\um')] - - @property - def VsTDb(self): - """ - Microsoft Visual Studio Team System Database. - - Return - ------ - list of str - paths - """ - return [join(self.si.VSInstallDir, r'VSTSDB\Deploy')] - - @property - def MSBuild(self): - """ - Microsoft Build Engine. - - Return - ------ - list of str - paths - """ - if self.vs_ver < 12.0: - return [] - elif self.vs_ver < 15.0: - base_path = self.si.ProgramFilesx86 - arch_subdir = self.pi.current_dir(hidex86=True) - else: - base_path = self.si.VSInstallDir - arch_subdir = '' - - path = r'MSBuild\%0.1f\bin%s' % (self.vs_ver, arch_subdir) - build = [join(base_path, path)] - - if self.vs_ver >= 15.0: - # Add Roslyn C# & Visual Basic Compiler - build += [join(base_path, path, 'Roslyn')] - - return build - - @property - def HTMLHelpWorkshop(self): - """ - Microsoft HTML Help Workshop. - - Return - ------ - list of str - paths - """ - if self.vs_ver < 11.0: - return [] - - return [join(self.si.ProgramFilesx86, 'HTML Help Workshop')] - - @property - def UCRTLibraries(self): - """ - Microsoft Universal C Runtime SDK Libraries. - - Return - ------ - list of str - paths - """ - if self.vs_ver < 14.0: - return [] - - arch_subdir = self.pi.target_dir(x64=True) - lib = join(self.si.UniversalCRTSdkDir, 'lib') - ucrtver = self._ucrt_subdir - return [join(lib, '%sucrt%s' % (ucrtver, arch_subdir))] - - @property - def UCRTIncludes(self): - """ - Microsoft Universal C Runtime SDK Include. - - Return - ------ - list of str - paths - """ - if self.vs_ver < 14.0: - return [] - - include = join(self.si.UniversalCRTSdkDir, 'include') - return [join(include, '%sucrt' % self._ucrt_subdir)] - - @property - def _ucrt_subdir(self): - """ - Microsoft Universal C Runtime SDK version subdir. - - Return - ------ - str - subdir - """ - ucrtver = self.si.UniversalCRTSdkLastVersion - return ('%s\\' % ucrtver) if ucrtver else '' - - @property - def FSharp(self): - """ - Microsoft Visual F#. - - Return - ------ - list of str - paths - """ - if 11.0 > self.vs_ver > 12.0: - return [] - - return [self.si.FSharpInstallDir] - - @property - def VCRuntimeRedist(self): - """ - Microsoft Visual C++ runtime redistributable dll. - - Return - ------ - str - path - """ - vcruntime = 'vcruntime%d0.dll' % self.vc_ver - arch_subdir = self.pi.target_dir(x64=True).strip('\\') - - # Installation prefixes candidates - prefixes = [] - tools_path = self.si.VCInstallDir - redist_path = dirname(tools_path.replace(r'\Tools', r'\Redist')) - if isdir(redist_path): - # Redist version may not be exactly the same as tools - redist_path = join(redist_path, listdir(redist_path)[-1]) - prefixes += [redist_path, join(redist_path, 'onecore')] - - prefixes += [join(tools_path, 'redist')] # VS14 legacy path - - # CRT directory - crt_dirs = ('Microsoft.VC%d.CRT' % (self.vc_ver * 10), - # Sometime store in directory with VS version instead of VC - 'Microsoft.VC%d.CRT' % (int(self.vs_ver) * 10)) - - # vcruntime path - for prefix, crt_dir in itertools.product(prefixes, crt_dirs): - path = join(prefix, arch_subdir, crt_dir, vcruntime) - if isfile(path): - return path - - def return_env(self, exists=True): - """ - Return environment dict. - - Parameters - ---------- - exists: bool - It True, only return existing paths. - - Return - ------ - dict - environment - """ - env = dict( - include=self._build_paths('include', - [self.VCIncludes, - self.OSIncludes, - self.UCRTIncludes, - self.NetFxSDKIncludes], - exists), - lib=self._build_paths('lib', - [self.VCLibraries, - self.OSLibraries, - self.FxTools, - self.UCRTLibraries, - self.NetFxSDKLibraries], - exists), - libpath=self._build_paths('libpath', - [self.VCLibraries, - self.FxTools, - self.VCStoreRefs, - self.OSLibpath], - exists), - path=self._build_paths('path', - [self.VCTools, - self.VSTools, - self.VsTDb, - self.SdkTools, - self.SdkSetup, - self.FxTools, - self.MSBuild, - self.HTMLHelpWorkshop, - self.FSharp], - exists), - ) - if self.vs_ver >= 14 and isfile(self.VCRuntimeRedist): - env['py_vcruntime_redist'] = self.VCRuntimeRedist - return env - - def _build_paths(self, name, spec_path_lists, exists): - """ - Given an environment variable name and specified paths, - return a pathsep-separated string of paths containing - unique, extant, directories from those paths and from - the environment variable. Raise an error if no paths - are resolved. - - Parameters - ---------- - name: str - Environment variable name - spec_path_lists: list of str - Paths - exists: bool - It True, only return existing paths. - - Return - ------ - str - Pathsep-separated paths - """ - # flatten spec_path_lists - spec_paths = itertools.chain.from_iterable(spec_path_lists) - env_paths = environ.get(name, '').split(pathsep) - paths = itertools.chain(spec_paths, env_paths) - extant_paths = list(filter(isdir, paths)) if exists else paths - if not extant_paths: - msg = "%s environment variable is empty" % name.upper() - raise distutils.errors.DistutilsPlatformError(msg) - unique_paths = self._unique_everseen(extant_paths) - return pathsep.join(unique_paths) - - # from Python docs - @staticmethod - def _unique_everseen(iterable, key=None): - """ - List unique elements, preserving order. - Remember all elements ever seen. - - _unique_everseen('AAAABBBCCDAABBB') --> A B C D - - _unique_everseen('ABBCcAD', str.lower) --> A B C D - """ - seen = set() - seen_add = seen.add - if key is None: - for element in filterfalse(seen.__contains__, iterable): - seen_add(element) - yield element - else: - for element in iterable: - k = key(element) - if k not in seen: - seen_add(k) - yield element diff --git a/.venv/lib/python3.8/site-packages/setuptools/namespaces.py b/.venv/lib/python3.8/site-packages/setuptools/namespaces.py deleted file mode 100644 index dc16106..0000000 --- a/.venv/lib/python3.8/site-packages/setuptools/namespaces.py +++ /dev/null @@ -1,107 +0,0 @@ -import os -from distutils import log -import itertools - -from setuptools.extern.six.moves import map - - -flatten = itertools.chain.from_iterable - - -class Installer: - - nspkg_ext = '-nspkg.pth' - - def install_namespaces(self): - nsp = self._get_all_ns_packages() - if not nsp: - return - filename, ext = os.path.splitext(self._get_target()) - filename += self.nspkg_ext - self.outputs.append(filename) - log.info("Installing %s", filename) - lines = map(self._gen_nspkg_line, nsp) - - if self.dry_run: - # always generate the lines, even in dry run - list(lines) - return - - with open(filename, 'wt') as f: - f.writelines(lines) - - def uninstall_namespaces(self): - filename, ext = os.path.splitext(self._get_target()) - filename += self.nspkg_ext - if not os.path.exists(filename): - return - log.info("Removing %s", filename) - os.remove(filename) - - def _get_target(self): - return self.target - - _nspkg_tmpl = ( - "import sys, types, os", - "has_mfs = sys.version_info > (3, 5)", - "p = os.path.join(%(root)s, *%(pth)r)", - "importlib = has_mfs and __import__('importlib.util')", - "has_mfs and __import__('importlib.machinery')", - "m = has_mfs and " - "sys.modules.setdefault(%(pkg)r, " - "importlib.util.module_from_spec(" - "importlib.machinery.PathFinder.find_spec(%(pkg)r, " - "[os.path.dirname(p)])))", - "m = m or " - "sys.modules.setdefault(%(pkg)r, types.ModuleType(%(pkg)r))", - "mp = (m or []) and m.__dict__.setdefault('__path__',[])", - "(p not in mp) and mp.append(p)", - ) - "lines for the namespace installer" - - _nspkg_tmpl_multi = ( - 'm and setattr(sys.modules[%(parent)r], %(child)r, m)', - ) - "additional line(s) when a parent package is indicated" - - def _get_root(self): - return "sys._getframe(1).f_locals['sitedir']" - - def _gen_nspkg_line(self, pkg): - # ensure pkg is not a unicode string under Python 2.7 - pkg = str(pkg) - pth = tuple(pkg.split('.')) - root = self._get_root() - tmpl_lines = self._nspkg_tmpl - parent, sep, child = pkg.rpartition('.') - if parent: - tmpl_lines += self._nspkg_tmpl_multi - return ';'.join(tmpl_lines) % locals() + '\n' - - def _get_all_ns_packages(self): - """Return sorted list of all package namespaces""" - pkgs = self.distribution.namespace_packages or [] - return sorted(flatten(map(self._pkg_names, pkgs))) - - @staticmethod - def _pkg_names(pkg): - """ - Given a namespace package, yield the components of that - package. - - >>> names = Installer._pkg_names('a.b.c') - >>> set(names) == set(['a', 'a.b', 'a.b.c']) - True - """ - parts = pkg.split('.') - while parts: - yield '.'.join(parts) - parts.pop() - - -class DevelopInstaller(Installer): - def _get_root(self): - return repr(str(self.egg_path)) - - def _get_target(self): - return self.egg_link diff --git a/.venv/lib/python3.8/site-packages/setuptools/package_index.py b/.venv/lib/python3.8/site-packages/setuptools/package_index.py deleted file mode 100644 index 9a2da9d..0000000 --- a/.venv/lib/python3.8/site-packages/setuptools/package_index.py +++ /dev/null @@ -1,1136 +0,0 @@ -"""PyPI and direct package downloading""" -import sys -import os -import re -import shutil -import socket -import base64 -import hashlib -import itertools -import warnings -from functools import wraps - -from setuptools.extern import six -from setuptools.extern.six.moves import urllib, http_client, configparser, map - -import setuptools -from pkg_resources import ( - CHECKOUT_DIST, Distribution, BINARY_DIST, normalize_path, SOURCE_DIST, - Environment, find_distributions, safe_name, safe_version, - to_filename, Requirement, DEVELOP_DIST, EGG_DIST, -) -from setuptools import ssl_support -from distutils import log -from distutils.errors import DistutilsError -from fnmatch import translate -from setuptools.py27compat import get_all_headers -from setuptools.py33compat import unescape -from setuptools.wheel import Wheel - -__metaclass__ = type - -EGG_FRAGMENT = re.compile(r'^egg=([-A-Za-z0-9_.+!]+)$') -HREF = re.compile(r"""href\s*=\s*['"]?([^'"> ]+)""", re.I) -PYPI_MD5 = re.compile( - r'<a href="([^"#]+)">([^<]+)</a>\n\s+\(<a (?:title="MD5 hash"\n\s+)' - r'href="[^?]+\?:action=show_md5&digest=([0-9a-f]{32})">md5</a>\)' -) -URL_SCHEME = re.compile('([-+.a-z0-9]{2,}):', re.I).match -EXTENSIONS = ".tar.gz .tar.bz2 .tar .zip .tgz".split() - -__all__ = [ - 'PackageIndex', 'distros_for_url', 'parse_bdist_wininst', - 'interpret_distro_name', -] - -_SOCKET_TIMEOUT = 15 - -_tmpl = "setuptools/{setuptools.__version__} Python-urllib/{py_major}" -user_agent = _tmpl.format(py_major='{}.{}'.format(*sys.version_info), setuptools=setuptools) - - -def parse_requirement_arg(spec): - try: - return Requirement.parse(spec) - except ValueError: - raise DistutilsError( - "Not a URL, existing file, or requirement spec: %r" % (spec,) - ) - - -def parse_bdist_wininst(name): - """Return (base,pyversion) or (None,None) for possible .exe name""" - - lower = name.lower() - base, py_ver, plat = None, None, None - - if lower.endswith('.exe'): - if lower.endswith('.win32.exe'): - base = name[:-10] - plat = 'win32' - elif lower.startswith('.win32-py', -16): - py_ver = name[-7:-4] - base = name[:-16] - plat = 'win32' - elif lower.endswith('.win-amd64.exe'): - base = name[:-14] - plat = 'win-amd64' - elif lower.startswith('.win-amd64-py', -20): - py_ver = name[-7:-4] - base = name[:-20] - plat = 'win-amd64' - return base, py_ver, plat - - -def egg_info_for_url(url): - parts = urllib.parse.urlparse(url) - scheme, server, path, parameters, query, fragment = parts - base = urllib.parse.unquote(path.split('/')[-1]) - if server == 'sourceforge.net' and base == 'download': # XXX Yuck - base = urllib.parse.unquote(path.split('/')[-2]) - if '#' in base: - base, fragment = base.split('#', 1) - return base, fragment - - -def distros_for_url(url, metadata=None): - """Yield egg or source distribution objects that might be found at a URL""" - base, fragment = egg_info_for_url(url) - for dist in distros_for_location(url, base, metadata): - yield dist - if fragment: - match = EGG_FRAGMENT.match(fragment) - if match: - for dist in interpret_distro_name( - url, match.group(1), metadata, precedence=CHECKOUT_DIST - ): - yield dist - - -def distros_for_location(location, basename, metadata=None): - """Yield egg or source distribution objects based on basename""" - if basename.endswith('.egg.zip'): - basename = basename[:-4] # strip the .zip - if basename.endswith('.egg') and '-' in basename: - # only one, unambiguous interpretation - return [Distribution.from_location(location, basename, metadata)] - if basename.endswith('.whl') and '-' in basename: - wheel = Wheel(basename) - if not wheel.is_compatible(): - return [] - return [Distribution( - location=location, - project_name=wheel.project_name, - version=wheel.version, - # Increase priority over eggs. - precedence=EGG_DIST + 1, - )] - if basename.endswith('.exe'): - win_base, py_ver, platform = parse_bdist_wininst(basename) - if win_base is not None: - return interpret_distro_name( - location, win_base, metadata, py_ver, BINARY_DIST, platform - ) - # Try source distro extensions (.zip, .tgz, etc.) - # - for ext in EXTENSIONS: - if basename.endswith(ext): - basename = basename[:-len(ext)] - return interpret_distro_name(location, basename, metadata) - return [] # no extension matched - - -def distros_for_filename(filename, metadata=None): - """Yield possible egg or source distribution objects based on a filename""" - return distros_for_location( - normalize_path(filename), os.path.basename(filename), metadata - ) - - -def interpret_distro_name( - location, basename, metadata, py_version=None, precedence=SOURCE_DIST, - platform=None -): - """Generate alternative interpretations of a source distro name - - Note: if `location` is a filesystem filename, you should call - ``pkg_resources.normalize_path()`` on it before passing it to this - routine! - """ - # Generate alternative interpretations of a source distro name - # Because some packages are ambiguous as to name/versions split - # e.g. "adns-python-1.1.0", "egenix-mx-commercial", etc. - # So, we generate each possible interepretation (e.g. "adns, python-1.1.0" - # "adns-python, 1.1.0", and "adns-python-1.1.0, no version"). In practice, - # the spurious interpretations should be ignored, because in the event - # there's also an "adns" package, the spurious "python-1.1.0" version will - # compare lower than any numeric version number, and is therefore unlikely - # to match a request for it. It's still a potential problem, though, and - # in the long run PyPI and the distutils should go for "safe" names and - # versions in distribution archive names (sdist and bdist). - - parts = basename.split('-') - if not py_version and any(re.match(r'py\d\.\d$', p) for p in parts[2:]): - # it is a bdist_dumb, not an sdist -- bail out - return - - for p in range(1, len(parts) + 1): - yield Distribution( - location, metadata, '-'.join(parts[:p]), '-'.join(parts[p:]), - py_version=py_version, precedence=precedence, - platform=platform - ) - - -# From Python 2.7 docs -def unique_everseen(iterable, key=None): - "List unique elements, preserving order. Remember all elements ever seen." - # unique_everseen('AAAABBBCCDAABBB') --> A B C D - # unique_everseen('ABBCcAD', str.lower) --> A B C D - seen = set() - seen_add = seen.add - if key is None: - for element in six.moves.filterfalse(seen.__contains__, iterable): - seen_add(element) - yield element - else: - for element in iterable: - k = key(element) - if k not in seen: - seen_add(k) - yield element - - -def unique_values(func): - """ - Wrap a function returning an iterable such that the resulting iterable - only ever yields unique items. - """ - - @wraps(func) - def wrapper(*args, **kwargs): - return unique_everseen(func(*args, **kwargs)) - - return wrapper - - -REL = re.compile(r"""<([^>]*\srel\s{0,10}=\s{0,10}['"]?([^'" >]+)[^>]*)>""", re.I) -# this line is here to fix emacs' cruddy broken syntax highlighting - - -@unique_values -def find_external_links(url, page): - """Find rel="homepage" and rel="download" links in `page`, yielding URLs""" - - for match in REL.finditer(page): - tag, rel = match.groups() - rels = set(map(str.strip, rel.lower().split(','))) - if 'homepage' in rels or 'download' in rels: - for match in HREF.finditer(tag): - yield urllib.parse.urljoin(url, htmldecode(match.group(1))) - - for tag in ("<th>Home Page", "<th>Download URL"): - pos = page.find(tag) - if pos != -1: - match = HREF.search(page, pos) - if match: - yield urllib.parse.urljoin(url, htmldecode(match.group(1))) - - -class ContentChecker: - """ - A null content checker that defines the interface for checking content - """ - - def feed(self, block): - """ - Feed a block of data to the hash. - """ - return - - def is_valid(self): - """ - Check the hash. Return False if validation fails. - """ - return True - - def report(self, reporter, template): - """ - Call reporter with information about the checker (hash name) - substituted into the template. - """ - return - - -class HashChecker(ContentChecker): - pattern = re.compile( - r'(?P<hash_name>sha1|sha224|sha384|sha256|sha512|md5)=' - r'(?P<expected>[a-f0-9]+)' - ) - - def __init__(self, hash_name, expected): - self.hash_name = hash_name - self.hash = hashlib.new(hash_name) - self.expected = expected - - @classmethod - def from_url(cls, url): - "Construct a (possibly null) ContentChecker from a URL" - fragment = urllib.parse.urlparse(url)[-1] - if not fragment: - return ContentChecker() - match = cls.pattern.search(fragment) - if not match: - return ContentChecker() - return cls(**match.groupdict()) - - def feed(self, block): - self.hash.update(block) - - def is_valid(self): - return self.hash.hexdigest() == self.expected - - def report(self, reporter, template): - msg = template % self.hash_name - return reporter(msg) - - -class PackageIndex(Environment): - """A distribution index that scans web pages for download URLs""" - - def __init__( - self, index_url="https://pypi.org/simple/", hosts=('*',), - ca_bundle=None, verify_ssl=True, *args, **kw - ): - Environment.__init__(self, *args, **kw) - self.index_url = index_url + "/" [:not index_url.endswith('/')] - self.scanned_urls = {} - self.fetched_urls = {} - self.package_pages = {} - self.allows = re.compile('|'.join(map(translate, hosts))).match - self.to_scan = [] - use_ssl = ( - verify_ssl - and ssl_support.is_available - and (ca_bundle or ssl_support.find_ca_bundle()) - ) - if use_ssl: - self.opener = ssl_support.opener_for(ca_bundle) - else: - self.opener = urllib.request.urlopen - - def process_url(self, url, retrieve=False): - """Evaluate a URL as a possible download, and maybe retrieve it""" - if url in self.scanned_urls and not retrieve: - return - self.scanned_urls[url] = True - if not URL_SCHEME(url): - self.process_filename(url) - return - else: - dists = list(distros_for_url(url)) - if dists: - if not self.url_ok(url): - return - self.debug("Found link: %s", url) - - if dists or not retrieve or url in self.fetched_urls: - list(map(self.add, dists)) - return # don't need the actual page - - if not self.url_ok(url): - self.fetched_urls[url] = True - return - - self.info("Reading %s", url) - self.fetched_urls[url] = True # prevent multiple fetch attempts - tmpl = "Download error on %s: %%s -- Some packages may not be found!" - f = self.open_url(url, tmpl % url) - if f is None: - return - self.fetched_urls[f.url] = True - if 'html' not in f.headers.get('content-type', '').lower(): - f.close() # not html, we can't process it - return - - base = f.url # handle redirects - page = f.read() - if not isinstance(page, str): - # In Python 3 and got bytes but want str. - if isinstance(f, urllib.error.HTTPError): - # Errors have no charset, assume latin1: - charset = 'latin-1' - else: - charset = f.headers.get_param('charset') or 'latin-1' - page = page.decode(charset, "ignore") - f.close() - for match in HREF.finditer(page): - link = urllib.parse.urljoin(base, htmldecode(match.group(1))) - self.process_url(link) - if url.startswith(self.index_url) and getattr(f, 'code', None) != 404: - page = self.process_index(url, page) - - def process_filename(self, fn, nested=False): - # process filenames or directories - if not os.path.exists(fn): - self.warn("Not found: %s", fn) - return - - if os.path.isdir(fn) and not nested: - path = os.path.realpath(fn) - for item in os.listdir(path): - self.process_filename(os.path.join(path, item), True) - - dists = distros_for_filename(fn) - if dists: - self.debug("Found: %s", fn) - list(map(self.add, dists)) - - def url_ok(self, url, fatal=False): - s = URL_SCHEME(url) - is_file = s and s.group(1).lower() == 'file' - if is_file or self.allows(urllib.parse.urlparse(url)[1]): - return True - msg = ( - "\nNote: Bypassing %s (disallowed host; see " - "http://bit.ly/2hrImnY for details).\n") - if fatal: - raise DistutilsError(msg % url) - else: - self.warn(msg, url) - - def scan_egg_links(self, search_path): - dirs = filter(os.path.isdir, search_path) - egg_links = ( - (path, entry) - for path in dirs - for entry in os.listdir(path) - if entry.endswith('.egg-link') - ) - list(itertools.starmap(self.scan_egg_link, egg_links)) - - def scan_egg_link(self, path, entry): - with open(os.path.join(path, entry)) as raw_lines: - # filter non-empty lines - lines = list(filter(None, map(str.strip, raw_lines))) - - if len(lines) != 2: - # format is not recognized; punt - return - - egg_path, setup_path = lines - - for dist in find_distributions(os.path.join(path, egg_path)): - dist.location = os.path.join(path, *lines) - dist.precedence = SOURCE_DIST - self.add(dist) - - def process_index(self, url, page): - """Process the contents of a PyPI page""" - - def scan(link): - # Process a URL to see if it's for a package page - if link.startswith(self.index_url): - parts = list(map( - urllib.parse.unquote, link[len(self.index_url):].split('/') - )) - if len(parts) == 2 and '#' not in parts[1]: - # it's a package page, sanitize and index it - pkg = safe_name(parts[0]) - ver = safe_version(parts[1]) - self.package_pages.setdefault(pkg.lower(), {})[link] = True - return to_filename(pkg), to_filename(ver) - return None, None - - # process an index page into the package-page index - for match in HREF.finditer(page): - try: - scan(urllib.parse.urljoin(url, htmldecode(match.group(1)))) - except ValueError: - pass - - pkg, ver = scan(url) # ensure this page is in the page index - if pkg: - # process individual package page - for new_url in find_external_links(url, page): - # Process the found URL - base, frag = egg_info_for_url(new_url) - if base.endswith('.py') and not frag: - if ver: - new_url += '#egg=%s-%s' % (pkg, ver) - else: - self.need_version_info(url) - self.scan_url(new_url) - - return PYPI_MD5.sub( - lambda m: '<a href="%s#md5=%s">%s</a>' % m.group(1, 3, 2), page - ) - else: - return "" # no sense double-scanning non-package pages - - def need_version_info(self, url): - self.scan_all( - "Page at %s links to .py file(s) without version info; an index " - "scan is required.", url - ) - - def scan_all(self, msg=None, *args): - if self.index_url not in self.fetched_urls: - if msg: - self.warn(msg, *args) - self.info( - "Scanning index of all packages (this may take a while)" - ) - self.scan_url(self.index_url) - - def find_packages(self, requirement): - self.scan_url(self.index_url + requirement.unsafe_name + '/') - - if not self.package_pages.get(requirement.key): - # Fall back to safe version of the name - self.scan_url(self.index_url + requirement.project_name + '/') - - if not self.package_pages.get(requirement.key): - # We couldn't find the target package, so search the index page too - self.not_found_in_index(requirement) - - for url in list(self.package_pages.get(requirement.key, ())): - # scan each page that might be related to the desired package - self.scan_url(url) - - def obtain(self, requirement, installer=None): - self.prescan() - self.find_packages(requirement) - for dist in self[requirement.key]: - if dist in requirement: - return dist - self.debug("%s does not match %s", requirement, dist) - return super(PackageIndex, self).obtain(requirement, installer) - - def check_hash(self, checker, filename, tfp): - """ - checker is a ContentChecker - """ - checker.report( - self.debug, - "Validating %%s checksum for %s" % filename) - if not checker.is_valid(): - tfp.close() - os.unlink(filename) - raise DistutilsError( - "%s validation failed for %s; " - "possible download problem?" - % (checker.hash.name, os.path.basename(filename)) - ) - - def add_find_links(self, urls): - """Add `urls` to the list that will be prescanned for searches""" - for url in urls: - if ( - self.to_scan is None # if we have already "gone online" - or not URL_SCHEME(url) # or it's a local file/directory - or url.startswith('file:') - or list(distros_for_url(url)) # or a direct package link - ): - # then go ahead and process it now - self.scan_url(url) - else: - # otherwise, defer retrieval till later - self.to_scan.append(url) - - def prescan(self): - """Scan urls scheduled for prescanning (e.g. --find-links)""" - if self.to_scan: - list(map(self.scan_url, self.to_scan)) - self.to_scan = None # from now on, go ahead and process immediately - - def not_found_in_index(self, requirement): - if self[requirement.key]: # we've seen at least one distro - meth, msg = self.info, "Couldn't retrieve index page for %r" - else: # no distros seen for this name, might be misspelled - meth, msg = ( - self.warn, - "Couldn't find index page for %r (maybe misspelled?)") - meth(msg, requirement.unsafe_name) - self.scan_all() - - def download(self, spec, tmpdir): - """Locate and/or download `spec` to `tmpdir`, returning a local path - - `spec` may be a ``Requirement`` object, or a string containing a URL, - an existing local filename, or a project/version requirement spec - (i.e. the string form of a ``Requirement`` object). If it is the URL - of a .py file with an unambiguous ``#egg=name-version`` tag (i.e., one - that escapes ``-`` as ``_`` throughout), a trivial ``setup.py`` is - automatically created alongside the downloaded file. - - If `spec` is a ``Requirement`` object or a string containing a - project/version requirement spec, this method returns the location of - a matching distribution (possibly after downloading it to `tmpdir`). - If `spec` is a locally existing file or directory name, it is simply - returned unchanged. If `spec` is a URL, it is downloaded to a subpath - of `tmpdir`, and the local filename is returned. Various errors may be - raised if a problem occurs during downloading. - """ - if not isinstance(spec, Requirement): - scheme = URL_SCHEME(spec) - if scheme: - # It's a url, download it to tmpdir - found = self._download_url(scheme.group(1), spec, tmpdir) - base, fragment = egg_info_for_url(spec) - if base.endswith('.py'): - found = self.gen_setup(found, fragment, tmpdir) - return found - elif os.path.exists(spec): - # Existing file or directory, just return it - return spec - else: - spec = parse_requirement_arg(spec) - return getattr(self.fetch_distribution(spec, tmpdir), 'location', None) - - def fetch_distribution( - self, requirement, tmpdir, force_scan=False, source=False, - develop_ok=False, local_index=None): - """Obtain a distribution suitable for fulfilling `requirement` - - `requirement` must be a ``pkg_resources.Requirement`` instance. - If necessary, or if the `force_scan` flag is set, the requirement is - searched for in the (online) package index as well as the locally - installed packages. If a distribution matching `requirement` is found, - the returned distribution's ``location`` is the value you would have - gotten from calling the ``download()`` method with the matching - distribution's URL or filename. If no matching distribution is found, - ``None`` is returned. - - If the `source` flag is set, only source distributions and source - checkout links will be considered. Unless the `develop_ok` flag is - set, development and system eggs (i.e., those using the ``.egg-info`` - format) will be ignored. - """ - # process a Requirement - self.info("Searching for %s", requirement) - skipped = {} - dist = None - - def find(req, env=None): - if env is None: - env = self - # Find a matching distribution; may be called more than once - - for dist in env[req.key]: - - if dist.precedence == DEVELOP_DIST and not develop_ok: - if dist not in skipped: - self.warn( - "Skipping development or system egg: %s", dist, - ) - skipped[dist] = 1 - continue - - test = ( - dist in req - and (dist.precedence <= SOURCE_DIST or not source) - ) - if test: - loc = self.download(dist.location, tmpdir) - dist.download_location = loc - if os.path.exists(dist.download_location): - return dist - - if force_scan: - self.prescan() - self.find_packages(requirement) - dist = find(requirement) - - if not dist and local_index is not None: - dist = find(requirement, local_index) - - if dist is None: - if self.to_scan is not None: - self.prescan() - dist = find(requirement) - - if dist is None and not force_scan: - self.find_packages(requirement) - dist = find(requirement) - - if dist is None: - self.warn( - "No local packages or working download links found for %s%s", - (source and "a source distribution of " or ""), - requirement, - ) - else: - self.info("Best match: %s", dist) - return dist.clone(location=dist.download_location) - - def fetch(self, requirement, tmpdir, force_scan=False, source=False): - """Obtain a file suitable for fulfilling `requirement` - - DEPRECATED; use the ``fetch_distribution()`` method now instead. For - backward compatibility, this routine is identical but returns the - ``location`` of the downloaded distribution instead of a distribution - object. - """ - dist = self.fetch_distribution(requirement, tmpdir, force_scan, source) - if dist is not None: - return dist.location - return None - - def gen_setup(self, filename, fragment, tmpdir): - match = EGG_FRAGMENT.match(fragment) - dists = match and [ - d for d in - interpret_distro_name(filename, match.group(1), None) if d.version - ] or [] - - if len(dists) == 1: # unambiguous ``#egg`` fragment - basename = os.path.basename(filename) - - # Make sure the file has been downloaded to the temp dir. - if os.path.dirname(filename) != tmpdir: - dst = os.path.join(tmpdir, basename) - from setuptools.command.easy_install import samefile - if not samefile(filename, dst): - shutil.copy2(filename, dst) - filename = dst - - with open(os.path.join(tmpdir, 'setup.py'), 'w') as file: - file.write( - "from setuptools import setup\n" - "setup(name=%r, version=%r, py_modules=[%r])\n" - % ( - dists[0].project_name, dists[0].version, - os.path.splitext(basename)[0] - ) - ) - return filename - - elif match: - raise DistutilsError( - "Can't unambiguously interpret project/version identifier %r; " - "any dashes in the name or version should be escaped using " - "underscores. %r" % (fragment, dists) - ) - else: - raise DistutilsError( - "Can't process plain .py files without an '#egg=name-version'" - " suffix to enable automatic setup script generation." - ) - - dl_blocksize = 8192 - - def _download_to(self, url, filename): - self.info("Downloading %s", url) - # Download the file - fp = None - try: - checker = HashChecker.from_url(url) - fp = self.open_url(url) - if isinstance(fp, urllib.error.HTTPError): - raise DistutilsError( - "Can't download %s: %s %s" % (url, fp.code, fp.msg) - ) - headers = fp.info() - blocknum = 0 - bs = self.dl_blocksize - size = -1 - if "content-length" in headers: - # Some servers return multiple Content-Length headers :( - sizes = get_all_headers(headers, 'Content-Length') - size = max(map(int, sizes)) - self.reporthook(url, filename, blocknum, bs, size) - with open(filename, 'wb') as tfp: - while True: - block = fp.read(bs) - if block: - checker.feed(block) - tfp.write(block) - blocknum += 1 - self.reporthook(url, filename, blocknum, bs, size) - else: - break - self.check_hash(checker, filename, tfp) - return headers - finally: - if fp: - fp.close() - - def reporthook(self, url, filename, blocknum, blksize, size): - pass # no-op - - def open_url(self, url, warning=None): - if url.startswith('file:'): - return local_open(url) - try: - return open_with_auth(url, self.opener) - except (ValueError, http_client.InvalidURL) as v: - msg = ' '.join([str(arg) for arg in v.args]) - if warning: - self.warn(warning, msg) - else: - raise DistutilsError('%s %s' % (url, msg)) - except urllib.error.HTTPError as v: - return v - except urllib.error.URLError as v: - if warning: - self.warn(warning, v.reason) - else: - raise DistutilsError("Download error for %s: %s" - % (url, v.reason)) - except http_client.BadStatusLine as v: - if warning: - self.warn(warning, v.line) - else: - raise DistutilsError( - '%s returned a bad status line. The server might be ' - 'down, %s' % - (url, v.line) - ) - except (http_client.HTTPException, socket.error) as v: - if warning: - self.warn(warning, v) - else: - raise DistutilsError("Download error for %s: %s" - % (url, v)) - - def _download_url(self, scheme, url, tmpdir): - # Determine download filename - # - name, fragment = egg_info_for_url(url) - if name: - while '..' in name: - name = name.replace('..', '.').replace('\\', '_') - else: - name = "__downloaded__" # default if URL has no path contents - - if name.endswith('.egg.zip'): - name = name[:-4] # strip the extra .zip before download - - filename = os.path.join(tmpdir, name) - - # Download the file - # - if scheme == 'svn' or scheme.startswith('svn+'): - return self._download_svn(url, filename) - elif scheme == 'git' or scheme.startswith('git+'): - return self._download_git(url, filename) - elif scheme.startswith('hg+'): - return self._download_hg(url, filename) - elif scheme == 'file': - return urllib.request.url2pathname(urllib.parse.urlparse(url)[2]) - else: - self.url_ok(url, True) # raises error if not allowed - return self._attempt_download(url, filename) - - def scan_url(self, url): - self.process_url(url, True) - - def _attempt_download(self, url, filename): - headers = self._download_to(url, filename) - if 'html' in headers.get('content-type', '').lower(): - return self._download_html(url, headers, filename) - else: - return filename - - def _download_html(self, url, headers, filename): - file = open(filename) - for line in file: - if line.strip(): - # Check for a subversion index page - if re.search(r'<title>([^- ]+ - )?Revision \d+:', line): - # it's a subversion index page: - file.close() - os.unlink(filename) - return self._download_svn(url, filename) - break # not an index page - file.close() - os.unlink(filename) - raise DistutilsError("Unexpected HTML page found at " + url) - - def _download_svn(self, url, filename): - warnings.warn("SVN download support is deprecated", UserWarning) - url = url.split('#', 1)[0] # remove any fragment for svn's sake - creds = '' - if url.lower().startswith('svn:') and '@' in url: - scheme, netloc, path, p, q, f = urllib.parse.urlparse(url) - if not netloc and path.startswith('//') and '/' in path[2:]: - netloc, path = path[2:].split('/', 1) - auth, host = _splituser(netloc) - if auth: - if ':' in auth: - user, pw = auth.split(':', 1) - creds = " --username=%s --password=%s" % (user, pw) - else: - creds = " --username=" + auth - netloc = host - parts = scheme, netloc, url, p, q, f - url = urllib.parse.urlunparse(parts) - self.info("Doing subversion checkout from %s to %s", url, filename) - os.system("svn checkout%s -q %s %s" % (creds, url, filename)) - return filename - - @staticmethod - def _vcs_split_rev_from_url(url, pop_prefix=False): - scheme, netloc, path, query, frag = urllib.parse.urlsplit(url) - - scheme = scheme.split('+', 1)[-1] - - # Some fragment identification fails - path = path.split('#', 1)[0] - - rev = None - if '@' in path: - path, rev = path.rsplit('@', 1) - - # Also, discard fragment - url = urllib.parse.urlunsplit((scheme, netloc, path, query, '')) - - return url, rev - - def _download_git(self, url, filename): - filename = filename.split('#', 1)[0] - url, rev = self._vcs_split_rev_from_url(url, pop_prefix=True) - - self.info("Doing git clone from %s to %s", url, filename) - os.system("git clone --quiet %s %s" % (url, filename)) - - if rev is not None: - self.info("Checking out %s", rev) - os.system("git -C %s checkout --quiet %s" % ( - filename, - rev, - )) - - return filename - - def _download_hg(self, url, filename): - filename = filename.split('#', 1)[0] - url, rev = self._vcs_split_rev_from_url(url, pop_prefix=True) - - self.info("Doing hg clone from %s to %s", url, filename) - os.system("hg clone --quiet %s %s" % (url, filename)) - - if rev is not None: - self.info("Updating to %s", rev) - os.system("hg --cwd %s up -C -r %s -q" % ( - filename, - rev, - )) - - return filename - - def debug(self, msg, *args): - log.debug(msg, *args) - - def info(self, msg, *args): - log.info(msg, *args) - - def warn(self, msg, *args): - log.warn(msg, *args) - - -# This pattern matches a character entity reference (a decimal numeric -# references, a hexadecimal numeric reference, or a named reference). -entity_sub = re.compile(r'&(#(\d+|x[\da-fA-F]+)|[\w.:-]+);?').sub - - -def decode_entity(match): - what = match.group(0) - return unescape(what) - - -def htmldecode(text): - """ - Decode HTML entities in the given text. - - >>> htmldecode( - ... 'https://../package_name-0.1.2.tar.gz' - ... '?tokena=A&tokenb=B">package_name-0.1.2.tar.gz') - 'https://../package_name-0.1.2.tar.gz?tokena=A&tokenb=B">package_name-0.1.2.tar.gz' - """ - return entity_sub(decode_entity, text) - - -def socket_timeout(timeout=15): - def _socket_timeout(func): - def _socket_timeout(*args, **kwargs): - old_timeout = socket.getdefaulttimeout() - socket.setdefaulttimeout(timeout) - try: - return func(*args, **kwargs) - finally: - socket.setdefaulttimeout(old_timeout) - - return _socket_timeout - - return _socket_timeout - - -def _encode_auth(auth): - """ - A function compatible with Python 2.3-3.3 that will encode - auth from a URL suitable for an HTTP header. - >>> str(_encode_auth('username%3Apassword')) - 'dXNlcm5hbWU6cGFzc3dvcmQ=' - - Long auth strings should not cause a newline to be inserted. - >>> long_auth = 'username:' + 'password'*10 - >>> chr(10) in str(_encode_auth(long_auth)) - False - """ - auth_s = urllib.parse.unquote(auth) - # convert to bytes - auth_bytes = auth_s.encode() - encoded_bytes = base64.b64encode(auth_bytes) - # convert back to a string - encoded = encoded_bytes.decode() - # strip the trailing carriage return - return encoded.replace('\n', '') - - -class Credential: - """ - A username/password pair. Use like a namedtuple. - """ - - def __init__(self, username, password): - self.username = username - self.password = password - - def __iter__(self): - yield self.username - yield self.password - - def __str__(self): - return '%(username)s:%(password)s' % vars(self) - - -class PyPIConfig(configparser.RawConfigParser): - def __init__(self): - """ - Load from ~/.pypirc - """ - defaults = dict.fromkeys(['username', 'password', 'repository'], '') - configparser.RawConfigParser.__init__(self, defaults) - - rc = os.path.join(os.path.expanduser('~'), '.pypirc') - if os.path.exists(rc): - self.read(rc) - - @property - def creds_by_repository(self): - sections_with_repositories = [ - section for section in self.sections() - if self.get(section, 'repository').strip() - ] - - return dict(map(self._get_repo_cred, sections_with_repositories)) - - def _get_repo_cred(self, section): - repo = self.get(section, 'repository').strip() - return repo, Credential( - self.get(section, 'username').strip(), - self.get(section, 'password').strip(), - ) - - def find_credential(self, url): - """ - If the URL indicated appears to be a repository defined in this - config, return the credential for that repository. - """ - for repository, cred in self.creds_by_repository.items(): - if url.startswith(repository): - return cred - - -def open_with_auth(url, opener=urllib.request.urlopen): - """Open a urllib2 request, handling HTTP authentication""" - - parsed = urllib.parse.urlparse(url) - scheme, netloc, path, params, query, frag = parsed - - # Double scheme does not raise on Mac OS X as revealed by a - # failing test. We would expect "nonnumeric port". Refs #20. - if netloc.endswith(':'): - raise http_client.InvalidURL("nonnumeric port: ''") - - if scheme in ('http', 'https'): - auth, address = _splituser(netloc) - else: - auth = None - - if not auth: - cred = PyPIConfig().find_credential(url) - if cred: - auth = str(cred) - info = cred.username, url - log.info('Authenticating as %s for %s (from .pypirc)', *info) - - if auth: - auth = "Basic " + _encode_auth(auth) - parts = scheme, address, path, params, query, frag - new_url = urllib.parse.urlunparse(parts) - request = urllib.request.Request(new_url) - request.add_header("Authorization", auth) - else: - request = urllib.request.Request(url) - - request.add_header('User-Agent', user_agent) - fp = opener(request) - - if auth: - # Put authentication info back into request URL if same host, - # so that links found on the page will work - s2, h2, path2, param2, query2, frag2 = urllib.parse.urlparse(fp.url) - if s2 == scheme and h2 == address: - parts = s2, netloc, path2, param2, query2, frag2 - fp.url = urllib.parse.urlunparse(parts) - - return fp - - -# copy of urllib.parse._splituser from Python 3.8 -def _splituser(host): - """splituser('user[:passwd]@host[:port]') --> 'user[:passwd]', 'host[:port]'.""" - user, delim, host = host.rpartition('@') - return (user if delim else None), host - - -# adding a timeout to avoid freezing package_index -open_with_auth = socket_timeout(_SOCKET_TIMEOUT)(open_with_auth) - - -def fix_sf_url(url): - return url # backward compatibility - - -def local_open(url): - """Read a local path, with special support for directories""" - scheme, server, path, param, query, frag = urllib.parse.urlparse(url) - filename = urllib.request.url2pathname(path) - if os.path.isfile(filename): - return urllib.request.urlopen(url) - elif path.endswith('/') and os.path.isdir(filename): - files = [] - for f in os.listdir(filename): - filepath = os.path.join(filename, f) - if f == 'index.html': - with open(filepath, 'r') as fp: - body = fp.read() - break - elif os.path.isdir(filepath): - f += '/' - files.append('<a href="{name}">{name}</a>'.format(name=f)) - else: - tmpl = ( - "<html><head><title>{url}</title>" - "</head><body>{files}</body></html>") - body = tmpl.format(url=url, files='\n'.join(files)) - status, message = 200, "OK" - else: - status, message, body = 404, "Path not found", "Not found" - - headers = {'content-type': 'text/html'} - body_stream = six.StringIO(body) - return urllib.error.HTTPError(url, status, message, headers, body_stream) diff --git a/.venv/lib/python3.8/site-packages/setuptools/py27compat.py b/.venv/lib/python3.8/site-packages/setuptools/py27compat.py deleted file mode 100644 index 1d57360..0000000 --- a/.venv/lib/python3.8/site-packages/setuptools/py27compat.py +++ /dev/null @@ -1,60 +0,0 @@ -""" -Compatibility Support for Python 2.7 and earlier -""" - -import sys -import platform - -from setuptools.extern import six - - -def get_all_headers(message, key): - """ - Given an HTTPMessage, return all headers matching a given key. - """ - return message.get_all(key) - - -if six.PY2: - def get_all_headers(message, key): - return message.getheaders(key) - - -linux_py2_ascii = ( - platform.system() == 'Linux' and - six.PY2 -) - -rmtree_safe = str if linux_py2_ascii else lambda x: x -"""Workaround for http://bugs.python.org/issue24672""" - - -try: - from ._imp import find_module, PY_COMPILED, PY_FROZEN, PY_SOURCE - from ._imp import get_frozen_object, get_module -except ImportError: - import imp - from imp import PY_COMPILED, PY_FROZEN, PY_SOURCE # noqa - - def find_module(module, paths=None): - """Just like 'imp.find_module()', but with package support""" - parts = module.split('.') - while parts: - part = parts.pop(0) - f, path, (suffix, mode, kind) = info = imp.find_module(part, paths) - - if kind == imp.PKG_DIRECTORY: - parts = parts or ['__init__'] - paths = [path] - - elif parts: - raise ImportError("Can't find %r in %s" % (parts, module)) - - return info - - def get_frozen_object(module, paths): - return imp.get_frozen_object(module) - - def get_module(module, paths, info): - imp.load_module(module, *info) - return sys.modules[module] diff --git a/.venv/lib/python3.8/site-packages/setuptools/py31compat.py b/.venv/lib/python3.8/site-packages/setuptools/py31compat.py deleted file mode 100644 index e1da7ee..0000000 --- a/.venv/lib/python3.8/site-packages/setuptools/py31compat.py +++ /dev/null @@ -1,32 +0,0 @@ -__all__ = [] - -__metaclass__ = type - - -try: - # Python >=3.2 - from tempfile import TemporaryDirectory -except ImportError: - import shutil - import tempfile - - class TemporaryDirectory: - """ - Very simple temporary directory context manager. - Will try to delete afterward, but will also ignore OS and similar - errors on deletion. - """ - - def __init__(self, **kwargs): - self.name = None # Handle mkdtemp raising an exception - self.name = tempfile.mkdtemp(**kwargs) - - def __enter__(self): - return self.name - - def __exit__(self, exctype, excvalue, exctrace): - try: - shutil.rmtree(self.name, True) - except OSError: # removal errors are not the only possible - pass - self.name = None diff --git a/.venv/lib/python3.8/site-packages/setuptools/py33compat.py b/.venv/lib/python3.8/site-packages/setuptools/py33compat.py deleted file mode 100644 index cb69443..0000000 --- a/.venv/lib/python3.8/site-packages/setuptools/py33compat.py +++ /dev/null @@ -1,59 +0,0 @@ -import dis -import array -import collections - -try: - import html -except ImportError: - html = None - -from setuptools.extern import six -from setuptools.extern.six.moves import html_parser - -__metaclass__ = type - -OpArg = collections.namedtuple('OpArg', 'opcode arg') - - -class Bytecode_compat: - def __init__(self, code): - self.code = code - - def __iter__(self): - """Yield '(op,arg)' pair for each operation in code object 'code'""" - - bytes = array.array('b', self.code.co_code) - eof = len(self.code.co_code) - - ptr = 0 - extended_arg = 0 - - while ptr < eof: - - op = bytes[ptr] - - if op >= dis.HAVE_ARGUMENT: - - arg = bytes[ptr + 1] + bytes[ptr + 2] * 256 + extended_arg - ptr += 3 - - if op == dis.EXTENDED_ARG: - long_type = six.integer_types[-1] - extended_arg = arg * long_type(65536) - continue - - else: - arg = None - ptr += 1 - - yield OpArg(op, arg) - - -Bytecode = getattr(dis, 'Bytecode', Bytecode_compat) - - -unescape = getattr(html, 'unescape', None) -if unescape is None: - # HTMLParser.unescape is deprecated since Python 3.4, and will be removed - # from 3.9. - unescape = html_parser.HTMLParser().unescape diff --git a/.venv/lib/python3.8/site-packages/setuptools/py34compat.py b/.venv/lib/python3.8/site-packages/setuptools/py34compat.py deleted file mode 100644 index 3ad9172..0000000 --- a/.venv/lib/python3.8/site-packages/setuptools/py34compat.py +++ /dev/null @@ -1,13 +0,0 @@ -import importlib - -try: - import importlib.util -except ImportError: - pass - - -try: - module_from_spec = importlib.util.module_from_spec -except AttributeError: - def module_from_spec(spec): - return spec.loader.load_module(spec.name) diff --git a/.venv/lib/python3.8/site-packages/setuptools/sandbox.py b/.venv/lib/python3.8/site-packages/setuptools/sandbox.py deleted file mode 100644 index 685f3f7..0000000 --- a/.venv/lib/python3.8/site-packages/setuptools/sandbox.py +++ /dev/null @@ -1,491 +0,0 @@ -import os -import sys -import tempfile -import operator -import functools -import itertools -import re -import contextlib -import pickle -import textwrap - -from setuptools.extern import six -from setuptools.extern.six.moves import builtins, map - -import pkg_resources.py31compat - -if sys.platform.startswith('java'): - import org.python.modules.posix.PosixModule as _os -else: - _os = sys.modules[os.name] -try: - _file = file -except NameError: - _file = None -_open = open -from distutils.errors import DistutilsError -from pkg_resources import working_set - - -__all__ = [ - "AbstractSandbox", "DirectorySandbox", "SandboxViolation", "run_setup", -] - - -def _execfile(filename, globals, locals=None): - """ - Python 3 implementation of execfile. - """ - mode = 'rb' - with open(filename, mode) as stream: - script = stream.read() - if locals is None: - locals = globals - code = compile(script, filename, 'exec') - exec(code, globals, locals) - - -@contextlib.contextmanager -def save_argv(repl=None): - saved = sys.argv[:] - if repl is not None: - sys.argv[:] = repl - try: - yield saved - finally: - sys.argv[:] = saved - - -@contextlib.contextmanager -def save_path(): - saved = sys.path[:] - try: - yield saved - finally: - sys.path[:] = saved - - -@contextlib.contextmanager -def override_temp(replacement): - """ - Monkey-patch tempfile.tempdir with replacement, ensuring it exists - """ - pkg_resources.py31compat.makedirs(replacement, exist_ok=True) - - saved = tempfile.tempdir - - tempfile.tempdir = replacement - - try: - yield - finally: - tempfile.tempdir = saved - - -@contextlib.contextmanager -def pushd(target): - saved = os.getcwd() - os.chdir(target) - try: - yield saved - finally: - os.chdir(saved) - - -class UnpickleableException(Exception): - """ - An exception representing another Exception that could not be pickled. - """ - - @staticmethod - def dump(type, exc): - """ - Always return a dumped (pickled) type and exc. If exc can't be pickled, - wrap it in UnpickleableException first. - """ - try: - return pickle.dumps(type), pickle.dumps(exc) - except Exception: - # get UnpickleableException inside the sandbox - from setuptools.sandbox import UnpickleableException as cls - return cls.dump(cls, cls(repr(exc))) - - -class ExceptionSaver: - """ - A Context Manager that will save an exception, serialized, and restore it - later. - """ - - def __enter__(self): - return self - - def __exit__(self, type, exc, tb): - if not exc: - return - - # dump the exception - self._saved = UnpickleableException.dump(type, exc) - self._tb = tb - - # suppress the exception - return True - - def resume(self): - "restore and re-raise any exception" - - if '_saved' not in vars(self): - return - - type, exc = map(pickle.loads, self._saved) - six.reraise(type, exc, self._tb) - - -@contextlib.contextmanager -def save_modules(): - """ - Context in which imported modules are saved. - - Translates exceptions internal to the context into the equivalent exception - outside the context. - """ - saved = sys.modules.copy() - with ExceptionSaver() as saved_exc: - yield saved - - sys.modules.update(saved) - # remove any modules imported since - del_modules = ( - mod_name for mod_name in sys.modules - if mod_name not in saved - # exclude any encodings modules. See #285 - and not mod_name.startswith('encodings.') - ) - _clear_modules(del_modules) - - saved_exc.resume() - - -def _clear_modules(module_names): - for mod_name in list(module_names): - del sys.modules[mod_name] - - -@contextlib.contextmanager -def save_pkg_resources_state(): - saved = pkg_resources.__getstate__() - try: - yield saved - finally: - pkg_resources.__setstate__(saved) - - -@contextlib.contextmanager -def setup_context(setup_dir): - temp_dir = os.path.join(setup_dir, 'temp') - with save_pkg_resources_state(): - with save_modules(): - hide_setuptools() - with save_path(): - with save_argv(): - with override_temp(temp_dir): - with pushd(setup_dir): - # ensure setuptools commands are available - __import__('setuptools') - yield - - -def _needs_hiding(mod_name): - """ - >>> _needs_hiding('setuptools') - True - >>> _needs_hiding('pkg_resources') - True - >>> _needs_hiding('setuptools_plugin') - False - >>> _needs_hiding('setuptools.__init__') - True - >>> _needs_hiding('distutils') - True - >>> _needs_hiding('os') - False - >>> _needs_hiding('Cython') - True - """ - pattern = re.compile(r'(setuptools|pkg_resources|distutils|Cython)(\.|$)') - return bool(pattern.match(mod_name)) - - -def hide_setuptools(): - """ - Remove references to setuptools' modules from sys.modules to allow the - invocation to import the most appropriate setuptools. This technique is - necessary to avoid issues such as #315 where setuptools upgrading itself - would fail to find a function declared in the metadata. - """ - modules = filter(_needs_hiding, sys.modules) - _clear_modules(modules) - - -def run_setup(setup_script, args): - """Run a distutils setup script, sandboxed in its directory""" - setup_dir = os.path.abspath(os.path.dirname(setup_script)) - with setup_context(setup_dir): - try: - sys.argv[:] = [setup_script] + list(args) - sys.path.insert(0, setup_dir) - # reset to include setup dir, w/clean callback list - working_set.__init__() - working_set.callbacks.append(lambda dist: dist.activate()) - - # __file__ should be a byte string on Python 2 (#712) - dunder_file = ( - setup_script - if isinstance(setup_script, str) else - setup_script.encode(sys.getfilesystemencoding()) - ) - - with DirectorySandbox(setup_dir): - ns = dict(__file__=dunder_file, __name__='__main__') - _execfile(setup_script, ns) - except SystemExit as v: - if v.args and v.args[0]: - raise - # Normal exit, just return - - -class AbstractSandbox: - """Wrap 'os' module and 'open()' builtin for virtualizing setup scripts""" - - _active = False - - def __init__(self): - self._attrs = [ - name for name in dir(_os) - if not name.startswith('_') and hasattr(self, name) - ] - - def _copy(self, source): - for name in self._attrs: - setattr(os, name, getattr(source, name)) - - def __enter__(self): - self._copy(self) - if _file: - builtins.file = self._file - builtins.open = self._open - self._active = True - - def __exit__(self, exc_type, exc_value, traceback): - self._active = False - if _file: - builtins.file = _file - builtins.open = _open - self._copy(_os) - - def run(self, func): - """Run 'func' under os sandboxing""" - with self: - return func() - - def _mk_dual_path_wrapper(name): - original = getattr(_os, name) - - def wrap(self, src, dst, *args, **kw): - if self._active: - src, dst = self._remap_pair(name, src, dst, *args, **kw) - return original(src, dst, *args, **kw) - - return wrap - - for name in ["rename", "link", "symlink"]: - if hasattr(_os, name): - locals()[name] = _mk_dual_path_wrapper(name) - - def _mk_single_path_wrapper(name, original=None): - original = original or getattr(_os, name) - - def wrap(self, path, *args, **kw): - if self._active: - path = self._remap_input(name, path, *args, **kw) - return original(path, *args, **kw) - - return wrap - - if _file: - _file = _mk_single_path_wrapper('file', _file) - _open = _mk_single_path_wrapper('open', _open) - for name in [ - "stat", "listdir", "chdir", "open", "chmod", "chown", "mkdir", - "remove", "unlink", "rmdir", "utime", "lchown", "chroot", "lstat", - "startfile", "mkfifo", "mknod", "pathconf", "access" - ]: - if hasattr(_os, name): - locals()[name] = _mk_single_path_wrapper(name) - - def _mk_single_with_return(name): - original = getattr(_os, name) - - def wrap(self, path, *args, **kw): - if self._active: - path = self._remap_input(name, path, *args, **kw) - return self._remap_output(name, original(path, *args, **kw)) - return original(path, *args, **kw) - - return wrap - - for name in ['readlink', 'tempnam']: - if hasattr(_os, name): - locals()[name] = _mk_single_with_return(name) - - def _mk_query(name): - original = getattr(_os, name) - - def wrap(self, *args, **kw): - retval = original(*args, **kw) - if self._active: - return self._remap_output(name, retval) - return retval - - return wrap - - for name in ['getcwd', 'tmpnam']: - if hasattr(_os, name): - locals()[name] = _mk_query(name) - - def _validate_path(self, path): - """Called to remap or validate any path, whether input or output""" - return path - - def _remap_input(self, operation, path, *args, **kw): - """Called for path inputs""" - return self._validate_path(path) - - def _remap_output(self, operation, path): - """Called for path outputs""" - return self._validate_path(path) - - def _remap_pair(self, operation, src, dst, *args, **kw): - """Called for path pairs like rename, link, and symlink operations""" - return ( - self._remap_input(operation + '-from', src, *args, **kw), - self._remap_input(operation + '-to', dst, *args, **kw) - ) - - -if hasattr(os, 'devnull'): - _EXCEPTIONS = [os.devnull,] -else: - _EXCEPTIONS = [] - - -class DirectorySandbox(AbstractSandbox): - """Restrict operations to a single subdirectory - pseudo-chroot""" - - write_ops = dict.fromkeys([ - "open", "chmod", "chown", "mkdir", "remove", "unlink", "rmdir", - "utime", "lchown", "chroot", "mkfifo", "mknod", "tempnam", - ]) - - _exception_patterns = [ - # Allow lib2to3 to attempt to save a pickled grammar object (#121) - r'.*lib2to3.*\.pickle$', - ] - "exempt writing to paths that match the pattern" - - def __init__(self, sandbox, exceptions=_EXCEPTIONS): - self._sandbox = os.path.normcase(os.path.realpath(sandbox)) - self._prefix = os.path.join(self._sandbox, '') - self._exceptions = [ - os.path.normcase(os.path.realpath(path)) - for path in exceptions - ] - AbstractSandbox.__init__(self) - - def _violation(self, operation, *args, **kw): - from setuptools.sandbox import SandboxViolation - raise SandboxViolation(operation, args, kw) - - if _file: - - def _file(self, path, mode='r', *args, **kw): - if mode not in ('r', 'rt', 'rb', 'rU', 'U') and not self._ok(path): - self._violation("file", path, mode, *args, **kw) - return _file(path, mode, *args, **kw) - - def _open(self, path, mode='r', *args, **kw): - if mode not in ('r', 'rt', 'rb', 'rU', 'U') and not self._ok(path): - self._violation("open", path, mode, *args, **kw) - return _open(path, mode, *args, **kw) - - def tmpnam(self): - self._violation("tmpnam") - - def _ok(self, path): - active = self._active - try: - self._active = False - realpath = os.path.normcase(os.path.realpath(path)) - return ( - self._exempted(realpath) - or realpath == self._sandbox - or realpath.startswith(self._prefix) - ) - finally: - self._active = active - - def _exempted(self, filepath): - start_matches = ( - filepath.startswith(exception) - for exception in self._exceptions - ) - pattern_matches = ( - re.match(pattern, filepath) - for pattern in self._exception_patterns - ) - candidates = itertools.chain(start_matches, pattern_matches) - return any(candidates) - - def _remap_input(self, operation, path, *args, **kw): - """Called for path inputs""" - if operation in self.write_ops and not self._ok(path): - self._violation(operation, os.path.realpath(path), *args, **kw) - return path - - def _remap_pair(self, operation, src, dst, *args, **kw): - """Called for path pairs like rename, link, and symlink operations""" - if not self._ok(src) or not self._ok(dst): - self._violation(operation, src, dst, *args, **kw) - return (src, dst) - - def open(self, file, flags, mode=0o777, *args, **kw): - """Called for low-level os.open()""" - if flags & WRITE_FLAGS and not self._ok(file): - self._violation("os.open", file, flags, mode, *args, **kw) - return _os.open(file, flags, mode, *args, **kw) - - -WRITE_FLAGS = functools.reduce( - operator.or_, [getattr(_os, a, 0) for a in - "O_WRONLY O_RDWR O_APPEND O_CREAT O_TRUNC O_TEMPORARY".split()] -) - - -class SandboxViolation(DistutilsError): - """A setup script attempted to modify the filesystem outside the sandbox""" - - tmpl = textwrap.dedent(""" - SandboxViolation: {cmd}{args!r} {kwargs} - - The package setup script has attempted to modify files on your system - that are not within the EasyInstall build area, and has been aborted. - - This package cannot be safely installed by EasyInstall, and may not - support alternate installation locations even if you run its setup - script by hand. Please inform the package's author and the EasyInstall - maintainers to find out if a fix or workaround is available. - """).lstrip() - - def __str__(self): - cmd, args, kwargs = self.args - return self.tmpl.format(**locals()) diff --git a/.venv/lib/python3.8/site-packages/setuptools/script (dev).tmpl b/.venv/lib/python3.8/site-packages/setuptools/script (dev).tmpl deleted file mode 100644 index 39a24b0..0000000 --- a/.venv/lib/python3.8/site-packages/setuptools/script (dev).tmpl +++ /dev/null @@ -1,6 +0,0 @@ -# EASY-INSTALL-DEV-SCRIPT: %(spec)r,%(script_name)r -__requires__ = %(spec)r -__import__('pkg_resources').require(%(spec)r) -__file__ = %(dev_path)r -with open(__file__) as f: - exec(compile(f.read(), __file__, 'exec')) diff --git a/.venv/lib/python3.8/site-packages/setuptools/script.tmpl b/.venv/lib/python3.8/site-packages/setuptools/script.tmpl deleted file mode 100644 index ff5efbc..0000000 --- a/.venv/lib/python3.8/site-packages/setuptools/script.tmpl +++ /dev/null @@ -1,3 +0,0 @@ -# EASY-INSTALL-SCRIPT: %(spec)r,%(script_name)r -__requires__ = %(spec)r -__import__('pkg_resources').run_script(%(spec)r, %(script_name)r) diff --git a/.venv/lib/python3.8/site-packages/setuptools/site-patch.py b/.venv/lib/python3.8/site-packages/setuptools/site-patch.py deleted file mode 100644 index 40b00de..0000000 --- a/.venv/lib/python3.8/site-packages/setuptools/site-patch.py +++ /dev/null @@ -1,74 +0,0 @@ -def __boot(): - import sys - import os - PYTHONPATH = os.environ.get('PYTHONPATH') - if PYTHONPATH is None or (sys.platform == 'win32' and not PYTHONPATH): - PYTHONPATH = [] - else: - PYTHONPATH = PYTHONPATH.split(os.pathsep) - - pic = getattr(sys, 'path_importer_cache', {}) - stdpath = sys.path[len(PYTHONPATH):] - mydir = os.path.dirname(__file__) - - for item in stdpath: - if item == mydir or not item: - continue # skip if current dir. on Windows, or my own directory - importer = pic.get(item) - if importer is not None: - loader = importer.find_module('site') - if loader is not None: - # This should actually reload the current module - loader.load_module('site') - break - else: - try: - import imp # Avoid import loop in Python 3 - stream, path, descr = imp.find_module('site', [item]) - except ImportError: - continue - if stream is None: - continue - try: - # This should actually reload the current module - imp.load_module('site', stream, path, descr) - finally: - stream.close() - break - else: - raise ImportError("Couldn't find the real 'site' module") - - known_paths = dict([(makepath(item)[1], 1) for item in sys.path]) # 2.2 comp - - oldpos = getattr(sys, '__egginsert', 0) # save old insertion position - sys.__egginsert = 0 # and reset the current one - - for item in PYTHONPATH: - addsitedir(item) - - sys.__egginsert += oldpos # restore effective old position - - d, nd = makepath(stdpath[0]) - insert_at = None - new_path = [] - - for item in sys.path: - p, np = makepath(item) - - if np == nd and insert_at is None: - # We've hit the first 'system' path entry, so added entries go here - insert_at = len(new_path) - - if np in known_paths or insert_at is None: - new_path.append(item) - else: - # new path after the insert point, back-insert it - new_path.insert(insert_at, item) - insert_at += 1 - - sys.path[:] = new_path - - -if __name__ == 'site': - __boot() - del __boot diff --git a/.venv/lib/python3.8/site-packages/setuptools/ssl_support.py b/.venv/lib/python3.8/site-packages/setuptools/ssl_support.py deleted file mode 100644 index 226db69..0000000 --- a/.venv/lib/python3.8/site-packages/setuptools/ssl_support.py +++ /dev/null @@ -1,260 +0,0 @@ -import os -import socket -import atexit -import re -import functools - -from setuptools.extern.six.moves import urllib, http_client, map, filter - -from pkg_resources import ResolutionError, ExtractionError - -try: - import ssl -except ImportError: - ssl = None - -__all__ = [ - 'VerifyingHTTPSHandler', 'find_ca_bundle', 'is_available', 'cert_paths', - 'opener_for' -] - -cert_paths = """ -/etc/pki/tls/certs/ca-bundle.crt -/etc/ssl/certs/ca-certificates.crt -/usr/share/ssl/certs/ca-bundle.crt -/usr/local/share/certs/ca-root.crt -/etc/ssl/cert.pem -/System/Library/OpenSSL/certs/cert.pem -/usr/local/share/certs/ca-root-nss.crt -/etc/ssl/ca-bundle.pem -""".strip().split() - -try: - HTTPSHandler = urllib.request.HTTPSHandler - HTTPSConnection = http_client.HTTPSConnection -except AttributeError: - HTTPSHandler = HTTPSConnection = object - -is_available = ssl is not None and object not in (HTTPSHandler, HTTPSConnection) - - -try: - from ssl import CertificateError, match_hostname -except ImportError: - try: - from backports.ssl_match_hostname import CertificateError - from backports.ssl_match_hostname import match_hostname - except ImportError: - CertificateError = None - match_hostname = None - -if not CertificateError: - - class CertificateError(ValueError): - pass - - -if not match_hostname: - - def _dnsname_match(dn, hostname, max_wildcards=1): - """Matching according to RFC 6125, section 6.4.3 - - https://tools.ietf.org/html/rfc6125#section-6.4.3 - """ - pats = [] - if not dn: - return False - - # Ported from python3-syntax: - # leftmost, *remainder = dn.split(r'.') - parts = dn.split(r'.') - leftmost = parts[0] - remainder = parts[1:] - - wildcards = leftmost.count('*') - if wildcards > max_wildcards: - # Issue #17980: avoid denials of service by refusing more - # than one wildcard per fragment. A survey of established - # policy among SSL implementations showed it to be a - # reasonable choice. - raise CertificateError( - "too many wildcards in certificate DNS name: " + repr(dn)) - - # speed up common case w/o wildcards - if not wildcards: - return dn.lower() == hostname.lower() - - # RFC 6125, section 6.4.3, subitem 1. - # The client SHOULD NOT attempt to match a presented identifier in which - # the wildcard character comprises a label other than the left-most label. - if leftmost == '*': - # When '*' is a fragment by itself, it matches a non-empty dotless - # fragment. - pats.append('[^.]+') - elif leftmost.startswith('xn--') or hostname.startswith('xn--'): - # RFC 6125, section 6.4.3, subitem 3. - # The client SHOULD NOT attempt to match a presented identifier - # where the wildcard character is embedded within an A-label or - # U-label of an internationalized domain name. - pats.append(re.escape(leftmost)) - else: - # Otherwise, '*' matches any dotless string, e.g. www* - pats.append(re.escape(leftmost).replace(r'\*', '[^.]*')) - - # add the remaining fragments, ignore any wildcards - for frag in remainder: - pats.append(re.escape(frag)) - - pat = re.compile(r'\A' + r'\.'.join(pats) + r'\Z', re.IGNORECASE) - return pat.match(hostname) - - def match_hostname(cert, hostname): - """Verify that *cert* (in decoded format as returned by - SSLSocket.getpeercert()) matches the *hostname*. RFC 2818 and RFC 6125 - rules are followed, but IP addresses are not accepted for *hostname*. - - CertificateError is raised on failure. On success, the function - returns nothing. - """ - if not cert: - raise ValueError("empty or no certificate") - dnsnames = [] - san = cert.get('subjectAltName', ()) - for key, value in san: - if key == 'DNS': - if _dnsname_match(value, hostname): - return - dnsnames.append(value) - if not dnsnames: - # The subject is only checked when there is no dNSName entry - # in subjectAltName - for sub in cert.get('subject', ()): - for key, value in sub: - # XXX according to RFC 2818, the most specific Common Name - # must be used. - if key == 'commonName': - if _dnsname_match(value, hostname): - return - dnsnames.append(value) - if len(dnsnames) > 1: - raise CertificateError("hostname %r " - "doesn't match either of %s" - % (hostname, ', '.join(map(repr, dnsnames)))) - elif len(dnsnames) == 1: - raise CertificateError("hostname %r " - "doesn't match %r" - % (hostname, dnsnames[0])) - else: - raise CertificateError("no appropriate commonName or " - "subjectAltName fields were found") - - -class VerifyingHTTPSHandler(HTTPSHandler): - """Simple verifying handler: no auth, subclasses, timeouts, etc.""" - - def __init__(self, ca_bundle): - self.ca_bundle = ca_bundle - HTTPSHandler.__init__(self) - - def https_open(self, req): - return self.do_open( - lambda host, **kw: VerifyingHTTPSConn(host, self.ca_bundle, **kw), req - ) - - -class VerifyingHTTPSConn(HTTPSConnection): - """Simple verifying connection: no auth, subclasses, timeouts, etc.""" - - def __init__(self, host, ca_bundle, **kw): - HTTPSConnection.__init__(self, host, **kw) - self.ca_bundle = ca_bundle - - def connect(self): - sock = socket.create_connection( - (self.host, self.port), getattr(self, 'source_address', None) - ) - - # Handle the socket if a (proxy) tunnel is present - if hasattr(self, '_tunnel') and getattr(self, '_tunnel_host', None): - self.sock = sock - self._tunnel() - # http://bugs.python.org/issue7776: Python>=3.4.1 and >=2.7.7 - # change self.host to mean the proxy server host when tunneling is - # being used. Adapt, since we are interested in the destination - # host for the match_hostname() comparison. - actual_host = self._tunnel_host - else: - actual_host = self.host - - if hasattr(ssl, 'create_default_context'): - ctx = ssl.create_default_context(cafile=self.ca_bundle) - self.sock = ctx.wrap_socket(sock, server_hostname=actual_host) - else: - # This is for python < 2.7.9 and < 3.4? - self.sock = ssl.wrap_socket( - sock, cert_reqs=ssl.CERT_REQUIRED, ca_certs=self.ca_bundle - ) - try: - match_hostname(self.sock.getpeercert(), actual_host) - except CertificateError: - self.sock.shutdown(socket.SHUT_RDWR) - self.sock.close() - raise - - -def opener_for(ca_bundle=None): - """Get a urlopen() replacement that uses ca_bundle for verification""" - return urllib.request.build_opener( - VerifyingHTTPSHandler(ca_bundle or find_ca_bundle()) - ).open - - -# from jaraco.functools -def once(func): - @functools.wraps(func) - def wrapper(*args, **kwargs): - if not hasattr(func, 'always_returns'): - func.always_returns = func(*args, **kwargs) - return func.always_returns - return wrapper - - -@once -def get_win_certfile(): - try: - import wincertstore - except ImportError: - return None - - class CertFile(wincertstore.CertFile): - def __init__(self): - super(CertFile, self).__init__() - atexit.register(self.close) - - def close(self): - try: - super(CertFile, self).close() - except OSError: - pass - - _wincerts = CertFile() - _wincerts.addstore('CA') - _wincerts.addstore('ROOT') - return _wincerts.name - - -def find_ca_bundle(): - """Return an existing CA bundle path, or None""" - extant_cert_paths = filter(os.path.isfile, cert_paths) - return ( - get_win_certfile() - or next(extant_cert_paths, None) - or _certifi_where() - ) - - -def _certifi_where(): - try: - return __import__('certifi').where() - except (ImportError, ResolutionError, ExtractionError): - pass diff --git a/.venv/lib/python3.8/site-packages/setuptools/unicode_utils.py b/.venv/lib/python3.8/site-packages/setuptools/unicode_utils.py deleted file mode 100644 index 7c63efd..0000000 --- a/.venv/lib/python3.8/site-packages/setuptools/unicode_utils.py +++ /dev/null @@ -1,44 +0,0 @@ -import unicodedata -import sys - -from setuptools.extern import six - - -# HFS Plus uses decomposed UTF-8 -def decompose(path): - if isinstance(path, six.text_type): - return unicodedata.normalize('NFD', path) - try: - path = path.decode('utf-8') - path = unicodedata.normalize('NFD', path) - path = path.encode('utf-8') - except UnicodeError: - pass # Not UTF-8 - return path - - -def filesys_decode(path): - """ - Ensure that the given path is decoded, - NONE when no expected encoding works - """ - - if isinstance(path, six.text_type): - return path - - fs_enc = sys.getfilesystemencoding() or 'utf-8' - candidates = fs_enc, 'utf-8' - - for enc in candidates: - try: - return path.decode(enc) - except UnicodeDecodeError: - continue - - -def try_encode(string, enc): - "turn unicode encoding into a functional routine" - try: - return string.encode(enc) - except UnicodeEncodeError: - return None diff --git a/.venv/lib/python3.8/site-packages/setuptools/version.py b/.venv/lib/python3.8/site-packages/setuptools/version.py deleted file mode 100644 index 95e1869..0000000 --- a/.venv/lib/python3.8/site-packages/setuptools/version.py +++ /dev/null @@ -1,6 +0,0 @@ -import pkg_resources - -try: - __version__ = pkg_resources.get_distribution('setuptools').version -except Exception: - __version__ = 'unknown' diff --git a/.venv/lib/python3.8/site-packages/setuptools/wheel.py b/.venv/lib/python3.8/site-packages/setuptools/wheel.py deleted file mode 100644 index 025aaa8..0000000 --- a/.venv/lib/python3.8/site-packages/setuptools/wheel.py +++ /dev/null @@ -1,220 +0,0 @@ -"""Wheels support.""" - -from distutils.util import get_platform -from distutils import log -import email -import itertools -import os -import posixpath -import re -import zipfile - -import pkg_resources -import setuptools -from pkg_resources import parse_version -from setuptools.extern.packaging.tags import sys_tags -from setuptools.extern.packaging.utils import canonicalize_name -from setuptools.extern.six import PY3 -from setuptools.command.egg_info import write_requirements - - -__metaclass__ = type - - -WHEEL_NAME = re.compile( - r"""^(?P<project_name>.+?)-(?P<version>\d.*?) - ((-(?P<build>\d.*?))?-(?P<py_version>.+?)-(?P<abi>.+?)-(?P<platform>.+?) - )\.whl$""", - re.VERBOSE).match - -NAMESPACE_PACKAGE_INIT = '''\ -try: - __import__('pkg_resources').declare_namespace(__name__) -except ImportError: - __path__ = __import__('pkgutil').extend_path(__path__, __name__) -''' - - -def unpack(src_dir, dst_dir): - '''Move everything under `src_dir` to `dst_dir`, and delete the former.''' - for dirpath, dirnames, filenames in os.walk(src_dir): - subdir = os.path.relpath(dirpath, src_dir) - for f in filenames: - src = os.path.join(dirpath, f) - dst = os.path.join(dst_dir, subdir, f) - os.renames(src, dst) - for n, d in reversed(list(enumerate(dirnames))): - src = os.path.join(dirpath, d) - dst = os.path.join(dst_dir, subdir, d) - if not os.path.exists(dst): - # Directory does not exist in destination, - # rename it and prune it from os.walk list. - os.renames(src, dst) - del dirnames[n] - # Cleanup. - for dirpath, dirnames, filenames in os.walk(src_dir, topdown=True): - assert not filenames - os.rmdir(dirpath) - - -class Wheel: - - def __init__(self, filename): - match = WHEEL_NAME(os.path.basename(filename)) - if match is None: - raise ValueError('invalid wheel name: %r' % filename) - self.filename = filename - for k, v in match.groupdict().items(): - setattr(self, k, v) - - def tags(self): - '''List tags (py_version, abi, platform) supported by this wheel.''' - return itertools.product( - self.py_version.split('.'), - self.abi.split('.'), - self.platform.split('.'), - ) - - def is_compatible(self): - '''Is the wheel is compatible with the current platform?''' - supported_tags = set((t.interpreter, t.abi, t.platform) for t in sys_tags()) - return next((True for t in self.tags() if t in supported_tags), False) - - def egg_name(self): - return pkg_resources.Distribution( - project_name=self.project_name, version=self.version, - platform=(None if self.platform == 'any' else get_platform()), - ).egg_name() + '.egg' - - def get_dist_info(self, zf): - # find the correct name of the .dist-info dir in the wheel file - for member in zf.namelist(): - dirname = posixpath.dirname(member) - if (dirname.endswith('.dist-info') and - canonicalize_name(dirname).startswith( - canonicalize_name(self.project_name))): - return dirname - raise ValueError("unsupported wheel format. .dist-info not found") - - def install_as_egg(self, destination_eggdir): - '''Install wheel as an egg directory.''' - with zipfile.ZipFile(self.filename) as zf: - self._install_as_egg(destination_eggdir, zf) - - def _install_as_egg(self, destination_eggdir, zf): - dist_basename = '%s-%s' % (self.project_name, self.version) - dist_info = self.get_dist_info(zf) - dist_data = '%s.data' % dist_basename - egg_info = os.path.join(destination_eggdir, 'EGG-INFO') - - self._convert_metadata(zf, destination_eggdir, dist_info, egg_info) - self._move_data_entries(destination_eggdir, dist_data) - self._fix_namespace_packages(egg_info, destination_eggdir) - - @staticmethod - def _convert_metadata(zf, destination_eggdir, dist_info, egg_info): - def get_metadata(name): - with zf.open(posixpath.join(dist_info, name)) as fp: - value = fp.read().decode('utf-8') if PY3 else fp.read() - return email.parser.Parser().parsestr(value) - - wheel_metadata = get_metadata('WHEEL') - # Check wheel format version is supported. - wheel_version = parse_version(wheel_metadata.get('Wheel-Version')) - wheel_v1 = ( - parse_version('1.0') <= wheel_version < parse_version('2.0dev0') - ) - if not wheel_v1: - raise ValueError( - 'unsupported wheel format version: %s' % wheel_version) - # Extract to target directory. - os.mkdir(destination_eggdir) - zf.extractall(destination_eggdir) - # Convert metadata. - dist_info = os.path.join(destination_eggdir, dist_info) - dist = pkg_resources.Distribution.from_location( - destination_eggdir, dist_info, - metadata=pkg_resources.PathMetadata(destination_eggdir, dist_info), - ) - - # Note: Evaluate and strip markers now, - # as it's difficult to convert back from the syntax: - # foobar; "linux" in sys_platform and extra == 'test' - def raw_req(req): - req.marker = None - return str(req) - install_requires = list(sorted(map(raw_req, dist.requires()))) - extras_require = { - extra: sorted( - req - for req in map(raw_req, dist.requires((extra,))) - if req not in install_requires - ) - for extra in dist.extras - } - os.rename(dist_info, egg_info) - os.rename( - os.path.join(egg_info, 'METADATA'), - os.path.join(egg_info, 'PKG-INFO'), - ) - setup_dist = setuptools.Distribution( - attrs=dict( - install_requires=install_requires, - extras_require=extras_require, - ), - ) - # Temporarily disable info traces. - log_threshold = log._global_log.threshold - log.set_threshold(log.WARN) - try: - write_requirements( - setup_dist.get_command_obj('egg_info'), - None, - os.path.join(egg_info, 'requires.txt'), - ) - finally: - log.set_threshold(log_threshold) - - @staticmethod - def _move_data_entries(destination_eggdir, dist_data): - """Move data entries to their correct location.""" - dist_data = os.path.join(destination_eggdir, dist_data) - dist_data_scripts = os.path.join(dist_data, 'scripts') - if os.path.exists(dist_data_scripts): - egg_info_scripts = os.path.join( - destination_eggdir, 'EGG-INFO', 'scripts') - os.mkdir(egg_info_scripts) - for entry in os.listdir(dist_data_scripts): - # Remove bytecode, as it's not properly handled - # during easy_install scripts install phase. - if entry.endswith('.pyc'): - os.unlink(os.path.join(dist_data_scripts, entry)) - else: - os.rename( - os.path.join(dist_data_scripts, entry), - os.path.join(egg_info_scripts, entry), - ) - os.rmdir(dist_data_scripts) - for subdir in filter(os.path.exists, ( - os.path.join(dist_data, d) - for d in ('data', 'headers', 'purelib', 'platlib') - )): - unpack(subdir, destination_eggdir) - if os.path.exists(dist_data): - os.rmdir(dist_data) - - @staticmethod - def _fix_namespace_packages(egg_info, destination_eggdir): - namespace_packages = os.path.join( - egg_info, 'namespace_packages.txt') - if os.path.exists(namespace_packages): - with open(namespace_packages) as fp: - namespace_packages = fp.read().split() - for mod in namespace_packages: - mod_dir = os.path.join(destination_eggdir, *mod.split('.')) - mod_init = os.path.join(mod_dir, '__init__.py') - if not os.path.exists(mod_dir): - os.mkdir(mod_dir) - if not os.path.exists(mod_init): - with open(mod_init, 'w') as fp: - fp.write(NAMESPACE_PACKAGE_INIT) diff --git a/.venv/lib/python3.8/site-packages/setuptools/windows_support.py b/.venv/lib/python3.8/site-packages/setuptools/windows_support.py deleted file mode 100644 index cb977cf..0000000 --- a/.venv/lib/python3.8/site-packages/setuptools/windows_support.py +++ /dev/null @@ -1,29 +0,0 @@ -import platform -import ctypes - - -def windows_only(func): - if platform.system() != 'Windows': - return lambda *args, **kwargs: None - return func - - -@windows_only -def hide_file(path): - """ - Set the hidden attribute on a file or directory. - - From http://stackoverflow.com/questions/19622133/ - - `path` must be text. - """ - __import__('ctypes.wintypes') - SetFileAttributes = ctypes.windll.kernel32.SetFileAttributesW - SetFileAttributes.argtypes = ctypes.wintypes.LPWSTR, ctypes.wintypes.DWORD - SetFileAttributes.restype = ctypes.wintypes.BOOL - - FILE_ATTRIBUTE_HIDDEN = 0x02 - - ret = SetFileAttributes(path, FILE_ATTRIBUTE_HIDDEN) - if not ret: - raise ctypes.WinError() diff --git a/.venv/lib64 b/.venv/lib64 deleted file mode 120000 index 7951405..0000000 --- a/.venv/lib64 +++ /dev/null @@ -1 +0,0 @@ -lib \ No newline at end of file diff --git a/.venv/pyvenv.cfg b/.venv/pyvenv.cfg deleted file mode 100644 index 853404e..0000000 --- a/.venv/pyvenv.cfg +++ /dev/null @@ -1,3 +0,0 @@ -home = /usr/bin -include-system-site-packages = false -version = 3.8.10 diff --git a/.venv/share/python-wheels/CacheControl-0.12.6-py2.py3-none-any.whl b/.venv/share/python-wheels/CacheControl-0.12.6-py2.py3-none-any.whl deleted file mode 100644 index bbd2af4009e1c007d00c97fc9c0dedab639a7ef7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 28023 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 RB4Gw$hQ+K54ExeSJODIo6bJwS diff --git a/.venv/share/python-wheels/appdirs-1.4.3-py2.py3-none-any.whl b/.venv/share/python-wheels/appdirs-1.4.3-py2.py3-none-any.whl deleted file mode 100644 index 07e0fd711ad80a1c56000de48176a992fdbdae26..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 18776 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 U&B_K6XJ=q%5Mp9rFmMO)0R8QoUjP6A diff --git a/.venv/share/python-wheels/certifi-2019.11.28-py2.py3-none-any.whl b/.venv/share/python-wheels/certifi-2019.11.28-py2.py3-none-any.whl deleted file mode 100644 index fe5a1fd0cbaea80f1353aa2fde62895ff62aebfc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 164552 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 z%0A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 HFfafBn?$zl diff --git a/.venv/share/python-wheels/chardet-3.0.4-py2.py3-none-any.whl b/.venv/share/python-wheels/chardet-3.0.4-py2.py3-none-any.whl deleted file mode 100644 index 826779a1b0285e1ac1e79c1198f64deaaa20d536..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 141487 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%0Am{6srEZ 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%0DtcIFFwFEOYlG(>(rZQfg+A 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 HFfafBf39jg diff --git a/.venv/share/python-wheels/colorama-0.4.3-py2.py3-none-any.whl b/.venv/share/python-wheels/colorama-0.4.3-py2.py3-none-any.whl deleted file mode 100644 index 0ef00ef636244ab981d8b46e36b5c8c450031f51..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 25094 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 diff --git a/.venv/share/python-wheels/contextlib2-0.6.0-py2.py3-none-any.whl b/.venv/share/python-wheels/contextlib2-0.6.0-py2.py3-none-any.whl deleted file mode 100644 index dd8d2f3cc7c4e2734bff0acb2b90eb4871c55d27..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 17188 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 IfdhyK0HFJU5&!@I diff --git a/.venv/share/python-wheels/distlib-0.3.0-py2.py3-none-any.whl b/.venv/share/python-wheels/distlib-0.3.0-py2.py3-none-any.whl deleted file mode 100644 index b4aca5183c174cafb16564ebcbf7019d9fa5de4b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 152027 zcmWIWW@Zs#U|`^2_~C64wleup#}s7-2EGsm24w~YhLp_WlAO#WT?0L1Jp(-uPd76! zEnnX;G{nO{C|IwgqNKORxBrgSu6uQLt<%0A$~buUo!xOZDdw&Azjxd%^WT2_oaJmr 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�Y$rF-iU|31(Bc?k_wKObbq<jzkN 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�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 Wl?|jql0lN;IvWGSJ1-^%1_l5tDyVn> diff --git a/.venv/share/python-wheels/distro-1.4.0-py2.py3-none-any.whl b/.venv/share/python-wheels/distro-1.4.0-py2.py3-none-any.whl deleted file mode 100644 index 49de2cb3a54ce973c205522238c0a31e7e13baae..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 23898 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 diff --git a/.venv/share/python-wheels/html5lib-1.0.1-py2.py3-none-any.whl b/.venv/share/python-wheels/html5lib-1.0.1-py2.py3-none-any.whl deleted file mode 100644 index fc0e1e1b1daa5456124d386a283adff81f39c8ef..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 120020 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	YwOqHT8ZZI7b+U$xU#-V)lWwsX>-ut>ki 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 G1_l5l>fkp3 diff --git a/.venv/share/python-wheels/idna-2.8-py2.py3-none-any.whl b/.venv/share/python-wheels/idna-2.8-py2.py3-none-any.whl deleted file mode 100644 index e7ec6ab7c1741cb9c7a8ad95d6a48a79a58eda48..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 66836 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%0AmQTBQ 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 T5<Uh#hLy|=455sS3=9ka|1QwO diff --git a/.venv/share/python-wheels/ipaddr-2.2.0-py2.py3-none-any.whl b/.venv/share/python-wheels/ipaddr-2.2.0-py2.py3-none-any.whl deleted file mode 100644 index caf908a1f690576d0e526335d2e32c493c1bea20..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 24287 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 Y3MvD<S=m6s><sJ-+)NA%`(i*m0AcrN6aWAK diff --git a/.venv/share/python-wheels/lockfile-0.12.2-py2.py3-none-any.whl b/.venv/share/python-wheels/lockfile-0.12.2-py2.py3-none-any.whl deleted file mode 100644 index 127dd21636a09d3d849a04a7edade54629b52ecd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 21972 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 diff --git a/.venv/share/python-wheels/msgpack-0.6.2-py2.py3-none-any.whl b/.venv/share/python-wheels/msgpack-0.6.2-py2.py3-none-any.whl deleted file mode 100644 index 001975e1882f967f0c66263efc328f7fa4960e77..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 92927 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 diff --git a/.venv/share/python-wheels/packaging-20.3-py2.py3-none-any.whl b/.venv/share/python-wheels/packaging-20.3-py2.py3-none-any.whl deleted file mode 100644 index 05a9f28a03bc40df807c38df2be6292c328ba2cf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 42242 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ξI5<)+IYQyqx>s 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 diff --git a/.venv/share/python-wheels/pep517-0.8.2-py2.py3-none-any.whl b/.venv/share/python-wheels/pep517-0.8.2-py2.py3-none-any.whl deleted file mode 100644 index b162a889705efbeab1013a50e201968ce13b49bd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 26686 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 diff --git a/.venv/share/python-wheels/pip-20.0.2-py2.py3-none-any.whl b/.venv/share/python-wheels/pip-20.0.2-py2.py3-none-any.whl deleted file mode 100644 index a08d59c1f8584d53113e33352a44d676ec7a7819..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 262434 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 D^Xcid diff --git a/.venv/share/python-wheels/pkg_resources-0.0.0-py2.py3-none-any.whl b/.venv/share/python-wheels/pkg_resources-0.0.0-py2.py3-none-any.whl deleted file mode 100644 index 185cf28c073054e99ab3b17de01e5948b4ad1698..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 127312 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:l#ci&3YTl8Slv$qQK9=x(;`%xu1 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 Bes2H( diff --git a/.venv/share/python-wheels/progress-1.5-py2.py3-none-any.whl b/.venv/share/python-wheels/progress-1.5-py2.py3-none-any.whl deleted file mode 100644 index 8a6391ff6c64c6b500d36d580a4671cba97a05c5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 17547 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 Ifg^|q07qR4vj6}9 diff --git a/.venv/share/python-wheels/pyparsing-2.4.6-py2.py3-none-any.whl b/.venv/share/python-wheels/pyparsing-2.4.6-py2.py3-none-any.whl deleted file mode 100644 index 96864b553da3e97853a60fd919088a4c66ea3db1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 77093 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 B_ul{j diff --git a/.venv/share/python-wheels/requests-2.22.0-py2.py3-none-any.whl b/.venv/share/python-wheels/requests-2.22.0-py2.py3-none-any.whl deleted file mode 100644 index cdb44ccd3fc7b307dd10ac0be9c34f0744003b96..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 67470 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 F0|2Z|oJ0Ts diff --git a/.venv/share/python-wheels/retrying-1.3.3-py2.py3-none-any.whl b/.venv/share/python-wheels/retrying-1.3.3-py2.py3-none-any.whl deleted file mode 100644 index dd546d39801e1a0bab810a857f5b681496b80fc1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16358 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 F0RW5`<DCEi diff --git a/.venv/share/python-wheels/setuptools-44.0.0-py2.py3-none-any.whl b/.venv/share/python-wheels/setuptools-44.0.0-py2.py3-none-any.whl deleted file mode 100644 index bd8f303cb949aba047ced96c16bda88d43d00074..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 477455 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 z%0A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%0Aaw{Y=^K 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�}Yh!qOw@AkI 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%0Df1nzEf&Si zx_7YkSF!XF<E$yuE(vXNDqP?itN6Ty|Cqq>YjvV;-z7-!dVP@CFaM`CPUCE!(F2L) zLVJ@lgeIh@2R$rv(BQ6aJ~m;UaaPI2Lbc;R$_+A<CNihI	PPv)p%iyHtCo?A~Qp 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�-{qSoX3w(zL0<Co9_g^u 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 diff --git a/.venv/share/python-wheels/six-1.14.0-py2.py3-none-any.whl b/.venv/share/python-wheels/six-1.14.0-py2.py3-none-any.whl deleted file mode 100644 index 31090971060007cc3e01324ce09638f7cc4c9bde..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20256 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 J1D`KQ1ppdTX-xnC diff --git a/.venv/share/python-wheels/toml-0.10.0-py2.py3-none-any.whl b/.venv/share/python-wheels/toml-0.10.0-py2.py3-none-any.whl deleted file mode 100644 index 1a0cee009168f89c46177b05ee8ee6a861b9fcef..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 24106 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 diff --git a/.venv/share/python-wheels/urllib3-1.25.8-py2.py3-none-any.whl b/.venv/share/python-wheels/urllib3-1.25.8-py2.py3-none-any.whl deleted file mode 100644 index dccdf24ad4fec0e47a7b4d9bf1635b8569a4cfe7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 127068 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%0DS- z>t_4a+YGNLq-jjBiEQqZ;Hqu3^Hhng{~j9p;q%p3UGC+ITTT?e>=moHHBqCbf^W<9 z38#vRR&?z=60+U!c-^mKN8ZoarZ@Zg3jHlI@sb(g?$w3IWpW-Z)ykiu)34$@A<8K_ ze5-k1s)T3X3npe$$LaTdEZH(6)`xb7FnrNe?70&vZks!^kEgA_RnYO*r5gukFMO?j zK)8Dqe|zmI_ouz@GfT8B=l|~0`u6=)M8Lh+n`^~8J*_vCr%Vujb(ZB#){VEj?=($& z%r)=JpG}6x7brf{bhw)LdexsLo4&I@klMZae5(D){)Vb%#jNeBm76xL%CtMVm{sRh zTk?qu6|pN#7|v)UX7+BD&`vxYzc|9@uFJM5(>{K+YTPd!6EV?`VUfCSW!?uDw&}tu zy>qQEos79Zt94Swx$V29iq#!ddNs^`@he-mDYL&y=eIIYeR)DASlj5A`6K)E&cy}h zs%Lf=9>2J=J~D*y{VY#!ud`<R9>1GDXYs!M7ghv)U3OpX{JX_-XP&tt<*rbES8drg z7qvxq^Iei|+Zx~A9(r+cZ^gQ~+S4<iJ*=9uxYyv<J`L?_hc$(6xzzMcv~y(Jc-b<u z?0NBIEw0{=jh=S|+@#}=s7&7!XMRNa@9oJizGxnqoxHUA@8*oV;(yJ~9s1evees;d znG*hj#{vYlNH!jMv*Z8&97*AnCo(ZhY_{=*S12}gKNWghA-jKn=9Q4umhvnvff+S7 z?OA(XNPlsB!Ejw~tw+MHxg`%}zNz<BrgUvoKh*kczQcp(-t1p~mHcLv{XD}}d$*+( zrv?96jilpZ0rK(6-)_9!<S==D@*D01C#xg(E#ynSDMwA7_x8;W-#$I#hP2<i4_7?= z_#$aa+1bmDld@CySAKjZbhuLW#_AQD@@`z7sNNO2`q0A{>-eYq^3F0m+MR9juI@qX z0imYC)`(9sn|S5#EZ8U+{A91tf0gIwXP!9jH*-Oe@bR=~j_z!^Hy6HcSp47e&~bjR z?YEb{RSj6gA2hqeF6Yt$-yk(F-eSQ})xs5a5o`tGEh+6M4}UG}sqQkAsP1{i9oezL zNn$~P&NRy@Gv;mClNXkF;=}bLGTXb9uQSK#8C}TP@u2L9!PhxcqZqq(E!xBLiHUW4 zP5EkbbDwp6i{@=L_}L_F#$&gcOW)9U5$oHPYxnYKRDXN=>%E~3dzt&vypW?SH9hVm zwMoV6AI)xJ?N_wC<$cWQUxU(7B|+ZBkHj<<uxs8^-F!aAs^+Yr^X}N-U?Z3Qg)6Ij zer9?1{GPalXO=;Zw!y#Y$0oC^%{w*q{oXxxH(1i_e^n=bT2Ly}>Z3bX={ZyEj@5e- z>e>6mbIQW<ty6?W+*p3!tuEs4H(Ox0I5_mG(5(Fh%sM6ecz^AB_gNz;;<M7L{Vw9U z*Bj2p$vn_+bvw{gd;5>nl!~Z}%I@<v>d%|_#+Y~dtS?$UreXCvei@v-x39AQe|^jU zko{-W1tV1I<zI9!((jlPviFkOq<75G&G(LX`W-2`C@-=rdqc2#EJtzhqa%?I{A2s0 zBA+y0FU+2`PtDM1QHhk)4&N1y?w2ln?af@Np3=$3zx4e4+zZuD9V>U*x%(CTladYW zF||okes>`H*4c_jS8R5y@3iMwwe&^F-v&D-X0NM^*XDHH4RLe6-uu|nJu~=6rJiT- z8r5rRD+88`Cj7B*`;%Edt)+u)xq4OiKYt~!E2|?m73?Wf|2J!~)7A)uSq}df<`kEx z7xBr;6>WL6O0(y?%JcSp1|rehm6jLk+(}p$vTZqgAD?fSs#T1}Ux_nI&K>lZJKwli z_ydpU;>$kA5<k^2oK}>vj&TujZ*1&%IjK}RvuIg*ZHf2XjmI}mtdN=a)YG9aFkxd{ zbmteR(0Py7{*Z93jx;zi!)Sgj{{ub=;Z2`jO-Mh#YMr5Eev6o|T-`#cFRj^%_gqEt z@*>6O@UeNjS}LpY7~W6byWGk@bpFn-EB78$-oaCNTyv?!yq(N;M-Q?_9|%o#=WSb~ zQo2}q#p!u=RW_~v=l%Fx^Xr9X++Vi;zsn}2htJT>Roj=-aN%i9$8kM3F{NPjZ#y1v zINmyNIl<uW;!bt(SDqJDN?E>5Ik@Nvli77IDZ_OFns<7I&!m6W_*<B$w8iDsqSMnD zH+{F#DN*s<w#j10(Yq{#e-^ly+D^JXPgP7^`J*TEY0)RXPnRt#REvoJbVuTITWRh@ z&D<~BVpg6LKJo7&-<u8%hC7xoZi%v+udmJVU!-1tx-#EJHoU&~`I0viH*b5XYCo$t zMJ<!_;E@{^(|+#=virS|!FkTlq=(-)-bBi8c)g_2Kx}UCYo|j6i$ZhtSYDYeQc<Y6 zQhHi#;?)PMaxTtkZS#p(c|*%D%}iZYutVX)mHEXYCr`|L8TO*!9c!o3g{c!<jXSw> z;$uY)hJMIO*ei0)r=Y&1%3ktB)Mkg*mz#xF_HBt(5Bo3P%C(_S%l3<-o2I>pR(Rg@ z^tp1q=db@4ZabSHd^sVK<;cc}EjxFsJm#F>8vI+h$<1wA@R|G974BV}<;7?HaP7%L z@q=tl^VV#2b^8?Auz9oQ$4@7fHqM{aezxuB>19_IDs0;7F<I8*#>vN#_r*%L^Eq*@ zR1vjudJ}ob*1>Dx#46TVwL5wX%$~o|K6ZB}bKt={tBg%0A89gW^)7vN{`1-^tjWCL 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%0A93@ujX2j02Q~TL{(JL#HduZLZI`w?qp(Nx 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 diff --git a/.venv/share/python-wheels/webencodings-0.5.1-py2.py3-none-any.whl b/.venv/share/python-wheels/webencodings-0.5.1-py2.py3-none-any.whl deleted file mode 100644 index 9c2aa6f372f30a50be4906e4bf33c99c20fc0bea..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20484 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 Ix(`Sv01hg400000 diff --git a/.venv/share/python-wheels/wheel-0.34.2-py2.py3-none-any.whl b/.venv/share/python-wheels/wheel-0.34.2-py2.py3-none-any.whl deleted file mode 100644 index f5ee6de56827a52f36d851d9b6f21cf62b54371f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 35613 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 diff --git a/Serie1/Ex7.py b/Serie1/Ex7.py index 069e91b..ab5aee9 100644 --- a/Serie1/Ex7.py +++ b/Serie1/Ex7.py @@ -49,10 +49,10 @@ imgToSize = create() #Part 1 #Image is weirder, take more space -#show_img(np.resize(imgToSize,[400,400])) -#show_img(np.resize(imgToSize,[200,200])) +show_img(np.resize(imgToSize,[400,400])) +show_img(np.resize(imgToSize,[200,200])) #Part 2 Size on Grey -#show_img(resize_smaller(imgToSize,2)) -#show_img(resize_larger(imgToSize,3)) +show_img(resize_smaller(imgToSize,2)) +show_img(resize_larger(imgToSize,3)) diff --git a/Serie4/Ex4.py b/Serie4/Ex4.py new file mode 100644 index 0000000..5431676 --- /dev/null +++ b/Serie4/Ex4.py @@ -0,0 +1,100 @@ +from typing import List +from typing import Tuple +import numpy as np +import numpy.typing as npt +import math +from enum import Enum +from PIL import Image +from matplotlib import pyplot as plt +Img = npt.NDArray[np.uint8] + +class Isotropy(Enum): + ISO_90 = 1 + ISO_45 = 2 + +#Exercice Filtre Laplace + +def load_img(path:str) -> Img: + with Image.open(path) as im: + return np.array(im) + +def show_img(img: Img) -> None: + if len(img.shape) == 2: + plt.imshow(img,cmap="gray",vmin=0,vmax=256) + else : + plt.imshow(img) + plt.show() + +def rgb_to_gray(img: Img) -> Img: + res = np.zeros((img.shape[0],img.shape[1])) + iteNp = np.nditer(img,flags=["multi_index"]) + for i in np.ndindex(img.shape[:2]): + res[i] = 0.2989*img[i][0] + 0.5870*img[i][1] + 0.1140*img[i][2] + return res + +def laplace(img: Img, isotropy: Isotropy) -> Img: + kernLap = np.zeros((3,3)) + + if isotropy == Isotropy.ISO_45: + kernLap[1, 0:3] = -1 + kernLap[0:3, 1] = -1 + kernLap[1,1] = 4 + else: + kernLap[0:3, 0:3] = -1 + kernLap[1,1] = 8 + return xcorr(img,kernLap) + +def normalize(img: Img, new_range: Tuple[int, int] = (0, 255)) -> Img: + fMax = np.max(img) + fMin = np.min(img) + for y in range(img.shape[0]): + for x in range(img.shape[1]): + img[y][x] = 0 if img[y][x] == 0 else round((img[y][x] - fMin) * ((new_range[1] - new_range[0])/(fMax-fMin)) + new_range[0]) + return img.astype(int) + +def xcorr(img: Img, kernel: Img) -> Img: + kLen = int(kernel.shape[0]/2) + xMax = img.shape[0] + yMax = img.shape[1] + xcorrRes = np.zeros((img.shape[0],img.shape[1])) + iteNp = np.nditer(img,flags=["multi_index"]) + while not iteNp.finished : + x,y = iteNp.multi_index + regToApply = img[x - kLen : x + kLen + 1, y - kLen : y + kLen + 1] + if not regToApply.shape == kernel.shape: + xCorner = x-kLen + yCorner = y-kLen + regToApply = np.zeros((kernel.shape[0],kernel.shape[1])) + for xK in range(kernel.shape[0]): + for yK in range(kernel.shape[1]): + if xCorner + xK >= xMax or xCorner + xK < 0 or yCorner + yK < 0 or yCorner + yK >= yMax : + regToApply[xK,yK] = 123 + else: + regToApply[xK,yK] = img[xCorner + xK, yCorner + yK] + xcorrRes[x][y] = np.sum(np.multiply(regToApply,kernel)) + iteNp.iternext() + return xcorrRes + +def gauss_kernel(length: int=3, sigma: float=1.0) -> Img: + half = (length - 1) / 2 + x_axis = np.linspace(-half, half, length) + gauss = np.exp(-0.5 * np.square(x_axis) / np.square(sigma)) + kernel = np.outer(gauss, gauss) + return kernel / np.sum(kernel) + + +fog, axe = plt.subplots(3,2) +imgLoaded = load_img("noisy_hotel.png") +imgGreyed = rgb_to_gray(imgLoaded) +axe[0,0].imshow(imgGreyed,cmap="gray",vmin=0,vmax=256) +imgGreyGauss = xcorr(imgGreyed, gauss_kernel()) +axe[0,1].imshow(imgGreyGauss,cmap="gray",vmin=0,vmax=256) +res45 = laplace(imgGreyed, Isotropy.ISO_45) +res90 = laplace(imgGreyed, Isotropy.ISO_90) +res45Gauss = laplace(imgGreyGauss, Isotropy.ISO_45) +res90Gauss = laplace(imgGreyGauss, Isotropy.ISO_90) +axe[1,0].imshow(np.add(res45,imgGreyGauss),cmap="gray",vmin=0,vmax=256) +axe[2,0].imshow(np.add(res90,imgGreyGauss),cmap="gray",vmin=0,vmax=256) +axe[1,1].imshow(np.add(res45Gauss,imgGreyGauss),cmap="gray",vmin=0,vmax=256) +axe[2,1].imshow(np.add(res90Gauss,imgGreyGauss),cmap="gray",vmin=0,vmax=256) +plt.show() diff --git a/Serie5/05_morphologies.pdf b/Serie5/05_morphologies.pdf new file mode 100644 index 0000000000000000000000000000000000000000..d22a32587e9728f92d0e0162373e77889ea8246b GIT binary patch literal 287439 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Ξe^PW?R?eVk0Wj!zH?lNBf5sEw1v~$^;G*(iEytj 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	IzN%+iDCm`NCo|YL_3ZNHg|9C@zqK^) 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%0Ds~pbX-TeP;{{xmtU$#Qc68q@P!+YkRb7&WS z8{^-V91-&6@1hssM`l+VcJDVoIDg;Lh5wjeaZP=Tr6X*L)Debs9U_8K)423K^HNeP z6rv3jEX-oL^n)|2QWY%Bxb(vnq74;{6%1p!^n>#AOB5_XOCN$j%G2@{z`be^$3-F9 z#@Wfy#L3jn)Y-(?*woR)#nH&Z)zaC-)zQS*+}z03)J}o0l2~|u#mJcW1&XQ{to54{ zMGkx{p7*^n_EpfTchg^mX0D9Z>{65EnWQE(dujZ^j0qk(e~oh3R_8k;C2aU5z&7vy z#y_9r&siQ86#QAL^ik)`L7R?Wr`Z>}Jrod;={d;g@<5T5w__pyr49Ul4H%jy1awxH z)djgu3UfB#nH|uqE74ebqd}$Tu-TgfEN`4-(-ORn+TVVfx#AF0NP^%r1?JNeT4kPu z%Gc*?U!eCfB{ZbGI5jlrdsXh%MS)NEpOU(}H)3tpmx~*tg5%e>`kUD?pZ)EyS}J2d z`?);k=T9A;pKbg8fMZqxk9xtXe~+}!l<t4ZU!N@-f*GO3C5c5P6-B9OTt*gVmZpYW Ks;aL3Zd?FWi52Dm literal 0 HcmV?d00001 diff --git a/Serie5/Ex1.py b/Serie5/Ex1.py new file mode 100644 index 0000000..6238736 --- /dev/null +++ b/Serie5/Ex1.py @@ -0,0 +1,54 @@ +from typing import List +from typing import Tuple +import numpy as np +import numpy.typing as npt +import math +from PIL import Image +from matplotlib import pyplot as plt +Img = npt.NDArray[np.uint8] +import cv2 as cv + + +def load_img(path:str) -> Img: + with Image.open(path) as im: + return np.array(im) + +def show_img(img: Img) -> None: + if len(img.shape) == 2: + plt.imshow(img,cmap="gray",vmin=0,vmax=256) + else : + plt.imshow(img) + plt.show() + +raw = load_img("hepia.png") +kernCV = np.ones((3,3),np.uint8 ) +kernOC = np.ones((5,5),np.uint8 ) + + +fog, axe = plt.subplots(5,2) +axe[0,0].imshow(raw,cmap="gray",vmin=0,vmax=256) +#Erosion +eroded = cv.erode(raw, kernCV) +axe[1,0].imshow(eroded,cmap="gray",vmin=0,vmax=256) +#Dilatation +dilate = cv.dilate(raw, kernCV) +axe[1,1].imshow(dilate,cmap="gray",vmin=0,vmax=256) +#Ouverture +openCV = cv.morphologyEx(raw, cv.MORPH_OPEN, kernOC)#cv.dilate(eroded,kernCV) +axe[2,0].imshow(openCV,cmap="gray",vmin=0,vmax=256) +#Fermeture +closeCV = cv.morphologyEx(raw, cv.MORPH_CLOSE, kernOC)#cv.erode(dilate, kernCV) +axe[2,1].imshow(closeCV,cmap="gray",vmin=0,vmax=256) +#Open Close +openCloseCV = cv.morphologyEx(openCV, cv.MORPH_CLOSE, kernOC) +axe[3,0].imshow(openCloseCV,cmap="gray",vmin=0,vmax=256) +#Close Open +closeOpenCV = cv.morphologyEx(closeCV, cv.MORPH_OPEN, kernOC) +axe[3,1].imshow(closeOpenCV,cmap="gray",vmin=0,vmax=256) +#Contour exterieur +cExt = cv.dilate(closeOpenCV,kernCV) - closeOpenCV +axe[4,0].imshow(cExt,cmap="gray",vmin=0,vmax=256) +#Contour Intérieur +cInt = closeOpenCV - cv.erode(closeOpenCV,kernCV) +axe[4,1].imshow(cInt,cmap="gray",vmin=0,vmax=256) +plt.show() \ No newline at end of file diff --git a/Serie5/hepia.png b/Serie5/hepia.png new file mode 100644 index 0000000000000000000000000000000000000000..79f6ccf371cb7638cca2fcae097bbdd79140b0ac GIT binary patch literal 3422 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 Cglqr+ literal 0 HcmV?d00001 -- GitLab